JP2005502133A - 集積回路のチップ設計 - Google Patents
集積回路のチップ設計 Download PDFInfo
- Publication number
- JP2005502133A JP2005502133A JP2003525521A JP2003525521A JP2005502133A JP 2005502133 A JP2005502133 A JP 2005502133A JP 2003525521 A JP2003525521 A JP 2003525521A JP 2003525521 A JP2003525521 A JP 2003525521A JP 2005502133 A JP2005502133 A JP 2005502133A
- Authority
- JP
- Japan
- Prior art keywords
- block
- clock
- path
- timing
- delay
- 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
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/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- 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/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- 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
-
- 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
- G06F30/394—Routing
-
- 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
- G06F30/396—Clock trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
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)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【選択図】図2
Description
【0001】
本発明は、集積回路(IC)の設計に関し、さらに詳しくは、1千万オーダのゲートを有するICチップの設計に関するものである。
【背景技術】
【0002】
数百万のゲートチップ設計は、管理かつ予測可能な日程計画で実現されるようにするため階層構造であることを要求する。選択された目標にタイミングを確実に集中させるには、早期の予算化、単純化されたブロックにおける配線及びタイミングモデルの抽出、及び幾つかの軸に沿った適当なマージン(margin:余裕)を要求する。
【0003】
数百万のゲートチップを日程計画どおりに物理的に実行するための挑戦は、消費される全ての仕事から最高の利益を得るため、フロアー(floor)のプランニングとパーティショニングを早期に開始し、設計フローの至るところで適切な抽出と近似を継続することでもある。特に、終了のタイミングを達成するため、プロセスの各ステージは十分なマージンを含んでいなければならず、かつプロジェクトの全体が時期尚早の最適化に多くの時間を費やして遅延してしまうことを避けるため先に進むことに集中しなければならない。設計がテープ切れ(tapeout)で終わるので、幾つかの異なる問題点を同時に解決しなければならず、そして所望の目標に向かって付加されたマージンを徐々に少なくさせることが有益な概念となる。
【0004】
(真の階層)
CADツールの平坦な能力を改善することは、設計全体の階層的な流れに関した要件を不要にする。”真の階層的な”流れは、たった1つの抽出が、それらの論理、タイミング、配線、及びポート配置モデルそれぞれで共有される複製ブロックのインスタンス(実例)を作成することをサポートする。異なるインスタンスがいずれにしても最後には個々のモデルを有しなければならない場合、階層の有利さの殆どが失われてしまうことになる。これは、真に同一のオブジェクトとして用いられた複製ブロックのインスタンスに関する問題であり、この場合、ブロックレベルでなされた様々な設計及び解析タスクが、各インスタンスのために繰り返される必要がない。
【0005】
最終の物理的なDRC/LVS(デザインルールチェック/レイアウト対回路)マスクチェックを除き、どんなツールも平坦なデータの全てを参照するアプローチ及びアルゴリズムを選択することで、真に階層的な設計フローに関する他の重要な特徴がその複雑さを閉じ込める。
【0006】
特に、物理的な配線、寄生的な抽出(parasitic extraction)、及び静的タイミングの解析ステップは、各ブロック内の完全なトランジスタ、ゲート、または多角形のデータベースを参照することなく、トップレベルの実行がインスタンス生成されたブロックの抽出のみを用いるような分離性を必要とする。このパーティショニング及び征服アプローチは、ある1つの実行で参照されるデータの量を真に制限すること、及び仮想メモリの使用及びジョブ実行時間が合理的であることを保証するのに不可欠である。
【0007】
(フロアープランニングとパーティショニング( Floorplanning and Partitioning ))
設計のパーティショニングは、管理可能な単位に区切ることに役立ち、これにより個人の努力を時間的に並行化させる利益を得ることができる。その目標は、トップレベルで、個々のブロックのためと同時性のための両面から仕事の進捗を分割可能にできるようにすることである。平坦なアプローチが時間の集中を与えることに失敗する別の理由は、最終のタイミングまたは配線が1つの大きな実行を介して進行を妨げられる場合、並行して行う仕事から利益を得るための良い方法がないからである。かわりに、パーティショニングをすることは、複数の人々及びライセンスが実際に適用されるべきであることを認めている。階層的な設計における良い目標とは、ブロックとそれらの親の間に”等価な痛み”を追求することであり、その結果、そのブロックサイズは十分に小さくなり、ブロックレベルでの配線とタイミング終了の努力が、親のために要求されたのとほぼ同じ努力となる。
【0008】
幾つかのブロックが非常に大きく、ブロックレベルでの配線とタイミング終了の努力が親よりも非常に困難である場合、全プロジェクトの終了は、これらのブロックをより小さな部分に区切ること、及び接続の複雑性を親へ”押し込む”ことにより助けられるだろう。逆に言えば、配線、抽出、またはタイミングの親ジョブがあまりに大きい場合、ブロックを組み合わせることまたは階層の他のレベルを導入することにより、前記複雑性をカプセル化したり下方に押し込めたりすることは価値がある。階層を使用する利点は、”階層的な要因の再利用”であって、それはブロックインスタンス数のブロック数に対する比となる。設計にかなり依存するのではあるが、うまくパーティショニングするには、唯一のブロックが1つだけのインスタンスを有する一方で、ブロックが何度も複製されるために平均しておよそ3から4までの再利用を模索すべきである。
【0009】
パーティショニングのあらさ(粒度)を選択することにおける別の良い原則は、どんな個々の実行も20時間以上かからないことを保証することである。設計チームが利用可能なコンピュータの速度に基づき、ブロックの切断とパーティショニングに対して、配線、抽出、及びタイミングのための個々のコンピュータジョブを1日未満で完了させる階層的なパーティショニング及び征服アプローチを用いることにより進捗が保証される。完了時刻によって仕事は無関係になってはならない。さらに、多数の理由から、実行を完了するのに数日かかってしまうようなジョブに依存する巨大なプロジェクトにはリスクがある。というのは、とても遅くならないと明白にならない大きな失敗またはプログラムバグに依って、それは決して完了しないからである。個々の実行について一日以内を要求するブロックの抽出及びパーティショニングをすることで、進捗を先に進めること及び価値ある繰り返しをすることは、設計者にとっての解析結果のための時間を含んだ数日/1巡という合理的なサイクルタイムが続行する。
【0010】
所定のツールによるブロックサイズの良い経験則とは、約150Kの大きさのインスタンス、またはおよそ400Kゲート(標準ゲートに等しい2入力否定論理積)を有するブロックを探索することであることを我々は発見した。ツールがこのサイズのブロックを数回サポートすることがたとえできたとしても、1Mゲートの個々のブロックが全ステップのルーチンにおいて長すぎることから、それはプロジェクト全体を少ししか最適化しない。そして、それはあまりに接近しすぎているため、多ギガバイトのメモリを搭載した装置であっても、実メモリまたは仮想メモリの欠乏によりであらゆる点で失敗してしまう。
【0011】
ポート位置の割り当ては、全体のフロアープランニングとパーティショニングにおける部分である。早期の判断が重要なので、強大な概念では、中継器が実際に配置される前にトップレベルのタイミングを許可する線形の”信号速度”値を用いている。良い中継器を後で挿入することを仮定することにより、フロアープランニングの調整は、ワイヤー抵抗において損失することなく、中継器のないワイヤー長の二次式を評価するキャパシタンス効果を進めることができる。所定の技術とワイヤー幅と近傍スペースのため、長いワイヤーの中継器間には最適なスペースがあり、これに対応する理想的な速度の信号はきっちり位置付けられた中継器を備えたワイヤーの下方へ移動する。
【0012】
理想化した速度(例えば、1/2にカットする)を低く出力することにより、設計チームは、非理想的な中継器の位置、配線密集による非理想的な実際のワイヤー経路、及び各分岐に沿って次の中継器の前にあるファン出力の現実からみたときにも十分なマージンがある速度を選択することができる。次に、トップレベルのタイミング解析は、親信号のタイミングで、各ブロックポートの入力の到着時間及び出発時間を組み合わせることができ、そしてこの親信号のタイミングは、それが駆動する各出力ポートとあらゆる入力ポート間にある一対のマンハッタン(x+y)距離上で低出力の信号速度を用いている。この場合、現在の周波数で幾つかのクロック周期をとるので、設計目標に合わせることや全チップを交差させなければならないワイヤーを避けるようにするため、トップレベルのタイミング割り当て及びワイヤー長が決められる。
【0013】
(抽出)
幾つかの設計がアプローチする典型的な策略の一つは、パーティショニングとフロアープランニングの大仕事をした後でさえも、階層構造における親と子間の分離を保存しない解析方法を選択することである。例えば、キャパシタンスの詳細な抽出は、上下のワイヤーを”参照”しようとして、親と子のデータを組み合わせるために企てられるべきではない。そのかわり、もっと良いのは、最悪状況が存在することを仮定した抽出フローの草案を作成することによって単純化させることである。適切な各金属層の好ましい方向における最小のキャパシタンス値のためには、これはワイヤーが無いことを仮定することを意味し、最大のキャパシタンス値のためには、配線ピッチで間隔がつけられたワイヤーの”格子状シート”を仮定することを意味する。金属の固体シートをモデル化することは保守的であるのだが、経路の定められた環境という現実では、最悪の場合、配線ピッチでワイヤーの全密度格子になるので、それは過剰となる。
【0014】
階層構造をあまり効果的にさせない他の典型的な策略は、階層の境界を交差する信号のタイミングを処理することである。どのくらいの負荷が親による信号に適用されるかによって子のタイミングが決定する場合、或いは、出力ポートに到着する前にどのくらいの内部配線がワイヤーに置かれるかによって親のタイミングが決定される場合、分離の質が失われる。
【0015】
我々は全ブロックの全入出力ポートでバッファーを加えることにより、そしてポート位置に非常に近い物理的なバッファーを配置することにより、階層構造の抽出が強まることに気づいた。バッファーが他の理由で不必要なときでも、親と子のタイミングを分離することを可能にすることによって、親と子の結線間での分離はタイミング集中を手助けする無視可能な領域コストとしての価値がある。
【0016】
(相補的タイミング解析)
近年の0.18マイクロまたはさらに微小な技術において、微小ピッチのワイヤーはその幅よりも高くなる。そしてこのことは、ワイヤーの総キャパシタンスの50%を超える状況において、隣の信号へ交差結合することがしばしば存在していることを意味している。同時切り換えの効果を無視することができないが、処理の広がりの範囲を越えて発生することができる全結合の組み合わせの中から正確な決定を捜し求めることは非現実的である。したがって、安全かつ成功するタイミング集中は、1つの”正確な”値を発見することを絶望的に捜すよりも、最小値及び最大値による遅延演算と結びついた保守的な選択を要求する。
【0017】
交差結合を処理するための保守的な選択を行った後でさえ、処理の広がり、誘電体の厚さまたは誘電率におけるバリエーション、オンチップ処理の傾斜、電源供給の電圧降下におけるオンチップのバリエーション、及び抽出とトランジスタ特性における最大誤差など多数の他の要因において、タイミング上の効果に関する量に付加的なマージンを加えることは依然として重要である。関連する最小及び最大キャパシティ値のテーマを続けるとすれば、増加傾向のマージンが名目値との関連で付加することができ、Ceff.mix及びCeff.maxのための良い方程式は次のようになる。
【0018】
【0019】
xの値は所望なものとして選択することができ、典型的には0.05〜0.10の範囲にあって、この場合、導入されたマージンは事実上2xである。その他はっきりと定量化できないが、要因の多くはそれぞれ10%の効果であるので、このマージンは非常に必要とされることに留意されたい。また、同様に増加傾向のマージンが、ワイヤーの厚さと幅における処理のバリエーション、及び自己加熱のせいでオンチップの局所化された温度バリエーション量に寄生するワイヤー抵抗に適用するのに向いている。
【0020】
全結線に関する最小と最大の抵抗及びキャパシタンスは、タイミング解析に.sdfファイルを用いながらバックアノテーション(backannotated:後注釈)されることができる全結線の最小及び最大遅延の計算を我々に許可している。レジスタ(エッジトリガーされたフロップ)型の設計において、進行の終了結果を決定するような全セットアップ及びホールド確認を受信レジスタで想像してください。両者は他の一方の完全な双対なものとして考察されるべきであり、そこでは各セットアップ確認が、発信レジスタ及び組み合わせ的な論理を通って受信レジスタに至る最大遅延を用いて基礎づけられ、そして最小遅延による正確な同一経路がホールド確認のために使用される。
【0021】
さらにこれらの確認のために使用された経路には、発信及び受信レジスタを供給するクロック分配ツリーの部分の間で、前の位置に戻っていくクロックツリーを含むことが必要である。このため、通常のセットアップ及びホールド確認は、全体的なゆがみの代わりに局所的なゆがみを強調しながらクロック分配ツリーの質を実証し、そして”有用なゆがみ”を使用する可能性を許可し、悪いゆがみを罰しないのと同様に、そこではとにかく影響を与えたセットアップまたはホールド確認にどんな相違点も作らない。
【0022】
クロックツリー解析に対するこの厳格かつ安全なアプローチは、中心クロックを分配することにおいてまさにチップの切り換えキャタピタンスの1/3を時には拡張する平坦部分が短いごく普通の解決法の過剰さよりも、制限された平均的なファン出力での高いクロックツリーを用いたかなり低パワーのクロック分配スキーマを許可する。
【0023】
選択され追加されたマージンの量に関する違反をホールド確認が示す場所に、遅延要素を挿入することができる。最小及び最大の遅延計算に関する保守的な扱いのために、非常に多くのセットアップ経路の質を下げることなく、ホールド違反を固定する正しい方法で遅延要素を追加することが、ときには技巧的なバランス行動となる。有益な概念は、(最大遅延計算の下)最大セットアップスラック(あそび)の状態でアップストリームの位置のために(最小遅延計算を用いながら)ホールド違反を有する各受信レジスタ入力の円錐体ファンによって選択されたネットを探索し、かつそのネットに遅延バッファーを挿入するスクリプトを書くことである。ときにこれは、ホールドフィックス遅延要素が発信レジスタの出力にも受信レジスタの入力にも適合しない位置に挿入されなければならないことを意味し、そこは極度に単純化されたホールドフィックスアルゴリズムがそれらを普通に配置した場所である。
【0024】
タイミング終結の後半段階において、ブロックレベルで静的なタイミング解析を実行した実際の結果が、ブロックのモデルを生成するために使用されることができ、それはトップレベルの静的タイミング解析実行におけるオブジェクトとして用いられる。もちろん、複製されたインスタンスは、ブロック型の単一のタイミングモデルを必要とするだけであり、ブロックのタイミング解析が、親の経路に横たわるインスタンス固有のワイヤーによって複雑にされないという選択と一致している。
【0025】
さらに、前記経路が入力ポートから受信レジスタへつながり、最後の発信レジスタから出力ポートまでつながる経路が、最小遅延及び最大遅延の両方を有することから、遅延要素の円弧の両タイプは親に使用されることによって構成されたモデルに表されることが必要である。どんな商業的な流れもこれを自動的に行うのだが、内部のスクリプトはブロックレベルのモデルにこれらの円弧を組み合わせるために書かれ、その結果、親レベルでのタイミング解析がすべてのセットアップ及びホールド確認のために同一の二重性を使用することができる。
【0026】
(クロージャー: Closure )
意味あるマージンを付加することは、各ブロックタイプ及びトップレベルのためにほんの少数の繰り返しで収束する設計を許可している。あらゆるセットアップ及びホールド処理での両方に関して十分に相補的な確認による保守的な設計スタイルをとることによって、シリコンが回復した後にのみ発見される説明不可能なカップリングまたは騒音の問題によってひどい目にあわされるリスクというより、むしろプロセス内には成功が築かれる。ここで述べられた保守的な遅延計算の測定法は、期待してもよい上昇傾向があることを意味する。
【0027】
最悪ケース値での遅延計算を基礎にして選択することにより、典型的な処理の広がりの殆どの部分が、最悪ケースモデルによって予測されたタイミングの上方で実際に生産されるだろう。くわえて、方程式(1)及び(2)における要因xによって組み入れられた特別な増加傾向にあるタイミングマージンは、テープアウト状態の”保証された”目標と、環境的な状況にわたって終了されパッケージされた部分の試験で検証された実際に到達したクロック周波数との間にある付加的な上昇傾向の要因となっている。
【0028】
(詳細な説明)
図1は、ICのレイアウトにおける従来の手順に従ったステップを示している。これらのステップは、フロアープランニング110、ブロック統合120、ブロックの初期配置130、ゲートサイジング(Gate-Sizing)とツリー構築140、配線150、及び寄生的抽出とタイミング解析160を含んでいる。
【0029】
タイミング解析を完了する前に、階層的設計において親と子の両方の要素設計を完了する必要性が認識されるので、タイミング解析はプロセスの終わりで実行されるのが普通である。例えば、親要素は子ブロックにおけるワイヤーの負荷(ファン出力)を見ないし、親要素と子ブロック出力との間の結合は、子ブロックの内部タイミングを変化させることができる。
【0030】
タイミング解析はタイミング問題をしばしば露呈し、そしてこれらの問題への解決のために、様々なブロックの入力または出力へバッファーを挿入することがよく行われる。このようなバッファーの挿入は、バッファー挿入、再配線、及びタイミング解析の付加的な繰り返しを導くワイヤーの密集のせいで、ワイヤーの再配線及びさらなるタイミング解析を要求するのが典型的である。それぞれの繰り返しは、より多くのバッファー挿入、ワイヤーの付加的な再配線、さらなるタイミング解析を要求する。
【0031】
本発明に従って、タイミング解析が実行される前に、バッファーが全入力ブロック及び全出力ブロックに挿入される。図1の手順における要素と同一の要素には同一の番号を付している図2のレイアウト手順に示すように、おそらく、初期配置130ステップの後、且つゲートサイジングとツリー構築ステップ140の前に、バッファーが挿入されるのが好ましい。
【0032】
さらに一般的には、図3に示すように、ステップ320で生じる階層ブロックへネットリストを分割した後であって、かつステップ360で生じるタイミング解析実行前であるレイアウト処理手順の位置で、ICチップ設計における全入力ブロック及び全出力ブロックにバッファーが挿入される。バッファーは必要とされるかもしれないし、そうでないかもしれない。それにもかかわらず、バッファーは挿入される。結果として、全ポート上のファン入力が1に制限され、そして親要素によって、内部フィードバック経路が出力ポートに配置されたブロックから切り離される。さらに、親のタイミング解析によって、他には見られるだけのポートに対するワイヤータイミング効果をみるためにブロックのタイミング解析が強制される。
【0033】
親要素と子ブロックにおいてワイヤーを分離することにより、タイミング解析問題がより明確に切り離されることになり、要求されるタイミングの繰り返しが僅かなものとなる。不必要なバッファーの領域コストは無視してよい。
【0034】
集積回路の設計における改善のための別の領域は、クロック分配、特に全レジスタに対するクロック信号の分配にある。クロックのゆがみ(skew)は、発信及び受信レジスタの組でのクロック到着時刻の違いとなる。同調設計の場合、できるだけ少ないゆがみになるよう目標を設定するのが典型的である。一般に、受信レジスタが発信レジスタよりも早い到着クロック信号を有する可能性を説明するために、クロック周期は延長(性能の低下)されなければならないことから、ゆがみは悪いものとしてみなされる。しかしながら、制限された状況の下、クリティカルパスの発信レジスタが受信レジスタよりも早い到着クロックを有する場合には、ゆがみは有利なものとなり得ることが知られている。なぜならば、ゆがみは伝播のための時間が基本クロック周期よりも多い経路を与えるためである。
【0035】
論理とレジスタの集合が一緒に結合されるとき、クロックのゆがみに関する同じ原理がより高い階層レベルで適用される。そのグループ分けは幾十万オブジェクトに対するほんの僅かなオブジェクトというレベルである。図4は2つのブロック(AとB)を示し、そこではAからBへ移動するデータ信号C、及びBからCへ移動する他のデータ信号Dがある。両ブロックは親レベルからのクロックを受信し、内部レジスタへそのクロックを分配する。一般性を失うことなく、Aで受信されたクロックよりも遅いクロックをBに与えるためにクロック分配が調整されることが示されるケースを想定されたい。この場合、2つのクロック到着時間のゆがみが、D信号の効果的な経路遅延を増加させ、かつC信号の効果的な経路遅延から減じる。CとDが他の等しい経路長を有する場合、ゆがみは不利益となる。しかし、(ブロックの内部遅延と、ブロック間結合の遅延との両方を総計した)Cの経路遅延が、Dの経路遅延よりも長く始まる状況では、前記ゆがみは実行性能を改善する。
【0036】
階層設計において、まずブロックが構築されタイミングが解析される。次に、遅延クロックに調整された親レベルのクロック分配が、最長経路の受信ブロックへ向かう。各ブロック組の間に追加された有益な遅延の量は、遅延クロックブロックに向かって移動する最長経路間の相違の1/2である。そして、その最長経路は前記組の他のブロックに向かって遅延クロックから離れて移動する。したがって、クロック遅延が追加された後、前記データ経路は同じ最小周期(最大チップクロック周波数)を有するだろう。
【0037】
前述したように、別の設計技術は、1つの”正確な”値を発見することを絶望的に捜すよりも、最小値及び最大値による遅延演算と結びつけることをする。このアプローチの一例は、交差結合キャパシタンスを関連した”効果的な”キャパシタンスに変換することである。図5は、解析の下、反対または同一方向の何れかにおいて、犠牲信号として切り換わる攻撃の可能性を示している。反対方向の速い攻撃が実際には名目的な交差結合の3倍以上の効果的なキャパシタンスを有する可能性があるのだが、効果的な交差結合のキャパシタンスを名目的なキャパシタンスの2倍に設定することは、合理的な近似であり、それは切り換えの効果を乗じたキャパシタンスを無視することよりもさらに保守的でもある。同様に、同一方向の速い攻撃を、効果的な結合キャパシタンスが実際には無視されるゆっくりとした犠牲変換の効果の手助けになるようにすることは可能だが、効果的なキャパシタンス値を最小の零に設定することが合理的である。最大及び最小のキャパシタンス両方を使用するタイミング確認を相補的に完了させるときに留意すると、最小キャパシタンスをより小さくすることには実際には悲観が伴う。全交差結合キャパシタンスに対してこれらの係数を適用することの単純性と保守性は、図5からみて少しだけ悪い効果のキャパシタンス倍数を攻撃が有する可能性とともに、その多くが重なり合う切り換えを実際には有しないという現実外にバランスさせている。より正確で詳細な騒音確認ツールが最終ステップとして使用することができる。
【0038】
他の設計技術はタイミング経路の解析に関係する。ゲートレベルで解析されるべきタイミング経路のために、正確な解析がネットを通った経路をトレースしなければならず、そのネットは、受信レジスタの制約と比較される最悪の状況を生成するために、クロックとデータラインに沿ったネットの遅延アノテーション(注釈)を拡大及び縮小する。セットアップ制約のために、最大遅延が受信レジスタへのクロック経路として使用される。ホールド制約のために、最小遅延が発信レジスタへのクロック経路として使用され、そして2つのレジスタ間のデータ経路のために、最大遅延が受信レジスタ(図6)へのクロック経路のために使用される。これは、交差結合キャパシタンスがあまり厳しくない設計の0.25umの前では完全に行われることは稀ではあるが、いたるところで名目の遅延を使用するよりもより厳密である。しかし、単独のみならず、同時に最大及び最小を使用することが、正確で厳密なアプローチとして知られており、幾つかのツールが平坦な設計のためにそれをサポートしている。
【0039】
モデル抽出は階層的な方法論を要求する。その抽出(図7を参照)は、全体領域の組み合わせ的な論理及びレジスタ(例えば、幾十万のゲート)を、ブロック内部の詳細をそのままにするブロックモデル(これが”STAMP”モデルと称されるように表わすための商業用フォーマット)にカプセル化し、そして、各入力ポートで開始する経路を、セットアップ及びホールド拘束をクロックポートに表現するポートからのタイミング円弧に置き換える。同様に、出力ポートに通じる各経路は、クロック→出力(clk→q)拘束を表す円弧に置き換えられる。図7の先行技術の場合、これら円弧による経路の置き換えは、名目の(または典型的な)モデルだけを使用して行われ、それはブロックモデルが図6に示すより厳格なセットアップ及びホールド確認を行うことを試みる親実行においてインスタンスとして使用されることを許可していない。
【0040】
本発明は、階層的な境界にわたって厳格な最大/最小確認を提供するためのブロック抽出方法を向上することに存在する困難性に取り組んでいる。それは、商業ツールによってこれまでに選択された、不正確な幾つかのアプローチで示されるような自明なものではない。これらアプローチの困難さの1つは、それが単に、遅延に関する単一のアノテーション(注釈)を持つネットを通る最大及び最小経路をトレースする問題でないことにある。図8は、ブロックのクロックポートと内部レジスタとの間の経路が、入力及び出力拘束の生成のために異なった遅延でアノテーションされたネットを有する必要があるという状況を示し、そしてそのときでさえ、両者は親レベルでホールド拘束のみを確認するために使用される。これは、ネットアノテーションのどんな単一集合も、親のセットアップ/ホールド確認のために必要とされる要求経路を同時にトレースする間は十分でないことを示している。先行技術における他の共通した誤りのステップが図9に示されている。図9には、2つの分離経路のトレースの動作が実行されていて、その1つは、最大遅延と、最小遅延にアノテーションされたネットを用いる他の遅延とを備えたアノテーションネットに基づいている。しかしながら、このアプローチは、図6によって要求されるようなデータ及びクロック経路上で分離した最大及び最小のものを組み合わせていない理由で、不十分である。
【0041】
図10は、正確な確認のために実際に要求される組み合わせを示している。それは、経路が2つの異なるモデルを作り出すために分離して解析される必要があって、その1つは親のセットアップ確認のために使用され、そして他の1つは親のホールド確認のために使用されることを示している。さらに、実際には、これらの経路をトレース実行するための入力として必要な異なる4つのネット遅延の組み合わせがある。
【0042】
【0043】
商業ツールはモデル抽出においてアノテーションされた複数の値を使用することをサポートしていないので、本発明では、テーブル上部においてネット遅延の異なる4つの組み合わせを作り出し、そして図10に示すような経路トレース実行にこれらをアノテーションするための前処理を行うのにまず必要である。前記経路トレースは、ネット遅延がどのように前処理されるかを知っておく必要はなく、それゆえにデータが名目上のキャタピタンスと異なって前処理されることを”知っている”静的なタイミングツールなしに、正確に作業する。本発明の実施では、分離した4つの経路トレース実行からの円弧を2つの分離モデルに再結合させることが必要であり、1つはセットアップ拘束(図11を参照)を規定するために親実行で使用され、そして他の1つはホールド拘束(図12を参照)を見つける親実行のためのものである。2つの異なるモデルの使用は、それ自身で固有なものではないが、2つの分離モデルへ異なる4つの経路トレース実行からの円弧を組み合わせることが、本発明の特徴点である。
【0044】
トランジスタレベルのシミュレーションを実行することはメモリと実行時間の両方において高価であるという単純な理由のために、VLSI設計では、モデル生成が常に考慮される。個々のゲートの上どんな付加的な階層レベルも有していない平坦な設計のためでさえ、論理ゲート自身はタイミングモデルによって解析の間中表示される。先行技術が、ある動作状況に基づくモデルの相違のために提供され、その結果、異なるモデルが、最良ケースまたは最悪ケースのゲート製造の下での動作をシミュレートするために用いられる。例えば、そのような状況のモデルがそのような状況下ですべての拘束確認にとって適切であるかを考察する。さらに本発明は、親における特定の拘束確認のために必要とされる正しいモデルを得るために、確認されるべき拘束のタイプによってモデルを区別し、かつ、異なるモデルの円弧を組み合わせることによってモデルを作り出す。
【0045】
このように、本発明は、アノテーションデータを前処理することと、2つの出力モデルに対して異なった経路トレースを実行することで円弧の組み合わせ的な前処理することの両方を含んでいる。この前処理は、アノテーションの4つの集合を生成し、そのうちの1つはすべて最小のアノテーション、そのうちの1つはすべて最大のアノテーション、そのうちの1つはデータネットに最小のアノテーションでクロックネットに最大のアノテーション、及び最後の1つはクロックネットに最小のアノテーションでデータネットに最大のアノテーションを備えている。モデルはこれら4つのアノテーション集合のそれぞれのために生成され、そして個々の経路トレース実行のために静的なタイミング解析ツールへロードされる。
【0046】
次に、結果として生じる円弧は、拘束タイプの1つ(ホールドまたはセットアップのいずれか)のみに適当な最終モデルを生成するために再結合され、最小/最大アノテーションの所望の目標をカプセル化する。親ホールド拘束確認のために使用されるモデルのためには、図12に示すように、クロック入力からデータ出力への遅延円弧は、すべて最小モデルから引き出され、入力とクロック間のホールド拘束は、最小−データ−最大−クロックモデルから引き出される。同様に、セットアップ拘束確認に使用されるモデルのために、図11に示すように、クロックから出力までの遅延円弧は、すべて最大モデルから引き出され、そしてセットアップ拘束円弧は、最小−クロック−最大−データモデルから引き出される。これら2つのモデルは、それら拘束タイプに固有であるが、結果として生じる円弧は、トップレベルの経路における抽出部分の正確な表示、及び解析方法論の仮定を作り出すために正しく結合する。この結果、階層的なアプローチは、適当な最小/最大データを同時に考慮する厳密な平坦化実行として、レジスタの組のすべての組み合わせのために正確で同一な報告を作り出す。
【0047】
拘束タイプによるモデルの相違は、タイミング解析の間、モデル特性での細かな制御を許可し、その結果が適用される技術判断のためにより強固な基礎を提供する。厳密な最小/最大確認は、タイミングの正確性を保証するために重要であり、同一ネットに関する最小値と最大値間の大きな相違を導く交差結合キャパシタンスの高比率を有する位相幾何プロセスによく関係している。
【0048】
厳密な最小/最大確認は、データと同様なクロックツリー結合の両方を取り囲んでいる。それはセットアップ及びホールド確認が、全体のゆがみのかわりに局所的なゆがみを強調するクロックの分配ツリーの質を検査することを許可し、かつ、とにかくセットアップまたはホールド確認にどんな相違もなさない悪いゆがみを罰しないのと同様に、”有益なゆがみ”を用いる可能性を許可している。さらに、クロックツリー解析に対するこの厳格かつ安全なアプローチは、中心クロックを分配することにおいてまさにチップの切り換えキャタピタンスの1/3を時には拡張する平坦部分が短いごく普通の解決法の過剰さよりも、制限された平均的なファン出力での高いクロックツリーを用いたかなり低パワーのクロック分配スキーマを許可する。
【0049】
また、クロックの完全性は、付加的なマージンが追加されることを必要とすることが少ないことを意味する。多くの先行アプローチの場合、階層的な境界を行き来する信号にとって十分に正確な拘束集合をプロセスが確認していないので、むしろ設計者は、正確な円弧を実際に考慮しない最大誤差の原因となるマージンを追加することによってその問題を処理していた。本発明は、必要とされるマージンを少なくさせ、これにより潜在的な設計の実行性能を増加させる。さらに、ポートそれぞれの特性のために、拘束と固有で安全なマージンとの関係を有するモデルを生成することによって、任意の固有ポートで拘束のための安全なマージンを犠牲にすることなく、階層の高いレベルですべての安全なマージンを減少させることができる。これは、より高いレベルで固定されることを要求する問題として報告される失敗のタイミング経路を少なくさせることにつながり、タイミング終了の速度を速める。
【0050】
物理的な実行の早い段階では、(前述した線形の信号速度によって判断されるような)内部のブロックタイミングとトップレベルのタイミングとの両方のために、高い目標を設定するのが最善である。設計がテープ切れに向かって進行し、トップレベルのタイミングが、経路が定められかつタイミングされたブロックから分配された実際のタイミングモデルと置き換えられるとき、そのゴールは終局のテープ切れの目標に向かって緩和することができる。ゲートサイジングの変更、繰り返しの挿入、及びホールド要素の挿入全ては、ルーチン化された設計における”崩壊”であることから、それらは近隣のオブジェクト(セルインスタンス)またはワイヤー上でタイミング効果を有することができる。
【0051】
固定/時間変更された繰り返しによってますます少ないネット及びオブジェクトに”接触する”ため、そのオブジェクトは探索による収束を保証している。良いゴールとは、接触するネットの数が各繰り返し用の4から8の係数によって減じられることを確認することである。各繰り返しで探索されるゴールのほんのわずかな減少が、収束を非常に手助けしている。
【0052】
【0053】
実際には、収束はこれら3つの軸に沿って同時に進行する。より厳密な基準に基づいた問題を固定するために、早い経路が探索によって”作動”を多少行うのだが、このアプローチは、隣接したワイヤーまたはオブジェクトが衝突するとき、再作動されなければならない項目の数を少なくする。例えば、許可しうるアンテナチャージ比率の違反(金属ワイヤー領域と、これらが接続する多結晶シリコン領域の間の比率を制限することによって生まれるルールの助け)は容易に固定されるが、これらは接触経路を固定するので、その固定はセットアップまたはホールド経路をしっかりと分断することができる。よって、収束は、要求された目標に向かうすべてのゴール上でバー(bar)を同時にかつ増加的に低くすることによって改善される。
【0054】
当業者にとって明白なように、多数の修正が本発明において行われることができる。
【図面の簡単な説明】
【0055】
本発明に関するこれら及び他のオブジェクト、特徴及び利点は、後述する本発明の詳細な説明から乖離することなく次の図面を参照することでさらに容易になるだろう。
【図1】集積回路(IC)のレイアウトにおける従来の手順に従ったステップを示すブロック図である。
【図2】本発明に従ったICのレイアウトにおけるステップを示すブロック図である。
【図3】本発明に従ったICのレイアウトをさらに示すブロック図である。
【図4】クロック分配に関する本発明による改善を理解することに有用なブロック図である。
【図5】交差結合キャパシタンスを見積もることに関する本発明の改善を理解することに有用なブロック図である。
【図6】時間遅延を見積もることに関する本発明の改善を理解することに有用なブロック図である。
【図7】タイミング遅延を見積もる先行技術を示す図の一部である。
【図8】タイミング遅延を見積もることに関する実例の問題を示すブロック図である。
【図9】タイミング遅延を見積もる典型的な先行アプローチを示すブロック図の一部である。
【図10】タイミング遅延を見積もることに関する本発明の改善を示すブロック図の一部である。
【図11】タイミング遅延を見積もることに関する本発明のアプローチを示すブロック図である。
【図12】タイミング遅延を見積もることに関する本発明のアプローチを示すブロック図である。
【図13】本発明の様々な設計技術が最終製品を生産することにいかに集中するかを理解するのに有用な図である。
Claims (9)
- ネットリストを、各々が少なくとも1つの入力及び1つの出力を有する階層ブロックに分割するステップと、
任意のタイミング解析を行う前に、前記ブロック入力を分離するため全ブロック入力にバッファーを挿入するステップと、
任意のタイミング解析を行う前に、前記ブロック出力を分離するため全ブロック出力にバッファーを挿入するステップとを有するVLSIチップ設計をルーチン化する方法。 - ネットリストを階層ブロックに分割するステップと、
各ブロック組間で移動する信号のタイミングを解析するステップと、
それらの間の最長経路を有するブロック一組における受信ブロックに提供されたクロック信号を遅延するためにクロック分配を調整するステップとを有するVLSIチップ設計をルーチン化する方法。 - フロアープランニングステップと、
ブロックの統合ステップと、
ブロックの初期配置ステップと、
ゲートサイジング及びクロックツリー構築ステップと、
配線ステップと、
寄生的抽出及びタイミング解析ステップと、
前記ゲートサイジング及びクロックツリー構築ステップの前に実行される、前記ブロック入力を隔離するため全てのブロック入力にバッファーを挿入するステップとを含むVLSIチップ設計をルーチン化する方法。 - 前記ゲートサイジング及びクロックツリー構築ステップ実行の前に、全てのブロック出力にバッファーを挿入するステップとをさらに含むことを特徴とする請求項3に記載の方法。
- 第1のブロックと第2のブロックに分配されたクロック信号のタイミングを調整する方法であって、
データ信号が前記第1のブロックから前記第2のブロックまでの第1の経路を経由して移動するとともに、データ信号が前記第2のブロックから前記第1のブロックまでの第2の経路を経由して移動し、かつ、前記第1の経路を移動する時間が前記第2の経路を移動する時間よりも長く、
前記第1の経路と前記第2の経路間の相違の関数量により、前記第1のブロックへ供給されるクロック信号に関係した前記第2のブロックに供給されるクロック信号を遅延するステップを含むことを特徴とする方法。 - 前記クロック信号は、前記第1の経路と前記第2の経路間の相違の1/2の関数量により遅延されることを特徴とする請求項5に記載の方法。
- 前記クロックは、前記第1の経路を移動する時間と、前記第2の経路を移動する時間との間の相違の関数量により遅延されることを特徴とする請求項5に記載の方法。
- 前記クロックは、前記第1の経路を移動する時間と、前記第2の経路を移動する時間との間の相違の1/2の関数量により遅延されることを特徴とする請求項5に記載の方法。
- すべて最小のアノテーション(注釈)を備えた第1の組、すべて最大のアノテーションを備えた第2の組、データ結線で最小のアノテーションであるがクロック結線で最大のアノテーションを備えた第3の組、データ結線で最大のアノテーションであるがクロック結線で最小のアノテーションを備えた第4の組という、4つのアノテーションの組を生成するステップと、
親ホールドの拘束の確認に用いられるモデルのために、クロック入力からデータ出力までの遅延円弧を前記第1の組より引き出すとともに、入力とクロック入力間のホールド拘束を前記第3の組より引き出すステップと、
セットアップの拘束の確認に用いられるモデルのために、クロック入力からデータ出力までの遅延円弧を前記第2の組より引き出すとともに、前記第4の組よりセットアップ拘束円弧を引き出すステップを含むタイミング確認のためのモデル開発方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31599501P | 2001-08-29 | 2001-08-29 | |
PCT/US2002/027921 WO2003021499A1 (en) | 2001-08-29 | 2002-08-29 | Integrated circuit chip design |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005502133A true JP2005502133A (ja) | 2005-01-20 |
Family
ID=23227000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003525521A Pending JP2005502133A (ja) | 2001-08-29 | 2002-08-29 | 集積回路のチップ設計 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7243323B2 (ja) |
EP (1) | EP1449126A4 (ja) |
JP (1) | JP2005502133A (ja) |
CN (1) | CN100378734C (ja) |
WO (1) | WO2003021499A1 (ja) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6810505B2 (en) * | 2002-07-10 | 2004-10-26 | Lsi Logic Corporation | Integrated circuit design flow with capacitive margin |
US6910194B2 (en) * | 2002-07-19 | 2005-06-21 | Agilent Technologies, Inc. | Systems and methods for timing a linear data path element during signal-timing verification of an integrated circuit design |
JP4108418B2 (ja) * | 2002-09-10 | 2008-06-25 | 松下電器産業株式会社 | 半導体集積回路の設計方法 |
US7191416B2 (en) * | 2003-01-27 | 2007-03-13 | Stmicroelectronics Limited | System and method for modifying integrated circuit hold times |
JP2004326654A (ja) * | 2003-04-28 | 2004-11-18 | Renesas Technology Corp | 配線構造決定方法 |
US7096442B2 (en) | 2003-07-10 | 2006-08-22 | Lsi Logic Corporation | Optimizing IC clock structures by minimizing clock uncertainty |
US20050050485A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | Systems and methods for identifying data sources associated with a circuit design |
US7058908B2 (en) * | 2003-08-25 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Systems and methods utilizing fast analysis information during detailed analysis of a circuit design |
US20050050492A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | Systems and methods for performing circuit analysis on a circuit design |
US7086019B2 (en) | 2003-08-25 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | Systems and methods for determining activity factors of a circuit design |
US7047507B2 (en) * | 2003-08-25 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | System and method for determining wire capacitance for a VLSI circuit |
US7076752B2 (en) * | 2003-08-25 | 2006-07-11 | Hewlett-Packard Development Company, L.P. | System and method for determining unmatched design elements in a computer-automated design |
US20050050483A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | System and method analyzing design elements in computer aided design tools |
US20050050506A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | System and method for determining connectivity of nets in a hierarchical circuit design |
US20050050503A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | Systems and methods for establishing data model consistency of computer aided design tools |
US7062727B2 (en) | 2003-08-25 | 2006-06-13 | Hewlett-Packard Development Company, L.P. | Computer aided design systems and methods with reduced memory utilization |
US7032206B2 (en) | 2003-08-25 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | System and method for iteratively traversing a hierarchical circuit design |
US20050050482A1 (en) * | 2003-08-25 | 2005-03-03 | Keller S. Brandon | System and method for determining applicable configuration information for use in analysis of a computer aided design |
US7039891B2 (en) * | 2003-08-27 | 2006-05-02 | Lsi Logic Corporation | Method of clock driven cell placement and clock tree synthesis for integrated circuit design |
CN100430947C (zh) * | 2003-09-29 | 2008-11-05 | 北京中电华大电子设计有限责任公司 | 基于边的倒序树扫描线算法优化层次版图验证方法 |
US7308664B1 (en) * | 2004-02-09 | 2007-12-11 | Altera Corporation | Method and apparatus for utilizing long-path and short-path timing constraints in an electronic-design-automation tool for routing |
US7117472B2 (en) * | 2004-07-09 | 2006-10-03 | Lsi Logic Corporation | Placement of a clock signal supply network during design of integrated circuits |
US7526743B2 (en) * | 2004-07-23 | 2009-04-28 | International Business Machines Corporation | Method for routing data paths in a semiconductor chip with a plurality of layers |
US7810061B2 (en) * | 2004-09-17 | 2010-10-05 | Cadence Design Systems, Inc. | Method and system for creating a useful skew for an electronic circuit |
US7458045B2 (en) * | 2004-10-29 | 2008-11-25 | Synopsys, Inc. | Silicon tolerance specification using shapes as design intent markers |
US7512918B2 (en) * | 2005-08-17 | 2009-03-31 | Lsi Corporation | Multimode delay analysis for simplifying integrated circuit design timing models |
US7424693B2 (en) * | 2005-10-20 | 2008-09-09 | Agere Systems Inc. | Methods for measurement and prediction of hold-time and exceeding hold time limits due to cells with tied input pins |
US7853911B1 (en) * | 2005-11-04 | 2010-12-14 | Altera Corporation | Method and apparatus for performing path-level skew optimization and analysis for a logic design |
US7464356B2 (en) * | 2005-12-15 | 2008-12-09 | International Business Machines Corporation | Method and apparatus for diffusion based cell placement migration |
US20070162880A1 (en) * | 2006-01-12 | 2007-07-12 | Honeywell International Inc. | Single event transient immune antenna diode circuit |
US7506293B2 (en) * | 2006-03-22 | 2009-03-17 | Synopsys, Inc. | Characterizing sequential cells using interdependent setup and hold times, and utilizing the sequential cell characterizations in static timing analysis |
US8390354B2 (en) * | 2006-05-17 | 2013-03-05 | Freescale Semiconductor, Inc. | Delay configurable device and methods thereof |
CN100405379C (zh) * | 2006-06-15 | 2008-07-23 | 清华大学 | 一个快速的集成电路可布性分析方法 |
US8302042B2 (en) * | 2006-07-24 | 2012-10-30 | Oasys Design Systems | Generating a convergent circuit design from a functional description using entities having access to the functional description and to physical design information |
US7926011B1 (en) * | 2007-01-10 | 2011-04-12 | Cadence Design Systems, Inc. | System and method of generating hierarchical block-level timing constraints from chip-level timing constraints |
US8640066B1 (en) * | 2007-01-10 | 2014-01-28 | Cadence Design Systems, Inc. | Multi-phase models for timing closure of integrated circuit designs |
US8365113B1 (en) * | 2007-01-10 | 2013-01-29 | Cadence Design Systems, Inc. | Flow methodology for single pass parallel hierarchical timing closure of integrated circuit designs |
US8977995B1 (en) * | 2007-01-10 | 2015-03-10 | Cadence Design Systems, Inc. | Timing budgeting of nested partitions for hierarchical integrated circuit designs |
US7984405B2 (en) * | 2007-01-10 | 2011-07-19 | Synopsys, Inc. | Method and apparatus for determining the timing of an integrated circuit design |
US7865850B1 (en) | 2007-02-28 | 2011-01-04 | Cadence Design Systems, Inc. | Method and apparatus for substrate noise aware floor planning for integrated circuit design |
US8091058B2 (en) * | 2008-11-26 | 2012-01-03 | Oracle America, Inc. | Methods, computer-readable media and computer-implemented tools for pre-route repeater insertion |
US7987440B2 (en) * | 2009-01-12 | 2011-07-26 | International Business Machines Corporation | Method and system for efficient validation of clock skews during hierarchical static timing analysis |
US8307315B2 (en) * | 2009-01-30 | 2012-11-06 | Synopsys, Inc. | Methods and apparatuses for circuit design and optimization |
US8191028B1 (en) * | 2009-04-07 | 2012-05-29 | Altera Corporation | Methods and systems for improving a maximum operating frequency of an integrated circuit during a route phase |
US8712751B2 (en) * | 2009-05-08 | 2014-04-29 | Qualcomm Incorporated | System and method of verification of analog circuits |
CN102169515B (zh) * | 2010-02-26 | 2014-04-16 | 国际商业机器公司 | 一种专用集成电路中时钟树延迟时间的估计方法和系统 |
US9384309B2 (en) * | 2010-05-20 | 2016-07-05 | Synopsys, Inc. | Global timing modeling within a local context |
US8316333B2 (en) * | 2010-07-22 | 2012-11-20 | International Business Machines Corporation | Implementing timing pessimism reduction for parallel clock trees |
US8271923B2 (en) | 2010-07-22 | 2012-09-18 | International Business Machines Corporation | Implementing forward tracing to reduce pessimism in static timing of logic blocks laid out in parallel structures on an integrated circuit chip |
US8453090B2 (en) | 2010-10-21 | 2013-05-28 | Global Unichip Corp. | System and method for optimizing logic timing |
US8356264B2 (en) * | 2010-10-28 | 2013-01-15 | International Business Machines Corporation | Implementing enhanced clock tree distributions to decouple across N-level hierarchical entities |
CN101968826B (zh) * | 2010-11-23 | 2013-03-06 | 长沙景嘉微电子股份有限公司 | 一种自动建立时序库的工具 |
CN102479277B (zh) * | 2010-11-29 | 2014-06-11 | 国际商业机器公司 | 在芯片设计中改善时序收敛的方法和系统 |
US20120144353A1 (en) * | 2010-12-06 | 2012-06-07 | Kamdar Chetan C | Method for Implementing Timing Point Engineering Change Orders in an Integrated Circuit Design Flow |
US9542512B1 (en) * | 2012-01-17 | 2017-01-10 | Cadence Design Systems, Inc. | System and method for automatic correction of flight time skew of timing signals in simulated source synchronous interface operation |
JP2014026406A (ja) | 2012-07-26 | 2014-02-06 | International Business Maschines Corporation | Ic基板上にセルを配置して配線を最適化した論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム |
US9361415B1 (en) | 2014-08-05 | 2016-06-07 | Cadence Design Systems, Inc. | Method, system, and computer program product for implementing a multi-fabric electronic design spanning across multiple design fabrics |
US9436796B2 (en) * | 2015-02-11 | 2016-09-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and apparatus for determining common node logical connectivity |
US9881119B1 (en) | 2015-06-29 | 2018-01-30 | Cadence Design Systems, Inc. | Methods, systems, and computer program product for constructing a simulation schematic of an electronic design across multiple design fabrics |
US9881120B1 (en) | 2015-09-30 | 2018-01-30 | Cadence Design Systems, Inc. | Method, system, and computer program product for implementing a multi-fabric mixed-signal design spanning across multiple design fabrics with electrical and thermal analysis awareness |
US9836566B2 (en) | 2015-11-02 | 2017-12-05 | International Business Machines Corporation | Hybrid out of context hierarchical design flow for hierarchical timing convergence of integrated circuits for out of context signoff analysis |
US9934354B1 (en) | 2016-06-30 | 2018-04-03 | Cadence Design Systems, Inc. | Methods, systems, and computer program product for implementing a layout-driven, multi-fabric schematic design |
JP6890460B2 (ja) * | 2017-04-27 | 2021-06-18 | 日立Astemo株式会社 | 車両制御システム検証手法および検証装置および制御装置 |
US10325045B2 (en) * | 2017-05-25 | 2019-06-18 | International Business Machines Corporation | Estimating timing convergence using assertion comparisons |
US11507492B1 (en) * | 2019-08-27 | 2022-11-22 | Cadence Design Systems, Inc. | Applying a hierarchical proof to formal verification based path sensitization |
CN111259617B (zh) * | 2020-02-14 | 2023-06-02 | 上海华虹宏力半导体制造有限公司 | 集成电路版图的设计方法 |
CN113468840B (zh) * | 2020-03-30 | 2024-05-28 | 创意电子股份有限公司 | 时序模型的建立方法 |
TWI749497B (zh) * | 2020-03-30 | 2021-12-11 | 創意電子股份有限公司 | 時序模型的建立方法 |
CN112580296B (zh) * | 2020-12-16 | 2024-05-31 | 全芯智造技术有限公司 | 用于处理电路版图的方法、设备和存储介质 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5111413A (en) * | 1989-03-24 | 1992-05-05 | Vantage Analysis Systems, Inc. | Computer-aided engineering |
US5258660A (en) * | 1990-01-16 | 1993-11-02 | Cray Research, Inc. | Skew-compensated clock distribution system |
US5210700A (en) * | 1990-02-20 | 1993-05-11 | International Business Machines Corporation | Automatic delay adjustment for static timing analysis |
US5555201A (en) * | 1990-04-06 | 1996-09-10 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information |
US5259006A (en) * | 1990-04-18 | 1993-11-02 | Quickturn Systems, Incorporated | Method for substantially eliminating hold time violations in implementing high speed logic circuits or the like |
JP2695078B2 (ja) * | 1991-06-10 | 1997-12-24 | 株式会社東芝 | データ処理装置クロック信号の分配方法 |
US5452239A (en) * | 1993-01-29 | 1995-09-19 | Quickturn Design Systems, Inc. | Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system |
US5956257A (en) * | 1993-03-31 | 1999-09-21 | Vlsi Technology, Inc. | Automated optimization of hierarchical netlists |
US5615127A (en) * | 1994-11-30 | 1997-03-25 | International Business Machines Corporation | Parallel execution of a complex task partitioned into a plurality of entities |
US5507029A (en) * | 1995-01-11 | 1996-04-09 | International Business Machines Corporation | Method for minimizing the time skew of electrical signals in very large scale integrated circuits |
US5740347A (en) * | 1995-05-01 | 1998-04-14 | Synopsys, Inc. | Circuit analyzer of black, gray and transparent elements |
US5896299A (en) * | 1995-10-13 | 1999-04-20 | Vlsi Technology, Inc. | Method and a system for fixing hold time violations in hierarchical designs |
JP2874628B2 (ja) | 1996-01-30 | 1999-03-24 | 日本電気株式会社 | 論理回路の最適化装置及びその方法 |
US5936867A (en) * | 1996-03-14 | 1999-08-10 | Intel Corporation | Method for locating critical speed paths in integrated circuits |
US5790841A (en) * | 1996-04-15 | 1998-08-04 | Advanced Micro Devices, Inc. | Method for placement of clock buffers in a clock distribution system |
US5768159A (en) * | 1996-05-02 | 1998-06-16 | Northern Telecom Limited | Method of simulating AC timing characteristics of integrated circuits |
US5696771A (en) * | 1996-05-17 | 1997-12-09 | Synopsys, Inc. | Method and apparatus for performing partial unscan and near full scan within design for test applications |
JPH10163330A (ja) * | 1996-12-03 | 1998-06-19 | Nec Corp | レイアウト考慮遅延最適化装置および方法 |
US6247138B1 (en) * | 1997-06-12 | 2001-06-12 | Fujitsu Limited | Timing signal generating circuit, semiconductor integrated circuit device and semiconductor integrated circuit system to which the timing signal generating circuit is applied, and signal transmission system |
US6272667B1 (en) * | 1997-10-09 | 2001-08-07 | Kabushiki Kaisha Toshiba | Method and apparatus for clock gated logic circuits to reduce electric power consumption |
US6453446B1 (en) * | 1997-12-24 | 2002-09-17 | Magma Design Automation, Inc. | Timing closure methodology |
US6202192B1 (en) * | 1998-01-09 | 2001-03-13 | International Business Machines Corporation | Distributed static timing analysis |
US6286128B1 (en) * | 1998-02-11 | 2001-09-04 | Monterey Design Systems, Inc. | Method for design optimization using logical and physical information |
JPH11306218A (ja) | 1998-04-17 | 1999-11-05 | Nec Corp | 半導体集積回路の設計方法 |
US6968514B2 (en) * | 1998-09-30 | 2005-11-22 | Cadence Design Systems, Inc. | Block based design methodology with programmable components |
US6311313B1 (en) * | 1998-12-29 | 2001-10-30 | International Business Machines Corporation | X-Y grid tree clock distribution network with tunable tree and grid networks |
JP2000286342A (ja) | 1999-03-30 | 2000-10-13 | Hitachi Ltd | コンピュータ読み取り可能な記憶媒体、半導体集積回路の設計方法、ならびに半導体装置の設計方法 |
US6230114B1 (en) * | 1999-10-29 | 2001-05-08 | Vast Systems Technology Corporation | Hardware and software co-simulation including executing an analyzed user program |
WO2001054001A1 (en) * | 2000-01-18 | 2001-07-26 | Cadence Design Systems, Inc. | Adaptable circuit blocks for use in multi-block chip design |
US6539536B1 (en) * | 2000-02-02 | 2003-03-25 | Synopsys, Inc. | Electronic design automation system and methods utilizing groups of multiple cells having loop-back connections for modeling port electrical characteristics |
CN1110849C (zh) * | 2000-08-29 | 2003-06-04 | 中国科学院微电子中心 | 超大规模集成电路的制造方法 |
US6530073B2 (en) * | 2001-04-30 | 2003-03-04 | Lsi Logic Corporation | RTL annotation tool for layout induced netlist changes |
US6609233B1 (en) * | 2001-08-10 | 2003-08-19 | Hewlett-Packard Development Company, L.P. | Load sensitivity modeling in a minimal level sensitive timing abstraction model |
US6711719B2 (en) * | 2001-08-13 | 2004-03-23 | International Business Machines Corporation | Method and apparatus for reducing power consumption in VLSI circuit designs |
US6594805B1 (en) * | 2001-11-13 | 2003-07-15 | Lsi Logic Corporation | Integrated design system and method for reducing and avoiding crosstalk |
US6701505B1 (en) * | 2001-11-30 | 2004-03-02 | Sequence Design, Inc. | Circuit optimization for minimum path timing violations |
-
2002
- 2002-08-29 CN CNB028167627A patent/CN100378734C/zh not_active Expired - Fee Related
- 2002-08-29 JP JP2003525521A patent/JP2005502133A/ja active Pending
- 2002-08-29 WO PCT/US2002/027921 patent/WO2003021499A1/en active Application Filing
- 2002-08-29 US US10/231,384 patent/US7243323B2/en not_active Expired - Lifetime
- 2002-08-29 EP EP02797837A patent/EP1449126A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1449126A4 (en) | 2008-01-16 |
EP1449126A1 (en) | 2004-08-25 |
US7243323B2 (en) | 2007-07-10 |
CN1633658A (zh) | 2005-06-29 |
WO2003021499A1 (en) | 2003-03-13 |
CN100378734C (zh) | 2008-04-02 |
US20030051222A1 (en) | 2003-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005502133A (ja) | 集積回路のチップ設計 | |
US6543043B1 (en) | Inter-region constraint-based router for use in electronic design automation | |
US8839171B1 (en) | Method of global design closure at top level and driving of downstream implementation flow | |
US8051397B2 (en) | Method and system for conducting design explorations of an integrated circuit | |
US8707239B2 (en) | Integrated circuit routing with compaction | |
Hung et al. | Challenges in large FPGA-based logic emulation systems | |
US6782520B1 (en) | IC layout system having separate trial and detailed routing phases | |
US10678979B2 (en) | Method and apparatus for implementing a system-level design tool for design planning and architecture exploration | |
US8365120B2 (en) | Resolving global coupling timing and slew violations for buffer-dominated designs | |
US7577933B1 (en) | Timing driven pin assignment | |
US6480996B1 (en) | System and method for transposing wires in a circuit design | |
Vishnu et al. | Clock tree synthesis techniques for optimal power and timing convergence in soc partitions | |
WO2003034290A2 (en) | Clock skew verification methodology for grid-based design | |
WO2015075805A1 (ja) | ソースコード分割方法及びlsi実装装置 | |
JP5447547B2 (ja) | マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム | |
US8972919B2 (en) | Static timing analysis method and system considering capacitive coupling and double patterning mask misalignment | |
US6701496B1 (en) | Synthesis with automated placement information feedback | |
GC et al. | Physical Design, Power and Area Optimization of High Frequency Block at Smaller Technology Node | |
Niranjana et al. | A Framework for Block-Level Physical Design using ICC2 in 14nm Technology | |
Ganguly et al. | Clock distribution methodology for PowerPC™ microprocessors | |
Liew et al. | A Chisel Generator for Standardized 3D Die-to-Die Interconnects | |
Shih et al. | Path-based cell flipping optimization for wirelength reduction and routability | |
Kabir | Design, Extraction, and Optimization Tool Flows and Methodologies for Homogeneous and Heterogeneous Multi-Chip 2.5 D Systems | |
Tanaka et al. | Minimum delay placement with influence of nets and hierarchical clustering | |
Hossain et al. | Design methodology and productivity improvement in high speed VLSI circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050128 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061225 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070326 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070625 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070723 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080109 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080116 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080208 |