JP2001357091A - リピータブロックをhdlにて自動的に生成し、領域制約のあるチップ設計に組み込む方法 - Google Patents
リピータブロックをhdlにて自動的に生成し、領域制約のあるチップ設計に組み込む方法Info
- Publication number
- JP2001357091A JP2001357091A JP2001128945A JP2001128945A JP2001357091A JP 2001357091 A JP2001357091 A JP 2001357091A JP 2001128945 A JP2001128945 A JP 2001128945A JP 2001128945 A JP2001128945 A JP 2001128945A JP 2001357091 A JP2001357091 A JP 2001357091A
- Authority
- JP
- Japan
- Prior art keywords
- repeater
- net
- level
- nets
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】
【課題】過度の時間または労力を費やすことなくリヒ゜ータフ
゛ロックの位置を自動的に決定するシステムの提供。 【解決手段】リヒ゜ータを集積回路設計モテ゛ルに組み込む方法
は、複数の別個のセルフ゛ロックのシ゛オメトリを指定するステッフ゜を含
む。これらのセルフ゛ロックは、算術および論理関数、テ゛コータ
゛、入力/出力などのような適切な機能性能力をサホ゜ートし
ているチッフ゜タ゛イ上の位置である。そして、セルフ゛ロックを接続
するトッフ゜レヘ゛ルネットを特定するリストが生成され(305)、これ
らのトッフ゜レヘ゛ルネットのうちで最大信号伝送基準(例えば、RC
相互接続制約)を越えるものにしたがって位置が特定さ
れる(325)。リヒ゜ータ制約領域は、セルフ゛ロックとは別に画定さ
れ、かつ特定された位置のうちの一つまたはそれ以上を
含む。そして、それぞれのリヒ゜ータ制約領域において反復
されるべきトッフ゜レヘ゛ルネットのリストが生成される。
゛ロックの位置を自動的に決定するシステムの提供。 【解決手段】リヒ゜ータを集積回路設計モテ゛ルに組み込む方法
は、複数の別個のセルフ゛ロックのシ゛オメトリを指定するステッフ゜を含
む。これらのセルフ゛ロックは、算術および論理関数、テ゛コータ
゛、入力/出力などのような適切な機能性能力をサホ゜ートし
ているチッフ゜タ゛イ上の位置である。そして、セルフ゛ロックを接続
するトッフ゜レヘ゛ルネットを特定するリストが生成され(305)、これ
らのトッフ゜レヘ゛ルネットのうちで最大信号伝送基準(例えば、RC
相互接続制約)を越えるものにしたがって位置が特定さ
れる(325)。リヒ゜ータ制約領域は、セルフ゛ロックとは別に画定さ
れ、かつ特定された位置のうちの一つまたはそれ以上を
含む。そして、それぞれのリヒ゜ータ制約領域において反復
されるべきトッフ゜レヘ゛ルネットのリストが生成される。
Description
【0001】
【発明の属する技術分野】本発明は、LSIの回路設計
および製造に関しており、特に、リピータの配置の決定
とそれらを高次レベルHDL設計に組み込むための方法
とに関する。
および製造に関しており、特に、リピータの配置の決定
とそれらを高次レベルHDL設計に組み込むための方法
とに関する。
【0002】
【従来の技術】たいていのコンピュータチップは機能ブ
ロックのセットとして設計されており、それらの機能ブ
ロックの各々は、そのチップの全体的な機能のうちのい
くらかの小部分を実現する。フロアプラン(floor pla
n)の設計では、各ブロックは、そのチップ上またはシ
リコン内のそれ自体の限定された領域内に包含されるよ
うに指定されており、その領域は制約領域(constraint
region)と呼ばれる。典型的には、相互接続またはネ
ットが、その回路内の個々のシステムコンポーネントを
結合する。領域間ローカルネットは比較的短く、典型的
には単純なワイヤとして実現されて、ある領域内のシス
テムコンポーネントを接続する。しかし、異なる制約領
域において複数のブロックまたはセルにまたがっている
トップレベルネットは、かなり長くなることがある。適
度なサイズの集積回路(IC)に対してさえも、異なる
ブロック内のシステムコンポーネントを結合させるため
にかなり多数のトップレベルワイヤが必要とされる。単
一のブロック内またはブロック間のシステムコンポーネ
ントを結合させるために使用されるこれらのワイヤは、
極めて典型的には抵抗性かつ受動的であり、したがって
抵抗容量性(RC)伝送線として振る舞う。これらのR
C伝送線は遅延および立ち上がり時間を生じさせる結果
となり、これらはいずれもワイヤの長さに対して二次関
数的に増加する。より長いネットでは、著しい信号劣化
が生じる。
ロックのセットとして設計されており、それらの機能ブ
ロックの各々は、そのチップの全体的な機能のうちのい
くらかの小部分を実現する。フロアプラン(floor pla
n)の設計では、各ブロックは、そのチップ上またはシ
リコン内のそれ自体の限定された領域内に包含されるよ
うに指定されており、その領域は制約領域(constraint
region)と呼ばれる。典型的には、相互接続またはネ
ットが、その回路内の個々のシステムコンポーネントを
結合する。領域間ローカルネットは比較的短く、典型的
には単純なワイヤとして実現されて、ある領域内のシス
テムコンポーネントを接続する。しかし、異なる制約領
域において複数のブロックまたはセルにまたがっている
トップレベルネットは、かなり長くなることがある。適
度なサイズの集積回路(IC)に対してさえも、異なる
ブロック内のシステムコンポーネントを結合させるため
にかなり多数のトップレベルワイヤが必要とされる。単
一のブロック内またはブロック間のシステムコンポーネ
ントを結合させるために使用されるこれらのワイヤは、
極めて典型的には抵抗性かつ受動的であり、したがって
抵抗容量性(RC)伝送線として振る舞う。これらのR
C伝送線は遅延および立ち上がり時間を生じさせる結果
となり、これらはいずれもワイヤの長さに対して二次関
数的に増加する。より長いネットでは、著しい信号劣化
が生じる。
【0003】RC効果を緩和するために、現在のチップ
は長いネット内でアクティブリピータを使用して、信号
を再生成する。アクティブリピータは、典型的には単一
のバッファまたはインバータとして実現される。事実
上、長いワイヤまたはネットは、より短く、かつ名目上
は等しい長さのセグメントに分割され、これらのセグメ
ントがこれらのリピータによって結合される。ワイヤセ
グメントおよびリピータの全体としての遅延は、元の長
さのワイヤに対する遅延よりも著しく小さくなり、目的
地の立ち上がり時間も非常に改善される。典型的には、
直接接続距離におけるRC限界を超えるネットは、分割
されてリピータが挿入されることが必要とされている。
は長いネット内でアクティブリピータを使用して、信号
を再生成する。アクティブリピータは、典型的には単一
のバッファまたはインバータとして実現される。事実
上、長いワイヤまたはネットは、より短く、かつ名目上
は等しい長さのセグメントに分割され、これらのセグメ
ントがこれらのリピータによって結合される。ワイヤセ
グメントおよびリピータの全体としての遅延は、元の長
さのワイヤに対する遅延よりも著しく小さくなり、目的
地の立ち上がり時間も非常に改善される。典型的には、
直接接続距離におけるRC限界を超えるネットは、分割
されてリピータが挿入されることが必要とされている。
【0004】リピータの文脈において、考慮される必要
がある少なくとも3つのタイプのネットトポロジーが存
在する。これらは、二地点間(point-to-point)、マル
チドロップ(分岐)、および個別にバッファリングされ
るマルチドロップ(個別バッファマルチドロップ)であ
る。二地点間ネットは、一つのセルの出力を他のセルの
入力に単純に接続し、それ故ネットを分割してリピータ
を挿入することによって長い二地点間ネットを再現する
ことは、簡単である。したがって、直接接続距離におけ
るRC限界を超える二地点間ネットは適切に分割され
て、一つまたは複数のリピータが追加される。
がある少なくとも3つのタイプのネットトポロジーが存
在する。これらは、二地点間(point-to-point)、マル
チドロップ(分岐)、および個別にバッファリングされ
るマルチドロップ(個別バッファマルチドロップ)であ
る。二地点間ネットは、一つのセルの出力を他のセルの
入力に単純に接続し、それ故ネットを分割してリピータ
を挿入することによって長い二地点間ネットを再現する
ことは、簡単である。したがって、直接接続距離におけ
るRC限界を超える二地点間ネットは適切に分割され
て、一つまたは複数のリピータが追加される。
【0005】一つのセルの出力が複数の宛先セルに送ら
れる場合、マルチドロップネットが存在する。マルチド
ロップネットが直接接続距離におけるRC限界を超える
場合、リピータが再び使用されなければならない。マル
チドロップネットの中のリピータには、共有バッファお
よび個別にバッファリングされる場合という2つのバリ
エーションがある。
れる場合、マルチドロップネットが存在する。マルチド
ロップネットが直接接続距離におけるRC限界を超える
場合、リピータが再び使用されなければならない。マル
チドロップネットの中のリピータには、共有バッファお
よび個別にバッファリングされる場合という2つのバリ
エーションがある。
【0006】共有バッファマルチドロップでは、単一の
リピータは、ソースセルの出力とワイヤがその複数の目
的地に分岐する点との間に配置される。個別バッファマ
ルチドロップでは、各目的地は専用のリピータを必要と
し、そのため一つのリピータは、ワイヤがその複数の目
的地に分岐する点とそれらのそれぞれの目的地との間に
挿入される。マルチドロップ状態は、特定の相互接続ト
ポロジー、フロアプラン、および設計者の好みに応じ
て、共有バッファ状態か、または個別バッファ状態のい
ずれかとして指定されることができる。さらに、いくつ
かのマルチドロップネットでは、共有バッファ技術およ
び個別バッファ技術の両方が使用される。たとえば、出
力からそのワイヤが分岐する点までの距離が、直接接続
距離におけるRC限界を越えると、共有バッファまたは
リピータが、ワイヤのそのセグメントにおいて必要とさ
れる。さらに、単一のワイヤが特定の目的地へ分岐する
点からの個別のワイヤの各々が、直接接続距離における
RC限界をそれぞれ超える場合、これらのラインの各々
は、リピータによって個々にバッファリングされる必要
がある。RC限界の直接接続距離の2倍よりも大きいト
ップレベルネットの場合、複数のリピータが必要とされ
ることがある。
リピータは、ソースセルの出力とワイヤがその複数の目
的地に分岐する点との間に配置される。個別バッファマ
ルチドロップでは、各目的地は専用のリピータを必要と
し、そのため一つのリピータは、ワイヤがその複数の目
的地に分岐する点とそれらのそれぞれの目的地との間に
挿入される。マルチドロップ状態は、特定の相互接続ト
ポロジー、フロアプラン、および設計者の好みに応じ
て、共有バッファ状態か、または個別バッファ状態のい
ずれかとして指定されることができる。さらに、いくつ
かのマルチドロップネットでは、共有バッファ技術およ
び個別バッファ技術の両方が使用される。たとえば、出
力からそのワイヤが分岐する点までの距離が、直接接続
距離におけるRC限界を越えると、共有バッファまたは
リピータが、ワイヤのそのセグメントにおいて必要とさ
れる。さらに、単一のワイヤが特定の目的地へ分岐する
点からの個別のワイヤの各々が、直接接続距離における
RC限界をそれぞれ超える場合、これらのラインの各々
は、リピータによって個々にバッファリングされる必要
がある。RC限界の直接接続距離の2倍よりも大きいト
ップレベルネットの場合、複数のリピータが必要とされ
ることがある。
【0007】リピータを高次レベル設計、たとえばレジ
スタトランスファレベル(RTL)設計に組み合わせる
ためには、多くのステップが必要とされる。第一に、リ
ピータの追加を必要とするトップレベルネットのリスト
が生成されなければならない。第二に、特定されたトッ
プレベルネットは、リピータブロック制約領域の位置を
決定するために検査されなければならない。リピータブ
ロック制約領域は、リピータが配置されることができる
領域であり、有効ワイヤ長を直接接続距離におけるRC
限界よりも低く低減する領域である。そして、リピータ
のタイプ(二地点間、共有バッファ、または個別バッフ
ァマルチドロップ)が、決定されなければならない。リ
ピータがトップレベルネット内に挿入される場合、その
ネット自体は分割されなければならず、新しいネット名
が、元のトップレベルネットのそれぞれの新しい部分に
対して生成されなければならない。それから、リピータ
ブロックに対するハードウエア記述言語(HDL)の記
述が生成されなければならない。最後に、リピータブロ
ックの入力/出力(I/O)ポートが、元のHDLモデ
ルに正確にワイヤ接続(配線)されなければならない。
HDLモデルは、機能回路と相互接続とを記述する一つ
の方法である。これらの手作業の各々は、時間がかか
り、かつエラーが発生しやすい。回路設計に対する変更
は、リピータブロックおよび/またはそれらの位置の変
更を必要とすることがある。主要な設計の変更は、リピ
ータサイトの再生成および再計算を必要とすることがあ
る。
スタトランスファレベル(RTL)設計に組み合わせる
ためには、多くのステップが必要とされる。第一に、リ
ピータの追加を必要とするトップレベルネットのリスト
が生成されなければならない。第二に、特定されたトッ
プレベルネットは、リピータブロック制約領域の位置を
決定するために検査されなければならない。リピータブ
ロック制約領域は、リピータが配置されることができる
領域であり、有効ワイヤ長を直接接続距離におけるRC
限界よりも低く低減する領域である。そして、リピータ
のタイプ(二地点間、共有バッファ、または個別バッフ
ァマルチドロップ)が、決定されなければならない。リ
ピータがトップレベルネット内に挿入される場合、その
ネット自体は分割されなければならず、新しいネット名
が、元のトップレベルネットのそれぞれの新しい部分に
対して生成されなければならない。それから、リピータ
ブロックに対するハードウエア記述言語(HDL)の記
述が生成されなければならない。最後に、リピータブロ
ックの入力/出力(I/O)ポートが、元のHDLモデ
ルに正確にワイヤ接続(配線)されなければならない。
HDLモデルは、機能回路と相互接続とを記述する一つ
の方法である。これらの手作業の各々は、時間がかか
り、かつエラーが発生しやすい。回路設計に対する変更
は、リピータブロックおよび/またはそれらの位置の変
更を必要とすることがある。主要な設計の変更は、リピ
ータサイトの再生成および再計算を必要とすることがあ
る。
【0008】従来のリピータ挿入スクリプトは、リピー
タが必要であるかどうかを決定するために、配置後の設
計を分析してネットの長さを計算する。リピータが必要
であれば、リピータ挿入スクリプトはネットを分割し、
リピータを挿入する。そして、スクリプトは、分割され
たネットの各セクションの長さに焦点をあてたこの検査
を反復して、追加のリピータが必要かどうかを決定す
る。
タが必要であるかどうかを決定するために、配置後の設
計を分析してネットの長さを計算する。リピータが必要
であれば、リピータ挿入スクリプトはネットを分割し、
リピータを挿入する。そして、スクリプトは、分割され
たネットの各セクションの長さに焦点をあてたこの検査
を反復して、追加のリピータが必要かどうかを決定す
る。
【0009】そのようなリピータ挿入スクリプトは過度
に単純化されており、かつ「事後(after the fact)」
(すなわち、リピータ挿入に対する配置後アプローチ)
であるので、この技術では、リピータセルを効果的に配
置して再現性のある制御された結果を提供することがで
きない。さらに、リピータ挿入スクリプトは、一般的に
マルチドロップのトポロジーを適切に処理しない。さら
に、このセルレベルの設計変更は、リピータが追加また
は修正されるときにはいつでも、検証に基づく標準RT
Lレベル設計を無効にし、かつゲートからRTLまでの
等価性チェックを必要とする。その結果として生じる手
作業の労力は、かなりのものになる。
に単純化されており、かつ「事後(after the fact)」
(すなわち、リピータ挿入に対する配置後アプローチ)
であるので、この技術では、リピータセルを効果的に配
置して再現性のある制御された結果を提供することがで
きない。さらに、リピータ挿入スクリプトは、一般的に
マルチドロップのトポロジーを適切に処理しない。さら
に、このセルレベルの設計変更は、リピータが追加また
は修正されるときにはいつでも、検証に基づく標準RT
Lレベル設計を無効にし、かつゲートからRTLまでの
等価性チェックを必要とする。その結果として生じる手
作業の労力は、かなりのものになる。
【0010】
【発明が解決しようとする課題】したがって、過度の時
間または労力を費やすことなくリピータブロックの位置
を自動的に決定するシステムが必要とされている。さら
に、エラーのないリピータブロック自動生成が必要とさ
れている。さらに、マルチドロップのトポロジーを取り
扱う自動化されたリピータ決定ツールが必要とされてい
る。さらに加えて、以前に特定されたリピータ位置を再
検証するために手作業の労力を必要とせずに設計変更を
可能にする自動式リピータ決定ツールが必要とされてい
る。
間または労力を費やすことなくリピータブロックの位置
を自動的に決定するシステムが必要とされている。さら
に、エラーのないリピータブロック自動生成が必要とさ
れている。さらに、マルチドロップのトポロジーを取り
扱う自動化されたリピータ決定ツールが必要とされてい
る。さらに加えて、以前に特定されたリピータ位置を再
検証するために手作業の労力を必要とせずに設計変更を
可能にする自動式リピータ決定ツールが必要とされてい
る。
【0011】
【課題を解決するための手段】これらおよびその他の目
的、特徴、および技術的利点は、本発明のある態様にし
たがったシステムおよび方法によって達成される。リピ
ータを集積回路設計モデルに組み込む方法は、複数の別
個のセルブロックのジオメトリを指定するステップを含
む。これらのセルブロックは、算術および論理関数、デ
コーダ、入力/出力などのような適切な機能性能力をサ
ポートしているチップダイ上の位置である。そして、セ
ルブロックを接続するトップレベルネットを特定するリ
ストが生成され、これらのトップレベルネットのうちで
最大信号伝送基準を越えるものにしたがって位置が特定
される。リピータ制約領域は、セルブロックとは別に画
定され、かつ特定された位置のうちの一つまたはそれ以
上を含む。そして、それぞれのリピータ制約領域におい
て反復されるべきトップレベルネットのリストが生成さ
れる。
的、特徴、および技術的利点は、本発明のある態様にし
たがったシステムおよび方法によって達成される。リピ
ータを集積回路設計モデルに組み込む方法は、複数の別
個のセルブロックのジオメトリを指定するステップを含
む。これらのセルブロックは、算術および論理関数、デ
コーダ、入力/出力などのような適切な機能性能力をサ
ポートしているチップダイ上の位置である。そして、セ
ルブロックを接続するトップレベルネットを特定するリ
ストが生成され、これらのトップレベルネットのうちで
最大信号伝送基準を越えるものにしたがって位置が特定
される。リピータ制約領域は、セルブロックとは別に画
定され、かつ特定された位置のうちの一つまたはそれ以
上を含む。そして、それぞれのリピータ制約領域におい
て反復されるべきトップレベルネットのリストが生成さ
れる。
【0012】本発明の特徴によれば、リピータ制約領域
の各々の内部での配置に対するリピータブロックのハー
ドウエア記述言語(HDL)表現が、自動的に生成され
る。そして、リピータブロックのHDL表現を集積回路
設計モデルに接続するワイヤ接続指示語が自動的に生成
され得る。
の各々の内部での配置に対するリピータブロックのハー
ドウエア記述言語(HDL)表現が、自動的に生成され
る。そして、リピータブロックのHDL表現を集積回路
設計モデルに接続するワイヤ接続指示語が自動的に生成
され得る。
【0013】本発明の他の特徴によれば、このHDL表
現は、たとえばRTLで書かれた集積回路の合成前のモ
デルを含む集積回路設計モデルを表す複数の抽象化レベ
ルと互換性がある。HDL表現は、さらに集積回路設計
モデルの挙動モデルと互換性があってもよい。
現は、たとえばRTLで書かれた集積回路の合成前のモ
デルを含む集積回路設計モデルを表す複数の抽象化レベ
ルと互換性がある。HDL表現は、さらに集積回路設計
モデルの挙動モデルと互換性があってもよい。
【0014】本発明の他の特徴によれば、好適なリピー
タトポロジーが指定され、これは、トップレベルネット
の各々のファンアウト特性を規定し得る。これらのファ
ンアウト特性は、(i)二地点間、(ii)個別バッファ
マルチドロップ、および(iii)共有マルチドロップ接
続またはトポロジーを含み得る。
タトポロジーが指定され、これは、トップレベルネット
の各々のファンアウト特性を規定し得る。これらのファ
ンアウト特性は、(i)二地点間、(ii)個別バッファ
マルチドロップ、および(iii)共有マルチドロップ接
続またはトポロジーを含み得る。
【0015】本発明の他の特徴によれば、リピータ制約
領域の各々が、配置前の設計にリピータを組み込むこと
を容易にするようなサイズおよび位置を有している。リ
ピータ制約領域の各々は、最大信号伝送基準(たとえば
RC相互接続の制約)が前記セルブロックの各々の内部
での機能性セルの配置から独立して満足されるようなサ
イズおよび位置を有している。
領域の各々が、配置前の設計にリピータを組み込むこと
を容易にするようなサイズおよび位置を有している。リ
ピータ制約領域の各々は、最大信号伝送基準(たとえば
RC相互接続の制約)が前記セルブロックの各々の内部
での機能性セルの配置から独立して満足されるようなサ
イズおよび位置を有している。
【0016】本発明の他の特徴によれば、リピータ制約
領域の各々は、駆動セル、受信セル、およびリピータセ
ルがすべて最大信号伝送基準を破ることなく各制約領域
内のどこにでも配置できるようなサイズおよび位置を有
している。
領域の各々は、駆動セル、受信セル、およびリピータセ
ルがすべて最大信号伝送基準を破ることなく各制約領域
内のどこにでも配置できるようなサイズおよび位置を有
している。
【0017】本発明の他の特徴によれば、階層的名称が
トップレベルネットの各セグメントに対して割り当てら
れ、各セグメントは各々の端部ノードによって規定され
る。トップレベルネットの各々はソースノードおよび少
なくとも一つの端末ノードを含み、そのため階層的名称
はソースノードのうちの対応する一つの名称を含む。他
の定義によれば、トップレベルネットの各々はソースノ
ードと少なくとも一つの端末ノードとを含み、階層的名
称はソースノード指名子を含む。この階層的名称は、対
応するセグメントの直前に直接的に結合された各々のト
ップレベルネットに位置するリピータのうちの駆動リピ
ータの名称を含み得る。
トップレベルネットの各セグメントに対して割り当てら
れ、各セグメントは各々の端部ノードによって規定され
る。トップレベルネットの各々はソースノードおよび少
なくとも一つの端末ノードを含み、そのため階層的名称
はソースノードのうちの対応する一つの名称を含む。他
の定義によれば、トップレベルネットの各々はソースノ
ードと少なくとも一つの端末ノードとを含み、階層的名
称はソースノード指名子を含む。この階層的名称は、対
応するセグメントの直前に直接的に結合された各々のト
ップレベルネットに位置するリピータのうちの駆動リピ
ータの名称を含み得る。
【0018】本発明の他の態様によれば、集積回路を設
計する方法が、集積回路の挙動モデルを生成するステッ
プと、この挙動モデルを実現する複数の別個のセルブロ
ックのジオメトリを指定するステップとを含む。そし
て、前記セルブロックを接続するトップレベルネットを
特定するリストが、前記トップレベルネットのうちで最
大信号伝送基準を越えるものにしたがって特定の位置と
ともに生成される。そして、リピータ制約領域が特定さ
れる。これらのリピータ制約領域は、セルブロックとは
独立して離れており、各領域は、最大信号基準を超える
一つまたは複数の位置を含む。これらのリピータ制約領
域の各々について、その制約領域にて反復されるべきト
ップレベルネットのリストが生成される。リピータ制約
領域の各々の内部での配置に対するリピータブロックの
HDL表現が生成され、前記挙動モデルの中に組み込ま
れる。
計する方法が、集積回路の挙動モデルを生成するステッ
プと、この挙動モデルを実現する複数の別個のセルブロ
ックのジオメトリを指定するステップとを含む。そし
て、前記セルブロックを接続するトップレベルネットを
特定するリストが、前記トップレベルネットのうちで最
大信号伝送基準を越えるものにしたがって特定の位置と
ともに生成される。そして、リピータ制約領域が特定さ
れる。これらのリピータ制約領域は、セルブロックとは
独立して離れており、各領域は、最大信号基準を超える
一つまたは複数の位置を含む。これらのリピータ制約領
域の各々について、その制約領域にて反復されるべきト
ップレベルネットのリストが生成される。リピータ制約
領域の各々の内部での配置に対するリピータブロックの
HDL表現が生成され、前記挙動モデルの中に組み込ま
れる。
【0019】本発明のある特徴によれば、リピータ制約
領域の各々は、配置前の設計にリピータを組み込むこと
を容易にするように、および/または、最大信号伝送基
準がセルブロックの各々の中での機能性セルの配置から
独立して満足されるように、サイズおよび位置を有して
いる。
領域の各々は、配置前の設計にリピータを組み込むこと
を容易にするように、および/または、最大信号伝送基
準がセルブロックの各々の中での機能性セルの配置から
独立して満足されるように、サイズおよび位置を有して
いる。
【0020】本発明の他の特徴によれば、リピータ制約
領域の各々は、駆動セル、受信セル、およびリピータセ
ルがすべて最大信号伝送基準を破ることなく各制約領域
内のどこにでも配置できるようなサイズおよび位置を有
している。
領域の各々は、駆動セル、受信セル、およびリピータセ
ルがすべて最大信号伝送基準を破ることなく各制約領域
内のどこにでも配置できるようなサイズおよび位置を有
している。
【0021】本発明の他の特徴によれば、挙動モデルは
RTLで書かれている。
RTLで書かれている。
【0022】他の特徴によれば、本発明は、セルブロッ
クのHDL表現を生成する追加ステップと、セルブロッ
クのHDL表現をリピータブロックのHDL表現に組み
合わせて集積回路のHDLモデルを提供する追加ステッ
プとを含む。本発明はさらに、集積回路のHDLモデル
から集積回路のゲートレベル表現を生成するステップ
と、HDLモデルに基づいてワイヤ接続指示語を生成す
るステップとを含み得る。
クのHDL表現を生成する追加ステップと、セルブロッ
クのHDL表現をリピータブロックのHDL表現に組み
合わせて集積回路のHDLモデルを提供する追加ステッ
プとを含む。本発明はさらに、集積回路のHDLモデル
から集積回路のゲートレベル表現を生成するステップ
と、HDLモデルに基づいてワイヤ接続指示語を生成す
るステップとを含み得る。
【0023】以上の記載は、以下に続く本発明の詳細な
説明がよりよく理解され得るようにするために、本発明
の特徴および技術的な利点をかなり広く概説している。
本発明の追加的な特徴および利点が以下に説明され、こ
れらは本発明の特許請求の範囲の主題を形成する。当業
者は、開示されている概念および特定の実施形態が、本
発明の同じ目的を実行するために他の構造を修正、また
は設計するための基礎として容易に使用され得ることを
理解するべきである。また、当業者は、そのような等価
的な構造が、特許請求の範囲に記載される本発明の思想
および範囲から逸脱しないことも明確に理解されたい。
説明がよりよく理解され得るようにするために、本発明
の特徴および技術的な利点をかなり広く概説している。
本発明の追加的な特徴および利点が以下に説明され、こ
れらは本発明の特許請求の範囲の主題を形成する。当業
者は、開示されている概念および特定の実施形態が、本
発明の同じ目的を実行するために他の構造を修正、また
は設計するための基礎として容易に使用され得ることを
理解するべきである。また、当業者は、そのような等価
的な構造が、特許請求の範囲に記載される本発明の思想
および範囲から逸脱しないことも明確に理解されたい。
【0024】
【発明の実施の形態】本発明およびその利点をより完全
に理解するために、添付の図面とともに以下の説明が参
照される。
に理解するために、添付の図面とともに以下の説明が参
照される。
【0025】図1のシステム100はチップダイのフロ
アプランであり、このチップダイは、5つの制約領域位
置と、これらの領域内の適切なセル間のトップレベル相
互接続またはネットとを含む。ワイヤの3つの異なるセ
ットが、BLK1(105)とBLK2(110)との
間に伸びている。ワイヤAD_OE(115)、バスA
D_OUT(120)、およびバスAD_IN(12
5)は、それぞれBLK1(105)とBLK2(11
0)との間に伸びている。図1の右下には、直接接続距
離130におけるRC限界の長さがある。BLK1(1
05)とBLK2(110)との間のすべてのワイヤの
長さは、直接接続距離130におけるRC限界の長さを
越えている。したがって、これらのワイヤの各々は、リ
ピータの追加を必要としている。これらのワイヤの各々
は、二地点間ネットとして定義される。
アプランであり、このチップダイは、5つの制約領域位
置と、これらの領域内の適切なセル間のトップレベル相
互接続またはネットとを含む。ワイヤの3つの異なるセ
ットが、BLK1(105)とBLK2(110)との
間に伸びている。ワイヤAD_OE(115)、バスA
D_OUT(120)、およびバスAD_IN(12
5)は、それぞれBLK1(105)とBLK2(11
0)との間に伸びている。図1の右下には、直接接続距
離130におけるRC限界の長さがある。BLK1(1
05)とBLK2(110)との間のすべてのワイヤの
長さは、直接接続距離130におけるRC限界の長さを
越えている。したがって、これらのワイヤの各々は、リ
ピータの追加を必要としている。これらのワイヤの各々
は、二地点間ネットとして定義される。
【0026】図1のシステム100の中には、2つのマ
ルチドロップネットも存在する。RESET2とラベル
が付けられたBLK0(135)の出力140は、BL
K2(110)およびBLK4(145)の両方まで伸
びている。第2のマルチドロップネットは、BLK3
(155)のRESETとラベルされた出力150とと
もに示されており、これはBLK2(110)およびB
LK1(105)の両方まで伸びている。BLK0(1
35)のRESET2出力140は、直接接続距離13
0におけるRC限界を超えており、少なくとも一つのリ
ピータを出力RESET2(140)の中に挿入する必
要がある。しかし、出力RESET2(140)の分割
位置がワイヤ(160)の端部の近傍にあるために、共
有リピータがこのライン内で使用され得る。これは、共
有バッファマルチドロップネットワークの一例である。
さらに、出力RESET2(140)が直接接続距離1
30におけるRC限界の長さの2倍よりも大きいので、
二つ以上のリピータがこのネット内で必要とされる。
ルチドロップネットも存在する。RESET2とラベル
が付けられたBLK0(135)の出力140は、BL
K2(110)およびBLK4(145)の両方まで伸
びている。第2のマルチドロップネットは、BLK3
(155)のRESETとラベルされた出力150とと
もに示されており、これはBLK2(110)およびB
LK1(105)の両方まで伸びている。BLK0(1
35)のRESET2出力140は、直接接続距離13
0におけるRC限界を超えており、少なくとも一つのリ
ピータを出力RESET2(140)の中に挿入する必
要がある。しかし、出力RESET2(140)の分割
位置がワイヤ(160)の端部の近傍にあるために、共
有リピータがこのライン内で使用され得る。これは、共
有バッファマルチドロップネットワークの一例である。
さらに、出力RESET2(140)が直接接続距離1
30におけるRC限界の長さの2倍よりも大きいので、
二つ以上のリピータがこのネット内で必要とされる。
【0027】BLK3(155)の出力RESET(1
50)は、直接接続距離130におけるRC限界の長さ
よりも短い長さにおいて、2つの別個のラインに分割さ
れる。しかしながら、単一のリピータがこの分割点に挿
入され、そのリピータ出力が両方の目的地にワイヤ接続
される場合、RC限界(130)を越えないという結果
をワイヤ接続ツールがもたらすことは保証されない。し
たがって、これらのラインの各々は、それ自身のリピー
タを必要とする。これは、個別バッファマルチドロップ
ネットワークの一例である。
50)は、直接接続距離130におけるRC限界の長さ
よりも短い長さにおいて、2つの別個のラインに分割さ
れる。しかしながら、単一のリピータがこの分割点に挿
入され、そのリピータ出力が両方の目的地にワイヤ接続
される場合、RC限界(130)を越えないという結果
をワイヤ接続ツールがもたらすことは保証されない。し
たがって、これらのラインの各々は、それ自身のリピー
タを必要とする。これは、個別バッファマルチドロップ
ネットワークの一例である。
【0028】図2のシステム200は、図1に関して説
明されたトップレベルネットに対して必要とされるリピ
ータのためのリピータブロック制約領域の挿入を示す。
領域BLK ZN(205)は、リピータがBLK0
(135)の出力RESET2(140)に配置される
領域を特定している。BLK0(135)は、駆動セル
が配置され得るチップダイ領域を画定しているが、これ
は正確な位置ではない。BLK0(135)内に存在す
るセルがBLK0の左端に沿って位置合わせされる場
合、結果としてセルから離れるように生じるワイヤの長
さは、図に示されている出力RESET2ワイヤ140
よりも大きくなる。あるいは、BLK0(135)内に
存在するセルがBLK0の右端に沿って位置合わせされ
る場合、直接接続距離130におけるRC限界によっ
て、セルがBLK0(135)の左端に位置していると
きに比べて、出力ラインRESET2(140)に沿っ
てさらに遠くまでリピータを配置することが可能にな
る。この方法は配置前の設計に適用可能であるので、リ
ピータ制約領域のサイズおよび位置は、それらのそれぞ
れの制約領域内の駆動セル、受信セル、およびリピータ
セルの任意の配置がRC限界または相互接続距離(13
0)内であるように指定される。さらに、設計者は、直
接接続距離におけるRC限界よりも短い距離にリピータ
を配置して、リピータの効率的な動作を確実にするため
の安全マージンを見込んでおきたいと考えることがあ
る。
明されたトップレベルネットに対して必要とされるリピ
ータのためのリピータブロック制約領域の挿入を示す。
領域BLK ZN(205)は、リピータがBLK0
(135)の出力RESET2(140)に配置される
領域を特定している。BLK0(135)は、駆動セル
が配置され得るチップダイ領域を画定しているが、これ
は正確な位置ではない。BLK0(135)内に存在す
るセルがBLK0の左端に沿って位置合わせされる場
合、結果としてセルから離れるように生じるワイヤの長
さは、図に示されている出力RESET2ワイヤ140
よりも大きくなる。あるいは、BLK0(135)内に
存在するセルがBLK0の右端に沿って位置合わせされ
る場合、直接接続距離130におけるRC限界によっ
て、セルがBLK0(135)の左端に位置していると
きに比べて、出力ラインRESET2(140)に沿っ
てさらに遠くまでリピータを配置することが可能にな
る。この方法は配置前の設計に適用可能であるので、リ
ピータ制約領域のサイズおよび位置は、それらのそれぞ
れの制約領域内の駆動セル、受信セル、およびリピータ
セルの任意の配置がRC限界または相互接続距離(13
0)内であるように指定される。さらに、設計者は、直
接接続距離におけるRC限界よりも短い距離にリピータ
を配置して、リピータの効率的な動作を確実にするため
の安全マージンを見込んでおきたいと考えることがあ
る。
【0029】図1に関連して説明したように、6つの追
加のリピータグループがトップレベルネット内に特定さ
れ、これらはBLK1(105)、BLK3(15
5)、BLK2(110)、およびBLK4(145)
に接続される。この新しいリピータブロック制約領域
は、BLK AN(210)として定義される。
加のリピータグループがトップレベルネット内に特定さ
れ、これらはBLK1(105)、BLK3(15
5)、BLK2(110)、およびBLK4(145)
に接続される。この新しいリピータブロック制約領域
は、BLK AN(210)として定義される。
【0030】リピータがネット内で使用されるときに
は、そのネットは分割されなければならず、元のトップ
レベルネットの各部分に対して新しいネット名が生成さ
れなければならない。例えば、BLK0(135)から
伸びてBLK2(110)およびBLK4(145)ま
で伸びたワイヤを定義するために使用されたRESET
2である。しかし、リピータ領域BLK ZN(20
5)内でのリピータの追加およびリピータ領域BLK
AN(210)内での第2のリピータの追加のために、
トップレベルネットは3つの別個のセグメントに分割さ
れなければならない。BLK0(135)からBLK
ZN(205)までの第1のワイヤセグメントは、ネッ
ト名RESET2を保持することができる。BLK Z
N(205)とBLK AN(210)との間に存在す
るネット部分は、RESET2という名称を保持するこ
とはできない。これは、この名称が、BLK0(13
5)とBLK ZN(205)との間のネット部分の名
称と競合するためである。本発明の好適な実施形態で
は、トップレベルネットのこの部分に対するネット名
は、トップレベルネットに導入されたリピータサイトと
元のネット名とを連結したものである。この場合、リピ
ータ領域BLK ZN内に導入されたリピータ名を使用
すると、BLK ZN(205)とBLK AN(21
0)との間のネットは、RPTZN_RESET2と命
名される。同様に、BLK AN(210)とBLK2
(110)およびBLK4(145)との間のトップレ
ベルネットの部分も、再命名されなければならない。わ
れわれの命名法における一貫性を維持するために,トッ
プレベルネットのこのセグメントはRPTAN_RES
ET2と命名される。BLK0からBLK2およびBL
K4まで伸びるトップレベルネットの新しい部分の名称
にRESET2という接尾辞を保持することにより、シ
ステムは、元のネットのさまざまなセグメント間の関係
を保持することが可能になる。要約すると、トップレベ
ルネットの部分は、以下のように命名される。最初に、
出発点のセル、この場合にはBLK0(135)から開
始する。第1のリピータまでの出発点のセルにおけるネ
ットの部分は、元のネットの名称、われわれの例ではR
ESET2を保持する。第1のリピータサイトをひとた
び通過すると、第1のリピータサイトから次のリピータ
サイトまたは目的地まで伸びるネット部分の名称は、第
1のリピータサイトの名称と元のネット名とを連結した
もの、この場合にはRPTZN_RESET2となる。
他のリピータサイトがこのラインに存在する場合には、
ネットのその部分の名称は同様の態様で決定される。し
たがって、新しいネットの名称は、リピータサイトの名
称の後に元のネット名が続く。BLK AN(210)
とBLK2(110)およびBLK4(145)との間
のネット部分に対しては、RPTAN_RESET2と
なる。
は、そのネットは分割されなければならず、元のトップ
レベルネットの各部分に対して新しいネット名が生成さ
れなければならない。例えば、BLK0(135)から
伸びてBLK2(110)およびBLK4(145)ま
で伸びたワイヤを定義するために使用されたRESET
2である。しかし、リピータ領域BLK ZN(20
5)内でのリピータの追加およびリピータ領域BLK
AN(210)内での第2のリピータの追加のために、
トップレベルネットは3つの別個のセグメントに分割さ
れなければならない。BLK0(135)からBLK
ZN(205)までの第1のワイヤセグメントは、ネッ
ト名RESET2を保持することができる。BLK Z
N(205)とBLK AN(210)との間に存在す
るネット部分は、RESET2という名称を保持するこ
とはできない。これは、この名称が、BLK0(13
5)とBLK ZN(205)との間のネット部分の名
称と競合するためである。本発明の好適な実施形態で
は、トップレベルネットのこの部分に対するネット名
は、トップレベルネットに導入されたリピータサイトと
元のネット名とを連結したものである。この場合、リピ
ータ領域BLK ZN内に導入されたリピータ名を使用
すると、BLK ZN(205)とBLK AN(21
0)との間のネットは、RPTZN_RESET2と命
名される。同様に、BLK AN(210)とBLK2
(110)およびBLK4(145)との間のトップレ
ベルネットの部分も、再命名されなければならない。わ
れわれの命名法における一貫性を維持するために,トッ
プレベルネットのこのセグメントはRPTAN_RES
ET2と命名される。BLK0からBLK2およびBL
K4まで伸びるトップレベルネットの新しい部分の名称
にRESET2という接尾辞を保持することにより、シ
ステムは、元のネットのさまざまなセグメント間の関係
を保持することが可能になる。要約すると、トップレベ
ルネットの部分は、以下のように命名される。最初に、
出発点のセル、この場合にはBLK0(135)から開
始する。第1のリピータまでの出発点のセルにおけるネ
ットの部分は、元のネットの名称、われわれの例ではR
ESET2を保持する。第1のリピータサイトをひとた
び通過すると、第1のリピータサイトから次のリピータ
サイトまたは目的地まで伸びるネット部分の名称は、第
1のリピータサイトの名称と元のネット名とを連結した
もの、この場合にはRPTZN_RESET2となる。
他のリピータサイトがこのラインに存在する場合には、
ネットのその部分の名称は同様の態様で決定される。し
たがって、新しいネットの名称は、リピータサイトの名
称の後に元のネット名が続く。BLK AN(210)
とBLK2(110)およびBLK4(145)との間
のネット部分に対しては、RPTAN_RESET2と
なる。
【0031】同様の態様で、図2に描かれたネットの他
の部分がすべて命名される。たとえば、BLK3(15
5)からBLK1(105)まで伸びるトップレベルネ
ットの第1のセグメントは、RESETという名称を保
持する。第1のリピータサイトに到達すると、そのリピ
ータサイトを目的地BLK1(105)に接続するネッ
ト部分の名称は、そのリピータサイトに元の名をプラス
して連結したものによって決定される。通常は、この部
分の名称はRPTAN_RESETになる。しかし、個
別バッファマルチドロップの場合には、脚部の間を区別
しなければならない。したがって、ネットのこのセグメ
ントは、RPTAN0_RESETとラベルされる。リ
ピータレンジBLK AN(210)からBLK2(1
10)まで伸びるトップレベルネット部分に対しては、
その名称はふたたび、リピータサイトに元のネット名を
プラスして連結したものとなる。通常は、これはRPT
AN_RESETである。しかし、ネットのこの部分は
個別バッファマルチドロップに関連しているので、その
名称はRPTAN1_RESETに変更される。BLK
1(105)からBLK2(110)までのネット名
は、同様に決定される。
の部分がすべて命名される。たとえば、BLK3(15
5)からBLK1(105)まで伸びるトップレベルネ
ットの第1のセグメントは、RESETという名称を保
持する。第1のリピータサイトに到達すると、そのリピ
ータサイトを目的地BLK1(105)に接続するネッ
ト部分の名称は、そのリピータサイトに元の名をプラス
して連結したものによって決定される。通常は、この部
分の名称はRPTAN_RESETになる。しかし、個
別バッファマルチドロップの場合には、脚部の間を区別
しなければならない。したがって、ネットのこのセグメ
ントは、RPTAN0_RESETとラベルされる。リ
ピータレンジBLK AN(210)からBLK2(1
10)まで伸びるトップレベルネット部分に対しては、
その名称はふたたび、リピータサイトに元のネット名を
プラスして連結したものとなる。通常は、これはRPT
AN_RESETである。しかし、ネットのこの部分は
個別バッファマルチドロップに関連しているので、その
名称はRPTAN1_RESETに変更される。BLK
1(105)からBLK2(110)までのネット名
は、同様に決定される。
【0032】次に図3を参照すると、本発明の好適な実
施形態が、流れ図を使用して説明されることができる。
先に述べたように、この特定のリピータブロックにて反
復されるべき全てのトップレベルネット、それらの目的
地、およびそれらのオプションのマルチドロップ指定子
を含むトップレベルネットのリストが生成される。流れ
図のステップ305において、このリストがアクセスさ
れる。ステップ310において、トップレベルネット
が、その目的地、およびマルチドロップ指定子が含まれ
ている場合にはその指定子とともに読み出される。ステ
ップ315において、ネット名がセーブされる。ステッ
プ320において、プログラムは出力ネット名(単数ま
たは複数)を生成する。このプロセスは、図4を用いて
さらに説明される。プログラム自体は、5つの内部リス
トを使用する。そのため、ステップ325が、入力ネッ
ト名をポート入力リストに追加し、出力名(単数または
複数)をポート出力リストに追加し、入力の修正を入力
宣言リストに追加し、かつ出力に対する修正を出力宣言
リストに追加する。ステップ325はまた、この出力に
対するリピータのインスタンシェイション(instantiat
ion)も生成して、インスタンシェイションリストに追
加する。
施形態が、流れ図を使用して説明されることができる。
先に述べたように、この特定のリピータブロックにて反
復されるべき全てのトップレベルネット、それらの目的
地、およびそれらのオプションのマルチドロップ指定子
を含むトップレベルネットのリストが生成される。流れ
図のステップ305において、このリストがアクセスさ
れる。ステップ310において、トップレベルネット
が、その目的地、およびマルチドロップ指定子が含まれ
ている場合にはその指定子とともに読み出される。ステ
ップ315において、ネット名がセーブされる。ステッ
プ320において、プログラムは出力ネット名(単数ま
たは複数)を生成する。このプロセスは、図4を用いて
さらに説明される。プログラム自体は、5つの内部リス
トを使用する。そのため、ステップ325が、入力ネッ
ト名をポート入力リストに追加し、出力名(単数または
複数)をポート出力リストに追加し、入力の修正を入力
宣言リストに追加し、かつ出力に対する修正を出力宣言
リストに追加する。ステップ325はまた、この出力に
対するリピータのインスタンシェイション(instantiat
ion)も生成して、インスタンシェイションリストに追
加する。
【0033】ステップ330において、プログラムは、
このネットの出力に複数の接続が存在するかどうかをみ
て、このネットが共有バッファマルチドロップネットを
構成するかどうかを判定する。ステップ335におい
て、この質問に対する答えがイエスであれば、この出力
がその複数の目的地の各々にワイヤ接続されることを命
令する指示語が、指示リストに追加される。ステップ3
40にて、プログラムは、複数のバッファが個別バッフ
ァマルチドロップネットにて必要とされるかどうかをみ
る。この質問に対する答えがイエスであれば、各バッフ
ァ出力がステップ345にてその目的地にワイヤ接続さ
れるという指示語が、指示リストに追加される。ネット
がマルチドロップネットを含まない場合、そのネットは
二地点間ネットであり、ステップ350にて適宜に取り
扱われる。以上のステップ310から350までは、そ
の入力リストにおける全エントリーが取り扱われるま
で、反復的に実行される。ステップ355は、この入力
リストにおける各エントリーが検査されたことを保証す
るために確認する。入力リストに追加のエントリーが存
在する場合、プロセスはステップ310から繰り返され
る。ステップ360において、HDLブロックコードが
生成される。最後に、ステップ365において、ワイヤ
接続指示ファイルが生成される。
このネットの出力に複数の接続が存在するかどうかをみ
て、このネットが共有バッファマルチドロップネットを
構成するかどうかを判定する。ステップ335におい
て、この質問に対する答えがイエスであれば、この出力
がその複数の目的地の各々にワイヤ接続されることを命
令する指示語が、指示リストに追加される。ステップ3
40にて、プログラムは、複数のバッファが個別バッフ
ァマルチドロップネットにて必要とされるかどうかをみ
る。この質問に対する答えがイエスであれば、各バッフ
ァ出力がステップ345にてその目的地にワイヤ接続さ
れるという指示語が、指示リストに追加される。ネット
がマルチドロップネットを含まない場合、そのネットは
二地点間ネットであり、ステップ350にて適宜に取り
扱われる。以上のステップ310から350までは、そ
の入力リストにおける全エントリーが取り扱われるま
で、反復的に実行される。ステップ355は、この入力
リストにおける各エントリーが検査されたことを保証す
るために確認する。入力リストに追加のエントリーが存
在する場合、プロセスはステップ310から繰り返され
る。ステップ360において、HDLブロックコードが
生成される。最後に、ステップ365において、ワイヤ
接続指示ファイルが生成される。
【0034】図4は、出力ネット名を生成するための体
系化された方法を利用する好適な実施形態を示す。ステ
ップ405にて、われわれが検査しているものがマルチ
ドロップネットであり、かつそれが共有バッファを有し
ている場合、ステップ410にて、出力ネット名を決定
するための基準が生成される。しかし、われわれがマル
チドロップ個別バッファネットを取り扱っているなら
ば、ステップ415はこの決定をして、ステップ420
にて、これらのネット出力の名称を決定するための基準
が生成される。ステップ425は、二地点間ネットに対
する出力ネット名を決定するための基準を生成する。ス
テップ430は、これがこのネットの最初の反復である
かどうかを判定するために使用される。この質問に対す
る答えがノーである場合、ステップ435において、先
のリピータの接頭辞がネット名から取り除かれる。ステ
ップ430にて問われた質問に対する答えがイエスであ
る場合、ステップ440は出力ネット名とワイヤ接続指
示語とを生成する。最後に、ステップ450は、これが
この入力セットに対する最後の出力であったかどうかを
みる。答えがノーである場合、プログラムはステップ4
45に進み、マルチバッファID番号を一つインクリメ
ントする。ステップ450にて問われた質問に対する答
えがイエスである場合、全出力ネット名が生成されてい
る。
系化された方法を利用する好適な実施形態を示す。ステ
ップ405にて、われわれが検査しているものがマルチ
ドロップネットであり、かつそれが共有バッファを有し
ている場合、ステップ410にて、出力ネット名を決定
するための基準が生成される。しかし、われわれがマル
チドロップ個別バッファネットを取り扱っているなら
ば、ステップ415はこの決定をして、ステップ420
にて、これらのネット出力の名称を決定するための基準
が生成される。ステップ425は、二地点間ネットに対
する出力ネット名を決定するための基準を生成する。ス
テップ430は、これがこのネットの最初の反復である
かどうかを判定するために使用される。この質問に対す
る答えがノーである場合、ステップ435において、先
のリピータの接頭辞がネット名から取り除かれる。ステ
ップ430にて問われた質問に対する答えがイエスであ
る場合、ステップ440は出力ネット名とワイヤ接続指
示語とを生成する。最後に、ステップ450は、これが
この入力セットに対する最後の出力であったかどうかを
みる。答えがノーである場合、プログラムはステップ4
45に進み、マルチバッファID番号を一つインクリメ
ントする。ステップ450にて問われた質問に対する答
えがイエスである場合、全出力ネット名が生成されてい
る。
【0035】本発明およびその利点が詳細に説明されて
きたが、特許請求の範囲によって定義されるような本発
明の思想および範囲から逸脱することなく、さまざまな
変更、置換、および代替をこれらに対して行うことがで
きる点を理解されたい。さらに、本発明の範囲は、本明
細書にて説明されたプロセス、機械、製造、物質の組
成、手段、方法、およびステップからなる特定の実施形
態に限定されることが意図されるものではない。当業者
が本発明の開示内容から容易に理解できるように、ここ
で説明された対応する実施形態と実質的に同じ機能を実
行するかまたは実質的に同じ結果を達成するような現存
するまたは後に開発されるべきプロセス、機械、製造、
物質の組成、手段、方法、またはステップが、本発明に
したがって使用され得る。したがって、特許請求の範囲
は、そのようなプロセス、機械、製造、物質の組成、手
段、方法、またはステップを、その範囲内に含むことが
意図されている。
きたが、特許請求の範囲によって定義されるような本発
明の思想および範囲から逸脱することなく、さまざまな
変更、置換、および代替をこれらに対して行うことがで
きる点を理解されたい。さらに、本発明の範囲は、本明
細書にて説明されたプロセス、機械、製造、物質の組
成、手段、方法、およびステップからなる特定の実施形
態に限定されることが意図されるものではない。当業者
が本発明の開示内容から容易に理解できるように、ここ
で説明された対応する実施形態と実質的に同じ機能を実
行するかまたは実質的に同じ結果を達成するような現存
するまたは後に開発されるべきプロセス、機械、製造、
物質の組成、手段、方法、またはステップが、本発明に
したがって使用され得る。したがって、特許請求の範囲
は、そのようなプロセス、機械、製造、物質の組成、手
段、方法、またはステップを、その範囲内に含むことが
意図されている。
【0036】以下においては、本発明の種々の構成要件
の組み合わせからなる例示的な実施態様を示す。 1.リピータを集積回路設計モデルに組み込む方法(図
3)であって、複数の別個のセルブロックのジオメトリ
を指定するステップと、前記セルブロックを接続するト
ップレベルネットを特定するリストを生成するステップ
と、前記トップレベルネットのうちで最大信号伝送基準
を越えるものにしたがって位置を特定する(325)ステ
ップと、前記セルブロックから離れてリピータ制約領域
を画定して、且つ前記特定するステップによって特定さ
れた一つまたは複数の前記位置を含ませるステップと、
前記リピータ制約領域の各々について、その制約領域に
て反復されるべきトップレベルネットのリストを生成す
るステップとを含む、方法(図3)。 2.前記リピータ制約領域の各々の内部での配置に対す
るリピータブロックのHDL表現を自動的に生成するス
テップ(360)をさらに含む、上記1に記載の方法(図
3)。 3.前記リピータブロックのHDL表現を前記集積回路
設計モデルに接続するワイヤ接続指示語を自動的に生成
するステップ(365)をさらに含む、上記2に記載の方
法(図3)。 4.前記HDL表現が、前記集積回路設計モデルを表す
複数の抽象化レベルと互換性がある、上記2に記載の方
法(図3)。 5.好適なリピータトポロジーを指定するステップをさ
らに含む、上記1に記載の方法(図3)。 6.前記好適なリピータトポロジーを指定するステップ
が、前記トップレベルネットの各々のファンアウト特性
を定義するステップを含む、上記5に記載の方法(図
3)。 7.前記トップレベルネットの各々のファンアウト特性
を定義する前記ステップが、(i)二地点間(350)、
(ii)個別バッファマルチドロップ(340)、および(i
ii)共有マルチドロップトポロジー(330)の一つを有
するように、前記トップレベルネットの各々を指定する
ステップを含む、上記6に記載の方法(図3)。 8.前記リピータ制約領域の各々が、配置前の設計にリ
ピータを組み込むことを容易にするようなサイズおよび
位置を有している、上記1に記載の方法(図3)。 9.前記リピータ制約領域の各々は、前記最大信号伝送
基準が前記セルブロックの各々の内部での機能セルの配
置から独立して満足されるようなサイズおよび位置を有
している、上記1に記載の方法(図3)。 10.集積回路を設計する方法(図3)であって、前記
集積回路の挙動モデルを生成するステップと、前記挙動
モデルを実現する複数の別個のセルブロックのジオメト
リを指定するステップと、前記セルブロックを接続する
トップレベルネット(305)を特定するリストを生成す
るステップと、前記トップレベルネットのうちで最大信
号伝送基準を越えるものにしたがって位置を特定するス
テップと、前記セルブロックから離れてリピータ制約領
域を画定して、かつ前記特定するステップによって特定
された一つまたは複数の前記位置を含ませるステップ
と、前記リピータ制約領域の各々について、その制約領
域にて反復されるべきトップレベルネットのリストを生
成するステップと、前記リピータ制約領域の各々の内部
での配置に対するリピータブロックのHDL表現(36
0)を生成するステップと、前記リピータブロックのH
DL表現を前記挙動モデルに組み込むステップとを含
む、方法(図3)。
の組み合わせからなる例示的な実施態様を示す。 1.リピータを集積回路設計モデルに組み込む方法(図
3)であって、複数の別個のセルブロックのジオメトリ
を指定するステップと、前記セルブロックを接続するト
ップレベルネットを特定するリストを生成するステップ
と、前記トップレベルネットのうちで最大信号伝送基準
を越えるものにしたがって位置を特定する(325)ステ
ップと、前記セルブロックから離れてリピータ制約領域
を画定して、且つ前記特定するステップによって特定さ
れた一つまたは複数の前記位置を含ませるステップと、
前記リピータ制約領域の各々について、その制約領域に
て反復されるべきトップレベルネットのリストを生成す
るステップとを含む、方法(図3)。 2.前記リピータ制約領域の各々の内部での配置に対す
るリピータブロックのHDL表現を自動的に生成するス
テップ(360)をさらに含む、上記1に記載の方法(図
3)。 3.前記リピータブロックのHDL表現を前記集積回路
設計モデルに接続するワイヤ接続指示語を自動的に生成
するステップ(365)をさらに含む、上記2に記載の方
法(図3)。 4.前記HDL表現が、前記集積回路設計モデルを表す
複数の抽象化レベルと互換性がある、上記2に記載の方
法(図3)。 5.好適なリピータトポロジーを指定するステップをさ
らに含む、上記1に記載の方法(図3)。 6.前記好適なリピータトポロジーを指定するステップ
が、前記トップレベルネットの各々のファンアウト特性
を定義するステップを含む、上記5に記載の方法(図
3)。 7.前記トップレベルネットの各々のファンアウト特性
を定義する前記ステップが、(i)二地点間(350)、
(ii)個別バッファマルチドロップ(340)、および(i
ii)共有マルチドロップトポロジー(330)の一つを有
するように、前記トップレベルネットの各々を指定する
ステップを含む、上記6に記載の方法(図3)。 8.前記リピータ制約領域の各々が、配置前の設計にリ
ピータを組み込むことを容易にするようなサイズおよび
位置を有している、上記1に記載の方法(図3)。 9.前記リピータ制約領域の各々は、前記最大信号伝送
基準が前記セルブロックの各々の内部での機能セルの配
置から独立して満足されるようなサイズおよび位置を有
している、上記1に記載の方法(図3)。 10.集積回路を設計する方法(図3)であって、前記
集積回路の挙動モデルを生成するステップと、前記挙動
モデルを実現する複数の別個のセルブロックのジオメト
リを指定するステップと、前記セルブロックを接続する
トップレベルネット(305)を特定するリストを生成す
るステップと、前記トップレベルネットのうちで最大信
号伝送基準を越えるものにしたがって位置を特定するス
テップと、前記セルブロックから離れてリピータ制約領
域を画定して、かつ前記特定するステップによって特定
された一つまたは複数の前記位置を含ませるステップ
と、前記リピータ制約領域の各々について、その制約領
域にて反復されるべきトップレベルネットのリストを生
成するステップと、前記リピータ制約領域の各々の内部
での配置に対するリピータブロックのHDL表現(36
0)を生成するステップと、前記リピータブロックのH
DL表現を前記挙動モデルに組み込むステップとを含
む、方法(図3)。
【0037】
【発明の効果】本発明により、過度の時間または労力を
費やすことなくリピータブロックの位置を自動的に決定
するシステムが提供され、またエラーのないリピータブ
ロック自動生成が可能になる。さらに、マルチドロップ
のトポロジーを取り扱う自動化されたリピータ決定ツー
ルが提供され、また以前に特定されたリピータ位置を再
検証するために手作業の労力を必要とせずに設計変更を
可能にする自動式リピータ決定ツールが提供される。
費やすことなくリピータブロックの位置を自動的に決定
するシステムが提供され、またエラーのないリピータブ
ロック自動生成が可能になる。さらに、マルチドロップ
のトポロジーを取り扱う自動化されたリピータ決定ツー
ルが提供され、また以前に特定されたリピータ位置を再
検証するために手作業の労力を必要とせずに設計変更を
可能にする自動式リピータ決定ツールが提供される。
【図1】セル範囲およびワイヤを含む回路の平面図のブ
ロック図を示す。
ロック図を示す。
【図2】図1のブロック図をリピータブロック制約領域
とともに示す図である。
とともに示す図である。
【図3】本発明の好適な実施形態の流れ図を示す図であ
る。
る。
【図4】リピータが追加されたときに、結果として生じ
るネットセグメントを命名するための流れ図を示す図で
ある。
るネットセグメントを命名するための流れ図を示す図で
ある。
100 システム 105 BLK1 110 BLK2 130 直接接続距離 135 BLK0 145 BLK4
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ニコラス・エス・フィドシア アメリカ合衆国カリフォルニア州95070, サラトガ,マーサ・アベニュー・18692 Fターム(参考) 5B046 AA08 BA03 JA01 5F064 DD02 DD03 DD04 DD13 DD14 HH06 HH08
Claims (1)
- 【請求項1】 リピータを集積回路設計モデルに組み込
む方法であって、 複数の別個のセルブロックのジオメトリを指定するステ
ップと、 前記セルブロックを接続するトップレベルネットを特定
するリストを生成するステップと、 前記トップレベルネットのうちで最大信号伝送基準を越
えるものにしたがって位置を特定する(325)ステップ
と、 前記セルブロックから離れてリピータ制約領域を画定し
て、且つ前記特定するステップによって特定された一つ
または複数の前記位置を含ませるステップと、 前記リピータ制約領域の各々について、その制約領域に
て反復されるべきトップレベルネットのリストを生成す
るステップとを含む、方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/562,591 US6473889B1 (en) | 2000-04-29 | 2000-04-29 | Method of automatically generating repeater blocks in HDL and integrating them into a region constrained chip design |
US09/562591 | 2000-04-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001357091A true JP2001357091A (ja) | 2001-12-26 |
Family
ID=24246905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001128945A Pending JP2001357091A (ja) | 2000-04-29 | 2001-04-26 | リピータブロックをhdlにて自動的に生成し、領域制約のあるチップ設計に組み込む方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6473889B1 (ja) |
EP (1) | EP1150222A3 (ja) |
JP (1) | JP2001357091A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6832362B2 (en) * | 2002-06-05 | 2004-12-14 | Agilent Technologies, Inc. | Process and system for repeater insertion in an IC design |
US6996785B1 (en) | 2003-04-25 | 2006-02-07 | Universal Network Machines, Inc . | On-chip packet-based interconnections using repeaters/routers |
US7257798B2 (en) * | 2005-06-21 | 2007-08-14 | Cadence Design Systems, Inc. | Method and system for designing a timing closure of an integrated circuit |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3001403B2 (ja) | 1995-09-29 | 2000-01-24 | 日本電気株式会社 | 論理回路のレイアウト方法 |
US5838580A (en) | 1996-06-20 | 1998-11-17 | Sun Microsystems, Inc. | Method of optimizing repeater placement in long lines of a complex integrated circuit |
US5960191A (en) * | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
US5995735A (en) | 1997-06-23 | 1999-11-30 | Sun Microsystems, Inc. | Directional repeater physical assignment and connection for high-performance microprocessors |
US6286128B1 (en) * | 1998-02-11 | 2001-09-04 | Monterey Design Systems, Inc. | Method for design optimization using logical and physical information |
-
2000
- 2000-04-29 US US09/562,591 patent/US6473889B1/en not_active Expired - Fee Related
-
2001
- 2001-03-23 EP EP01302695A patent/EP1150222A3/en not_active Ceased
- 2001-04-26 JP JP2001128945A patent/JP2001357091A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP1150222A2 (en) | 2001-10-31 |
EP1150222A3 (en) | 2003-04-02 |
US6473889B1 (en) | 2002-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603644B2 (en) | Integrated circuit routing and compaction | |
JP3891599B2 (ja) | 集積回路レイアウト内への標準セルの自動挿入装置 | |
US8001509B2 (en) | Method for programming a mask-programmable logic device and device so programmed | |
US5550748A (en) | Region search for delay routing and signal net matching | |
US7890909B2 (en) | Automatic block composition tool for composing custom blocks having non-standard library cells in an integrated circuit design flow | |
US6782511B1 (en) | Behavioral-synthesis electronic design automation tool business-to-business application service provider | |
US6711729B1 (en) | Methods and apparatuses for designing integrated circuits using automatic reallocation techniques | |
JP2004501439A (ja) | 集積回路をパーティション化して、配置及び配線をするシステム | |
KR20030016210A (ko) | 동적으로 재구성 가능한 논리 회로의 물리적 설계 구현 방법 | |
US7636908B1 (en) | Generation of a specification of a network packet processor | |
Chang et al. | Postlayout logic restructuring using alternative wires | |
US9147030B2 (en) | Multiple-instantiated-module (mim) aware pin assignment | |
Chang et al. | Layout driven logic synthesis for FPGAs | |
US5587919A (en) | Apparatus and method for logic optimization by redundancy addition and removal | |
EP0847022A2 (en) | Method for designing an architectural system | |
Alpert et al. | Steiner tree optimization for buffers, blockages, and bays | |
JP2005123537A (ja) | 半導体装置及び製造方法 | |
JP2001357091A (ja) | リピータブロックをhdlにて自動的に生成し、領域制約のあるチップ設計に組み込む方法 | |
US8434044B1 (en) | Specifying placement and routing constraints for security and redundancy | |
US7817657B1 (en) | Circuit for processing network packets | |
US6532584B1 (en) | Circuit synthesis method | |
US8144702B1 (en) | Generation of a pipeline for processing a type of network packets | |
US8769449B1 (en) | System level circuit design | |
US20030208724A1 (en) | Method for inserting repeater cells in a deep sub-micron design | |
JP2872216B1 (ja) | マクロの設計方法 |