(57)【要約】【課題】ブロックの境界部分をシールドすることにより、境界内部と境界外部を完全に分離することで、半導体回路の設計を簡単、高速かつ正確に行うことを課題とする。【解決手段】ブロック内の半導体回路の設計を行う下位階層設計ステップと、ブロックの外部配線の設計を行う上位階層設計ステップとを有する半導体回路設計方法が提供される。上記の下位階層設計ステップ又は上位階層設計ステップは、ブロックの境界部分にシールド配線を施す設計を行うシールド配線設計ステップを含む。【選択図】　　　　図２
2004031389.tif 000002
【特許請求の範囲】
【請求項１】
ブロック内の半導体回路の設計を行う下位階層設計ステップと、
前記ブロックの外部配線の設計を行う上位階層設計ステップとを有し、
前記下位階層設計ステップ又は前記上位階層設計ステップは、前記ブロックの境界部分にシールド配線を施す設計を行うシールド配線設計ステップを含む半導体回路設計方法。
【請求項２】
前記下位階層設計ステップ及び前記上位階層設計ステップは、いずれが先でもよいし、同時でもよい請求項１記載の半導体回路設計方法。
【請求項３】
前記半導体回路は複数の配線層を含み、
前記シールド配線設計ステップは、前記ブロックの各配線層の境界部分にシールド配線を施す設計を行う請求項１記載の半導体回路設計方法。
【請求項４】
前記半導体回路は複数の配線層を含み、
前記シールド配線設計ステップは、前記ブロック内の最上配線層又はその上の配線層に前記ブロックを覆うようにシールド配線を施す設計を行う請求項１記載の半導体回路設計方法。
【請求項５】
前記下位階層設計ステップ及び前記上位階層設計ステップは、それぞれ、前記ブロックの境界部分のシールド配線を基に抵抗成分及び容量成分を抽出するステップと、前記抵抗成分及び容量成分を基にタイミング検証を行うステップを有する請求項１記載の半導体回路設計方法。
【請求項６】
前記下位階層設計ステップ及び前記上位階層設計ステップは、それぞれ、前記ブロックの境界部分のシールド配線を基にクロストークノイズ検証を行うステップを有する請求項１記載の半導体回路設計方法。
【請求項７】
ブロック内の半導体回路の設計を行う下位階層設計部と、
前記ブロックの外部配線の設計を行う上位階層設計部とを有し、
前記下位階層設計部又は前記上位階層設計部は、前記ブロックの境界部分にシールド配線を施す設計を行うシールド配線設計部を含む半導体回路設計装置。
【請求項８】
ブロック内の半導体回路の設計を行う下位階層設計手順と、
前記ブロックの外部配線の設計を行う上位階層設計手順とをコンピュータに実行させるためのプログラムであって、
前記下位階層設計手順又は前記上位階層設計手順は、前記ブロックの境界部分にシールド配線を施す設計を行うシールド配線設計手順を含むプログラム。
【請求項９】
複数の配線層を含む半導体回路のブロックと、
前記ブロックの各配線層の境界部分に設けられるシールド配線と、
前記ブロックの内側と外側を結ぶ外部配線と、
前記外部配線を通過させるために前記シール配線に設けられる孔と
を有する半導体装置。
【請求項１０】
複数の配線層を含む半導体回路のブロックと、
前記ブロックの最上配線層に電源電位配線及び基準電位配線が交互に設けられるシールド配線と、
前記電源電位配線及び前記基準電位配線の間に設けられる絶縁部と
を有する半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体回路の設計技術及び半導体装置に関する。
【０００２】
【従来の技術】
ＬＳＩ（Ｌａｒｇｅ　Ｓｃａｌｅ　Ｉｎｔｅｇｒａｔｉｏｎ）の高集積化及び大規模化が進むに従い、半導体回路全体を一括して処理するフラットなレイアウト設計は困難になっている。このため、ＬＳＩ内部を機能等によって分割したブロックを下位階層に作り、そのブロック毎にレイアウトを行う設計方法が適用されるようになった。この階層レイアウトにより大規模なデータも処理可能となったが、一方でブロックの境界を挟んだ外部の影響を考慮する必要が生じてきた。
【０００３】
図１２は、ブロック１２００の内側の配線１２０２及び外側の配線１２０３を示す。配線１２０６は、ブロックの外部と内部を接続するための配線である。ブロック１２００の境界には、物理的なパターンは存在しない。内部配線１２０２と外部配線１２０３との間には、寄生の配線容量（クロスカップリング容量）１２０４が存在する。下位階層の設計では、ブロック１２００内部の配線１２０２の設計を行う。上位階層の設計では、ブロック１２００外部の配線１２０３の設計を行う。下位階層の設計を先に行う場合には、外部配線１２０３の存在が分かっていないので、配線容量１２０４を算出することが困難である。逆に、上位階層の設計を先に行う場合には、内部配線１２０２の存在が分かっていないので、配線容量１２０４を算出することが困難である。また、内部配線１２０２及び外部配線１２０３間のクロストークノイズの影響を算出することも困難である。
【０００４】
図１３（Ａ）は、ブロック１３００の内側の配線１３０２及び外側の配線１３０１を示す半導体回路の上面図であり、図１３（Ｂ）は図１３（Ａ）のＩＩ−ＩＩ線に沿った断面図である。半導体基板１３１１上にブロック１３００が設けられる。外部配線１３０１は、ブロック１３００の上を通過する。外部配線１３０１と内部配線１３０２との間には、寄生の配線容量１３１２が存在する。この場合も、配線容量１３１２を算出することが困難である。また、外部配線１３０１及び内部配線１３０２間のクロストークノイズの影響を算出することも困難である。
【０００５】
上記の場合、レイアウト設計では、以下の方法をとることが考えられる。
（１）ブロック内部回路が上位階層の影響を受けにくくなるように、ブロックの境界の内側に配線を行わない領域を準備する。
（２）下位階層ブロックのデータの中からブロックの境界の内側特定範囲内にある配置及び配線情報を抽出し、上位階層において容量値計算及びクロストークノイズ検証を行う。
（３）設計ルールにより、ブロックの上を通過する配線を使用することを禁止する。
【０００６】
しかし、テクノロジの微細化が進むにつれて、以下の問題が生じる。
（１）配置及び配線処理で使用できなくなる領域が増大する。
（２）抽出しなければならないデータ量が増大する。
【０００７】
図１４は、従来技術による半導体回路の階層設計手順を示すフローチャートである。この設計は、ＣＡＤ（ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ　ｄｅｓｉｇｎ）による設計である。
ステップＳ１４０１では、フロアプランを行い、上位階層において概略的にブロックの位置、大きさ、外部配線等を決める。次に、ステップＳ１４０２では、上位階層における消費電力の見積もりを行う。次に、ステップＳ１４０３では、上位階層において電源配線を行う。この際、上記の消費電力に応じて電源配線の太さが決まる。次に、ステップＳ１４０５では、未処理の下位階層データが存在するか否かをチェックする。未処理データが存在すればステップＳ１４０７へ進み、存在しなければステップＳ１４２１へ進む。ステップＳ１４０６は、ステップＳ１４０７〜Ｓ１４１６を含み、下位階層のブロック内の処理である。
【０００８】
ステップＳ１４０７では、消費電力の見積もりを行う。次に、ステップＳ１４０８では、電源配線を行う。この際、上記の消費電力に応じて電源配線の太さが決まる。次に、ステップＳ１４０９では、ブロック内のセルの配置及び配線を行う。次に、ステップＳ１４１０では、抵抗成分及び容量成分（ＲＣ）の抽出を行う。この際、ブロックの境界条件は何らかの状態を仮定してＲＣ抽出を行うので、正確ではない。次に、ステップＳ１４１１では、上記の抵抗成分及び容量成分を基に遅延時間を計算する。次に、ステップＳ１４１２では、クロストークノイズ検証を行う。この際、ブロックの境界条件は何らかの状態を仮定して検証を行うので、正確ではない。検証の結果、クロストークノイズが悪影響を与える場合には、クロストークノイズエラーを出力する。次に、ステップＳ１４１３では、上記の遅延時間を基に、ブロック内の回路のタイミング検証を行う。検証の結果、タイミングが規定値内でなければ、タイミングエラーを出力する。
【０００９】
次に、ステップＳ１４１４では、クロストークノイズエラー又はタイミングエラーがあるか否かをチェックする。エラーがあればステップＳ１４１５へ進み、エラーがなければステップＳ１４１６へ進む。ステップＳ１４１５では、セルの配置及び配線等を修正し、ステップＳ１４１０へ戻る。エラーがなくなるまで、上記の処理を繰り返す。エラーがなくなると、ステップＳ１４１６にて、ブロックに係わる情報を抽出する。例えば、ブロックの境界の内側特定範囲内にある配置及び配線情報等を抽出する。その後、ステップＳ１４０５へ戻る。未処理の他のブロックが存在する場合には、上記のステップＳ１４０６の処理を繰り返す。すべてのブロックの処理が終了すると、ステップＳ１４２１へ進む。ステップＳ１４２１〜Ｓ１４３０は、上位階層の設計処理である。
【００１０】
ステップＳ１４２１では、下位階層ブロックの情報を読み込む。次に、ステップＳ１４２２では、詳細な電源配線を行う。次に、ステップＳ１４２３では、ブロック及びセルの配置並びに配線等を行う。次に、ステップＳ１４２４では、抵抗成分及び容量成分（ＲＣ）の抽出を行う。この際、ステップＳ１４１６で抽出したブロックの境界の内側特定範囲内にある配置及び配線情報をマージしてＲＣ抽出を行う。次に、ステップＳ１４２５では、上記の抵抗成分及び容量成分を基に遅延時間を計算する。次に、ステップＳ１４２６では、クロストークノイズ検証を行う。この際、ステップＳ１４１６で抽出したブロックの境界の内側特定範囲内にある配置及び配線情報をマージして検証を行い、検証の結果に応じてクロストークノイズエラーを出力する。次に、ステップＳ１４２７では、上記の遅延時間を基に、上位階層の回路のタイミング検証を行い、検証の結果に応じてタイミングエラーを出力する。
【００１１】
次に、ステップＳ１４２８では、クロストークノイズエラー又はタイミングエラーがあるか否かをチェックする。エラーがあればステップＳ１４２９へ進み、エラーがなければステップＳ１４３１へ進む。ステップＳ１４２９では、エラーの原因が下位階層及び上位階層のいずれであるかをチェックする。上位階層が原因であるときにはステップＳ１４３０へ進む。下位階層が原因であるときにはステップＳ１４０９へ戻り、ブロック内の設計をやり直す。例えば、ステップＳ１４１０及びＳ１４１２におけるブロックの境界条件の仮定が大きく外れると、ブロック内の設計のやり直しになる。
【００１２】
ステップＳ１４３０では、ブロック及びセルの配置並びに配線等を修正し、ステップＳ１４２４へ戻る。ステップＳ１４２８にてエラーなしと判断されると、ステップＳ１４３１へ進み、半導体装置の各層のマスクパターンを生成する。
【００１３】
【発明が解決しようとする課題】
上記の階層設計では、以下の問題がある。
（１）下位階層のブロック内の配置及び配線が終了した後でなければ、ブロックの境界の状態が確定しないため、配線容量値が正しく求められない。
（２）ブロックの上を通過するだけの配線による影響は上位階層のレイアウト後に求めなければならない。
（３）ブロックの境界で発生した問題により、図１４のステップＳ１４２９からＳ１４０９に戻り、再度下位階層のブロックを修正し、上位階層でのエラーチェックをやり直さなければならない場合がある。
【００１４】
本発明の目的は、ブロックの境界部分をシールドすることにより、境界内部と境界外部を完全に分離することで、半導体回路の設計を簡単、高速かつ正確に行うことである。
【００１５】
【課題を解決するための手段】
本発明の一観点によれば、ブロック内の半導体回路の設計を行う下位階層設計ステップと、ブロックの外部配線の設計を行う上位階層設計ステップとを有する半導体回路設計方法が提供される。上記の下位階層設計ステップ又は上位階層設計ステップは、ブロックの境界部分にシールド配線を施す設計を行うシールド配線設計ステップを含む。
【００１６】
ブロックの境界部分をシールドすることができるので、境界内部と境界外部を完全に分離し、ブロックを一つの独立した部品と見なせる。これにより、下位階層設計及び上位階層設計を独立させることができ、半導体回路の設計を簡単、高速かつ正確に行うことができる。
【００１７】
【発明の実施の形態】
図１は、本発明の実施形態による設計対象の半導体回路の平面図である。半導体チップ１０１は、半導体装置である。半導体チップ１０１上には、複数のブロック１０２が存在する。ブロック１０２は、機能又はゲート数等に応じて、半導体チップ１０１を分割したものである。外部配線１０３は、ブロック１０２の外部の配線である。セル１０４は、論理素子であり、ブロック１０２の外部に設けられる。階層設計では、上位階層設計と下位階層設計に分けられる。下位階層設計では、ブロック１０２内のセルの配置及び配線等を行う。上位階層設計では、セル１０４の配置及び外部配線１０３の配線等を行う。なお、ブロック１０２内にさらにブロックを設け、３階層以上の階層設計をすることもできる。以下、上位階層と下位階層の２階層の場合を例に説明する。
【００１８】
図２は、図１２に対応し、ブロック１０２の内側の配線２０２及び外側の配線２０３を含む半導体回路を示す。配線２０６は、ブロック１０２の外部と内部を接続するための配線である。ブロック１０２の境界には、シールド配線２０１を設ける。コンピュータプログラムによれば、ブロック１０２の大きさ及び位置を決めることにより、シールド配線２０１を自動生成することができる。シールド配線２０１は、基準電位（例えばグランド電位）配線又は電源電位配線である。
【００１９】
内部配線２０２と外部配線２０３との間には、シールド配線２０１が存在する。したがって、内部配線２０２とシールド配線２０１との間には寄生容量２０４が存在し、外部配線２０３とシールド配線２０１との間には寄生容量２０５が存在する。すなわち、内部配線２０２と外部配線２０３との間のカップリング容量を考慮する必要がない。下位階層設計では、外部配線２０３の有無に関係なく、内部配線２０２とシールド配線２０１との間の寄生容量２０４を算出することができる。同様に、上位階層設計では、内部配線２０２の有無に関係なく、外部配線２０３とシールド配線２０１との間の寄生容量２０５を算出することができる。また、内部配線２０２と外部配線２０３との間のクロストークノイズを考慮する必要がなくなる。このように、ブロック１０２のフレーム部分に配線するシールド配線２０１を、以下、フレームシールド配線と呼ぶ。
【００２０】
ブロック１０２の境界部分をシールド配線２０１でシールドすることにより、境界内部と境界外部を完全に分離し、ブロック１０２を一つの独立した部品と見なせる。これにより、下位階層設計及び上位階層設計を独立させることができ、半導体回路の設計を簡単、高速かつ正確に行うことができる。
【００２１】
また、シールド配線２０１は、ブロック１０２の内側と外側を結ぶ配線２０６を通過させるための孔２０７を有する。コンピュータプログラムによれば、配線２０６の位置及び太さを決めることにより、シールド配線２０１の孔２０７を自動生成することができる。
【００２２】
図３は、図２の半導体回路に対応する半導体装置の斜視図である。この半導体装置の構成を説明する。半導体基板３０１上には、それぞれ絶縁層を介して、第１〜第３の配線層が形成される。シールド配線３０２は第１の配線層に形成され、シールド配線３０３は第２の配線層に形成され、シールド配線３０４は第３の配線層に形成される。コンタクト部３０５は、シールド配線３０２及び３０３を電気的に接続する。コンタクト部３０６は、シールド配線３０３及び３０４を電気的に接続する。基準電位供給用配線３０７は、外部からシールド配線３０２に基準電位を供給する。基準電位供給用配線３０８は、外部からシールド配線３０４に基準電位を供給する。基準電位供給用配線３０７及び３０８は、いずれか一方だけでもよいが、両方設けることによりシールド配線３０２〜３０４に電荷が溜まることを防止できる。シールド配線３０３は、ブロックの内側と外側を接続する配線３０９を通過させるための孔３１０を有する。なお、シール配線３０２〜３０４には、基準電位供給用配線３０７，３０８の代わりに、電源電位供給用配線を接続してもよい。ただし、基準電位の方が、電源電位よりも、変動が小さいので、基準電位供給用配線の方が好ましい。シールド配線３０２〜３０４は、ブロックの各配線層の境界部分に施される。
【００２３】
図４（Ａ）及び（Ｂ）は、図１３（Ａ）及び（Ｂ）に対応する。図４（Ａ）は、ブロック１０２の内側の配線４０２及び外側の配線４０１を含む半導体回路の上面図であり、図４（Ｂ）は図４（Ａ）のＩ−Ｉ線に沿った断面図である。半導体基板４２１上にブロック１０２が設けられる。外部配線４０１は、ブロック１０２の上を通過する。外部配線４０１と内部配線４０２との間において、ブロック１０２の上面の境界部分には電源電位配線４１１及び基準電位配線４１２が絶縁部４１３を介して交互に配列される。電源電位配線４１１及び基準電位配線４１２は、シールド配線としての機能を有すると共に、電源供給用配線としての機能を有する。例えば、電源供給用配線４１１及び４１２は、ブロック１０２内の回路に電源を供給することができる。
【００２４】
次に、配線４１１及び４１２のシールド配線としての機能を説明する。図４（Ｂ）において、シールド配線４１２は、外部配線４０１と内部配線４０２との間をシールドする。内部配線４０２とシールド配線４１２との間には寄生容量４２３が存在し、外部配線４０１とシールド配線４１２との間には寄生容量４２２が存在する。すなわち、内部配線４０２と外部配線４０１との間のカップリング容量を考慮する必要がない。下位階層設計では、外部配線４０１の有無に関係なく、内部配線４０２とシールド配線４１２との間の寄生容量４２３を算出することができる。同様に、上位階層設計では、内部配線４０２の有無に関係なく、外部配線４０１とシールド配線４１２との間の寄生容量４２２を算出することができる。また、内部配線４０２と外部配線４０１との間のクロストークノイズを考慮する必要がなくなる。このように、ブロック１０２の上面を覆うように配線するシールド配線４１１，４１２を、以下、オーバーシールド配線と呼ぶ。
【００２５】
図５は、図４の半導体回路に対応する半導体装置の斜視図である。この半導体装置の構成を説明する。半導体基板５０１上には、それぞれ絶縁層を介して、第１〜第３の配線層が形成される。基準電位配線５０２は第１の配線層に形成され、基準電位配線５０３は第２の配線層に形成される。基準電位配線５０２及び５０３は、シールド配線として機能する。第３の配線層には、基準電位配線５０４及び電源電位配線５０５が絶縁部を介して交互に配置される。コンタクト部５１０は、基準電位配線５０２及び５０３を電気的に接続する。コンタクト部５１１は、基準電位配線５０３及び５０４を電気的に接続する。基準電位供給用配線５０６は、外部から基準電位配線５０３の左部に基準電位を供給する。基準電位供給用配線５０８は、外部から基準電位配線５０３の右部に基準電位を供給する。基準電位配線５０４には、基準電位供給用配線５０６及び５０８から配線５０３及びコンタクト部５１１を介して基準電位が供給される。同様に、電源電位供給用配線５０７は、外部から電源電位配線５０５の左部に電源電位を供給する。電源電位供給用配線５０９は、外部から電源電位配線５０５の右部に電源電位を供給する。配線５０４及び５０５は、シールド配線及び電源供給用配線としての機能を有する。
【００２６】
また、基準電位配線５０３は、ブロックの内側と外側を接続する配線５１２を通過させるための孔５１３を有する。外部配線５１４は、ブロックの上方を通過する外部配線である。シールド配線５０４及び５０５は、外部配線５１４と内部配線との間をシールドする。
【００２７】
図６は、本実施形態によるＣＡＤ設計を行うためのコンピュータのハードウエア構成図である。バス６０１には、中央処理装置（ＣＰＵ）６０２、ＲＯＭ６０３、ＲＡＭ６０４、ネットワークインタフェース６０５、入力装置６０６、出力装置６０７及び外部記憶装置６０８が接続されている。
【００２８】
ＣＰＵ６０２は、データの処理及び演算を行うと共に、バス６０１を介して接続された上記の構成ユニットを制御するものである。ＲＯＭ６０３には、予めブートプログラムが記憶されており、このブートプログラムをＣＰＵ６０２が実行することにより、コンピュータが起動する。外部記憶装置６０８にコンピュータプログラムが記憶されており、そのコンピュータプログラムがＲＡＭ６０４にコピーされ、ＣＰＵ６０２により実行される。このコンピュータがコンピュータプログラム（ＣＡＤソフトウエア）を実行することにより、半導体回路（装置）の設計を行うことができる。
【００２９】
外部記憶装置６０８は、例えばハードディスク記憶装置等であり、電源を切っても記憶内容が消えない。外部記憶装置６０８は、コンピュータプログラム及び設計データを記録媒体に記録したり、記録媒体からコンピュータプログラム及び設計データを読み出すことができる。
【００３０】
ネットワークインタフェース６０５は、ネットワークに対してコンピュータプログラム及び設計データを入出力することができる。入力装置６０６は、例えばキーボード及びポインティングデバイス（マウス）等であり、各種指定又は入力等を行うことができる。出力装置６０７は、ディスプレイ及びプリンタ等である。
【００３１】
図７は、本実施形態による半導体回路の階層設計手順を示すフローチャートである。この設計は、上記のコンピュータを用いたプログラムによるＣＡＤ設計処理である。
【００３２】
ステップＳ７０１では、フロアプランを行い、上位階層において概略的にブロックの位置、大きさ、外部配線等を決める。次に、ステップＳ７０２では、上位階層における消費電力の見積もりを行う。次に、ステップＳ７０３では、ブロック毎のシールド方法の指示を行う。例えば、シールド配線をブロックの境界の内側又は外側のいずれに行うのかを指定する。シールド配線を内側に施す場合には、下位階層設計においてブロック内にシールド配線を行う。それに対し、シールド配線を外側に施す場合には、上位階層設計においてブロックの外側にシールド配線を行う。シールド方法の指示方法の詳細は、後に、図８を参照しながら説明する。
【００３３】
次に、ステップＳ７０４では、上位階層において、上記のシールド方法に応じたシールド配線及び電源配線を行う。ブロックの外側にシールド配線を行うように指示された場合には、このステップにてシールド配線を行う。また、電源配線は、上記の消費電力に応じて太さが決まる。次に、ステップＳ７０５では、未処理の下位階層データが存在するか否かをチェックする。未処理データが存在すればステップＳ７０７へ進み、存在しなければステップＳ７２１へ進む。ステップＳ７０６は、ステップＳ７０７〜Ｓ７１６を含み、下位階層のブロック内の処理である。
【００３４】
ステップＳ７０７では、消費電力の見積もりを行う。次に、ステップＳ７０８では、上記のシールド方法に応じたシールド配線及び電源配線を行う。ブロックの内側にシールド配線を行うように指示された場合には、このステップにてシールド配線を行う。また、電源配線は、上記の消費電力に応じて太さが決まる。次に、ステップＳ７０９では、ブロック内のセルの配置及び配線を行う。次に、ステップＳ７１０では、抵抗成分及び容量成分（ＲＣ）の抽出を行う。この際、ブロックの境界部分はシールドされているので、ブロック外の状態とは無関係に正確なＲＣ抽出を行うことができる。例えば、図２の寄生容量２０４を抽出することになる。次に、ステップＳ７１１では、上記の抵抗成分及び容量成分を基に遅延時間を計算する。次に、ステップＳ７１２では、クロストークノイズ検証を行う。この際、ブロックの境界部分はシールドされているので、ブロックの外側の状態とは無関係に正確な検証を行うことができる。検証の結果、クロストークノイズが悪影響を与える場合には、クロストークノイズエラーを出力する。次に、ステップＳ７１３では、上記の遅延時間を基に、ブロック内の回路のタイミング検証を行う。検証の結果、タイミングが規定値内でなければ、タイミングエラーを出力する。
【００３５】
次に、ステップＳ７１４では、クロストークノイズエラー又はタイミングエラーがあるか否かをチェックする。エラーがあればステップＳ７１５へ進み、エラーがなければステップＳ７１６へ進む。ステップＳ７１５では、セルの配置及び配線等を修正し、ステップＳ７１０へ戻る。エラーがなくなるまで、上記の処理を繰り返す。エラーがなくなると、ステップＳ７１６にて、ブロックに係わる情報を抽出する。例えば、外部端子の位置及び電源配線の位置等の情報を抽出する。その後、ステップＳ７０５へ戻る。未処理の他のブロックが存在する場合には、上記のステップＳ７０６の処理を繰り返す。すべてのブロックの処理が終了すると、ステップＳ７２１へ進む。ステップＳ７２１〜Ｓ７２９は、上位階層の設計処理である。
【００３６】
ステップＳ７２１では、下位階層ブロックの情報を読み込む。次に、ステップＳ７２２では、詳細な電源配線を行う。次に、ステップＳ７２３では、ブロック１０２及びセル１０４の配置並びに外部配線１０３の配線等を行う。次に、ステップＳ７２４では、抵抗成分及び容量成分（ＲＣ）の抽出を行う。この際、ブロックの境界部分はシールドされているので、ブロック内の状態とは無関係に正確なＲＣ抽出を行うことができる。例えば、図２の寄生容量２０５を抽出することになる。次に、ステップＳ７２５では、上記の抵抗成分及び容量成分を基に遅延時間を計算する。次に、ステップＳ７２６では、クロストークノイズ検証を行い、検証の結果に応じてクロストークノイズエラーを出力する。この際、ブロックの境界部分はシールドされているので、ブロックの内側の状態とは無関係に正確な検証を行うことができる。次に、ステップＳ７２７では、上記の遅延時間を基に、上位階層の回路のタイミング検証を行い、検証の結果に応じてタイミングエラーを出力する。
【００３７】
次に、ステップＳ７２８では、クロストークノイズエラー又はタイミングエラーがあるか否かをチェックする。エラーがあればステップＳ７２９へ進み、エラーがなければステップＳ７３０へ進む。ステップＳ７２９では、ブロック及びセルの配置並びに配線等を修正し、ステップＳ７２４へ戻る。ステップＳ７２８にてエラーなしと判断されると、ステップＳ７３０へ進み、半導体装置の各層のマスクパターンを生成し、その後半導体装置を製造する。
【００３８】
本実施形態では、ブロックの境界部分をシールドしているので、ステップＳ７１０及びＳ７２４にて正確なＲＣ抽出を行い、ステップＳ７１２及びＳ７２６にて正確なクロストークノイズ検証を行うことができる。さらに、ブロックの境界部分をシールドしているために、ブロックの境界条件が単純であり、上記の処理を簡単に行うことができる。
【００３９】
図１４の場合には、ブロックの境界部分をシールドしていないため、ブロックの境界条件を仮定し、ＲＣ抽出及びクロストークノイズ検証を行うので、正確な処理を行うことができなかった。その影響で、ステップＳ１４２９では、エラーの原因が下位階層及び上位階層のいずれであるかをチェックする必要がある。そして、下位階層が原因であるときにはステップＳ１４０９へ戻り、ブロック内の設計をやり直す必要があった。このやり直しが、設計効率を悪化させ、設計時間の長期化を招いていた。
【００４０】
本実施形態では、正確なＲＣ抽出及びクロストークノイズ検証を行うことができるので、そのようなやり直しをする必要がなくなる。これにより、効率的な設計を行うことができ、設計時間（ＴＡＴ）を短縮することができる。
【００４１】
図８は、図７のステップＳ７０３のシールド方法の指示を行うための画面を示す。この画面は、図６のディスプレイ６０７に表示され、ユーザの操作により指定される。ターゲット名称８０１は、シールド対象となるブロックの名前であり、例えば「ＤＡＴＡ＿ＣＯＲＥ」である。項目８１１は、図２及び図３に示すフレームシールド配線を行うための指定項目であり、シールド配線８０２及びシールド配線層８０３を含む。シールド配線８０２において、「ＯＦＦ」はシールド配線を行わないことを指示するためのラジオボタン、「ＡＴ　ＴＯＰ」はブロックの境界の外側にシールド配線を行うことを指示するためのラジオボタン、「ＡＴ　ＨＬＢ」はブロックの境界の内側にシールド配線を行うことを指示するためのラジオボタンである。シールド配線層８０３では、半導体基板上の何層目までシールドするのかを指定する。例えば、図３の場合には、第１の配線層から第３の配線層までフレームシールド配線３０２〜３０４を行う。
【００４２】
項目８１２は、図４及び図５に示すオーバーシールド配線を行うための指定項目であり、シールド配線８０４及びシールド配線層８０５を含む。シールド配線８０４において、「ＯＦＦ」、「ＡＴ　ＴＯＰ」及び「ＡＴ　ＨＬＢ」は上記のシールド配線８０２と同様である。シールド配線層８０５は、何層目にオーバーシールド配線を行うかを指定する。例えば、図５では、第３の配線層にオーバーシールド配線５０４，５０５を行う。
【００４３】
「ＯＫ」ボタン８２１は、この画面の指定を適用させるためのボタンである。「ＣＬＥＡＲ」ボタン８２２は、この画面の指定をキャンセルするためのボタンである。
【００４４】
例えば、ブロックがハードマクロ（例えば、ＲＡＭやＲＯＭ等）又はＩＰマクロの場合には、ブロック内の設計を修正することができない。その場合には、シールド配線をブロック内に設けることができず、ブロックの外側にシール配線を施すように指定する必要がある。内部を修正できるブロックの場合には、シールド配線はブロックの内側及び外側のどちらに設けてもよい。
なお、ボトムアップでレイアウト設計を行う場合は、最初の段階で図８に示した画面からシールド配線方法を選択する。
【００４５】
図９は、図７のステップＳ７０１〜Ｓ７０４の処理の詳細を示すフローチャートであり、上位階層の設計処理を示す。ステップＳ９０１では、レイアウトライブラリ９１１、パッケージ情報９１２、レイアウトデータベース９１３を基に、フロアプランを行う。具体的には、ブロックの位置等を決定する。なお、レイアウトライブラリ９１１等は、図６の外部記憶装置６０８に記憶されている。次に、ステップＳ９０２では、クロックピン情報９１４及びパワーライブラリ９１５を基に、消費電力の見積もりを行う。次に、ステップＳ９０３では、図８の画面でブロック毎のシールド配線方法の指示を行い、その内容を含むファイル９２１を出力して保存する。ファイル９２１の内容は、後に図１０を参照しながら説明する。次に、ステップＳ９０４では、指定されたブロックに対するシールド配線を生成する。次に、ステップＳ９０５では、基幹電源配線を生成する。具体的には、見積もった消費電力に応じて電源配線ピッチ及び電源配線幅を決定し、電源の基幹部分を配線する。このとき、先に生成したシールド配線の幅が不十分であれば他の電源配線と合わせて幅を調整する。次に、ステップＳ９０６では、簡易電源網解析を行い、ブロック毎の電流値情報のファイル９２２を出力して保存する。具体的には、電源配線網に対して見積もった消費電力に基づき電圧降下及び電流密度違反が発生していないかどうかのチェックを行うと共に、上位階層から下位階層に流れる電流値を算出し、電流値情報のファイル９２２を専用のデータベースに保存する。次に、ステップＳ９０７では、各ブロックの信号端子の位置を決定し、その情報を含むファイル９２３を出力して保存する。その後、レイアウト情報をレイアウトデータベース９３２に保存し、処理過程をサマリリストのファイル９３１に出力する。具体的には、ブロックの位置と配線の接続関係から、下位階層のブロックの端子位置を決定し、その座標及び配線層をレイアウトデータベース９３２に書き出す。上記のファイル９２１〜９２３は、下位階層のブロック内設計において使用される。
【００４６】
図１０は、図９のシールド配線方法指示ファイル９２１の内容例を示す。ターゲット名称１００１、フレームシールド配線１００２、フレームシールド配線層１００３、オーバーシールド配線１００４、オーバーシールド配線層１００５は、それぞれ図８の指定項目８０１〜８０５に対応する。ファイル９２１は、図８の画面の指定内容の情報を含み、さらに最大配線層１００６を含む。最大配線層１００６は、そのブロックで使用できる配線層数を示す。
【００４７】
図１１は、図７のステップＳ７０７及びＳ７０８の処理の詳細を示すフローチャートであり、下位階層の設計処理を示す。ステップＳ１１０１では、図９のブロックのシールド配線方法指示ファイル９２１、電流値情報ファイル９２２、ブロックの信号端子位置情報ファイル９２３、レイアウトライブラリ９１１及びレイアウトデータベース９３２を基に、ブロック内の信号端子の配置を行う。次に、ステップＳ１１０２では、クロックピン情報９１４及びパワーライブラリ９１５を基に、上記で指示されたシールド配線方法でシールド配線を生成する。次に、ステップＳ１１０３では、消費電力を計算する。次に、ステップＳ１１０４では、電源配線を生成する。具体的には、上位階層設計で見積もった上位階層から供給される電流値、及びブロック内部の消費電力を基に、電源配線のピッチ及び電源配線幅を計算すると共に、ブロックの電源用端子を生成する。次に、ステップＳ１１０５では、簡易電源網解析を行う。具体的には、上位階層の処理と同様に、電源配線網に対して見積もった消費電力に基づき、電圧降下及び電流密度違反が発生していないかどうかのチェックを行う。その後、レイアウト情報をレイアウトデータベース１１１９に保存し、処理過程をサマリリストのファイル１１１８に出力する。
【００４８】
以上のように、本実施形態によれば、下位階層設計ステップと上位階層設計ステップを有する。下位階層設計ステップは、ブロック内の半導体回路の設計を行う。上位階層ステップは、ブロックの外部配線の設計を行う。下位階層設計ステップ又は上位階層設計ステップは、ブロックの境界部分にシールド配線を施す設計を行うシールド配線設計ステップを含む。下位階層設計ステップ及び上位階層設計ステップは、いずれが先でもよいし、同時（並列）でもよい。シールド配線は、電源電位配線又は基準電位配線のいずれでもよい。
【００４９】
図５において、オーバーシールド配線５０４及び５０５は、ブロック内の最上配線層又はその上の配線層にブロックを覆うように施される。また、シールド配線は、ブロックの上面に限定されず、下面でもよい。シールド配線は、ブロックの境界の上面又は下面を覆うように配線層に施される。
【００５０】
ブロックの境界をシールド配線でシールドすることにより、各ブロックを部品化することができ、ブロック内の独立性を保つことができる。また、ブロックの境界をシールド配線でシールドすることにより、境界付近の配線容量抽出値の精度向上、及びクロストークノイズ値算出の精度向上を図ることができる。図１４の場合、トップダウンで上位階層から下位階層に順に設計する場合は、下位階層の配置及び配線が決定しなければブロックの境界の物理条件が決定できないため、何らかの仮定した条件の下に容量抽出を行う必要がある。しかし、本実施形態によれば、ブロックの境界をシールドするので、境界条件の仮定は不要となる。
【００５１】
また、各ブロックを部品化することにより、各ブロックのレイアウト設計の並列化を行うことができる。ブロック毎のレイアウトの独立性が保たれるので、他の階層及び他のブロックの状態に影響されず、階層毎の設計を独立して進めることができる。また、シールド配線と電源配線とを共用することにより、ブロック内部への電源供給を強化することができる。また、ブロックの上面のオーバーシールド配線をブロック内部の電源配線に接続することにより、ブロック内に電源を供給できる個所が増え、ブロック内部の電圧の安定化にも繋がる。また、階層間の影響をほとんど考慮する必要がないので、ブロック内のレイアウト変更が容易である。これにより、レイアウト設計期間の短縮及び品質の強化を行うことができる。
【００５２】
本実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５３】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００５４】
本発明の実施形態は、例えば以下のように種々の適用が可能である。
（付記１）ブロック内の半導体回路の設計を行う下位階層設計ステップと、
前記ブロックの外部配線の設計を行う上位階層設計ステップとを有し、
前記下位階層設計ステップ又は前記上位階層設計ステップは、前記ブロックの境界部分にシールド配線を施す設計を行うシールド配線設計ステップを含む半導体回路設計方法。
（付記２）前記下位階層設計ステップ及び前記上位階層設計ステップは、いずれが先でもよいし、同時でもよい付記１記載の半導体回路設計方法。
（付記３）前記シールド配線設計ステップは、前記ブロックの内側又は外側の境界部分にシールド配線を施す設計を行う付記１記載の半導体回路設計方法。
（付記４）前記半導体回路は複数の配線層を含み、
前記シールド配線設計ステップは、前記ブロックの各配線層の境界部分にシールド配線を施す設計を行う付記１記載の半導体回路設計方法。
（付記５）前記半導体回路は複数の配線層を含み、
前記シールド配線設計ステップは、前記ブロックの境界の上面又は下面を覆うように配線層にシールド配線を施す設計を行う付記１記載の半導体回路設計方法。
（付記６）前記半導体回路は複数の配線層を含み、
前記シールド配線設計ステップは、前記ブロック内の最上配線層又はその上の配線層に前記ブロックを覆うようにシールド配線を施す設計を行う付記１記載の半導体回路設計方法。
（付記７）前記シールド配線は、電源電位配線又は基準電位配線である付記１記載の半導体回路設計方法。
（付記８）前記シールド配線は、電源電位配線及び基準電位配線である付記６記載の半導体回路設計方法。
（付記９）前記シールド配線は、電源供給用配線である付記８記載の半導体回路設計方法。
（付記１０）前記下位階層設計ステップ及び前記上位階層設計ステップは、それぞれ、前記ブロックの境界部分のシールド配線を基に抵抗成分及び容量成分を抽出するステップと、前記抵抗成分及び容量成分を基にタイミング検証を行うステップを有する付記１記載の半導体回路設計方法。
（付記１１）前記下位階層設計ステップ及び前記上位階層設計ステップは、それぞれ、前記ブロックの境界部分のシールド配線を基にクロストークノイズ検証を行うステップを有する付記１記載の半導体回路設計方法。
（付記１２）前記下位階層設計ステップ及び前記上位階層設計ステップは、それぞれ、前記ブロックの境界部分のシールド配線を基にクロストークノイズ検証を行うステップを有する付記１０記載の半導体回路設計方法。
（付記１３）前記シールド配線は、前記ブロックの内側と外側を結ぶ配線を通過させるための孔を有する付記１記載の半導体回路設計方法。
（付記１４）さらに、前記シールド配線を前記ブロックの内側又は外側のいずれに施すかを指示するステップを有する付記３記載の半導体回路設計方法。
（付記１５）ブロック内の半導体回路の設計を行う下位階層設計部と、
前記ブロックの外部配線の設計を行う上位階層設計部とを有し、
前記下位階層設計部又は前記上位階層設計部は、前記ブロックの境界部分にシールド配線を施す設計を行うシールド配線設計部を含む半導体回路設計装置。
（付記１６）ブロック内の半導体回路の設計を行う下位階層設計手順と、
前記ブロックの外部配線の設計を行う上位階層設計手順とをコンピュータに実行させるためのプログラムであって、
前記下位階層設計手順又は前記上位階層設計手順は、前記ブロックの境界部分にシールド配線を施す設計を行うシールド配線設計手順を含むプログラム。
（付記１７）複数の配線層を含む半導体回路のブロックと、
前記ブロックの各配線層の境界部分に設けられるシールド配線と、
前記ブロックの内側と外側を結ぶ外部配線と、
前記外部配線を通過させるために前記シール配線に設けられる孔と
を有する半導体装置。
（付記１８）複数の配線層を含む半導体回路のブロックと、
前記ブロックの最上配線層に電源電位配線及び基準電位配線が交互に設けられるシールド配線と、
前記電源電位配線及び前記基準電位配線の間に設けられる絶縁部と
を有する半導体装置。
【００５５】
【発明の効果】
以上説明したように、ブロックの境界部分をシールドすることができるので、境界内部と境界外部を完全に分離し、ブロックを一つの独立した部品と見なせる。これにより、下位階層設計及び上位階層設計を独立させることができ、半導体回路の設計を簡単、高速かつ正確に行うことができる。
【図面の簡単な説明】
【図１】本発明の実施形態による設計対象の半導体回路の平面図である。
【図２】ブロックの境界部分にシールド配線を設けた半導体回路を示す図である。
【図３】図２の半導体回路に対応する半導体装置の斜視図である。
【図４】図４（Ａ）はブロックの内部配線及び外部配線を示す半導体回路の上面図であり、図４（Ｂ）は図４（Ａ）のＩ−Ｉ線に沿った断面図である。
【図５】図４の半導体回路に対応する半導体装置の斜視図である。
【図６】本実施形態によるＣＡＤ設計を行うためのコンピュータのハードウエア構成図である。
【図７】本実施形態による半導体回路の階層設計手順を示すフローチャートである。
【図８】シールド方法を指定するための画面を示す図である。
【図９】図７のステップＳ７０１〜Ｓ７０４の処理の詳細を示すフローチャートである。
【図１０】シールド配線方法指示ファイルの内容例を示す図である。
【図１１】図７のステップＳ７０７及びＳ７０８の処理の詳細を示すフローチャートである。
【図１２】ブロックの内部配線及び外部配線を示す半導体回路図である。
【図１３】図１３（Ａ）はブロックの内部配線及び外部配線を示す半導体回路の上面図であり、図１３（Ｂ）は図１３（Ａ）のＩＩ−ＩＩ線に沿った断面図である。
【図１４】従来技術による半導体回路の階層設計手順を示すフローチャートである。
【符号の説明】
１０１　半導体チップ
１０２　ブロック
１０３　外部配線
１０４　セル
２０１　シールド配線
２０２　内部配線
２０３　外部配線
２０４，２０５　寄生容量
２０６　配線
２０７　孔
３０１　半導体基板
３０２〜３０４　シールド配線
３０５，３０６　コンタクト部
３０７，３０８　基準電位供給用配線
３０９　配線
４０１　外部配線
４０２　内部配線
４１１　電源電位配線
４１２　基準電位配線
４１３　絶縁部
４２１　半導体基板
４２２，４２３　寄生容量
５０１　半導体基板
５０２，５０３，５０４　基準電位配線
５０５　電源電位配線
５０６，５０８　基準電位供給用配線
５０７，５０９　電源電位供給用配線
５１０，５１１　コンタクト部
５１２　配線
５１３　孔
５１４　外部配線
６０１　バス
６０２　ＣＰＵ
６０３　ＲＯＭ
６０４　ＲＡＭ
６０５　ネットワークインタフェース
６０６　入力装置
６０７　出力装置
６０８　外部記憶装置
【図１】
2004031389.tif 000003
【図２】
2004031389.tif 000004
【図３】
2004031389.tif 000005
【図４】
2004031389.tif 000006
【図５】
2004031389.tif 000007
【図６】
2004031389.tif 000008
【図７】
2004031389.tif 000009
【図８】
2004031389.tif 000010
【図９】
2004031389.tif 000011
【図１０】
2004031389.tif 000012
【図１１】
2004031389.tif 000013
【図１２】
2004031389.tif 000014
【図１３】
2004031389.tif 000015
【図１４】
2004031389.tif 000016