(57)【要約】階層設計自動システムにおける集積回路設計のモデル化方法であり、ここでは階層においてブロックの先祖の位置付け、ルーティング、抽出、シミュレーション、確認を実現するのに必要な全てのデータベースオブジェクト（セル、ネット、ワイヤ、バイア、ブロッケージ）のセットを含んでいるブロック抽象化を使用する。
2005518002.tif 000002
【特許請求の範囲】
【請求項１】
セルおよび相互接続部を有し、トップレベルと複数のブロックに階層的に分解されている表示を有する集積回路設計の生成で使用される方法において、複数の前記ブロックの少なくとも幾つかはさらに階層的に分解され、関連する親ブロックを有することが可能であり、
前記少なくとも１つのブロック内のコンポーネント間の相互接続に関する物理的な相互接続情報を含んでいる抽象化が生成されるように前記ブロックの１以上のものを処理し、前記物理的な相互接続情報は前記集積回路の評価された性質における相互接続の寄生的な電気および物理的効果をモデル化し、
前記親ブロックを実行する別の開発フェーズで前記抽象化を使用するステップを含んでいる方法。
【請求項２】
前記処理は、前記親ブロックの物理的および電気的性質に影響する全ての前記物理的相互接続情報のサブセットだけを維持し、
前記親ブロックの論理的性質に影響するセルのサブセットだけを維持するステップを含んでいる請求項１記載の方法。
【請求項３】
前記抽象化の使用は、前記少なくとも１つのブロックの記述を前記抽象化の記述で置換するステップを含んでいる請求項２記載の方法。
【請求項４】
サブセットの維持は、前記少なくとも１つのブロックのネットリストの内容の決定を含んでいる請求項２記載の方法。
【請求項５】
前記少なくとも１つのブロックのネットリストの前記内容は、
データ入力の処理、
出力の処理、
クロック入力の処理により決定される請求項４記載の方法。
【請求項６】
データ入力の処理は１次入力のリストの作成を含んでいる請求項５記載の方法。
【請求項７】
前記リストが空になるまで、各遭遇するピンに対して、
前記遭遇したピンを前記リストから除去し、
前記除去されたピンがクロックピンであるならば、前記除去されたピンをスキップして、次のピンに継続し、
前記除去されたピンがクロックピンではないならば、前記除去されたピンを前進処理する請求項６記載の方法。
【請求項８】
前記除去されたピンの前進処理は後継者のリストの作成を含んでいる請求項７記載の方法。
【請求項９】
後継者の前記リストが空になるまで、遭遇する各ピンに対して、
前記遭遇する後継者ピンを前記後継者のリストから除去し、
前記除去された後継者のピンのセルをタイミングセルとしてラベルを付け、
前記除去された後継者のピンがクロックピンであるならば、前記除去された後継者のピンをスキップし、
前記除去された後継者のピンがクロックピンではないならば、前記除去された後継者のピンがセル入力であるか否かをチェックする請求項８記載の方法。
【請求項１０】
前記除去された後継者のピンがセル入力であるならば、前記除去された後継者のピンが１より多い前任者のセルを有するか否かをチェックし、
前記除去された後継者のピンが１より多い前任者のセルを有するならば、前記前任者のセルをマルチデバイダロードセルとしてラベルを付け、前記除去されたピンの前記前進処理を反復的に実行する請求項９記載の方法。
【請求項１１】
前記除去された後継者のピンがセル入力ではないならば、または
前記除去された後継者のピンが１より多い前任者のセルをもたないならば、前記除去されたピンの前記前進処理を反復的に実行する請求項１０記載の方法。
【請求項１２】
出力の処理は１次出力のリストの作成を含んでいる請求項５記載の方法。
【請求項１３】
前記リストが空になるまで、遭遇する各ピンに対して、
前記遭遇するピンを前記リストから除去し、
前記除去されたピンを後退処理する請求項１２記載の方法。
【請求項１４】
前記除去されたピンの後退処理は、前任者のリストの作成を含んでいる請求項１３記載の方法。
【請求項１５】
前記前任者の前記リストが空になるまで、遭遇する各ピンに対して、
前記遭遇する前任者ピンを前記前任者のリストから除去し、
前記除去された前任者のピンのセルをタイミングセルとしてラベルを付け、
前記除去された前任者のピンがクロックピンであるならば、前記除去された前任者のピンをスキップし、
前記除去された前任者のピンがクロックピンではないならば、前記除去された前任者のピンがセル出力であるか否かをチェックする請求項１４記載の方法。
【請求項１６】
前記除去された前任者のピンがセル出力であるならば、
後継者のセルをマルチロードセルとしてラベルを付け、
前記除去されたピンの前記後退処理を反復的に実行する請求項１５記載の方法。
【請求項１７】
前記除去された後継者のピンがセル出力ではないならば、前記除去されたピンの前記後退処理を反復的に実行する請求項１５記載の方法。
【請求項１８】
クロック入力の処理は１次クロック入力のリストを作成することを含んでいる請求項５記載の方法。
【請求項１９】
前記リストが空になるまで、遭遇する各ピンに対して、
前記遭遇するピンを前記リストから除去し、
前記除去されたクロックピンを前進処理する請求項１８記載の方法。
【請求項２０】
前記除去されたピンの前進処理は、後継者のリストの作成を含んでいる請求項１９記載の方法。
【請求項２１】
前記後継者の前記リストが空になるまで、遭遇する各ピンに対して、
前記遭遇する後継者のピンを前記後継者のリストから除去し、
前記除去された後継者のピンがクロックピンであるならば、前記除去された後継者のピンを反復的に前進処理し、
前記除去された後継者のピンがクロックピンではないならば、前記除去された後継者のピンをスキップする請求項２０記載の方法。
【請求項２２】
前記除去された後継者のピンを反復的に前進処理した後、
任意の後継者のセルがタイミングセルとしてラベルを付けられているか否かをチェックする請求項２１記載の方法。
【請求項２３】
任意の後継者のセルがタイミングセルとしてラベルを付けられているならば、
前記除去された後継者のピンのセルをタイミングセルとしてラベルを付け、
前記後継者のセルをクロックロードセルとしてラベルを付ける請求項２２記載の方法。
【請求項２４】
タイミングセルとしてラベルを付けられた後継者のセルがないならば、前記除去された後継者のピンをスキップする請求項２２記載の方法。
【請求項２５】
前記物理的な相互接続情報が回路のレイアウトおよび製造プロセスの物理的および電気的効果をモデル化する請求項１記載の方法。
【請求項２６】
前記物理的および電気的効果は、位置付けおよびルーティング制約、アンテナ効果、ＲＣ遅延モデル化による静的タイミング解析、容量結合と雑音注入による静的タイミング解析、ＩＲドロップモデル化による静的タイミング解析、電気移動解析の少なくとも１つを含んでいる請求項２５記載の方法。
【請求項２７】
前記少なくとも１つのブロックの位置付けおよびルーティング効果は前記少なくとも１つのブロックの境界の物理的ディメンション、許容された接続が少なくとも１つのブロックピンに対して行われることができる物理的位置、前記許容された接続を行うために使用されるレイアウトの１以上を使用してモデル化される請求項２６記載の方法。
【請求項２８】
アンテナ効果は前記抽象化において、各ピンに電気的に接続されている全てのピン−ワイヤ、全てのダイオード、トランジスタゲート、これらのワイヤによりピンに接続されているトランジスタソース／ドレインを含むことによってモデル化される請求項２６記載の方法。
【請求項２９】
静的タイミング解析中の抵抗−キャパシタンス（ＲＣ）相互接続遅延はブロックの１次入力／出力ピンに取り付けられているピン−ワイヤと、タイミングシェルのセルに取り付けられている全てのピン−ネットを構成するワイヤを前記抽象化に含ませることによりモデル化される請求項２６記載の方法。
【請求項３０】
静的タイミング解析中の側壁結合はピン−ワイヤに潜在的に容量結合される結合−ワイヤを前記抽象化に含むことによりモデル化される請求項２９記載の方法。
【請求項３１】
雑音注入および遅延は、少なくとも、
ａ）ピンワイヤに潜在的に容量結合される結合−ネット上の全てのワイヤと、
ｂ）これらのネットを駆動する結合−セルと、ブロックのシミュレーション中に得られた到着時間とスルー値によってモデル化されている駆動セルの入力ピンを有する、これらのネットにより駆動される結合−セルと、
ｃ）前記含まれる結合−ネットに潜在的に結合する推移−ワイヤの少なくとも１つを前記抽象化に含むことにより容量結合がモデル化されるために静的タイミング解析中に変化する請求項２９記載の方法。
【請求項３２】
雑音注入および遅延は、
ａ）ピンワイヤに潜在的に容量結合される結合−ネット上の全てのワイヤと、
ｂ）組合わせ論理のコーン全体と、これらのネットを駆動する第１のラッチまたはフリップフロップと前記付加的なセル上のピンに取り付けられたネット上の全てのワイヤまでとを含むことによりモデル化される駆動セルの入力ピンを有する、これらのネットを駆動する結合−セルおよびこれらのネットにより駆動される結合−セルと、
ｃ）前記含まれている“結合”ネットに潜在的に結合する“推移ワイヤ”の少なくとも１つを前記抽象化中に含むことにより容量結合がモデル化されるために静的タイミング解析中に変化する請求項２９記載の方法。
【請求項３３】
ＩＲドロップ効果はブロックの簡単にされた電気モデルを使用してモデル化され、各ピンはその内部ＲＣ−ネットワークをモデル化するため理想的な電流シンク／ソースおよび関連するインピーダンスマトリックスとしてモデル化される請求項２６記載の方法。
【請求項３４】
電気移動効果はパワーネットに対して、パワードロップ効果に必要とされる同じ情報を使用してモデル化される請求項３３記載の方法。
【請求項３５】
電気移動効果は信号ネットに対して、静的タイミング解析に必要とされる同じ情報を使用してモデル化される請求項３０記載の方法。
【請求項３６】
セルおよび相互接続部を有し、トップレベルと複数のブロックに階層的に分解されている集積回路の設計方法において、前記ブロックはさらに階層的に分解可能であり、
親ブロックおよび子孫ブロック内のコンポーネント間の物理的な相互接続情報を含んでいる逆抽象化が生成されるように前記ブロックの１つの親ブロックおよび任意の子孫ブロックを処理し、前記物理的な相互接続情報は前記集積回路の性質における相互接続の寄生的な電気的および物理的効果をモデル化しており、
前記１つのブロックを設計および解析する少なくとも１つのフェーズで前記逆抽象化を使用する設計方法。
【請求項３７】
前記フェーズは、静的タイミング解析、雑音解析、パワー供給解析、ＩＲドロップ解析、電気移動解析、アンテナルール侵害検出および修復、位置付けおよびルーティング、構成、設計、確認の少なくとも１つを含んでいる請求項３６記載の方法。
【請求項３８】
１より多くの前記フェーズを一体化するため統一されたデータモデルを使用する請求項２７記載の方法。
【請求項３９】
セルおよび相互接続部を有し、トップレベルと複数のブロックに階層的に分解されている表示を有する集積回路設計の生成で使用される方法を実行する記憶された命令を有するコンピュータの読取り可能な媒体を具備するアーティクルにおいて、複数の前記ブロックの少なくとも幾つかはさらに階層的に分解されて関連する親ブロックを有することができ、前記命令はそれが実行されるとき、
少なくとも１つのブロック内のコンポーネント間の相互接続に関する物理的な相互接続情報を含んでいる抽象化が生成されるように前記ブロックの少なくとも１つを処理し、前記物理的な相互接続情報は前記集積回路の評価された性質における相互接続の寄生的な電気的および物理的効果をモデル化し、
前記親ブロックを実行する別の開発フェーズにおいて前記抽象化を使用するアーティクル。。
【請求項４０】
前記処理は、前記親ブロックの物理的および電気的性質に影響する全ての前記物理的相互接続情報のサブセットだけを維持し、
前記親ブロックの論理的性質に影響するセルのサブセットだけを維持することを含んでいる請求項３９記載のアーティクル。
【請求項４１】
前記抽象化の使用は、前記少なくとも１つのブロックの記述を前記抽象化の記述で置換することを含んでいる請求項３９記載のアーティクル。
【請求項４２】
サブセットの維持は、前記少なくとも１つのブロックのネットリストの内容の決定を含んでいる請求項４０記載のアーティクル。
【請求項４３】
論理シェルの前記内容は、
データ入力の処理と、
出力の処理と、
クロック入力の処理とにより決定される請求項４２記載のアーティクル。
【請求項４４】
データ入力の処理は１次入力のリストの作成を含んでいる請求項４３記載のアーティクル。
【請求項４５】
前記リストが空になるまで、各遭遇するピンに対して、
前記遭遇したピンを前記リストから除去し、
前記除去されたピンがクロックピンであるならば、前記除去されたピンをスキップし、次のピンに継続し、
前記除去されたピンがクロックピンではないならば、前記除去されたピンを前進処理する請求項４４記載のアーティクル。
【請求項４６】
前記除去されたピンの前進処理は後継者のリストの作成を含んでいる請求項４５記載のアーティクル。
【請求項４７】
後継者の前記リストが空になるまで、遭遇する各ピンに対して、
前記遭遇する後継者ピンを前記後継者のリストから除去し、
前記除去された後継者のピンのセルをタイミングセルとしてラベルを付け、
前記除去された後継者のピンがクロックピンであるならば、前記除去された後継者のピンをスキップし、
前記除去された後継者のピンがクロックピンではないならば、前記除去された後継者のピンがセル入力であるか否かをチェックする請求項４６記載のアーティクル。
【請求項４８】
前記除去された後継者のピンがセル入力であるならば、前記除去された後継者のピンが１より多くの後継者のセルを有するか否かをチェックし、
前記除去された後継者のピンが１を超える前任者のセルを有するならば、前記前任者のセルをマルチドライバロードセルとしてラベルを付け、前記除去されたピンの前記前進処理を反復的に実行する請求項４７記載のアーティクル。
【請求項４９】
前記除去された後継者のピンがセル入力ではないならば、または
前記除去された後継者のピンが１より多くの前任者のセルをもたないならば、前記除去されたピンの前記前進処理を反復的に実行する請求項４８記載のアーティクル。
【請求項５０】
出力の処理は１次出力のリストの作成を含んでいる請求項４３記載のアーティクル。
【請求項５１】
前記リストが空になるまで、遭遇する各ピンに対して、
前記遭遇するピンを前記リストから除去し、
前記除去されたピンを後退処理する請求項５０記載のアーティクル。
【請求項５２】
前記除去されたピンの後退処理は、前任者のリストの作成を含んでいる請求項５１記載のアーティクル。
【請求項５３】
前記前任者の前記リストが空になるまで、遭遇する各ピンに対して、
前記遭遇する前任者ピンを前記前任者のリストから除去し、
前記除去された前任者のピンのセルをタイミングセルとしてラベルを付け、
前記除去された前任者のピンがクロックピンであるならば、前記除去された前任者のピンをスキップし、
前記除去された前任者のピンがクロックピンではないならば、前記除去された前任者のピンがセル出力であるか否かをチェックする請求項５２記載のアーティクル。
【請求項５４】
前記除去された前任者のピンがセル出力であるならば、
後継者のセルをシンクロードセルとしてラベルを付け、
前記除去されたピンの前記後退処理を反復的に実行する請求項５３記載のアーティクル。
【請求項５５】
前記除去された後継者のピンがセル出力ではないならば、前記除去されたピンの前記後退処理を反復的に実行する請求項５３記載のアーティクル。
【請求項５６】
クロック入力の処理は１次クロック入力のリストの作成を含んでいる請求項４３記載のアーティクル。
【請求項５７】
前記リストが空になるまで、遭遇する各ピンに対して、
前記遭遇するピンを前記リストから除去し、
前記除去されたピンを前進処理する請求項５６記載のアーティクル。
【請求項５８】
前記除去されたピンの前進処理は、後継者のリストの作成を含んでいる請求項５７記載のアーティクル。
【請求項５９】
前記後継者の前記リストが空になるまで、遭遇する各ピンに対して、
前記遭遇する後継者のピンを前記後継者のリストから除去し、
前記除去された後継者のピンがクロックピンであるならば、前記除去された後継者のピンを反復的に前進処理し、
前記除去された後継者のピンがクロックピンではないならば、前記除去された後継者のピンをスキップする請求項５８記載のアーティクル。
【請求項６０】
前記除去された後継者のピンを反復的に前進処理した後、
後継者のセルがタイミングセルとしてラベルを付けられているか否かをチェックする請求項５９記載のアーティクル。
【請求項６１】
任意の後継者のセルがタイミングセルとしてラベルを付けられているならば、
前記除去された後継者のピンのセルをタイミングセルとしてラベルを付け、
前記後継者のセルをクロックロードセルとしてラベルを付ける請求項６０記載のアーティクル。
【請求項６２】
タイミングセルとしてラベルを付けられた後継者のセルがないならば、前記除去された後継者のピンをスキップする請求項６０記載のアーティクル。
【請求項６３】
前記物理的な相互接続情報が回路のレイアウトおよび製造プロセスの物理的効果を含んでいる請求項３９記載のアーティクル。
【請求項６４】
前記物理的効果は、位置付けおよびルーティング制約、アンテナ効果、ＲＣ遅延モデル化による静的タイミング解析、容量結合と雑音注入による静的タイミング解析、ＩＲドロップモデル化による静的タイミング解析、電気移動解析の少なくとも１つを含んでいる請求項６３記載のアーティクル。
【請求項６５】
前記少なくとも１つのブロックの位置付けおよびルーティング効果は前記少なくとも１つのブロックの境界の物理的ディメンション、許容された接続が前記ブロックピンに対して行われることができる物理的位置、前記許容された接続を行うために使用されるレイアウトの１以上のものを使用してモデル化される請求項６４記載のアーティクル。
【請求項６６】
アンテナ効果は前記抽象化において、各ピンに電気的に接続されている全てのピン−ワイヤ、全てのダイオード、トランジスタゲート、およびこれらのワイヤによりピンに接続されているトランジスタソース／ドレインを含むことによりモデル化される請求項６４記載のアーティクル。
【請求項６７】
静的タイミング解析中の抵抗−キャパシタンス（ＲＣ）相互接続遅延はブロックの１次入力／出力ピンに取り付けられているピン−ワイヤと、タイミングシェルのセルに取り付けられている全てのピン−ネットを構成するワイヤとを前記抽象化に含むことによりモデル化される請求項６４記載のアーティクル。
【請求項６８】
静的タイミング解析中の側壁結合はピン−ワイヤに潜在的に容量結合される結合−ワイヤを前記抽象化に含むことによりモデル化される請求項６７記載のアーティクル。
【請求項６９】
雑音注入および遅延は、
ａ）ピンワイヤに潜在的に容量結合される結合−ネット上の全てのワイヤと、
ｂ）ブロックのシミュレーション中に得られた到着時間とスルー値によりモデル化されている駆動セルの入力ピンを有する、これらのネットを駆動する結合−セルと、これらのネットにより駆動される結合−セルと、
ｃ）前記含まれる結合−ネットに潜在的に結合可能な推移−ワイヤとの少なくとも１つを前記抽象化に含むことにより容量結合がモデル化されるために静的タイミング解析中に変化する請求項６７記載のアーティクル。
【請求項７０】
雑音注入および遅延は、
ａ）ピンワイヤに潜在的に容量結合される結合−ネット上の全てのワイヤと、
ｂ）組合わせ論理のコーン全体を含み、これらのネットを駆動する第１のラッチまたはフリップフロップと前記付加的なセル上のピンに取り付けられたネット上の全てのワイヤまでを含むことによりモデル化される駆動セルの入力ピンを有する、これらのネットを駆動する結合−セルと、これらのネットにより駆動される結合−セルと、
ｃ）前記含まれる“結合”ネットに潜在的に結合する“推移ワイヤ”との少なくとも１つを前記抽象化に含むことにより容量結合がモデル化されるために静的タイミング解析中に変化する請求項６７記載のアーティクル。
【請求項７１】
ＩＲドロップ効果はブロックの簡単にされた電気モデルを使用してモデル化され、各ピンはその内部ＲＣ−ネットワークをモデル化するために理想的な電流シンク／ソースおよび関連するインピーダンスマトリックスとしてモデル化される請求項６４記載のアーティクル。
【請求項７２】
電気移動効果はパワーネットで、パワードロップ効果に必要とされる同一の情報を使用してモデル化される請求項７１記載のアーティクル。
【請求項７３】
電気移動効果は信号ネットに対して、静的タイミング解析に必要とされる同一の情報を使用してモデル化される請求項６８記載のアーティクル。
【請求項７４】
セルと相互接続部とを有し、トップレベルと複数のブロックに階層的に分解されている集積回路の設計方法で実行される記憶された命令を有するコンピュータの読取り可能な媒体を具備するアーティクルにおいて、前記ブロックはさらに階層的に分解され、前記命令はそれが実行されるとき、
前記親および子孫ブロック内のコンポーネント間の物理的な相互接続情報を含んでいる逆抽象化が生成されるように前記ブロックの１つの親ブロックおよび任意の子孫ブロックを処理し、前記物理的な相互接続情報は前記集積回路の性質における相互接続の寄生的な電気および物理的効果をモデル化し、
前記１つのブロックを設計および解析する少なくとも１つのフェーズで前記逆抽象化を使用するアーティクル方法。
【請求項７５】
前記フェーズは、静的タイミング解析、雑音解析、パワー供給解析、ＩＲドロップ解析、電気移動解析、アンテナルール侵害検出および修復、位置付けおよびルーティング、構成、設計、確認の少なくとも１つを含んでいる請求項７４記載のアーティクル。
【請求項７６】
１より多くの前記フェーズを一体化するため統一されたデータモデルを使用する請求項７５記載のアーティクル。
【請求項７７】
前記相互接続部は前記少なくとも１つのブロックとその親ブロックの間のインターフェースの表示を含んでいる請求項１記載の方法。
【請求項７８】
前記相互接続部は前記少なくとも１つのブロックとその親ブロックの間のインターフェースの表示を含んでいる請求項３９記載のアーティクル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子回路の製造、特に集積回路の内容およびレイアウトを設計し確認するシステムに関する。
【背景技術】
【０００２】
電子コンピュータエイド設計（ＥＣＡＤ）ソフトウェアシステムでは、集積回路設計仕様および構成データはデータベース記録のセットとして記憶されなければならず、これらの記録はソフトウェアが動作しているコンピュータの仮想メモリ容量に基づいて幾つかの有限の最大寸法を有する。さらに、ＥＣＡＤソフトウェアの実行時間は通常設計の大きさと共に増加する。非常に大きい集積回路設計を表すためのデータは非常に大きいためコンピュータのメモリに適合できず、または設計全体を設計またはシミュレートするのに必要な実行時間は不可能である可能性がある。これは特に多数のコンポーネント（即ちゲート）および集積回路内の付随する接続が千万または一億以上であるときに不可能である。
【０００３】
階層的な分解または“区分化”は設計を完成するのに必要なメモリおよび／または実行時間が管理可能な状態であるように、大きい集積回路設計仕様の複雑性を減少するために使用される技術である。設計を単一のフラットなデータベースとして表す代わりに、設計は“ブロック”と呼ばれるピースに区分され、独立して設計され、確認されることができる。階層の所定の単一レベルでは、設計仕様は１セットのブロックおよびこれらのブロック間のトップレベルの相互接続からなる。階層の多数のレベルでは、ブロックはそれら自体、さらに小さいサブブロックおよびそれらの相互接続からなる。
【０００４】
階層的な分解はまた幾つかの設計者間の設計プロジェクトを区分する方法として設計チームにより単に組織的ツールとしても使用される。しかしながら設計仕様における設計チームにより生成されたこの論理的な階層は実行のために設計を区分するのに使用される物理的な階層と同一である必要はない。しばしば論理的な階層は物理的な階層よりも非常に深い。ブロックの平坦化プロセスは論理的な階層を適切な物理的な階層へ変換するために使用される。
【０００５】
通常の階層設計プロジェクトは典型的に２つの主なステップ、即ちトップダウンブロック計画ステップとそれに後続するボトムアップ確認ステップで進行する。ブロック自体がトップダウン相中に構成される（即ち各ブロックがその子供の前に構成される）ならば、フローはトップダウンフローと呼ばれる。反対に、ブロックがボトムアップ相中に構成される（即ち各ブロックがその全ての子供が完成した後に構成される）ならば、フローはボトムアップフローと呼ばれる。トップダウンおよびボトムアップフローはそれぞれ利点と欠点とを有する。一般性を失うことなく、トップダウンフローをこの明細書の残りの部分で１例として使用する。ボトムアップフローは同一の技術を使用して実行することができる。
【０００６】
図１は典型的なトップダウンブロック計画および構成のフローを示している。論理的な階層を物理的な階層へマップするために設計ネットリストの区分化で開始し、構成されるようにトップレベルのブロックとサブブロックのセットとを規定する（ステップ110 ）。各サブブロックはその後、幅および高さ値ならびにフロアプランにおける位置を割当てられる（ステップ115 ）。位置はその後各サブブロック上のピンに割当てられ、これはネットがサブブロック境界を横切る位置を表している（ステップ120 ）。これに信号の到着／各サブブロックピンに対する必要な時間制約を割当てる時間バジェットステップが続き、サブブロック境界を横切るタイミングパスに割当てられるクロックサイクル部分を示す（ステップ135 ）。
【０００７】
トップダウンフローのこの点で、トップレベルのブロックが計画された後、プロセスはブロックを構成する準備をされる。ブロックが所有する全てのリーフセル（標準的なセルおよびマクロ）は配置を割当てられ、ブロックが所有している全てのネットはルートされる（ステップ140 ）。任意のネットがサブブロック（いわゆる“フィードスルーネット”）にわたってルートされるならば、これらのワイヤはオーバーラップするサブブロックにプッシュダウンされ、新しいピンはワイヤがサブブロック境界を横切るサブブロックで生成される（ステップ145 ）。その後反復的に同じプロセスにしたがってサブブロックを構成する（ステップ150 ）。これは各サブブロックをトップレベルブロックとして扱いながらステップ110 から170 を反復的に実行することを含んでいる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
形状、ピン位置、各ブロックに割当てられたタイミングバジェットを適切に完成するための前述のプロセス（ステップ115 からステップ135 ）では実現可能な制約を表さなければならない。そうでなければ、システムはそれらの仕様にしたがって幾つかのブロックの構成を完成できない。このような場合には、仕様は正確にされる必要があり、トップダウンプロセスは正確な構成が実現されることができる前に反復される必要がある。このような反復的な正確化は時間を浪費し、避けなければならない。したがって、これらのステップで高品質の結果を実現する方法は臨界的に重要である。
【０００９】
反復的なトップダウン計画および構成ステップが完了されたとき、ボトムアップ確認プロセスは開始できる。最低レベルのブロックからトップレベルへ進行し、各ブロックは論理的な正確さと、そのタイミングおよび電気的性能について独立して解析され、その仕様に対して比較される（ステップ155 ）。ブロックの全てのサブブロックが独立して確認された後、ブロック自体がサブブロックが正確であるという仮定の下で解析されることができる（ステップ170 ）。
【課題を解決するための手段】
【００１０】
種々の実施形態では、本発明はその親ブロックとその子孫ブロックとのインターフェースが正確に解析される程度に十分詳細にブロックの構造と性質を捕捉するブロック“抽象化”と呼ばれる減少されたモデルの生成および使用からなる。抽象化の目標は階層の先祖へのブロックを表すのに必要なメモリの量を減少し、その親および子孫ブロックの文脈でブロックの各インスタンスを解析するのに必要な実行時間量を減少することである。
【発明を実施するための最良の形態】
【００１１】
本発明のこれらおよび他の目的、特徴、利点は添付図面を伴った以下の詳細な説明により良好に理解されるであろう。  
トップダウン階層設計プロセスを実行する１方法は図２で示され説明されている階層設計フローである。図２で示されている設計フローは図１で示されているトップダウンフローの洗練化されたものであり、３つの付加的なステップ230 、260 、265 を有する。洗練化はトップダウンバジェットおよびブロック構成ステップおよびボトムアップ確認ステップ中での、親および子孫ブロックの文脈でサブブロックをモデル化する方法に関する。これらのステップはクリーンな階層境界が侵犯され、交差境界解析が必要とされるフローにおける位置を表す。この交差境界解析を管理する効率的な技術なしには、階層設計プロセスの１次利点、即ち大きい集積回路の設計に必要なメモリと実行時間を減少する能力は失われる。
【００１２】
トップダウンバジェットステップ中の１つの目的は、１以上の階層境界と交差して横切る組合わせ論理パス（ラッチおよび／またはフリップフロップ間の論理ゲート）を解析し、そのパスの各セグメントに対してバジェットされるべきクロックサイクル部分を決定することである。
【００１３】
トップダウンブロック構成ステップ中に、そのサブブロックが構成される前にブロックは配置され、ルート設定される。多くの場合、位置付けとルート設定は階層境界を横切って公正に分断される。しかしながら、多くの新しい製造プロセスは階層境界の両側に存在するルーティングワイヤの詳細な知識を必要とする“アンテナルール”と呼ばれるルールのセットにしたがうためにルーティングワイヤを必要とする。
【００１４】
ボトムアップ確認プロセス中、階層境界を横切る組合わせ論理パスを解析することもまた必要である。サブブロックを含んだブロックを解析するとき、そのサブブロックは予め確認されていることを利用し、それらの親を解析しながらサブブロックを再度解析する必要をなくすことが望ましい。
【００１５】
これらの３つのケースを行うために、本発明は種々の実施形態で、その親ブロックとその子孫ブロックとのインターフェースが正確に解析されることができる程度に十分詳細にブロックの構造と性質を捕捉するブロック“抽象化”と呼ばれる減少されたモデルの使用を開示する。抽象化の目標は階層の先祖へのブロックを表すのに必要なメモリの量を減少させ、その親および子孫ブロックの文脈でブロックの各インスタンスを解析するのに必要な実行時間量を減少させることである。
【００１６】
前述したように、これに関して図１の階層設計フローは付加的なステップ230 、260 、265 により補足され強化されている。ステップ230 では、時間バジェットステップ前に、各サブブロックの抽象化がバジェット中で使用されるために生成される。サブブロックはまだ構成されていないので、物理的な構成データを含んでおらず、ネットリストの説明だけを含んでいる。それ故、バジェット中に使用される抽象化はサブブロックのみの論理的性質をモデル化することを意図され、物理的および電気的性質の詳細はまだ利用可能ではない。この初期的な抽象化はバジェット中に使用され、その後、破棄される。
【００１７】
時間バジェット、位置付けおよびルーティング、ワイヤのブッシュダウン、ブロック構成、ブロック確認（ステップ235 、240 、245 、250 、255 ）の後、各ブロックの第２の抽象化が生成される（ステップ260 ）。ブロック構成が完了されたとき、この抽象化はブロックの詳細な物理的および電気的特性とその論理的動作とをモデル化しなければならない。
【００１８】
確認プロセスがボトムアップで行われるので、全てのブロックの子供はブロック自体が確認される前に独立して確認される。ブロックの確認中、全てのそのサブブロックはそれらの抽象化により置換され（ステップ265 ）、したがってほとんどのサブブロックの構成および特性が既に確認されている事実を利用する。階層的境界を横切るこれらの組合わせ論理パスだけが確認のために残される。抽象化により与えられるデータ減少はブロックの確認を非常に高速にし、階層を上に移動しながらメモリの要求を減少する。
【００１９】
ステップ210 、215 、220 はそれぞれブロック110 、115 、120 と動作において類似しており、全ての他のステップ 230−270 はそれらが生の設計自体ではなく設計の抽象化に対処するので強化される。
【００２０】
トップダウンブロック構成フローとボトムアップブロック構成フローとの１つの重要な差は、前者ではブロックはその子供の前に構成され、一方、後者ではブロックはその子供の後に構成されることである。図２の階層構成フローはブロック265 と270 との間にブロック240 と245 を位置するように変更される。主な影響は、トップダウンフローではトップレベルのブロックはその子供の構成が完成される前に構成されることである。それ故、本発明はそれらの親を構成している期間中、理想化された最適ターゲットとしてサブブロックバジェットを使用する。他方で、ボトムアップフローではブロックはその親または子孫のブロックの構成が知られる前に構成されなければならない。それ故、理想化された最適化ターゲットとしてそのタイミングバジェットを使用しなければならない。
【００２１】
説明した抽象化機構は、確認のみがボトムアップを実行されるときのトップダウン構成のように、ボトムアップ構成および確認フローで使用されるとき同様に応用可能である。しかしながら、ボトムアップ構成フローでは、理想化されたバジェットではなく完了されたサブブロックをモデル化するために抽象化を使用する結果としてその親のブロックのさらに高い品質構成をもたらす。同一の利点がトップダウンフローで実現されることを許容する“逆抽象化”機構を以下、詳細に説明する。
【００２２】
ブロック抽象化のための既存の方法はブロックの論理的、物理的、電気的性質の近似的な性質の記述を捕捉するために減少された性質モデルに依存する。これらは通常、各ピンに関連する数学的モデルとして表される。例えば各ピンの論理的記述は２進決定図（ＢＤＤ）により説明されてもよい。各ピンの電気的記述は固定数のモーメントまで減少された線形化されたＲＣネットワークで捕捉されてもよい。現在、ピンのアンテナパラメータを表すのに必要な物理的情報の減少されたモデルを生成する方法は知られていない。この後者の応用に効率的な抽象化がないと、通常各ピンにおけるダイオード挿入等の構造的なアンテナ回避技術を必要とし、これは結果として回路性能を低下させる。
【００２３】
以下説明する抽象化機構の使用および応用は全て相互に依存しているタイミング解析、電気的解析、位置付けおよびルーティング、バジェットに対して非常に一貫し統一化された方法につながる。さらに、近似的な算術的モデルに依存する伝統的な抽象化機構と異なって完全な正確性が保証される。
【００２４】
［タイミング解析］  
静的タイミング解析は主にラッチおよび／またはフリップフロップ間のデータ信号の伝播時間の計算に関する。この情報は親ブロックの論理の最適化と、それらの子孫および親のコンテキストにおける子供ブロックのタイミングの確認との両者に使用される。組合わせ論理パスが１以上の階層境界を横切るならば、正確なタイミング解析はパス情報が全てのレベルの階層を通るパスの全てのセグメントで利用可能であるときに実行されることができるだけである。静的タイミングの透視から、ブロックの抽象化が低いレベルのブロックから高いレベルのブロックの境界で同一のタイミング特性を与える限り、高いレベルのブロックは減少されたモデルとフルモデルとの差を認識できない。低いレベルのブロックにより捕捉されなければならないタイミング特性は１次入力ピンにおける必要な時間と１次出力ピンにおける到着時間である。
【００２５】
これらの２つのピースの情報は、各ブロックの正確な動作環境を演繹的に知っているならば、前もって計算されることができる。しかしながら確認フローはボトムアップで進行するので、高いレベルのブロックはこの情報を正確に供給できない。子供ブロックの入力スルーおよび出力ローディング情報は正確に知られない。さらに、タイミング例外等の情報はこのような簡単なモデルで表されることができない。
【００２６】
予め抽出された線形遅延モデルにより、または可変のスルーおよびロード値を有する低いレベルのブロックで動作する多数の解析からルックアップテーブルを構成することによりスルーおよびロード効果をモデル化することが可能である。しかしながら、これらの減少されたモデルはやや不正確であり、正確な駆動装置および受信機位置とルーティングトポロジが決定されるまで相互接続ネットワークを正確にモデル化することはできず、信号依存遅延または信号結合の効果（混信遅延および雑音注入）を考慮することができない。
【００２７】
［電気的解析］  
電気的解析はブロックとその個々のコンポーネントが動作中にそれらの理想的な電気的特性から逸脱しないことを確実にすることに関する。モデル化されなければならない影響の２例はＩＲドロップと電気移動を含んでいる。
【００２８】
供給電圧のドロップと地上バウンスの影響を含むＩＲドロップはパワーおよび地上供給ネットワークの理想的ではない特性の尺度である。供給分配ネットワークを作り上げるワイヤはゼロではない抵抗を有し、大きい電流負荷は供給電圧をこれらのワイヤに沿った種々の点で特定された範囲から偏位させる。この影響は回路のタイミング特性に予測されない変化を生じ、究極のケースでは動作する回路の完全な故障を生じる。
【００２９】
電気移動故障はまた理想的ではない抵抗ワイヤの高い電流密度から生じる。しかしながら、ＩＲドロップと異なって、これらの故障はワイヤの電気的変化ではなく物理的変化を生じる。集積回路の寿命にわたって、これらの高い電流は金属原子をそれらのもとの位置から移動をさせ、これは製造時には存在しない回路の短絡および開路につながる。
【００３０】
ＩＲドロップの解析結果が故障を示すならば、パワー分配ネットワークの設計へのフィードバックとして使用される。また前述したタイミング解析の正確度を強化するために使用されてもよい。電気移動解析の結果が故障を示すならば、回路自体の構成に影響を与えるように使用されてもよく、回路のネットリストに対する変化または、ルーティング中に使用されるワイヤの幅（抵抗）の変化を必要とする。
【００３１】
これらの両者の電気的効果は現在の回路の各ワイヤで見られる正確な電圧および電流の詳細な解析を必要とする。故障を測定し予測するために使用されるモデルに応じて、この解析は静的または平均的なケースの解析であるか、ダイナミック時間ドメイン論理または回路シミュレーションを必要とする。静的タイミング解析では、これらの効果は抽象化でモデル化されなければならない。
【００３２】
［位置付けおよびルート設定］  
位置付けはブロックおよびサブブロックが集積回路に物理的にどのように配置されるかの問題であり、ルート設定（ルーティング）はこれらが相互接続される態様を指している。ブロックの物理的な位置付けとそのピンへのルーティングはブロックの物理的構造についてのかなり最小限の情報を必要とする。ブロックのピン形状はルータがそのピンへの接続を許容される正当な位置のセットを与える。ブロックの内部形状の残りは通常、親ブロックのルーティングが短絡回路を発生することを阻止し、またはセルおよびブロック内のルーティングに対する設計規則の侵害とを防止する非常に減少された妨害（blockage）のセットにより表されることができる。
【００３３】
しかしながら、現代の最も細いサブミクロン製造技術（約２５０ナノメートル以下の最小の特徴サイズによる技術）はこのモデルに対して１つの複雑性を付加している。アンテナ規則の侵害の検出と修復は階層境界を横切る駆動および受信ゲートを接続するルーティングワイヤトポロジの詳細な知識と、これらのワイヤに接続する全てのトランジスタゲート、ソース、ドレインの知識を必要とする。
【００３４】
［バジェット化］  
通常、サブブロックに対する最適で実現可能なバジェットを得るために、静的タイミング解析はブロックの階層境界を横切る全ての論理パスで実行されなければならない。この解析は親ブロック、サブブロック、または階層中のサブブロックの子孫ブロックの１つに属しているいずれのものでも関係なく、サブロックピンから可視の全てのレジスタに到達しなければならない。１つの利点はサブブロック内に完全に含まれる全ての組合わせパスが安全に無視され、非常にこの解析の費用を減少することである。
【００３５】
バジェット化ステップが交差境界論理の最適化および静的タイミング解析を実行することを許容されるならば、非常に最適なバジェット割当ての実行の可能性がある。このような技術は2002年６月10日出願の特許明細書（発明の名称“Method for Generating Design Constraints for Modules in a Hierarchical Integrated Circuit Design System ”）に記載されている（参照番号054355-0293259）。
【００３６】
［ブロック抽象化プロセス］  
以下説明するように、本発明の１つの中心的特徴は先に概要を述べた要求に準じながら、所望の論理的および物理的データを実現するブロック抽象化方法である。重要なアイディアは、正確性を減少した簡単な数学的モデルによる設計ではなく、設計データ自体のサブセットとしての設計を表すことである。減少されたモデルはもとのモデルのコピーからなるが、全ての基本的ではない情報は破棄されている。換言すると、抽象化は階層の親および子孫ブロックのコンテキストで正確にブロックをモデル化することを必要とされる論理的なネットリストおよび物理的ブロック構成のエレメントだけをコピーすることにより作成され、したがってブロックのデータ量において大きな減少を実現する。
【００３７】
この明細書の残りの部分では、アンテナ規則、抵抗−キャパシタンス（ＲＣ）ワイヤ遅延、混信、雑音注入、ＩＲドロップ、電気移動効果等の臨界的な物理的効果を含むブロックの論理的および物理的特性をモデル化するために、階層的ブロック抽象化に含まれる論理的なネットリストオブジェクトおよび物理的レイアウトオブジェクトを詳細に説明している。このような抽象化によりモデル化されたブロックはトップダウンバジェット化、ボトムアップ静的タイミング、電気的解析、およびトップダウンまたはボトムアップブロック構成に基本的に完全な正確性で使用されることができる。この正確性のレベルは親および／または子孫ブロックから独立して解析されることのできない各ブロックのデータのサブセットだけを選択的に維持することにより実現される。維持されるデータは論理的（ネットリスト）データ、設計制約、物理的（レイアウト）データからなる。簡単なまたはそれらに対して最悪のケースのモデルの代わりにそれ自体が物理的なオブジェクトを含むことにより、正確性は失われない。
【００３８】
抽象化プロセスは図３で示されているように、２つの１次ステップからなるものとして観察されることができる。最初に、ステップ310 にしたがって、ブロックの論理的“シェル”の程度を決定することにより開始する。これは各パスに沿って遭遇される第１のラッチまたはフリップフロップを含むブロックの入力および出力ピンからの組合わせパスに沿って到達可能であるセルのセットである。セットはまた前述のセルの正確な容量性ロード情報を与えるのに必要な幾つかの付加的なセルを含まなければならない。ブロック内に境界された完全なレジスタであるセルはブロックの外部タイミングに影響を与えることはできず、それ故論理的シェルに含まれない。この論理的シェルの内容は以下のセクションで説明するグラフトラバースおよびラベル化アルゴリズムで決定される。
【００３９】
論理的シェルの内容の決定後、ステップ320 で抽象化で維持されなければならない物理的形状のセットが決定される。これらは論理的シェルのネットの抵抗およびキャパシタンスのモデル化と、混信遅延および雑音注入の影響のモデル化を必要とされる。以下示すように、これらの影響をモデル化するため論理的抽象化に幾つかの付加的なセルを含む要求も存在する。
【００４０】
図４は本発明の少なくとも１つの実施形態によるステップ310 、即ち論理的シェルのラベル化の詳細なフローチャートである。論理シェルの内容はブロックのタイミンググラフのノードをラベル化するアルゴリズムで決定される。タイミンググラフは、
（１）ネットリスト（セルが相互に接続される態様の記述）；
（２）セルライブラリ（情報がセルを流れる態様の記述）；
（３）タイミング制約（クロック、タイミング例外、ブロークンエッジ）についての情報から作られる指令されたグラフである。
【００４１】
グラフノードはセルピンを表し、エッジはこれらのピンを接続しているネットを表している。言い換えると、ラベル化の目標は１次ピンから見たとき、フルモデル中に存在するのと同一のタイミンググラフをシェルモデルで与えるために必要なセルだけを維持することである。
【００４２】
論理的シェルのラベル化は論理的シェル内のデータ（クロックではない）の１次入力ピンから発生する深度１のトラバースから開始する（ブロック410 ）。次に、１次出力ピンから発生する深度１のトラバースが実行される（ブロック420 ）。最後に、ブロック430 によって、クロック（データではない）１次入力ピンから発生する深度１のトラバースが実行される。
【００４３】
これらの深度１のトラバース中に遭遇されるセルは以下の規則にしたがってラベルを与えられる（セルは１より多数のラベルを有することを許容されていることに注意）。  
１）タイミングセル；
１次入力または出力ピンから到達可能なセルとして規定される。集合的に、これらのセルは１次ピンから可視のタイミンググラフを規定する。  
２）マルチドライバロードセル；
それ自体はタイミングセルではないがタイミングセルと同一のネットを駆動するセルとして規定する。  
３）シンクロードセル；
駆動するセルがクロックネットワークの一部ではないとき、それ自体はタイミングセルではないがタイミングセルにより駆動されるセルとして規定する。  
４）クロックロードセル；
駆動するセルがクロックネットワークの一部である点を除いてシンクロードセルに類似する。
【００４４】
図５はこのラベル化プロセスを受けるブロックを示している。示されている例示的なブロックでは、以下のコンポーネントが入力仕様により与えられる。ブロックは１つの１次クロック入力ピンＣＬＫ、４つの１次データ入力ピンＣＧ、ＩＮ０、ＩＮ１、ＩＮ２、２つの１次出力ＯＵＴ０、ＯＵＴ１からなる。セルＲ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５はレジスタ（フリップフロップ）素子である。コンポーネントＣ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５は任意の組合わせ論理回路（接続されたセルのグループ）である。セルＩ１、Ｉ２、Ｉ３、Ｉ４、Ｉ５、Ｉ６、Ｉ７、Ｉ８、Ｉ９、Ｉ10、Ｉ11、Ｉ12、Ｉ13、Ｉ14は個々の組合わせ論理ゲートの例である。
【００４５】
セルラベル化プロセスはクロックピンまたはデータピンのいずれかとしてセルを識別できることに基づいている。定義により、ピンはクロックピンでなければ、データペンである。このラベル化は任意の静的タイミング解析アルゴリズムの標準的な部分であり、ここでは説明しない。静的タイミングアルゴリズムによれば、セルＩ１、Ｉ２、Ｉ３、Ｉ４、Ｉ10、Ｉ11の全てのピンはクロックピンとして識別される。さらに、セルＩ５の上部入力ピンとＩ５上の出力ピンはクロックピンとして識別される。さらに、三角形をマークされたセルＲ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５に取付けられたピンはクロックピンとしてラベルを付けられる。図５の例示的な回路に適用されるときのセルのラベル化プロセスを以下説明する。
【００４６】
［入力ピンのラベル化］  
ラベル化プロセスはデータ（クロックではない）１次入力により開始する。反復的な深度１のトラバースは任意の順序で各このようなピンで開始して実行される。反復はグラフのリーフ（後継者のないピン、例えばフリップフロップまたは１次出力のデータピン）に遭遇したとき、または遭遇したピンがクロックピンであるときに終了する。各トラバース中に遭遇するセルはタイミングセルとしてラベル付けされる（タイミンググラフのノードはセルピンであることに注意する）。タイミングセル出力に結合されている出力を有するセルはマルチドライバロードセルとしてラベル付けされる。このようなマルチドライバロードセルの１例は３状態ドライバ（図５のセルＩ６とＩ７）である。
【００４７】
このプロセスは図６および７で要約される。図６は図４のデータ入力の処理ステップ（410 ）を要約している。プロセスは回路に対して全ての１次入力のリストを作成することにより開始し（ブロック610 ）リストが空になるまで継続する（ブロック620 でチェックする）。ピンがリストから除去された（ブロック630 ）後、クロックピンであるならばスキップされ（ブロック640 でチェックする）、処理は次のピン（再度ブロック620 から640 ）で継続する。クロックピンではないならば（ブロック640 でチェックする）ピンの１次前進処理がブロック650 で行われ、これは図７で詳細に説明されている。
【００４８】
図７で説明されているプロセスはブロック750 で行われる反復による反復プロセスである。処理はリスト中の開始するピンの全ての後継者を集めることにより開始され（ブロック710 ）リストが空になるまで継続する（ブロック715 でチェックする）。ピンがリストから除去された後（ブロック720 ）、このピンに対するセルは“タイミング”セルとしてラベル付けされる（ブロック725 ）。ピンがクロックピンであるならば、これ以上の処理は必要ではない（ブロック730 でチェックする）。ピンが入力ピンであるならば（ブロック735 でチェックする）ピンが１より多くの前任者を有するか否かを決定する（ブロック740 でチェックする）。１よりも多くの前任者が見つかったならば（ブロック740 でチェックする）、全ての前任者のセルは“マルチドライバロード”セルとしてラベル付けされる（ブロック745 ）。フローチャートはブロック750 でそれ自体を呼出すことにより深度１の反復を行う。
【００４９】
図５で示されている１例の回路を参照すると、入力ラベル化アルゴリズムは以下のように進行する。入力ピンＩＮ０から開始して、深度１のトラバースはコンポーネントＣ１とレジスタＲ１に遭遇し、レジスタＲ１でトラバースは終了する。このトラバース内に含まれるコンポーネントＣ１とレジスタＲ１内の全てのセルはタイミングセルとしてラベル付けされる。同様に、入力ＣＧから開始すると、コンポーネントＣ２とセルＩ５内の全てのセルはタイミングセルとしてラベル付けされる。Ｉ５の出力はクロックピンであるので（Ｉ５は“クロックゲーティング”セル）、トラバースはＩ５で終了する。入力ピンＩＮ１から開始すると、コンポーネントＣ３の全てのセルはタイミングセルとしてラベル付けされる。さらに、セルＩ６とレジスタＲ２はタイミングセルとしてラベル付けされる。セルＩ７はその出力が別のタイミングセルの出力に結合されているのでマルチドライバロードセルとしてラベル付けされる。入力ピンＩＮ２から開始すると、コンポーネントＣ４の全てのセルはタイミングセルとしてラベル付けされる。入力ラベル化はこの点で完了として考慮される。
【００５０】
［出力ピンのラベル化］  
出力のラベル化は１次出力ピンで開始する深度１のトラバースを使用して類似の方法で進行する。反復はグラフ中でリーフピンに遭遇するときまたは遭遇したピンがクロックピンであるときに終了する。トラバースに沿って遭遇するセルはタイミングセルとしてラベル付けされる。入力ラベル化アルゴリズムとの１つの異なる点は、そのソースが深度１のトラバースの一部ではないタイミングセルから来るセルとして規定されるシンクロードセルが識別される必要があることである。
【００５１】
このプロセスは図８および９で要約されている。図８は図４の出力ステップ（420 ）の処理を要約している。このプロセスは回路に対して全ての１次出力のリストを作成することにより開始され（ブロック810 ）、リストが空になるまで継続する（ブロック820 でチェックする）。ピンがリストから除去された後（ブロック830 ）、ブロック840 により処理され、これは図９に詳細に説明されている。
【００５２】
図９で説明されているプロセスはプロック950 で行われる反復による反復プロセスである。処理はリスト中の開始するピンの全ての前任者を集めることにより開始し（ブロック910 ）リストが空になるまで継続する（ブロック915 でチェックする）。ピンがリストから除去された後（ブロック920 ）、このピンに対するセルは“タイミング”セルとしてラベル付けされる（ブロック925 ）。ピンがクロックピンであるならば、これ以上の処理は必要ではない（ブロック930 でチェックする）。ピンが出力ピンであるならば（ブロック935 でチェックする）、全ての前任者のセルは“シンクロード”セルとしてラベル付けされる（ブロック940 ）。フローチャートはブロック950 でそれ自体を呼出すことにより深度１の反復を行う。
【００５３】
１例として図５を再度参照すると、出力ピンＯＵＴ０から開始して、コンポーネントＣ５の全てのセルはタイミングセルとしてラベル付けされる。セルＩ12とレジスタＲ３もまたタイミングセルとしてラベル付けされる。出力ＯＵＴ１から開始すると、コンポーネントＣ４の全てのセルはタイミングセルとしてラベル付けされる。出力のラベル化はこの点で完了として考慮される。
【００５４】
［クロックピンのラベル化］  
最終的なラベル化ステップは、１次クロック入力から発生する深度１のトラバースを含んでいる。この場合、トラバースはグラフのリーフピンに遭遇したとき、または遭遇したピンがデータピンであるときに終了する。トラバースがデータピンで終了するとき、ピンのセルが既にタイミングセルとしてラベル付けされているかについてのチェックが行われる。トラバースがタイミングセルとしてラベル付けされているセルで終了するときのみ、そのセルへのパスに存在するセルはタイミングセルとしてラベル付けされる。トラバース中、そのソースがタイミングセルとラベル付けされていないタイミングセルから来るセルはクロックロードとしてマークされる。
【００５５】
このプロセスは図１０および１１で要約されている。図１０は図４のクロック入力の処理ステップ（430 ）を要約している。プロセスは回路に対して全ての１次クロック入力のリストを作成することにより開始し（ブロック1010）リストが空になるまで継続する（ブロック1020でチェックする）。ピンがリストから除去された後（ブロック1030）、ブロック1040により処理され、これは図１１で詳細に説明されている。
【００５６】
図１１で説明されているプロセスはブロック1130で行われる反復による反復プロセスである。処理はリスト中の開始するピンの全ての後継者を集めることにより開始し（ブロック1110）リストが空になるまで継続する（ブロック1115でチェックする）。ピンがリストから除去された後（ブロック1120）、それをクロックとして識別するか否かのチェックが行われる（ブロック1125）。ピンがクロックピンではないならば、これ以上の処理は必要ではない（ブロック1115に戻る）。フローチャートはブロック1130でそれ自体を呼出すことにより深度１の反復を行う。反復呼から戻るとき、ピンの任意の後継者が反復中に“タイミング”としてラベル付けされるか否かを決定する（ブロック1135でチェックする）。“タイミング”セルとしてラベル付けされる後継者セルがないならば、これ以上の処理は必要ではない（ブロック1115に戻る）。任意の前任者セルが“タイミング”セルとしてラベル付けされるならば（ブロック1140）、全ての前任者セルは“クロックロード”としてラベル付けされる（ブロック1150）。ブロック1150の最後に、ピンのセルは“タイミング”セルとしてラベル付けされているので、プロセスは終了する。
【００５７】
再度、図５の例を参照すると、入力ピンＣＬＫから開始して、トラバースはセルＩ１とＩ２を通過しセルＲ１、Ｒ２、Ｒ３で終了する。したがってセルＲ１、Ｒ２、Ｒ３はタイミングセルとしてラベル付けされる。結果として、セルＩ１とＩ２もこれらはタイミングセルに対してトラバースパスに沿っているのでタイミングセルとしてラベル付けされる。Ｉ３を通るトラバースはセルＲ４で終了する。Ｒ４は１次入力または１次出力から到達可能ではなく、そのクロックピンを通してのみ到達可能である。セルＲ４はタイミングセルではなく、Ｉ３はタイミングセルとしてラベル付けされない。しかしながら、そのソースＩ１はタイミングセルであるのでクロックロードとしてラベル付けされる。同一のアーギュメントがＲ４に関してＩ４にも適用される。Ｉ４はクロックロードとしてラベル付けされる。Ｉ５とＩ11を通るトラバースはタイミングセルで終了せず、したがってこれらはタイミングセルとしてラベル付けされる。セルＩ５は通常クロックロードとしてラベル付けされるが、入力ＣＧからのトラバース中に既にタイミングセルとしてラベル付けされている。したがってＩ５はタイミングセルとして維持する。
【００５８】
ラベル化の要約：
ＩＮ０          １次データ入力
ＩＮ１          １次データ入力
ＩＮ２          １次データ入力
ＣＧ            １次データ入力
ＣＬＫ          １次クロック入力
Ｉ１            タイミング
Ｉ２            タイミング
Ｉ３            クロックロード
Ｉ４            クロックロード
Ｉ５            タイミング
Ｉ６            タイミング
Ｉ７            マルチドライバロード
Ｉ８            ラベルなし
Ｉ９            ラベルなし
Ｉ10            ラベルなし
Ｉ11            タイミング
Ｉ12            タイミング
Ｉ13            ラベルなし
Ｉ14            シンクロード
Ｃ１            タイミング
Ｃ２            タイミング
Ｃ３            タイミング
Ｃ４            タイミング
Ｃ５            タイミング
Ｒ１            タイミング
Ｒ２            タイミング
Ｒ３            タイミング
Ｒ４            ラベルなし
Ｒ５            ラベルなし
ＯＵＴ０        １次データ出力
ＯＵＴ１        １次データ出力
ラベル化プロセスの終了後、論理的タイミングシェル中に残留しなければならないセルの完全なセットを決定することができる。セルがタイミンググラフ中でラベル化されないならば、ブロックのインターフェースのタイミングにおける直接的な効果はなく、安全に無視される。これらのセルはネットリストから削除され、“グループ”セルと呼ばれる空の階層ブロックにより表される。ピンはその境界を横切るあらゆるネットのグループセルで生成される。
【００５９】
［誤ったパスおよび一定の伝播］  
タイミングセルとしてラベル付けされたセル数における付加的な減少は誤ったパスの制約と一定の伝播の応用により実現される。回路の一部のタイミングが無限のスラックを有するならば、その回路部分は１次ピンから可視されない。結果として、前述の入力および出力のラベル化を行うとき、無限のスラックを有するこれらのピンはグラフのリーフとして扱われることができる。
【００６０】
これは誤ったパスの制約と一定の応用を使用することによりタイミングセルとしてマークされたものにわたってエンドユーザ制御を与える利点を有する。
【００６１】
［パス例外］  
１次ピンのタイミングに影響するパス例外はもとの例外がフルモデルに適用された方法と同一方法でシェルモデルに適用される。これはパス例外がタイミンググラフのノードに適用され、１次ピンから可視の全てのノードがシェルモデル中に維持されるので可能である。幾つかの減少されたタイミンググラフに関して例外を書直そうとする必要はない。さらに、階層で次に高いレベルで必要とされるパス例外はシェル生成プロセス中に露出される（可視にされる）。これは最初に、露出される必要のある制約を識別し、シェルモデルが次のレベルで実例を示されるときにそれらが適用されることができる方法でそれらを書直すことにより行われる。このように階層境界を横切るパス例外は設計プロセス全体を通して一貫し正確な方法で維持されることができる。
【００６２】
［ラッチベースの設計］  
本発明の１実施形態では、ラッチベースの設計はセルがラベル化される態様に関してフリップフロップベースの設計と同一のシェルモデルを発生する。さらに、ラッチの時間借り特性を反映するため、借り量を記述する情報はシェルモデルの各ラッチで保存される。これは時間借りを利用するため階層中の次に高いレベルを可能にしながら、シェルモデル中のラッチで許容される借りをフリーズする。
【００６３】
本発明の別の実施形態では、ラッチは組合わせ論理セルと同一方法で扱われることができる。フリップフロップだけは深度１のトラバースでリーフとして扱われ、したがって許容されたタイミング借り量をフリーズする必要をなくす。しかしながら純粋にラッチベースの設計では、これはデータ減少を与えない抽象化を生じる。
【００６４】
本発明の第３の可能な実施形態では、妥協が行われ、ユーザに特定の数のラッチレベルが深度１のトラバースの終了前に組合わせセルとして扱われることを可能にする。これはユーザが抽象化メモリイメージのサイズに対して時間借りのフレキシブル性を制御することを許容する。
【００６５】
［物理的シェルの生成］  
論理的シェルの生成はブロックのピンを横切る静的タイミングパスを表すことを必要とされるセルのセットを生じる。論理的シェルはまた維持されたセルのピンに接続する全てのネットを含んでいる。
【００６６】
物理的シェルは集積回路のレイアウトおよび製造の物理的効果、即ち抵抗、キャパシタンス、インダクタンス、ルーティング密集度、幅と間隔の規則とアンテナ規則と電気移動規則のようなプロセス技術効果を生じることを必要とされるレイアウトデータ（相互接続ワイヤおよびバイアス）のセットからなる。
【００６７】
物理的抽象化で維持されなければならない物理的詳細の量はユーザにより必要とされる正確性のレベルに依存する。正確性のレベルと維持されなければならないデータ量との間で直接的な妥協が存在する。
【００６８】
レイアウトデータは、これらがモデル化に使用される物理的効果によって規定された幾つかのカテゴリ、即ち、１）位置付けおよびルーティング、２）アンテナ効果、３）タイミング解析（ＲＣ遅延および容量結合）、４）雑音注入効果、５）ＩＲドロップ、６）電気移動効果に区分される。技術で新しい幾つかの項目がこれらのカテゴリを説明するために紹介され、これらは図１２に示され、以下のセクションで説明する。
【００６９】
１）位置付けおよびルーティング  
位置付けおよびルーティング中に抽象化されたブロックを使用するため、ａ）その境界の物理的ディメンション、ｂ）ルータがブロックのピンに接続されることを許容される物理的位置、ｃ）ルータがこれらの接続を行うために使用される層により、ブロックをモデル化するのに十分である。図１２で示されているモデルはブロック境界と、ブロックのピンに属するワイヤとして規定される全ての“ピン−ワイヤ”のセットを必要とする。
【００７０】
オーバーブロックルーティングが可能にされるならば、オーバーブロックルーティングが許容される場所と、その上の層を示すため抽象化に十分な情報を含まなければならない。これらの区域は各ルーティング層上のルーティングにブロックされた状態である区域を表す多角形のセットとしてモデル化され、この多角形のセットの逆は、それ故外部ルーティングが許容される区域である。ブロッケージのセットは解の任意の所望レベルを実現するのに必要な程度に大きく作られている。しかしながら、通常は、ブロックされていない区域をブロックの１エッジからその対向するエッジまで壊れずに延在する固定した幅のルーティングチャンネルの比較的小さいセットに制限するのに十分である。
【００７１】
２）アンテナ規則のチェックおよび補正  
正確にモデル化するためのプロセス技術規則の難しいタイプの１つはアンテナ規則である。これらの規則はそれらの接続された金属（アルミニウムまたは銅）のルーティングワイヤ上に累積された電荷によりＭＯＳＦＥＴトランジスタゲートに生じる損傷をモデル化する。電荷は金属ワイヤ上に累積し、これらは製造中にパターン化されエッチングされ、恐らくその取付けられたＭＯＳＦＥＴゲートの薄いゲート酸化物をブレークダウンさせるが、取付けられたＭＯＳＦＥＴソース／ドレイン領域で形成される接合ダイオードにより放電される。電荷はまた特にこの目的のために挿入された専用のダイオードによって安全に放電される。
【００７２】
これらのアンテナ効果を正確にモデル化するために、各ピンに電気的に接続される全てのワイヤ、全てのダイオード、トランジスタゲート、これらのワイヤを通してピンに接続されているトランジスタソース／ドレインを抽象化に含ませる必要がある。図１２では、アイテムのこれらのクラスはピン−ワイヤ、ピン−ネット、ピン−セル、ダイオードとそれぞれラベルを付けられる。抽象化に含まれるこれらの物理的オブジェクトにより、階層中のブロックの先祖のコンテキストでアンテナ規則のチェックとアンテナ規則の違反の修復を行うことが可能である。
【００７３】
３）相互接続ＲＣ遅延による静的タイミング解析  
ブロックの正確な静的タイミング解析を実行するために、論理シェルのセルとそれらを相互接続するネットが必要とされる。図１２はグループ−セルと、境界レジスタのセットと、論理シェルを形成する他の境界セルを示している。
【００７４】
しかしながら、論理−シェルネットリストで計算されることのできる理想化された遅延に加えて、ブロックのレイアウト形状により生じる寄生効果もまたモデル化される。タイミングシェルの各セルにより見られる抵抗とキャパシタンスを正確に抽出するために、図１２でピン−ワイヤと呼ばれるブロックの１次入力／出力ピンに取付けられたワイヤおよび図１２でシェル−ワイヤと呼ばれるタイミングシェル中のセルに取付けられた全てのネットを構成するワイヤを含むことが必要である。
【００７５】
ピン−ワイヤとシェル−ワイヤを含むことは、タイミングシェルのワイヤにより生じる寄生抵抗とキャパシタンスの全てを含むが、図１２で結合−ワイヤと呼ばれる隣接するワイヤにより貢献される側壁キャパシタンスを無視する。これらのワイヤはまたブロックの正確な抽出とタイミング解析を行うために含まれなければならない。しかしながら、（混信のない）簡単なＲＣ遅延をモデル化するとき、結合−ネット上の全てのワイヤのセットではなく、結合−ワイヤだけが含まれる必要があることに注意する。これらの結合−ワイヤは定電位であると考えられることができ、それ故、ピン−ワイヤとシェル−ワイヤの実効キャパシタンスを増加する作用のみを行う。
【００７６】
４）混信遅延および雑音注入による静的タイミング解析
よく知られたミラー効果のために、ワイヤ上の電圧変化はそれが容量結合される全ての近傍ワイヤ上に対応する変化を生じさせる。したがって、図１２のピン−ワイヤおよびシェル−ワイヤ上のタイミングを正確にモデル化するために、結合−ワイヤ上の実際の信号波形を知る必要がある。結合−ワイヤ波形を計算するために、物理的シェルが完全な結合ネットの全てのワイヤを含み、論理的シェルが結合−ネットにより駆動されるセルと、結合ネットの駆動セルからそれらのソースレジスタに戻る完全なパスを含まなければならないことが要求される。
【００７７】
さらに、結合−ネットにより見られるキャパシタンスを正確に捕捉するために、結合−ネットへ容量結合する全てのワイヤを含まなければならない。これらはある意味では、ピン−ワイヤおよびシェル−ワイヤに推移的に結合されるので、これらは推移−ワイヤと呼ばれる。パワーおよび接地ネット等の定電位である任意の結合−ネットはピン−ネットおよびシェル−ネットを混信遅延または雑音注入から遮蔽する作用をする。これらは遮蔽ワイヤと呼ばれ、それらに関連する推移−ワイヤはない。
【００７８】
前述の論理的および物理的抽象化技術により実現可能なデータ減少の程度はブロック設計の論理的構造に依存する。グループ−セルに対して内部のほとんどのネットリストによる大きくレジスタバインドされたブロックは高い減少度を達成する。全く反対に、純粋に組合わせのブロックはいかなる減少も実現しない。
【００７９】
高度の圧縮が（例えばデータベースサイズまたは動作時間制約で）必要とされるとき、階層的な区分プロセスは抽象化の方法を認知し、可能な限りブロックをレジスタをバインドさせようとする。しかしながら、その他の方法で良好に区分された設計でさえも、幾つかのネットはブロック抽象化内で論理的にかなり深く露出する可能性がある。幾つかの技術はこれらの変則のネットのモデル化要件を減少するために使用される。
【００８０】
問題とするネットが意図的に遮蔽されるならば、混信の影響または雑音の注入は生じない。各ピン−ワイヤとシェルワイヤにより見られるローディングは一定である。それ故、各入力ピンの遅延はピンに与えられる信号波形にのみ依存し、各出力ピンの遅延はそのピンに与えられるロードにのみ依存する。これらのピンがほぼ臨界的な遅延をもたないならば、これらはルックアップテーブルおよびピース状の線形遅延関数等の伝統的な遅延モデルを使用して安全にモデル化されることができる。
【００８１】
ネットが完全に遮蔽されないときでさえも、静的タイミング解析は臨界的でないピンの非観的遅延モデルを開発するために使用される。したがって本発明の抽象化機構の付加された複雑性は設計における臨界的なタイミングパスに貢献するこれらのピンでのみ使用される必要がある。
【００８２】
通常の論理ゲートは比較的高い電気利得を有する事実も利用し、それ故入力スルーの依存度は論理の２または３レベル後に減衰する傾向がある。この仮定により、タイミングセルのラベル化は２または３レベルの論理に遭遇した後に停止されることができ、さらに簡単なルックアップテーブルベースのモデル化技術は付加的な除外されたセルの効果をモデル化するのに使用されることができる。
【００８３】
５）ＩＲドロップ解析による静的タイミング解析  
この明細書の最初に説明したように、ＩＲドロップはチップ中のパワー分配ネットワークにより流れる高い電流により生じた効果である。ネットワーク中の任意の点で見られる電圧はパワー供給のその点の間に見られる寄生抵抗により乗算された点を通って流れる電流に等しい。しかしながら、この効果はネットワーク中に存在する寄生キャパシタンスによりややオフセットされることができ、これは交互に分配される電流ソースとして扱われることができる幾らかの電荷を蓄積する役目をする。また、この効果を強大させるために専用の減結合キャパシタンスを使用することもできる。
【００８４】
ボトムアップ確認中にブロック抽象化を使用するとき、ブロック自体が解析され、そのＩＲドロップの違反が知られると仮定する。抽象化はブロックの親が経験するＩＲドロップに対するブロックの貢献をモデル化するのに使用されることができる。ブロックとその親との間のインターフェースはブロックのパワー供給ネットワークがその親に接続されるパワー供給ピンからなる。ＩＲドロップの正確なモデルは各ピンに対して、時間変化電流ソースまたはシンクにプラスして、ピンとパワーおよび接地供給との間のＲＣネットワークの等価回路からなる。
【００８５】
本発明の抽象化方法は、理想化された数学的モデルと反対に、回路のネットリストおよび物理的形状自体による回路の非理想的な電気的効果をモデル化することである。残念ながら、ＩＲドロップ解析は静的タイミング解析または混信のようにパスベースでローカルではなく、全体的なパワー／接地ネットワーク、ブロックのあらゆるセルを含んでいる全般的な効果をモデル化している。この理由で、簡単な電気モデルが使用されることができる。各ピンは理想的な電流ソースまたはシンクとしてモデル化され、ブロックの最悪のケースの電気的解析の結果を表す。この解析は静的解析またはダイナミックシミュレーションである。各ピンはまた内部ＲＣネットワークの等化回路に関連され、これはインピーダンスマトリックスとしてモデル化される。
【００８６】
６）電気移動解析  
電気移動もまた回路のワイヤおよびそれらの非理想的な抵抗およびキャパシタンスを通って流れる電流に関連する効果である。しかしながら、パワー供給分配ネットワークのみを含んでいるＩＲドロップ解析と異なって、電気移動解析はパワー供給ネットワークと、通常の信号ワイヤで行われなければならない（通常、大きい高電流ドライバセルを有する長い抵抗ワイヤにのみ問題がある）。
【００８７】
パワー供給ネットワークワイヤの電気移動をモデル化するために、ワイヤの寄生インピーダンスと、どの程度の量の電流が各ワイヤを流れるかが必要とされる。電気移動の種々のモデルは最大または平均のケースの電流、または詳細にされた時間−ドメインシミュレーションさえも必要とする。パワー供給ネットワークでは、この情報はＩＲドロップ解析に必要とされる情報と同一であり、それによって前述の同一の抽象化機構が使用されることができる。信号ワイヤに対しては、情報は静的タイミング解析モデルに必要な情報と同一である。それ故、付加的なモデル化情報が電気移動効果をモデル化するために抽象化に付加される必要はない。
【００８８】
［“逆”抽象化機構］  
本発明のさらに他の実施形態では、基本的に同一の技術を使用して、トップ−ダウン確認フローで使用されるための“逆”抽象化の形態を構成することも可能である。ブロックが最初に解析され、隔離して確認され、親ブロックおよび子孫のコンテキストで再度確認されるボトム−アップブロック確認のプロセスを前述した。“グループ−セル”内のセルのみ、抽象化に含まれないセルは隔離して確認されることができる。抽象化の論理的シェルに含まれるセルおよび物理的形状を含む全てのタイミングパスおよび電気的効果はこれらが解析されることができる前にブロックの親および子孫ブロックについての情報を必要とする。
【００８９】
恐らく、後に再使用する予定のスタンドアロンＩＰ（知的プロパティ）のピースとしてブロックを解放するために必要な証明プロセスとしてそれ自体でブロックを解析し確認しようとする。このシナリオでは、ブロックは“試験のハーネス”でそれを例証することにより確認され、これは“参照プラットフォーム”の幾つかの形態または典型的な構造を表す抽象化された親ブロックである。
【００９０】
抽象化プロセスはこの試験ハーネスの減少されたモデルを作成するために使用されることができる。この技術はブロックが完全な参照チップ設計にそれを埋設することによって確認される場合に可能であるよりも高速度の確認プロセスを可能にする。反対に、抽象化モデルは典型的な試験ハーネスよりも正確であり、これは単にタイミング制約の簡単なセットおよび典型的なピンロードおよび信号波形からなることができる。
【００９１】
このような“逆”抽象化は、論理的シェルおよびブロックの境界外に位置するその関連する物理的形状のように見える。これは親ブロックで実行される点を除いて、同じ抽象化アルゴリズムを使用して構成されることができ、ピンのトラバースは親ブロックの１次入力、出力、供給ピンではなくサブブロックインターフェースのピンで開始する。
【００９２】
図１３は本発明の１以上の実施形態を構成することのできるコンピュータシステムを示している。コンピュータシステム1310が示されており、これはネットワーク1300に随意選択的に結合されることができるＰＣ（パーソナルコンピュータ）等の任意の汎用または特別な目的のコンピュータまたはデータ処理機械であってもよい。コンピュータシステム1310のメモリ1311は回路設計の全体的な内容またはその入力を保持するのには不十分であり、したがって設計プロセスは階層的に分解される必要がある。このようにして、全体的な設計のピースはそれぞれコンピュータシステム1310に類似の幾つかの異なるコンピュータシステムにより管理されることができる。そうすることにより、ブロックおよびサブブロック（モジュールおよびサブモジュール）の設計を抽出する抽象化モデルはタイミング解析、位置付けおよびルーティングならびにバジェット化等のプロセスの均等で一貫したアプリケーションを可能にしなければならない。本発明は先に定義したように、階層的設計の抽象化問題を解決しようとするものである。
【００９３】
当業者は本発明の種々の実施形態で説明したように、抽象化およびサブモジュール設計のタスクを実行するためのプログラムコンピュータシステム1310をプログラムする。このようなプログラムコードはＣＰＵ（中央処理装置）等のプロセッサ1312およびＲＡＭ（ランダムアクセスメモリ）等のメモリ1311を使用して実行されてもよく、このメモリ1311は必要に応じて命令、アドレス、結果データを記憶／ロードするために使用される。抽象化およびサブモジュール設計の機能の実行に使用されるアプリケーションはＣ++等の言語で書かれたソースコードからコンパイルされた実行可能な装置から得られる。実行可能な命令はメモリ1311へロードされ、その実行可能な命令はプロセッサ1312によって実行される。その実行可能なファイルの命令は抽象化を行うのに必要な命令に対応し、フロッピー駆動装置等のディスク1318、ハードドライブまたは光学ドライブ1317またはメモリ1311へ記憶されることができる。ネットリスト等の種々の入力、制約、プロセス特性、セルライブラリ、その他のこのような情報はディスク1318、光学ドライブ1317またはデータベースおよび／またはフラットファイルの形態でネットワーク1300を経て書込まれ／そこからアクセスされる。
【００９４】
コンピュータシステム1310はプロセッサ1312およびメモリ1311と、Ｉ／Ｏバス1315へ結合するブリッジ1314との間で情報の転送を容易にするシステムバス1313を有する。Ｉ／Ｏバス1315はネットワークインターフェースカード（ＮＩＣ）1316、ディスク1318、光学ドライブ1317のような種々のＩ／Ｏ装置をシステムメモリ1311とプロセッサ1312へ接続している。Ｉ／Ｏ装置、バス、ブリッジの多数のこのような組合わせは本発明により使用されることができ、示されている組合わせは単に１つのこのような可能な組合わせの例示にすぎない。
【００９５】
本発明をその好ましい実施形態を伴って前述したが、これは単なる例示の目的で行われたものであり、本発明はそれに限定されない。勿論、本発明の変化は当業者に容易に明白であり、それらもまた本発明の技術的範囲内に含まれる。
【図面の簡単な説明】
【００９６】
【図１】典型的なトップダウンブロックプラニングおよび構成のフロー図。
【図２】本発明の１以上の実施形態にしたがった階層的設計プロセスを示す図。
【図３】本発明の少なくとも１つの実施形態にしたがった抽象化プロセスを示す図。
【図４】本発明の少なくとも１つの実施形態にしたがった論理シェルラベル化を示す図。
【図５】ラベル化プロセスを受けるブロックを示す図。
【図６】図４のデータ入力の処理ステップを要約する図。
【図７】図６で示されたピン前進処理のステップを要約する図。
【図８】図４の出力の処理のステップを要約する図。
【図９】図８で示されているピン後進処理のステップを要約する図。
【図１０】図４のクロック入力の処理のステップを要約する図。
【図１１】図１０で示されたクロックピン前進処理のステップを要約する図。
【図１２】本発明の１実施形態の物理的タイミングシェルモデルを示す図。
【図１３】本発明の１以上の実施形態を構成および適用できる例示的なコンピュータシステムのブロック図。
【図１】
2005518002.tif 000003
【図２】
2005518002.tif 000004
【図３】
2005518002.tif 000005
【図４】
2005518002.tif 000006
【図５】
2005518002.tif 000007
【図６】
2005518002.tif 000008
【図７】
2005518002.tif 000009
【図８】
2005518002.tif 000010
【図９】
2005518002.tif 000011
【図１０】
2005518002.tif 000012
【図１１】
2005518002.tif 000013
【図１２】
2005518002.tif 000014
【図１３】
2005518002.tif 000015
【国際調査報告】
2005518002.tif 000016
2005518002.tif 000017
2005518002.tif 000018