(57)【要約】【課題】  クロストークによる回路の誤動作を回避するとともに半導体集積回路の配線領域や消費電力の低減を可能にする。また最適化された回路やレイアウトを速やかに得られるようにする。【解決手段】  バッファ１０１から出力されるクロック信号がバッファ１０２…を介して分岐し、クロック信号配線１０３…を介して図示しない各回路に伝達される。上記クロック信号配線１０３…は、できるだけ隣接して並行するようにレイアウトされる。さらに、バッファ１０１から出力されるクロック信号を上記と同様に分岐させるバッファ１０４が設けられ、これに接続されるダミー配線１０５がクロック信号配線１０３…の両側に配置される。これにより、各クロック信号配線１０３…で伝達されるクロック信号は互いに同一の遷移をするので、クロストークは生じず、遅延も少なく抑えられ、消費電力も低減される。【選択図】  図１
2006106838.tif 000002
【特許請求の範囲】
【請求項１】
回路を構成する素子、および各素子の接続関係を示す回路情報に基づいて、上記各素子および各素子を接続する信号配線の配置を決定する半導体集積回路の設計装置であって、
上記回路情報に基づいて、上記各素子および信号配線の配置を決定する配置決定手段と、
互いに隣接して配置されるべき信号配線を示す配線隣接情報に基づいて、上記隣接して配置されるべき信号配線が隣接するように、上記配置決定手段に配置させる隣接配置手段と、
を備えたことを特徴とする半導体集積回路の設計装置。
【請求項２】
請求項１の半導体集積回路の設計装置であって、
上記隣接配置手段は、外部から入力された配線隣接情報、上記回路情報に基づく信号の論理構造に基づいて得られた配線隣接情報、および上記回路情報に基づくタイミング解析によって得られた信号レベルの遷移パターンに基づいて得られる配線隣接情報のうちの少なくとも何れか１つに基づいて、上記隣接されるべき信号配線を隣接させるように構成されていることを特徴とする半導体集積回路の設計装置。
【請求項３】
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、第１の信号の信号配線、および常に上記第１の信号と同一または逆の信号遷移をする第２の信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする半導体集積回路の設計装置。
【請求項４】
請求項３の半導体集積回路の設計装置であって、
上記配置決定手段は、上記第１の信号、および第２の信号の信号配線の外方側に、信号出力素子に接続された、上記第１の信号または第２の信号と同一または逆の信号遷移をする信号の信号配線を追加して配置するように構成されていることを特徴とする半導体集積回路の設計装置。
【請求項５】
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、第１の信号の信号配線、および少なくとも所定のタイミングで上記第１の信号と同一または逆の信号遷移をする第２の信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする半導体集積回路の設計装置。
【請求項６】
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、第１の信号の信号配線、および上記第１の信号が遷移する全てのタイミングまたは一部のタイミングで、上記第１の信号と同一または逆の遷移をする第２の信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする半導体集積回路の設計装置。
【請求項７】
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、第１の信号の信号配線、および上記第１の信号が遷移する全てのタイミングまたは一部のタイミングで、上記第１の信号と同一の遷移をすることがない第２の信号、または逆の遷移をすることがない第２の信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする半導体集積回路の設計装置。
【請求項８】
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、第１の信号、および第２の信号が、同一または互いに異なる信号レベルになったときに、上記第１の信号、および第２の信号に基づいて生成される信号のレベルを変化させるものである場合に、上記第１の信号、および第２の信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする半導体集積回路の設計装置。
【請求項９】
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、互いに同一のタイミングでは遷移を生じない信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする半導体集積回路の設計装置。
【請求項１０】
回路を構成する素子、および各素子の接続関係を示す回路情報に基づいて、上記各素子および各素子を接続する信号配線の配置を決定する半導体集積回路の設計装置であって、
上記回路情報に基づいて、上記各素子および少なくとも一部の信号配線の配置を決定する第１の配置決定手段と、
外部からの入力、および上記回路情報に基づいた信号の論理構造に基づく生成の少なくとも何れか一方によって得られた、互いに隣接して配置されるべき信号配線を示す第１の配線隣接情報に基づいて、上記隣接して配置されるべき信号配線が隣接するように、上記第１の配置決定手段に配置させる第１の隣接配置手段と、
上記第１の配置決定手段により配置された信号配線の寄生容量を含む回路特性に基づいてタイミング解析を行い、そのタイミング解析結果に基づいて上記回路情報を変更する回路情報変更手段と、
上記変更された回路情報に基づいて、上記第１の配置決定手段によって配置されなかった信号配線の配置を決定する第２の配置決定手段と、
上記第２の配置決定手段により配置された信号配線の寄生容量を含む回路特性に基づいてタイミング解析を行い、そのタイミング解析によって得られた信号レベルの遷移パターンに基づいて第２の配線隣接情報を生成する配線隣接情報生成手段とを備え、
上記第２の配置決定手段は、さらに、上記第２の配線隣接情報に基づいて、上記第１の配置決定手段によって配置されなかった信号配線の配置を決定するように構成されていることを特徴とする半導体集積回路の設計装置。
【請求項１１】
請求項１０の半導体集積回路の設計装置であって、
上記回路情報変更手段は、上記第１の配置決定手段により配置された信号配線で伝達される信号の遷移タイミングが所定のタイミングになるまで、回路情報の変更を繰り返し行うように構成されていることを特徴とする半導体集積回路の設計装置。
【請求項１２】
請求項１０の半導体集積回路の設計装置であって、
上記第２の配置決定手段、および配線隣接情報生成手段は、上記第２の配置決定手段により配置された信号配線で伝達される信号の遷移タイミングが所定のタイミングになるまで、それぞれ信号配線の配置、および第２の配線隣接情報の生成を繰り返し行うように構成されていることを特徴とする半導体集積回路の設計装置。
【請求項１３】
請求項１２の半導体集積回路の設計装置であって、
上記遷移タイミングが所定のタイミングにならないうちに所定の中断条件が満たされることによって、上記第２の配置決定手段および配線隣接情報生成手段による、信号配線の配置および第２の配線隣接情報の生成の繰り返しが中断された場合、または、
上記遷移タイミングとは異なる設計上の制約が満たされない場合に、
上記回路情報変更手段が、上記第２の配線隣接情報の少なくとも一部に基づく第３の配線隣接情報に基づいて、さらに上記回路情報を変更するように構成されていることを特徴とする半導体集積回路の設計装置。
【請求項１４】
請求項１および請求項１０のうちの何れか１項の半導体集積回路の設計装置によって設計された半導体集積回路の動作をテストするテストベクタを検証するテストベクタ検証装置であって、
与えられたテストベクタに応じた回路動作のシミュレーションを行うシミュレーション手段と、
上記シミュレーションの結果に基づいて、上記配線隣接情報または第２の配線隣接情報に応じて隣接して配置される信号線における所定の信号遷移状態を検出する信号遷移検出手段と、
を備えたことを特徴とするテストベクタ検証装置。
【請求項１５】
請求項１および請求項１０のうちの何れか１項の半導体集積回路の設計装置によって設計された半導体集積回路の動作をテストするテストベクタを作成するテストベクタ作成装置であって、
所定のテストベクタ候補に応じた回路動作のシミュレーションを行うシミュレーション手段と、
上記シミュレーションの結果に基づいて、上記配線隣接情報または第２の配線隣接情報に応じて隣接して配置される信号線における所定の信号遷移状態が検出された場合に、上記所定のテストベクタ候補をテストベクタとして出力するテストベクタ出力手段と、
を備えたことを特徴とするテストベクタ作成装置。
【請求項１６】
請求項１５のテストベクタ作成装置であって、
上記テストベクタは、半導体集積回路のスキャンテストに用いられるテストベクタであることを特徴とするテストベクタ作成装置。
【請求項１７】
請求項１５のテストベクタ作成装置であって、
上記所定のテストベクタ候補は、ランダムに生成された信号パターンであることを特徴とするテストベクタ作成装置。
【請求項１８】
回路を構成する素子、および各素子の接続関係を示す回路情報に基づいて、上記各素子および各素子を接続する信号配線の配置を決定する半導体集積回路の設計方法であって、
上記回路情報に基づいて、上記各素子および信号配線の配置を決定する配置決定ステップと、
互いに隣接して配置されるべき信号配線を示す配線隣接情報に基づいて、上記隣接して配置されるべき信号配線が隣接するように、上記配置決定ステップに配置させる隣接配置ステップと、
を有することを特徴とする半導体集積回路の設計方法。
【請求項１９】
回路を構成する素子、および各素子の接続関係を示す回路情報に基づいて、上記各素子および各素子を接続する信号配線の配置を決定する半導体集積回路の設計プログラムであって、
上記回路情報に基づいて、上記各素子および信号配線の配置を決定する配置決定ステップと、
互いに隣接して配置されるべき信号配線を示す配線隣接情報に基づいて、上記隣接して配置されるべき信号配線が隣接するように、上記配置決定ステップに配置させる隣接配置ステップと、
をコンピュータに実行させることを特徴とする半導体集積回路の設計プログラム。
【請求項２０】
互いに隣接して配置され、互いに同一または逆の信号遷移をする複数の信号配線と、
上記複数の信号配線のうちの最も外方側の信号配線に隣接して配置されるとともに、信号出力素子に接続された上記複数の信号配線と同一または逆の信号遷移をする信号の信号配線と、
を備えたことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路を構成する素子やその接続関係を決定し、また、これらに基づいた、半導体集積回路における素子の配置や配線のレイアウトを決定する半導体集積回路の設計装置、設計方法、およびそのような設計装置や設計方法等を用いて得られる半導体集積回路に関するものである。
【背景技術】
【０００２】
半導体集積回路において隣接する信号配線間のクロストークは、遅延時間の変動をもたらし、信号レベルの遷移タイミング（回路の動作タイミング）がずれることによる誤動作を引き起こす。このようなクロストークの影響は、特に、半導体プロセスの微細化によるサイドカップリング容量の増大や要求される動作速度の高速化等に伴って顕著になりつつある。そこで、従来の半導体集積回路では、例えば図２０に示すように、信号配線９０１の両側に接地または電源等に接続されたシールド配線９０２・９０２を設けることによって、クロストークの防止が図られている。また、さらに信号伝播の高速化を図るために、上記のようなシールド配線に代えて、バッファを介した信号配線を配置する手法も知られている（例えば特許文献１）。
【０００３】
また、上記のような配線のレイアウトは、実際には、設計装置によって自動的に行われている。すなわち、まず、例えば回路の機能を記述したＨＤＬ（Hardware Description Language）情報に基づいて具体的な回路構成を示す情報が生成され、これに基づいて、素子の配置や配線のレイアウトが決定される。より詳しくは、例えば図２１および以下のようにして、配線のレイアウト等が行われる。
【０００４】
（Ｓ９０１）  論理回路設計工程
（Ｓ９０１ａ）  まず、ＨＤＬ情報に基づいて、具体的な回路構成、すなわち用いられる回路要素としてのセルや、セルの接続関係を示す情報（ネットリスト）が生成される。
【０００５】
（Ｓ９０１ｂ）  次に、上記ネットリストに基づいて、信号の遅延等を考慮した各セルの動作タイミングが解析され、ＨＤＬ情報によって示される通りの動作が行われない場合には、上記（Ｓ９０１ａ）に戻って回路構成の修正が行われる。ここで、上記タイミング解析は、ネットリストに基づいて生成されたセルの配置を示すセル配置情報、および仮想的に設定された配線レイアウトを示す情報を用いて行われる。また、上記仮想的な配線レイアウトでは隣接する信号配線が確定していないためクロストークを見積もることはできない。そこで、信号伝播の遅延は、例えば負荷容量が対地容量（配線容量の垂直成分）の３倍（両側の配線との間のサイドカップリング容量がそれぞれ上記対地容量に等しい）などとして算出される。
【０００６】
（Ｓ９０２）  レイアウト設計工程
（Ｓ９０２ａ）  上記論理回路設計工程によって生成されたネットリストとセル配置情報に基づいて、詳細なセル配置や配線レイアウトが決定される。
【０００７】
（Ｓ９０２ｂ）  上記詳細なセル配置や配線レイアウトに基づいたタイミング解析が行われる。この時点では、前記（Ｓ９０１ｂ）よりも正確な対地容量、フリンジング容量、およびサイドカップリング容量による信号伝播の遅延やクロストークの影響が考慮されて、各部の動作タイミングが解析される。
【０００８】
（Ｓ９０２ｃ）  クロストークの影響によって適切な動作が行われない場合には、クロストークを回避するために詳細配線の変更を示す情報が生成される。具体的には、例えば誤動作の原因となるクロストークが生じている配線の変更を示す情報が出力され、これに基づいて、再度、上記（Ｓ９０２ａ）による詳細配線等が繰り返される。すなわち、例えば長距離並行している配線の配置や配線層の変更、配線ピッチの変更、ゲートの追加、シールド配線の追加などが行われる。
【０００９】
上記タイミング解析の結果、適切な動作が得られる場合には、設計動作が終了する。一方、適切な動作が得られない場合には、上記（Ｓ９０１）以降が繰り返される。すなわち、例えばゲートの挿入（遅延が問題となる信号に対して、他の信号をより遅延させる）や、駆動素子の駆動能力の変更、特許文献１に記載されているようなバッファ等の追加などの回路の変更と、これらに基づいたレイアウトとが繰り返される。
【特許文献１】特開平５−８２６４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記のようにクロストーク回避のために配線レイアウトを変更すると、新たなクロストークによる誤動作を生じる可能性があり、回路およびレイアウトの設計が速やかに収束するとは限らない。また、収束するまでに数多く繰り返される設計工程において配線の引き回しの変更やゲートの挿入等が行われると、冗長な配線や回路の増加を招くおそれもある。したがって、従来の半導体集積回路の設計装置では、最適化された回路やレイアウトを速やかに得ることが困難であるという問題があった。
【００１１】
また、クロストークの影響を回避するために信号配線に沿ってシールド配線やバッファを介した配線を配置する手法では、配線領域の増大がもたらされるとともに、消費電力も増大する。
【００１２】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、クロストークによる回路の誤動作を回避しつつ、最適化された回路やレイアウトを速やかに得られるようにすることにある。また、半導体集積回路の配線領域や消費電力の低減を可能にすることにある。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために、本発明の請求項１の発明は、
回路を構成する素子、および各素子の接続関係を示す回路情報に基づいて、上記各素子および各素子を接続する信号配線の配置を決定する半導体集積回路の設計装置であって、
上記回路情報に基づいて、上記各素子および信号配線の配置を決定する配置決定手段と、
互いに隣接して配置されるべき信号配線を示す配線隣接情報に基づいて、上記隣接して配置されるべき信号配線が隣接するように、上記配置決定手段に配置させる隣接配置手段と、
を備えたことを特徴とする。
【００１４】
これにより、信号配線間のクロストークが制御された半導体集積回路を容易に得ることができる。すなわち、例えば同一の信号遷移をする信号配線が隣接して配置される場合には、上記信号配線間の寄生容量を０などと見なすことができるので、クロストークの影響が排除または低減されるとともに、信号伝播の遅延も抑制することができ、さらに消費電力も低減できる。一方、逆の信号遷移をする信号配線が隣接して配置される場合には、上記信号配線間の寄生容量が２倍などになったのと同様の遅延をさせることができ、遅延素子や遅延配線を設ける必要がないので半導体集積回路の基板面積を低減することができる。
【００１５】
また、請求項２の発明は、
請求項１の半導体集積回路の設計装置であって、
上記隣接配置手段は、外部から入力された配線隣接情報、上記回路情報に基づく信号の論理構造に基づいて得られた配線隣接情報、および上記回路情報に基づくタイミング解析によって得られた信号レベルの遷移パターンに基づいて得られる配線隣接情報のうちの少なくとも何れか１つに基づいて、上記隣接されるべき信号配線を隣接させるように構成されていることを特徴とする。
【００１６】
これにより、例えば設計者の意図を反映させた遅延の設定等をしたり、自動的に遅延を低減したりでき、また、回路の論理構造に基づく解析が容易でないような場合でも、結果的に同一または逆の遷移をする信号配線を隣接させて同様の効果を得ることが容易にできる。
【００１７】
また、請求項３の発明は、
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、第１の信号の信号配線、および常に上記第１の信号と同一または逆の信号遷移をする第２の信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする。
【００１８】
これにより、例えばクロック信号のように常に同一の遷移をする信号の遅延や消費電力を低減することができる。
【００１９】
また、請求項４の発明は、
請求項３の半導体集積回路の設計装置であって、
上記配置決定手段は、上記第１の信号、および第２の信号の信号配線の外方側に、信号出力素子に接続された、上記第１の信号または第２の信号と同一または逆の信号遷移をする信号の信号配線を追加して配置するように構成されていることを特徴とする。
【００２０】
これにより、第１の信号または第２の信号と追加された信号配線との間でも寄生容量を例えば最小で０と見なすことなどができるので、一層、クロック信号等の遅延や消費電力を低減することができる。
【００２１】
また、請求項５の発明は、
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、第１の信号の信号配線、および少なくとも所定のタイミングで上記第１の信号と同一または逆の信号遷移をする第２の信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする。
【００２２】
これにより、常には同一または逆の遷移をするような信号でなくても、所定のタイミングでの信号遷移に対して遅延を制御することができる。それゆえ、例えば所定の信号遷移に対してクリティカルパスとなるような回路の遅延マージンを設定することなどが容易にできる。しかも、所定のタイミングでだけ同一または逆の信号遷移をする信号であれば隣接させる信号配線として用いることができるので、種々の回路に対して遅延の設定等を行うことができる。
【００２３】
また、請求項６の発明は、
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、第１の信号の信号配線、および上記第１の信号が遷移する全てのタイミングまたは一部のタイミングで、上記第１の信号と同一または逆の遷移をする第２の信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする。
【００２４】
これにより、やはり、常には同一または逆の遷移をするような信号でなくても、すなわち第２の信号の信号配線が遷移する場合に第１の信号が遷移しないような場合でも両者を隣接させて第１の信号の遅延を制御することなどができるので、種々の回路に対して遅延の設定等を行うことができる。
【００２５】
また、請求項７の発明は、
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、第１の信号の信号配線、および上記第１の信号が遷移する全てのタイミングまたは一部のタイミングで、上記第１の信号と同一の遷移をすることがない第２の信号、または逆の遷移をすることがない第２の信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする。
【００２６】
これにより、第１の信号の遅延が所定以下や所定以上にならないように遅延量を制御することが容易にできる。
【００２７】
また、請求項８の発明は、
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、第１の信号、および第２の信号が、同一または互いに異なる信号レベルになったときに、上記第１の信号、および第２の信号に基づいて生成される信号のレベルを変化させるものである場合に、上記第１の信号、および第２の信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする。
【００２８】
これにより、例えばＡＮＤ回路のように全ての入力信号がアクティブになったときに出力もアクティブになるような場合には、そのような遷移に対してだけ、遅延量等が低減されればよいので、やはり、種々の回路に対して遅延の設定等を行うことができる。
【００２９】
また、請求項９の発明は、
請求項２の半導体集積回路の設計装置であって、
上記配線隣接情報は、互いに同一のタイミングでは遷移を生じない信号の信号配線が、互いに隣接して配置されるべきことを示す情報であることを特徴とする。
【００３０】
これにより、互いに他方の信号遷移の影響によって遅延量が変動することがないので、シールド配線などを用いることなく、同様の効果を得ることができる。したがって、配線領域を小さく抑えることができる。
【００３１】
また、請求項１０の発明は、
回路を構成する素子、および各素子の接続関係を示す回路情報に基づいて、上記各素子および各素子を接続する信号配線の配置を決定する半導体集積回路の設計装置であって、
上記回路情報に基づいて、上記各素子および少なくとも一部の信号配線の配置を決定する第１の配置決定手段と、
外部からの入力、および上記回路情報に基づいた信号の論理構造に基づく生成の少なくとも何れか一方によって得られた、互いに隣接して配置されるべき信号配線を示す第１の配線隣接情報に基づいて、上記隣接して配置されるべき信号配線が隣接するように、上記第１の配置決定手段に配置させる第１の隣接配置手段と、
上記第１の配置決定手段により配置された信号配線の寄生容量を含む回路特性に基づいてタイミング解析を行い、そのタイミング解析結果に基づいて上記回路情報を変更する回路情報変更手段と、
上記変更された回路情報に基づいて、上記第１の配置決定手段によって配置されなかった信号配線の配置を決定する第２の配置決定手段と、
上記第２の配置決定手段により配置された信号配線の寄生容量を含む回路特性に基づいてタイミング解析を行い、そのタイミング解析によって得られた信号レベルの遷移パターンに基づいて第２の配線隣接情報を生成する配線隣接情報生成手段とを備え、
上記第２の配置決定手段は、さらに、上記第２の配線隣接情報に基づいて、上記第１の配置決定手段によって配置されなかった信号配線の配置を決定するように構成されていることを特徴とする。
【００３２】
また、請求項１１の発明は、
請求項１０の半導体集積回路の設計装置であって、
上記回路情報変更手段は、上記第１の配置決定手段により配置された信号配線で伝達される信号の遷移タイミングが所定のタイミングになるまで、回路情報の変更を繰り返し行うように構成されていることを特徴とする。
【００３３】
また、請求項１２の発明は、
請求項１０の半導体集積回路の設計装置であって、
上記第２の配置決定手段、および配線隣接情報生成手段は、上記第２の配置決定手段により配置された信号配線で伝達される信号の遷移タイミングが所定のタイミングになるまで、それぞれ信号配線の配置、および第２の配線隣接情報の生成を繰り返し行うように構成されていることを特徴とする。
【００３４】
また、請求項１３の発明は、
請求項１２の半導体集積回路の設計装置であって、
上記遷移タイミングが所定のタイミングにならないうちに所定の中断条件が満たされることによって、上記第２の配置決定手段および配線隣接情報生成手段による、信号配線の配置および第２の配線隣接情報の生成の繰り返しが中断された場合、または、
上記遷移タイミングとは異なる設計上の制約が満たされない場合に、
上記回路情報変更手段が、上記第２の配線隣接情報の少なくとも一部に基づく第３の配線隣接情報に基づいて、さらに上記回路情報を変更するように構成されていることを特徴とする。
【００３５】
これらにより、前記のように隣接して配置された信号線による遅延量等の設定が容易に行えるとともに、第１の配置決定手段によって隣接して配置された信号配線間の寄生容量等は正確に求めることができるので、回路情報変更手段による回路の変更を適切かつ速やかに行わせることができる。また、上記のように第１の配線隣接情報によって隣接する配線が決定されることにより、第２の配置決定手段による信号配線配置の自由度が小さくなるので、一層、迅速に信号配線の配置を決定することができる。さらに、信号配線の配置が収束しにくい場合やプロセスルールなどの設計上の制約条件が満たされないような場合でも、バックアノテーションによって回路情報の変更が繰り返されることによって、やはり、回路の変更を適切かつ速やかに行わせることができる。
【００３６】
また、請求項１４の発明は、
請求項１および請求項１０のうちの何れか１項の半導体集積回路の設計装置によって設計された半導体集積回路の動作をテストするテストベクタを検証するテストベクタ検証装置であって、
与えられたテストベクタに応じた回路動作のシミュレーションを行うシミュレーション手段と、
上記シミュレーションの結果に基づいて、上記配線隣接情報または第２の配線隣接情報に応じて隣接して配置される信号線における所定の信号遷移状態を検出する信号遷移検出手段と、
を備えたことを特徴とする。
【００３７】
これにより、既存のテストベクタなどが、信号線を隣接させることの効果を確認できるものかどうかを容易に判別することができ、隣接して配置された信号配線の近辺の回路動作を効率よく検証することができる。
【００３８】
また、請求項１５の発明は、
請求項１および請求項１０のうちの何れか１項の半導体集積回路の設計装置によって設計された半導体集積回路の動作をテストするテストベクタを作成するテストベクタ作成装置であって、
所定のテストベクタ候補に応じた回路動作のシミュレーションを行うシミュレーション手段と、
上記シミュレーションの結果に基づいて、上記配線隣接情報または第２の配線隣接情報に応じて隣接して配置される信号線における所定の信号遷移状態が検出された場合に、上記所定のテストベクタ候補をテストベクタとして出力するテストベクタ出力手段と、
を備えたことを特徴とする。
【００３９】
また、請求項１６の発明は、
請求項１５のテストベクタ作成装置であって、
上記テストベクタは、半導体集積回路のスキャンテストに用いられるテストベクタであることを特徴とする。
【００４０】
また、請求項１７の発明は、
請求項１５のテストベクタ作成装置であって、
上記所定のテストベクタ候補は、ランダムに生成された信号パターンであることを特徴とする。
【００４１】
これらにより、前記のようにして隣接して配置された信号配線の近辺の回路動作を検証するテストベクタを容易に得ることができる。
【００４２】
また、請求項１８の発明は、
回路を構成する素子、および各素子の接続関係を示す回路情報に基づいて、上記各素子および各素子を接続する信号配線の配置を決定する半導体集積回路の設計方法であって、
上記回路情報に基づいて、上記各素子および信号配線の配置を決定する配置決定ステップと、
互いに隣接して配置されるべき信号配線を示す配線隣接情報に基づいて、上記隣接して配置されるべき信号配線が隣接するように、上記配置決定ステップに配置させる隣接配置ステップと、
を有することを特徴とする。
【００４３】
また、請求項１９の発明は、
回路を構成する素子、および各素子の接続関係を示す回路情報に基づいて、上記各素子および各素子を接続する信号配線の配置を決定する半導体集積回路の設計プログラムであって、
上記回路情報に基づいて、上記各素子および信号配線の配置を決定する配置決定ステップと、
互いに隣接して配置されるべき信号配線を示す配線隣接情報に基づいて、上記隣接して配置されるべき信号配線が隣接するように、上記配置決定ステップに配置させる隣接配置ステップと、
をコンピュータに実行させることを特徴とする。
【００４４】
これらにより、前記実施の形態１について説明したのと同じメカニズムによって、遅延量を設定することなどが容易にできる。
【００４５】
また、請求項２０の発明は、
互いに隣接して配置され、互いに同一または逆の信号遷移をする複数の信号配線と、
上記複数の信号配線のうちの最も外方側の信号配線に隣接して配置されるとともに、信号出力素子に接続された上記複数の信号配線と同一または逆の信号遷移をする信号の信号配線と、
を備えたことを特徴とする。
【００４６】
これにより、クロック信号等の遅延やスキュー等を防止するとともに消費電力を低減することができる。
【発明の効果】
【００４７】
以上のように、本発明によれば、設計者の指示や、回路の論理構造の解析、信号のタイミング解析などに基づいて、同じタイミングで同一方向または逆方向の遷移をする信号の信号配線が隣接して配置されるようにすることにより、クロストークの影響が生じないようにして、または生じるようにして、遅延素子を用いたり長距離の配線の引き回しをしたりすることなく、信号伝播の遅延が増減して適切に動作する半導体集積回路を容易に得ることができる。また、回路規模や配線領域の低減も図ることができる。しかも、上記のように隣接して配置された信号配線間の寄生容量等は正確に求めることが容易にできるので、最適化された回路やレイアウトを速やかに得ることができる。
【００４８】
さらに、同一の信号遷移をする複数の信号配線が隣接して配置されるとともに、これらの信号配線の外方側に隣接して、バッファ等に接続されてやはり同一の信号遷移をする信号の信号配線が設けられることにより、信号の遅延や遅延の変動を抑制するとともに消費電力を低減することもできる。
【発明を実施するための最良の形態】
【００４９】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
【００５０】
まず、本実施の形態の設計装置によって生成される回路、および配線パターンについて説明する。なお、この種の設計装置によって実際に生成されるのは、例えば回路構成を示すネットリスト、回路構成要素の配置を示すセル配置情報、および配線パターンを示す配線配設情報などの情報であるが、以下では回路構成および配線パターンを模式的に図示して説明する。また、伝達される信号の種類（隣接させる信号配線で伝達される信号の遷移タイミングの関係、およびレベルの遷移方向の関係）に応じて、以下のように分けて説明する。
【００５１】
（１）常時同一タイミング遷移信号を含む回路
バッファを介して分岐させたクロックツリーにおけるクロック信号のように、常に同一のタイミング（同位相）でレベルが遷移する信号を含む回路の例について説明する。ここで、上記「同一のタイミング」は、厳密な同一性を意味するのではなく、実際上、タイミングのずれによる遅延の変動などの影響が十分に小さいと見なせる程度のタイミングであればよい。
【００５２】
（２）一時同一タイミング遷移信号を含む回路
上記クロック信号のように常に同一のタイミングでレベルが遷移する信号ではないが、所定のタイミング（例えばクリティカルパスの動作に影響を与えるようなタイミング）で同時に遷移が生じるような信号を含む回路の例について説明する。
【００５３】
（３）逆遷移信号を含む回路
上記（１）（２）については、信号レベルの遷移方向が同じである場合について説明するが、逆方向に遷移する信号の信号配線を隣接させることによって、遅延量を意図的に増大させることができる。
【００５４】
（４）非逆遷移信号、非同一遷移信号を含む回路
また、同一方向に遷移しなくても、少なくとも逆方向には遷移しない信号や、逆方向に遷移しなくても、少なくとも同一方向には遷移しない信号の信号配線を隣接させることによって、遅延量の上限や下限を調整することもできる。
【００５５】
（５）遷移タイミング不一致信号を含む回路
互いに信号レベルの遷移タイミングが一致しない信号を含む回路の例について説明する。このような遷移タイミング不一致信号の信号配線を互いに隣接させて配置することにより、信号遷移の遅延を増減させるのではなく、少なくとも変動が生じないようにすることができる。
【００５６】
（１）常時同一タイミング遷移信号を含む回路
常時同一タイミング遷移信号は、前記のように、バッファを介して分岐させたクロックツリーにおけるクロック信号など、互いに同位相で（上記の例では、かつ同一方向に）レベルが遷移する信号である。具体的には、例えば図１に示すように、バッファ１０１から出力されるクロック信号がバッファ１０２…を介して分岐し、クロック信号配線１０３…を介して図示しない各回路に伝達される。このような回路が本実施形態の設計装置によって生成される際には、上記クロック信号配線１０３…は、できるだけ隣接して並行するようにレイアウトされる。さらに、バッファ１０１から出力されるクロック信号を上記と同様に分岐させるバッファ１０４・１０４が追加され、これに接続されるダミー配線１０５・１０５がクロック信号配線１０３…の両側に配置される。
【００５７】
上記各クロック信号配線１０３…およびダミー配線１０５・１０５は、より具体的には、例えば図２に示すように配置される。すなわち、半導体集積回路１１０には、上記バッファ１０１等を含むＰＬＬ回路１１１、およびクロック信号が供給される回路ブロック１１２〜１１５が設けられ、ＰＬＬ回路１１１から各回路ブロック１１２〜１１５に接続されるクロック信号配線１０３…は、各クロック間のスキューを低減すべく、等長・等負荷配線、かつ、最近接ピッチで、できるだけ並行するように配置される。つまり、例えば回路ブロック１１３はＰＬＬ回路１１１に近接しているが、この回路ブロック１１３にクロック信号を伝達するクロック信号配線１０３は最短経路で配置されずに、他のクロック信号配線１０３…が分岐する位置付近まで並行するように配置される。
【００５８】
上記のようなレイアウトがなされる場合、各クロック信号配線１０３…およびダミー配線１０５・１０５は互いに同じタイミングで同じレベルに変化するので、各配線間に生じるサイドカップリング容量Ｃｓｃ（寄生容量）は等しく０と見なせる。（厳密にはダミー配線１０５に関しては必ずしも０と見なせるとは限らないが、この点については後述する。）そこで、各クロック信号配線１０３の負荷容量Ｃは、主に対地容量Ｃｇ、すなわち各クロック信号配線１０３の配線容量の垂直成分（各クロック信号配線１０３の上下層にある配線間等で生じる配線容量）と、各クロック信号が入力される素子の入力容量との和だけとなり、これらが各クロック信号配線１０３間でほぼ等しいとすると、スキューはほとんど生じない。さらに、負荷容量が小さく抑えられることによって、遅延も小さくなるとともに、消費電力も低減される。
【００５９】
上記消費電力についてより詳しく説明すると、電源電圧をＶとした場合、合計の消費電力Ｐは、
Ｐ＝６×Ｃｇ×Ｃｇ×Ｖ
となる。これに対して、例えば前記図２０に示したように各信号配線９０１の両側にシールド配線９０２・９０２を設けた場合、信号配線９０１とシールド配線９０２・９０２との間にサイドカップリング容量Ｃｓｃが生じ、このサイドカップリング容量Ｃｓｃが対地容量Ｃｇに等しいと近似できるとすると、各信号配線９０１の負荷容量Ｃは、
Ｃ＝２×Ｃｇ＋Ｃｇ
＝３×Ｃｇ
となり、このようなクロック信号が４系統あったとすると、合計の消費電力Ｐは、
Ｐ＝４×（３Ｃｇ）×（３Ｃｇ）×Ｖ
＝３６×Ｃｇ×Ｃｇ×Ｖ
となるので、図１のような回路および配線パターンにすることによって、消費電力を１／６に低減できる。
【００６０】
また、配線領域の大きさも、４本のそれぞれのクロック信号配線の両側にシールド配線を設ける場合、合計で１２本分、各クロック信号配線が並行する場合に各クロック信号配線の間に１本ずつのシールド配線を設ける場合でも、合計で９本分の領域が必要なのに対し、図１の場合には６本分の領域があればよいので、１／２〜２／３に低減できる。
【００６１】
なお、上記ダミー配線１０５についてのサイドカップリング容量に関しては、ダミー配線１０５の外側に隣接する配線によっては０と見なせるとは限らないが、このダミー配線１０５が設けられていることによって、クロック信号配線１０３…についてのサイドカップリング容量Ｃｓｃは何れもほとんど０と見なすことができる。また、クロック信号配線１０３…の本数が多ければ、ダミー配線１０５についてのサイドカップリング容量Ｃｓｃも相対的に無視することができる。なお、ダミー配線１０５の外側にさらに１対以上のダミー配線を設けるようにしてもよい。一方、ダミー配線１０５に隣接する配線の有無や種類等に応じては、必ずしもダミー配線１０５を設けなくてもよい場合もある。
【００６２】
（２）一時同一タイミング遷移信号を含む回路
一時同一タイミング遷移信号は、前記クロック信号のように常に同一のタイミングでレベルが遷移する信号ではないが、所定の同一のタイミングで（以下の例では、かつ同一方向の）遷移が生じるような信号である。すなわち、例えばある信号の所定のタイミングでの遷移だけがクリティカルパスの動作に影響を与えるようなものである場合には、少なくとも上記所定のタイミングで同一方向の遷移をする信号の信号配線が設計装置によって並行するようにレイアウトされることにより、信号遷移の遅延を小さく抑えて、遅延マージンを大きくすることが可能になる。
【００６３】
上記一時同一タイミング遷移信号を含む回路の具体例を図３に示す。この回路は、フリップフロップ２００〜２０３と、ＸＯＲ回路２１０〜２１３と、ＡＮＤ回路２３１と、ＡＮＤ回路２３１の出力が立ち上がる（Ｈ（Ｈｉｇｈ）レベルになる）際に動作する回路Ｘ２３２、および立ち下がる（Ｌ（Ｌｏｗ）レベルになる）際に動作する回路Ｙ２３３とを含んでいる。上記ＸＯＲ回路２１０〜２１３とＡＮＤ回路２３１とによって、４ビットの一致検出回路（比較回路）が構成されている。すなわち、ＸＯＲ回路２１０〜２１３は、それぞれ、フリップフロップ２００〜２０３からクロック信号に同期して出力されるデータ信号Ａ０〜Ａ３と、比較信号Ｂ０〜Ｂ３とが互いに一致すると、信号配線２２０〜２２３にＬレベルの信号を出力する。ただし、上記比較信号Ｂ０〜Ｂ３としては、フリップフロップ２００〜２０３にクロック信号が入力される直前にはデータ信号Ａ０〜Ａ３を反転した信号が入力され、ＸＯＲ回路２１０〜２１３が何れもＨレベルの信号を出力するようになっている。ＡＮＤ回路２３１は、全てのＸＯＲ回路２１０〜２１３からＬレベルの信号が出力されたときに、Ｈレベルの信号を出力する。回路Ｘ２３２は、ＡＮＤ回路２３１から出力される信号がＬレベルからＨレベルに遷移する際に所定の動作をする一方、回路Ｙ２３３は、ＡＮＤ回路２３１から出力される信号がＨレベルからＬレベルに遷移する際に所定の動作をするようになっている。ここで、例えば上記回路Ｘ２３２は論理段数が多く、上記のようにＡＮＤ回路２３１からＨレベルの信号が出力される際にクリティカルパスになるとする。
【００６４】
上記のような回路が本実施形態の設計装置によって生成される際には、各信号配線２２０〜２２３は、できるだけ隣接して並行するようにレイアウトされる。
【００６５】
そこで、各信号配線２２０〜２２３が同一の遷移をする場合、すなわちデータ信号Ａ０〜Ａ３と比較信号Ｂ０〜Ｂ３とがそれぞれ互いに一致して各ＸＯＲ回路２１０〜２１３から出力される信号配線２２０〜２２３が何れもＨレベルからＬレベルに遷移する場合には、前記クロック信号配線１０３について説明したのと同様に、信号配線２２０〜２２３のサイドカップリング容量を０と見なせるので、伝達される信号の遅延が小さく抑えられる。そして、各信号配線２２０〜２２３がＬレベルになると、ＡＮＤ回路２３１から出力される信号はＨレベルになり、前記のように回路Ｘ２３２が所定の動作をするので、クリティカルパスの遅延マージンを増大させることができることになる。
【００６６】
一方、データ信号Ａ０〜Ａ３と比較信号Ｂ０〜Ｂ３との少なくとも何れかが一致しない場合、信号配線２２０〜２２３は一部がＨレベルのままで、他の一部だけがＬレベルに遷移する。この場合には、サイドカップリング容量を介したクロストークによって、Ｌレベルに遷移する信号に遅延が生じるが、ＡＮＤ回路２３１の出力はＬレベルのまま変化しないので、上記遅延の影響は生じない。
【００６７】
したがって、設計装置による回路設計の際に上記のような一時同一タイミング遷移信号を抽出し、隣接させて配置することにより、特に回路変更等をすることなく遅延マージンを大きくすることが容易にできる。
【００６８】
なお、一時同一タイミング遷移信号としては、上記のような一致信号に限らず、一般化すれば、各種のデコード回路や、加算器のキャリー伝播等にも適用することができ、信号伝播の高速化を図ることができる。そして、これらの信号は、一般に論理段数が多いためにクリティカルパスとなることが多く、それゆえ、信号伝播の高速化による効果が得られる可能性も高い。
【００６９】
また、例えば２つの信号のうちの一方の信号の遷移だけが（常にまたは所定のタイミングでだけ）クリティカルパスの遅延マージンに影響がある場合には、上記一方の信号が遷移するときに他方が遷移する主従関係のある信号であればよく、他方が遷移する際に上記一方は必ずしも遷移しなくてもよい。
【００７０】
また、上記のような遅延の低減が実際に有効なのは、ＡＮＤ回路２３１の出力がクリティカルパスなどの動作に影響を与える場合であるが、設計装置の動作としては必ずしも上記のような影響の有無を判別せずに、回路の論理構造に基づいてＡＮＤ回路２３１の出力の遅延を低減できると判別できるような場合には、そのＡＮＤ回路２３１に入力される信号配線２２０〜２２３を隣接させて配置するようにしてもよい。
【００７１】
（３）逆遷移信号を含む回路
上記（１）（２）では、常時または所定のタイミングで同じ方向に遷移する信号配線を隣接させることによって遅延を減少させることができる場合の例を説明したが、常時または所定のタイミングで互いに逆のレベルに遷移する信号の信号配線を隣接させることによって、従来のように配線を引き回して配線長を長くしたりゲートを挿入したりすることなく（またはこれらとともに）、遅延量を増大させることができる。
【００７２】
すなわち、例えば図４に示す回路は、フリップフロップ４０１と、その非反転出力端子Ｑに接続された組み合わせ回路４０２・４０４と、組み合わせ回路４０２に接続されたフリップフロップ４０３と、上記フリップフロップ４０１の反転出力端子ＮＱに接続されたＮＯＴ回路４０５と、ＮＯＴ回路４０５に接続された組み合わせ回路４０６とを備え、それぞれによって通常動作時用パスが形成されている。また、フリップフロップ４０１の反転出力端子ＮＱには、さらに、フリップフロップ４０７が接続され、テスト動作時に用いられるスキャンテスト用パスが形成されている。
【００７３】
上記フリップフロップ４０１と組み合わせ回路４０４とを接続する信号配線４１１における一部の配線パターン４１１ａ、およびＮＯＴ回路４０５と組み合わせ回路４０６とを接続する信号配線４１２における一部の配線パターン４１２ａは、それぞれ、スキャンテスト用パスの信号配線４１３における一部の配線パターン４１３ａ・４１３ｂと、設計装置によって隣接するようにレイアウトされる。
【００７４】
ここで、一般に、上記のようにフリップフロップ４０１の出力がフリップフロップ４０７に入力され、両者が同一のクロック信号で駆動される場合、フリップフロップ４０７が入力されたデータの保持を完了しないうちにフリップフロップ４０１の新たなデータが伝達されてしまってホールド制約が満たされなくなりがちである。ところが、反転出力端子ＮＱの信号が伝達される信号配線４１３の配線パターン４１３ａ・４１３ｂと、非反転出力端子Ｑの信号等が伝達される信号配線４１１・４１２の配線パターン４１１ａ・４１２ａとが隣接することにより、シールド配線やレベル遷移のない信号配線が隣接している場合に比べて２倍のサイドカップリング容量がある場合に相当する遅延を生じさせることができる（ただし、信号配線４１１・４１２で伝達される信号にも遅延が生じるので、組み合わせ回路４０２等は、そのような遅延に対してはセットアップマージン等が確保されているようにする必要はある。）。
【００７５】
したがって、配線の引き回しや遅延素子の設置による基板面積の増大を少なく抑え、または限られた面積で信号を大きく遅延させることができる。
【００７６】
なお、上記の例では、信号遷移の遅延を増大させるために常時同一のタイミングで逆方向に遷移する信号の信号配線を隣接させる例を示したが、前記（２）（一時同一タイミング遷移信号を含む回路）で説明したように所定の同一のタイミング、すなわち少なくとも遅延を増大させる必要のあるタイミングで互いに逆方向の遷移を生じる信号の信号配線を隣接させるようにしてもよい。
【００７７】
また、上記のような遅延を生じさせる目的は、ホールド制約を満足させることに限らず、例えば後に図８、９について説明するような遷移タイミングを調整するためなど、種々の目的であってもよい。
【００７８】
（４）非逆遷移信号、非同一遷移信号を含む回路
また、少なくとも、逆方向には遷移しない信号や、同一方向には遷移しない信号の信号配線を隣接させることによって遅延量の上限や下限を調整することもできる。
【００７９】
例えば、図５に示す回路は、ＮＡＮＤ回路３０１と、ＡＮＤ回路３０２と、ＮＯＲ回路３０３と、回路Ａ３０４と、回路Ｂ３０５とを有している。上記ＮＡＮＤ回路３０１およびＮＯＲ回路３０３に入力される２ビットの状態信号Ｓｔａｔｅ［１：０］は、図６、図７に示すように、００（初期状態）、０１（比較状態）、１０（実行状態）、１１（結果状態）に順次繰り返し変化する（上記値０、１は、それぞれＬレベルまたはＨレベルに対応する。）。ＮＡＮＤ回路３０１およびＡＮＤ回路３０２に入力されるＨｉｔ信号は、例えば前記図３の回路Ｘ２３２から出力されるような所定の条件に応じてＨまたはＬレベルになる信号である。また、ＡＮＤ回路３０２に入力されるＥｎａｂｌｅ信号は、上記Ｈｉｔ信号をマスクする信号で、Ｈｉｔ信号がＨレベルの場合には、上記状態信号Ｓｔａｔｅ［１：０］が０１のときにだけＨレベルになる信号である（Ｈｉｔ信号がＬレベルの場合には不問、すなわちＨ、Ｌレベルの何れであってもよい。）。
【００８０】
上記回路Ａ３０４は、ＮＯＲ回路３０３から出力される信号ＸがＨレベルからＬレベルに遷移する際に所定の動作をする一方、回路Ｂ３０５は、上記信号ＸがＬレベルからＨレベルに遷移する際に所定の動作をするようになっているとする。また、例えばＮＯＲ回路３０３から回路Ａ３０４に入力される信号ＸがＬレベルになる際（図６、図７のＰ）に動作する回路の信号伝達経路がクリティカルパスになっているとする。
【００８１】
上記のような回路が本実施形態の設計装置によって生成される際には、ＮＯＲ回路３０３の出力信号Ｘを伝達する信号配線３０６に、ＮＡＮＤ回路３０１の出力信号Ｙを伝達する信号配線３０７ができるだけ隣接して並行するようにレイアウトされる。
【００８２】
すなわち、Ｈｉｔ信号がＨレベルで、かつ、ＮＯＲ回路３０３から回路Ａ３０４に入力される信号ＸがＬレベルになる際（図６、図７のＰ）には、ＮＡＮＤ回路３０１から出力される信号ＹもＬレベルになる（図６、図７のＱ）ので、信号配線３０６・３０７が隣接していることによって、やはり、サイドカップリング容量を０と見なせ、伝達される信号Ｘの遅延が小さく抑えられる。
【００８３】
また、Ｈｉｔ信号がＬレベルで信号ＸがＬレベルになる際（図６、図７のＲ）には、信号Ｙは、必ずＨレベルのままになり、上記Ｈｉｔ信号がＨレベルの場合のようにＨレベルからＬレベルになることはないが、逆にＬレベルからＨレベルになることもない。それゆえ、信号Ｘにはサイドカップリング容量に応じた遅延が生じることになるが、信号ＹがＬレベルからＨレベルに変化する場合のように２倍のサイドカップリング容量がある場合に相当する遅延を生じることはなく、したがって遅延量の上限が制限されることになる。
【００８４】
ここで、上記図５の回路においては、仮に状態信号Ｓｔａｔｅ［０］とＥｎａｂｌｅ信号とがほぼ正確に同じタイミングでＬレベルからＨレベルに変化するとすると、信号配線３０６のパスは信号配線３０７のパスに比べて論理段数が１段多いため、厳密には信号配線３０６の遷移タイミングは信号配線３０７の遷移タイミングよりも遅延する。そこで、例えば図８に示すようにＮＡＮＤ回路３０１の出力からバッファ３１１を介した信号配線３０７’を信号配線３０６に隣接させたり、図９に示すように、ＡＮＤ回路３１２およびＮＯＴ回路３１３を設け、論理段数の変更と伴に信号の論理を変更するようにすることによって、より確実に、ＮＯＲ回路３０３から回路Ａ３０４に入力される信号がＬレベルになる際の遅延を小さく抑えることができる。また、上記のようにクリティカルパスではない信号の遅延を増大させるのに限らず、ＡＮＤ回路３０２および／またはＮＯＲ回路３０３の遅延量を小さくするなど、クリティカルパスの信号の遅延量や論理を調整するようにしてもよい。
【００８５】
なお、上記の例では逆方向の遷移が生じることのない例を示したが、同様に同一方向に遷移することがない信号の信号線が隣接するようにして、少なくとも常にサイドカップリング容量に応じた遅延が生じるようにすれば、遅延量の下限が制限されるようにすることもできる。
【００８６】
また、上記のような逆方向の遷移や同一方向の遷移が常に生じないのに限らず、前記（２）（一時同一タイミング遷移信号を含む回路）で説明したのと同様に、そのような遷移が生じることはあっても、少なくとも、遅延量が所定以下または所定以上であることが必要なタイミングで上記逆方向または同一方向の遷移が生じることのない信号線が、隣接するようになっていればよい。
【００８７】
具体的には、例えば、前記図３の回路についての説明では、フリップフロップ２００〜２０３にクロック信号が入力される直前に、ＸＯＲ回路２１０〜２１３に比較信号Ｂ０〜Ｂ３としてデータ信号Ａ０〜Ａ３を反転した信号が入力され、各データ信号Ａ０〜Ａ３と比較信号Ｂ０〜Ｂ３とがそれぞれ一致した際に信号配線２２０〜２２３が全て同時に立ち下がることによって信号遷移の遅延が最も小さくなる例を示したが、比較信号Ｂ０〜Ｂ３にあらかじめ一定の信号が固定的に入力されるようにして、少なくともＡＮＤ回路２３１の出力がＨレベルになる際には逆方向の遷移が生じないようにしてもよい。すなわち、信号配線２２０〜２２３のうちの何れかが互いに逆方向に遷移したとすると、それらの信号の遅延量は最大になるが、そのような場合にはＡＮＤ回路２３１の出力はＬレベルに維持されたままなので、上記遅延の影響が生じることはない。したがって、ＡＮＤ回路２３１の出力がＨレベルに変化する場合だけを考えれば、そのようなタイミングでは少なくとも信号配線２２０〜２２３が互いに逆方向には遷移しないことになり、遅延量は所定量以下に抑えられる。
【００８８】
（５）遷移タイミング不一致信号を含む回路
互いに信号レベルの遷移タイミングが一致しない信号を含む回路の例について説明する。このような遷移タイミング不一致信号の信号配線を互いに隣接させて配置することにより、信号遷移の遅延を増減させるのではなく、シールド線が設けられるのと同様に、少なくとも変動が生じないようにすることができる。
【００８９】
具体的には、例えば図１０に示す回路は、フリップフロップ５０１と、フリップフロップ５０１の非反転出力端子Ｑに基づいた信号が順次伝達される組み合わせ回路５０２〜５０５、およびフリップフロップ５０６と、上記フリップフロップ５０１・５０６と同じクロック信号によって駆動されるフリップフロップ５０７とを含んでいる。上記組み合わせ回路５０４の出力（Ｄ）を組み合わせ回路５０５に伝達する信号配線５１１と、クロック信号（ＣＬＫ）を伝達するクロック信号配線５１２とは、互いに隣接して並行するように配置されている。
【００９０】
ここで、上記信号配線５１１およびクロック信号配線５１２で伝達される信号（Ｄ）およびクロック信号（ＣＬＫ）が、組み合わせ回路５０２〜５０４の動作による遅延のために（または各フリップフロップ５０１等を駆動するクロック信号が互いに異なっていたりスキューが生じていたりするために）、例えば図１１に示すように、信号レベルの遷移タイミングが互いにずれている場合には、互いにサイドカップリング容量による遅延は生じても、他方の信号レベル遷移のクロストークによる遅延変動は生じることがない。（なお、一方の信号レベルが遷移しない期間には、他方の信号レベルが遷移してクロストークが生じたとしても、閾値を越えるようなレベル変動を生じなければ問題にはならない。）したがって、特にシールド配線のための配線パターンを配置することなく、ＣＴＳ（クロックツリーシンセシス）を実施したフリップフロップなどの近辺のクロック信号配線等にシールド配線を配置したのと同様の効果が得られる。特に、例えば複数の回路ブロックに供給されるクロック信号の配線を各ブロックに近い位置まで配設するためには前記図１、図２に示すように互いに隣接させることが有効である一方、各回路ブロック内などでは、上記のようにシールド配線として作用する配線を隣接させることが有効である。
【００９１】
また、例えば図１２に示す回路では、回路ブロック６０１・６０２が、交互に隣接して配置されたアドレス信号６１１〜６１４、読み出しデータ信号６２１〜６２４、および書き込みデータ信号６３１〜６３４を介して互いに接続されている。このようなアドレス信号６１１〜６１４およびデータ信号６２１〜６２４・６３１〜６３４は、データ転送のためのプロトコルに従った１クロックサイクル以上にわたる所定のタイミングで、アドレスおよびデータの送受が行われる。
【００９２】
より詳しくは、例えば図１３に示すように、回路ブロック６０１が回路ブロック６０２にデータを書き込む場合には、回路ブロック６０１は、クロック信号の立ち上がりエッジでアドレスを出力し、次の立ち下がりエッジで書き込みデータを出力する。また、回路ブロック６０１が回路ブロック６０２からデータを読み出す場合には、同様に回路ブロック６０１がクロック信号の立ち上がりエッジでアドレスを出力し、回路ブロック６０２は、例えば１クロックサイクルのウェイトサイクルを経過した後の立ち下がりエッジでデータを出力し、回路ブロック６０１がこれを取り込む。
【００９３】
上記のように、通常、アドレス信号とデータ信号とは、それぞれ所定のタイミングで遷移し、同時に遷移することはないので、やはり、特にシールド配線等を配置することなく、クロストークによる信号遷移の遅延や遅延量の変動を防止することができる。
【００９４】
（半導体集積回路の設計装置）
上記のような回路、および配線のレイアウトは、以下で説明するような半導体集積回路の設計装置によって設計され、製造するために必要なデータが生成される。ここで、このような設計装置は、例えば、ＣＰＵ、メモリ、記憶装置、および入出力装置等を備えたコンピュータに設計プログラムが組み込まれて構成される。以下、図１４に基づいて、回路の設計、配線のレイアウト等が行われる際の動作を説明する。
【００９５】
（Ｓ１０１）  論理回路設計工程
まず、回路の機能を記述したＨＤＬ情報、およびあらかじめ設計者によって指示される、配線を隣接させるべき信号を示す第１配線隣接指示情報が入力され、これらの情報に基づいて、以下の各処理が行われる。
【００９６】
ここで、上記配線を隣接させるべき信号というのは、例えば前記（１）（常時同一タイミング遷移信号を含む回路）、（２）（一時同一タイミング遷移信号を含む回路）、（３）（逆遷移信号を含む回路）、または（４）（非逆遷移信号、非同一遷移信号を含む回路）について説明したように、隣接させることで遅延を増減させることができる信号で、通常、回路の機能を記述する段階でその機能構成（信号論理内容）に基づいて設計者が容易に指定可能な信号（すなわち、タイミング解析等をしなくても、同じタイミングで遷移することなどが容易に把握できるような信号）である。なお、前記（５）（遷移タイミング不一致信号を含む回路）について説明したような信号についても、隣接させることによって遅延量の変動を抑えられることが把握できれば、隣接させるように指示するようにしてもよい。
【００９７】
また、上記第１配線隣接指示情報としては、具体的には、例えば配線を互いに隣接させる信号の組ごとに、各組に属する信号を示す情報を用いてもよいし、また、ＨＤＬ情報中に、各信号と対応させてその信号が属する組を示すラベルを付加するなどしてもよい。また、例えば信号名に所定のキーワード（ｃｌｏｃｋ，ｃａｒｒｙなど）を含めることによって、配線を隣接させる信号であることを示すようにしてもよい。また、上記第１配線隣接指示情報には、例えば図１のダミー配線１０５やバッファ１０４を設けることを示す情報なども含まれる。
【００９８】
なお、上記のような第１配線隣接指示情報が入力されるのとともに、またはこれに代えて、論理回路設計工程段階で回路の論理構造に基づいて同様の信号が検出されるようにしてもよい。さらに、例えば後述する仮配線配設、タイミング解析行程（Ｓ１０１ｂ）でタイミング解析が行われる際に、クリティカルパスの抽出などに基づいて、隣接させるべき信号（信号遷移が所定のタイミングウィンドウ内で生じない信号に対して、同じまたは近いタイミング、すなわち例えば所定のタイミングウィンドウ内で遷移する信号で、仮配線配設の段階で最も近くに配設される信号など）が検出されるようにしてもよい。
【００９９】
また、回路を示す情報としては、上記のような回路の機能を記述したＨＤＬ情報等に限らず、回路構成を直接示すネットリストなどが用いられるようにしてもよい。
【０１００】
以下、論理回路設計工程（Ｓ１０１）の具体的な処理内容について説明する。
【０１０１】
（Ｓ１０１ａ）（回路情報変更手段）  上記ＨＤＬ情報に基づいて、論理合成が行われる。すなわち、具体的な回路構成が決定され、用いられる回路要素としてのセルや、セルの接続関係を示す情報（ネットリスト）が生成される。
【０１０２】
（Ｓ１０１ｂ、Ｓ１０１ｃ）（配置決定手段、隣接配置手段、第１の配置決定手段、第１の隣接配置手段）  次に、上記ネットリストに基づいて、信号の遅延等を考慮した各セルの動作タイミングが解析される。上記タイミング解析は、ネットリストに基づいて生成されたセルの配置を示すセル配置情報、および仮に設定された配線レイアウトを示す情報を用いて行われる。ここで、隣接する信号配線が確定していない配線については、クロストークを見積もることができないので、信号伝播の遅延は、例えば負荷容量が対地容量（配線容量の垂直成分）の３倍（両側の配線との間のサイドカップリング容量がそれぞれ上記対地容量に等しい）などとして算出される。しかし、前記第１配線隣接指示情報によって隣接して配置されるように指示された配線については、原則として隣接することが確定していて、（Ｓ１０１ｃ）で、サイドカップリング容量、およびこれによる信号伝播の遅延やクロストークの影響を求めることができるので、比較的正確な信号遷移の遅延計算が行われ、その計算結果を用いて、クリティカルパスの解析を含むタイミング解析が行われる。（実際には、タイミング解析と、指定隣接配線の遅延計算とは、遅延量が収束するまで繰り返し行われる。）
（Ｓ１０１ｄ）  ＨＤＬ情報によって示される通りの動作が目標動作周波数で行われるかどうか、具体的には、例えばクリティカルパスの信号遷移が所定のウィンドウタイミング内で生じているかが評価される。また、必要な基板面積が目標面積以内に収まっているかどうかが評価される。この評価の結果、ＨＤＬ情報によって示される通りの目標の動作が行われない場合や目標面積が達成されていない場合には、上記（Ｓ１０１ａ）に戻って回路構成の修正、具体的には論理圧縮やゲートの追加、ゲート駆動能力の調整、シールド配線の配設、また、サイドカップリング容量の影響を排除または利用するための配線隣接指示の追加等が行われ、タイミング解析、評価等が繰り返される。一方、上記目標が達成されている場合には、論理回路設計工程が終了され、上記生成されたネットリスト、セル配置情報、および配線隣接指示に基づいて隣接するようになされた配置を示す指定隣接配線配設情報が出力される。
【０１０３】
（Ｓ１０２）  レイアウト設計工程
（Ｓ１０２ａ）（配置決定手段、隣接配置手段、第２の配置決定手段、）  上記論理回路設計工程によって生成されたネットリストとセル配置情報と指定隣接配線配設情報とに基づいて、詳細なセル配置や配線レイアウトが決定される（配線配設情報が生成される）。すなわち、基本的には従来と同様のレイアウト動作が行われるが、上記第１配線隣接指示情報等に応じた指定隣接配線配設情報により隣接するように設定された信号配線のレイアウトは維持される。
【０１０４】
（Ｓ１０２ｂ）  上記詳細なセル配置や配線レイアウトに基づいてＲＣ（抵抗成分、容量成分）情報が抽出され、タイミング解析が行われる。この時点では、上記詳細な配線レイアウトに基づくことによって、全ての信号配線に対して、より正確な対地容量、フリンジング容量、およびサイドカップリング容量による信号伝播の遅延やクロストークの影響が考慮されて、各部の動作タイミングが解析される。
【０１０５】
（Ｓ１０２ｃ）  上記タイミング解析の結果、動作周波数の目標値などが達成されているかどうかが評価され、達成されていればレイアウト設計工程が終了される一方、達成されていなければ、以下の（Ｓ１０２ｄ）の処理が行われる。なお、レイアウト設計が収束しない場合など、所定の中断条件が満たされたときにも、そのレイアウト設計を終了（打ち切り）して、後述するように、第３配線隣接指示情報のフィードバックに基づいた（Ｓ１０１）以降の処理が繰り返されるようにしてもよい。
【０１０６】
（Ｓ１０２ｄ）（配線隣接情報生成手段）  クロストークの影響によって適切な動作が行われない場合には、同一または近いタイミングで遷移する信号など（例えば前記（１）（常時同一タイミング遷移信号を含む回路）、（２）（一時同一タイミング遷移信号を含む回路）、（３）（逆遷移信号を含む回路）、（４）（非逆遷移信号、非同一遷移信号を含む回路）、または（５）（遷移タイミング不一致信号を含む回路）について説明したような信号）が検出される。すなわち、前記（Ｓ１０１）で第１配線隣接指示情報で指示されなかった信号でも、タイミング解析行程（Ｓ１０２ｂ）で得られた遷移タイミングに基づいて、隣接させることで遅延を増減させることのできる信号が検出され、第１配線隣接指示情報と同様の第２配線隣接指示情報として出力される。
【０１０７】
上記タイミング解析、および遅延調整配線検出の具体例として、例えば図１５に示すような回路が対象となる場合について説明する。この回路は、信号Ａが、バッファ７００を介して、ＮＯＴ回路７０１、ＮＡＮＤ回路７０２、ＮＯＲ回路７０３、ＡＮＤ回路７０４、およびＮＯＲ回路７０５に入力されるようになっている。上記ＮＡＮＤ回路７０２等には、さらに、信号Ｂ〜Ｅがそれぞれ入力されるようになっている。上記のような回路に対して、信号Ａが立ち上がる場合のタイミング解析が行われたとすると、その結果として、同図に併せて示すように、各ＮＯＴ回路７０１等の出力の遷移、およびスラックタイムが求められる。この例では、信号ＣがＬレベルのときにＮＯＲ回路７０３を介して伝達される信号の経路が、スラックタイムがマイナスになってクリティカルパスになっているため、この信号の遅延を減少させる必要がある。そこで、図１６に示すように、タイミングに余裕があり、かつ、同じ遷移をするＮＯＴ回路７０１の出力信号配線をＮＯＲ回路７０３の出力信号配線に隣接させることによって、適切な信号遷移タイミングが得られるようにすることができる。なお、ＮＯＴ回路７０１を介して伝達される信号の遷移タイミングに十分な余裕がある場合には、バッファ７１０を設けて、ＮＯＲ回路７０３の出力の遅延をより低減し得るようにしてもよい。
【０１０８】
また、さらに、ＮＡＮＤ回路７０２やＮＯＲ回路７０５の出力信号配線を隣接させるようにしてもよい。すなわち、これらの出力信号は、信号Ｂ・ＥのレベルがそれぞれＬまたはＨの場合には遷移しないので、ＮＯＲ回路７０３の出力信号の遅延を必ずしも減少させることにはならないが、前記（４）（非逆遷移信号、非同一遷移信号を含む回路）について説明したように、逆方向の遷移をするＡＮＤ回路７０４の出力信号配線が隣接する場合に比べて、ＮＡＮＤ回路７０２やＮＯＲ回路７０５の出力信号配線を少なくともシールド配線と同様に作用させて、遅延が増大するのを防止することはできる。
【０１０９】
ここで、図１５、図１６のように比較的簡単な回路については、各出力信号の遷移を論理構造に基づいて求めるようにしてもよいが、そのような論理構造に基づく遷移を求めることが容易ではないような場合でも、前記のようなタイミング解析の結果を用いることによって容易に求めることができ、クリティカルパスに影響のあるタイミングで遷移する信号の遅延を調整することができる。
【０１１０】
上記のようにして第２配線隣接指示情報が得られると、再度（Ｓ１０２ａ）以降で隣接させるべき配線の再配置、タイミング解析等が繰り返される。なお、隣接配線の再配置とともに、従来と同様に長距離並行している配線の配置や配線層の変更や、配線ピッチの変更、ゲートの挿入、シールド配線の追加なども行われるようにしてもよい。
【０１１１】
（Ｓ１０３）  上記タイミング解析の結果、適切な動作が得られると評価された場合には、さらに、上記タイミング解析結果に基づいて、動作周波数など以外の種々の設計上の制約、例えばプロセスルールなどが満足されているかどうかが判定され、満足されていれば、上記（Ｓ１０１）で生成されたネットリストおよびセル配置情報と、（Ｓ１０２）で生成された配線配設情報とが出力されて設計動作が終了する。また、必要に応じて、後述するテストベクタの作成や動作テストのために、上記遅延調整配線検出行程（Ｓ１０２ｄ）で生成された第２配線隣接指示情報も出力される。
【０１１２】
一方、上記（Ｓ１０３）で種々の設計上の制約が満足されていないと判定された場合には、上記第２配線隣接指示情報（またはその一部）が、第３配線隣接指示情報として論理回路設計工程（Ｓ１０１）にフィードバック（バックアノテーション）され、例えば新たなゲートの挿入（遅延が問題となる信号に対して、他の信号をより遅延させる）や、駆動素子の駆動能力の変更、特許文献１に記載されているようなバッファ等の追加などの回路の変更と、これに基づいたレイアウトとが繰り返される。
【０１１３】
これにより、セットアップマージンやホールドマージンの増加などを図るとともに、消費電力や必要な基板面積の低減を図ることが容易にできる。
【０１１４】
（テストベクタ検証装置）
一般に、実際に製造された半導体集積回路は、入力端子やスキャンパスに所定のテスト信号（テストベクタ）を与えて、出力端子から出力される信号やキャプチャされる信号を確認することによって、製造不良などが検査される。
【０１１５】
上記のようなテストを行うためのテストベクタは、例えばＡＴＰＧ（Automatic Test Pattern Generator）などを用いて作成することができるが、通常、半導体集積回路において実際に起こり得る全てのパターンのテストベクタを作成して検査することは容易ではなく、また検査に要する時間やコストを考慮すると現実的でもない。しかしながら、上記のようにして回路設計およびレイアウト設計された半導体集積回路では、特に、上記隣接配線に関係する動作が適切に行われることをより確実に確認できることが好ましい。
【０１１６】
そこで、例えば図１７に示すような処理が行われるテストベクタ検証装置を用いれば、隣接配線に関係する動作が、与えられるテストベクタによって確認できるかどうかを検証し、テストカバレッジを求めることが容易にできる。
【０１１７】
（Ｓ２０１）テストカバレッジ検出行程
ＡＴＰＧ等によって作成された既存のテストベクタが入力されるとともに、容量結合利用箇所情報として、例えば前記図１４の論理回路設計工程（Ｓ１０１）で入出力された第１配線隣接指示情報とネットリスト、およびレイアウト設計工程（Ｓ１０２）で出力された第２配線隣接指示情報と配線配設情報が入力されると、以下のようにしてテストベクタの検証が行われる。ここで、上記第１、第２配線隣接指示情報には、クロストークの影響が利用される信号遷移（立ち上がり、立ち下がりや変化しないことなど）を示す情報も含まれる。
【０１１８】
（Ｓ２０１ａ）（シミュレーション手段）  上記テストベクタが半導体集積回路に入力された場合の回路動作のシミュレーションが行われ、容量結合利用箇所情報によって示される、クロストークの影響が利用される（利用が意図される）隣接配線の信号遷移がモニタされる。上記シミュレーションとしては、寄生容量の影響なども考慮したシミュレーションを行えば、高い検証精度が得られるが、論理レベルのシミュレーションを簡易に行うこともできる。また、論理レベルのシミュレーションを行った後、微妙なタイミングで遷移が生じている場合に、高精度なシミュレーションが行われるようにしてもよい。
【０１１９】
（Ｓ２０１ｂ）（信号遷移検出手段）  上記シミュレーションにおいて、クロストークの影響が利用される隣接配線の箇所に所定の信号遷移が生じたかどうか、すなわち、そのテストベクタによって、クロストークの影響が生じる動作をテストできるかどうかが判別され、容量結合利用箇所に対するテストカバレッジ情報（例えば全ての容量結合利用箇所に対するテストされる箇所の割合など）が出力される。
【０１２０】
（テストベクタ作成装置）
また、既に作成されているテストベクタによっては十分なテストカバレッジが得られない場合などに、新たにスキャンテスト用のテストベクタを作成するテストベクタ作成装置について説明する。
【０１２１】
まず、この作成装置で作成されたテストベクタによってテストされる回路の例について説明する。図１８に示す回路は、前記図５の回路に対してスキャンパスが付加された回路である。具体的には、図５の回路の前後にフリップフロップ８０１〜８０７が設けられて構成されている。各フリップフロップ８０１〜８０４の非反転出力端子Ｑは、それぞれ、状態信号Ｓｔａｔｅ［０］、Ｈｉｔ信号、Ｅｎａｂｌｅ信号、または状態信号Ｓｔａｔｅ［１］として、ＮＡＮＤ回路３０１、ＡＮＤ回路３０２、またはＮＯＲ回路３０３に入力されるようになっている。また、ＮＡＮＤ回路３０１、回路Ａ３０４、および回路Ｂ３０５の出力は、それぞれフリップフロップ８０５〜８０７の入力端子Ｄに入力されるようになっている。
【０１２２】
上記フリップフロップ８０１〜８０７は、ＮＴピンがＨレベルのときにクロック信号が入力されると、入力端子ＤＴに入力された信号を保持する一方、ＮＴピンがＬレベルのときにクロック信号が入力されると、入力端子Ｄに入力された信号を保持するようになっている。また、各フリップフロップ８０１〜８０６の反転出力端子ＮＱは、それぞれ他のフリップフロップ８０２〜８０７の入力端子ＤＴに接続されている。
【０１２３】
そこで、フリップフロップ８０１〜８０４のＮＴピンがＨレベルの状態で、クロック信号に同期してフリップフロップ８０１の入力端子ＤＴに所定のテストベクタが順次入力されると、それぞれシフトされながらフリップフロップ８０１〜８０４に保持され、ＮＡＮＤ回路３０１、ＡＮＤ回路３０２、およびＮＯＲ回路３０３に入力される。
【０１２４】
また、ＮＴピンがＬレベルになってクロック信号が入力されると、ＮＡＮＤ回路３０１、回路Ａ３０４、および回路Ｂ３０５から上記入力に応じて出力された信号がフリップフロップ８０５〜８０７に保持（キャプチャ）される。
【０１２５】
その後、再度フリップフロップ８０５〜８０７のＮＴピンがＨレベルになるとともにクロック信号が入力されると、上記フリップフロップ８０５〜８０７に保持された信号が順次シフトされて、フリップフロップ８０７の反転出力端子ＮＱから半導体集積回路の外部等に出力される。この出力を参照することによって、各部が適切に動作しているかどうかが検証できる。
【０１２６】
上記のようなスキャンテストを行うためのテストベクタは、例えば図１９に示すような処理が行われるテストベクタ作成装置を用いて容易に作成することができる。
【０１２７】
（Ｓ３０１）テストベクタ作成行程
まず、図１４の論理回路設計工程（Ｓ１０１）で入出力された第１配線隣接指示情報とネットリスト、およびレイアウト設計工程（Ｓ１０２）で出力された第２配線隣接指示情報と配線配設情報が容量結合利用箇所情報として入力されると、以下のようにしてテストベクタが作成される。上記第１、第２配線隣接指示情報には、テストベクタ検証装置について説明したのと同様に、クロストークの影響が利用される信号遷移（立ち上がり、立ち下がりや変化しないことなど）を示す情報も含まれる。
【０１２８】
（Ｓ３０１ａ）  上記第１、第２配線隣接指示情報、およびネットリストに基づいて、テストベクタの入出力箇所が求められる。具体的には、例えば、まず第１、第２配線隣接指示情報によって隣接して配置されることが示されている信号配線３０６・３０７が求められ、ネットリストに基づいて、上記信号配線３０６・３０７の前段および後段に直接または間接に接続されているスキャンテスト用のフリップフロップ８０１〜８０７が求められる。
【０１２９】
（Ｓ３０１ｂ）（シミュレーション手段）  例えばランダムな信号パターンから抽出されたテストベクタ（候補）がフリップフロップ８０１〜８０４にセットされた場合の回路動作のシミュレーションが行われ、クロストークの影響が利用される（利用が意図される）隣接配線の信号遷移がモニタされる。また、その場合にフリップフロップ８０５〜８０７にキャプチャされる値（期待値）が求められる。
【０１３０】
（Ｓ３０１ｃ）（テストベクタ出力手段）  前記テストベクタ検証装置について説明した（Ｓ２０１ｂ）と同様に、上記シミュレーションにおいて、クロストークの影響が利用される隣接配線の箇所に所定の信号遷移が生じたかどうか、すなわち、そのテストベクタによって、クロストークの影響が生じる動作をテストできるかどうかが判別され、上記所定の信号遷移を生じるテストベクタが得られれば、そのテストベクタが（期待値とともに）出力される。また、上記所定の信号遷移を生じるテストベクタでなければ、そのようなテストベクタが得られるか、またはあらかじめ設定された所定のループ回数や処理時間に達するまで、上記（Ｓ３０１ｂ、Ｓ３０１ｃ）が繰り返される。
【０１３１】
上記のようにして、クロストークが生じ、または生じないように隣接して配置された配線の周辺の回路動作をテストするためのテストベクタが作成される。
【０１３２】
なお、上記と同様の手法を適用して、半導体集積回路の入力端子に与えるテストベクタを求めることも不可能ではないが、通常、着目する隣接配線とスキャンフリップフロップとの間の論理段数は入力端子との間の論理段数よりもはるかに少ないので、スキャンテスト用のテストベクタの方が求めやすい。
【０１３３】
また、テストベクタの候補は、上記のようにランダムな信号パターンから抽出されるのに限らず、可能な場合には、隣接配線に生じるべき信号遷移から、スキャンフリップフロップに設定されるべき値を論理的に求めるようにしてもよい。
【産業上の利用可能性】
【０１３４】
本発明にかかる半導体集積回路、その設計装置、設計方法、および設計プログラムは、遅延素子を用いたり長距離の配線の引き回しをしたりすることなく、信号伝播の遅延を増減されて適切に動作する半導体集積回路を容易に得ることができ、また、回路規模や配線領域の低減も図ることができ、しかも、上記のように隣接して配置された信号配線間の寄生容量等は正確に求めることが容易にできるので、最適化された回路やレイアウトを速やかに得ることができ、さらに、同一の信号遷移をする複数の信号配線が隣接して配置されるとともに、これらの信号配線の外方側に隣接して、バッファ等に接続されてやはり同一の信号遷移をする信号の信号配線が設けられることにより、信号の遅延や遅延の変動を抑制するとともに消費電力を低減することもでき、回路を構成する素子やその接続関係を決定し、また、これらに基づいた、半導体集積回路における素子の配置や配線のレイアウトを決定する半導体集積回路の設計装置、設計方法、およびそのような設計装置や設計方法等を用いて得られる半導体集積回路等として有用である。
【図面の簡単な説明】
【０１３５】
【図１】本発明の実施形態に係る常時同一タイミング遷移信号を含む回路を示す模式的回路図である。
【図２】同、配線の配置を示す平面図である。
【図３】同、一時同一タイミング遷移信号を含む回路を示す模式的回路図である。
【図４】同、逆遷移信号を含む回路を示す模式的回路図である。
【図５】同、非逆遷移信号を含む回路を示す模式的回路図である。
【図６】同、信号遷移を示す表である。
【図７】同、信号遷移を示すタイミングチャートである。
【図８】同、非逆遷移信号を含む回路の変形例を示す模式的回路図である。
【図９】同、非逆遷移信号を含む回路の他の変形例を示す模式的回路図である。
【図１０】同、遷移タイミング不一致信号を含む回路を示す模式的回路図である。
【図１１】同、遷移タイミング不一致信号を含む回路の動作を示すタイミングチャートである。
【図１２】同、他の遷移タイミング不一致信号を含む回路を示す模式的回路図である。
【図１３】同、他の遷移タイミング不一致信号を含む回路の動作を示すタイミングチャートである。
【図１４】同、半導体集積回路の設計装置の動作を示すフローチャートである。
【図１５】同、タイミング解析される回路の例を示す回路図である。
【図１６】同、タイミング解析される回路の信号配線の配置を示す模式的回路図である。
【図１７】同、テストベクタの検証装置の動作を示すフローチャートである。
【図１８】同、スキャンテストされる回路の例を示す模式的回路図である。
【図１９】同、テストベクタの作成装置の動作を示すフローチャートである。
【図２０】従来のクロック信号の伝播回路を示す模式的回路図である。
【図２１】従来の半導体集積回路の設計装置の動作を示すフローチャートである。
【符号の説明】
【０１３６】
Ａ０〜Ａ３      データ信号
Ｂ０〜Ｂ３      比較信号
１０１      バッファ
１０２      バッファ
１０３      クロック信号配線
１０４      バッファ
１０５      ダミー配線
１１０      半導体集積回路
１１１      ＰＬＬ回路
１１２〜１１５    回路ブロック
２００〜２０３    フリップフロップ
２１０〜２１３    ＸＯＲ回路
２２０〜２２３    信号配線
２３１      ＡＮＤ回路
２３２      回路Ｘ
２３３      回路Ｙ
３０１      ＮＡＮＤ回路
３０２      ＡＮＤ回路
３０３      ＮＯＲ回路
３０４      回路Ａ
３０５      回路Ｂ
３０６      信号配線
３０７      信号配線
３０７’    信号配線
３１１      バッファ
３１２      ＡＮＤ回路
３１３      ＮＯＴ回路
４０１      フリップフロップ
４０２      回路
４０３      フリップフロップ
４０４      回路
４０５      ＮＯＴ回路
４０６      回路
４０７      フリップフロップ
４１１・４１２    信号配線
４１１ａ・４１２ａ      配線パターン
４１３      信号配線
４１３ａ・４１３ｂ      配線パターン
５００      一致信号Ｈｉｔ
５０１      フリップフロップ
５０２〜５０５    回路
５０６・５０７    フリップフロップ
５１１      信号配線
５１２      クロック信号配線
５５０      論理信号Ｘ
５６０      論理信号Ｙ
６０１・６０２    回路ブロック
６１１〜６１４    アドレス信号
６２１〜６２４    読み出しデータ信号
６３１〜６３４    書き込みデータ信号
７００      バッファ
７０１      ＮＯＴ回路
７０２      ＮＡＮＤ回路
７０３      ＮＯＲ回路
７０４      ＡＮＤ回路
７０５      ＮＯＲ回路
７１０      バッファ
８０１〜８０７    フリップフロップ
【図１】
2006106838.tif 000003
【図２】
2006106838.tif 000004
【図３】
2006106838.tif 000005
【図４】
2006106838.tif 000006
【図５】
2006106838.tif 000007
【図６】
2006106838.tif 000008
【図７】
2006106838.tif 000009
【図８】
2006106838.tif 000010
【図９】
2006106838.tif 000011
【図１０】
2006106838.tif 000012
【図１１】
2006106838.tif 000013
【図１２】
2006106838.tif 000014
【図１３】
2006106838.tif 000015
【図１４】
2006106838.tif 000016
【図１５】
2006106838.tif 000017
【図１６】
2006106838.tif 000018
【図１７】
2006106838.tif 000019
【図１８】
2006106838.tif 000020
【図１９】
2006106838.tif 000021
【図２０】
2006106838.tif 000022
【図２１】
2006106838.tif 000023