(57)【要約】【課題】階層レイアウト設計法によるＬＳＩの開発設計において、ＴＡＴを十分に短縮すること。【解決手段】フラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行い（ステップＳ１）、タイミングエラーが発生したパスを抽出する（ステップＳ２）。抽出されたパスを含む領域を階層レイアウトブロック（ＨＬＢ）に分割し（ステップＳ３〜Ｓ７）、ＨＬＢごとにタイミング制約を分割する（ステップＳ８）。分割されたタイミング制約に基づいて、ＨＬＢごとにレイアウトを行い（ステップＳ９〜Ｓ１１）、レイアウト済みのＨＬＢのデータを結合してフラットの物理設計データを生成する（ステップＳ１２）。【選択図】図３
2008112299.tif 000002
【特許請求の範囲】
【請求項１】
フラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行うフラットレイアウト工程と、
前記フラットレイアウト工程の静的タイミング解析処理によってタイミングエラーが発生したパスを抽出するタイミングエラーパス抽出工程と、
前記タイミングエラーパス抽出工程により抽出されたタイミングエラーパスを含む領域を階層レイアウトブロックに分割するブロック分割工程と、
前記ブロック分割工程により分割された階層レイアウトブロックごとにタイミング制約を分割するタイミング制約分割工程と、
前記タイミング制約分割工程により分割されたタイミング制約に基づいて、前記ブロック分割工程により分割された階層レイアウトブロックごとにレイアウトを行うブロックレイアウト工程と、
前記ブロックレイアウト工程によりレイアウトが済んだ階層レイアウトブロックのデータを結合してフラットの物理設計データを生成する結合工程と、
を含むことを特徴とするレイアウト設計方法。
【請求項２】
前記ブロック分割工程では、階層レイアウトブロックに含まれるセル数をゲート数に換算し、該ゲート数が所定数よりも小さくなるように階層レイアウトブロックの分割を行うことを特徴とする請求項１に記載のレイアウト設計方法。
【請求項３】
前記タイミング制約分割工程では、複数の階層レイアウトブロックに跨がるタイミングエラーパスを、当該タイミングエラーパスの始点から階層レイアウトブロックの境界までのパスと、該境界から当該タイミングエラーパスの終点までのパスに分割し、それぞれのパスの長さに基づいて、当該タイミングエラーパスの遅延値を分割することを特徴とする請求項１または２に記載のレイアウト設計方法。
【請求項４】
請求項１〜３のいずれか一つに記載のレイアウト設計方法をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【請求項５】
フラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行うフラットレイアウト手段と、
前記フラットレイアウト手段の静的タイミング解析処理によってタイミングエラーが発生したパスを抽出するタイミングエラーパス抽出手段と、
前記タイミングエラーパス抽出手段により抽出されたタイミングエラーパスを含む領域を階層レイアウトブロックに分割するブロック分割手段と、
前記ブロック分割手段により分割された階層レイアウトブロックごとにタイミング制約を分割するタイミング制約分割手段と、
前記タイミング制約分割手段により分割されたタイミング制約に基づいて、前記ブロック分割手段により分割された階層レイアウトブロックごとにレイアウトを行うブロックレイアウト手段と、
前記ブロックレイアウト手段によりレイアウトが済んだ階層レイアウトブロックのデータを結合してフラットの物理設計データを生成する結合手段と、
を備えることを特徴とするレイアウト設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、レイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置に関する。
【背景技術】
【０００２】
一般に、大規模集積回路（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）は、その開発期間を短縮するために、階層レイアウト設計という手法を用いて開発される。この手法は、論理回路全体をネットリストの論理モジュールごとに階層化し、各階層レイアウトブロック（ＨＬＢ：Ｈｉｅｒａｒｃｈｙ  Ｌａｙｏｕｔ  Ｂｌｏｃｋ）の処理を平行して行うことによって、ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）の短縮化を図っている。
【０００３】
従来、次のような論理回路のブロック分割方法が公知である。この方法は、既にブロック分割されている論理回路のブロック分割方法において、互いに異なるブロックに所属するセルであって、これらのセル間のタイミング制約による最大許容遅延時間が所定値より短い組み合わせを抽出するステップと、これら抽出されたセルが所属するそれぞれのブロックの大きさを推定することにより、これらのブロック間に亙ってセルを接続するための配線長を求めるステップと、求められた配線長による遅延時間がこれらセル間のタイミング制約による最大許容遅延時間を超えた場合に、新たにブロックを生成して、これらのセルを新たに生成したブロックに移動させるステップとを包含する（例えば、下記特許文献１参照。）。
【０００４】
【特許文献１】特開平６−２０４３３７号公報（請求項１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の方法では、レイアウト前にＨＬＢに分割するため、配置位置や配線性を考慮したブロックに分割するのが困難であり、タイミングエラーが起こりやすい。また、ＨＬＢに切り出した後にトップおよび各ＨＬＢの配置・配線を行うため、ＨＬＢ端子を最適な位置に生成するのが困難である。従って、静的タイミング解析（ＳＴＡ：Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ）を実施したときに、タイミングエラーが多発したり、配線の収束が厳しくてＨＬＢのサイズを見直す必要が生じたりする。そのため、ＴＡＴを十分に短縮することができないという問題点がある。
【０００６】
この発明は、上述した従来技術による問題点を解消するため、ＨＬＢ端子の位置に起因するタイミングエラー、ＨＬＢのサイズや配置位置に起因するタイミングエラー、および配線性の悪化などを防止し、それによって、ＴＡＴを十分に短縮することができるレイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本発明者は、従来の階層レイアウト設計の各工程について詳細な検討を行った。その結果、従来の階層レイアウト設計法では、レイアウトの開始から最初のＳＴＡを実施するまでの期間と、最初のＳＴＡを実施してからレイアウトの完了までの期間を比較すると、後者の占める割合が多いことが判明した。その要因は、レイアウトを行う前に階層化するため、最初のＳＴＡの実施時にタイミングエラーが多発することが挙げられる。また、最初のＳＴＡを実施するまでは、フラットの物理設計データで開発を進めても、階層化したデータで開発を進めても、差がないことが判明した。
【０００８】
本発明は、このような知見に基づきなされたものであり、以下の特徴を有する。まず、フラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行い、タイミングエラーが発生したパス（以下、タイミングエラーパスとする）を抽出する。次いで、抽出されたタイミングエラーパスを含む領域をＨＬＢに分割し、ＨＬＢごとにタイミング制約を分割する。次いで、分割されたタイミング制約に基づいて、ＨＬＢごとにレイアウトを行い、レイアウト済みのＨＬＢのデータを結合してフラットの物理設計データを生成する。
【０００９】
この発明によれば、フラットの物理設計データに基づいて、レイアウトを開始し、配置・配線処理後にＨＬＢに分割するので、実配線に沿ったＨＬＢ端子を生成できる。従って、ＨＬＢ端子位置に起因するタイミングエラーを防止できる。また、ＨＬＢのサイズや位置に起因するタイミングエラーや、配線性の悪化を防止できる。さらに、ＨＬＢ分割後、レイアウト設計が完了するまでは、各ＨＬＢのレイアウトを平行して処理できるので、タイミング収束までの時間が短縮され、開発期間を短くできる。
【発明の効果】
【００１０】
本発明にかかるレイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置によれば、ＨＬＢ端子の位置に起因するタイミングエラー、ＨＬＢのサイズや配置位置に起因するタイミングエラー、および配線性の悪化などを防止できる。従って、ＴＡＴを十分に短縮することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、この発明にかかるレイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置の好適な実施の形態を詳細に説明する。
【００１２】
（レイアウト設計装置のハードウェア構成）
まず、この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
【００１３】
図１において、レイアウト設計装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部は、バス１００によってそれぞれ接続されている。
【００１４】
ここで、ＣＰＵ１０１は、レイアウト設計装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御に従ってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００１５】
ＦＤＤ１０６は、ＣＰＵ１０１の制御に従ってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータをレイアウト設計装置に読み取らせたりする。
【００１６】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００１７】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００１８】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００１９】
スキャナ１１２は、画像を光学的に読み取り、レイアウト設計装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２０】
（レイアウト設計装置の機能的構成）
次に、この発明の実施の形態にかかるレイアウト設計装置の機能的構成について説明する。図２は、この発明の実施の形態にかかるレイアウト設計装置の機能的構成を示すブロック図である。図２に示すように、レイアウト設計装置は、フラットレイアウト部１、タイミングエラーパス抽出部２、ブロック分割部３、タイミング制約分割部４、ブロックレイアウト部５および結合部６を備えている。
【００２１】
フラットレイアウト部１は、フラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行う。タイミングエラーパス抽出部２は、フラットレイアウト部１の静的タイミング解析処理によってタイミングエラーが発生したパスを抽出する。ブロック分割部３は、タイミングエラーパス抽出部２により抽出されたタイミングエラーパスを含む領域をＨＬＢに分割する。
【００２２】
タイミング制約分割部４は、ブロック分割部３により分割されたＨＬＢごとにタイミング制約を分割する。ブロックレイアウト部５は、タイミング制約分割部４により分割されたタイミング制約に基づいて、ブロック分割部３により分割されたＨＬＢごとにレイアウトを行う。結合部６は、ブロックレイアウト部５によりレイアウトが済んだＨＬＢのデータを結合してフラットの物理設計データを生成する。
【００２３】
上述したフラットレイアウト部１、タイミングエラーパス抽出部２、ブロック分割部３、タイミング制約分割部４、ブロックレイアウト部５および結合部６は、具体的には、例えば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５などの記録媒体に記録された制御プログラムを、レイアウトデータやライブラリデータを用いて、ＣＰＵ１０１が実行することによって、またはＩ／Ｆ１０９によって、その機能を実現する。
【００２４】
ここで、レイアウトデータは、ＬＳＩ論理設計データ、ＬＳＩ物理設計データ、ＳＴＡ制約データ、ＬＳＩタイミング解析結果（ＳＴＡデータ）およびタイミングエラーパスリストを含む。ＬＳＩ論理設計データは、すべての機能モジュールを含むチップトップのネットリストである。ＬＳＩ物理設計データは、チップ内の物理配置データであり、フラットでレイアウト後の物理情報である。
【００２５】
ＳＴＡ制約データは、ＳＴＡを考慮した配置処理時に参照されるデータである。ＳＴＡ制約データには、回路のクロック情報、マルチパスおよびフォルスパス等が記述されている。ＬＳＩタイミング解析結果は、実配線ＳＴＡ処理の結果を示すＳＴＡデータであり、パスの遅延、スラックおよびエラーのリストを含む。タイミングエラーパスリストは、ＬＳＩタイミング解析結果とＬＳＩ物理設計データに基づいて、ＳＴＡ解析プログラムにより出力されるエラーパス情報である。
【００２６】
ライブラリデータは、セルタイミングライブラリおよび物理セルライブラリを含む。セルタイミングライブラリは、ユニットセルおよびマクロセルのタイミングライブラリである。物理セルライブラリは、ユニットセルおよびマクロセルの面積ライブラリである。
【００２７】
制御プログラムは、ＳＴＡ解析プログラム、ＨＬＢ分割プログラム、ＨＬＢ結合プログラムおよびネットリスト生成プログラムを含む。ＳＴＡ解析プログラムは、ＬＳＩタイミング解析結果とＬＳＩ物理設計データに基づいて、エラーパス情報、配置座標およびスラックを出力するプログラムである。ＨＬＢ分割プログラムは、エラーパス情報およびＨＬＢサイズに基づいて、分割箇所の決定と分割を行うプログラムである。
【００２８】
ＨＬＢ結合プログラムは、各ＨＬＢのデータを結合し、フラットデータを生成するプログラムである。ネットリスト生成プログラムは、バッファの追加や削除、またはセルスワップ等により更新された各ＨＬＢのデータとフラットのネットリストに基づいて、レイアウト後のネットリストを生成するプログラムである。
【００２９】
（レイアウト設計処理手順）
次に、この発明の実施の形態にかかるレイアウト設計装置の処理手順について説明する。図３は、この発明の実施の形態にかかるレイアウト設計装置の処理手順を示すフローチャートである。図３に示すように、まず、フラットレイアウト部１により、フラットの物理設計データを用いてレイアウト設計を開始し、配置・配線処理を行った後、実配線ＳＴＡを実施する（ステップＳ１）。このＳＴＡの実施により、タイミングエラーパスリストが得られる。
【００３０】
次いで、タイミングエラーパス抽出部２により、タイミングエラーパスリストに基づいて、タイミングエラーの発生箇所を調べ、該リストに挙げられた始点および終点のパスを解析する（ステップＳ２）。この解析によって、タイミングエラーパスが抽出される。次いで、ブロック分割部３により、エラー発生箇所を分割し、ＨＬＢとして切り出す（ステップＳ３）。これによって、タイミングエラーパス抽出部２により抽出されたタイミングエラーパスを含む領域がＨＬＢとして切り出される。
【００３１】
続いて、ブロック分割部３により、ステップＳ３で切り出されたＨＬＢに含まれるセル数を調べ、ゲート数に換算する（ステップＳ４）。そして、ＨＬＢに含まれるゲート数が例えば１Ｍゲートよりも小さいか否かを判断する（ステップＳ５）。なお、ゲート数の基準は、１Ｍゲートに限らない。１Ｍゲートよりも大きい場合（ステップＳ５：Ｎｏ）には、ブロック分割部３により、当該ＨＬＢを均等に２分割し（ステップＳ６）、ステップＳ４に戻る。その際、エラー発生箇所を調べて、ＨＬＢのサイズを見直す。
【００３２】
そして、２分割されたそれぞれのＨＬＢについて、セル数からゲート数への換算（ステップＳ４）、およびゲート数が例えば１Ｍゲートよりも小さいか否かの判断（ステップＳ５）を行う。タイミングエラーパスを含むすべてのＨＬＢのゲート数が例えば１Ｍゲートよりも小さくなったら（ステップＳ５：Ｙｅｓ）、ブロック分割部３により、決定したサイズでＨＬＢを切り出す（ステップＳ７）。その際、複数のＨＬＢに跨がるパスについては、タイミングエラーの有無にかかわらず、ＨＬＢ同士の境界にＨＬＢ端子を生成し、そのＨＬＢ端子でパスを分割する。
【００３３】
次いで、タイミング制約分割部４により、ブロック分割部３により分割されたＨＬＢごとにタイミング制約を分割する（ステップＳ８）。複数のＨＬＢに跨がるタイミングエラーパスについては、それぞれのＨＬＢにスラック値を分割する。その際、例えば、タイミングエラーパスのスラック値を、当該パスの、各ＨＬＢ内での配線長の比率に基づいて、分割してもよい。
【００３４】
次いで、ブロックレイアウト部５により、タイミング制約分割部４により分割されたタイミング制約に基づいて、ＨＬＢごとにレイアウトを行う（ステップＳ９）。各ＨＬＢのレイアウトは、平行して行われる。次いで、各ＨＬＢが、ＨＬＢごとに分割されたＳＴＡのタイミング制約を満たすか否かを判断する（ステップＳ１０）。タイミング制約を満たさないＨＬＢがある場合（ステップＳ１０：Ｎｏ）には、当該ＨＬＢについて、タイミング制約を満たすようにタイミングＥＣＯ、すなわちタイミング調整のための回路変更を繰り返す（ステップＳ１１）。
【００３５】
すべてのＨＬＢがタイミング制約を満たせば（ステップＳ１０：Ｙｅｓ）、結合部６により、レイアウトの済んだ個々のＨＬＢデータを結合してフラットの物理設計データとする（ステップＳ１２）。そして、新たに得られたフラットの物理設計データを用いて実配線ＳＴＡを実施する。その結果は、当然のことながら、タイミングエラーなしとなる。この物理設計データを用いて、レイアウト開始時の論理設計データを更新し、終了する。次に、具体例を示しながら、レイアウト設計処理の各工程について詳細に説明する。
【００３６】
図４は、タイミングエラーパスリストの一例を示す図表である。前記ステップＳ１において実配線ＳＴＡを実施した結果、例えば図４に示すタイミングエラーパスリスト１１が得られたとする。図５に、前記ステップＳ２において図４に示すタイミングエラーパスリストに基づいて抽出されたタイミングエラーパスの一例を示す。図５において、符号１２は、チップ枠であり、符号１３は、Ａ点およびＢ点をそれぞれ始点および終点とするタイミングエラーパスである。
【００３７】
以後、このように始点および終点が特定されたタイミングエラーパスを、始点および終点を用いてタイミングエラーパスＡＢと表記する。図５において、符号１４、１５、１６および１７は、それぞれ、タイミングエラーパスＣＤ、タイミングエラーパスＥＦ、タイミングエラーパスＧＨおよびタイミングエラーパスＩＪである。
【００３８】
図６は、前記ステップＳ３においてＨＬＢを切り出す際の分割領域の決定方法を説明する模式図である。図６に示すように、まず、タイミングエラーパスＡＢ１３の領域２１を第１ＨＬＢ３１とする。続いて、タイミングエラーパスＣＤ１４の領域２２がタイミングエラーパスＡＢ１３と重なるので、タイミングエラーパスＣＤ１４の領域２２を第１ＨＬＢ３１とする。続いて、タイミングエラーパスＥＦ１５の領域２３がタイミングエラーパスＣＤ１４と重なるので、タイミングエラーパスＥＦ１５の領域２３を第１ＨＬＢ３１とする。
【００３９】
一方、タイミングエラーパスＧＨ１６の領域２４は、第１ＨＬＢ３１と重ならないので、タイミングエラーパスＧＨ１６の領域２４を第２ＨＬＢ３２とする。続いて、タイミングエラーパスＩＪ１７の領域２５がタイミングエラーパスＧＨ１６と重なるので、タイミングエラーパスＩＪ１７の領域２５を第２ＨＬＢ３２とする。このようにして、２つのＨＬＢ３１，３２ができる。
【００４０】
図７は、前記ステップＳ４〜Ｓ７においてＨＬＢを切り出す際の分割領域の決定方法を説明する模式図である。図７に示すように、まず、第１ＨＬＢ３１および第２ＨＬＢ３２のそれぞれについて、セル数をゲート数に換算し（ステップＳ４）、そのゲート数が例えば１Ｍゲートよりも小さいか否かを判断する（ステップＳ５）。ここでは、第１ＨＬＢ３１のゲート数が１Ｍゲート以上であり、第２ＨＬＢ３２ゲート数が１Ｍゲートよりも小さいとする。従って、第２ＨＬＢ３２については、この領域に決定である。
【００４１】
第１ＨＬＢ３１については、タイミングエラーパスからＨＬＢのサイズを変更できるか否かを調べ、第１ＨＬＢ３１のサイズを変更する。ここでは、第１ＨＬＢ３１を均等に２分割し（ステップＳ６）、その一方を第１ＨＬＢ３３とし、他方を第３ＨＬＢ３４とする。そして、第１ＨＬＢ３３および第３ＨＬＢ３４のそれぞれについて、セル数をゲート数に換算し（ステップＳ４）、そのゲート数が例えば１Ｍゲートよりも小さいか否かを判断する（ステップＳ５）。
【００４２】
ここでは、第１ＨＬＢ３３および第３ＨＬＢ３４のいずれもゲート数が１Ｍゲートよりも小さいとする。従って、第１ＨＬＢ３３および第３ＨＬＢ３４の領域（サイズ）が決定される（ステップＳ７）。第１ＨＬＢ３３または第３ＨＬＢ３４のゲート数が１Ｍゲート以上である場合には、ゲート数が例えば１Ｍゲートよりも小さくなるまで、ＨＬＢの分割を繰り返す。このようにＨＬＢを分割した結果、図６に示すタイミングエラーパスＣＤ１４は、第１ＨＬＢ３３と第３ＨＬＢ３４に跨がることになる。
【００４３】
そこで、第１ＨＬＢ３３と第３ＨＬＢ３４の境界部分にＨＬＢ端子３５を生成する。そして、タイミングエラーパスＣＤ１４を、始点ＣからＨＬＢ端子３５を終点ＫとするタイミングエラーパスＣＫ１８と、ＨＬＢ端子３５を始点Ｌとし、終点ＤとするタイミングエラーパスＬＤ１９に分割する。また、第１ＨＬＢ３３と第３ＨＬＢ３４に跨がる、タイミングエラーのないパス（図７に点線で示されている）についても、同様に、ＨＬＢ端子３６を生成し、パスを分割する。
【００４４】
図８、図９および図１０は、それぞれ、図４に示すタイミングエラーパスリストを第１ＨＬＢ、第２ＨＬＢおよび第３ＨＬＢに分割したリストを示す図表である。図８に示すように、第１ＨＬＢ３３のタイミングエラーパスリスト４１には、図４に示すタイミングエラーパスリスト１１においてＮｏ．１で示されるタイミングエラーパスＡＢと、Ｎｏ．２で示されるタイミングエラーパスＣＤのうちのＣＫの部分が含まれている。図９に示すように、第２ＨＬＢ３２のタイミングエラーパスリスト４２には、図４に示すタイミングエラーパスリスト１１においてＮｏ．４で示されるタイミングエラーパスＧＨとＮｏ．５で示されるタイミングエラーパスＩＪが含まれている。
【００４５】
図１０に示すように、第３ＨＬＢ３４のタイミングエラーパスリスト４３には、図４に示すタイミングエラーパスリスト１１においてＮｏ．２で示されるタイミングエラーパスＣＤのうちのＬＤの部分と、Ｎｏ．３で示されるタイミングエラーパスＥＦが含まれている。ここでは、例えば、タイミングエラーパスＣＫとタイミングエラーパスＬＤの配線長の比率に基づいて、タイミングエラーパスＣＤのスラック値−１０００は、タイミングエラーパスＣＫのスラック値−４００と、タイミングエラーパスＬＤのスラック値−６００に分割されている。
【００４６】
図１１および図１２は、前記ステップＳ７でＨＬＢを切り出す際の分割領域の決定方法を説明する模式図である。図１１に示すように、実際にＨＬＢに分割する際には、論理セル５３が分断されないように、ＨＬＢ５１，５２の縦方向については、電源配線（ストリップ）部分５４、すなわち一般的には容量セル配置部５５を境とし、横方向については、ロウ５６を境として分割する。また、図１２に示すように、ＨＬＢ５１，５２の境にメモリ等のマクロ５７がある場合には、いずれか一方のＨＬＢ（図示例では、ＨＬＢ５２）がマクロ５７を吸収し、マクロ５７の縁をＨＬＢ５１，５２の境とする。
【００４７】
図１３は、前記ステップＳ７でＨＬＢを切り出す処理の詳細を示すフローチャートである。図１３に示すように、上述したＨＬＢを切り出す際の分割領域の決定方法に従って決定された分割領域を特定する分割箇所データ６２に基づいて、フラットの物理設計データ６１を第１ＨＬＢの物理設計データ６３、第２ＨＬＢの物理設計データ６４および第ｎＨＬＢの物理設計データ６５に分割する。その際、配線が跨がる箇所にＨＬＢ端子を生成する（ステップＳ２１）。ここで、ｎは、２以上の整数である。
【００４８】
図１４は、前記ステップＳ８でＨＬＢごとにタイミング制約を分割する処理の詳細を示すフローチャートである。図１４に示すように、まず、分割箇所データ６２に基づいて、最初の実配線ＳＴＡにより得られたタイミングエラーパスリスト１１の固有名がいずれのＨＬＢに属するかを調べる（ステップＳ３１）。次いで、１パス内で複数のＨＬＢに跨がるか否かを判断する（ステップＳ３２）。跨がる場合（ステップＳ３２：Ｙｅｓ）には、ネットの境目、すなわちＨＬＢの境界で当該パスを分割し、分割後の各パスの長さに応じて遅延値を分割し（ステップＳ３３）、ステップＳ３４へ進む。
【００４９】
一方、パスが複数のＨＬＢに跨がらない場合（ステップＳ３２：Ｎｏ）には、そのままステップＳ３４へ進む。ステップＳ３４では、タイミングエラーパスリスト１１のタイミング制約をＨＬＢごとに分割し、ＨＬＢごとのタイミング制約として、第１ＨＬＢのタイミングエラーパスリスト６６、第２ＨＬＢのタイミングエラーパスリスト６７および第ｎＨＬＢのタイミングエラーパスリスト６８を得る。
【００５０】
図１５は、前記ステップＳ９〜Ｓ１１の各ＨＬＢでのレイアウト処理の詳細を示すフローチャートである。図１５に示すように、まず、ＨＬＢごとに分割された物理設計データ６３（６４，６５）に基づいて、階層なしの論理設計データ（ネットリスト）を生成する（ステップＳ４１）。次いで、この論理設計データ（ネットリスト）、並びにＨＬＢごとにそれぞれ分割された物理設計データ６３（６４，６５）およびタイミングエラーパスリスト６６（６７，６８）によるタイミング制約に基づいて、ＨＬＢごとにタイミング調整を行い（ステップＳ４２）、ＨＬＢごとにタイミングを満足する物理設計データ６９（７０，７１）を得る。
【００５１】
図１６は、前記ステップＳ１２で各ＨＬＢデータを結合する処理の詳細を示すフローチャートである。図１６に示すように、まず、各ＨＬＢのタイミングを満足する物理設計データ６９，７０，７１を結合し、フラットのデータを生成し（ステップＳ５１）、フラットの物理設計データ７２を得る。そして、この新たに得たフラットの物理設計データ７２と分割前の論理設計データ７３とを比較し、その差分を分割前の論理設計データ７３に適用して新たに論理設計データを生成し（ステップＳ５２）、最終的な論理設計データ７４を得る。
【００５２】
以上説明したように、実施の形態によれば、フラットの物理設計データに基づいて、レイアウトを開始し、配置・配線処理後にＨＬＢに分割するので、実配線に沿ったＨＬＢ端子を生成できる。従って、ＨＬＢ端子位置に起因するタイミングエラーを防止できる。また、ＨＬＢのサイズや位置に起因するタイミングエラーや、配線性の悪化を防止できる。さらに、ＨＬＢ分割後、レイアウト設計が完了するまでは、各ＨＬＢのレイアウトを平行して処理できるので、タイミング収束までの時間が短縮され、開発期間を短くできる。従って、ＴＡＴを十分に短縮することができるという効果を奏する。
【００５３】
なお、本実施の形態で説明したレイアウト設計方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００５４】
（付記１）フラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行うフラットレイアウト工程と、前記フラットレイアウト工程の静的タイミング解析処理によってタイミングエラーが発生したパスを抽出するタイミングエラーパス抽出工程と、前記タイミングエラーパス抽出工程により抽出されたタイミングエラーパスを含む領域を階層レイアウトブロックに分割するブロック分割工程と、前記ブロック分割工程により分割された階層レイアウトブロックごとにタイミング制約を分割するタイミング制約分割工程と、前記タイミング制約分割工程により分割されたタイミング制約に基づいて、前記ブロック分割工程により分割された階層レイアウトブロックごとにレイアウトを行うブロックレイアウト工程と、前記ブロックレイアウト工程によりレイアウトが済んだ階層レイアウトブロックのデータを結合してフラットの物理設計データを生成する結合工程と、を含むことを特徴とするレイアウト設計方法。
【００５５】
（付記２）前記ブロック分割工程では、階層レイアウトブロックに含まれるセル数をゲート数に換算し、該ゲート数が所定数よりも小さくなるように階層レイアウトブロックの分割を行うことを特徴とする付記１に記載のレイアウト設計方法。
【００５６】
（付記３）前記タイミング制約分割工程では、複数の階層レイアウトブロックに跨がるタイミングエラーパスを、当該タイミングエラーパスの始点から階層レイアウトブロックの境界までのパスと、該境界から当該タイミングエラーパスの終点までのパスに分割し、それぞれのパスの長さに基づいて、当該タイミングエラーパスの遅延値を分割することを特徴とする付記１または２に記載のレイアウト設計方法。
【００５７】
（付記４）前記タイミング制約分割工程では、タイミングエラーパスが跨がる階層レイアウトブロックの境界に端子を生成することを特徴とする付記３に記載のレイアウト設計方法。
【００５８】
（付記５）前記ブロック分割工程では、縦方向については電源配線部分を境界とし、横方向についてはロウを境界として、階層レイアウトブロックの分割を行うことを特徴とする付記１〜４のいずれか一つに記載のレイアウト設計方法。
【００５９】
（付記６）前記ブロック分割工程では、前記電源配線部分または前記ロウに跨がって配置されたマクロの縁を境界として、階層レイアウトブロックの分割を行うことを特徴とする付記５に記載のレイアウト設計方法。
【００６０】
（付記７）付記１〜６のいずれか一つに記載のレイアウト設計方法をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【００６１】
（付記８）フラットの物理設計データに基づいて、配置・配線処理とタイミング解析処理を行うフラットレイアウト手段と、前記フラットレイアウト手段の静的タイミング解析処理によってタイミングエラーが発生したパスを抽出するタイミングエラーパス抽出手段と、前記タイミングエラーパス抽出手段により抽出されたタイミングエラーパスを含む領域を階層レイアウトブロックに分割するブロック分割手段と、前記ブロック分割手段により分割された階層レイアウトブロックごとにタイミング制約を分割するタイミング制約分割手段と、前記タイミング制約分割手段により分割されたタイミング制約に基づいて、前記ブロック分割手段により分割された階層レイアウトブロックごとにレイアウトを行うブロックレイアウト手段と、前記ブロックレイアウト手段によりレイアウトが済んだ階層レイアウトブロックのデータを結合してフラットの物理設計データを生成する結合手段と、を備えることを特徴とするレイアウト設計装置。
【００６２】
（付記９）前記ブロック分割手段は、階層レイアウトブロックに含まれるセル数をゲート数に換算し、該ゲート数が所定数よりも小さくなるように階層レイアウトブロックの分割を行うことを特徴とする付記８に記載のレイアウト設計装置。
【００６３】
（付記１０）前記タイミング制約分割手段は、複数の階層レイアウトブロックに跨がるタイミングエラーパスを、当該タイミングエラーパスの始点から階層レイアウトブロックの境界までのパスと、該境界から当該タイミングエラーパスの終点までのパスに分割し、それぞれのパスの長さに基づいて、当該タイミングエラーパスの遅延値を分割することを特徴とする付記８または９に記載のレイアウト設計装置。
【００６４】
（付記１１）前記タイミング制約分割手段は、タイミングエラーパスが跨がる階層レイアウトブロックの境界に端子を生成することを特徴とする付記１０に記載のレイアウト設計装置。
【００６５】
（付記１２）前記ブロック分割手段は、縦方向については電源配線部分を境界とし、横方向についてはロウを境界として、階層レイアウトブロックの分割を行うことを特徴とする付記８〜１１のいずれか一つに記載のレイアウト設計装置。
【００６６】
（付記１３）前記ブロック分割手段は、前記電源配線部分または前記ロウに跨がって配置されたマクロの縁を境界として、階層レイアウトブロックの分割を行うことを特徴とする付記１２に記載のレイアウト設計装置。
【産業上の利用可能性】
【００６７】
以上のように、本発明にかかるレイアウト設計方法、レイアウト設計プログラムおよびレイアウト設計装置は、ＬＳＩのレイアウト設計に有用であり、特に、階層レイアウト設計法によりＬＳＩの設計を行うのに適している。
【図面の簡単な説明】
【００６８】
【図１】この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
【図２】この発明の実施の形態にかかるレイアウト設計装置の機能的構成を示すブロック図である。
【図３】この発明の実施の形態にかかるレイアウト設計装置の処理手順を示すフローチャートである。
【図４】タイミングエラーパスリストの一例を示す図表である。
【図５】タイミングエラーパスの一例を示す模式図である。
【図６】分割領域の決定方法を説明する模式図である。
【図７】分割領域の決定方法を説明する模式図である。
【図８】第１ＨＬＢのタイミングエラーパスリストの一例を示す図表である。
【図９】第２ＨＬＢのタイミングエラーパスリストの一例を示す図表である。
【図１０】第３ＨＬＢのタイミングエラーパスリストの一例を示す図表である。
【図１１】ＨＬＢを切り出す際の分割領域の決定方法を説明する模式図である。
【図１２】ＨＬＢを切り出す際の分割領域の決定方法を説明する模式図である。
【図１３】ＨＬＢを切り出す処理を示すフローチャートである。
【図１４】タイミング制約を分割する処理を示すフローチャートである。
【図１５】ＨＬＢのレイアウト処理を示すフローチャートである。
【図１６】ＨＬＢデータの結合処理を示すフローチャートである。
【符号の説明】
【００６９】
１  フラットレイアウト部
２  タイミングエラーパス抽出部
３  ブロック分割部
４  タイミング制約分割部
５  ブロックレイアウト部
６  結合部
１３，１４，１５，１６，１７，１８，１９  タイミングエラーパス
２１，２２，２３，２４，２５  タイミングエラーパスを含む領域
３１，３２，３３，３４，５１，５２  ＨＬＢ
３５，３６  ＨＬＢ端子
５４  電源配線部分
５６  ロウ
５７  マクロ
６１，７２  フラットの物理設計データ
【図１】
2008112299.tif 000003
【図２】
2008112299.tif 000004
【図３】
2008112299.tif 000005
【図４】
2008112299.tif 000006
【図５】
2008112299.tif 000007
【図６】
2008112299.tif 000008
【図７】
2008112299.tif 000009
【図８】
2008112299.tif 000010
【図９】
2008112299.tif 000011
【図１０】
2008112299.tif 000012
【図１１】
2008112299.tif 000013
【図１２】
2008112299.tif 000014
【図１３】
2008112299.tif 000015
【図１４】
2008112299.tif 000016
【図１５】
2008112299.tif 000017
【図１６】
2008112299.tif 000018