(57)【要約】【課題】クロストークノイズを防止し、かつ、十分に配線リソースの使用を低減して、チップコストを低減することができる半導体集積回路、半導体集積回路のレイアウト方法、及び半導体集積回路のレイアウトプログラムを提供する。【解決手段】シールド配線２４及びＮＡＮＤ回路１４１〜１４３により通常動作時の信号レベルが一定に保たれるスキャンパス２６１〜２６３の一方がクロックパス２２に隣接するように、クロックパス２２の両側に配線されている。【選択図】図１
2010087244.tif 000002
【特許請求の範囲】
【請求項１】
スキャンテスト信号を供給するスキャンテスト信号線と、
データ出力端子と次段のスキャンデータ入力端子とが前記スキャンテスト信号線で接続され、クロック信号入力端子から入力されるクロック信号に応じて動作する複数のフリップフロップ回路と、
前記フリップフロップ回路のデータ出力端子と次段の前記フリップフロップ回路のスキャンデータ入力端子とを接続する前記スキャンテスト信号線の間に配置された、前記スキャンテスト信号線の信号レベルを一定に保つための論理回路と、
前記フリップフロップ回路を動作させるためのクロック信号を供給するクロック信号線と、
前記クロック信号を、他の信号線の信号レベルの変化による影響からシールドするためのシールド手段と、
を備え、
前記シールド手段は、前記論理回路の出力端子に接続されたスキャンテスト信号線及びシールド配線を含み、前記クロック信号線に隣接されるように配線された、半導体集積回路。
【請求項２】
スキャンテスト信号を供給するスキャンテスト信号線と、
データ出力端子と次段のスキャンデータ入力端子とが前記スキャンテスト信号線で接続され、クロック信号入力端子から入力されるクロック信号に応じて動作する複数のフリップフロップ回路と、
前記フリップフロップ回路のデータ出力端子と次段の前記フリップフロップ回路のスキャンデータ入力端子とを接続する前記スキャンテスト信号線の間に配置された、前記スキャンテスト信号線の信号レベルを一定に保つための論理回路と、
前記フリップフロップ回路を動作させるためのクロック信号を供給するクロック信号線と、
前記クロック信号を、他の信号線の信号レベルの変化による影響からシールドするために前記クロック信号線の周囲に予め設けられたシールド領域と、
を備え、
前記論理回路の出力端子に接続された前記スキャンテスト信号線が前記シールド領域内に配線された、半導体集積回路。
【請求項３】
複数のフリップフロップ回路と、
前記複数のフリップフロップ回路のそれぞれに接続され、周囲にシールド配線設定領域を有するクロック信号線と、
前記複数のフリップフロップ回路を論理回路を介してそれぞれ接続する複数のスキャンテスト信号線であって、前記シールド配線設定領域を通過すると共に該シールド配線設定領域内で前記クロック信号線に沿って配線された部分を有する当該スキャンテスト信号線と、
前記シールド配線設定領域内の前記スキャンテスト信号線が前記クロック信号に沿って配線された部分を除く該シールド配線設定領域に該クロック信号線に沿って配線されたシールド配線と、
を有する半導体集積回路。
【請求項４】
前記スキャンテスト信号線の長さが、前記クロック信号線の長さに基づいて予め定められた適正な長さ以下である、請求項１から請求項３のいずれか１項に記載の半導体集積回路。
【請求項５】
前記論理回路は、ＮＡＮＤ回路、ＡＮＤ回路、ＮＯＲ回路、及びＯＲ回路のいずれかであり、一方のデータ入力端子から前記スキャンテスト信号が入力され、他方のデータ入力端子から前記スキャンテスト信号の信号レベルを一定に保つための制御信号が入力される、請求項１から請求項４のいずれか１項に記載の半導体集積回路。
【請求項６】
ネットリストを取得し、取得した前記ネットリストに基づいて、データ出力端子と次段のスキャンデータ入力端子とがスキャンテスト信号を供給するスキャンテスト信号線で接続され、クロック信号入力端子から入力されるクロック信号に応じて動作する複数のフリップフロップ回路の配置を設定する工程と、
前記ネットリストに基づいて前記フリップフロップ回路のデータ出力端子と次段の前記フリップフロップ回路のスキャンデータ入力端子との間に、前記スキャンテスト信号線の信号レベルを一定に保つための論理回路の配置を設定し、前記フリップフロップ回路を動作させるためのクロック信号を供給するクロック信号線の配線を設定する工程と、
前記論理回路の出力端子に接続されたスキャンテスト信号線及びシールド配線を含み、前記クロック信号線に隣接するように、前記クロック信号を他の信号線の信号レベルの変化による影響からシールドするためのシールド手段を設定する工程と、
を備えた半導体集積回路のレイアウト方法。
【請求項７】
ネットリストを取得し、取得した前記ネットリストに基づいて、データ出力端子と次段のスキャンデータ入力端子とがスキャンテスト信号を供給するスキャンテスト信号線で接続され、クロック信号入力端子から入力されるクロック信号に応じて動作する複数のフリップフロップ回路の配置を設定する工程と、
前記ネットリストに基づいて前記フリップフロップ回路のデータ出力端子と次段の前記フリップフロップ回路のスキャンデータ入力端子との間に、前記スキャンテスト信号線の信号レベルを一定に保つための論理回路の配置を設定し、前記フリップフロップ回路を動作させるためのクロック信号を供給するクロック信号線の配線を設定する工程と、
前記クロック信号を、他の信号線の信号レベルの変化による影響からシールドするためのシールド領域を前記クロック信号線の周囲に設定する工程と、
前記シールド領域内に、前記論理回路の出力端子と前記フリップフロップ回路のデータ入力端子との間に配線される前記スキャンテスト信号線の配線を設定する工程と、
を備えた半導体集積回路のレイアウト方法。
【請求項８】
前記スキャンテスト信号を供給するスキャンテスト信号線の全長が前記クロック信号線の長さに基づいて予め定められた適正な長さ以下になるように配線を設定する工程をさらに備えた、請求項６または請求項７に記載の半導体集積回路のレイアウト方法。
【請求項９】
ネットリストを取得し、取得した前記ネットリストに基づいて、データ出力端子と次段のスキャンデータ入力端子とがスキャンテスト信号を供給するスキャンテスト信号線で接続され、クロック信号入力端子から入力されるクロック信号に応じて動作する複数のフリップフロップ回路の配置を設定するステップと、
前記ネットリストに基づいて前記フリップフロップ回路のデータ出力端子と次段の前記フリップフロップ回路のスキャンデータ入力端子との間に、前記スキャンテスト信号線の信号レベルを一定に保つための論理回路の配置を設定し、前記フリップフロップ回路を動作させるためのクロック信号を供給するクロック信号線の配線を設定するステップと、
前記論理回路の出力端子に接続されたスキャンテスト信号線及びシールド配線を含み、前記クロック信号線に隣接するように、前記クロック信号を他の信号線の信号レベルの変化による影響からシールドするためのシールド手段を設定するステップと、
をコンピュータに実行させるための半導体集積回路のレイアウトプログラム。
【請求項１０】
ネットリストを取得し、取得した前記ネットリストに基づいて、データ出力端子と次段のスキャンデータ入力端子とがスキャンテスト信号を供給するスキャンテスト信号線で接続され、クロック信号入力端子から入力されるクロック信号に応じて動作する複数のフリップフロップ回路の配置を設定するステップと、
前記ネットリストに基づいて前記フリップフロップ回路のデータ出力端子と次段の前記フリップフロップ回路のスキャンデータ入力端子との間に、前記スキャンテスト信号線の信号レベルを一定に保つための論理回路の配置を設定し、前記フリップフロップ回路を動作させるためのクロック信号を供給するクロック信号線の配線を設定するステップと、
前記クロック信号を、他の信号線の信号レベルの変化による影響からシールドするためのシールド領域を前記クロック信号線の周囲に設定するステップと、
前記シールド領域内に、前記論理回路の出力端子と前記フリップフロップ回路のデータ入力端子との間に配線される前記スキャンテスト信号線の配線を設定するステップと、
をコンピュータに実行させるための半導体集積回路のレイアウトプログラム。
【請求項１１】
前記スキャンテスト信号を供給するスキャンテスト信号線の全長が前記クロック信号線の長さに基づいて予め定められた適正な長さ以下になるように配線を設定するステップをさらに備えた、請求項９または請求項１０に記載の半導体集積回路のレイアウトプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路、半導体集積回路のレイアウト方法、及び半導体集積回路のレイアウトプログラムに関する。
【背景技術】
【０００２】
一般に、複数のフリップフロップ回路をシフトレジスタとして用いる半導体集積回路において、図７に示すように、通常動作時にスキャンパス信号の出力レベルを一定にすることにより、スキャンパス信号の出力レベルが変化することに伴う消費電力を抑制するようレイアウトされた半導体集積回路がある。
【０００３】
また、半導体集積回路の微細化の影響により、例えば、クロックパス等のように信号レベルが高速変化する配線の影響を受けやすくなり、隣接する配線同士でノイズを拾ってしまう、いわゆるクロストークノイズ等のノイズが発生しやすくなる。このようなノイズを防止するため、図７に示すように、信号レベルが変化しないシールド配線でクロックパスをシールドすることが行われている。
【０００４】
しかしながら、図７に一例を示した半導体集積回路４０では、シールド配線２４等、通常動作時に動作しない配線を多数レイアウトするため、使用する配線リソース（配線可能領域）が増加し、これにより半導体集積回路チップのチップコストが増大したりする。
【０００５】
また、図８に示すように、クロックパスの周囲に他の配線を配置しないシールド領域を設けることで、クロックパスをシールドすることが行われている。しかしながら、図８に一例を示した半導体集積回路４１では、シールド領域３０を設けたことにより配線リソース量が低減したり、半導体集積回路チップの面積が増加したり、チップコストが増大したりする。
【０００６】
シールド配線を設けずに配線間の電位差に依存した浮遊容量の発生を防止するために、回路ブロックにクロック信号を供給するクロック配線の両側をスキャンクロック配線またはリセット配線で挟んで配置する技術が知られている（例えば、特許文献１参照）。また、クロストークノイズを防止するために、クロック信号線をスキャン信号線とＧＮＤ線またはＶＤＤ線で取り囲むように配線する技術が知られている（例えば、特許文献２参照）。また、クロックスキューを低減するために、クロック信号配線の両側に平行してスキャン信号用テスト配線を配置する技術が知られている（例えば、特許文献３参照）。
【特許文献１】特開平１０−２４２２８２号公報
【特許文献２】特開２００１−２４７１７２号公報
【特許文献３】特開平１１−２７４３０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記の技術では、シールド配線の代わりに用いられる配線が長くなる等により、信号の遅延やチップコストの低減を十分に行えない場合がある。また、特許文献３の技術のように、通常時に動作する信号線を用いてシールドすることにより、クロックパスとシールドに用いる配線とが影響を与えあうことにより、誤動作を招くおそれがある。
【０００８】
本発明は、上記問題点を解消するためになされたもので、クロストークノイズを防止し、かつ、十分に配線リソースの使用を低減して、チップコストを低減することができる半導体集積回路、半導体集積回路のレイアウト方法、及び半導体集積回路のレイアウトプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は上述の課題に鑑みてなされたものである。上記課題を解決するにあたり本発明の半導体集積回路は例えば以下の特徴を有している。すなわち、スキャンテスト信号を供給するスキャンテスト信号線と、データ出力端子と次段のスキャンデータ入力端子とが前記スキャンテスト信号線で接続され、クロック信号入力端子から入力されるクロック信号に応じて動作する複数のフリップフロップ回路と、前記フリップフロップ回路のデータ出力端子と次段の前記フリップフロップ回路のスキャンデータ入力端子とを接続する前記スキャンテスト信号線の間に配置された、前記スキャンテスト信号線の信号レベルを一定に保つための論理回路と、前記フリップフロップ回路を動作させるためのクロック信号を供給するクロック信号線と、前記クロック信号を、他の信号線の信号レベルの変化による影響からシールドするためのシールド配線と、を備え、前記シールド手段は、前記論理回路の出力端子に接続されたスキャンテスト信号線及びシールド配線を含み、前記クロック信号線に隣接されるように配線されたことを特徴としている。
【００１０】
また、本発明の半導体集積回路のレイアウト方法としては、例えば以下の特徴を有している。すなわち、ネットリストを取得し、取得した前記ネットリストに基づいて、データ出力端子と次段のスキャンデータ入力端子とがスキャンテスト信号を供給するスキャンテスト信号線で接続され、クロック信号入力端子から入力されるクロック信号に応じて動作する複数のフリップフロップ回路の配置を設定する工程と、前記ネットリストに基づいて前記フリップフロップ回路のデータ出力端子と次段の前記フリップフロップ回路のスキャンデータ入力端子との間に、前記スキャンテスト信号線の信号レベルを一定に保つための論理回路の配置を設定し、前記フリップフロップ回路を動作させるためのクロック信号を供給するクロック信号線の配線を設定する工程と、前記論理回路の出力端子に接続されたスキャンテスト信号線及びシールド配線を含み、前記クロック信号線に隣接するように、前記クロック信号を他の信号線の信号レベルの変化による影響からシールドするためのシールド手段を設定する工程とを備えることを特徴としている。
【００１１】
また本発明の半導体集積回路のレイアウトプログラムとしては、例えば以下の特徴を有している。すなわち、ネットリストを取得し、取得した前記ネットリストに基づいて、データ出力端子と次段のスキャンデータ入力端子とがスキャンテスト信号を供給するスキャンテスト信号線で接続され、クロック信号入力端子から入力されるクロック信号に応じて動作する複数のフリップフロップ回路の配置を設定するステップと、前記ネットリストに基づいて前記フリップフロップ回路のデータ出力端子と次段の前記フリップフロップ回路のスキャンデータ入力端子との間に、前記スキャンテスト信号線の信号レベルを一定に保つための論理回路の配置を設定し、前記フリップフロップ回路を動作させるためのクロック信号を供給するクロック信号線の配線を設定するステップと、前記論理回路の出力端子に接続されたスキャンテスト信号線及びシールド配線を含み、前記クロック信号線に隣接するように、前記クロック信号を他の信号線の信号レベルの変化による影響からシールドするためのシールド手段を設定するステップと、をコンピュータに実行させることを特徴としている。
【発明の効果】
【００１２】
本発明によれば、クロストークノイズを防止し、かつ、十分に配線リソースの使用を低減して、チップコストを低減することができる半導体集積回路、半導体集積回路のレイアウト方法、及び半導体集積回路のレイアウトプログラムを提供することができる、という効果が得られる。
【発明を実施するための最良の形態】
【００１３】
［第１の実施の形態］
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１４】
（半導体集積回路）
まず、本実施の形態の半導体集積回路について詳細に説明する。図１は、本実施の形態の半導体集積回路の概略構成の一例を示す回路図である。なお、本実施の形態の半導体集積回路１０は多層構造を有しているが、図１は、平面図を示している。
【００１５】
本実施の形態の半導体集積回路（半導体集積回路チップ）１０は、４個のフリップフロップ回路１２（１２１〜１２４）と、４個のＮＡＮＤ回路１４（１４１〜１４４）と、２個の組合わせ回路１６（１６１、１６２）と、クロックドライバ回路１８と、が配置されている。
【００１６】
本実施の形態の半導体集積回路１０では、システム信号線２０１は、システム信号ＩＮからフリップフロップ回路１２１のデータ入力端子Ｄ及びデータ出力端子Ｑ、組合わせ回路１６１、フリップフロップ回路１２４のデータ入力端子Ｄ及びデータ出力端子Ｑを経由した後、システム信号ＯＵＴに配線されており、組合わせ回路１６１を通常動作させるためのシステム信号がシステム信号ＩＮから供給されシステム信号ＯＵＴから半導体集積回路１０の外部に出力される。
【００１７】
同様に、システム信号線２０２は、システム信号ＩＮからフリップフロップ回路１２２のデータ入力端子Ｄ及びデータ出力端子Ｑ、組合わせ回路１６２、フリップフロップ回路１２３のデータ入力端子Ｄ及びデータ出力端子Ｑを経由した後、システム信号ＯＵＴに配線されており、組合わせ回路１６２を通常動作させるためのシステム信号がシステム信号ＩＮから供給されシステム信号ＯＵＴから半導体集積回路１０の外部に出力される。
【００１８】
スキャンパス２６は、スキャンテスト用のスキャンテスト信号を供給するものであり、スキャン信号ＩＮからフリップフロップ回路１２１のスキャンデータ入力端子ＳＤに配線されている。フリップフロップ回路１２１のデータ出力端子ＱからＮＡＮＤ回路１４１で分岐されたスキャンパス出力配線（スキャンパス配線）２６１は、フリップフロップ回路１２２のスキャンデータ入力端子ＳＤに接続されている。同様に、フリップフロップ回路１２２のデータ出力端子ＱからＮＡＮＤ回路１４２で分岐されたスキャンパス出力配線（スキャンパス配線）２６２は、フリップフロップ回路１２３のスキャンデータ入力端子ＳＤに接続されている。フリップフロップ回路１２３のデータ出力端子ＱからＮＡＮＤ回路１４３で分岐されたスキャンパス出力配線（スキャンパス配線）２６３は、フリップフロップ回路１２４のスキャンデータ入力端子ＳＤに接続されている。フリップフロップ回路１２４のデータ出力端子ＱからＮＡＮＤ回路１４４で分岐されたスキャンパス出力配線（スキャンパス配線）２６５により、スキャン信号ＯＵＴからスキャン信号が半導体集積回路１０の外部に出力される。
【００１９】
ＮＡＮＤ回路１４１〜１４４は、通常動作時にスキャンパス信号の信号レベルを、例えば、ＧＮＤレベルやＶＤＤレベル等の一定のレベルに保つためのものであり、一方の入力端子にはフリップフロップ回路１２１〜１２４のデータ出力端子から出力されたスキャン信号が入力され、他方の入力端子には通常動作時にスキャン信号を一定のレベルに保つための制御信号が入力される。
【００２０】
クロックパス２２は、クロック端子１８からフリップフロップ回路１２１〜１２４の各々のクロック信号入力端子ＣＫに接続されるように配線されており、フリップフロップ回路１２１〜１２４を動作させるためにクロック信号ＩＮから入力するクロック信号を供給する。
【００２１】
シールド配線２４は、クロックパス２２に発生するクロストークノイズを防止するものであり、複数配線されている。また、スキャンパス２６１〜２６３に供給されるスキャンパス信号は、通常動作時に信号レベルが変化しないため、クロックパス２２に供給されるクロック信号に影響を与えることなく、クロック信号をノイズの影響からシールドすることができる。
【００２２】
本実施の形態の半導体集積回路１０は、図１に示すように、シールド配線２４及びスキャンパス２６１〜２６３の一方がクロックパス２２に隣接するように、クロックパス２２の両側に配線されている。シールド配線２４及びスキャンパス２６１〜２６３と、クロックパス２２との距離は、クロックパス同士等や他の信号線に供給される信号線の信号レベルの変化による影響、いわゆるクロストークノイズ等が発生しない距離等により定められている。なお、ノイズを防止できる距離内であれば、シールド配線２４とクロックパス２２との距離と、スキャンパス２６１〜２６３とクロックパス２２との距離は同じであってもよいし、異なっていてもよい。これにより、クロックパス２２はシールド配線２４または、スキャンパス２６１〜２６３のいずれかによりノイズからシールドされた状態になっている。
【００２３】
スキャンパス２６１〜２６３がクロックパス２２に隣接する部分等は、多い（長い）方がシールド配線２４を低減することができるため、好ましいが、データの遅延や、配線の引き回しによる煩雑化、チップコストの増加等を考慮し、スキャンパス２６０〜２６４の全体の長さがクロックパス２２全体の長さに対して適正な長さとなるようにすることが好ましい。
【００２４】
なお、スキャン動作時は、スキャンパス２６１〜２６３に供給されるスキャンパス信号の信号レベルが変化するが、スキャン動作で使用されるクロックパス２２は、遅い速度で動作させるため、隣接する配線同士でクロストークノイズの影響を受けない。
【００２５】
このように、本実施の形態の半導体集積回路１０は、シールド配線２４及びＮＡＮＤ回路１４１〜１４３により通常動作時の信号レベルが一定に保たれるスキャンパス２６１〜２６３を含むシールド手段がクロックパス２２に隣接するように、クロックパス２２の両側に配線されている。これにより、クロックパス２２に供給されるクロック信号に発生するクロストークノイズを防止することができる。
【００２６】
また、シールド手段は、シールド配線２４及びスキャンパス２６１〜２６３を含み、クロックパス２２に隣接するので、シールド配線２４のみ、または、スキャンパス２６１〜２６３の一方のみをクロックパス２２に隣接させるよりも配線リソース（配線可能領域）の使用を抑制し、チップコストを低減することができる。
【００２７】
なお、本実施の形態の半導体集積回路１０では、ＮＡＮＤ回路１４１〜１４３によりスキャンパス２６１〜２６３に供給されるスキャン信号の通常動作時の信号レベルを一定に保っているがこれに限らず、ＮＡＮＤ回路以外の、ＡＮＤ回路、ＮＯＲ回路、及びＯＲ回路等、他の論理回路を用いてもよい。他の論理回路を用いる場合も本実施の形態と同様に、一方の入力端子にはフリップフロップ回路１２１〜１２４のデータ出力端子から出力されたスキャン信号が入力され、他方の入力端子にはスキャン信号を一定に保つための制御信号が入力されるようにすればよい。
【００２８】
また、本実施の形態の半導体集積回路の概略構成のその他の一例の回路図を図２に示す。なお、本実施の形態の半導体集積回路１０Ａは半導体集積回路１０と略同様の構成であるため、異なる部分のみここでは説明する。
【００２９】
半導体集積回路１０Ａは、シールド配線設定領域２５が設けられている。シールド配線設定領域２５は、シールド配線２４の配線を設定するために設けられた領域である。シールド配線設定領域２５の大きさ（クロックパス２２からの距離）は、シールド配線により、クロックパス同士等や他の信号線に供給される信号線の信号レベルの変化による影響、いわゆるクロストークノイズ等を防止できる距離に基づいて定められている。
【００３０】
スキャンパス２６１〜２６３は、シールド配線領域２５内でクロックパス２２に沿って配線された部分を有している。
また、シールド配線領域２５内のスキャンパス２６１〜２６３が配線されていない領域に、クロックパス２２に沿ってシールド配線２４が配線されている。
【００３１】
（半導体集積回路のレイアウト方法）
まず、参考のため従来の一般的な半導体集積回路（図７の半導体集積回路４０）のレイアウト方法の流れについて図９を参照して説明する。図９は、一般的なレイアウトフローの一例を示すフローチャートである。レイアウトフローが開始されると、まずステップ３００では、ネットリストを取得し、取得したネットリストに基づいて、次のステップ３０２ではフリップフロップ回路を含む半導体セルの配置を設定し、次のステップ３０４ではクロックパス２２の配線及びシールド配線２４の配線を設定し、次のステップ３０６ではクロックパス２２及びシールド配線２４以外のその他の信号線の配線を設定する。次のステップ３０８でレイアウトを出力することにより、半導体集積回路のレイアウトが完成する。
【００３２】
次に、本実施の形態の半導体集積回路１０の回路構成のレイアウト方法について詳細に説明する。図３は、本実施の形態の半導体集積回路１０の回路構成をレイアウトするためのレイアウト装置の概略構成の一例を示す構成図である。
【００３３】
本実施の形態のレイアウト装置５０は、ＣＰＵ５２、ＲＯＭ５４、ＲＡＭ５６、ＨＤＤ５８、ネットリスト記憶部６０、及びＧＵＩ／Ｆ（グラフィックユーザインターフェイス）６２を備えて構成されている。このようなレイアウト装置５０の具体的例としては、コンピュータ等が挙げられる。
【００３４】
ＣＰＵ５２は、レイアウト装置５０の全体を制御するものであり、詳細を後述するレイアウト処理が実行される。レイアウト処理のレイアウトプログラム６６は、記録媒体としてのＲＯＭ５４に記憶されている。なお、レイアウトプログラム６６は、ＣＤ−ＲＯＭ（図示省略）やＤＶＤ−ＲＯＭ（図示省略）、リムーバブルディスク（図示省略）等の記録媒体に記録しておき、ＨＤＤ５８等にインストールし、ＣＰＵ５２により読込まれて実行されるようにしてもよい。ＲＯＭ５４には、レイアウトプログラム６６等やパラメータ等が記憶されており、ＲＡＭ５６は、ＣＰＵ５２によるレイアウトプログラム６６等の実行時におけるワークエリア等として用いられる。
【００３５】
ネットリスト記憶部６０は、半導体回路セルの配置や、論理的な接続順等が定められている半導体集積回路１０のレイアウトに関するネットリストが記憶されている。なお、本実施の形態では、ネットリストは、予めユーザ等により入力され、ネット記憶部６０に記憶される。
【００３６】
ＧＵＩ／Ｆ６２は、ユーザがネットリストや半導体集積回路１０のレイアウトに関する指示等を入力したり、ユーザに対して、レイアウトに関する情報や、完成した半導体集積回路１０を出力したりするためのものである。具体的例としては、タッチパネル、ディスプレイ、マウス、及びキーボードが挙げられる。また、プリンタ等の出力装置により出力するようにしてもよい。
【００３７】
なお、ＣＰＵ５２、ＲＯＭ５４、ＲＡＭ５６、ＨＤＤ５８、ネットリスト記憶部６０、及びＧＵＩ／Ｆ６２は、コントロールバスやデータバス等のバス６４を介して互いに情報等の授受が可能に接続されている。
【００３８】
次に、図４を参照して本実施の形態のレイアウト処理（レイアウト方法）を詳細に説明する。図４は、半導体集積回路のレイアウト処理の処理フローの一例を示すフローチャートである。
【００３９】
ステップ１００は、ネットリスト取得ステップであり、ネットリスト記憶部６０からネットリストを取得する。
【００４０】
ステップ１０２は、セル配置ステップであり、取得したネットリストに基づいてフリップフロップ回路１２１〜１２４及びＮＡＮＤ回路１４１〜１４４を含む半導体セルを配置する。
【００４１】
ステップ１０４は、クロックパス及びシールド配線の配線ステップであり、クロックパス２２及びシールド配線２４を配線する。なお、このときシールド配線２４は、クロックパス２２全域をシールドするように配線を設定する。
【００４２】
ステップ１０６は、スキャンパス出力選択ステップであり、スキャンパス出力を選択する。ネットリストにレイアウトされた配線からスキャンパス出力を選択する場合は、フリップフロップ回路１２１〜１２４のデータ出力端子Ｑ（ＮＡＮＤ回路１４１〜１４４の出力端子）、通常動作時の制御信号、及びフリップフロップ回路１２１〜１２４のスキャンデータ入力端子ＳＤを辿ることで見つけることができる。本実施の形態では具体的には、フリップフロップ回路１２１のデータ出力端子Ｑ（ＮＡＮＤ回路１４１の出力端子）、制御信号及びフリップフロップ回路１２２のスキャンデータ入力端子を辿ることで、フリップフロップ回路１２１から組み合わせ回路１６１に接続される配線ではなく、スキャンパス２６１（スキャンパス２６１のレイアウト予定部）を選択することができる。同様にして、スキャンパス２６２及びスキャンパス２６３が選択される。
【００４３】
ステップ１０８は、シールド配線設定領域の配線リソース量算出ステップであり、シールド配線全体の配線リソース量を算出する。シールド配線２４の設定位置に基づいてスキャンパス２６１〜２６３の配線リソースの定義を行い、定義した配線リソースの配線リソース量を算出する。すなわち、本実施の形態では、シールド配線２４に替わりスキャンパス２６１〜２６３がクロックパス２２を可能な限りシールドするように配線可能領域を定義し、配線可能領域におけるスキャンパス２６１〜２６３の配線長（配線リソース量）を算出する。
【００４４】
なお、図２に示した半導体集積回路１０Ａのレイアウトを行う場合は、シールド配線可能領域として、シールド配線設定領域２５を定義すれば良い。
【００４５】
ステップ１１０は、シールド配線削除ステップであり、シールド配線２４の設定を半導体集積回路１０のレイアウトから削除する。なお、このステップ１１０はレイアウト作成プログラムによって自動的に行われる場合もある。
【００４６】
ステップ１１２は、スキャンパス出力配線量見積もりステップであり、再度検討したスキャンパス出力の総配線量（配線予定量）の見積もりを算出する。すなわち、ネットリスト及び配線リソースに基づいてスキャンパス２６１〜２６３を配線した場合のそれらの合計の配線量を算出する。
【００４７】
そして、次のステップ１１４では、スキャンパス出力配線量比較ステップであり、算出されたスキャンパス配線量がシールド配線の配線リソース量と比較し、所定量以下であるか否か判断する。所定量は、データの遅延や、配線の引き回しによる煩雑化、チップコストの増加等を考慮して予め定めておく値であり、クロックパス２２全体の長さとの比率を定めておく。本実施の形態では、クロックパス２２のシールド配線２４から定義した配線リソースの配線リソース量よりも大きすぎるか否かを判断するための所定量が定められており、当該所定量以下で有るか否か判断する。
【００４８】
具体的には、見積もったスキャンパス２６１〜２６３の配線量（総配線長）が配線リソース量の１．２倍以下であるか否かを判断する。なお、本実施の形態では１．２倍以下としているがこれに限らず、上記のように予め定めておいた値ならよい。好ましくは、シールド配線２４の配線量（総配線長）よりやや大きな値となるような比率がよい。
【００４９】
スキャンパス２６１〜２６３の配線量が所定量を越える場合は否定されて、スキャンリオーダステップであるステップ１１６へ進み、スキャンリオーダ処理を行う。スキャンリオーダ処理では、例えば、フリップフロップ回路１２１〜１２４の接続順を変えたり、例えば、スキャン出力の経路を変えたりする等、スキャンパス２６１〜２６３の配線レイアウトを変化させ、ステップ１１２に戻る。すなわち、スキャンパス２６１〜２６３の配線量が所定量以下になるまで（適正な長さになるまで）、ステップ１１２〜１１６の処理を繰返す。
【００５０】
一方、所定量以下の場合はスキャンパス２６１〜２６３の配線量が適正量であるため、肯定されて、スキャンパス出力の配線ステップであるステップ１１８へ進む。
【００５１】
ステップ１１８では、条件を満たしたレイアウトによる配線ステップであり、スキャンパス２６１〜２６３の配線をステップ１１４の条件を満たしたレイアウトに設定する。
【００５２】
ステップ１２０は、シールド配線の配線ステップであり、ステップ１０４でシールド配線２４を設定した箇所でスキャンパス２６１〜２６３が配線されていない部分にシールド配線２４を配線するように設定する。
【００５３】
ステップ１２２は、そのほかの配線の配線ステップであり、未配線のその他の信号線を配線する。
【００５４】
ステップ１２４は、レイアウト出力ステップであり、各設定に基づいたレイアウトをＧＵＩ／Ｆ６２により出力することにより、半導体集積回路１０のレイアウトが完成し、かかるレイアウトに基づいて半導体集積回路が形成される。
【００５５】
以上説明したように、本実施の形態の半導体集積回路のレイアウト方法（図４のレイアウト処理フローの実行）では、シールド配線２４の設定領域をスキャンパス２６１〜２６３の配線リソースとして定義するため、シールド配線２４及びＮＡＮＤ回路１４１〜１４３により通常動作時の信号レベルが一定に保たれるスキャンパス２６１〜２６３の一方がクロックパス２２に隣接するように、クロックパス２２の両側にレイアウトすることができる。これによりレイアウトされた半導体集積回路１０は、クロックパス２２に供給されるクロック信号に発生するクロストークノイズを防止することができると共に、配線リソースの使用を抑制し、チップコストを低減することができる。
【００５６】
［第２の実施の形態］
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００５７】
（半導体集積回路）
まず、本実施の形態の半導体集積回路について詳細に説明する。図５は、本実施の形態に係る半導体集積回路の概略構成の一例を示す回路図である。なお、本実施の形態の半導体集積回路１１は、第１の実施の形態の半導体集積回路１０と略同様の構成及び動作であるので、同一部分には、同一符号を付して詳細な説明は省略する。
【００５８】
本実施の形態の半導体集積回路１１は、第１の実施の形態の半導体集積回路１０におけるシールド配線２４の代わりに、シールド領域３０が設けられている。
【００５９】
シールド領域３０は、クロックパス２２に発生するクロストークノイズを防止するためにクロックパス２２の周囲に設けられた領域である。すなわち、他の信号線に供給される信号レベルの変化による影響を防止するために、通常時に信号レベルが変化する他の信号線の配線を禁止する領域である。領域の大きさ（クロックパス２２からの距離）は、クロックパス同士等や他の信号線に供給される信号線の信号レベルの変化による影響、いわゆるクロストークノイズ等が発生しない距離等により定められている。
【００６０】
本実施の形態では、図５に示すように、スキャンパス２６１〜２６３がシールド領域３０の内部に、クロックパス２２と隣接するように配線されている。
【００６１】
このように、本実施の形態の半導体集積回路１１は、クロックパス２２の周囲にシールド領域３０が設けられており、シールド領域３０の内部にクロックパス２２に隣接するように通常動作時の信号レベルが一定に保たれるスキャンパス２６１〜２６３が配線されている。これにより、クロックパス２２に供給されるクロック信号に発生するクロストークノイズを防止することができる。
【００６２】
また、本来、未使用とするはずであった配線リソース（シールド領域３０）にスキャンパス２６１〜２６３を配線することにより、本来使うはずであったシールド領域３０の外部のスキャンパス２６１〜２６３の配線リソースを削減することができる。これにより、配線リソースの使用を抑制し、チップコストを削減することができる。
【００６３】
（半導体集積化回路のレイアウト方法）
本実施の形態の半導体集積回路１１の回路構成のレイアウト方法について詳細に説明する。なお、本実施の形態の半導体集積回路１１の回路構成をレイアウトするためのレイアウト装置は、第１の実施の形態のレイアウト装置５０と略同様の構成及び動作であるので、説明を省略する。
【００６４】
図６を参照して本実施の形態のレイアウト処理（レイアウト方法）を詳細に説明する。図６は、半導体集積回路のレイアウト処理の処理フローの一例を示すフローチャートである。なお、第１の実施の形態の半導体集積回路のレイアウト処理の処理フロー（図４）と同様の処理を行うステップについては、詳細な説明を省略する。
【００６５】
ステップ２００はネットリスト取得ステップであり、ステップ２０２はセル配置ステップである。ステップ２００は図４のステップ１００に、ステップ２０２はステップ１０２に対応するステップである。
【００６６】
ステップ２０４は、シールド領域設定ステップであり、クロックパス２２の配線を設定しクロックパス２２の周囲シールド領域を設定する。本実施の形態では、シールド領域３０を設定する。具体的には、クロックパス２２からの領域範囲がグリッド単位（任意に定められた配線のレイアウト間隔、配線グリッド単位）で定められている。より具体的には、クロックパス２２から２グリッド以内の領域をシールド領域３０として設定する。なお、領域範囲はこれに限らず、上記のように、クロストークノイズ等の発生を防止できる範囲であればよい。
【００６７】
ステップ２０６は、スキャンパス出力選択ステップであり、図４のステップ１０６の処理と同様にしてスキャンパス出力を選択する。
【００６８】
ステップ２０８は、シールド領域の配線リソース量算出ステップであり、シールド配線全体の配線リソース量を算出する。シールド領域３０内のクロック配線２２の両脇をスキャンパス２６１〜２６３の配線リソースとして定義し、定義した配線リソースの配線リソース量を算出する。すなわち、本実施の形態では、シールド領域３０内においてスキャンパス２６１〜２６３がクロックパス２２を可能な限りシールドするように配線可能領域を定義し、配線可能領域におけるスキャンパス２６１〜２６３の配線長（配線リソース量）を算出する。
【００６９】
ステップ２１０、ステップ２１２、及びステップ２１４は、図４のステップ１１２、ステップ１１４、及びステップ１６に対応するステップであり、スキャンパス２６１〜２６３の配線量を適正量にするための処理を行う。
【００７０】
ステップ２１６は、スキャンパス出力の配線ステップであり、スキャンパス２６１〜２６３の配線を設定する。ステップ２１８は、その他の配線の配線ステップであり、未配線のその他の信号線の配線を設定する。ステップ２１６は図４のステップ１１８に、ステップ２１８はステップ１２２に対応するステップである。
【００７１】
ステップ２２０は、レイアウト出力ステップであり、図４のステップ１２４と同様に、各設定に基づいたレイアウトをＧＵＩ／Ｆ６２により出力することにより、半導体集積回路１１のレイアウトが完成し、かかるレイアウトに基づいて半導体集積回路が形成される。
【００７２】
以上説明したように、本実施の形態の半導体集積回路のレイアウト方法（図６のレイアウト処理フローの実行）では、シールド領域３０内のクロック配線２２の両脇をスキャンパス２６１〜２６３の配線リソースとして定義するため、シールド領域３０内に、ＮＡＮＤ回路１４１〜１４３により通常動作時の信号レベルが一定に保たれるスキャンパス２６１〜２６３がクロックパス２２に隣接するように、クロックパス２２の両側にレイアウトすることができる。これによりレイアウトされた半導体集積回路１１は、クロックパス２２に供給されるクロック信号に発生するクロストークノイズを防止することができると共に、配線リソースの使用を抑制し、チップコストを削減することができる。
【図面の簡単な説明】
【００７３】
【図１】本発明の第１の実施の形態に係る半導体集積回路の概略構成の一例を示す回路図である。
【図２】本発明の第１の実施の形態に係る半導体集積回路の概略構成のその他の一例を示す回路図である。
【図３】本発明の第１の実施の形態に係る半導体集積回路のレイアウト装置の概略構成の一例を示す構成図である。
【図４】本発明の第１の実施の形態に係る半導体集積回路のレイアウト処理の処理フローの一例を示すフローチャートである。
【図５】本発明の第２の実施の形態に係る半導体集積回路の概略構成の一例を示す回路図である。
【図６】本発明の第２の実施の形態に係る半導体集積回路のレイアウト処理の処理フローの一例を示すフローチャートである。
【図７】従来のシールド配線を設けた半導体集積回路の概略構成の一例を示す回路図である。
【図８】従来のシールド領域を設けた半導体集積回路の概略構成の一例を示す回路図である。
【図９】従来の半導体集積回路のレイアウト処理の処理フローの一例を示すフローチャートである。
【符号の説明】
【００７４】
１０、１１  半導体集積回路
１２  フリップフロップ回路
１４  ＮＡＮＤ回路
２２  クロックパス
２４  シールド配線
２６、４２  スキャンパス
３０  シールド領域
６６  レイアウトプログラム
【図１】
2010087244.tif 000003
【図２】
2010087244.tif 000004
【図３】
2010087244.tif 000005
【図４】
2010087244.tif 000006
【図５】
2010087244.tif 000007
【図６】
2010087244.tif 000008
【図７】
2010087244.tif 000009
【図８】
2010087244.tif 000010
【図９】
2010087244.tif 000011