(57)【要約】【課題】  設計期間の短縮または設計の容易化を実現可能な半導体集積回路の設計方法および設計装置を提供する。【解決手段】  チップ全体をトップと複数のブロックとに分割し、この複数のブロックの配置配線を行う際（Ｓ１０２，Ｓ１０４）に、自身のブロック以外に属するデータであってこの自身のブロックに対する信号入出力に関連するデータ（論理データ、物理データおよびＲＣデータ）を抽出したブロック用ＩＬＭを用いる。また、このブロック用ＩＬＭを用いたブロックの配置配線は、２段階で行われ、一方の段階（Ｓ１０２）では、例えば、仮配置に基づくＲＣデータを備えたブロック用ＩＬＭを用い、他方の段階（Ｓ１０４）では、実際の配置配線（Ｓ１０２，Ｓ１０４）に基づくＲＣデータを備えたブロック用ＩＬＭを用いる。【選択図】  図１
2006338090.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用い、チップ全体の設計データを複数のブロックの設計データに分割してレイアウト設計を行う半導体集積回路の設計方法であって、
前記複数のブロックのそれぞれに対して、自身のブロック以外の設計データの中から前記自身のブロックへの信号入出力に関連する設計データをインタフェースモデルとして抽出することで、前記複数のブロックにそれぞれ対応した複数のインタフェースモデルを生成する処理と、
前記それぞれのブロックに対する境界部の条件として前記生成したインタフェースモデルを用いることで、前記複数のブロックの配置配線を行う処理とを有することを特徴とする半導体集積回路の設計方法。
【請求項２】
請求項１記載の半導体集積回路の設計方法において、
前記インタフェースモデルの設計データは、
ネットリストのデータとなる論理データと、
セルの配置情報を含む物理データと、
前記物理データによって得られるＲＣデータとを有することを特徴とする半導体集積回路の設計方法。
【請求項３】
請求項１記載の半導体集積回路の設計方法において、
前記配置配線を行う処理の中には、最適化の処理が含まれることを特徴とする半導体集積回路の設計方法。
【請求項４】
コンピュータを用い、チップ全体の設計データをトップの設計データと複数のブロックの設計データとに分割してレイアウト設計を行う半導体集積回路の設計方法であって、
前記複数のブロックのそれぞれに対して、自身のブロック以外の設計データの中から前記自身のブロックへの信号入出力に関連する設計データをインタフェースモデルとして抽出することで、前記複数のブロックにそれぞれ対応した複数の第１インタフェースモデルを生成する第１処理と、
前記トップに対して、前記トップ以外の設計データの中から前記トップへの信号入出力に関連する設計データを第２インタフェースモデルとして生成する第２処理と、
前記それぞれのブロックに対する境界部の条件として前記生成した第１インタフェースモデルを用いることで、前記複数のブロックの配置配線を行う第３処理と、
前記トップに対する境界部の条件として前記生成した第２インタフェースモデルを用いることで、前記トップの配置配線を行う第４処理と、
前記複数のブロックおよび前記トップの配置配線後の設計データを用い、前記配置配線後の複数のブロックのそれぞれに対して、自身のブロック以外の設計データの中から前記自身のブロックへの信号入出力に関連する設計データをインタフェースモデルとして抽出することで、前記配置配線後の複数のブロックにそれぞれ対応した複数の第３インタフェースモデルを生成する第５処理と、
前記配置配線後のそれぞれのブロックに対する境界部の条件として前記生成した第３インタフェースモデルを用いることで、前記複数のブロックの配置配線の微調整を行う第６処理とを有することを特徴とする半導体集積回路の設計方法。
【請求項５】
請求項４記載の半導体集積回路の設計方法において、
前記第１処理に際し、前記トップおよび前記複数のブロックに対してセルの仮の配置配線が行われ、
前記第１インタフェースモデルの設計データは、
ネットリストのデータとなる論理データと、
前記仮の配置配線後の情報である物理データと、
前記物理データによって得られるＲＣデータとを有することを特徴とする半導体集積回路の設計方法。
【請求項６】
請求項４記載の半導体集積回路の設計方法において、
前記第１処理に際し、前記トップおよび前記複数のブロックに対してセルの仮の配置配線が行われ、
前記第２インタフェースモデルの設計データには、前記仮の配置配線後の情報である物理データが含まれることを特徴とする半導体集積回路の設計方法。
【請求項７】
請求項４記載の半導体集積回路の設計方法において、
前記第３インタフェースモデルの設計データは、
ネットリストのデータとなる論理データと、
前記第３処理および前記第４処理における前記配置配線の結果を反映したＲＣデータとを有することを特徴とする半導体集積回路の設計方法。
【請求項８】
請求項４記載の半導体集積回路の設計方法において、
前記第３処理には、最適化の処理が含まれ、
前記第３処理で前記複数のブロックのそれぞれの境界部を最適化する際には、前記複数のブロックと前記複数の第１インタフェースモデルの両方に対して最適化が行われることを特徴とする半導体集積回路の設計方法。
【請求項９】
請求項４記載の半導体集積回路の設計方法において、
前記第６処理には、最適化の処理が含まれ、
前記第６処理で前記複数のブロックのそれぞれの境界部を最適化する際には、前記複数の第３インタフェースモデルを参照して、前記複数のブロックに対して最適化が行われることを特徴とする半導体集積回路の設計方法。
【請求項１０】
コンピュータを用い、チップ全体の設計データを複数のブロックの設計データに分割してレイアウト設計を行う半導体集積回路の設計装置であって、
前記コンピュータは、
前記複数のブロックのそれぞれに対して、自身のブロック以外の設計データの中から前記自身のブロックへの信号入出力に関連する設計データをインタフェースモデルとして自動的に抽出することで、前記複数のブロックにそれぞれ対応した複数のインタフェースモデルを自動で生成する処理と、
前記それぞれのブロックに対する境界部の条件として前記生成したインタフェースモデルを用い、予め設定した前記チップ全体のタイミング制約に基づいて、前記複数のブロックの配置配線を自動的に行う処理とを有することを特徴とする半導体集積回路の設計装置。
【請求項１１】
請求項１０記載の半導体集積回路の設計装置において、
前記生成されるインタフェースモデルの設計データは、
ネットリストのデータとなる論理データと、
セルの配置情報を含む物理データと、
前記物理データによって得られるＲＣデータとを有することを特徴とする半導体集積回路の設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計方法および設計装置に関し、特にマイクロコンピュータなどを代表とする大規模な半導体集積回路のレイアウト設計方法および設計装置に適用して有効な技術に関するものである。
【背景技術】
【０００２】
例えば、半導体集積回路のレイアウト設計手法として、階層化設計と呼ばれる手法やタイミングバジェットと呼ばれる手法が広く用いられている。階層化設計手法とは、大規模の半導体集積回路を、例えば、それぞれ自動レイアウトツールで取り扱える程度の回路規模を備えた下位階層（複数のブロック）と、これらのブロックを統合する上位階層（トップ）とに切り分けて設計を行う手法である。タイミングバジェットとは、このような階層化設計において、例えばトップの制約と環境等から各ブロック毎の制約ファイル（タイミング条件など）を自動的に生成する手法である。したがって、各ブロックは、この生成された制約ファイルに基づいて、それぞれ並行して設計を行うことが可能になる。なお、タイミングバジェットの処理を行うことを、通常、バジェッティングと呼ぶ。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、前記のような半導体集積回路の設計方法について、本発明者が検討した結果、以下のようなことが明らかとなった。
【０００４】
まず、前述した階層化設計およびタイミングバジェットを用いた際の詳細な設計方法について説明する。図１３は、本発明の前提として検討した半導体集積回路の設計方法において、そのレイアウト設計フローの一例を示すフロー図である。
【０００５】
図１３に示す設計フローでは、まず、トップレベルのフロアプラン（ＦＰ）データに対してパーティションの作成やバジェッティングが行われる（Ｓ１２０１）。すなわち、階層化設計によって、トップのデータと複数のブロックのデータとに切り分けられる。そして、この際に、フルチップでの制約ファイル（フルチップＳＤＣ）を用いて、フルチップでの静的タイミング解析（ＳＴＡ：Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）と共にバジェッティングが行われる。これによって、各ブロック毎の制約ファイル（バジェット後ＳＤＣ）が生成される。更に、ＩＰＯ（Ｉｎｐｌａｃｅ  Ｏｐｔｉｍｉｚａｔｉｏｎ）などと呼ばれる、タイミングを考慮した論理最適化処理なども行われる。
【０００６】
なお、前述した制約ファイルとしては、例えば、タイミング制約を表現する際の標準フォーマットであるＳＤＣ（Ｓｙｎｏｐｓｙｓ  Ｄｅｓｉｇｎ  Ｃｏｎｓｔｒａｉｎｔ）と呼ばれるものが広く知られている。したがって、便宜上、図面および以降の説明においては、制約ファイルのことをＳＤＣと呼ぶ場合がある。
【０００７】
次に、トップの配置配線（Ｐ＆Ｒ：Ｐｌａｃｅ  ａｎｄ  Ｒｏｕｔｅ）や、前述したバジェット後ＳＤＣを満たすように各ブロックの配置配線が行われる（Ｓ１２０２）。その後、この配置配線後のトップのデータおよびブロックのデータを組み合わせて、各セルやパスなどの高精度な実負荷データを抽出し、この実負荷データを使用して、再度、フルチップでのＳＴＡと共にバジェッティングが行われる（Ｓ１２０３）。これによって、再度、制約ファイル（再バジェット後ＳＤＣ）を生成し、これに基づいて、再度、ブロックおよびトップの高精度な配置配線（いわば微調整）が行われる（Ｓ１２０４）。このような処理を経てチップのレイアウトが完成する（Ｓ１２０５）。
【０００８】
なお、ブロックの配置配線では、例えばトップからブロックを見た場合の当該ブロックのタイミングモデルとして、トップレベルとの入出力部分のみに特化することで情報量を軽減したタイミングモデルを生成することが可能である。このようなタイミングモデルとしては、例えば、入出力部分の論理データ（ネットリスト）と論理データに基づくＲＣデータを備えたＩＬＭ（Ｉｎｔｅｒｆａｃｅ  Ｌｏｇｉｃ  Ｍｏｄｅｌ）と呼ばれるものが知られている。
【０００９】
しかしながら、このような設計フローについて本発明者が検討した結果、例えば次のような問題点が明らかとなった。
【００１０】
（１）前述したようなバジェッティングでは、フルチップでのＳＴＡが必要なため、設計ツールの負荷が大きくなり、解析時間が長くなってしまう。場合によっては、日単位の解析時間を要することもある。図１４は、図１３の設計フローにおいて、そのバジェッティングの問題点を説明するための回路例である。
【００１１】
図１４においては、例えば、トップＴＰに、それぞれクロック信号ｃｌｋ１，ｃｌｋ２を発生するクロック発生回路ＣＰＧ１，ＣＰＧ２と、フリップフロップＦＦ１とが設けられ、ブロックＢＬＫに、フリップフロップＦＦ２が設けられている。ＦＦ１は、ｃｌｋ１またはｃｌｋ２が入力され、ＦＦ２は、ＢＬＫのクロック入力端子ＣＩＮを介してｃｌｋ１またはｃｌｋ２が入力される。また、ＦＦ１の出力信号は、ＢＬＫの信号入力端子ＤＩＮを介してＦＦ２に入力される。
【００１２】
このような構成に対してバジェッティングを行う場合、ＳＤＣとして例えばＸ１，Ｘ２，Ｙ，Ｚの値を求める必要がある。Ｘ１，Ｘ２は、それぞれＣＰＧ１，ＣＰＧ２が発生したｃｌｋ１，ｃｌｋ２がＣＩＮに到達するまでに要する遅延時間である。また、Ｙ，Ｚは、それぞれＣＰＧ１，ＣＰＧ２がｃｌｋ１，ｃｌｋ２を発生してから、ＦＦ１によってＤＩＮに信号が入力されるまでに要する遅延時間である。そして、このような値を求めるためには、ＴＰとＢＬＫを含むフルチップ状態でのＳＴＡが必須となる。
【００１３】
（２）前述したようなバジェッティングを行う際、ブロック境界のタイミングが複雑化し、制約数の増大を招く場合がある。そして、これによって、設計ツールの負荷が大きくなり、解析時間が長くなってしまう恐れがある。図１５は、図１３の設計フローにおいて、そのバジェッティングの他の問題点を説明するための回路例である。
【００１４】
図１５においては、例えば、トップＴＰに、それぞれクロック信号ｃｌｋ１，ｃｌｋ２を発生するクロック発生回路ＣＰＧ１，ＣＰＧ２と、フリップフロップＦＦ１，ＦＦ２とが設けられ、ブロックＢＬＫに、フリップフロップＦＦ３が設けられている。ＦＦ１，ＦＦ２は、ｃｌｋ１またはｃｌｋ２が入力され、ＦＦ３は、ＢＬＫのクロック入力端子ＣＩＮを介してｃｌｋ１またはｃｌｋ２が入力される。ＦＦ１からの信号出力は、ＢＬＫの信号入力端子ＤＩＮを介してＦＦ３に入力される。ここで、この信号転送には、ユーザ設定のタイミング制約として最大遅延が設定されているものとする。
【００１５】
一方、ＦＦ２からの信号出力は、ＤＩＮを介してＦＦ３に入力される。ここで、この信号転送には、ユーザ設定のタイミング制約としてマルチサイクルパスが設定されているものとする。このように、特に複数のクロック信号を含み、更に最大遅延やマルチサイクルパスの制約がなされている場合などでは、それをバジェッティングによってＤＩＮの制約条件に変換する際に多くの制約条件が発生することになる。図１５では、例えば８種類の制約条件が発生している。また、場合によっては、本来必要となる制約条件を十分に発生できないこともある。更には、このような複雑化によってソフトウエア上の不具合が発生することもある。
【００１６】
（３）バジェッティングに伴うイタレーションによって、設計期間の増大を招く恐れがある。図１６は、図１３の設計フローにおいて、そのバジェッティングの更に他の問題点を説明するための図である。イタレーションとは、図１６に示すように、フルチップＳＤＣを用いてバジェッティングを行った後、それによって生成されたＳＤＣをチェックし、タイミング違反があった場合の原因を究明して、フィードバックを行う一連の作業のことを言う。
【００１７】
タイミング違反としては、例えば、フルチップＳＤＣに問題がある場合や、バジェッティングの処理自体に問題がある場合や、タイミングの最適化が不十分である場合や、真のタイミング違反である場合などが挙げられる。したがって、これらの切り分けを行って、原因に応じた対策を講じる必要がある。これらの確認は設計者などによって行われ、通常、非常に時間と手間を要する作業となる。また、これに要する時間は、設計者の能力に依存することにもなる。そして、タイミング違反の原因およびその対策内容によっては、例えば、図１３のＳ１２０５からＳ１２０２の間で度々設計戻りが発生することもある。
【００１８】
（４）配置配線後の解析および最適化が困難となる場合がある。図１７は、図１３の設計フローにおいて、そのバジェッティングの更に他の問題点を説明するための回路例である。図１７においては、例えば、トップＴＰに、クロック信号ｃｌｋ１を発生するクロック発生回路ＣＰＧ１と、フリップフロップＦＦ１とが設けられ、ブロックＢＬＫに、フリップフロップＦＦ２が設けられている。ＦＦ１は、ｃｌｋ１が入力され、ＦＦ２は、ＢＬＫのクロック入力端子ＣＩＮを介してｃｌｋ１が入力される。ＦＦ１からの信号出力は、ＢＬＫの信号入力端子ＤＩＮを介してＦＦ２に入力される。
【００１９】
このような構成において、例えばバジェッティングによって生成したタイミング制約を用いてブロックＢＬＫの設計を行う際、タイミング制約によってＣＩＮやＤＩＮからＦＦ２までの遅延時間を考慮することは可能である。しかしながら、例えばクロック信号ｃｌｋ１のジッタやスキューなどに伴う遅延時間のばらつきを十分に考慮することは困難となっている。
【００２０】
すなわち、このようなばらつきの解析および最適化は、例えば、ＯＣＶ（Ｏｎ  Ｃｈｉｐ  Ｖａｒｉａｔｉｏｎ）と呼ばれる処理や、ＣＲＰＲ（Ｃｌｏｃｋ  Ｒｅｃｏｎｖｅｒｇｅｎｔ  Ｐｅｓｓｉｍｉｓｍ  Ｒｅｍｏｖａｌ）と呼ばれる処理によっておこなわれる。このような処理を用いると、例えば、電圧／温度等の変動を考慮して遅延時間のばらつき計算され、このばらつきを補償するため、例えば信号パスにセルが挿入されるといったことが行われる。また、クロック信号のばらつきを正確に計算するために、例えば、図１７のＦＦ１とＦＦ２で共通して用いられるクロックパスを解析する処理なども行われる。
【００２１】
したがって、例えば図１７のＦＦ１とＦＦ２の間の信号転送のばらつきを、前述した処理によって解析および最適化するためには、ＴＰとＢＬＫを含めた回路（すなわちフルチップ）での処理が結果的に必要となる。なお、このフルチップでの処理結果を、例えばＤＩＮでのタイミング制約に反映させて、ＢＬＫの設計を行うような手法も考えられるが、実際上、正確なばらつきをタイミング制約に反映させることは極めて困難である。このように、制約ファイルでは、設計に必要な情報を十分に表現できない場合があり、後に設計戻りが発生する要因になり得る。
【００２２】
また、前述した（１）〜（４）以外にも、例えば、ブロックの設計を行う際に、ブロック外の物理的情報がまったく見えなくなるため、レイアウト時に考慮すべきシグナルインティグリティ、ＤＦＭ（Ｄｅｓｉｇｎ  ｆｏｒ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）、チップばらつきに対する考慮が不十分となることもある。以上で述べたようなことは、バジェッティングの設計手法を用いる限り解決できない問題である。そして、これらの問題によって、設計が複雑化し、また、設計期間が増大している。
【００２３】
そこで、本発明の目的は、設計期間の短縮を実現する半導体集積回路の設計方法および設計装置を提供することにある。また、本発明の他の目的は、設計の容易化を実現する半導体集積回路の設計方法および設計装置を提供することにある。
【００２４】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２５】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００２６】
本発明の半導体集積回路の設計方法は、レイアウト設計ツールなどのコンピュータを用いて、チップ全体の設計データを複数のブロックの設計データに分割してレイアウト設計を行うものとなっている。そして、この各ブロックの配置配線を行う際に、各ブロックの境界条件として、自身のブロック以外の設計データの中からこの自身のブロックへの信号入出力に関連する設計データを抽出したインタフェースモデルを用いるものとなっている。これによって、従来技術で用いられていたバジェッティングが不要となり、このバジェッティングに伴う設計期間の遅延や、レイアウト設計の複雑化などを抑制することが可能となる。
【００２７】
ここで、このインタフェースモデルの設計データには、ネットリストなどの論理データに加えて、セルの配置配線または仮の配置配線を行った後の物理データと、この物理データから抽出したＲＣデータとを持たせることが望ましい。これによって、各ブロックの配置配線を行う際に、高精度にタイミングを考慮することが可能となり、設計期間の短縮が実現できる。また、各ブロックの配置配線に伴い各ブロックの境界部を最適化する際に、前述したような設計データを備えたインタフェースモデルを用いることで、最適化が容易となり、最適化の効率が大きく向上する。
【００２８】
また、本発明の半導体集積回路の設計方法は、コンピュータを用いて、チップ全体の設計データをトップの設計データと複数のブロックの設計データとに分割してレイアウト設計を行うものであり、更に、前述したようなインタフェースモデルを用いた各ブロックの配置配線を２段階で行うものとなっている。すなわち、最初の段階の配置配線では、トップおよび各ブロック内のセル配置が行われ、次の段階の配置配線では、一旦セル配置が行われた状態から高精度なＲＣデータなどを抽出し、このＲＣデータなどに基づいてセル配置の微調整が行われる。
【００２９】
ここで、この２段階の配置配線に伴い、インタフェースモデルも２段階を備える。最初の段階のインタフェースモデル（第１インタフェースモデル）では、論理データに加えて、セルの仮の配置配線後の物理データおよびこれから得られるＲＣデータを備えることが望ましい。すなわち、最初の段階の配置配線以前に、予めセルの仮の配置配線を行っておき、この状態から第１インタフェースモデルの物理データおよびＲＣデータを生成することが望ましい。これによって、早い段階から高精度なタイミングを考慮したレイアウト設計が可能となり、設計期間の短縮が実現できる。
【００３０】
また、次の段階のインタフェースモデル（第３インタフェースモデル）では、論理データに加えて、最初の段階の配置配線から得られたＲＣデータを持たせる。そして、このインタフェースモデルを用いて各ブロックの配置配線の微調整を行うことで、レイアウトの完成に向けた、各ブロック内のセル配置の微調整および最適化などを容易かつ的確に行うことが可能になる。
【００３１】
なお、トップの配置配線を行う際も、前述した各ブロックの配置配線と同様に、トップ以外の設計データの中からトップへの信号入出力に関連する設計データを抽出したインタフェースモデル（第２インタフェースモデル）を用いることが望ましい。そして、この第２インタフェースモデルも、第１インタフェースモデルなどを同様に、論理データと物理データとＲＣデータとを持たせるとよい。これによって、トップの境界部における最適化が容易または効率的となり、設計期間の短縮が実現可能となる。
【発明の効果】
【００３２】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、半導体集積回路の設計期間の短縮または設計の容易化が実現可能となる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００３４】
図１は、本発明の一実施の形態による半導体集積回路の設計方法において、そのレイアウト設計フローの一例を示すフロー図である。図１のレイアウト設計フローの主要な特徴は、各ブロックの境界条件としてバジェッティングのＳＤＣを用いずに、その代わりにインタフェースモデルであるブロック用ＩＬＭを生成し、このブロック用ＩＬＭを境界条件として用いることで各ブロックの配置配線を行うことにある。以降、図１のレイアウト設計フローを簡単に説明し、その後、このレイアウト設計フロー内の各詳細な処理内容について説明する。
【００３５】
図１に示すレイアウト設計フローでは、まず、チップ全体のデータとなるトップレベルのフロアプラン（ＦＰ）データから、トップおよび複数のブロックの切り出しを行い、各ブロック毎に対応する初期のブロック用ＩＬＭを生成する（Ｓ１０１）。次いで、この切り出したトップのデータと複数のブロックのデータに対する配置配線を行う。ここで、この複数のブロックの配置配線を行う際には、各ブロックのデータと共に、各ブロック毎に対応するブロック用ＩＬＭが用いられる（Ｓ１０２）。これらの配置配線の終了後、一旦トップとブロックを統合して実負荷データを抽出し、この実負荷データを含めた再調整用のブロック用ＩＬＭを生成する（Ｓ１０３）。そして、この再調整用のブロック用ＩＬＭを用いて、トップおよびブロックに対していわば微調整となる配置配線を行い（Ｓ１０４）、これによってチップのレイアウトが完成する（Ｓ１０５）。
【００３６】
次に、図１のレイアウト設計フローの詳細な処理内容の一例について説明する。まず、Ｓ１０１やＳ１０３で作成されるブロック用ＩＬＭとは、例えば次のようなものとなっている。
【００３７】
図２は、図１のレイアウト設計フローにおいて、ブロック用ＩＬＭの論理データの一例を説明するための回路図である。図２においては、例えば、トップＴＰに、それぞれクロック信号ｃｌｋ１，ｃｌｋ２を発生するクロック発生回路ＣＰＧ１，ＣＰＧ２と、フリップフロップＦＦ１，ＦＦ３とが設けられ、ブロックＢＬＫ１に、フリップフロップＦＦ２が設けられている。ＦＦ１，ＦＦ３は、ｃｌｋ１またはｃｌｋ２が入力され、ＦＦ２は、ＢＬＫ１のクロック入力端子ＣＩＮ１を介してｃｌｋ１またはｃｌｋ２が入力される。また、ＦＦ３の出力信号は、組み合わせ論理を介してＦＦ１に入力され、更にＦＦ１の出力信号は、ＢＬＫ１の信号入力端子ＤＩＮ１とその前後の組み合わせ論理を介してＦＦ２に入力される。なお、図２のように、ＴＰには、通常、クロック系の回路を代表とする各ブロックで共通使用される回路が割り当てられる。
【００３８】
このような構成において、Ｓ１０１やＳ１０３の処理では、ＢＬＫ１に対応するブロック用ＩＬＭとして、図２のようにＢＬＫ１以外（この例ではトップＴＰ内）の一部の回路となるＢ＿ＩＬＭ１を抽出する。図２のＢ＿ＩＬＭ１は、ＴＰの回路内で、ＢＬＫ１の入力端子ＣＩＮ１およびＤＩＮ１のタイミングに直接関連している回路、すなわちＴＰの回路の中から、ＢＬＫ１への入出力部分を抽出した回路である。これは、図１３で前述したＩＬＭのモデルと同様のものであるが、図１３ではトップからブロックを見た場合に必要な回路を抽出するのに対し、ここではブロックからそのブロック以外（ここではトップ）を見た場合に必要な回路を抽出することになる。
【００３９】
図２の例では、Ｂ＿ＩＬＭ１として、ＣＩＮ１に接続されているクロックパス（すなわち、ＣＰＧ１およびＣＰＧ２までのクロックパス）と、ＤＩＮ１に接続されている信号パス（すなわち、ＦＦ１までの信号パス）と、ＦＦ１のクロックパスとが抽出されている。このようなパスの抽出は、例えばネットリストデータなどを辿ることで容易に実現できる。また、Ｂ＿ＩＬＭ１は、図２のような論理データ（ネットリストデータ）に加えて、図３で述べるような物理データやＲＣデータを備える。ただし、Ｂ＿ＩＬＭ１のデータ量としては、入出力部分に関連した部分のみのデータであるため、少ないデータ量で足りることになる。
【００４０】
図３は、図１のレイアウト設計フローにおいて、ブロック用ＩＬＭが備える物理データの一例を説明するためのレイアウト概略図である。例えば、図３の左図に示すように、チップ全体の物理データとして、トップＴＰおよび２つのブロックＢＬＫ１，ＢＬＫ２の物理データ（フロアプランデータ、セル配置データ）が存在する場合を想定する。このようなチップにおいて、例えば、ＢＬＫ２の配置配線を行う際は、図３の右図に示すようなセルの配置情報を含む物理データやこの物理データから抽出したＲＣデータ（実負荷データ）を備えたブロック用ＩＬＭ（Ｂ＿ＩＬＭ２）が用いられる。
【００４１】
なお、図３に示すＢ＿ＩＬＭ２は、図２と同様に、トップＴＰの領域の一部となっているが、図５で後述するように、ＴＰ以外の領域（例えばＢＬＫ１の領域）の一部として存在する場合もある。また、このようなＢ＿ＩＬＭ２を用いて、実際上のＢＬＫ２の配置配線を行う際は、フルチップのフロアプランデータから、ＢＬＫ２およびＢ＿ＩＬＭ２の論理データに対応しない箇所の物理データを削除し、それに対応するフロアプランデータ上の物理的位置に配置・配線禁止を配置した状態で行う。
【００４２】
以上のように、ブロック用ＩＬＭは、ブロック以外のデータの中から当該ブロックへの信号入出力に関連する部分のデータを抽出したインタフェースモデルとなっている。また、このインタフェースモデルの具体的な中身は、論理データ、物理データおよびＲＣデータの全て又は一部で構成されている。そして、図１のＳ１０２およびＳ１０４では、このようなブロック用ＩＬＭを用いて配置配線が行われる。
【００４３】
この配置配線では、バジェッティングによるＳＤＣではなく、フルチップでのＳＤＣに基づき、自動処理で、各ブロック内にセルが配置され、各セルおよび各セル間の配線が行われる。すなわち、図１での最初のデータとなるトップレベルのフロアプランデータでは、例えば図３において、各ブロックの枠組みと、ハードモジュール（予め固定的にレイアウトが定まっているモジュール）ＨＭの配置などが定まっている。ブロックの配置配線では、そのブロックの枠組みの中で、各回路要素となる多数のセルＣＬがＳＤＣによるタイミング条件を満たすように配置および配線される。
【００４４】
図４は、図１のレイアウト設計フローにおいて、ブロック用ＩＬＭの論理データの他の一例を説明するための回路図である。図４に示す回路例は、例えば、トップＴＰと２つのブロックＢＬＫ１，ＢＬＫ２によって構成されている。ＴＰには、それぞれクロック信号ｃｌｋ１，ｃｌｋ２を発生するクロック発生回路ＣＰＧ１，ＣＰＧ２と、フリップフロップＦＦ２，ＦＦ３とが設けられる。また、ブロックＢＬＫ１には、フリップフロップＦＦ４が設けられ、ブロックＢＬＫ２には、フリップフロップＦＦ１が設けられる。
【００４５】
ＦＦ２，ＦＦ３には、ｃｌｋ１またはｃｌｋ２が入力され、ＦＦ１およびＦＦ４には、それぞれＢＬＫ２のクロック入力端子ＣＩＮ２およびＢＬＫ１のクロック入力端子ＣＩＮ１を介してｃｌｋ１またはｃｌｋ２が入力される。また、ＦＦ１の出力信号は、ＢＬＫ２の信号出力端子ＤＯ２とその前後の組み合わせ論理を介してＦＦ２に入力され、更にＦＦ２の出力信号は、組み合わせ論理を介してＦＦ３に入力される。そして、ＦＦ３の出力信号は、ＢＬＫ１の信号入力端子ＤＩＮ１とその前後の組み合わせ論理を介してＦＦ４に入力される。
【００４６】
このような構成においては、Ｓ１０１での処理に際し、各ブロックＢＬＫ１，ＢＬＫ２毎にそれぞれ対応するブロック用ＩＬＭが抽出される。すなわち、ＢＬＫ１以外の回路の中からＢＬＫ１のブロック用ＩＬＭ（Ｂ＿ＩＬＭ１）が抽出され、ＢＬＫ２以外の回路の中からＢＬＫ２のブロック用ＩＬＭ（Ｂ＿ＩＬＭ２）が抽出される。Ｂ＿ＩＬＭ１には、ＣＩＮ１に接続されているクロックパス（すなわち、ＣＰＧ１およびＣＰＧ２までのクロックパス）と、ＤＩＮ１に接続されている信号パス（すなわち、ＦＦ３までの信号パス）と、ＦＦ３のクロックパスとが含まれる。Ｂ＿ＩＬＭ２には、ＣＩＮ２に接続されているクロックパス（すなわち、ＣＰＧ１およびＣＰＧ２までのクロックパス）と、ＤＯ２に接続されている信号パス（すなわち、ＦＦ２までの信号パス）と、ＦＦ２のクロックパスとが含まれる。
【００４７】
なお、クロックパスを抽出する範囲は、求める設計精度などに応じて定めるとよい。すなわち、例えばクロックの分岐点があり一方の枝からクロック信号が入力されるような場合で、仮に他方の枝の負荷がその一方の枝のクロック信号のタイミングに影響する場合には、他方の枝からも必要な分だけクロックパスを抽出するようにしてもよい。そして、Ｓ１０２において、このような各ブロックＢＬＫ１，ＢＬＫ２毎にそれぞれ対応するブロック用ＩＬＭ（Ｂ＿ＩＬＭ１，Ｂ＿ＩＬＭ２）を用いて、ブロックＢＬＫ１とＢＬＫ２の配置配線がそれぞれ並行して行われる。
【００４８】
図５は、図１のレイアウト設計フローにおいて、ブロック用ＩＬＭの論理データの更に他の一例を説明するための回路図である。図５に示す回路例は、例えば、トップＴＰと２つのブロックＢＬＫ１，ＢＬＫ２によって構成されている。ＴＰには、それぞれクロック信号ｃｌｋ１，ｃｌｋ２を発生するクロック発生回路ＣＰＧ１，ＣＰＧ２が設けられる。また、ブロックＢＬＫ１には、フリップフロップＦＦ２が設けられ、ブロックＢＬＫ２には、フリップフロップＦＦ１が設けられる。
【００４９】
ＦＦ１およびＦＦ２には、それぞれＢＬＫ２のクロック入力端子ＣＩＮ２およびＢＬＫ１のクロック入力端子ＣＩＮ１を介してｃｌｋ１またはｃｌｋ２が入力される。また、ＦＦ１の出力信号は、組み合わせ論理を介してＢＬＫ２の信号出力端子ＤＯ２に伝送され、更に、ＤＯ２から組み合わせ論理を介してＢＬＫ１の信号入力端子ＤＩＮ１に伝送される。そして、このＤＩＮ１に伝送された信号が、組み合わせ論理を介してＦＦ２に入力される。
【００５０】
このような構成においては、例えば、ＢＬＫ１のブロック用ＩＬＭ（Ｂ＿ＩＬＭ１）内に、ＴＰ内の回路と、ＢＬＫ２内の回路が含まれることになる。すなわち、図５のＢ＿ＩＬＭ１には、ＣＩＮ１に接続されているクロックパス（すなわち、ＴＰ内のＣＰＧ１およびＣＰＧ２までのクロックパス）と、ＤＩＮ１に接続されている信号パス（すなわち、ＢＬＫ２内のＦＦ１までの信号パス）とが含まれる。なお、図示はしないが、Ｂ＿ＩＬＭ１の場合と同様に、ＢＬＫ２のブロック用ＩＬＭには、ＢＬＫ１内の回路が含まれることになる。
【００５１】
図６は、図１のレイアウト設計フローにおいて、初期および再調整用のブロック用ＩＬＭが備えるデータの一例を示す概略図であり、（ａ）は物理データ、（ｂ）は論理データを示すものである。これまでの説明で述べたように、ブロック用ＩＬＭは論理データ、物理データおよびＲＣデータを備えるものとなっている。すなわち、図６に示すように、例えば、ブロックＢＬＫ２を例とすると、そのブロック用ＩＬＭ（Ｂ＿ＩＬＭ２）の物理データは、図６（ａ）のようになり、Ｂ＿ＩＬＭ２の論理データは、図６（ｂ）のようになる。そして、Ｂ＿ＩＬＭ２内の各信号パスおよび各クロックパスの物理データに基づいて、ＲＣ（抵抗成分および容量成分）データが抽出される。
【００５２】
ここで、図１のレイアウト設計フローにおいては、２種類のブロック用ＩＬＭが示されている。その内、初期のブロック用ＩＬＭは、例えば、図１のＳ１０１の段階で、予め階層化されないフルフラットの状態からパーティション作成、セルの仮の配置配線ならびに仮のＩＰＯなどを行い、この仮の配置配線の状態から抽出することが望ましい。この場合、初期のブロック用ＩＬＭは、論理データと、仮の配置配線データとしての物理データと、この物理データから抽出したＲＣデータを備えることになる。また、場合によっては、セルの未配置状態から抽出することも可能である。ただし、この場合だと、例えば、論理データと、物理データとしてのフロアプランデータと、論理データに基づくＲＣデータを備えることになるが、前者に比べて設計効率や設計精度が劣ることが懸念される。
【００５３】
一方、再調整用のブロック用ＩＬＭは、図１のＳ１０２の処理で一旦トップおよびブロック内のセルの配置配線が完了した状態から抽出される。したがって、再調整用のブロック用ＩＬＭは、論理データと、配置配線結果を反映した物理データと、この物理データから得られるＲＣデータを備えることになる。ただし、図９で後述するが、図１のＳ１０４におけるブロックの配置配線の微調整処理では、再調整用のブロック用ＩＬＭのセル配置を変更するような処理は行わないので、再調整用のブロック用ＩＬＭに物理データは必ずしも必要ではない。
【００５４】
図７は、図１のレイアウト設計フローにおいて、初期のブロック用ＩＬＭを用いたタイミング最適化の処理の一例を示す説明図である。このタイミング最適化の処理は、例えば図１のＳ１０２におけるトップおよびブロックの配置配線の一環として行われる。Ｓ１０２の段階では、トップとブロックの配置配線がそれぞれ並行して行われる。ここで、図７に示すように、例えばブロックＢＬＫ２の配置配線において、ＢＬＫ２とトップＴＰ間の信号パスＡ１を最適化する際に、ＴＰの論理の最適化を許すケースと許さないケースとが考えられる。
【００５５】
許すケースでは、ＢＬＫ２と、ＴＰに含まれるブロック用ＩＬＭ（Ｂ＿ＩＬＭ２）の信号パスを含めて最適化が行われる。図７のように、トップの一部がブロック用ＩＬＭとなっている前提で、この許すケースは、例えばトップの配置配線が並行して実行中の場合や、トップの論理が変更可能な場合である。一方、許さないケースは、例えば、トップの配置配線が完了し、トップの論理を変更したくない場合である。すなわち、例えば、トップの配置配線後にブロックの配置配線を行うようなレイアウト設計フローを用いるような場合が挙げられる。また、図９で後述するが、図１のＳ１０４の段階でブロックの最適化を行う際も、この場合に該当する。
【００５６】
このように、ブロック用ＩＬＭを用いてタイミングの最適化を行うことで、バジェッティングの場合のようにブロックの境界パスを分割することなく最適化が行えるため、処理能力および時間的効率が格段に向上する。また、ブロック用ＩＬＭには、物理データが備わっているため、セル配置を含めてトップとブロックの境界面を効率的に最適化することが可能となる。
【００５７】
なお、ＴＰの論理の最適化を許すケースでは、実際には、前述したブロックＢＬＫ２の最適化に伴うＢ＿ＩＬＭ２の論理変更は反映されず、この部分の実データは、ＴＰの配置配線によって定まることになる。すなわち、ブロックの配置配線に伴い最適化したＴＰ内のブロック用ＩＬＭのデータは、実際にはＴＰの配置配線で定めた当該ブロック用ＩＬＭのデータに置き換えられることになる。なお、これによって、最適化の程度が若干低下することが予想される。ただし、置き換え前後のいずれのデータも、原則的に最大遅延を抑えるように配置配線されたものであるため、さほど差異は生じず、実使用上は許容範囲に収まると考えられる。また、仮に最適化を若干再調整する必要性が生じたとしても時間を要する処理にはならない。
【００５８】
図８は、図１のレイアウト設計フローにおいて、初期のブロック用ＩＬＭを用いたタイミング最適化の処理の他の一例を示す説明図である。最適化の過程で、例えば、ブロック境界にピンを追加した方がタイミング収束性がよいケースがある。すなわち、例えば図８に示すように、端子ＤＩＮ１にピンを追加して端子ＤＩＮ１１，ＤＩＮ１２とすることで、クリティカルパスの負荷が低減できるような場合である。この場合は、ブロックにて追加したピンをトップに対してアップデートし、このアップデートを反映してトップの配置配線を行う必要がある。なお、ブロック境界のピン情報を変更しない（ピンを固定）という設定で最適化することも可能である。
【００５９】
図９は、図１のレイアウト設計フローにおいて、再調整用のブロック用ＩＬＭを用いたタイミング最適化の処理の一例を説明するための図である。このタイミング最適化の処理は、図１のＳ１０４におけるブロックの配置配線の一環として行われる。したがって、このＳ１０４におけるブロックの配置配線の段階では、再調整用のブロック用ＩＬＭに関するセル配置はトップの配置配線によって確定しているため、再調整用のブロック用ＩＬＭの領域を最適化によって変更することは望ましくない。
【００６０】
このようなことから、再調整用のブロック用ＩＬＭは、ブロック内の最適化処理に伴ってディレイ計算などを行う際に必要となる論理データと、その論理データの配置配線結果から得られるＲＣデータとを備えていればよく、必ずしも物理データを備える必要はない。また、物理データを備えている場合であっても、参照するのみとする。図９のタイミング最適化処理の例では、ブロック境界の信号パスＡ１の最適化処理を行う際に、再調整用のブロック用ＩＬＭ（Ｂ＿ＩＬＭ２）の変更は許可せずに参照するのみとして、ブロックＢＬＫ２内の信号パスＡ２のみで最適化処理を行っている。
【００６１】
図１０は、図１のレイアウト設計フローにおいて、トップに対する最適化処理の一例を説明するための図である。トップの最適化は、図１のＳ１０２やＳ１０４におけるトップの配置配線の一環として行われる。この際に、トップとブロックの境界部におけるトップの最適化を行うため、従来技術と同様のＩＬＭを用いる。ただし、従来技術のＩＬＭは論理データとＲＣデータしか備えていないが、ここでは更に、ＩＬＭに対して例えば図１０に示すような物理データを持たせる。例えば、Ｓ１０２の段階で使用するＩＬＭの物理データは、図６で述べた初期のブロック用ＩＬＭと同様に、仮の配置配線データとすることができる。
【００６２】
このように、トップ用のＩＬＭに対してもブロック用ＩＬＭと同様に物理データを持たせることで、例えば、ブロック境界のピン変更や、ブロック上空で信号配線を通過させるといった最適化処理を容易に行うことが可能になる。ただし、このような境界変更や、ブロック上空通過の最適化を行った場合には、ブロックデータの切り出しやブロック用ＩＬＭの作成を再度実施する必要がある。しかしながら、その後のレイアウト設計が容易となるため、全体的に見て設計期間の短縮が可能と考えられる。
【００６３】
つぎに、以上で述べたような処理を行う設計装置の一例について説明する。
【００６４】
図１１は、本発明の一実施の形態による半導体集積回路の設計装置において、その構成の一例を示す概略図である。図１１に示す設計装置は、コンピュータによるプログラム処理によって実現され、図１における配置配線前のＳ１０１の処理を行う装置となっている。その構成は、例えば、ハードディスクなどの記憶媒体によって実現される入力部ＩＮＤ１および出力部ＯＵＤ１と、ＣＰＵやメモリ等によって実現される階層レイアウト用データ分割処理部ＰＲＯ１などを含んでいる。
【００６５】
ＩＮＤ１には、例えばフルチップのネットリストデータと、フルチップのフロアプランデータと、フルチップのＳＤＣと、セルの遅延時間等のタイミング情報を含む論理ライブラリと、セルの形状に関する情報を含む物理ライブラリなどが記憶されている。このような情報を用いてＰＲＯ１では、例えば次のような処理が行われる。
【００６６】
まず、前述したような入力部ＩＮＤ１のデータを読み込み（Ｓ１１０１）、フルチップＳＤＣに基づいてフルチップでのセルの配置配線を行う（Ｓ１１０２）。なお、Ｓ１１０２での配置配線は、いわゆる仮の配置配線となる。また、既に仮の配置配線が行われているデータを用いる場合は、ここでの処理は必要ない。次に、仮の配置配線が行われたフルチップのデータに対して、必要ならばＳＴＡおよびタイミング改善処理を行う（Ｓ１１０３）。Ｓ１１０３は、仮の最適化処理（ＩＰＯ）となる。このように、予め仮の最適化処理を行っておいた方が、後のレイアウト設計を高精度で行えることになる。
【００６７】
次いで、このような仮の配置配線に基づくフルチップのデータから配線負荷等のＲＣデータを抽出する（Ｓ１１０４）。その後、フルチップのタイミングパスを、トップと、ブロックと、トップに対応するＩＬＭと、ブロック用ＩＬＭとに切り分ける（Ｓ１１０５）。なお、各ＩＬＭは、タイミングパスを解析することで容易に抽出することが可能である。続いて、切り分けられたタイミングパスに対応して、ネットリストおよび物理データの切り分けを行う（Ｓ１１０６）。そして、以上のような処理によって得られてデータを出力部ＯＵＤ１に格納する（Ｓ１１０７）。
【００６８】
ＯＵＤ１には、例えば、トップ用のネットリストと、トップおよびそのＩＬＭに関するフロアプランデータおよびセルの配置情報（すなわち物理データ）と、トップ用のＩＬＭのデータと、ブロック用のネットリストと、ブロックおよびブロック用ＩＬＭに関する物理データと、ブロック用ＩＬＭのデータなどが格納される。ここで、このトップ用のＩＬＭのデータおよびブロック用ＩＬＭのデータの中には、前述した別に記憶されている物理データを除くネットリストデータとＲＣデータとが含まれている。
【００６９】
図１２は、本発明の一実施の形態による半導体集積回路の設計装置において、その構成の他の一例を示す概略図である。図１２に示す設計装置も、図１１と同様に、コンピュータによるプログラム処理によって実現され、図１における配置配線後のＳ１０３の処理を行う装置となっている。その構成は、例えば、ハードディスクなどの記憶媒体によって実現される入力部ＩＮＤ２および出力部ＯＵＤ２と、ＣＰＵやメモリ等によって実現される階層レイアウト用データ分割処理部ＰＲＯ２などを含んでいる。
【００７０】
ＩＮＤ２には、例えばトップ用およびブロック用のそれぞれに対応する、ネットリストデータ、実負荷データ（ＲＣデータ）および図１のＳ１０２による配置配線データが格納され、加えて、フルチップＳＤＣ、論理ライブラリおよび物理ライブラリなどが格納されている。このような情報を用いてＰＲＯ２では、例えば次のような処理が行われる。
【００７１】
まず、前述したような入力部ＩＮＤ２のデータを読み込み（Ｓ１２０１）、トップのデータとブロックのデータを統合したフルチップの作成処理を行う（Ｓ１２０２）。次に、このようなフルチップのデータを、再び、トップと、ブロックと、トップに対応するＩＬＭと、ブロック用ＩＬＭにそれぞれ対応したタイミングパスに切り分ける（Ｓ１２０３）。続いて、切り分けられたタイミングパスに対応して、ネットリスト、物理データおよび実負荷データの切り分けを行う（Ｓ１２０４）。そして、以上のような処理によって得られたデータを出力部ＯＵＤ２に格納する（Ｓ１２０５）。
【００７２】
ＯＵＤ２には、例えば、トップ用のネットリストと、トップおよびそのＩＬＭに関するフロアプランデータおよびセルの配置情報（すなわち物理データ）と、トップ用のＩＬＭのデータと、ブロック用のネットリストと、ブロックおよびブロック用ＩＬＭに関する物理データと、ブロック用ＩＬＭのデータなどが格納される。ここで、このトップ用のＩＬＭのデータおよびブロック用ＩＬＭのデータの中には、前述した別に記憶されている物理データを除くネットリストデータとＲＣデータとが含まれている。
【００７３】
以上のように、図１のようなレイアウト設計フローおよび図１１，図１２のような設計装置を用いることで、バジェッティングが不要となり、例えば次のような効果を得ることが可能になる。
【００７４】
（１）図１４で述べたような、バジェッティングに伴うフルチップでのＳＴＡが不要となるため、設計ツールの負荷が小さくなり、また、設計ツールの処理時間を短くすることが可能になる。すなわち、図１のレイアウト設計フローにおいては、Ｓ１０１などでブロック用ＩＬＭを作成する際に、フルチップＳＴＡの処理の一部であるパスの抽出は行われる。但し、バジェッティングで必要とされるような莫大な処理、すなわち、ブロックの各端子におけるＳＤＣを生成するために抽出したパスの遅延時間をフルチップレベルで算出するような処理は不要となる。
【００７５】
（２）図１５で述べたような、バジェッティングに伴うブロック境界のタイミング制約が不要となるため、設計ツールの負担を低減することが可能になる。また、このような複雑なタイミング制約を発生させないことで、レイアウト設計を単純化（容易化）し、ソフトウエア上の不具合などに伴う設計期間の遅延を抑制することが可能になる。
【００７６】
（３）図１６で述べたような、バジェッティングに伴うイタレーションを無くすことができ、設計期間の短縮が実現可能となる。すなわち、バジェッティングのようにトップとブロックとを境界として明確に分離せず、仮想的に境界をなくした状態でレイアウト設計を行うため、バジェッティングで頻繁に発生するトップとブロックの境界部でのタイミング違反が生じなくなる。また、このように仮想的に境界をなくすことで、レイアウト設計が単純化（容易化）されるため、実際上の境界部付近でタイミング違反が発生した場合でも、原因究明および対策共に容易かつ短時間で行うことが可能となる。
【００７７】
（４）図１７で述べたような、配置配線後の解析および最適化を容易に行うことが可能になる。すなわち、ブロックの境界より先の状態が、タイミング制約の数値としてではなく、実際の論理データ等がブロック用ＩＬＭとして存在するため、解析および最適化を容易に行うことが可能になる。
【００７８】
また、前述した（１）〜（４）以外にも、例えば、ブロックの設計を行う際に、関連するブロック外の物理データがブロック用ＩＬＭによって参照できるため、レイアウト時に考慮すべきシグナルインティグリティ、ＤＦＭ、チップばらつきなどに対して十分に考慮することが可能になる。以上のようなことから、半導体集積回路のレイアウト設計を行う際に、設計期間の短縮、または設計の容易化が実現可能となる。具体的には、例えば、図１のようなブロック用ＩＬＭによる手法を用いることで、図１３のようなバジェッティングによる手法に比べてレイアウト設計期間を１／３程度に低減できる見込みがある。
【００７９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００８０】
例えば、これまでの説明においては、通常のレイアウト設計の慣例に従いトップとブロックという概念を用いて説明を行ったが、ブロックのみで構成されるようなチップに対して本発明を適用することも可能である。
【産業上の利用可能性】
【００８１】
本発明による半導体集積回路の設計方法および設計装置は、特に、システムＬＳＩやマイクロコンピュータなどを代表とする大規模なＬＳＩに対するレイアウト設計方法およびその設計ツールに適用して有益な技術であり、これに限らず、ＬＳＩ全般に対するレイアウト設計方法およびその設計ツールとして広く適用可能である。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施の形態による半導体集積回路の設計方法において、そのレイアウト設計フローの一例を示すフロー図である。
【図２】図１のレイアウト設計フローにおいて、ブロック用ＩＬＭの論理データの一例を説明するための回路図である。
【図３】図１のレイアウト設計フローにおいて、ブロック用ＩＬＭが備える物理データの一例を説明するためのレイアウト概略図である。
【図４】図１のレイアウト設計フローにおいて、ブロック用ＩＬＭの論理データの他の一例を説明するための回路図である。
【図５】図１のレイアウト設計フローにおいて、ブロック用ＩＬＭの論理データの更に他の一例を説明するための回路図である。
【図６】図１のレイアウト設計フローにおいて、初期および再調整用のブロック用ＩＬＭが備えるデータの一例を示す概略図であり、（ａ）は物理データ、（ｂ）は論理データを示すものである。
【図７】図１のレイアウト設計フローにおいて、初期のブロック用ＩＬＭを用いたタイミング最適化の処理の一例を示す説明図である。
【図８】図１のレイアウト設計フローにおいて、初期のブロック用ＩＬＭを用いたタイミング最適化の処理の他の一例を示す説明図である。
【図９】図１のレイアウト設計フローにおいて、再調整用のブロック用ＩＬＭを用いたタイミング最適化の処理の一例を説明するための図である。
【図１０】図１のレイアウト設計フローにおいて、トップに対する最適化処理の一例を説明するための図である。
【図１１】本発明の一実施の形態による半導体集積回路の設計装置において、その構成の一例を示す概略図である。
【図１２】本発明の一実施の形態による半導体集積回路の設計装置において、その構成の他の一例を示す概略図である。
【図１３】本発明の前提として検討した半導体集積回路の設計方法において、そのレイアウト設計フローの一例を示すフロー図である。
【図１４】図１３の設計フローにおいて、そのバジェッティングの問題点を説明するための回路例である。
【図１５】図１３の設計フローにおいて、そのバジェッティングの他の問題点を説明するための回路例である。
【図１６】図１３の設計フローにおいて、そのバジェッティングの更に他の問題点を説明するための図である。
【図１７】図１３の設計フローにおいて、そのバジェッティングの更に他の問題点を説明するための回路例である。
【符号の説明】
【００８３】
ＣＰＧ１，ＣＰＧ２  クロック発生回路
ｃｌｋ１，ｃｌｋ２  クロック信号
ＦＦ１〜ＦＦ４  フリップフロップ
ＴＰ  トップ
ＢＬＫ，ＢＬＫ１，ＢＬＫ２  ブロック
Ｂ＿ＩＬＭ１，Ｂ＿ＩＬＭ２  ブロック用ＩＬＭ
ＤＩＮ，ＤＩＮ１，ＤＩＮ１１，ＤＩＮ１２  信号入力端子
ＣＩＮ，ＣＩＮ１，ＣＩＮ２  クロック入力端子
ＤＯ２  信号出力端子
Ａ１，Ａ２  信号パス
ＨＭ  ハードモジュール
ＣＬ  セル
ＩＮＤ１，ＩＮＤ２  入力部
ＯＵＤ１，ＯＵＤ２  出力部
ＰＲＯ１，ＰＲＯ２  階層レイアウト用データ分割処理部
【図１】
2006338090.tif 000003
【図２】
2006338090.tif 000004
【図３】
2006338090.tif 000005
【図４】
2006338090.tif 000006
【図５】
2006338090.tif 000007
【図６】
2006338090.tif 000008
【図７】
2006338090.tif 000009
【図８】
2006338090.tif 000010
【図９】
2006338090.tif 000011
【図１０】
2006338090.tif 000012
【図１１】
2006338090.tif 000013
【図１２】
2006338090.tif 000014
【図１３】
2006338090.tif 000015
【図１４】
2006338090.tif 000016
【図１５】
2006338090.tif 000017
【図１６】
2006338090.tif 000018
【図１７】
2006338090.tif 000019