(57)【要約】【課題】消費電力およびノイズの削減に効果的な箇所にのみｉｓｏｌａｔｉｏｎセルを挿入することが可能な論理回路生成装置を提供すること。【解決手段】遷移時間計算部２１は、スキャンＦＦのスキャンアウト信号の遷移時間を計算する。遷移時間判定部２２は、遷移時間計算部２１によって計算された遷移時間がしきい値よりも大きいか否かを判定する。そして、ｉｓｏｌａｔｉｏｎセル挿入部２３は、遷移時間判定部２２によって遷移時間がしきい値よりも大きいと判定された場合に、当該スキャンＦＦのスキャンアウト信号にｉｓｏｌａｔｉｏｎセルを挿入する。したがって、消費電力およびノイズの削減に効果的な箇所にのみｉｓｏｌａｔｉｏｎセルを挿入することが可能となる。【選択図】図１２
2010249741.tif 000002
【特許請求の範囲】
【請求項１】
スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する論理回路生成装置であって、
スキャンフリップフロップのスキャンアウト信号の遷移時間を計算する計算手段と、
前記計算手段によって計算された遷移時間がしきい値よりも大きいか否かを判定する判定手段と、
前記判定手段によって遷移時間がしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入するセル挿入手段とを含む、論理回路生成装置。
【請求項２】
前記計算手段は、前記スキャンフリップフロップのドライブ能力とスキャンアウト信号の配線容量とから前記遷移時間を計算する、請求項１記載の論理回路生成装置。
【請求項３】
前記判定手段は、前記計算手段によって計算された遷移時間と、前記スキャンフリップフロップに規定される最大遷移時間に係数を乗算した値とを比較する、請求項１または２記載の論理回路生成装置。
【請求項４】
前記論理回路生成装置はさらに、前記判定手段によって遷移時間がしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号の配線に隣接する並走配線へのクロストークの影響を解析してクロストーク値を計算する解析手段と、
前記解析手段によって計算されたクロストーク値が第２のしきい値よりも大きいか否かを判定する第２の判定手段とを含み、
前記セル挿入手段は、前記第２の判定手段によってクロストーク値が第２のしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する、請求項１〜３のいずれかに記載の論理回路生成装置。
【請求項５】
前記論理回路生成装置はさらに、前記第２の判定手段によってクロストーク値が第２のしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号の信号変化率を抽出する抽出手段と、
前記抽出手段によって抽出された信号変化率が第３のしきい値よりも大きいか否かを判定する第３の判定手段とを含み、
前記セル挿入手段は、前記第３の判定手段によって信号変化率が第３のしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する、請求項４記載の論理回路生成装置。
【請求項６】
前記計算手段は、配置配線した後の実配線経路情報に基づいて、スキャンフリップフロップのスキャンアウト信号の遷移時間を計算する、請求項１〜５のいずれかに記載の論理回路生成装置。
【請求項７】
前記計算手段は、仮想配線経路情報に基づいて、スキャンフリップフロップのスキャンアウト信号の遷移時間を計算し、
前記論理回路生成装置はさらに、配置配線後に前記セル挿入手段によってセルが挿入されたスキャンフリップフロップを再評価して、不要なセルを削除するセル削除手段を含む、請求項１〜５のいずれかに記載の論理回路生成装置。
【請求項８】
スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する論理回路生成装置であって、
スキャンフリップフロップのスキャンアウト信号の配線容量を抽出する抽出手段と、
前記抽出手段によって抽出された配線容量がしきい値よりも大きいか否かを判定する判定手段と、
前記判定手段によって配線容量がしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入するセル挿入手段とを含む、論理回路生成装置。
【請求項９】
前記判定手段は、前記抽出手段によって抽出された配線容量と、前記スキャンフリップフロップに規定されるドライブ能力に係数を乗算した値とを比較する、請求項８記載の論理回路生成装置。
【請求項１０】
前記論理回路生成装置はさらに、前記判定手段によって配線容量がしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号の配線に隣接する並走配線へのクロストークの影響を解析してクロストーク値を計算する解析手段と、
前記解析手段によって計算されたクロストーク値が第２のしきい値よりも大きいか否かを判定する第２の判定手段とを含み、
前記セル挿入手段は、前記第２の判定手段によってクロストーク値が第２のしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する、請求項８または９記載の論理回路生成装置。
【請求項１１】
前記論理回路生成装置はさらに、前記第２の判定手段によってクロストーク値が第２のしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号の信号変化率を抽出する第２の抽出手段と、
前記第２の抽出手段によって抽出された信号変化率が第３のしきい値よりも大きいか否かを判定する第３の判定手段とを含み、
前記セル挿入手段は、前記第３の判定手段によって信号変化率が第３のしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する、請求項１０記載の論理回路生成装置。
【請求項１２】
前記抽出手段は、配置配線した後の実配線経路情報に基づいて、スキャンフリップフロップのスキャンアウト信号の配線容量を抽出する、請求項８〜１１のいずれかに記載の論理回路生成装置。
【請求項１３】
前記抽出手段は、仮想配線経路情報に基づいて、スキャンフリップフロップのスキャンアウト信号の配線容量を抽出し、
前記論理回路生成装置はさらに、配置配線後に前記セル挿入手段によってセルが挿入されたスキャンフリップフロップを再評価して、不要なセルを削除するセル削除手段を含む、請求項８〜１１のいずれかに記載の論理回路生成装置。
【請求項１４】
スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する論理回路生成装置であって、
スキャンフリップフロップのスキャンアウト信号の配線に隣接する並走配線へのクロストークの影響を解析してクロストーク値を計算する解析手段と、
前記解析手段によって計算されたクロストーク値がしきい値よりも大きいか否かを判定する判定手段と、
前記判定手段によってクロストーク値がしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入するセル挿入手段とを含む、論理回路生成装置。
【請求項１５】
スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する論理回路生成装置であって、
スキャンフリップフロップのスキャンアウト信号の信号変化率を抽出する抽出手段と、
前記抽出手段によって抽出された信号変化率がしきい値よりも大きいか否かを判定する判定手段と、
前記判定手段によって信号変化率がしきい値よりも大きいと判定された場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入するセル挿入手段とを含む、論理回路生成装置。
【請求項１６】
スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する論理回路生成方法であって、
スキャンフリップフロップのスキャンアウト信号の遷移時間を計算するステップと、
前記計算された遷移時間がしきい値よりも大きい場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入するステップとを含む、論理回路生成方法。
【請求項１７】
スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する論理回路生成方法であって、
スキャンフリップフロップのスキャンアウト信号の配線容量を抽出するステップと、
前記抽出された配線容量がしきい値よりも大きい場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入するステップとを含む、論理回路生成方法。
【請求項１８】
スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する論理回路生成方法であって、
スキャンフリップフロップのスキャンアウト信号の配線に隣接する並走配線へのクロストークの影響を解析してクロストーク値を計算するステップと、
前記計算されたクロストーク値がしきい値よりも大きい場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入するステップとを含む、論理回路生成方法。
【請求項１９】
スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入する論理回路生成方法であって、
スキャンフリップフロップのスキャンアウト信号の信号変化率を抽出するステップと、
前記抽出された信号変化率がしきい値よりも大きい場合に、当該スキャンフリップフロップのスキャンアウト信号を止めるためのセルを挿入するステップとを含む、論理回路生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計された論理回路にテスト容易化回路（スキャンＦＦ（Flip Flop））を挿入する技術に関し、特に、挿入されたスキャンＦＦのスキャンアウト信号の信号変化による悪影響を防止するためのｉｓｏｌａｔｉｏｎセルを生成して挿入する論理回路生成装置および論理回路生成方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路の高集積化、多機能化が進んでおり、半導体集積回路のテストを容易化する技術が必要不可欠となってきている。このような技術の１つとして、スキャンパスを形成するスキャンＦＦを挿入する技術を挙げることができる。スキャンＦＦを用いた半導体集積回路のスキャン化は、たとえばマイクロコンピュータなどの分野で盛んに実施されている。
【０００３】
一般に、設計された論理回路の通常レジスタ（ＦＦ）をスキャンＦＦに置換することによって、半導体集積回路のスキャン化が行なわれる。後述するように、通常のレジスタ（ＦＦ）からの出力信号は、通常ファンクション信号とスキャンアウト信号とをシェアしている。そのため、テストモード時にしか必要がないスキャンアウト信号の変化による消費電力の増大や、その信号変化によるノイズの発生が問題となってきている。これに関連する技術として、下記の特許文献１〜３に開示された発明がある。
【０００４】
特許文献１は、より少ない観測ポイントで効率よく故障解析を容易化することができる回路設計システムを提供することを目的とする。回路設計システムは、記憶部と、故障候補抽出部と、判断部と、観測ポイント挿入部とを備える。記憶部には、ネットリストが格納される。故障候補抽出部は、そのネットリストから等価故障群Ｇ１〜ＧＩ（Ｉは、１以上の整数）を抽出し、その等価故障群Ｇｉ（ｉは１以上Ｉ以下の整数）を示す故障候補データを生成する。等価故障群Ｇｉには、複数のノードＮｉ１〜ＮｉＪｉ（Ｊｉは等価故障群Ｇｉに含まれるノード数）が含まれる。判断部は、複数のノードＮｉ１〜ＮｉＪｉから、故障解析に用いられる観測ポイントが挿入される対象ノードを決定する。ここで、判断部は、ノード数Ｊｉに基づいて対象ノードを決定する。観測ポイント挿入部は、その対象ノードに１つ以上の観測ポイントを挿入することによって、ネットリストを更新する。
【０００５】
特許文献２は、システムモードおよびロジックＢＩＳＴの双方で実スピード動作でのテストを可能とし、タイミングエラーを確実に回避できるようにしたロジック回路設計方法およびその方法をコンピュータに実行させるプログラムを得ることを目的とする。ロジックＢＩＳＴモードにおけるタイミング解析に基づいてタイミングエラーの発生箇所に、セレクタ付きスキャンフリップフロップを挿入配置することで、そのタイミングエラー発生パスをパイプライン化する。
【０００６】
特許文献３は、クロストークの影響による故障を考慮した製造テストを行う手法を提供すること、およびクロストークの影響による故障を考慮した製造テストパタンを最小のパタン数で作成することを目的とする。論理機能を満たすネットリストを入力し、スキャンパステスト構造を作り込み、そのネットリストをマスクパタンレイアウトした後、そのレイアウトにおけるクロストークの影響が現れやすい危険箇所を抽出する。そして、この抽出した危険箇所にクロストークの影響が現れるようなテストパタンをゲートディレイＡＴＰＧで作成するためにテスト回路を付加し、その回路におけるゲートディレイＡＴＰＧを行って生成されたテストパタンを使って製造テストを行う。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１２２４２２号公報
【特許文献２】特開２００３−００６２５３号公報
【特許文献３】特開２００１−３０５１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述のスキャンアウト信号の信号変化による悪影響を防止するために、テストモード時にしか必要のないスキャンアウト信号を通常動作時に止めるためのｉｓｏｌａｔｉｏｎセルを挿入するといった手法が用いられる。しかしながら、すべてのスキャンアウト信号に対してｉｓｏｌａｔｉｏｎセルを挿入すると、消費電力やノイズの削減にあまり効果がない箇所にもｉｓｏｌａｔｉｏｎセルが挿入されてしまい、チップ面積の増大やｉｓｏｌａｔｉｏｎセル分のリーク電流の増加といった問題が発生する。
【０００９】
また、論理階層をまたがるスキャンアウト信号に対してのみｉｓｏｌａｔｉｏｎセルを挿入するといった手法も考えられるが、必ずしもチップ面積の増大やｉｓｏｌａｔｉｏｎセル分のリーク電流の増加といった問題に効果的であるとはいえない。このような問題点は、上述の特許文献１〜３を用いたとしても解決することはできない。
【００１０】
本発明は、上記問題点を解決するためになされたものであり、その目的は、消費電力およびノイズの削減に効果的な箇所にのみｉｓｏｌａｔｉｏｎセルを挿入することが可能な論理回路生成装置および論理回路生成方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明の一実施例によれば、スキャンＦＦのスキャンアウト信号を止めるためのｉｓｏｌａｔｉｏｎセルを挿入する論理回路生成装置が提供される。遷移時間計算部は、スキャンＦＦのスキャンアウト信号の遷移時間を計算する。遷移時間判定部は、遷移時間計算部によって計算された遷移時間がしきい値よりも大きいか否かを判定する。そして、ｉｓｏｌａｔｉｏｎセル挿入部は、遷移時間判定部によって遷移時間がしきい値よりも大きいと判定された場合に、当該スキャンＦＦのスキャンアウト信号にｉｓｏｌａｔｉｏｎセルを挿入する。
【発明の効果】
【００１２】
この実施例によれば、遷移時間判定部によって遷移時間がしきい値よりも大きいと判定されたスキャンＦＦのスキャンアウト信号にのみｉｓｏｌａｔｉｏｎセルを挿入するので、消費電力およびノイズの削減に効果的な箇所にのみｉｓｏｌａｔｉｏｎセルを挿入することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】スキャンチェーン構築を可能とした論理設計手法の一例を示す図である。
【図２】スキャンＦＦに対してｉｓｏｌａｔｉｏｎセルが挿入された論理回路の一例を示す図である。
【図３】図２に示す論理回路を配置配線したときに発生する問題点を説明するための図である。
【図４】論理階層に分割された論理回路の一例を示す図である。
【図５】図４に示す論理階層に分割された論理回路にｉｓｏｌａｔｉｏｎセルが挿入されたところを示す図である。
【図６】論理階層に分割された論理回路を配置配線したときに発生する第１の問題点を説明するための図である。
【図７】論理階層に分割された論理回路を配置配線したときに発生する第２の問題点を説明するための図である。
【図８】論理階層に分割された論理回路を配置配線したときに発生する第３の問題点を説明するための図である。
【図９】スキャンＦＦの内部構成を説明するための図である。
【図１０】本発明の第１の実施の形態における論理回路生成装置のハードウェア構成の一例を示すブロック図である。
【図１１】本発明の第１の実施の形態における論理回路生成装置を用いた半導体集積回路の全体的な設計手順を説明するためのフローチャートである。
【図１２】本発明の第１の実施の形態における論理回路生成装置の機能的構成を示すブロック図である。
【図１３】遷移時間を説明するための図である。
【図１４】スキャンＦＦのドライブ能力と配線容量とを説明するための図である。
【図１５】本発明の第１の実施の形態における論理回路生成装置の処理手順を説明するためのフローチャートである。
【図１６】本発明の第１の実施の形態における論理回路生成装置によって挿入されたｉｓｏｌａｔｉｏｎセルを示す図である。
【図１７】本発明の第２の実施の形態における論理回路生成装置の機能的構成を示すブロック図である。
【図１８】本発明の第２の実施の形態における論理回路生成装置の処理手順を説明するためのフローチャートである。
【図１９】本発明の第２の実施の形態における論理回路生成装置によって挿入されたｉｓｏｌａｔｉｏｎセルを示す図である。
【図２０】本発明の第３の実施の形態における論理回路生成装置の機能的構成を示すブロック図である。
【図２１】本発明の第３の実施の形態における論理回路生成装置の処理手順を説明するためのフローチャートである。
【図２２】本発明の第３の実施の形態における論理回路生成装置によって挿入されたｉｓｏｌａｔｉｏｎセルを示す図である。
【図２３】本発明の第４の実施の形態における論理回路生成装置の機能的構成を示すブロック図である。
【図２４】本発明の第４の実施の形態における論理回路生成装置の処理手順を説明するためのフローチャート（その１）である。
【図２５】本発明の第４の実施の形態における論理回路生成装置の処理手順を説明するためのフローチャート（その２）である。
【図２６】本発明の第４の実施の形態における論理回路生成装置によって挿入されたｉｓｏｌａｔｉｏｎセルを示す図である。
【図２７】本発明の第５の実施の形態における論理回路生成装置の機能的構成を示すブロック図である。
【図２８】本発明の第５の実施の形態における論理回路生成装置の処理手順を説明するためのフローチャートである。
【図２９】本発明の第６の実施の形態における論理回路生成装置を用いた半導体集積回路の全体的な設計手順を説明するためのフローチャートである。
【図３０】本発明の第６の実施の形態における論理回路生成装置によってｉｓｏｌａｔｉｏｎセルがどのように削除されるかを説明するための図である。
【図３１】本発明の第７の実施の形態における論理回路生成装置を用いた半導体集積回路の全体的な設計手順を説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
本発明の実施の形態における論理回路生成装置の詳細を説明する前に、その背景技術について説明する。
【００１５】
図１は、スキャンチェーン構築を可能とした論理設計手法の一例を示す図である。まず、ＲＴＬ記憶ファイル１００に記憶されるＲＴＬ（Register Transfer Level）記述を論理合成することによって論理回路が生成される（Ｓ１０１）。このとき、通常のレジスタ（ＦＦ）をスキャンＦＦに置換することによって、半導体集積回路のスキャンチェーンが構築される。また、スキャンＦＦのスキャンアウト信号に対してｉｓｏｌａｔｉｏｎセルが挿入される。論理合成によって生成された論理回路は、ゲートレベル記憶ファイル１１０に記憶される。
【００１６】
次に、ゲートレベル記憶ファイル１１０に記憶される論理回路の配置配線（Placement & Routing）が行なわれる。まず、フロアプランが行なわれてチップ・レイアウトの概要が決定され（Ｓ１０２）、チップ上に各セルが配置される（Ｓ１０３）。
【００１７】
次に、スキューや遅延を考慮したクロックツリーが構築され（Ｓ１０４）、各セルのタイミングが最適化される（Ｓ１０５）。そして、それに応じて各セル間の配線が行なわれる（Ｓ１０６）。最後に、レイアウトの修正（ＥＣＯ（Engineering Change Order））が行なわれてタイミングの収束を図る（Ｓ１０７）。
【００１８】
図２は、スキャンＦＦに対してｉｓｏｌａｔｉｏｎセルが挿入された論理回路の一例を示す図である。この論理回路は、スキャンＦＦ１２１および１２４と、組合せ回路１２２および１２３と、ｉｓｏｌａｔｉｏｎセル１２５および１２６とを含んでいる。この論理回路においては、スキャンＦＦのスキャンアウト信号に対して必ずｉｓｏｌａｔｉｏｎセルが挿入されている。尚、組合せ回路とは、ある時点の出力が、入力の状態のみによって決まる論理回路のことを意味する。一方、順序回路が組合せ回路の対比語として用いられるが、順序回路は論理回路の一種で、ある時点の出力が入力の状態と、内部に記憶された状態とによって決まる回路のことであり、内部に状態を記憶するＦＦ（Flip Flop）等の記憶素子を含んでいる。
【００１９】
すなわち、スキャンＦＦ１２１のスキャンアウト信号（ＱＣ端子からの出力信号線）にｉｓｏｌａｔｉｏｎセル１２５が挿入され、スキャンＦＦ１２４のスキャンアウト信号（ＱＣ端子からの出力信号線）にｉｓｏｌａｔｉｏｎセルが挿入されている。また、スキャンＦＦ１２１から出力される通常ファンクション信号が組合せ回路１２２に入力される。
【００２０】
図３は、図２に示す論理回路を配置配線したときに発生する問題点を説明するための図である。図３において、斜線を施した部分がセルが配置されている領域を示しており、それ以外の部分がセルが未配置の領域を示している。図２に示す論理回路と比較して、スキャンＦＦ１２７およびｉｓｏｌａｔｉｏｎセル１２８がさらに追加されている。図３に示すように、それぞれのスキャンＦＦからの通常ファンクション信号配線とスキャンアウト信号配線とが分けられている。
【００２１】
図２および図３に示すように、スキャンＦＦに対して必ずｉｓｏｌａｔｉｏｎセルが挿入されるため、消費電力やノイズの削減にあまり効果がない箇所にもｉｓｏｌａｔｉｏｎセルが挿入されてしまい、チップ面積の増大や不要なｉｓｏｌａｔｉｏｎセル分のリーク電流の増加といった問題が発生する。
【００２２】
図４は、論理階層に分割された論理回路の一例を示す図である。モジュール２００は、論理階層に分割された２つのモジュールＡ２１０およびＢ２２０を含む。この論理階層とは、ＰＬＬ（Phase Locked Loop）回路、ＵＡＲＴ（Universal Asynchronous Receiver-Transmitter）、タイマ、電源制御回路などの機能ブロック（モジュール）に対応しており、１つの機能ブロックが１つの論理階層を形成する。
【００２３】
モジュールＡ２１０は、スキャンＦＦ２１１および２１２と、組合せ回路２１３と、スキャンアウト専用階層ポート２１８とを含む。また、モジュールＢ２２０は、スキャンＦＦ２２１と、組合せ回路２２２と、スキャンアウト専用階層ポート２２５とを含む。
【００２４】
モジュールＡ２１０のスキャンＦＦ２１１からの出力信号は、組合せ回路２１３に入力される通常ファンクション信号２１４と、次段のスキャンＦＦ２１２に入力されるスキャンアウト信号２１５とをシェアしている。同様に、モジュールＡ２１０のスキャンＦＦ２１２からの出力信号は、モジュールＢ２２０の組合せ回路２２２に入力される通常ファンクション信号２１６と、モジュールＢ２２０のスキャンＦＦ２２１に入力されるスキャンアウト信号２１７とをシェアしている。
【００２５】
図５は、図４に示す論理階層に分割された論理回路にｉｓｏｌａｔｉｏｎセルが挿入されたところを示す図である。モジュールＡ２１０においては、スキャンＦＦ２１２とスキャンアウト専用階層ポート２１８との間にのみｉｓｏｌａｔｉｏｎセル２１９が挿入される。また、モジュールＢ２２０においては、スキャンＦＦ２２１とスキャンアウト専用階層ポート２２５との間にｉｓｏｌａｔｉｏｎセル２２６が挿入される。
【００２６】
なお、ｉｓｏｌａｔｉｏｎセルの他方の入力端子にはＴＥＳＴモード信号が接続され、ＴＥＳＴモード信号によって通常動作時のスキャンアウト信号の変化をマスクしている。図５においては、ｉｓｏｌａｔｉｏｎセルの一例としてＡＮＤゲートを記載しているが、通常動作時のスキャンアウト信号の変化をマスクできるゲートであれば、ＯＲゲート、排他的論理和（ＥＸ−ＯＲ）ゲート、ＮＡＮＤゲート、ＮＯＲゲートなどであってもよい。
【００２７】
図６は、論理階層に分割された論理回路を配置配線したときに発生する第１の問題点を説明するための図である。モジュール２３０は、スキャンＦＦ２３１および２３２と、ｉｓｏｌａｔｉｏｎセル２３３と、スキャンアウト専用階層ポート２３４とを含む。図６に示すように、スキャンＦＦ２３２と、次段のスキャンＦＦ２３５に接続されるスキャンアウト専用階層ポート２３４との間にのみｉｓｏｌａｔｉｏｎセル２３３が挿入される。したがって、スキャンＦＦ２３１からスキャンＦＦ２３２に出力されるスキャンアウト信号の配線の方が長い場合、消費電力やノイズの削減を効果的に行なうことができない。
【００２８】
図７は、論理階層に分割された論理回路を配置配線したときに発生する第２の問題点を説明するための図である。モジュール２４０は、スキャンＦＦ２４１と、ｉｓｏｌａｔｉｏｎセル２４２と、スキャンアウト専用階層ポート２４３とを含む。図７に示すように、スキャンＦＦ２４１からスキャンアウト専用階層ポート２４３までの配線が長い場合、スキャンアウト専用階層ポート２４３の近くにｉｓｏｌａｔｉｏｎセル２４２を挿入したとしても消費電力やノイズの削減を効果的に行なうことができない。
【００２９】
図８は、論理階層に分割された論理回路を配置配線したときに発生する第３の問題点を説明するための図である。論理回路は４つの論理階層（モジュール）２５０〜２５３に分割されており、論理階層をまたがる箇所にはｉｓｏｌａｔｉｏｎセル２５４〜２５７が挿入されている。このように、論理階層をまたがる箇所に必ずｉｓｏｌａｔｉｏｎセルが挿入されるため、必要以上にｉｓｏｌａｔｉｏｎセルが挿入されてしまい、消費電力やノイズの削減を効果的に行なうことができない。
【００３０】
このように、論理階層に分割された論理回路においては、階層をまたがるスキャンアウト信号に対してのみｉｓｏｌａｔｉｏｎセルが挿入される。そのため、スキャンＦＦに対して必ずｉｓｏｌａｔｉｏｎセルが挿入される場合と比較して、ｉｓｏｌａｔｉｏｎセルの数を削減することができる。しかしながら、消費電力やノイズの削減に効果的な箇所にｉｓｏｌａｔｉｏｎセルが挿入されるとは限らない。
【００３１】
図９は、スキャンＦＦの内部構成を説明するための図である。図９は、スキャンＦＦ３０１からスキャンＦＦ３０４に出力されるスキャンアウト信号にｉｓｏｌａｔｉｏｎセル３０２が挿入されているところを示している。スキャンＦＦ３０１は、セレクタ３１０と、ＤＦＦ３１１とを含む。なお、スキャンＦＦ３０４の内部構成は、スキャンＦＦ３０１の内部構成と同様であるので、スキャンＦＦ３０１の内部構成の説明のみを行なう。
【００３２】
セレクタ３１０は、ＴＥＳＴ＿ＭＯＤＥ信号に応じて通常ファンクション信号（Ｄ）と、スキャンイン（ＳＩ）信号とを切替える。セレクタ３１０は、テストモード時にスキャンイン（ＳＩ）信号を選択してＤＦＦ３１１に出力し、通常動作時に通常ファンクション（Ｄ）信号を選択してＤＦＦ３１１に出力する。
【００３３】
ＤＦＦ３１１は、クロック（ＣＬＫ）信号に同期してセレクタ３１０からの出力信号をｉｓｏｌａｔｉｏｎセル３０２に出力する。ＤＦＦ３１１は、テストモード時にスキャンイン（ＳＩ）信号をスキャンアウト（ＳＯ）信号として出力するスキャンパスとして動作し、通常動作時に通常ファンクション信号を保持してＱ信号として出力する通常レジスタとして動作する。
【００３４】
なお、図９においては、ＤＦＦ３１１のＱ端子からの出力信号が組合せ回路３０３に入力されており、スキャンアウト（ＳＯ）信号と通常出力（Ｑ）信号とが共用される構成となっているが、図２と同様にＱの反転信号であるＱＣ端子からの出力信号をスキャンアウト（ＳＯ）信号として使用するようにしてもよい。
【００３５】
（第１の実施の形態）
図１０は、本発明の第１の実施の形態における論理回路生成装置のハードウェア構成の一例を示すブロック図である。この論理回路生成装置は、コンピュータ本体１、ディスプレイ装置２、ＦＤ（Flexible Disk）４が装着されるＦＤドライブ３、キーボード５、マウス６、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）８が装着されるＣＤ−ＲＯＭ装置７、およびネットワーク通信装置９を含む。論理回路生成プログラムは、ＦＤ４またはＣＤ−ＲＯＭ８等の記録媒体によって供給される。
【００３６】
論理回路生成プログラムがコンピュータ本体１によって実行されることにより、論理回路の生成が行なわれる。また、論理回路生成プログラムは他のコンピュータより通信回線を経由し、コンピュータ本体１に供給されてもよい。
【００３７】
図１０に示すコンピュータ本体１は、ＣＰＵ（Central Processing Unit）１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２およびハードディスク１３を含む。ＣＰＵ１０は、ディスプレイ装置２、ＦＤドライブ３、キーボード５、マウス６、ＣＤ−ＲＯＭ装置７、ネットワーク通信装置９、ＲＯＭ１１、ＲＡＭ１２またはハードディスク１３との間でデータを入出力しながら処理を行なう。ＦＤ４またはＣＤ−ＲＯＭ８に記録された論理回路生成プログラムは、ＣＰＵ１０によりＦＤドライブ３またはＣＤ−ＲＯＭ装置７を介してハードディスク１３に格納される。ＣＰＵ１０は、ハードディスク１３から適宜論理回路生成プログラムをＲＡＭ１２にロードして実行することにより、論理回路の生成を行なう。
【００３８】
図１１は、本発明の第１の実施の形態における論理回路生成装置を用いた半導体集積回路の全体的な設計手順を説明するためのフローチャートである。図１１においては、実配線経路情報に基づいてｉｓｏｌａｔｉｏｎセルを挿入する場合を示している。
【００３９】
まず、前処理として、図１のフローチャートに示す処理手順と同様に、ＲＴＬ記述を論理合成することによって論理回路が生成される。このとき、通常のレジスタ（ＦＦ）をスキャンＦＦに置換することによって、半導体集積回路のスキャンチェーンが構築される。
【００４０】
次に、電源設計を考慮したフロアプランが行なわれてチップ・レイアウトの概要が決定される（Ｓ１１）。そして、チップ上に各セルが配置される（Ｓ１２）。このとき、スキャンチェーン最短化処理（スキャンチェーンリオーダ）が行なわれ、タイミング最適化が行なわれる。
【００４１】
次に、スキューや遅延を考慮したクロックツリー生成が行なえわれ（Ｓ１３）、クロックツリー生成後のタイミング最適化が行なわれる（Ｓ１４）。そして、それに応じて各セル間の配線が行なわれる（Ｓ１５）。
【００４２】
次に、ｉｓｏｌａｔｉｏｎセルの挿入が行なわれる（Ｓ１６）。この処理の詳細については後述する。最後に、ｉｓｏｌａｔｉｏｎセルを挿入した後のタイミング最適化、およびレイアウトの修正（ＥＣＯ）が行なわれてタイミングの収束を図る（Ｓ１７）。
【００４３】
図１２は、本発明の第１の実施の形態における論理回路生成装置の機能的構成を示すブロック図である。この論理回路生成装置は、遷移時間計算部２１と、遷移時間判定部２２と、ｉｓｏｌａｔｉｏｎセル挿入部２３とを含む。
【００４４】
遷移時間計算部２１は、スキャンＦＦのドライブ能力と、スキャンＦＦのスキャンアウト端子に接続される配線の容量とから、スキャンアウト信号の立ち上がり時における遷移時間および立ち下がり時における遷移時間を計算する。
【００４５】
図１３は、遷移時間を説明するための図である。立ち上がり時における遷移時間ＲｉｓｅＴは、スキャンＦＦのスキャンアウト信号がロウレベルしきい値（Ｌｏｗ−Ｔｈｒｅｓｈｏｌｄ）、たとえば、電源電圧の１０％の電圧値から、ハイレベルしきい値（Ｈｉｇｈ−Ｔｈｒｅｓｈｏｌｄ）、たとえば、電源電圧の９０％の電圧値に変化するまでの時間である。
【００４６】
また、立ち下がり時における遷移時間ＦａｌｌＴは、スキャンＦＦのスキャンアウト信号がハイレベルしきい値（Ｈｉｇｈ−Ｔｈｒｅｓｈｏｌｄ）からロウレベルしきい値（Ｌｏｗ−Ｔｈｒｅｓｈｏｌｄ）に変化するまでの時間である。なお、以下の説明においては、単に遷移時間と記載した場合は立ち上がり時の遷移時間ＲｉｓｅＴと立ち下がり時の遷移時間ＦａｌｌＴとの両方を含むものとする。
【００４７】
図１４は、スキャンＦＦのドライブ能力と配線容量とを説明するための図である。スキャンＦＦは、予め設定されたドライブ能力値ＳＦＦ−Ｄｒｉｖｅを有しており、スキャンＦＦの種類に応じて異なるドライブ能力値が設定されている。スキャンＦＦの種類に応じて、ドライブ能力値が取得される。
【００４８】
また、図１４に示すように、スキャンＦＦのスキャンアウト端子と、次段のスキャンＦＦのスキャンイン端子とを接続する配線は、配線容量Ｎｅｔ−Ｃａｐを有している。この配線容量Ｎｅｔ−Ｃａｐは、全階層の配線が有する容量の総和である。
【００４９】
遷移時間判定部２２は、遷移時間計算部２１によって計算された遷移時間がＭＡＸ−Ｔｒａｎｓｉｔｉｏｎ×係数を超えるか否かを判定し、超える場合にはそのネットをｉｓｏｌａｔｉｏｎセル挿入候補とする。
【００５０】
なお、配置配線ツールにおいては、それぞれのテクノロジに応じてＭａｘ−Ｔｒａｎｓｉｔｉｏｎが定義されており、Ｍａｘ−Ｔｒａｎｓｉｔｉｏｎを超えないように回路の最適化が行なわれる。遷移時間判定部２２は、このＭａｘ−Ｔｒａｎｓｉｔｉｏｎに所定の係数（ｉｓｏｌａｔｉｏｎセル挿入のための重み付け）を乗算することによりしきい値をさらに厳しくして、ｉｓｏｌａｔｉｏｎセル挿入の要否を判定する。
【００５１】
図１５は、本発明の第１の実施の形態における論理回路生成装置の処理手順を説明するためのフローチャートである。まず、遷移時間計算部２１は、スキャンＦＦのドライブ能力値と、スキャンＦＦのスキャンアウト端子に接続される配線の容量とから、スキャンアウト信号の遷移時間を計算する（Ｓ２１）。
【００５２】
次に、遷移時間判定部２２は、遷移時間計算部２１によって計算された遷移時間がプロセスごとのＭａｘ−Ｔｒａｎｓｉｔｉｏｎ×係数よりも大きいか否かを判定する（Ｓ２２）。遷移時間がＭａｘ−Ｔｒａｎｓｉｔｉｏｎ×係数以下であれば（Ｓ２２，Ｎｏ）、ステップＳ２４に処理が進む。
【００５３】
また、遷移時間がＭａｘ−Ｔｒａｎｓｉｔｉｏｎ×係数よりも大きければ（Ｓ２２，Ｙｅｓ）、ｉｓｏｌａｔｉｏｎセル挿入部２３はそのネットにｉｓｏｌａｔｉｏｎセルを挿入し（Ｓ２３）、ステップＳ２４に処理が進む。
【００５４】
ステップＳ２４において、すべてのスキャンＦＦについての処理が終了したか否かが判定される。まだ未処理のスキャンＦＦがあれば（Ｓ２４，Ｎｏ）、ステップＳ２１に戻って以降の処理が繰り返される。また、すべてのスキャンＦＦの処理が終了していれば（Ｓ２４，Ｙｅｓ）、処理を終了する。
【００５５】
図１６は、本発明の第１の実施の形態における論理回路生成装置によって挿入されたｉｓｏｌａｔｉｏｎセルを示す図である。図１６に示すように、スキャンＦＦ２５のスキャンアウト端子とスキャンＦＦ２７のスキャンイン端子とを接続する配線における遷移時間が大きいため、その配線にｉｓｏｌａｔｉｏｎセル２６が挿入される。一方、スキャンＦＦ２７のスキャンアウト端子とスキャンＦＦ２８のスキャンイン端子とを接続する配線における遷移時間が小さいため、その配線にはｉｓｏｌａｔｉｏｎセルが挿入されない。
【００５６】
以上の説明においては、遷移時間がＭａｘ−Ｔｒａｎｓｉｔｉｏｎ×係数を超える場合に、そのネットにｉｓｏｌａｔｉｏｎセルを挿入するようにしたが、ユーザがしきい値を設定し、遷移時間がそのしきい値を超える場合に、そのネットにｉｓｏｌａｔｉｏｎセルを挿入するようにしてもよい。
【００５７】
以上説明したように、本実施の形態における論理回路生成装置によれば、スキャンＦＦのスキャンアウト信号の遷移時間が大きいネットのみにｉｓｏｌａｔｉｏｎセルを挿入するようにしたので、消費電力およびノイズの削減に効果的な箇所にのみｉｓｏｌａｔｉｏｎセルを挿入することができる。したがって、チップ面積の増大や不要なｉｓｏｌａｔｉｏｎセルによるリーク電流の増大を防止することが可能となった。
【００５８】
（第２の実施の形態）
本発明の第２の実施の形態における論理回路生成装置のハードウェア構成および半導体集積回路の全体的な設計手順は、図１０に示す第１の実施の形態における論理回路生成装置のハードウェア構成および図１１に示す半導体集積回路の全体的な設計手順と同様である。したがって、重複する構成、機能および処理手順の詳細な説明は繰り返さない。
【００５９】
図１７は、本発明の第２の実施の形態における論理回路生成装置の機能的構成を示すブロック図である。この論理回路生成装置は、配線容量抽出部３１と、配線容量判定部３２と、ｉｓｏｌａｔｉｏｎセル挿入部３３とを含む。
【００６０】
配線容量抽出部３１は、スキャンＦＦのスキャンアウト端子と、次段のスキャンＦＦのスキャンイン端子とを接続する配線の容量を抽出する。図１４を用いて説明したように、各階層の配線が有する容量を抽出し、その総和を計算することにより配線容量Ｎｅｔ−Ｃａｐを求めることができる。
【００６１】
配線容量判定部３２は、配線容量抽出部３１によって抽出された配線容量Ｎｅｔ−ＣａｐがＳＦＦ−Ｄｒｉｖｅ×係数を超えるか否かを判定し、超える場合にはそのネットをｉｓｏｌａｔｉｏｎセル挿入候補とする。
【００６２】
なお、配置配線ツールにおいては、それぞれのＦＦに対してＭａｘ−Ｃａｐａｃｉｔａｎｃｅ（最大容量値制約）が定義されており、Ｍａｘ−Ｃａｐａｃｉｔａｎｃｅを超えないように回路の最適化が行なわれる。配線容量判定部３２は、このＭａｘ−Ｃａｐａｃｉｔａｎｃｅに所定の係数（ｉｓｏｌａｔｉｏｎセル挿入のための重み付け）を乗算することによりしきい値をさらに厳しくして、ｉｓｏｌａｔｉｏｎセル挿入の要否を判定する。なお、上述のＦＦのドライブ能力ＳＦＦ−Ｄｒｉｖｅと、Ｍａｘ−Ｃａｐａｃｉｔａｎｃｅとは同じ意味である。
【００６３】
図１８は、本発明の第２の実施の形態における論理回路生成装置の処理手順を説明するためのフローチャートである。まず、配線容量抽出部３１は、スキャンＦＦのスキャンアウト端子と、次段のスキャンＦＦのスキャンイン端子とを接続する配線の容量を抽出する（Ｓ３１）。
【００６４】
次に、配線容量判定部３２は、配線容量抽出部３１によって抽出された配線容量Ｎｅｔ−ＣａｐがＳＦＦ−Ｄｒｉｖｅ×係数よりも大きいか否かを判定する（Ｓ３２）。配線容量がＳＦＦ−Ｄｒｉｖｅ×係数以下であれば（Ｓ３２，Ｎｏ）、ステップＳ３４に処理が進む。
【００６５】
また、配線容量Ｎｅｔ−ＣａｐがＳＦＦ−Ｄｒｉｖｅ×係数よりも大きければ（Ｓ３２，Ｙｅｓ）、ｉｓｏｌａｔｉｏｎセル挿入部３３はそのネットにｉｓｏｌａｔｉｏｎセルを挿入し（Ｓ３３）、ステップＳ３４に処理が進む。
【００６６】
ステップＳ３４において、すべてのスキャンＦＦについての処理が終了したか否かが判定される。まだ未処理のスキャンＦＦがあれば（Ｓ３４，Ｎｏ）、ステップＳ３１に戻って以降の処理が繰り返される。また、すべてのスキャンＦＦの処理が終了していれば（Ｓ３４，Ｙｅｓ）、処理を終了する。
【００６７】
図１９は、本発明の第２の実施の形態における論理回路生成装置によって挿入されたｉｓｏｌａｔｉｏｎセルを示す図である。図１９に示すように、スキャンＦＦ３５のスキャンアウト端子とスキャンＦＦ３７のスキャンイン端子とを接続する配線の容量が大きいため、その配線にｉｓｏｌａｔｉｏｎセル３６が挿入される。一方、スキャンＦＦ３７のスキャンアウト端子とスキャンＦＦ３８のスキャンイン端子とを接続する配線の容量が小さいため、その配線にはｉｓｏｌａｔｉｏｎセルが挿入されない。
【００６８】
以上の説明においては、配線容量がＳＦＦ−Ｄｒｉｖｅ×係数を超える場合に、そのネットにｉｓｏｌａｔｉｏｎセルを挿入するようにしたが、ユーザがしきい値を設定し、配線容量がそのしきい値を超える場合に、そのネットにｉｓｏｌａｔｉｏｎセルを挿入するようにしてもよい。
【００６９】
以上説明したように、本実施の形態における論理回路生成装置によれば、スキャンＦＦのスキャンアウト信号の配線容量が大きいネットのみにｉｓｏｌａｔｉｏｎセルを挿入するようにしたので、第１の実施の形態において説明した効果に加えて、より高速にｉｓｏｌａｔｉｏｎセル挿入の要否を判定することが可能となった。
【００７０】
（第３の実施の形態）
本発明の第３の実施の形態における論理回路生成装置のハードウェア構成および半導体集積回路の全体的な設計手順は、図１０に示す第１の実施の形態における論理回路生成装置のハードウェア構成および図１１に示す半導体集積回路の全体的な設計手順と同様である。したがって、重複する構成、機能および処理手順の詳細な説明は繰り返さない。
【００７１】
図２０は、本発明の第３の実施の形態における論理回路生成装置の機能的構成を示すブロック図である。この論理回路生成装置は、クロストーク解析部４１と、クロストーク判定部４２と、ｉｓｏｌａｔｉｏｎセル挿入部４３とを含む。
【００７２】
クロストーク解析部４１は、スキャンＦＦのスキャンアウト端子と、次段のスキャンＦＦのスキャンイン端子とを接続する配線と並走する配線を抽出する。そして、スキャンアウト信号の配線容量Ｎｅｔ−Ｃａｐ、並走配線との間で発生する配線間カップリング容量、回路情報などからクロストーク値（電圧値）を計算する。
【００７３】
クロストーク判定部４２は、クロストーク解析部４１によって計算されたクロストーク値がしきい値よりも大きいか否かによって、その並走配線がクロストークによる影響を受ける配線であるか否かを判定する。たとえば、クロストーク値が電源電圧の３０％以上のノイズであれば、その並走配線はクロストークの影響を受ける配線と判定される。
【００７４】
図２１は、本発明の第３の実施の形態における論理回路生成装置の処理手順を説明するためのフローチャートである。まず、クロストーク解析部４１は、スキャンＦＦのスキャンアウト端子が接続される配線に隣接する並走配線へのクロストークを解析し、クロストーク値を計算する（Ｓ４１）。
【００７５】
次に、クロストーク判定部４２は、クロストーク解析部４１によって計算されたクロストーク値がしきい値よりも大きいか否かを判定する（Ｓ４２）。クロストーク値がしきい値以下であれば（Ｓ４２，Ｎｏ）、ステップＳ４４に処理が進む。
【００７６】
また、クロストーク値がしきい値よりも大きければ（Ｓ４２，Ｙｅｓ）、ｉｓｏｌａｔｉｏｎセル挿入部４３はそのネットにｉｓｏｌａｔｉｏｎセルを挿入し（Ｓ４３）、ステップＳ４４に処理が進む。
【００７７】
ステップＳ４４において、すべてのスキャンＦＦについての処理が終了したか否かが判定される。まだ未処理のスキャンＦＦがあれば（Ｓ４４，Ｎｏ）、ステップＳ４１に戻って以降の処理が繰り返される。また、すべてのスキャンＦＦの処理が終了していれば（Ｓ４４，Ｙｅｓ）、処理を終了する。
【００７８】
図２２は、本発明の第３の実施の形態における論理回路生成装置によって挿入されたｉｓｏｌａｔｉｏｎセルを示す図である。図２２に示すように、スキャンＦＦ４５のスキャンアウト端子とスキャンＦＦ４６のスキャンイン端子とを接続する配線と並走する、組合せ回路４８と組合せ回路４９とを接続する配線との間のクロストーク値が大きいため、その配線にｉｓｏｌａｔｉｏｎセル５０が挿入される。一方、スキャンＦＦ４６のスキャンアウト端子とスキャンＦＦ４７のスキャンイン端子とを接続する配線と並走する、組合せ回路４８と組合せ回路４９とを接続する配線との間のクロストーク値が小さいため、その配線にはｉｓｏｌａｔｉｏｎセルが挿入されない。
【００７９】
以上説明したように、本実施の形態における論理回路生成装置によれば、スキャンＦＦのスキャンアウト端子に接続される配線と隣接する並走配線に与えるクロストークの影響が大きい場合にのみ、そのネットにｉｓｏｌａｔｉｏｎセルを挿入するようにしたので、第１の実施の形態において説明した効果と同様の効果を奏することが可能となった。
【００８０】
（第４の実施の形態）
本発明の第４の実施の形態における論理回路生成装置のハードウェア構成および半導体集積回路の全体的な設計手順は、図１０に示す第１の実施の形態における論理回路生成装置のハードウェア構成および図１１に示す半導体集積回路の全体的な設計手順と同様である。したがって、重複する構成、機能および処理手順の詳細な説明は繰り返さない。
【００８１】
図２３は、本発明の第４の実施の形態における論理回路生成装置の機能的構成を示すブロック図である。この論理回路生成装置は、信号変化情報付加部５１と、遷移時間計算部５２と、遷移時間判定部５３と、クロストーク解析部５４と、クロストーク判定部５５と、信号変化率判定部５６と、ｉｓｏｌａｔｉｏｎセル挿入部５７とを含む。
【００８２】
信号変化情報付加部５１は、論理シミュレーション結果から各ネットの信号変化情報または信号変化率を抽出し、その情報を各ネットに付加する。信号変化情報とは、たとえば論理シミュレーション結果においてそのネットの信号が何回変化したか等の情報である。信号が周期的に変化する場合には、信号変化率をそのネットに付加する。
【００８３】
遷移時間計算部５２は、スキャンＦＦのドライブ能力と、スキャンＦＦのスキャンアウト端子に接続される配線の容量とから、スキャンアウト信号の立ち上がり時における遷移時間および立ち下がり時における遷移時間を計算する。
【００８４】
遷移時間判定部５３は、遷移時間計算部５２によって計算された遷移時間がＭＡＸ−Ｔｒａｎｓｉｔｉｏｎ×係数を超えるか否かを判定し、超える場合にはそのネットをｉｓｏｌａｔｉｏｎセル挿入の第１候補とする。
【００８５】
クロストーク解析部５４は、遷移時間判定部５３によって第１候補とされたネットと並走する配線を抽出する。そして、スキャンアウト信号の配線容量Ｎｅｔ−Ｃａｐ、並走配線との間で発生する配線間カップリング容量、回路情報などからクロストーク値（電圧値）を計算する。
【００８６】
クロストーク判定部５５は、クロストーク解析部５４によって計算されたクロストーク値がしきい値よりも大きいか否かによって、その並走配線がクロストークによる影響を受ける配線であるか否かを判定する。たとえば、クロストーク値が電源電圧の３０％以上のノイズであれば、その並走配線はクロストークの影響を受ける配線と判定されてｉｓｏｌａｔｉｏｎセル挿入の第２候補とされる。
【００８７】
信号変化率判定部５６は、クロストーク判定部５５によって第２候補とされたネットに付加される信号変化情報または信号変化率がしきい値よりも大きいか否かによって、そのネットにｉｓｏｌａｔｉｏｎセルを挿入するか否かを判定する。たとえば、最大周波数のクロックの信号変化率に対して、そのネットの信号変化率が１０％以上であれば、そのネットをｉｓｏｌａｔｉｏｎセルを挿入するネットと判定する。
【００８８】
図２４および図２５は、本発明の第４の実施の形態における論理回路生成装置の処理手順を説明するためのフローチャートである。まず、信号変化情報付加部５１は、論理シミュレーション結果から抽出した各ネットの信号変化情報または信号変化率（トグル率）を全ネットに付加する（Ｓ５１）。
【００８９】
信号変化情報または信号変化率を付加していないネットがあれば（Ｓ５２，Ｎｏ）、ＴＯＰモジュールの入力ポートに対してクロックの１０％の信号変化率の信号を与えて内部ネットへ伝播させる（Ｓ５３）。そして、信号変化情報または信号変化率が付加されていないネットの信号変化を観測することにより、信号変化情報付加部５１は、そのネットに信号変化情報または信号変化率を付加する（Ｓ５４）。
【００９０】
次に、遷移時間計算部５２は、スキャンＦＦのドライブ能力値と、スキャンＦＦのスキャンアウト端子に接続される配線の容量とから、スキャンアウト信号の遷移時間を計算する（Ｓ５５）。
【００９１】
次に、遷移時間判定部５３は、遷移時間計算部５２によって計算された遷移時間がプロセスごとのＭａｘ−Ｔｒａｎｓｉｔｉｏｎ×係数よりも大きいか否かを判定する（Ｓ５６）。遷移時間がＭａｘ−Ｔｒａｎｓｉｔｉｏｎ×係数以下であれば（Ｓ５６，Ｎｏ）、候補漏れのフラグを立てて（Ｓ５７）、ステップＳ６６に処理が進む。また、遷移時間がＭａｘ−Ｔｒａｎｓｉｔｉｏｎ×係数よりも大きければ（Ｓ５６，Ｙｅｓ）、当該ネットに挿入候補１フラグを立てる（Ｓ５８）。
【００９２】
次に、クロストーク解析部５４は、遷移時間判定部５３によって挿入候補１フラグが立てられたネットに隣接する並走配線へのクロストークを解析し、クロストーク値を計算する（Ｓ５９）。
【００９３】
次に、クロストーク判定部５５は、クロストーク解析部５４によって計算されたクロストーク値がしきい値よりも大きいか否かを判定する（Ｓ６０）。クロストーク値がしきい値以下であれば（Ｓ６０，Ｎｏ）、候補漏れのフラグを立てて（Ｓ６１）、ステップＳ６６に処理が進む。また、クロストーク値がしきい値よりも大きければ（Ｓ６０，Ｙｅｓ）、当該ネットに挿入候補２フラグを立てる（Ｓ６２）。
【００９４】
次に、信号変化率判定部５６は、最大周波数のクロックの変化率を２００％とし、挿入候補２フラグが立っているネットの信号変化率を抽出する（Ｓ６３）。そして、そのネットの信号変化率がしきい値以上であるか否かを判定する（Ｓ６４）。このとき、最大周波数のクロックの変化率を２００％としたときに、しきい値として０％〜２００％の値が設定される。特にしきい値の設定がない場合には、たとえば、しきい値として１０％の値が使用される。
【００９５】
そのネットの信号変化率がしきい値より小さければ（Ｓ６４、Ｎｏ）、処理を終了する。また、そのネットの信号変化率がしきい値以上であれば（Ｓ６４、Ｙｅｓ）、そのネットに対して、図９に示すｉｓｏｌａｔｉｏｎセル３０２のように、組合せ回路への分岐配線の直後にｉｓｏｌａｔｉｏｎセルを挿入する（Ｓ６５）。
【００９６】
ステップＳ６６において、候補漏れフラグが立っているネットのうち信号変化率がしきい値を超えるものをピックアップする。そして、ピックアップされたネットと、ステップＳ６５においてｉｓｏｌａｔｉｏｎセルが挿入されたネットの中で最も消費電力削減効果が少ないネットとを比較する（Ｓ６７）。
【００９７】
ステップＳ６５においてｉｓｏｌａｔｉｏｎセルが挿入されたネットよりも消費電力削減効果がなければ（Ｓ６８，Ｎｏ）、処理を終了する。また、ステップＳ６５においてｉｓｏｌａｔｉｏｎセルが挿入されたネットよりも消費電力削減効果があれば（Ｓ６８，Ｙｅｓ）、そのネットに対して、組合せ回路への分岐配線の直後にｉｓｏｌａｔｉｏｎセルを挿入して（Ｓ６９）、処理を終了する。
【００９８】
図２６は、本発明の第４の実施の形態における論理回路生成装置によって挿入されたｉｓｏｌａｔｉｏｎセルを示す図である。図２６に示すように、スキャンＦＦ６２のスキャンアウト端子とスキャンＦＦ６４のスキャンイン端子とを接続する配線における遷移時間が大きく、その信号変化率も大きいため、その配線にｉｓｏｌａｔｉｏｎセル６３が挿入される。一方、スキャンＦＦ６６のスキャンアウト端子とスキャンＦＦ６８のスキャンイン端子とを接続する配線における遷移時間がスキャンＦＦ６２のスキャンアウト信号の遷移時間と同じくらい大きいが、信号変化率が小さいため、その配線にはｉｓｏｌａｔｉｏｎセルが挿入されない。
【００９９】
以上説明したように、本実施の形態における論理回路生成装置によれば、スキャンＦＦのスキャンアウト信号の遷移時間が大きいネットの中で、さらに並走配線へのクロストークの影響が大きいネットを抽出し、さらに信号変化率が大きいネットにのみｉｓｏｌａｔｉｏｎセルを挿入するようにしたので、第１の実施の形態および第３の実施の形態と比較して、さらに消費電力およびノイズの削減に効果的な箇所にのみｉｓｏｌａｔｉｏｎセルを挿入することが可能となった。
【０１００】
（第５の実施の形態）
本発明の第５の実施の形態における論理回路生成装置のハードウェア構成および半導体集積回路の全体的な設計手順は、図１０に示す第１の実施の形態における論理回路生成装置のハードウェア構成および図１１に示す半導体集積回路の全体的な設計手順と同様である。したがって、重複する構成、機能および処理手順の詳細な説明は繰り返さない。
【０１０１】
図２７は、本発明の第５の実施の形態における論理回路生成装置の機能的構成を示すブロック図である。この論理回路生成装置は、信号変化情報付加部７１と、配線容量抽出部７２と、配線容量判定部７３と、クロストーク解析部７４と、クロストーク判定部７５と、信号変化率判定部７６と、ｉｓｏｌａｔｉｏｎセル挿入部７７とを含む。
【０１０２】
信号変化情報付加部７１は、論理シミュレーション結果から各ネットの信号変化情報または信号変化率を抽出し、その情報を各ネットに付加する。
【０１０３】
配線容量抽出部７２は、スキャンＦＦのスキャンアウト端子と、次段のスキャンＦＦのスキャンイン端子とを接続する配線の容量Ｎｅｔ−Ｃａｐを抽出する。
【０１０４】
配線容量判定部７３は、配線容量抽出部７２によって抽出された配線容量Ｎｅｔ−ＣａｐがＳＦＦ−Ｄｒｉｖｅ×係数を超えるか否かを判定し、超える場合にはそのネットをｉｓｏｌａｔｉｏｎセル挿入の第１候補とする。
【０１０５】
クロストーク解析部７４は、配線容量判定部７３によって第１候補とされたネットと並走する配線を抽出する。そして、スキャンアウト信号の配線容量Ｎｅｔ−Ｃａｐ、並走配線との間で発生する配線間カップリング容量、回路情報などからクロストーク値（電圧値）を計算する。
【０１０６】
クロストーク判定部７５は、クロストーク解析部７４によって計算されたクロストーク値がしきい値よりも大きいか否かによって、その並走配線がクロストークによる影響を受ける配線であるか否かを判定する。クロストークによる影響を受ける配線である場合には、そのネットをｉｓｏｌａｔｉｏｎセル挿入の第２候補とする。
【０１０７】
信号変化率判定部７６は、クロストーク判定部７５によって第２候補とされたネットに付加される信号変化情報または信号変化率がしきい値よりも大きいか否かによって、そのネットにｉｓｏｌａｔｉｏｎセルを挿入するか否かを判定する。
【０１０８】
図２８は、本発明の第５の実施の形態における論理回路生成装置の処理手順を説明するためのフローチャートである。まず、信号変化情報付加部７１は、論理シミュレーション結果から抽出した各ネットの信号変化情報または信号変化率（トグル率）を全ネットに付加する（Ｓ７１）。
【０１０９】
信号変化情報または信号変化率を付加していないネットがあれば（Ｓ７２，Ｎｏ）、ＴＯＰモジュールの入力ポートに対してクロックの１０％の信号変化率の信号を与えて内部ネットへ伝播させる（Ｓ７３）。そして、信号変化情報または信号変化率が付加されていないネットの信号変化を観測することにより、信号変化情報付加部７１は、そのネットに信号変化情報または信号変化率を付加する（Ｓ７４）。
【０１１０】
次に、配線容量抽出部７２は、スキャンＦＦのスキャンアウト端子と、次段のスキャンＦＦのスキャンイン端子とを接続する配線の容量Ｎｅｔ−Ｃａｐを抽出する（Ｓ７５）。
【０１１１】
次に、配線容量判定部７３は、配線容量抽出部７２によって抽出された配線容量Ｎｅｔ−ＣａｐがＳＦＦ−Ｄｒｉｖｅ×係数よりも大きいか否かを判定する（Ｓ７６）。配線容量がＳＦＦ−Ｄｒｉｖｅ×係数以下であれば（Ｓ７６，Ｎｏ）、候補漏れのフラグを立てて（Ｓ７７）、図２５のステップＳ６６に処理が進む。また、配線容量がＳＦＦ−Ｄｒｉｖｅ×係数よりも大きければ（Ｓ７６，Ｙｅｓ）、当該ネットに挿入候補１フラグを立てる（Ｓ７８）。
【０１１２】
次に、クロストーク解析部７４は、配線容量判定部７３によって挿入候補１フラグが立てられたネットに隣接する並走配線へのクロストークを解析し、クロストーク値を計算する（Ｓ７９）。
【０１１３】
次に、クロストーク判定部７５は、クロストーク解析部７４によって計算されたクロストーク値がしきい値よりも大きいか否かを判定する（Ｓ８０）。クロストーク値がしきい値以下であれば（Ｓ８０，Ｎｏ）、候補漏れのフラグを立てて（Ｓ８１）、図２５のステップＳ６６に処理が進む。また、クロストーク値がしきい値よりも大きければ（Ｓ８０，Ｙｅｓ）、当該ネットに挿入候補２フラグを立て（Ｓ８２）、図２５のステップＳ６３に処理が進む。
【０１１４】
以下、図２５に示すフローチャートと同様の処理が行なわれる。
図２６に示すように、スキャンＦＦ６２のスキャンアウト端子とスキャンＦＦ６４のスキャンイン端子とを接続する配線における容量が大きく、その信号変化率も大きいため、その配線にｉｓｏｌａｔｉｏｎセル６３が挿入される。一方、スキャンＦＦ６６のスキャンアウト端子とスキャンＦＦ６８のスキャンイン端子とを接続する配線における容量がスキャンＦＦ６２のスキャンアウト信号の要領と同じくらい大きいが、信号変化率が小さいため、その配線にはｉｓｏｌａｔｉｏｎセルが挿入されない。
【０１１５】
以上説明したように、本実施の形態における論理回路生成装置によれば、スキャンＦＦのスキャンアウト信号の配線容量が大きいネットの中で、さらに並走配線へのクロストークの影響が大きいネットを抽出し、さらに信号変化率が大きいネットにのみｉｓｏｌａｔｉｏｎセルを挿入するようにしたので、第２の実施の形態および第３の実施の形態と比較して、さらに消費電力およびノイズの削減に効果的な箇所にのみｉｓｏｌａｔｉｏｎセルを挿入することが可能となった。
【０１１６】
（第６の実施の形態）
本発明の第６の実施の形態における論理回路生成装置のハードウェア構成は、図１０に示す第１の実施の形態における論理回路生成装置のハードウェア構成と同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【０１１７】
図２９は、本発明の第６の実施の形態における論理回路生成装置を用いた半導体集積回路の全体的な設計手順を説明するためのフローチャートである。図１１に示す第１の実施の形態における論理回路生成装置を用いた半導体集積回路の全体的な設計手順と比較して、ステップＳ１１とＳ１２との間にステップＳ８５が追加されている点のみが異なる。したがって、重複する処理手順の詳細な説明は繰り返さない。
【０１１８】
ステップＳ８５において、スキャンアウト専用階層ポートまたはスキャンＦＦのスキャンイン端子に接続するネットをドライブする組合せセルのうち、入力信号の片方が前段のスキャンＦＦのＱ（ＳＯ）端子と接続され、もう一方がＴＥＳＴモード信号に接続されるセル、すなわち上流工程で挿入されたｉｓｏｌａｔｉｏｎセルを削除する。そして、削除したセルのＳＯに接続されていたネットと削除したセルの出力ネットとを接続し、ステップＳ１２以降の処理が行なわれる。
【０１１９】
なお、ステップＳ１６に示す処理は、第１〜第５の実施の形態において説明したｉｓｏｌａｔｉｏｎセルの挿入処理のいずれであっても構わない。
【０１２０】
図３０は、本発明の第６の実施の形態における論理回路生成装置によってｉｓｏｌａｔｉｏｎセルがどのように削除されるかを説明するための図である。図３０（ａ）は、上流工程においてｉｓｏｌａｔｉｏｎセル９８および９９が挿入された直後の状態を示している。
【０１２１】
図３０（ｂ）は、配置配線によってスキャンＦＦ間の接続が変更されたことによりｉｓｏｌａｔｉｏｎセルが不要となり削除されたところを示す図である。図３０（ａ）においては、スキャンＦＦ９３のスキャンアウト端子とスキャンＦＦ９４のスキャンイン端子とが接続され、スキャンＦＦ９５のスキャンアウト端子とスキャンＦＦ９６のスキャンイン端子とが接続されている。
【０１２２】
図３０（ｂ）に示すように、配置配線によって配線接続が変更され、スキャンＦＦ９３のスキャンアウト端子とスキャンＦＦ９６のスキャンイン端子とが接続され、スキャンＦＦ９５のスキャンアウト端子とスキャンＦＦ９７のスキャンイン端子とが接続される。そのため、ｉｓｏｌａｔｉｏｎセル９８および９９が不要となっている。
【０１２３】
以上説明したように、本実施の形態における論理回路生成装置によれば、上流工程で挿入されたｉｓｏｌａｔｉｏｎセルを削除し、ステップＳ１６において新たにｉｓｏｌａｔｉｏｎセルを挿入するようにしたので、配線接続の変更などによって消費電力およびノイズの削減に効果がない箇所に挿入されたｉｓｏｌａｔｉｏｎセルを削除することが可能となった。
【０１２４】
（第７の実施の形態）
第１〜第６の実施の形態においては、実配線経路情報に基づいてｉｓｏｌａｔｉｏｎセルを挿入するか否かを判定するものであった。本発明の第６の実施の形態においては、仮想配線経路情報に基づいてｉｓｏｌａｔｉｏｎセルを挿入するか否かを判定するものである。
【０１２５】
実配線後では経路情報が存在するため、ｉｓｏｌａｔｉｏｎセルの配置位置を適切な位置に定めることが難しい。また、適切な位置に配置することを考えずにｉｓｏｌａｔｉｏｎセルを挿入すると、配線迂回などが生じる可能性がありタイミング劣化を引き起こし、経路情報の作り直しになることも考えられる。この場合、論理回路生成に要する時間が多大なものとなってしまう。
【０１２６】
そこで、本実施の形態においては、未配線段階でｉｓｏｌａｔｉｏｎセルを挿入しておき、配置配線後に挿入されているｉｓｏｌａｔｉｏｎセルの再評価を行なう。仮想配線の経路は見直しが可能であり、その後のＣＴＳや最適化処理においてセルの追加や移動が行なわれるため、論理回路生成に要する時間を増やさずにｉｓｏｌａｔｉｏｎセルを挿入することができる。また、未配線段階でのｉｓｏｌａｔｉｏｎセルの挿入は、配置配線後にｉｓｏｌａｔｉｏｎセルを挿入する場合と比較して精度が劣るが、経路情報の大幅な変更を回避することができる。この精度が劣る点については、配置配線後にｉｓｏｌａｔｉｏｎセルを再評価することにより補うことができる。
【０１２７】
図３１は、本発明の第７の実施の形態における論理回路生成装置を用いた半導体集積回路の全体的な設計手順を説明するためのフローチャートである。図１１に示す第１の実施の形態における論理回路生成装置を用いた半導体集積回路の全体的な設計手順と比較して、ステップＳ１６がステップＳ１２とＳ１３との間に移動し、ステップＳ１８が追加されている点のみが異なる。したがって、重複する処理手順の詳細な説明は繰り返さない。
【０１２８】
ステップＳ１６において、論理回路生成装置は、仮想配線経路情報に基づいてｉｓｏｌａｔｉｏｎセルを挿入する。この処理は、第１〜第５の実施の形態において説明したものと同様である。
【０１２９】
仮想配線経路情報に基づいてｉｓｏｌａｔｉｏｎセルを挿入するため、配置配線によって配線経路情報が変更されることが想定される。そのため、ステップＳ１８において、ｉｓｏｌａｔｉｏｎセルが挿入されている箇所を再評価してｉｓｏｌａｔｉｏｎセルの要否を判定すると共に、ｉｓｏｌａｔｉｏｎセルが挿入されていないスキャンＦＦについてもｉｓｏｌａｔｉｏｎセルの要否を再評価する。これによって、消費電力およびノイズの削減に効果的な箇所にｉｓｏｌａｔｉｏｎセルを挿入でき、不要なｉｓｏｌａｔｉｏｎセルを削除することができる。なお、ｉｓｏｌａｔｉｏｎセルの要否を再評価する方法は、第１〜第５の実施の形態において説明したｉｓｏｌａｔｉｏｎセル挿入の要否を判定する方法と同様である。
【０１３０】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３１】
１  コンピュータ本体、２  ディスプレイ装置、３  ＦＤドライブ、４  ＦＤ、５  キーボード、６  マウス、７  ＣＤ−ＲＯＭ装置、８  ＣＤ−ＲＯＭ、９  ネットワーク通信装置、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  ハードディスク、２１，５２  遷移時間計算部、２２，５３  遷移時間判定部、２３，３３，４３，５７，７７  ｉｓｏｌａｔｉｏｎセル挿入部、３１，７２  配線容量抽出部、３２，７３  配線容量判定部、４１，５４，７４  クロストーク解析部、４２，５５，７５  クロストーク判定部、５１，７１  信号変化情報付加部、５６，７６  信号変化率判定部。
【図１】
2010249741.tif 000003
【図２】
2010249741.tif 000004
【図３】
2010249741.tif 000005
【図４】
2010249741.tif 000006
【図５】
2010249741.tif 000007
【図６】
2010249741.tif 000008
【図７】
2010249741.tif 000009
【図８】
2010249741.tif 000010
【図９】
2010249741.tif 000011
【図１０】
2010249741.tif 000012
【図１１】
2010249741.tif 000013
【図１２】
2010249741.tif 000014
【図１３】
2010249741.tif 000015
【図１４】
2010249741.tif 000016
【図１５】
2010249741.tif 000017
【図１６】
2010249741.tif 000018
【図１７】
2010249741.tif 000019
【図１８】
2010249741.tif 000020
【図１９】
2010249741.tif 000021
【図２０】
2010249741.tif 000022
【図２１】
2010249741.tif 000023
【図２２】
2010249741.tif 000024
【図２３】
2010249741.tif 000025
【図２４】
2010249741.tif 000026
【図２５】
2010249741.tif 000027
【図２６】
2010249741.tif 000028
【図２７】
2010249741.tif 000029
【図２８】
2010249741.tif 000030
【図２９】
2010249741.tif 000031
【図３０】
2010249741.tif 000032
【図３１】
2010249741.tif 000033