(57)【特許請求の範囲】
【請求項１】
複数階層を有する半導体集積回路の回路情報とタイミング制約情報とに基づいて、下位階層の複数の機能ブロックの配置位置を決定する工程と、前記各機能ブロックの配置位置に基づいて、前記各機能ブロック間を接続する配線に関するブロック間配線情報を含むレイアウト情報を生成する工程と、前記レイアウト情報に基づいて下位階層の機能ブロックのレイアウトを行う下位階層レイアウト工程と、前記下位階層レイアウト工程のレイアウト結果に基づいて前記各機能ブロック間を接続する配線を上位階層で実施する上位階層レイアウト工程とを有する半導体集積回路の階層レイアウト方法において、
前記下位階層レイアウト工程は、
前記ブロック間配線情報を参照して、前記各機能ブロック間を接続する配線の中から前記機能ブロック上を通過する上位階層の配線について配線遅延時間に基づいた選定を行う上位配線見積工程と、
前記上位配線見積工程で選定した上位階層の配線に対してタイミング制約を満たすようにタイミング調整を行う上位タイミング調整工程と、
前記タイミング調整後に前記配線が通過する下位階層内の領域を配置配線禁止領域として生成する禁止領域生成工程と、
前記配置配線禁止領域を除く前記下位階層内の領域でセルの配置及び配線を行うセル配置配線工程と、
前記禁止領域生成工程で生成した配置配線禁止領域の禁止状態を解除し、前記セル配置配線工程でセル配置及び配線を行った領域をレイアウト禁止領域に設定する禁止領域変更工程とを有し、
前記下位階層レイアウト工程がツールで処理され、前記下位階層には前記機能ブロック間を接続する配線が埋め込まれないことを特徴とする半導体集積回路の階層レイアウト方法。
【請求項２】
複数階層を有する半導体集積回路の回路情報とタイミング制約情報とに基づいて、下位階層の複数の機能ブロックの配置位置を決定する工程と、前記各機能ブロックの配置位置に基づいて、前記各機能ブロック間を接続する配線に関するブロック間配線情報を含むレイアウト情報を生成する工程と、前記レイアウト情報に基づいて、下位階層の機能ブロックのレイアウトを行う下位階層レイアウト工程と、前記下位階層レイアウト工程のレイアウト結果に基づいて前記各機能ブロック間を接続する配線を上位階層で実施する上位階層レイアウト工程とを有する半導体集積回路の階層レイアウト方法において、
前記下位階層レイアウト工程は、
前記ブロック間配線情報を参照して、前記各機能ブロック間を接続する配線の中から前記機能ブロック上を通過する上位階層の配線について配線遅延時間に基づいた選定を行う上位配線見積工程と、
前記上位配線見積工程で選定した上位階層の配線に対して、タイミング制約を満たすようにタイミング調整用セルの挿入を含むタイミング調整を行う上位タイミング調整工程と、
前記タイミング調整後に前記配線が通過する機能ブロック内の領域を配置配線禁止領域として生成すると共に、前記タイミング調整用セルが挿入される該機能ブロック内の領域をセル配置禁止領域として生成する禁止領域生成工程と、
前記配置配線禁止領域及びセル配置禁止領域を除く前記下位階層内の領域でセルの配置及び配線を行うセル配置配線工程と、
前記禁止領域生成工程で生成した前記配置配線禁止領域及び前記セル配置禁止領域の禁止状態を解除し、前記セル配置配線工程でセル配置及び配線を行った領域をレイアウト禁止領域に設定する禁止領域変更工程とを有し、
前記下位階層レイアウト工程がツールで処理され、前記下位階層には前記機能ブロック間を接続する配線が埋め込まれないことを特徴とする半導体集積回路の階層レイアウト方法。
【請求項３】
前記上位配線見積工程で選定される前記上位階層の配線は、クリティカルパスであることを特徴とする請求項１または２記載の半導体集積回路の階層レイアウト方法。
【請求項４】
前記下位階層レイアウト工程のレイアウト結果が前記タイミング制約を満たしているか否かの検証を行う下位階層タイミング検証工程を実行し、前記タイミング制約を満たせなかったパスがある場合は、該パスについて駆動能力の最適化を実行することを特徴とする請求項１乃至３記載の半導体集積回路の階層レイアウト方法。
【請求項５】
前記各機能ブロック内及び前記各機能ブロック間についてタイミング制約を満たしているか否かの検証を行う総合タイミング検証工程を前記上位階層レイアウト工程後に実行し、前記タイミング制約を満たせなかったパスがある場合は、該パスについて駆動能力の最適化を実行することを特徴とする請求項４記載の半導体集積回路の階層レイアウト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲートアレイ、ＡＳＩＣ（Ａｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の多層配線構造を有する半導体集積回路の階層レイアウト方法に関する。
【０００２】
【従来の技術】
近年、ＬＳＩの回路規模の増大、且つ設計期間の短縮に伴い、階層レイアウトが必須となっている。階層レイアウト手法を行う場合、上位階層からみると下位階層の部分は１つのマクロとして扱い、上位階層の配線は下位階層を迂回して配線される。また、微細化の影響により、セルの固有遅延よりも配線に起因する遅延の方が支配的となってきたため、設計初期段階からタイミングを考慮して設計を行うことが重要となっている。
【０００３】
図１２は、従来の半導体集積回路の階層レイアウト方法を示すフローチャートである。
【０００４】
まず、概略フロアプラン工程１０２では、論理合成ツールから生成されたネットリスト１００とタイミング制約情報１０１を入力とし、各階層機能ブロックの生成及び、各機能ブロックの配置位置の検討を行う。その際、ブロック間の配線情報１２０とブロックピンの位置情報１０３を生成するとともに、ブロックの配置位置と前記ブロックピンの配置位置を基にレイアウト用のネットリスト１０４も生成する。
【０００５】
次の下位階層レイアウト工程１０５では、概略フロアプラン工程１０２で生成されたブロック間配線情報１２０とブロックピン位置情報１０３とレイアウト用ネットリスト１０４を入力とし、各機能ブロック毎にレイアウトを行い、ブロック内レイアウトデータの生成を行う。
【０００６】
上述した下位階層レイアウト工程１０５では、まずセル配置工程１０６行い、続いて概略配線工程１０７と詳細配線工程１０８を順次実行する。セル配置工程１０６では、前記レイアウト用ネットリスト１０４を基に、前記タイミング制約を満たすことのできる配置位置の検討を行いながら、全てのセルの配置位置を決定する。次の概略配線工程１０７では、前記レイアウト用ネットリスト１０４を基に、前記タイミング制約を満たすことのできる配線経路の検討を行いながら、全接続の配線経路を決定し、さらに詳細配線工程１０８では、概略配線工程１０７で決定された配線経路を基に、各ネット毎に他の配線との配線間隔などを考慮しながら全ての詳細配線を実施する。
【０００７】
そして、下位階層タイミング検証工程１０９では、下位階層レイアウト工程１０５で生成した前記レイアウトデータがタイミング制約情報１０１を満たしているかの検証を行う。前記タイミング制約情報を全て満たしていれば、下位階層のレイアウト設計は終了である。
【０００８】
その後の上位階層レイアウト工程１１２では、下位階層レイアウト工程１０５で生成した各機能ブロックの前記レイアウトデータをトップ階層に組み上げ、トップ階層のネットリストを基にブロック間の接続を行う。また、上位階層に回路が存在する場合には、下位階層レイアウト工程１０５と同様の処理を実施する。
【０００９】
最終的な階層タイミング検証工程１１３では、各機能ブロック内及びブロック間の総合的なタイミング検証を行う。回路全体の所望する全てのタイミングを満たしていれば半導体集積回路の設計は終了である。
【００１０】
一方、上記下位階層タイミング検証工程１０９及び階層タイミング検証工程１１３で、タイミング制約情報１０１を満たせなかったときは、そのタイミング制約情報１０１を満たせなかったパスに着目し、部分的なセルの入れ替え、またはリピータの追加によって駆動能力を高めることで当該タイミング制約情報１０１を満たせるかの確認を行う。
【００１１】
この確認の結果、部分的なセルの入れ替えまたはリピータの追加ではタイミング制約情報１０１を満たすことができない場合は、概略フロアプラン工程１０２に戻り、前記レイアウトデータを基にフロアプランの再検討及び再レイアウトを行う。部分的なセルの入れ替えまたはリピータ追加でタイミング制約１０１を満たすことができる場合、駆動能力最適化工程１１０、続いてセル入れ替え追加工程１１１を実行する。
【００１２】
駆動能力最適化工程１１０では、下位階層レイアウト工程１０５及び上位階層レイアウト工程１１２で作成した前記レイアウトデータの実配線を基に、タイミング制約情報１０１を満たせなかったパスに対し、同一論理でタイミング制約情報１０１を満たすことのできる駆動能力のセル、または追加のリピータを特定し、セル変更情報を生成する。
【００１３】
セル入れ替え追加工程１１１では、駆動能力最適化工程１１０で生成した前記セル変更情報を基に、前記レイアウトデータ内の該当セルの入れ替えを行い、部分的なセルの再配置及びセル間の再配線を行う。さらに、変更された接続情報は、ネットリスト１００に格納される。
【００１４】
下位階層タイミング検証工程１０９では、セルの入れ替え、またはリピータ追加によってタイミング制約情報１０１を満たすことができたかについて再度確認を行い、タイミング制約情報１０１を全て満たしていれば上位階層レイアウト工程１１２及び階層タイミング検証工程１１３を行い、回路全体の所望する全てのタイミングを満たしていれば、タイミング違反の改善方法は終了である。
【００１５】
但し、下位階層タイミング検証工程１０９及び階層タイミング検証工程１１３で、タイミング制約情報１０１を再度満たせなかったときは、駆動能力最適化工程１１０に戻り、タイミング制約情報１０１を全て満たすまで繰り返し改善を図る。
【００１６】
上記上位階層レイアウト工程１１２の完了後のブロック間配線を表した一例を図１３に示す。
【００１７】
同図において、５０１はチップの外枠、５０２はＩ／Ｏセル、５０３はコーナーセルである。５０４はブロック間配線であって、階層（ブロック）ピン５０５と階層（ブロック）ピン５０６間を接続する。また、５０７、５０８、５０９は下位階層レイアウトブロック（機能ブロック）で示している。
【００１８】
ブロック間配線５０４は、機能ブロック５０７，５０９，５０８を迂回して、配線されていることが分かる。
【００１９】
【発明が解決しようとする課題】
しかしながら、上記従来例には次のような問題点があった。
【００２０】
まず、下位階層レイアウト工程１０５において、上位階層の配線が考慮されていないため、上位階層レイアウト工程１１２では、下位階層レイアウト工程１０５で生成された機能ブロックを迂回して配線を行う。機能ブロックの面積が大きくなると、迂回配線が長くなり、タイミング制約の厳しくパスはより厳しくなり、回路全体のタイミングを収束することが困難になる。
【００２１】
さらに、上位階層レイアウト工程１１２において迂回配線が長くなると、階層タイミング検証工程１１３でタイミング制約を満たせなくなり、最悪の場合は概略フロアプラン工程１０２に戻ってフロアプランの再検討を行うことになり、設計後戻りによる多大な工数を要する。
【００２２】
また、ＣＴＳ（クロックツリーシンセシス）で生成されるクロック配線は、クロック発生回路と各バッファ間配線の配線容量及び配線抵抗を考慮して、配線遅延が等しいところでツリー間のクロックスキューを等しくする方法が採られている。機能ブロック間に跨るクロック配線の場合、機能ブロックの階層（ブロック）ピンから出された配線では迂回配線のため長くなり、配線のバランスが取れずクロックスキューが大きくなる。すなわち、クロックスキューが大きくなることにより、クロックスキューによって制約されるシステム動作速度が悪化する結果となる。
【００２３】
このような問題点を解決すべく、機能ブロック間配線の迂回を回避する手法として、特開２０００−１００９４９号公報に開示する次のようなものがある。
【００２４】
（１）下位階層の機能ブロック上を通過する上位階層の配線を該下位階層の機能ブロック内に埋め込むもので、例えばリピータが挿入された配線を下位階層の機能ブロック上を通過させる場合には、リピータの位置を保持したままで下位階層に埋め込むことにより、機能ブロック間配線の迂回を回避させている。
【００２５】
（２）機能ブロック上を通過すると予想される部分に予め通過用の領域を確保しておくもので、レイアウト前に、下位階層の機能ブロック上に配置配線禁止領域が存在しない領域を作成し、レイアウト後に、その領域に配線を通過させることで、機能ブロック間配線の迂回を回避させている。
【００２６】
しかし、上記従来公報では次のような問題点がある。上記公報（１）の手法では、上位階層の配線を下位階層の機能ブロック内に埋め込むようにしているため、機能ブロック内には上位階層の配線データが含まれており、例えば当該機能ブロックを使って別の製品を製造する場合など、機能ブロックを単体で再利用するのは困難である。
【００２７】
上記公報（２）の手法では、機能ブロック上を通過する配線について、タイミングの最適化を行っていないため、回路全体のタイミングを収束させるのに多くの時間を要する結果、設計時間が増大する。
【００２８】
本発明は、上述の如き従来の問題点を解決するためになされたもので、その目的は、機能ブロック間配線の迂回を回避することができ、且つ設計時間の短縮化、機能ブロックの単体再利用を可能にした半導体集積回路の階層レイアウト方法を提供することである。
【００２９】
【課題を解決するための手段】
上記目的を達成するために、本発明では、複数階層を有する半導体集積回路の回路情報とタイミング制約情報とに基づいて、下位階層の複数の機能ブロックの配置位置を決定する工程と、前記各機能ブロックの配置位置に基づいて、前記各機能ブロック間を接続する配線に関するブロック間配線情報を含むレイアウト情報を生成する工程と、前記レイアウト情報に基づいて下位階層の機能ブロックのレイアウトを行う下位階層レイアウト工程と、前記下位階層レイアウト工程のレイアウト結果に基づいて前記各機能ブロック間を接続する配線を上位階層で実施する上位階層レイアウト工程とを有する半導体集積回路の階層レイアウト方法において、前記下位階層レイアウト工程は、前記ブロック間配線情報を参照して、前記各機能ブロック間を接続する配線の中から前記機能ブロック上を通過する上位階層の配線について配線遅延時間に基づいた選定を行う上位配線見積工程と、前記上位配線見積工程で選定した上位階層の配線に対してタイミング制約を満たすようにタイミング調整を行う上位タイミング調整工程と、前記タイミング調整後に前記配線が通過する下位階層内の領域を配置配線禁止領域として生成する禁止領域生成工程と、前記配置配線禁止領域を除く前記下位階層内の領域でセルの配置及び配線を行うセル配置配線工程と、前記禁止領域生成工程で生成した配置配線禁止領域の禁止状態を解除し、前記セル配置配線工程でセル配置及び配線を行った領域をレイアウト禁止領域に設定する禁止領域変更工程とを有し、前記下位階層レイアウト工程がツールで処理され、前記下位階層には前記機能ブロック間を接続する配線が埋め込まれないことを特徴とする。
【００３０】
他の発明では、複数階層を有する半導体集積回路の回路情報とタイミング制約情報とに基づいて、下位階層の複数の機能ブロックの配置位置を決定する工程と、前記各機能ブロックの配置位置に基づいて、前記各機能ブロック間を接続する配線に関するブロック間配線情報を含むレイアウト情報を生成する工程と、前記レイアウト情報に基づいて、下位階層の機能ブロックのレイアウトを行う下位階層レイアウト工程と、前記下位階層レイアウト工程のレイアウト結果に基づいて前記各機能ブロック間を接続する配線を上位階層で実施する上位階層レイアウト工程とを有する半導体集積回路の階層レイアウト方法において、前記下位階層レイアウト工程は、前記ブロック間配線情報を参照して、前記各機能ブロック間を接続する配線の中から前記機能ブロック上を通過する上位階層の配線について配線遅延時間に基づいた選定を行う上位配線見積工程と、前記上位配線見積工程で選定した上位階層の配線に対して、タイミング制約を満たすようにタイミング調整用セルの挿入を含むタイミング調整を行う上位タイミング調整工程と、前記タイミング調整後に前記配線が通過する機能ブロック内の領域を配置配線禁止領域として生成すると共に、前記タイミング調整用セルが挿入される該機能ブロック内の領域をセル配置禁止領域として生成する禁止領域生成工程と、前記配置配線禁止領域及びセル配置禁止領域を除く前記下位階層内の領域でセルの配置及び配線を行うセル配置配線工程と、前記禁止領域生成工程で生成した前記配置配線禁止領域及び前記セル配置禁止領域の禁止状態を解除し、前記セル配置配線工程でセル配置及び配線を行った領域をレイアウト禁止領域に設定する禁止領域変更工程とを有し、前記下位階層レイアウト工程がツールで処理され、前記下位階層には前記機能ブロック間を接続する配線が埋め込まれないことを特徴とする。
【００３１】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００３２】
図１は、本発明の実施の一形態に係る半導体集積回路の階層レイアウト方法の工程を示すフローチャートである。
【００３３】
この半導体集積回路は、チップ上に複数の機能ブロックを配置し、且つ前記機能ブロックを下位階層とし、前記各機能ブロック端子間の配線を上位階層で相互に配線することで所望の機能を実現するものである。
【００３４】
図１に示すように、本実施形態の半導体集積回路の設計は、概略フロアプラン工程３０２、下位階層レイアウト工程３１０、下位階層タイミング検証工程３１３、上位階層レイアウト工程３１６、階層タイミング検証工程３１７の順に進められる。
【００３５】
本発明の特徴を成す下位階層レイアウト工程３１０は、主に上位配線見積工程４０１、上位タイミング調整工程４０２、禁止領域生成工程４０３、セル配置工程４０４、概略配線工程４０５、詳細配線工程４０６及び禁止領域変更工程４０７で構成される。
【００３６】
以下、各工程について具体的に説明する。
【００３７】
概略フロアプラン工程３０２では、論理合成ツールから生成されたネットリスト（例えばゲートレベルの回路接続情報等）３００と、経路の遅延時間の制約するためのタイミング制約情報３０１を入力とし、各階層機能ブロックの生成及び、各機能ブロックの接続数やセルサイズ、信号の流れなどを考慮し、各機能ブロックの概略配置位置の検討を行う。
【００３８】
この概略フロアプラン工程３０２では、各機能ブロック間を接続するためのブロックピンの位置を決定してブロックピン位置情報３０３を生成する。さらに、各機能ブロックの配置位置とブロックピンの配置位置を基にブロック間配線の仮想配線容量を見積ってブロック間配線情報３０４として生成し、また各機能ブロックやその周辺回路（Ｉ／Ｏ部等）の概略の配置位置情報を含むレイアウト用ネットリスト３０５も生成する。
【００３９】
概略フロアプラン工程３０２後のチップ内の配置イメージを図２に示す。
【００４０】
次の下位階層レイアウト工程３１０では、上述したように上位配線見積工程４０１、上位タイミング調整工程４０２、禁止領域生成工程４０３、セル配置工程４０４、概略配線工程４０５、詳細配線工程４０６、及び禁止領域変更工程４０７に順に進められる。なお、各工程を行う際、前記タイミング制約情報３０１を用いて、タイミングドリブンレイアウトを行う。このタイミングドリブンレイアウトは、従来技術と同様に、機能ブロックを形成する各パス毎あるいは各ネット毎にタイミング制約情報３０１を付加し、与えられたタイミング制約情報３０１を考慮しながらセル配置、セル間の配線を行う機能である。
【００４１】
下位階層レイアウト工程３１０における上位配線見積工程４０１では、概略フロアプラン工程３０２で生成されたブロックピン位置情報３０３、ブロック間配線情報３０４、レイアウト用のネットリスト３０５、タイミング制約情報３０１を入力とし、上位階層の配線において下位階層（機能ブロック内）に配線通過領域が必要な配線を選定する。この配線としては、例えばスピードの厳しい配線（クリティカルパス等）やＣＴＳ用配線などが挙げられる。すなわち、各機能ブロック間を接続する配線の中から機能ブロック上を通過する上位階層の配線を、配線遅延時間を考慮して選定する。このとき、参照データの一つとして、前記ブロック間配線情報３０４を用いるが、本実施形態では、従来のように、ブロック間の配線情報を単に下位階層の配線工程の参照データとして使用するのではなく、本発明の特徴である上位配線見積工程の参照データとして使用している。
【００４２】
上位タイミング調整工程４０２では、上位配線見積工程４０１で見積もった通過配線に対し、配線長の短縮や配線経路の変更などで前記タイミング制約を満たすようにタイミング調整を行い、図３に示すように、この通過配線の配線領域５１０ａ，５１０ｂを確保する。また、前記タイミング制約を満たせなかった場合に、図４に示すように、同一論理で前記タイミング制約を満たすためにリピータの挿入領域５１１の生成も行う。
【００４３】
このように、上位階層の配線を考慮して下位階層の配線領域を仮想に設定する。
【００４４】
続く禁止領域生成工程４０３では、上位タイミング調整工程４０２で見積もった通過配線領域５０１ａ，５１０ｂを、下位階層の配置配線禁止領域として生成する。但し、この配置配線禁止領域は、全ての配線を禁止しているわけではなく、上位タイミング調整工程４０２で見積もった配線層のみを禁止としている。また、上位タイミング調整工程４０２でリピータの挿入が必要な場合には、そのリピータ挿入領域５１１を下位階層のセル禁止領域として生成する。上記配置配線禁止領域５０１ａ，５１０ｂとセル禁止領域（５１１）が設けられたチップ内のイメージ図を図５に示す。
【００４５】
次のセル配置工程４０４では、前記レイアウト用ネットリスト３０５を基に、前記タイミング制約を満たすことのできる配置位置の検討を行いながら、全てのセルの配置位置を決定する。但し、禁止領域生成工程４０３で生成されたセル禁止領域（５１１）には配置することができない。この状態のチップ内のイメージ図を図６に示す。
【００４６】
概略配線工程４０５では、従来技術と同様に前記レイアウト用ネットリスト３０５を基に、前記タイミング制約を満たすことのできる配線経路の検討を行いながら全接続の配線経路を決定する。但し、禁止領域生成工程４０３で生成された配置配線禁止領域（５０１ａ，５１０ｂ）には上位タイミング調整工程４０２で見積もった配線層が配線できない。
【００４７】
詳細配線工程４０６では、従来技術と同様に概略配線工程４０５で決定された配線経路を基に、各ネット毎に他の配線との配線間隔などを考慮しながら全ての詳細配線を実施する。この状態のチップ内のイメージ図を図７に示す。
【００４８】
これらのセル配置工程４０４、概略配線工程４０５及び詳細配線工程４０６では、禁止領域生成工程４０３で生成された配置配線禁止領域５０１ａ，５１０ｂとセル禁止領域５１１があるために、これら禁止領域以外の領域のみに着目して配置配線を行うことができる。
【００４９】
そして、禁止領域変更工程４０７では、データの反転処理等により、禁止領域生成工程４０３で生成した禁止領域（５０１ａ，５１０ｂと５１１）の禁止状態を解除し、セル配置工程４０４、概略配線工程４０５及び詳細配線工程４０６で作成されたセル領域及び配線領域をレイアウト禁止領域として生成する。この状態のチップ内のイメージ図を図８に示す。これによって、レイアウト済みの下位階層の領域をレイアウト禁止領域とすることができ、下位階層のレイアウトが決定する。
【００５０】
その後に実施される下位階層タイミング検証工程３１３では、従来と同様に、下位階層のレイアウトデータが前記タイミング制約を満たしているかの検証を行う。前記タイミング制約情報を全て満たしていれば、上位階層レイアウト工程３１６へ移行する。
【００５１】
上位階層レイアウト工程３１６では、それぞれの下位階層ブロックレイアウト結果をトップ階層に組み上げ、トップ階層のレイアウト用ネットリスト３０５を基に機能ブロック間の接続を行う。この時、上記通過配線領域５１０ａ，５１０ｂ内に、上記上位配線見積工程４０１で選定された通過配線の接続を行う。
【００５２】
図９に示すように、通過配線５２０は、ブロックピン５０５からリピータ５２３を介して通過配線５２２に接続されている。さらに、通過配線５２２はブロックピン５０６に接続されている。
【００５３】
この時、通過配線５２１，５２２は、上記上位配線見積工程４０１で選定された配線で、上記禁止領域変更工程４０７で生成された配置配線禁止領域（ＯＢＳ）の存在しない領域に配線されていることが分かる。また、リピータ５２３は、上記上位タイミング調整工程４０２で生成された下位階層のリピータ挿入領域５１１に配置されている。なお、上位階層に回路が存在する場合には、下位階層レイアウト工程３１０と同様の処理を実施する。また、図１０に、リピータを配置しなかった場合の通過配線５２０の配置例を示す。
【００５４】
その後の階層タイミング検証工程３１７では、従来技術と同様に、前記各機能ブロック内、ブロック間の総合的なタイミング検証を行う。回路全体の所望する全てのタイミングを満たしていれば、半導体集積回路の設計は終了である。
【００５５】
一方、上記下位階層タイミング検証工程３１３及び階層タイミング検証工程３１７において、タイミング制約情報３０１を満たせなかったときは、そのタイミング制約を満たせなかったパスに着目し、部分的なセルの入れ替え、またはリピータの追加によって駆動能力を高めるため、駆動能力最適化工程３１４とセル入れ替え追加工程３１５を前記タイミング制約が満たされるまで実行する。なお、駆動能力最適化工程３１４、及びセル入れ替え追加工程３１５は、従来例（図１２参照）と同様に行う。
【００５６】
本実施形態では、上述したように、下位階層レイアウト工程３１０において、機能ブロック上を通過する上位階層の配線（通過配線）についてタイミングの最適化を行って（上位配線見積工程４０１、上位タイミング調整工程４０２）、下位階層の機能ブロック内に配線領域を確保し（上記公報（１）のように、下位階層に通過配線を埋め込まない）、さらに、レイアウト済みの下位階層の領域をレイアウト禁止領域として下位階層のレイアウトを決定（禁止領域変更工程４０７）している。
【００５７】
これにより、機能ブロック内には上位階層の配線データが含まれていないため、機能ブロックを使って別の製品を製造する場合など、機能ブロックを単体で再利用することが容易に行える。さらに、従来例（図１２参照）のように、部分的なセルの入れ替えまたはリピータの追加ではタイミング制約を満たすことができない場合に概略フロアプラン工程に戻り、フロアプランの再検討及び再レイアウトを行う、といった戻り処理を行わないで済む。従来例（図１２参照）や上記公報（２）の手法では、回路全体のタイミングを収束させるのに多くの時間を要するが、本実施形態では、通過配線について見積段階でタイミングの最適化を行っているためレイアウトデータの処理量が軽減し、設計時間が大幅に短縮される。
【００５８】
図１１（ａ），（ｂ）は、従来例（図１２参照）のレイアウト全体の期間内訳と本実施形態によるレイアウト全体の期間内訳をＸ方向時間軸で比較した一例を示す図である。同図（ａ）は従来例のレイアウト全体の期間内訳を示し、同図（ｂ）は本実施形態によるレイアウト全体の期間内訳を示している。
【００５９】
時間軸“０”の左側から従来例のレイアウト全体の期間内訳と本実施形態によるレイアウト全体の期間内訳を比較してみると、まず、従来例、本実施形態共に概略フロアプラン工程では同じ時間である。次に、下位階層レイアウト工程では、上位配線を見積もった本実施形態の方の時間が長くなっている。しかしながら、本実施形態おいて、下位階層タイミング検証工程から階層タイミング検証工程で終了しているにもかかわらず、従来例では、セル入れ替え追加工程から、また概略フロアプラン工程に戻り、同じ工程を繰り返している。これは、上述したように従来例では下位階層レイアウト工程で上位配線を見積もっていないため、上位階層においてタイミング制約を満たせずに生じたフローである。
【００６０】
従来例（図１２参照）では、回路規模が大きくなるほど上位階層において配線が長くなる可能性があり、最悪の場合はタイミング制約を満たせず、レイアウトが終了してしまうことになるが、本実施形態では、フローの繰り返しが少なくなるので処理時間の短縮を図ることができる。また、下位階層を迂回していた上位階層の配線も迂回せずに配線でき、チップサイズの増大を防ぐことが可能になる。
【００６１】
なお、下位階層レイアウト工程３１０でタイミングドリブンレイアウトを行うとして説明したが、タイミングドリブンレイアウト機能を用いず通常のブロックレイアウトを行っても同様の効果が得られる。
【００６２】
また、上述した実施形態では、下位階層が１つの場合の例を示しているが、下位階層の数に制限はない。さらに、上記実施形態では、リピータ挿入の例を示しているが、リピータである必要はなく、インバータ、ＣＴＳ用のバッファ、回路ブロック、あるいは遅延素子でも構わない。
【００６３】
【発明の効果】
以上詳細に説明したように本発明によれば、機能ブロック間配線の迂回を回避することができ、且つ設計時間の短縮化、機能ブロックの単体再利用を可能にすることが可能になる。
【図面の簡単な説明】
【図１】  本発明の実施の一形態に係る半導体集積回路の階層レイアウト方法の工程を示すフローチャートである。
【図２】  概略フロアプラン工程３０２後のチップ内の配置を示すイメージ図である。
【図３】  上位タイミング調整工程４０２で確保された通過配線の配線領域を示すイメージ図である。
【図４】  上位タイミング調整工程４０２で確保されたリピータの挿入領域を示すイメージ図である。
【図５】  禁止領域生成工程４０３で設けられた配置配線禁止領域とセル禁止領域を示すイメージ図である。
【図６】  セル配置工程４０４でセルの位置が行われたチップ内のイメージ図である。
【図７】  概略配線工程及び詳細配線工程後のチップ内のイメージ図である。
【図８】  禁止領域変更工程後のチップ内のイメージ図である。
【図９】  上位階層レイアウト工程後のチップ内のイメージ図である。
【図１０】  上位階層レイアウト工程後（リピータを配置しなかった場合）のチップ内のイメージ図である。
【図１１】  従来例のレイアウト全体の期間内訳と本実施形態によるレイアウト全体の期間内訳を比較したグラフの一例を示す図である。
【図１２】  従来の半導体集積回路の階層レイアウト方法を示すフローチャートである。
【図１３】  上位階層レイアウト工程後のブロック間配線を示すイメージ図である。
【符号の説明】
３０２  概略フロアプラン工程
３１０  下位階層レイアウト工程
３１３  下位階層タイミング検証工程
３１６  上位階層レイアウト工程
３１７  階層タイミング検証工程
４０１  上位配線見積工程
４０２  上位タイミング調整工程
４０３  禁止領域生成工程
４０４  セル配置工程
４０５  概略配線工程４０６  詳細配線工程
４０７  禁止領域変更工程
５０１  チップの外枠
５０２  Ｉ／Ｏセル
５０３  コーナーセル
５０４  ブロック間配線
５０５，５０６ブロックピン
５０７、５０８、５０９  機能ブロック
【図１】
0004071507.tif 000002
【図２】
0004071507.tif 000003
【図３】
0004071507.tif 000004
【図４】
0004071507.tif 000005
【図５】
0004071507.tif 000006
【図６】
0004071507.tif 000007
【図７】
0004071507.tif 000008
【図８】
0004071507.tif 000009
【図９】
0004071507.tif 000010
【図１０】
0004071507.tif 000011
【図１１】
0004071507.tif 000012
【図１２】
0004071507.tif 000013
【図１３】
0004071507.tif 000014