JP2006178958A - レイアウトドリブンの領域の制約された設計の最適化を行う論理プログラム、方法及びシステム - Google Patents
レイアウトドリブンの領域の制約された設計の最適化を行う論理プログラム、方法及びシステム Download PDFInfo
- Publication number
- JP2006178958A JP2006178958A JP2005357161A JP2005357161A JP2006178958A JP 2006178958 A JP2006178958 A JP 2006178958A JP 2005357161 A JP2005357161 A JP 2005357161A JP 2005357161 A JP2005357161 A JP 2005357161A JP 2006178958 A JP2006178958 A JP 2006178958A
- Authority
- JP
- Japan
- Prior art keywords
- design
- net
- layout
- algorithm
- critical
- 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.)
- Granted
Links
Images
Classifications
-
- 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
【解決手段】レイアウトはデザインのチップ領域を区分けするブロックを含む。各ブロックは1以上のゲートを含む。レイアウトはネットのグローバルルーティングをも含む。本方法はデザイン及びレイアウトの第1のタイミング分析を実行し、デザイン及びレイアウトを更新することも含む。本方法はデザイン及びレイアウトの第2のタイミング分析を実行することも含む。第2のタイミング分析はデザイン及びレイアウトの更新を考慮に入れる。本方法は、第2のタイミング分析の1以上の結果が、デザインが1以上の所定の設計目標に合致しないことを示す、及び第1のタイミング分析の1以上の結果に対する1以上の設計目標に向けて少なくとも所定量の進展を示す場合に、デザイン及びレイアウトを更に更新することも含む。
【選択図】図1
Description
(1)σνはバッファリングされないソリューションであり、xでのσν=(cz,qz,Hz)及びyでのσy=(cy,qy,Hy)のソリューションを組み合わせることで生成される。ここでx及びyはνの子である。ソリューション構成はネットシンクからルートへ進むので、Hz及びHyは既に構築済みである。従ってHνは次のようにして生成される。各ブロックQ∈γ(ν)について:
・Hz(Q)もHy(Q)も存在しなければ、Hν(Q)を生成しない;
・Hz(Q)は存在するが、Hy(Q)は存在しないならば、Hν(Q)=Hz(Q) である;
・Hy(Q)は存在するが、Hz(Q)は存在しないならば、Hν(Q)=Hy(Q) である;
・それ以外については、Hν=Hz(Q)+Hy(Q) である。
・定義1:2つのソリューションσ1=(c1,q1,H1)及びσ2=(c2,q2,H2)∈S(ν)の下で、1)c1≧c2、2)q1≦q2及び3)各ブロックQ∈γ(ν)についてH1(Q)≧H2(Q) であるならば、σ2はσ1と同程度に良好である。存在しない入力はゼロであることが仮定される。不等式が厳密ならば、σ1はσ2に対してcqHの劣ったものである(最適ではない)。
・定義2:νで別のソリューションσ2=(c2,q2,H2)が存在し、c1≧c2、2)q1≦q2であり、少なくとも1つの不等式が厳密であるならば、ネットノードνでのソリューションσ1=(c1,q1,H1)はcqの劣ったものである(或いはc及びqに関して劣っている)。
・定理1:ネットNがONPBを満たすならば、上述した修正されたvan Ginnekenアルゴリズムはシングルネットのエリア制約されたタイミング指向バッファリング問題を最適には二次関数的時間で解決する。
・定理2:ネットNがONPRB条件を満たすならば、上述の修正されたvan Ginnekenアルゴリズムはシングルネットのエリア制約された時間指向ネットバッファリング問題を最適には二次関数的な時間で解決する。
(1)セル配置、ネットトポロジ及び/又はルーティングを変更し、2つのネットが同じブロックに一切属しないようにする。しかしながらこれは設計特性を劣化させるかもしれないので望ましくない。
1.(図4に示されるように)シンクの極性を割り当て、Nに関する全てのバッファを除去する;ブロックエリアを更新する;
2.NがONPRB条件を満たすならば、修正されたvan Ginnekenアルゴリズムを起動する;ブロック領域を更新する;戻る(リターン);
3.Nが小さかったならば、それがONPRB条件を満たすようにする;修正されたvan Ginnekenアルゴリズムを呼び出す;ブロックエリアを更新する;戻る;
4.Nが中間的な大きさだったならば、上述した厳密なMurgaiアルゴリズムを起動する;ブロック領域を更新する;戻る;
5.Nのルートで正規のソリューションを利用しないvan Ginneken又はグローバルエリアアルゴリズムを呼び出す;ブロックエリアを更新する。
1.ブロックが配置されグローバルにルーティングされたデザインについて遅延トレースを実行する
2.リピート(repeat){
3. クリティカルな拡張ネットの識別及び並び替え
4. その順序でネットNの各々につき、上記のアルゴリズムを適用する
5. 遅延とレースを実行する
6.}アンティル(until)(シンクに改善なし)
7.(最小の回路スラック(slack)が悪化した)ならば
8. 問題となっているネットを確認し、変更は実行されない。
1.(図4に示されるように)シンクの極性を割り当て、Nに関する全てのバッファを除去する;ブロックエリアを更新する;
2.NがONPRB条件を満たすならば、修正されたグローバルエリアアルゴリズムを起動する;ブロック領域を更新する;戻る(リターン);
3.Nが小さかったならば、それがONPRB条件を満たすようにする;修正されたグローバルエリアアルゴリズムを呼び出す;ブロックエリアを更新する;戻る;
4.Nが中間的な大きさだったならば、エリア最小化に関する厳密なMurgaiアルゴリズムを起動する;ブロック領域を更新する;戻る;
5.Nのルートで正規のソリューションを利用しないグローバルエリアアルゴリズムを呼び出す;ブロックエリアを更新する。
レイアウトドリブンのエリア制限されたデザインを最適化する論理プログラムであって、実行用に1以上の媒体中にエンコードされ、実行時に:
デザイン及び前記デザインのレイアウトにアクセスすること;
前記デザイン及び前記レイアウトの第1のタイミング分析を行うこと;
前記デザイン及び前記レイアウトの更新を行うこと;
前記デザイン及び前記レイアウトの更新を考慮に入れて、前記デザイン及び前記レイアウトの第2のタイミング分析を行うこと;
前記第2のタイミング分析の1以上の結果が、前記デザインが所定の設計目標全てに合致していることを示す或いは前記第1のタイミング分析の1以上の結果に関する1以上の設計目標に向けて何らの進展も示さない場合に、前記デザイン及び前記レイアウトを分析用に通知すること;及び
前記第2のタイミング分析の1以上の結果が、前記デザインが1以上の所定の設計目標に合致しないことを示す、及び前記第1のタイミング分析の1以上の結果に対する1以上の設計目標に向けて少なくとも所定量の進展を示す場合に、前記デザイン及び前記レイアウトを更に更新すること;
を行わせ、前記デザインは1以上のゲート及び該ゲートに互に接続する1以上のネットを有し、前記レイアウトは前記デザインのチップ領域を区分けするブロックを有し、ブロックの各々は1以上のゲートを有し、前記レイアウトは更にネットのグローバルルーティングを有し;
前記デザイン及び前記レイアウトの更新は:
バッファを通じて互に結合された1以上のネットより成るクリティカルな拡張されたネット全てを前記デザインの中で見分けること;
前記クリティカルな拡張されたネットを並べること;
並べた順序で前記クリティカルな拡張されたネットの各々について:
前記クリティカルな拡張されたネット上のシンクに極性を割り当てること;
前記クリティカルな拡張されたネットから全てのバッファを除去すること;
前記クリティカルな拡張されたネットからバッファを除去したことによって、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない又はバッファの挿入に関して唯1つのネットノードしか含まない場合に:
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第1の閾数より少ない場合であって、前記クリティカルな拡張されたネットの及ぶ1以上のブロックが、少なくともいくつかの利用可能な領域を有し且つ1より多くのネットノードを含む場合に:
前記クリティカルな拡張されたネットを修正し、前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない或いはバッファの挿入に関して唯1つのネットノードしか有しないようにすること;
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第2の閾数より多く且つネットノードに関する第3の閾数より少ない場合に:
前記クリティカルな拡張されたネットに厳密なムルガイバッファリングアルゴリズムを適用すること;及び
前記正確なムルガイバッファリングアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
それ以外の場合には:
拡張されたネットのルートで正当なソリューションを使用しないタイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記ヴァンギネケンアルゴリズム又は前記グローバルエリアアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
により行われることを特徴とする論理プログラム。
前記デザイン及び前記レイアウトの更新の結果として最小回路スタックの改善が所定の閾値に到達するまで動作が反復される
ことを特徴とする付記1記載の論理プログラム。
前記レイアウトの最小スラックが前記デザイン及び前記レイアウトに対する更新結果を悪化させる場合には、前記デザインの中で最小スラックを悪化させている前記デザイン中の1以上のネットを確認し、前記デザインの最小スラックを悪化させる前記デザイン中のネットに関連する前記デザイン及び前記レイアウトになされる変更を止める
ことを特徴とする付記1記載の論理プログラム。
前記1以上の設計目標が:
前記デザインに関する領域の、負荷の又はスルーの制約に違反せずに前記デザインの遅延を最小化すること;
前記デザインにおける1以上のタイミング違反を解消すること;
前記デザインの中で遅延を増やさずに前記デザインから最大の領域を復元すること;
前記デザイン中の1以上のスルー又は過剰負荷の問題を解決すること;
の内の1以上より成ることを特徴とする付記1記載の論理プログラム。
前記クリティカルな拡張されたネットの及ぶ各ブロックが利用可能な領域を一切有しない又は唯1つのネットノードしか有しないように前記クリティカルな拡張されたネットを修正し:
前記クリティカルな拡張されたネットに関連する1以上のゲートの配置を変更し、前記クリティカルな拡張されたネットのトポロジを変更し、或いは前記クリティカルな拡張されたネットのルーティングを変更し;又は
前記クリティカルな拡張されたネットの及ぶブロック各々の中の唯1つのノードに1以上のバッファを挿入する;
ことを特徴とする付記1記載の論理プログラム。
1以上の基準に従って前記1以上のバッファを挿入するノードを選択する
ことを特徴とする付記5記載の論理プログラム。
前記修正されたヴァンギネケンアルゴリズムが、修正元のヴァンギネケンアルゴリズムによるものとは異なるバッファされるソリューションを生成し;及び
前記修正されたグローバルエリアアルゴリズムが、修正元のグローバルエリアアルゴリズムによるものとは異なるバッファされるソリューションを生成する;
ことを特徴とする付記1記載の論理プログラム。
レイアウトドリブンのエリア制限されたデザインを最適化する方法であって:
デザイン及び前記デザインのレイアウトにアクセスするステップ;
前記デザイン及び前記レイアウトの第1のタイミング分析を行うステップ;
前記デザイン及び前記レイアウトの更新を行うステップ;
前記デザイン及び前記レイアウトの更新を考慮して、前記デザイン及び前記レイアウトの第2のタイミング分析を行うステップ;
前記第2のタイミング分析の1以上の結果が、前記デザインが所定の設計目標全てに合致していることを示す或いは前記第1のタイミング分析の1以上の結果に関する1以上の設計目標に向けて何らの進展も示さない場合に、前記デザイン及び前記レイアウトを分析用に通知するステップ;及び
前記第2のタイミング分析の1以上の結果が、前記デザインが1以上の所定の設計目標に合致しないことを示す、及び前記第1のタイミング分析の1以上の結果に対する1以上の設計目標に向けて少なくとも所定量の進展を示す場合に、前記デザイン及び前記レイアウトを更に更新するステップ;
を有し、前記デザインは1以上のゲート及び該ゲートに互に接続する1以上のネットを有し、前記レイアウトは前記デザインのチップ領域を区分けするブロックを有し、ブロックの各々は1以上のゲートを有し、前記レイアウトは更にネットのグローバルルーティングを有し;
前記デザイン及び前記レイアウトの更新を行うステップは:
バッファを通じて互に結合された1以上のネットより成るクリティカルな拡張されたネット全てを前記デザインの中で見分けるステップ;
前記クリティカルな拡張されたネットを並べるステップ;
並べた順序で前記クリティカルな拡張されたネットの各々について:
前記クリティカルな拡張されたネット上のシンクに極性を割り当てるステップ;
前記クリティカルな拡張されたネットから全てのバッファを除去するステップ;
前記クリティカルな拡張されたネットからバッファを除去したことによって、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新するステップ;
前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない又はバッファの挿入に関して唯1つのネットノードしか含まない場合に:
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用するステップ;及び
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新するステップ;
前記クリティカルな拡張されたネットが、ネットノードに関する第1の閾数より少ない場合であって、前記クリティカルな拡張されたネットの及ぶ1以上のブロックが、少なくともいくつかの利用可能な領域を有し且つ1より多くのネットノードを含む場合に:
前記クリティカルな拡張されたネットを修正し、前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない或いはバッファの挿入に関して唯1つのネットノードしか有しないようにするステップ;
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用するステップ;
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新するステップ;
前記クリティカルな拡張されたネットが、ネットノードに関する第2の閾数より多く且つネットノードに関する第3の閾数より少ない場合に:
前記クリティカルな拡張されたネットに厳密なムルガイバッファリングアルゴリズムを適用するステップ;及び
前記正確なムルガイバッファリングアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新するステップ;
それ以外の場合には:
拡張されたネットのルートで正当なソリューションを使用しないタイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用するステップ;及び
前記ヴァンギネケンアルゴリズム又は前記グローバルエリアアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新するステップ;
を有することを特徴とする方法。
前記デザイン及び前記レイアウトの更新の結果として最小回路スタックの改善が所定の閾値に到達するまで動作が反復される
ことを特徴とする付記8記載の方法。
前記レイアウトの最小スラックが前記デザイン及び前記レイアウトに対する更新結果を悪化させる場合には、前記デザインの中で最小スラックを悪化させている前記デザイン中の1以上のネットを確認し、前記デザインの最小スラックを悪化させる前記デザイン中のネットに関連する前記デザイン及び前記レイアウトになされる変更を止める
ことを特徴とする付記8記載の方法。
前記1以上の設計目標が:
前記デザインに関する領域の、負荷の又はスルーの制約に違反せずに前記デザインの遅延を最小化すること;
前記デザインにおける1以上のタイミング違反を解消すること;
前記デザインの中で遅延を増やさずに前記デザインから最大の領域を復元すること;
前記デザイン中の1以上のスルー又は過剰負荷の問題を解決すること;
の内の1以上より成ることを特徴とする付記8記載の方法。
前記クリティカルな拡張されたネットの及ぶ各ブロックが利用可能な領域を一切有しない又は唯1つのネットノードしか有しないように前記クリティカルな拡張されたネットを修正し:
前記クリティカルな拡張されたネットに関連する1以上のゲートの配置を変更し、前記クリティカルな拡張されたネットのトポロジを変更し、或いは前記クリティカルな拡張されたネットのルーティングを変更し;又は
前記クリティカルな拡張されたネットの及ぶブロック各々の中の唯1つのノードに1以上のバッファを挿入する;
ことを特徴とする付記8記載の方法。
1以上の基準に従って前記1以上のバッファを挿入するノードを選択する
ことを特徴とする付記12記載の方法。
前記修正されたヴァンギネケンアルゴリズムが、修正元のヴァンギネケンアルゴリズムによるものとは異なるバッファされるソリューションを生成し;及び
前記修正されたグローバルエリアアルゴリズムが、修正元のグローバルエリアアルゴリズムによるものとは異なるバッファされるソリューションを生成する;
ことを特徴とする付記8記載の方法。
レイアウトドリブンのエリア制限されたデザインを最適化するシステムであって:
デザイン及び前記デザインのレイアウトにアクセスすること;
前記デザイン及び前記レイアウトの第1のタイミング分析を行うこと;
前記デザイン及び前記レイアウトの更新を行うこと;
前記デザイン及び前記レイアウトの更新を考慮に入れて、前記デザイン及び前記レイアウトの第2のタイミング分析を行うこと;
前記第2のタイミング分析の1以上の結果が、前記デザインが所定の設計目標全てに合致していることを示す或いは前記第1のタイミング分析の1以上の結果に関する1以上の設計目標に向けて何らの進展も示さない場合に、前記デザイン及び前記レイアウトを分析用に通知すること;及び
前記第2のタイミング分析の1以上の結果が、前記デザインが1以上の所定の設計目標に合致しないことを示す、及び前記第1のタイミング分析の1以上の結果に対する1以上の設計目標に向けて少なくとも所定量の進展を示す場合に、前記デザイン及び前記レイアウトを更に更新すること;
を行う最適化ツールを有し、前記デザインは1以上のゲート及び該ゲートに互に接続する1以上のネットを有し、前記レイアウトは前記デザインのチップ領域を区分けするブロックを有し、ブロックの各々は1以上のゲートを有し、前記レイアウトは更にネットのグローバルルーティングを有し;
前記デザイン及び前記レイアウトの更新は:
バッファを通じて互に結合された1以上のネットより成るクリティカルな拡張されたネット全てを前記デザインの中で見分けること;
前記クリティカルな拡張されたネットを並べること;
並べた順序で前記クリティカルな拡張されたネットの各々について:
前記クリティカルな拡張されたネット上のシンクに極性を割り当てること;
前記クリティカルな拡張されたネットから全てのバッファを除去すること;
前記クリティカルな拡張されたネットからバッファを除去したことによって、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない又はバッファの挿入に関して唯1つのネットノードしか含まない場合に:
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第1の閾数より少ない場合であって、前記クリティカルな拡張されたネットの及ぶ1以上のブロックが、少なくともいくつかの利用可能な領域を有し且つ1より多くのネットノードを含む場合に:
前記クリティカルな拡張されたネットを修正し、前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない或いはバッファの挿入に関して唯1つのネットノードしか有しないようにすること;
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第2の閾数より多く且つネットノードに関する第3の閾数より少ない場合に:
前記クリティカルな拡張されたネットに厳密なムルガイバッファリングアルゴリズムを適用すること;及び
前記正確なムルガイバッファリングアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
それ以外の場合には:
拡張されたネットのルートで正当なソリューションを使用しないタイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記ヴァンギネケンアルゴリズム又は前記グローバルエリアアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
により行われることを特徴とするシステム。
前記デザイン及び前記レイアウトの更新の結果として最小回路スタックの改善が所定の閾値に到達するまで動作が反復される
ことを特徴とする付記15記載のシステム。
前記レイアウトの最小スラックが前記デザイン及び前記レイアウトに対する更新結果を悪化させる場合には、前記デザインの中で最小スラックを悪化させている前記デザイン中の1以上のネットを確認し、前記デザインの最小スラックを悪化させる前記デザイン中のネットに関連する前記デザイン及び前記レイアウトになされる変更を止める
ことを特徴とする付記15記載のシステム。
前記1以上の設計目標が:
前記デザインに関する領域の、負荷の又はスルーの制約に違反せずに前記デザインの遅延を最小化すること;
前記デザインにおける1以上のタイミング違反を解消すること;
前記デザインの中で遅延を増やさずに前記デザインから最大の領域を復元すること;
前記デザイン中の1以上のスルー又は過剰負荷の問題を解決すること;
の内の1以上より成ることを特徴とする付記15記載のシステム。
前記クリティカルな拡張されたネットの及ぶ各ブロックが利用可能な領域を一切有しない又は唯1つのネットノードしか有しないように前記クリティカルな拡張されたネットを修正し:
前記クリティカルな拡張されたネットに関連する1以上のゲートの配置を変更し、前記クリティカルな拡張されたネットのトポロジを変更し、或いは前記クリティカルな拡張されたネットのルーティングを変更し;又は
前記クリティカルな拡張されたネットの及ぶブロック各々の中の唯1つのノードに1以上のバッファを挿入する;
ことを特徴とする付記15記載のシステム。
1以上の基準に従って前記1以上のバッファを挿入するノードを選択する
ことを特徴とする付記15記載のシステム。
前記修正されたヴァンギネケンアルゴリズムが、修正元のヴァンギネケンアルゴリズムによるものとは異なるバッファされるソリューションを生成し;及び
前記修正されたグローバルエリアアルゴリズムが、修正元のグローバルエリアアルゴリズムによるものとは異なるバッファされるソリューションを生成する;
ことを特徴とする付記15記載のシステム。
レイアウトドリブンのエリア制限されたデザインを最適化するシステムであって:
デザイン及び前記デザインのレイアウトにアクセスする手段;
前記デザイン及び前記レイアウトの第1のタイミング分析を行う手段;
前記デザイン及び前記レイアウトの更新を行う手段;
前記デザイン及び前記レイアウトの第2のタイミング分析を行う手段であって、第2のタイミング分析は前記デザイン及び前記レイアウトの更新を考慮するところの手段;
前記第2のタイミング分析の1以上の結果が、前記デザインが所定の設計目標全てに合致していることを示す或いは前記第1のタイミング分析の1以上の結果に関する1以上の設計目標に向けて何らの進展も示さない場合に、前記デザイン及び前記レイアウトを分析用に通知する手段;及び
前記第2のタイミング分析の1以上の結果が、前記デザインが1以上の所定の設計目標に合致しないことを示す、及び前記第1のタイミング分析の1以上の結果に対する1以上の設計目標に向けて少なくとも所定量の進展を示す場合に、前記デザイン及び前記レイアウトを更に更新する手段;
を有し、前記デザインは1以上のゲート及び該ゲートに互に接続する1以上のネットを有し、前記レイアウトは前記デザインのチップ領域を区分けするブロックを有し、ブロックの各々は1以上のゲートを有し、前記レイアウトは更にネットのグローバルルーティングを有し;
前記デザイン及び前記レイアウトの更新を行う手段は:
バッファを通じて互に結合された1以上のネットより成るクリティカルな拡張されたネット全てを前記デザインの中で見分けること;
前記クリティカルな拡張されたネットを並べること;
並べた順序で前記クリティカルな拡張されたネットの各々について:
前記クリティカルな拡張されたネット上のシンクに極性を割り当てること;
前記クリティカルな拡張されたネットから全てのバッファを除去すること;
前記クリティカルな拡張されたネットからバッファを除去したことによって、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない又はバッファの挿入に関して唯1つのネットノードしか含まない場合に:
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第1の閾数より少ない場合であって、前記クリティカルな拡張されたネットの及ぶ1以上のブロックが、少なくともいくつかの利用可能な領域を有し且つ1より多くのネットノードを含む場合に:
前記クリティカルな拡張されたネットを修正し、前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない或いはバッファの挿入に関して唯1つのネットノードしか有しないようにすること;
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第2の閾数より多く且つネットノードに関する第3の閾数より少ない場合に:
前記クリティカルな拡張されたネットに厳密なムルガイバッファリングアルゴリズムを適用すること;及び
前記正確なムルガイバッファリングアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
それ以外の場合には:
拡張されたネットのルートで正当なソリューションを使用しないタイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記ヴァンギネケンアルゴリズム又は前記グローバルエリアアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
を行うことを特徴とするシステム。
12 設計様式例
Claims (10)
- レイアウトドリブンのエリア制限されたデザインを最適化する論理プログラムであって、実行用に1以上の媒体中にエンコードされ、実行時に:
デザイン及び前記デザインのレイアウトにアクセスすること;
前記デザイン及び前記レイアウトの第1のタイミング分析を行うこと;
前記デザイン及び前記レイアウトの更新を行うこと;
前記デザイン及び前記レイアウトの更新を考慮に入れて、前記デザイン及び前記レイアウトの第2のタイミング分析を行うこと;
前記第2のタイミング分析の1以上の結果が、前記デザインが所定の設計目標全てに合致していることを示す或いは前記第1のタイミング分析の1以上の結果に関する1以上の設計目標に向けて何らの進展も示さない場合に、前記デザイン及び前記レイアウトを分析用に通知すること;及び
前記第2のタイミング分析の1以上の結果が、前記デザインが1以上の所定の設計目標に合致しないことを示す、及び前記第1のタイミング分析の1以上の結果に対する1以上の設計目標に向けて少なくとも所定量の進展を示す場合に、前記デザイン及び前記レイアウトを更に更新すること;
を行わせ、前記デザインは1以上のゲート及び該ゲートに互に接続する1以上のネットを有し、前記レイアウトは前記デザインのチップ領域を区分けするブロックを有し、ブロックの各々は1以上のゲートを有し、前記レイアウトは更にネットのグローバルルーティングを有し;
前記デザイン及び前記レイアウトの更新は:
バッファを通じて互に結合された1以上のネットより成るクリティカルな拡張されたネット全てを前記デザインの中で見分けること;
前記クリティカルな拡張されたネットを並べること;
並べた順序で前記クリティカルな拡張されたネットの各々について:
前記クリティカルな拡張されたネット上のシンクに極性を割り当てること;
前記クリティカルな拡張されたネットから全てのバッファを除去すること;
前記クリティカルな拡張されたネットからバッファを除去したことによって、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない又はバッファの挿入に関して唯1つのネットノードしか含まない場合に:
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第1の閾数より少ない場合であって、前記クリティカルな拡張されたネットの及ぶ1以上のブロックが、少なくともいくつかの利用可能な領域を有し且つ1より多くのネットノードを含む場合に:
前記クリティカルな拡張されたネットを修正し、前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない或いはバッファの挿入に関して唯1つのネットノードしか有しないようにすること;
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第2の閾数より多く且つネットノードに関する第3の閾数より少ない場合に:
前記クリティカルな拡張されたネットに厳密なムルガイバッファリングアルゴリズムを適用すること;及び
前記正確なムルガイバッファリングアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
それ以外の場合には:
拡張されたネットのルートで正当なソリューションを使用しないタイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記ヴァンギネケンアルゴリズム又は前記グローバルエリアアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
により行われることを特徴とする論理プログラム。 - レイアウトドリブンのエリア制限されたデザインを最適化する方法であって:
デザイン及び前記デザインのレイアウトにアクセスするステップ;
前記デザイン及び前記レイアウトの第1のタイミング分析を行うステップ;
前記デザイン及び前記レイアウトの更新を行うステップ;
前記デザイン及び前記レイアウトの更新を考慮して、前記デザイン及び前記レイアウトの第2のタイミング分析を行うステップ;
前記第2のタイミング分析の1以上の結果が、前記デザインが所定の設計目標全てに合致していることを示す或いは前記第1のタイミング分析の1以上の結果に関する1以上の設計目標に向けて何らの進展も示さない場合に、前記デザイン及び前記レイアウトを分析用に通知するステップ;及び
前記第2のタイミング分析の1以上の結果が、前記デザインが1以上の所定の設計目標に合致しないことを示す、及び前記第1のタイミング分析の1以上の結果に対する1以上の設計目標に向けて少なくとも所定量の進展を示す場合に、前記デザイン及び前記レイアウトを更に更新するステップ;
を有し、前記デザインは1以上のゲート及び該ゲートに互に接続する1以上のネットを有し、前記レイアウトは前記デザインのチップ領域を区分けするブロックを有し、ブロックの各々は1以上のゲートを有し、前記レイアウトは更にネットのグローバルルーティングを有し;
前記デザイン及び前記レイアウトの更新を行うステップは:
バッファを通じて互に結合された1以上のネットより成るクリティカルな拡張されたネット全てを前記デザインの中で見分けるステップ;
前記クリティカルな拡張されたネットを並べるステップ;
並べた順序で前記クリティカルな拡張されたネットの各々について:
前記クリティカルな拡張されたネット上のシンクに極性を割り当てるステップ;
前記クリティカルな拡張されたネットから全てのバッファを除去するステップ;
前記クリティカルな拡張されたネットからバッファを除去したことによって、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新するステップ;
前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない又はバッファの挿入に関して唯1つのネットノードしか含まない場合に:
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用するステップ;及び
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新するステップ;
前記クリティカルな拡張されたネットが、ネットノードに関する第1の閾数より少ない場合であって、前記クリティカルな拡張されたネットの及ぶ1以上のブロックが、少なくともいくつかの利用可能な領域を有し且つ1より多くのネットノードを含む場合に:
前記クリティカルな拡張されたネットを修正し、前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない或いはバッファの挿入に関して唯1つのネットノードしか有しないようにするステップ;
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用するステップ;
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新するステップ;
前記クリティカルな拡張されたネットが、ネットノードに関する第2の閾数より多く且つネットノードに関する第3の閾数より少ない場合に:
前記クリティカルな拡張されたネットに厳密なムルガイバッファリングアルゴリズムを適用するステップ;及び
前記正確なムルガイバッファリングアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新するステップ;
それ以外の場合には:
拡張されたネットのルートで正当なソリューションを使用しないタイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用するステップ;及び
前記ヴァンギネケンアルゴリズム又は前記グローバルエリアアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新するステップ;
を有することを特徴とする方法。 - レイアウトドリブンのエリア制限されたデザインを最適化するシステムであって:
デザイン及び前記デザインのレイアウトにアクセスすること;
前記デザイン及び前記レイアウトの第1のタイミング分析を行うこと;
前記デザイン及び前記レイアウトの更新を行うこと;
前記デザイン及び前記レイアウトの更新を考慮に入れて、前記デザイン及び前記レイアウトの第2のタイミング分析を行うこと;
前記第2のタイミング分析の1以上の結果が、前記デザインが所定の設計目標全てに合致していることを示す或いは前記第1のタイミング分析の1以上の結果に関する1以上の設計目標に向けて何らの進展も示さない場合に、前記デザイン及び前記レイアウトを分析用に通知すること;及び
前記第2のタイミング分析の1以上の結果が、前記デザインが1以上の所定の設計目標に合致しないことを示す、及び前記第1のタイミング分析の1以上の結果に対する1以上の設計目標に向けて少なくとも所定量の進展を示す場合に、前記デザイン及び前記レイアウトを更に更新すること;
を行う最適化ツールを有し、前記デザインは1以上のゲート及び該ゲートに互に接続する1以上のネットを有し、前記レイアウトは前記デザインのチップ領域を区分けするブロックを有し、ブロックの各々は1以上のゲートを有し、前記レイアウトは更にネットのグローバルルーティングを有し;
前記デザイン及び前記レイアウトの更新は:
バッファを通じて互に結合された1以上のネットより成るクリティカルな拡張されたネット全てを前記デザインの中で見分けること;
前記クリティカルな拡張されたネットを並べること;
並べた順序で前記クリティカルな拡張されたネットの各々について:
前記クリティカルな拡張されたネット上のシンクに極性を割り当てること;
前記クリティカルな拡張されたネットから全てのバッファを除去すること;
前記クリティカルな拡張されたネットからバッファを除去したことによって、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない又はバッファの挿入に関して唯1つのネットノードしか含まない場合に:
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第1の閾数より少ない場合であって、前記クリティカルな拡張されたネットの及ぶ1以上のブロックが、少なくともいくつかの利用可能な領域を有し且つ1より多くのネットノードを含む場合に:
前記クリティカルな拡張されたネットを修正し、前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない或いはバッファの挿入に関して唯1つのネットノードしか有しないようにすること;
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第2の閾数より多く且つネットノードに関する第3の閾数より少ない場合に:
前記クリティカルな拡張されたネットに厳密なムルガイバッファリングアルゴリズムを適用すること;及び
前記正確なムルガイバッファリングアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
それ以外の場合には:
拡張されたネットのルートで正当なソリューションを使用しないタイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記ヴァンギネケンアルゴリズム又は前記グローバルエリアアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
により行われることを特徴とするシステム。 - 前記デザイン及び前記レイアウトの更新の結果として最小回路スタックの改善が所定の閾値に到達するまで動作が反復される
ことを特徴とする請求項3記載のシステム。 - 前記レイアウトの最小スラックが前記デザイン及び前記レイアウトに対する更新結果を悪化させる場合には、前記デザインの中で最小スラックを悪化させている前記デザイン中の1以上のネットを確認し、前記デザインの最小スラックを悪化させる前記デザイン中のネットに関連する前記デザイン及び前記レイアウトになされる変更を止める
ことを特徴とする請求項3記載のシステム。 - 前記1以上の設計目標が:
前記デザインに関する領域の、負荷の又はスルーの制約に違反せずに前記デザインの遅延を最小化すること;
前記デザインにおける1以上のタイミング違反を解消すること;
前記デザインの中で遅延を増やさずに前記デザインから最大の領域を復元すること;
前記デザイン中の1以上のスルー又は過剰負荷の問題を解決すること;
の内の1以上より成ることを特徴とする請求項3記載のシステム。 - 前記クリティカルな拡張されたネットの及ぶ各ブロックが利用可能な領域を一切有しない又は唯1つのネットノードしか有しないように前記クリティカルな拡張されたネットを修正し:
前記クリティカルな拡張されたネットに関連する1以上のゲートの配置を変更し、前記クリティカルな拡張されたネットのトポロジを変更し、或いは前記クリティカルな拡張されたネットのルーティングを変更し;又は
前記クリティカルな拡張されたネットの及ぶブロック各々の中の唯1つのノードに1以上のバッファを挿入する;
ことを特徴とする請求項3記載のシステム。 - 1以上の基準に従って前記1以上のバッファを挿入するノードを選択する
ことを特徴とする請求項3記載のシステム。 - 前記修正されたヴァンギネケンアルゴリズムが、修正元のヴァンギネケンアルゴリズムによるものとは異なるバッファされるソリューションを生成し;及び
前記修正されたグローバルエリアアルゴリズムが、修正元のグローバルエリアアルゴリズムによるものとは異なるバッファされるソリューションを生成する;
ことを特徴とする請求項3記載のシステム。 - レイアウトドリブンのエリア制限されたデザインを最適化するシステムであって:
デザイン及び前記デザインのレイアウトにアクセスする手段;
前記デザイン及び前記レイアウトの第1のタイミング分析を行う手段;
前記デザイン及び前記レイアウトの更新を行う手段;
前記デザイン及び前記レイアウトの第2のタイミング分析を行う手段であって、第2のタイミング分析は前記デザイン及び前記レイアウトの更新を考慮するところの手段;
前記第2のタイミング分析の1以上の結果が、前記デザインが所定の設計目標全てに合致していることを示す或いは前記第1のタイミング分析の1以上の結果に関する1以上の設計目標に向けて何らの進展も示さない場合に、前記デザイン及び前記レイアウトを分析用に通知する手段;及び
前記第2のタイミング分析の1以上の結果が、前記デザインが1以上の所定の設計目標に合致しないことを示す、及び前記第1のタイミング分析の1以上の結果に対する1以上の設計目標に向けて少なくとも所定量の進展を示す場合に、前記デザイン及び前記レイアウトを更に更新する手段;
を有し、前記デザインは1以上のゲート及び該ゲートに互に接続する1以上のネットを有し、前記レイアウトは前記デザインのチップ領域を区分けするブロックを有し、ブロックの各々は1以上のゲートを有し、前記レイアウトは更にネットのグローバルルーティングを有し;
前記デザイン及び前記レイアウトの更新を行う手段は:
バッファを通じて互に結合された1以上のネットより成るクリティカルな拡張されたネット全てを前記デザインの中で見分けること;
前記クリティカルな拡張されたネットを並べること;
並べた順序で前記クリティカルな拡張されたネットの各々について:
前記クリティカルな拡張されたネット上のシンクに極性を割り当てること;
前記クリティカルな拡張されたネットから全てのバッファを除去すること;
前記クリティカルな拡張されたネットからバッファを除去したことによって、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない又はバッファの挿入に関して唯1つのネットノードしか含まない場合に:
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第1の閾数より少ない場合であって、前記クリティカルな拡張されたネットの及ぶ1以上のブロックが、少なくともいくつかの利用可能な領域を有し且つ1より多くのネットノードを含む場合に:
前記クリティカルな拡張されたネットを修正し、前記クリティカルな拡張されたネットの及ぶブロックの各々が、利用可能な領域を一切有しない或いはバッファの挿入に関して唯1つのネットノードしか有しないようにすること;
タイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;
前記修正されたヴァンギネケンアルゴリズム又は前記修正されたグローバルエリアアルゴリズムに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
前記クリティカルな拡張されたネットが、ネットノードに関する第2の閾数より多く且つネットノードに関する第3の閾数より少ない場合に:
前記クリティカルな拡張されたネットに厳密なムルガイバッファリングアルゴリズムを適用すること;及び
前記正確なムルガイバッファリングアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
それ以外の場合には:
拡張されたネットのルートで正当なソリューションを使用しないタイミング最適化用の修正されたヴァンギネケンアルゴリズム又は領域最小化用の修正されたグローバルエリアアルゴリズムを前記クリティカルな拡張されたネットに適用すること;及び
前記ヴァンギネケンアルゴリズム又は前記グローバルエリアアルゴリズムのアプリケーションに従って、前記クリティカルな拡張されたネットの及ぶ前記レイアウト内のブロックを更新すること;
を行うことを特徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63631904P | 2004-12-14 | 2004-12-14 | |
US11/210,182 US7197732B2 (en) | 2004-12-14 | 2005-08-22 | Layout-driven, area-constrained design optimization |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006178958A true JP2006178958A (ja) | 2006-07-06 |
JP4673203B2 JP4673203B2 (ja) | 2011-04-20 |
Family
ID=36788201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005357161A Expired - Fee Related JP4673203B2 (ja) | 2004-12-14 | 2005-12-12 | レイアウトドリブンの領域の制約された設計の最適化を行う論理プログラム、方法及びシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7197732B2 (ja) |
JP (1) | JP4673203B2 (ja) |
CN (1) | CN100498800C (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8631375B2 (en) | 2012-04-10 | 2014-01-14 | International Business Machines Corporation | Via selection in integrated circuit design |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070283301A1 (en) * | 2006-06-05 | 2007-12-06 | Karandikar Arvind K | System and Method of Eliminating Electrical Violations |
US7657855B1 (en) * | 2007-05-25 | 2010-02-02 | Xilinx, Inc. | Efficient timing graph update for dynamic netlist changes |
US8255196B2 (en) * | 2008-08-25 | 2012-08-28 | Fujitsu Limited | Constructing a replica-based clock tree |
TWI389004B (zh) * | 2009-03-19 | 2013-03-11 | Mstar Semiconductor Inc | 防止壅塞配置方法及裝置 |
US20100257499A1 (en) * | 2009-04-02 | 2010-10-07 | International Business Machines Corporation | Techniques for fast area-efficient incremental physical synthesis |
US8266570B2 (en) * | 2010-01-29 | 2012-09-11 | Synopsys, Inc. | Density-based area recovery in electronic design automation |
WO2017200706A1 (en) * | 2016-05-17 | 2017-11-23 | Google Llc | Systems and methods for automatic determination of layout constraints |
EP3333735B1 (en) * | 2016-12-12 | 2021-07-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and computer program for determining a placement of at least one circuit for a reconfigurable logic device |
CN112733484B (zh) * | 2021-01-22 | 2022-06-14 | 福州大学 | 基于多策略优化的Slew约束下的X结构Steiner树构造方法 |
CN114595903B (zh) * | 2022-05-10 | 2022-07-29 | 安徽智享云科技有限公司 | 一种基于bim的施工现场布局优化系统及方法 |
CN117151018B (zh) * | 2023-10-25 | 2024-03-12 | 深圳鸿芯微纳技术有限公司 | 缓冲器和反相器的布局方法、装置和电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6286128B1 (en) * | 1998-02-11 | 2001-09-04 | Monterey Design Systems, Inc. | Method for design optimization using logical and physical information |
US6591407B1 (en) * | 2000-03-01 | 2003-07-08 | Sequence Design, Inc. | Method and apparatus for interconnect-driven optimization of integrated circuit design |
US7127696B2 (en) * | 2003-12-17 | 2006-10-24 | International Business Machines Corporation | Method and apparatus for generating steiner trees using simultaneous blockage avoidance, delay optimization and design density management |
-
2005
- 2005-08-22 US US11/210,182 patent/US7197732B2/en not_active Expired - Fee Related
- 2005-12-12 JP JP2005357161A patent/JP4673203B2/ja not_active Expired - Fee Related
- 2005-12-14 CN CNB2005101316695A patent/CN100498800C/zh not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
JPN6010053230, R. Murgai, et al, "Layout−driven Timing Optimization by Generalized DeMorgan Transform", In the Proceedings of VLSI Design, 2002, IEEE * |
JPN6010053231, R. Murgai, et al, "Layout−driven Logic Optimization", in Designer’s forum proceedings of IEEE Design, Automation and Test in Europe, 2001 * |
JPN6010053232, R. Murgai, "Layout−driven Area−constrained Timing Optimization by Net Buffering", In the Proceedings of the International Conference on Computer−Aided Design, 2000, pp. 379−386, IEEE * |
JPN6010053233, R. Murgai, "Net Buffering in the Presence of Multiple Timing Views", Published in the Proceedings of VLSI Design, 200401, IEEE * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8631375B2 (en) | 2012-04-10 | 2014-01-14 | International Business Machines Corporation | Via selection in integrated circuit design |
Also Published As
Publication number | Publication date |
---|---|
US20060129960A1 (en) | 2006-06-15 |
CN1790354A (zh) | 2006-06-21 |
CN100498800C (zh) | 2009-06-10 |
JP4673203B2 (ja) | 2011-04-20 |
US7197732B2 (en) | 2007-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4673203B2 (ja) | レイアウトドリブンの領域の制約された設計の最適化を行う論理プログラム、方法及びシステム | |
US8484602B2 (en) | Optimizing integrated circuit design based on cell library | |
US6557145B2 (en) | Method for design optimization using logical and physical information | |
Pan et al. | FastRoute 2.0: A high-quality and efficient global router | |
US7065730B2 (en) | Porosity aware buffered steiner tree construction | |
Cong et al. | Matching-based methods for high-performance clock routing | |
US20050289499A1 (en) | High level synthesis method for semiconductor integrated circuit | |
US7412680B1 (en) | Method and apparatus for performing integrated global routing and buffer insertion | |
US6925628B2 (en) | High-level synthesis method | |
WO2009100237A2 (en) | Optimization of integrated circuit design and library | |
US8930870B2 (en) | Optimized buffer placement based on timing and capacitance assertions | |
US7168057B2 (en) | Targeted optimization of buffer-tree logic | |
Gu et al. | Peak current reduction by simultaneous state replication and re-encoding | |
Moon et al. | Design and allocation of loosely coupled multi-bit flip-flops for power reduction in post-placement optimization | |
Rafiq et al. | Integrated floorplanning with buffer/channel insertion for bus-based microprocessor designs | |
Zhu et al. | Minideviation: an efficient multi-stage bus-aware global router | |
Wu et al. | Antenna avoidance in layer assignment | |
Lin et al. | Critical-trunk-based obstacle-avoiding rectilinear Steiner tree routings and buffer insertion for delay and slack optimization | |
US7949976B2 (en) | Systematic approach for performing cell replacement in a circuit to meet timing requirements | |
Wei et al. | ECO timing optimization with negotiation-based re-routing and logic re-structuring using spare cells | |
Kahng et al. | Boosting: Min-cut placement with improved signal delay | |
Rafiq et al. | Integrated floorplanning with buffer/channel insertion for bus-based designs | |
KR101929440B1 (ko) | 노화현상 및 전압변이를 고려한 클럭 트리 합성 방법 | |
Chen et al. | Buffered routing tree construction under buffer placement blockages | |
Dutt et al. | A search-based bump-and-refit approach to incremental routing for ECO applications in FPGAs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101115 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110111 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110120 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4673203 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140128 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |