JP2891328B2 - 多重レベル階層回路設計用の遅延時間値生成の方法 - Google Patents

多重レベル階層回路設計用の遅延時間値生成の方法

Info

Publication number
JP2891328B2
JP2891328B2 JP7083682A JP8368295A JP2891328B2 JP 2891328 B2 JP2891328 B2 JP 2891328B2 JP 7083682 A JP7083682 A JP 7083682A JP 8368295 A JP8368295 A JP 8368295A JP 2891328 B2 JP2891328 B2 JP 2891328B2
Authority
JP
Japan
Prior art keywords
net
delay
path
macro cell
cell
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.)
Expired - Fee Related
Application number
JP7083682A
Other languages
English (en)
Other versions
JPH07282128A (ja
Inventor
ジーテンドラ・アプテ
ラージェシュ・グプタ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07282128A publication Critical patent/JPH07282128A/ja
Application granted granted Critical
Publication of JP2891328B2 publication Critical patent/JP2891328B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

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)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的には回路設計作
成用のターゲット生成の方法に関し、具体的には、多重
レベル階層回路設計を作成するための前述の方法に関す
る。
【0002】
【従来の技術】フロアプラニング、配置、配線などのタ
イミング主導型レイアウトの目標は、設計者によって指
定された具体的なタイミング制約をその設計が満足する
ようにレイアウト設計プロセスを実行することである。
一般的な場合のほとんどでは、タイミング制約情報が、
設計の入力での信号の到達時刻と設計の出力での信号の
必要到達時刻の形で、タイミング主導型レイアウト・ツ
ールに指定される。
【0003】タイミング主導型設計ツールは、通常、3
つの方法のいずれかまたはその変形、すなわち経路遅
延、ネット重みまたはネット遅延に基づく設計によっ
て、タイミング制約を扱う。ネットとは、電子構成要素
の物理的なピンまたは論理的な入出力ポートの電気接続
である。
【0004】経路遅延に基づくツールでは、設計内の指
定されたタイミング経路に対するタイミング制約を検討
し、これらの制約を満足するように設計プロセスを実行
する。制約は通常、ある経路を通る最大または最小の抵
抗容量性(RC)遅延の形式である。理論上、タイミン
グ制約は、設計内のすべての入出力経路に関して指定す
ることができる。しかし、このような経路の数は、設計
の寸法に対して対数的に増加し、実際には、経路のうち
のごく限られたサブセットだけしか、通常のタイミング
主導型ツールによって効率的に処理できない。したがっ
て、大きな設計の場合、設計プロセス中に設計内のすべ
ての経路を監視することは非実用的である。これに関し
て、個々の経路を監視するのではなく、複数の経路を含
む設計の部分グラフを監視することによって、コストを
低減することができる。
【0005】ネット重みに基づく方法では、ネットの重
み係数を検討する。これらの重み係数は、タイミングに
関する各ネットの相対的な重要度を示す。ネット重みに
基づく方法では、より低い重みの他のネットを犠牲にし
て、高い重みを有するネットを短縮し、したがってその
遅延を減らそうと試みる。しかし、ネット重みに基づく
方法では、全体的なタイミング制約を満たすことを保証
できず、通常は、特定の設計に要求されるタイミングに
収束するために、毎回ネット重みを調節しながら複数回
実行する必要がある。
【0006】ネット遅延に基づくツールでは、ターゲッ
トすなわち設計内の個々のネット上の抵抗(R)、容量
(C)および抵抗容量(RC)を検討し、これらのター
ゲットを満足するように設計プロセスを実行する。通
常、個々のネット・ターゲットは、すべてのネット・タ
ーゲットが満たされた場合に全体設計がタイミング目標
を満足するように、全体設計制約に基づいて生成され
る。ネット遅延に基づく手法では、比較的低い計算コス
トで設計プロセス中に設計内のすべてのネットを監視す
ることができる。しかし、このツールの有効性は、ネッ
ト・ターゲットの生成方法に左右される。
【0007】既存のターゲット生成手法では、複数のネ
ットからなる経路に指定された遅延を、構成ネット上の
個々のRC遅延として配分する。一般に、従来のターゲ
ット生成手法は、ターゲット生成の基本原則に従うが、
生成されるタイミング経路の組に対する変動と、ある経
路上の遅延をその構成ネットに配分する方法に関して
は、それぞれ異なる可能性がある。たとえば、ルク(W.
K. Luk)著、"A Fast Physical Constraint Generator
for Timing Driven Layout", 28th ACM/IEEE Design Au
tomation Conference, Paper 37.3, 1991年6月, pp. 62
6-631(以下、「ルク論文」と呼称する)と、ヨーゼフ
(H. Youssef)およびシュラゴウィッツ(E. Shragowit
z)著、"Timing Constraints for Correct Performanc
e", Proc. ICCAD, l990年11月, pp. 24-27(以下、「ヨ
ーゼフ、シュラゴウィッツ論文」と呼称する)を参照さ
れたい。
【0008】従来のターゲット生成手法によれば、入力
は、設計に対するタイミング制約であり、出力は、ネッ
ト上のターゲットである。通常、この手順は、すべての
ネット上のすべての初期ターゲットを0にセットするこ
とによって始まり、その後、下記のステップに進む。 1.論理ネットワークに対するタイミング分析を行う。
このステップでは、繰返しループの前回の繰返しで生成
されたターゲットを考慮に入れ、(i)タイミング経路
(それぞれがタイミング・ノードのシーケンスからな
る)の組と、(ii)各経路のスラック値を生成する。
スラックとは、設計の性能に影響せずに経路に追加する
ことができる遅延の量である。 2.経路上のスラック値を、その経路に含まれるネット
に配分する。このステップは、ターゲット生成手法ごと
に異なる形で実行される。一般に、このステップでは、
ネット上の既存のターゲット、接続されているセルに起
因するネットへの負荷、容量と抵抗の変化に対するネッ
ト遅延の敏感さなどの情報を考慮に入れる。 3.すべての経路スラックが0または十分に0に近い値
になるまで、ステップ1とステップ2を繰り返す。実際
には、繰返し回数の上限があり、その後にアルゴリズム
を終了させなければならない場合がある。こうして生成
されたネット上のターゲットを、その後、配置/配線プ
ログラムに渡す。
【0009】別の表現で言えば、本質的に、従来のター
ゲット生成処理は、設計に対するタイミング制約を、設
計に含まれるネットに対するタイミング制約に変換する
ものであり、ここで、ネットによって互いに接続された
セルが、既知の遅延を有する固定され事前に設計された
実体(ライブラリ・セルまたは標準セル)である。これ
を図1に示す。図1には、入力ピンP1から出力ピンP
2へのチップ10を通るクリティカル・パスが示されて
いる。この経路は、6つのネットn1ないしn6と5つ
の標準セルc1ないしc5から構成される。タイミング
分析による判定として、この経路上に正のスラックSが
ある、すなわちこの設計の性能に影響を及ぼさずにこの
経路にS単位の遅延を追加できると仮定すると、ターゲ
ット生成アルゴリズムは、スラック値Sをネットn1な
いしn6の間で配分し、したがって、この配分を反映す
るようにこれらのネット上のR、CおよびRCターゲッ
トを修正する。これは、単一のクリティカル・タイミン
グ経路を有する単純な例であることに留意されたい。一
般に、互いに交わる多数のクリティカル・タイミング経
路が存在し、所与のネットに割り当てられたターゲット
は、それが属するすべてのタイミング経路上のスラック
に基づかなければならない。
【0010】したがって、ターゲット生成のための従来
の手法は、経路が通過するセルが、固定された遅延を有
する事前設計された実体である、「フラット」な設計を
対象に動作する。しかし、いわゆる多重レベル階層回路
設計では、セル自体が、その内部をまだ設計されていな
い階層構造からなるので、この条件が維持されない可能
性がある。一般に、多重レベル階層回路設計とは、その
表現に包含階層が含まれる電子設計、すなわち全体設計
がセルから構成され、セルに、ネットによって互いに接
続される子セルが含まれる設計を指す。各セルは、標準
セル・ライブラリから引き出された事前設計されたセル
であることを意味する標準セルか、1つまたは複数の子
セルを含むことを意味するマクロ・セルのいずれかであ
る。マクロ・セルの子は、標準セルであるか、それ自体
がマクロ・セルである可能性がある。現階層レベルと
は、所与の時点で物理設計が実行されつつある設計階層
の特定のレベルを指す。
【0011】図2を参照すると、多重レベル階層回路設
計では、設計階層の最上位レベルの実体、たとえばチッ
プ12と、遅延モデルが使用可能な事前設計された末端
レベルの実体、たとえばライブラリ・セルまたは標準セ
ルc6ないしc9との間に、複数の階層レベルが存在す
る可能性がある。したがって、階層の最上位レベルの実
体またはチップ12は、まだ設計されていないマクロ・
セルm1およびm2から構成される可能性がある。マク
ロ・セルm1およびm2に含まれる下位レベルのセルc
6ないしc9(標準セルであっても、それ自体がマクロ
・セルであってもよい)は、配置と配線を行われておら
ず、したがって、マクロ・セルm1およびm2について
使用可能な固定されたタイミング・モデルは存在しな
い。図2の設計に従来のターゲット生成技法を使用する
ためには、この階層を「フラット化」する、すなわち階
層マクロ・セルm1およびm2の境界を取り除かなけれ
ばならないはずである。その後、フラット化された設計
に対してターゲット生成を実行して、ネット上のターゲ
ットを導出できるはずである。
【0012】上で述べた既存のターゲット生成手法は、
下記の複数の理由から、多重レベル階層回路設計に使用
することができない。 1.従来のターゲット生成手法では、設計内の各セル
が、固定されたタイミング特性を有する事前に設計され
た標準セルであることを前提としている。 2.フラット化された設計に対して、すなわちマクロ・
セル境界を取り除いた状態で、従来のターゲット生成を
使用してターゲット生成を実行した場合であっても、結
果のネット・ターゲットは、直接に役立つものにはなら
ないはずである。具体的に言うと、マクロ・セル境界を
またぐ配線に割り当てられたターゲットは、マクロ・セ
ルの内側と外側の2つのサブネットに配分する必要があ
る。というのは、階層の上位レベルで作業している時
に、階層フロアプランナーにはマクロ・セルの内側のサ
ブネットしか見えないからである。たとえば、図2に示
された階層設計のネットn7およびn8がこれである。 3.使用されるフロアプラニング・プロセスは、通常
は、マクロ・セル内のネットがマクロ境界をまたぐネッ
トより短い平均長さを有するレイアウトをもたらす。
「フラット化」された設計に対して作業する時の既存の
ターゲット生成手法は、これを利用してワイヤ遅延を比
例配分することはしないはずである。
【0013】もう1つの短所は、このようなフラット化
によって、階層設計の目的が無効になり、フラット化さ
れた設計全体を1時に処理する必要が生じ、大規模設計
の場合には必要なメモリ量と計算時間が非現実に大きく
なることである。さらに、このフラット化手法を使用す
る際には、すべてのネットが、その間で遅延を「配分」
する際に等しい重みを与えられ、したがって、m1など
のマクロ内の、より短い平均長さを有する「局所」ネッ
トを、チップ全体にまたがりより長い平均長さを有する
「大域」ネットと区別できない。
【0014】
【発明が解決しようとする課題】したがって、特に多重
レベル階層回路設計用の、改良された遅延時間値生成手
法を提供することが本発明の目的である。
【0015】
【課題を解決するための手段】全般的に、本発明は、多
重レベル階層回路設計内の、マクロ・セルを含むセル、
入出力ポートおよびネットの間の相互関係を記述する階
層設計記述と、多重レベル階層回路設計の遅延制約とを
提供するステップと、多重レベル階層回路設計の各ネッ
トおよびマクロ・セルのネット尺度を生成し、階層設計
記述に基づいて多重レベル階層回路設計のマクロ・セル
ごとに抽象遅延モデルを生成するステップであって、ネ
ット尺度が面積主導型設計に基づくネットの推定長さか
ら導出されたネットの推定抵抗容量性遅延であり、抽象
遅延モデルがマクロ・セルを通る遅延の記述である、前
記生成ステップと、ネット尺度、抽象遅延モデルおよび
遅延制約に基づいて、ネットおよびマクロ・セルの遅延
時間値を生成するステップと、遅延時間値に基づいて多
重レベル階層回路設計を作成するステップとを含む、多
重レベル階層回路設計を作成するための、遅延時間値
(またはバジェット)を生成する方法に関する。
【0016】
【実施例】本明細書で使用する用語、多重レベル階層回
路設計とは、最上位レベル・セルと称する、データ信号
が回路設計に入るデータ入力ポートとデータ信号が回路
設計から出るデータ出力ポートを有するセルであると定
義される。多重レベル階層回路設計は、内部的には、
(i)最上位レベル・セルの子セルと称する、最上位レ
ベル・セルに含まれるセル(最上位レベル・セルはこれ
らの子セルの親セルであり、子セルのそれぞれがそれ自
体の入出力ポートを有する)と、(ii)子セルならび
に親セルの入出力ポートの間の電気接続をもたらすネッ
トからなる。ここで、子セルのそれぞれは、標準セルま
たは事前設計されたセルであるか、ネットによって互い
に接続されるそれ自体の子セルからなる、マクロ・セル
と称するセルのいずれかである。マクロ・セルは、最上
位セルと同一の定義を有する。
【0017】さらに、本明細書で「ネット尺度」と称す
る量を定義しなければならない。あるネットのネット尺
度とは、従来の面積主導型設計に基づくネットの推定長
さから導出されたネットの推定抵抗容量性遅延、すなわ
ちあるネットを含むセルの設計を、タイミング主導型
影響なしに面積を最少にするように実行した場合にその
ネットが有する遅延の推定値である。タイミング主導型
設計プロセスを実行する時には、2つのネットが同一の
ネット尺度を有する場合であっても、一方のネットが他
方よりもタイミングにクリティカルであるために、設計
プロセスが、この2つのネットの間でワイヤ長のトレー
ド・オフを強制する(すなわちクリティカルなネットは
短くなる傾向を有し、したがってより少ない遅延を有す
る)可能性があることに留意されたい。
【0018】あるネットのドライバ/レシーバ・ポート
対に関連するネット尺度は、従来の面積主導型設計から
もたらされるポート対の間の予測されたワイヤ遅延であ
る。これは、周知の統計的技法によって推定することが
できる。たとえば、ドナス(W. E. Donath)著、"Wire
Length Distribution for Placements of Computer Log
ic", IBM Journal of Research & Development, Vol.2
5, No.3, 1981年5月, pp. 152-155を参照されたい。
【0019】標準セルを用いて相互接続されたネットか
らなる経路のネット尺度は、その経路内のネットのネッ
ト尺度の和である。たとえば、図2のネットn7ないし
n15からなる経路を検討されたい。ネットn9および
n13は、それぞれマクロ・セルm1およびm2に関連
する統計式に基づいて別々に予測されるので、異なるネ
ット尺度を有する。さらに、n7、n11およびn15
のネット尺度は、最上位レベル・セルすなわちチップ1
2に適用される統計式に基づいて別に決定される。一般
に(必ずとは限らない)、同一セル内の階層の同一レベ
ルにあるネットは、同一の推定ネット尺度を有する。し
たがって、図2の入力P3から出力P4への経路のネッ
ト尺度は、ネットn7ないしn15のネット尺度の和で
ある。
【0020】ある経路が子マクロ・セルを通る場合、そ
の子マクロ・セルの関連入力/出力ポート対のネット尺
度を決定し、経路のネット尺度に含めなければならな
い。マクロ・セルの入力/出力ポート対のネット尺度
は、この2つのポートの間の最長遅延経路に沿った累算
ネット尺度値である。
【0021】あるネットのソース/シンク・ポート対ま
たはマクロ・セルの入力/出力ポート対であり得るポー
ト対Px、Pyのネット尺度を、本明細書ではNM
(Px、Py)と表記する。
【0022】ネットと経路のネット尺度は、本発明によ
って遅延時間値生成に使用される。ネット尺度を計算す
る方法は、再帰的である。言い換えると、ある経路がマ
クロ・セルを通る時には必ず、まずそのマクロ・セルの
ネット尺度を再帰的に決定し、その後にこの経路に使用
する。
【0023】ここで図3を参照すると、ブロック14
で、本発明によれば、多重レベル階層回路設計の具体的
な階層設計記述と遅延制約が、多重レベル階層回路設計
を作成するための遅延時間値生成に必要な入力である。
階層設計記述では、多重レベル階層回路設計の、マクロ
・セルを含むセル、ポートおよびネットの間の相互関係
を記述する。設計の階層の末端セル(最下位レベルの子
マクロ・セル)は、標準セルまたは遅延モデルを使用で
きるセルであると仮定される。セルの遅延モデルによっ
て、あるセルの入力/出力ポート対のそれぞれの信号伝
播遅延が、一定値または出力ポートでの総容量性負荷の
関数のいずれかとして指定される。記憶要素(ラッチま
たはフリップフロップ)を含む標準セルは、入力設計で
そのようなセルとして識別されると仮定し、このような
セルを、本明細書ではラッチ・セルと称し、残りのセル
を、非ラッチ・セルまたは組合せセルと称する。遅延制
約は、下記の形式で表現される。 1.設計の主入力での信号の到達時刻(AT)と、設計
の主出力での必要到達時刻(RAT)と、 2.非ラッチ組合せセルを介するラッチ出力からラッチ
入力への最大許容遅延を導出するのに十分な、刻時方式
に関する情報(クロック周期、ラッチのセットアップ/
ホールド時間、クロック信号の関係を指定するタイミン
グ図など)か、すべてのラッチ出力でのATとすべての
ラッチ出力でのRATのいずれかと、 3.任意選択として、遅延制約の一部として設計の任意
の内部点で指定されるATおよびRAT。
【0024】ブロック16で、設計階層に含まれるネッ
トとマクロ・セルのそれぞれについてネット尺度を生成
し、設計階層に含まれるマクロ・セル(最上位レベルの
マクロ・セルを除く)のそれぞれについて抽象遅延モデ
ルを生成する。抽象遅延モデルは、マクロ・セルを通る
累算遅延の高水準記述である。次に、ブロック18で、
設計に含まれるネットとマクロ・セルの相対的なネット
尺度値、マクロ・セルの抽象遅延モデルおよび遅延制約
に基づいて、ネットとマクロ・セルの遅延時間値を生成
する。その後、この処理はブロック20で終了する。ブ
ロック16とブロック18の詳細な説明を下で行う。
【0025】生成される遅延時間値のそれぞれは、ネッ
ト(ソース/シンク)またはマクロ・セル(入力/出
力)のポート対に関連する時間間隔の形式となる。この
時間間隔は、2つのポートの間の信号の最大許容伝播時
間を表す。
【0026】ネットとマクロに関して生成された遅延
間値は、たとえば物理設計ツールに渡される。設計内の
ネットごとに、その遅延時間値を(任意指定として)、
ワイヤ長の値に変換し、表現することができる。技術的
現状の物理設計ツール(配置、配線など)は、ネット遅
延または長さに関するそのようなを満たすように試み
ながら設計プロセスを実行することができる。物理設計
プロセスで、設計内のすべてのネットに対する個々の
を満たすことに成功したならば、その階層設計全体が、
全体遅延制約を満たすことが保証される。
【0027】事実上、この階層遅延時間値生成プロセス
を用いると、全体的なタイミング制約を、技術的現状の
物理設計ツールが処理できる個々の設計実体(ネットお
よびマクロ・セル)に対する遅延時間値に変換すること
によって全体的なタイミング制約を満たすように、物理
設計をタイミング主導型方式で実行できるようになる。
【0028】ネットおよびマクロ・セルのネット尺度と
抽象遅延モデルを生成するブロック16の詳細を、図4
に示す。本明細書で使用する用語「ラッチ式入力ポー
ト」は、その入力ポートで始まり、階層のこのレベルま
たは下位レベルのネットと子セルを通り、ラッチまたは
フリップフロップで終わる経路が存在する、マクロ・セ
ルの入力ポートを指す。同様に、本明細書で使用する用
語「ラッチ式出力ポート」は、ラッチで始まりセルのこ
のポートで終わる経路を指すことを除いて、「ラッチ式
入力ポート」と同様である。さらに、用語「組合せ経
路」は、その経路が通過する非ラッチ・セルの入力/出
力ポート対のすべてに関して、「遅延セグメント」すな
わちセルの遅延モデルにそのポート対に関して記憶され
た関連遅延値がある(これら2つのポートの間を信号が
伝播できることを暗示する)、ネットおよび非ラッチ・
セルの並びを指す。用語「経路」は、「組合せ経路」と
同義である。ある経路の遅延は、その経路が通過するネ
ットおよびセルに沿った遅延の和と、始点ポートまたは
終点ポートに遅延が存在するならばその遅延値からな
る。図4を参照すると、当初、ブロック22で、設計内
のマクロ・セルmiを選択またはアクセスして、その子
セルのすべてが事前定義された遅延モデルを有する標準
セルになるようにする。一般に、マクロ・セルmi(最
上位レベル・セル以外)は、子マクロ・セルがある場合
にその子マクロ・セルのすべてが処理済みになった時に
限って選択され、処理される。これは、本質的にマクロ
・セルのボトムアップ順の処理である。
【0029】ブロック24で、マクロ・セルmi内のす
べてのネット(すなわちマクロ・セルmiの子セルを相
互接続するネット)のネット尺度を決定する。ここで図
5を参照すると、ブロック24に従ってネット尺度を決
定する方法の詳細が示されている。ネット尺度を決定す
る方法は、現階層レベルでの物理設計プロセスの状態に
依存する。ブロック44で、現レベルでのセルの配置と
ネットの配線が既に実行されているかどうか、すなわち
ネットが既知の経路を有するかどうかを判定する。そう
である場合には、すべてのネットが既に既知の経路を有
し、ブロック46で、接続(ソース/シンク・ポート
対)のそれぞれのネット尺度を、ソースとシンクの間の
ワイヤ経路のRC(抵抗容量)遅延として決定する。こ
の計算は、周知の方法によって実行できる。たとえば、
ルビンシュタイン(J. Rubinstein)、ペンフィールド
(P. Penfield, Jr.)、ホロウィッツ(M.A. Horowit
z)著、"Signal Delay in RC Tree Networks", IEEE Tr
ansactions on Computer-Aided Design, Vol.CAD-2, N
o.3, 1983年7月を参照されたい。現レベルでのネットの
配線が実行されていない場合、ブロック48で、子セル
の配置が既に実行されているかどうか、この場合では、
ネットの終点の近似位置が既知であるかどうかを判定す
る。そうである場合、ブロック50で、好ましくはシュ
タイナー木として既知のトポロジ(たとえば、ファン
(F.K. Hwang)著、"On Steiner Minimal Trees with R
ectilinear Distance", SIAM J. Appl. Math., Vol.30,
No.1, 1976年1月と、ハナン(M. Hanan)著、"On Stei
ner's Problem with Rectilinear Distance", J. SIAM
Appl. Math., Vol.14, No.2, 1966年3月を参照された
い)の形で、まずネットごとにトポロジを判定し、これ
らのトポロジに対してRC遅延を推定する。ネットの終
点の近似位置が既知でない場合、すなわちブロック48
の判定に対する回答が否の場合、ブロック52で、検査
を行って、ネットについて前に記憶されたか指定された
ネット尺度があるかどうかを判定し、この場合、これら
の値をブロック54で利用する。この状況が発生するの
は、遅延時間値生成プロセス全体が反復式に適用される
場合である。最後に、前に値が記憶されていない場合、
ブロック56で、マクロ・セルmi の物理特性と論理特
性に基づいて、マクロ・セルmi 内のすべてのネットに
ついて、平均接続長Lを決定する。このような平均接続
長の決定の議論については、ドナス(W. E. Donath)
著、"Wire Length Distribution for Placements of Co
mputer Logic", IBM Journal of Research & Developme
nt, Vol.25, No.3, 1981年3月, pp. 152-155を参照され
たい。この平均接続長Lに関して、ブロック58でRC
遅延を計算し、すべてのネットのネット尺度値として使
用する。あるネットのソース/シンク・ポート対Px
yについて決定されたネット尺度のすべてが、そのネ
ットのネット尺度NM(Px、Py)として記憶される。
【0030】図4に戻ると、ブロック26ないしブロッ
ク34は、マクロ・セルmiの入力/出力ポート対のす
べてについて抽象遅延とネット尺度を決定する内側反復
ループを構成する。したがって、ブロック26で、ある
入力/出力ポート対(Px、Py)を選択する。この入力
/出力ポート対(Px、Py)に関して、ブロック28
で、マクロ・セルmi内のPxからPyへの最長遅延組合
せ経路を判定する。この経路は、連続するネットおよび
非ラッチ・セルからなるPxからPyへのすべての組合せ
経路の中から選択される。ある経路に沿った遅延は、そ
れを構成するネットとセルの遅延の和からなる。あるネ
ットの遅延は、ブロック24で判定された、その経路が
通るネットの特定のソース・ポートおよびシンク・ポー
トに関連するネット尺度である。セルの遅延は、それが
標準セルであるかマクロ・セルであるかに応じて変化す
る。標準セルの遅延は、問題の経路が通る入力/出力ポ
ート対に関して、ブロック14で入力された遅延モデル
の形で入手できる。マクロ・セルを通る遅延は、マクロ
・セルmiに関するループの以前の繰返しで決定されて
いるはずの抽象遅延モデルから得られる。したがって、
xからPyへの最長遅延経路は、頂点がマクロ・セルm
iのポートを表し、弧(弧長に対応する遅延値をラベル
として付けられる)のそれぞれがネット内のソース−シ
ンク接続またはセルを介する入力−出力信号伝播を表す
有向グラフに対して従来のグラフ理論法を使用すること
によって導出できる。このような経路PCxyがPxとPy
の間に存在する場合、PCxy上の遅延を、マクロ・セル
iの抽象遅延モデルの遅延セグメント、Delay
(Px、Py)として記憶する。
【0031】次に、ブロック30で、最長遅延経路PC
xyに沿った遅延のうち、ブロック28でネット遅延に起
因すると判定された部分を判定する。これは、最長経路
PCxyが存在するならばそれを横断し、その経路内のネ
ットとマクロ・セルのポート対(Pa、Pb)のネット尺
度NM(Pa、Pb)を足し合わせることによって決定さ
れる。この値は、マクロ・セルmiのポートPxとPy
間のネット尺度値NM(Px、Py)として記憶される。
【0032】具体的に言うと、子として標準ライブラリ
・セルだけを有するセルの場合、所与の入力ポートから
所与の出力ポートへのネット尺度は、2つのポートの間
の最長経路内のネットのソース/シンク接続対のネット
尺度の和である。たとえば、図6で、ポートP5とP6
の間の最長遅延経路がネットn16、n17、n18、
n19およびn20からなると仮定すると、ポートP5
とP6の間のネット尺度は、これらのネットのネット尺
度の和である。図7を参照すると、その中にマクロ・セ
ルを有するセル、すなわちそれ自体は標準ライブラリ・
セルではない子セルが存在する場合、最長遅延経路が、
たとえばマクロ・セルm3などのマクロ・セルを通る可
能性がある。この場合、ネット尺度は、わずかに変更さ
れた形で定義される。ポートP7とポートP8の間の最
長経路が、ネットn21、n22、n23およびn24
と、マクロ・セルm3のポートP9とポートP10の間
の経路から構成される場合、ポートP7とポートP8の
間のネット尺度は、ネットn21、n22、n23およ
びn24のネット尺度ならびにマクロ・セルm3のポー
トP9とポートP10の間のネット尺度の和である。し
たがって、このような場合のネット尺度は、上に示した
ように、最長遅延経路が通過するネットならびにマクロ
・セルのネット尺度の和として定義される。
【0033】図6および図7から明らかなとおり、ネッ
ト尺度は、階層設計の場合に再帰的に定義される。言い
換えると、マクロ・セルの(そのポートの所与の対の間
の)ネット尺度は、マクロ・セルであるその子セルのネ
ット尺度に依存し、したがって、まず後者を決定する必
要がある。したがって、ネット尺度の計算は、階層をボ
トム・アップに横断して実行する必要がある。
【0034】図4に戻って、ブロック30で最長遅延経
路のネット尺度を決定した後に、ブロック32で、処理
の必要なmiの入力/出力ポート対がまだあるかどうか
に関する判定を行う。処理の必要な入力/出力ポート対
がまだある場合、ブロック34で次の入力/出力ポート
対をアクセスし、ブロック28ないしブロック32によ
る処理を継続する。しかし、処理の必要な入力/出力ポ
ート対がない場合、マクロ・セルmiのすべての入力/
出力ポート対に関して、抽象遅延値とネット尺度値が
(存在するならば)得られている。さらに、マクロ・セ
ルmiのすべてのネットのすべてのソース/シンク・ポ
ート対に関して、ネット尺度値が得られている。
【0035】したがって、組合せ論理によって接続され
た、マクロ・セルmiのすべての入力/出力ポート対に
ついて、遅延セグメントとネット尺度が決定された。次
に、ブロック35で、ラッチに接続されたマクロ・セル
iの入出力ポートについて、遅延とネット尺度の値を
決定する。
【0036】ここで図8を参照すると、ブロック35に
よる遅延とネット尺度の決定方法の詳細が示されてい
る。マクロ・セルmiのラッチ式の入力ポートおよび出
力ポートの遅延データを決定しなければならない。ブロ
ック59で、miの入力ポートPxを選択する。ブロック
60で、最長遅延組合せ経路PCxが存在するならば、
それを決定する。この組合せ経路PCxは、入力ポート
xから、マクロ・セルmiの子ラッチ・セルのデータ入
力ポートか、マクロ・セルmiのマクロ子セルのラッチ
式入力ポートのいずれかへの経路である。そのような組
合せ経路PCxが見つかった場合、Pxは、それ自体がマ
クロ・セルmiのラッチ式入力ポートである。その場合
には、値Delay(Px)が、マクロ・セルmiの抽象
遅延モデルに記憶され、これは、PCxがラッチ・セル
で終わる場合にはPCx上の遅延からなり、PCxがマク
ロ・セルのラッチ式入力ポートPaで終わる場合にはP
x上の遅延と前に記憶されたDelay(Pa)からな
る。どちらの場合でも、Delay(Px)は、Px
ら、遅延に関してPxから「最も遠い」mi内のラッチま
での全遅延を表す。
【0037】ブロック62で、経路PCxがブロック6
0で見つかった場合に、この経路に沿ったネット尺度を
足し合わせ、PCxがラッチ式入力ポートPaで終わる場
合にはNM(Pa)の値も加算し、NM(Px)として記
憶する。次に、ブロック64で、遅延データを決定しな
ければならない入力ポートPxがまだあると判定された
場合には、ブロック66で次のPxをアクセスし、ブロ
ック60に進む。しかし、ブロック64で、遅延データ
を決定しなければならない入力ポートPxがないと判定
された場合には、ブロック67に進む。ブロック67で
は、miの出力ポートPyを選択する。ブロック68およ
び70では、入力ポートPxに関するブロック60およ
び62と同様に、マクロ・セルmiのラッチ式出力ポー
トPyのそれぞれについて、最長遅延組合せ経路PCy
存在するならば、それを判定し、マクロ・セルmiの抽
象遅延モデルにDelay(Py)として記憶し、マク
ロ・セルmiに関するネット尺度値NM(Py)も記憶す
る。
【0038】図4に戻って、ブロック36で、マクロ・
セルmiを、処理済みとしてマークする。
【0039】ブロック38で、最上位セル以外の未処理
のマクロ・セルmiが存在するかどうかについて判定を
行う。ブロック38で、処理の必要なマクロ・セルmi
が存在すると判定された場合、ブロック40で、そのよ
うな未処理のマクロ・セルをもう1つアクセスまたは選
択し、処理を継続する。しかし、ブロック38で、処理
の必要なマクロ・セルが存在しないと判定された場合、
ブロック42に進む。
【0040】この手順がブロック42に達した時点で、
階層の最上位レベルにあるネットを除いて、設計階層の
すべてのネットおよびマクロ・セルのネット尺度が決定
されている。ブロック42で、図5と共にブロック24
に関して概略を示したものと同一の手順を使用して、階
層の最上位レベルにあるネットのネット尺度を決定す
る。
【0041】ここで図9を参照すると、ブロック18に
よる、ネットとマクロ・セルに関する遅延時間値生成方
法の詳細が示されている。遅延時間値は、ブロック16
から得られたネット尺度および抽象遅延モデルと、その
設計に関して指定された全体遅延制約に基づいて、設計
の個々のネットおよびマクロ・セルについて生成され
る。ブロック100で、すべてのマクロ・セルを未処理
としてマークし、設計階層の最上位レベルのマクロ・セ
ルを、最初にアクセスされ、処理されるマクロ・セルに
する。変数mjは、現マクロ・セル、すなわち所与の時
点で処理中のマクロ・セルを表す。ブロック102で、
jの子セルのうちで、ラッチ・セルであり、出力ポー
トまたは入力ポートについてATまたはRAT(アルゴ
リズムに入力されるデータの説明を参照されたい)がま
だ入手可能でないすべての子セルについて、ATを、セ
ルの出力ポートにアサートするか、これに関連して記憶
し、RATを、セルの入力ポートにアサートする。AT
およびRATの値は、設計の刻時方式と遅延制約によっ
て決定される。したがって、単一クロック設計の場合、
RAT値は、(ラッチのセットアップ時間とホールド時
間を無視すると)クロック周期に等しく、AT値は、0
に等しい。
【0042】ブロック104で、mjの子マクロ・セル
のうちで、ラッチ式入出力ポートを有するセルのそれぞ
れについて、そのようなラッチ式出力ポートのそれぞれ
についてATを決定し、そのようなラッチ式入力ポート
のそれぞれについてRATを決定する。これらは、刻時
方式、その子マクロ・セルの抽象遅延モデルおよび設計
の遅延制約に基づいて決定される。したがって、単一ク
ロック設計の場合、ラッチ式入力ポートPiのRAT値
RAT(Pi)は、クロック周期からDelay(Pi
を引いた値であり、ラッチ式出力ポートPjのAT値A
T(Pj)は、Delay(Pj)である。
【0043】次に、ブロック106で、2組のポート、
BEGINおよびPENDを導出する。PBEGINは、到達時刻
の値を記憶または指定された、mjとその子のすべての
ポートの組である。PENDは、必要到達時刻の値を記憶
または指定された、mjとその子のすべてのポートの組
である。これら2組のポートPBEGINおよびPENDは、そ
れぞれ、遅延時間値を生成する遅延経路の始点または終
点として使用される。
【0044】ブロック108で、PENDのポートでの経
路重みと経路スラックを導出する。これは、マクロ・セ
ルmj内のネットと子マクロ・セルを「順方向通過」す
ることによって達成される。各ネットおよび各マクロ・
セルの各子マクロ・セルの経路スラックと経路重みは、
各子セルに供給するネットと各ネットに供給する子セル
の到達時刻と経路重みとに基づいて、各ネットおよび各
マクロ・セルの各子セルの到達時刻と経路重みをセット
すること(ネットまたは子セルの経路重みは、そのネッ
ト尺度と、それに供給する子セルまたはネットの間で最
大の経路重みの和である)と、到達時刻と必要到達時刻
の間の差として指定される必要到達時刻を有する各ネッ
トの経路スラックを決定することによって決定すること
が好ましい。この「順方向通過」を達成するための方法
の詳細を、図10に示す。ここで図10を参照すると、
ブロック124で、mjのすべてのセルとネットを、当
初は未訪問としてマークし、PBEGIN内のソース・ポー
トPiのそれぞれについて、Piの「経路重み」PW(P
i)を0にセットする。ブロック126で、ループ・パ
ラメータEiを、PBEGIN内のポートによって供給される
jのネットにセットすることによって、「順方向通
過」を開始する。ブロック128で、Eiがネットであ
るかどうか(最初のEiについては真にならなければな
らない)を判定し、その後、ブロック132で、ネット
iの各シンクでの信号到達時刻(AT)を、対応する
ソース/シンク・ポート対のネット尺度値にソース・ノ
ードでのATを加算することによって更新する。その
後、ブロック134で、ネットEiのソース/シンク・
ポート対(Px、Py)のそれぞれについて、式PW(P
x)+NM(Px、Py)すなわちソース・ポートの経路
重みと(Px、Py)に関連するネット尺度(NM)の和
に従って、経路重みPW(Px、Py)を決定する。経路
重みPW(Py)も、同じ値PW(Px、Py)にセット
する。ポートPxのPW(Px)はポートPxに関連する
経路重み値を指し、ポートPyのPW(Py)はポートP
yに関連する経路重み値を指すのに対して、ポート対
x、PyのPW(Px、Py)は、ポート対Px、Pyに関
連する経路重み値を指すことに留意されたい。
【0045】ブロック128で、Eiがセルであると判
定され、ブロック130で、Eiが標準セルであると判
定される場合、ブロック136で、セルEiの出力ポー
トでのATを、標準セルEiに対して指定された遅延モ
デルを使用して、Eiの入力ポートでのATに基づいて
更新する。次に、ブロック138で、セルEiの接続さ
れた入力/出力ポート対(Px、Py)のうち、Eiの遅
延モデルに遅延セグメントが含まれる(PxからPyへ信
号を供給または伝播することができ、その結果、Px
の入力によってPyでの出力信号に影響を及ぼすことが
できることを示す)ポート対のそれぞれについて、経路
重みPW(Px、Py)をPW(Px)に等しい値にセッ
トする。また、そのような出力ポートPyのそれぞれに
ついて、経路重みPW(Py)は、遅延セグメントによ
ってPyに接続されるセルEiの入力ポートPxのすべて
のPW(Px、Py)の最大値にセットする。
【0046】ブロック128で、Eiがセルであると判
定され、ブロック130で、Eiがマクロ・セルである
と判定される場合、ブロック140で、セルEiの出力
ポートでのATを、セルEiについて前に構築された抽
象遅延モデルを使用して、セルEiの入力ポートでのA
Tに基づいて更新する。次に、ブロック142で、セル
iの入力/出力ポート対(Px、Py)のうち、Eiの遅
延モデルに遅延セグメントが含まれる(PxからPyに信
号を伝播できることを示す)ポート対のそれぞれについ
て、経路重みPW(Px、Py)をPW(Px)+NM
(Px、Py)にセットする。ここで、NM(Px、Py
は、遅延セグメントに関連するネット尺度である。ま
た、そのような出力ポートPyのそれぞれについて、経
路重みPW(Py)は、遅延セグメントによってPyに接
続されたセルEiの入力ポートPxのすべてのPW
(Px、Py)の最大値にセットする。
【0047】その後、ブロック144で、要素Eiを、
訪問済みとしてマークする。ブロック146で、mj
まだ訪問していないネットまたは非ラッチ・セル要素が
あるかどうかに関する判定を行う。まだ訪問していない
要素がある場合、ブロック148で、まだ訪問していな
い別の要素Ei(ネットまたは非ラッチ・セル)をアク
セスまたは選択し、それに供給するすべての要素が訪問
済みになるようにして、ブロック128に戻る。したが
って、ネットは、そのソース・ポートに接続されたセル
がある場合に、そのセルが訪問済みになった時に限って
選択され、セルは、その入力ポートに接続されたすべて
のネットが訪問済みになったときに限って訪問される。
【0048】ブロック146で、mj内のすべてのネッ
トおよび非ラッチ・セル要素が訪問済みと判定される場
合、mj内のすべてのネットおよび非ラッチ・セル要素
が処理済みである。その後、ブロック150で、PEND
内のポートPyのそれぞれについて、Pyの「経路スラッ
ク」PS(Py)を、RAT(Py)−AT(Py)すな
わちPyでの必要到達時刻(刻時方式と設計上の遅延制
約に基づく)とPyでの実際の信号到達時刻の間の差に
セットする。ポートPxのPS(Px)はポートPxに関
連する経路スラック値を指し、ポートPyのPS(Py
はポートPyに関連する経路スラック値を指すのに対し
て、ポート対Px、PyのPS(Px、Py)は、ポート対
x、Pyに関連する経路スラックを指すことに留意され
たい。
【0049】したがって、mjの要素を通る「順方向通
過」が完了し、経路重み値と経路スラック値が決定さ
れ、mjのポートとPENDに属するその子に割り当てられ
ている。図9に戻って、この手順は、ブロック110に
進む。ブロック110では、PEND内のポートからP
BEGIN内のポートに向かう「逆方向通過」が、この設計
に対して実行され、その間に、経路スラック値と改訂さ
れた経路重み値が、訪問された各ポートに割り当てられ
る。ネットおよび子セルのそれぞれの経路スラックと経
路重みの決定は、そのネットによって供給される子セル
およびネットの経路スラックおよび経路重みに基づくこ
とが好ましく、ここで、あるネットの経路スラックは、
そのネットによって供給される子セルの間の最小経路ス
ラックであり、あるネットの経路重みは、そのネットに
よって供給される子セルの間の最大経路重みであり、あ
る子セルの経路スラックは、その子セルによって供給さ
れるネットの間の最少経路スラックであり、ある子セル
の経路重みは、その子セルによって供給されるネットの
間の最大経路重みである。この「逆方向通過」を達成す
る方法の詳細を、図11に示す。
【0050】ここで図11を参照すると、mjのネット
および子セルのそれぞれは、ブロック152で、当初は
未訪問としてマークされる。ブロック154で、下で説
明する反復ループに進む前に、PEND内のポートだけに
供給するmjのネットを選択し、これをEiと表す。ルー
プの繰返しのそれぞれでは、要素Eiは、mj内のセルま
たはネット実体のいずれかである。ブロック156で、
要素Eiのポート対(Px、Py)は、Px/Pyが遅延セ
グメントによって接続された入力/出力ポート対(要素
iがセルの場合)か、ソース/シンク・ポート対(要
素Eiがネットの場合)のいずれかであるが、このポー
ト対のそれぞれについて、経路スラックPS(Px
y)を、PS(Py)にセットし、経路重みPW
(Px、Py)を、PW(Py)にセットするという動作
を実行する。次に、ブロック158で、入力ポート(要
素Eiがセルの場合)またはソース・ポート(要素Ei
ネットの場合)であるポートPxのそれぞれについて、
経路スラック値PS(Px)を、Pxに接続された要素E
iの出力ポートまたはシンク・ポートPyのすべての間で
最小のPS(Px、Py)にセットし、経路重み値PW
(Px)を、Pxに接続された要素Eiの出力ポートまた
はシンク・ポートPyのすべての間で最大のPW(Px
y)にセットするという動作を実行する。最後に、ブ
ロック160で、要素Eiを訪問済みとしてマークし、
ブロック162で、未訪問の非ラッチ要素Eiがあると
判定される場合には、ブロック164で、もう1つの未
訪問のネットまたは非ラッチ・セル要素Eiを選択し、
それが供給する非ラッチ・セルまたはネット要素のすべ
てが訪問済みになるようにして、ループを繰り返す。繰
返しの最後に、経路スラックと経路重みが、mj内のす
べてのネットおよびマクロ・セルについて決定されてい
る。
【0051】次に、図9に戻って、ブロック112で、
遅延配分を実行する。遅延セグメントによって接続され
たネットのソース/シンク対またはマクロ・セルの入力
/出力対に対応するポート対(Px、Py)のそれぞれに
ついて、ポート対(Px、Py)に配分される遅延を、N
M(Px、Py)+[NM(Px、Py)×PS(Px
y)/PW(Px、Py)]として決定する。結果の値
は、現階層レベルのネットおよびマクロ・セルに望まし
い遅延時間値である。
【0052】下位の階層レベルの遅延時間値を生成でき
るためには、最上位レベルのセルに関してユーザによっ
て供給されたものと同一の形態での遅延制約が、マクロ
・セルに関して必要である。これらの遅延制約は、各マ
クロ・セルの入力でのATと出力でのRATという形式
になる。これらのATおよびRATは、ヒッチコック
(R.B. Hitchcock, Sr.)、スミス(G. L. Smith)およ
びチェン(D. D. Cheng)著、"Timing Analysis of Com
puter Hardware", IBM Journal of Research &Developm
ent, Vol.26, No.1, 1982年1月, pp. 100-105 に記載の
方法など、明確に確立された静的タイミング分析方法に
基づいて、ブロック114で生成される。一般に、これ
らの静的タイミング分析方法によれば、現階層レベルの
入力ポートでのATは、レベル化された形でマクロ・セ
ルの入力ポートに向かって順方向に伝播され、その途中
で信号が出会う遅延が追加される。ネットおよびマクロ
・セルには、前に決定した遅延時間値を使用し、標準セ
ルには、事前に指定された遅延モデルを使用する。RA
Tは、現階層レベルの出力ポートからマクロ・セルの出
力ポートに向かって、同様の形で逆方向に伝播される
が、この場合、途中で出会った遅延が減算される。マク
ロ入出力ポートに対してこの形で決定されたATおよび
RATを、マクロに対する遅延制約としてアサートす
る。
【0053】その後、ブロック116で、mjを処理済
みとしてマークする。ブロック118で、まだ処理され
ていないマクロ・セルがあると判定される場合、ブロッ
ク120で、ポートに対して遅延制約を既にアサートさ
れているが、内部遅延時間値がまだ決定されていないも
う1つのマクロ・セルmjを選択し、ブロック102に
戻る。
【0054】図3のブロック18の結果は、階層内のす
べてのネットとマクロ・セルについて遅延時間値が生成
されている設計階層である。これらの遅延時間値は、そ
の後、フロアプラニング、配置、配線などの遅延時間値
主導型物理設計プロセスに使用できる。この遅延時間値
は、物理設計プログラムの必要に応じて、容量、抵抗ま
たはワイヤ長に変換することもできる。これらの変換
は、単純であり、本質的に、ネット遅延時間値に関連す
る等価遅延値をもたらす、ネットごとの容量/抵抗/ワ
イヤ長の計算からなる。たとえば、ルク論文を参照され
たい。物理設計プロセスが、すべての遅延時間値を成功
裡に満足できる場合、その設計は、その遅延制約を満足
する。これは、ヨーゼフ、シュラゴウィッツ論文に提示
された技法の正しさの証明から導かれる。また、本明細
書に記載の方法は、ヨーゼフ、シュラゴウィッツ論文に
提示された技法の拡張または改善である。
【0055】ブロック100ないしブロック162に含
まれるステップは、ヨーゼフ、シュラゴウィッツ論文に
提示された非階層遅延時間値生成アルゴリズムの拡張ま
たは改善を示すものである。しかし、本発明によるステ
ップは、ルク論文に提示されたものなど、他の非階層
延時間値生成アルゴリズムの拡張または改善となるよう
に修正することができる。一般的に言って、ネットおよ
びセルへの遅延の配分を実行するのに使用される具体的
なアルゴリズムの詳細に無関係に、本発明によれば、
(1)配分が、ネットおよび階層マクロ・セルに対して
同時に実行され、(2)ネット尺度が、ネットならびに
マクロ・セルの間での相対遅延「要求」を均一に決定す
るのに使用される。
【0056】一般的に言って、物理設計プログラムは、
設計内のすべてのネットに対する遅延時間値を満足でき
るとは限らない。これは、従来技術(非階層設計に適用
された時の)ならびに本発明にあてはまる。しかし、特
定のネットに対する遅延時間値の違反が、実際の遅延が
十分に遅延時間値の範囲内にある別のネットによって補
償される可能性がある。したがって、個々の遅延時間値
が満たされない場合であっても、設計が全体的な遅延制
約を満足することができる場合がある。
【0057】どの遅延時間値生成方法によって生成され
た遅延時間値であっても、一般に、設計がその制約を満
たすのに十分である。しかし、タイミング要件によって
厳しく制約されている設計の場合、遅延時間値生成プロ
セスを複数回繰返し実行して、重要度の低い個々の遅延
時間値の一部を「緩和」すると同時に、全体的な遅延制
約を満たすのに十分であることを保証することが、設計
者の間で一般的に行われている。繰返しのそれぞれで
は、ゼロからネット尺度を計算するのではなく、前の繰
返しで決定された遅延時間値を、ブロック54でネット
尺度として使用する。したがって、ブロック108およ
びブロック110の経路スラックおよび経路重みの計算
では、既存の遅延時間値を考慮に入れる。ここで、ブロ
ック112での計算は、現ネット遅延時間値に対する調
節(絶対遅延値ではなく)になり、現ネット遅延時間値
に加算される。以前の経験から、通常は、約4〜5回の
繰返しが、遅延時間値をできる限り「緩い」値にほぼ収
束させ、なおかつタイミングの正しさを保証するのに十
分である(ヨーゼフ、シュラゴウィッツ論文を参照され
たい)。
【0058】したがって、本発明によれば、配分は、R
/C/RCが配分される実体としてのネットおよびマク
ロ・セルの両方に対して実行され、さまざまな実体に対
する配分は、関連するネット尺度に等しいネットおよび
マクロ・セルのそれぞれの重みを使用してバイアスをか
けられる。
【0059】ネットとマクロ・セルは、ループの後者の
ステップではどちらも均一の実体として扱われる、すな
わちスラックがネットとマクロ・セルの両方の間で同時
に分配されることに留意されたい。これは、セルが既知
のタイミング挙動を有する事前設計された実体として扱
われ、したがって、トップダウン階層設計方法論には使
用できない従来の手法に対して全く対照的である。
【0060】本発明によって生成されたネット遅延時間
は、設計の最上位レベルでフロアプラニング・プロセ
スを実行するためにタイミング主導型フロアプランナー
によって使用することができる。その後、本発明による
手順をマクロ・セルのそれぞれに対して再帰的に呼び出
して、下位レベルのネットおよびセルに対する遅延時間
を生成した後に、下位レベル実体に対してタイミング
主導型のフロアプラニング/配置を実行することができ
る。したがって、本明細書に提示された階層遅延時間値
生成解決策によれば、ネット長制約がネット尺度の形で
ボトムアップに伝播され、タイミング遅延時間値が設計
方法論の進行に伴ってトップダウンに伝播される、真の
トップダウン階層タイミング主導型設計方法論を実行す
ることが可能になる。
【0061】さらに、本明細書に提示された解決策は、
階層設計と共に使用することができる。というのは、
(i)ネットとマクロ・セルの両方が、階層方法論で設
計される実体であるから、階層の各レベルで、ネットと
マクロ・セルの両方の間で容量と遅延を配分でき、(i
i)マクロ・セルの内部の下位の階層レベルで予想ネッ
ト長を予測し、考慮に入れ、この情報を使用して、上位
の階層レベルでターゲットを知的に配分するからであ
る。
【0062】説明として、本発明に対する制限なしに、
ネット尺度の定義を修正し、その結果、ネットのネット
尺度値が、ネットの遅延だけでなく、そのネットを駆動
するセルの遅延のうち、そのネットに影響する容量性負
荷によって引き起こされた部分も反映するようにするこ
とができる。この場合、ブロック24およびブロック4
2の手順をそれ相応に修正して、ネット尺度を計算する
ようにし、また、ブロック112の手順を、ネットに遅
延を分配するように修正することになるであろう。ブロ
ック112では、ネットに分配される新しいネット尺度
が、ネット遅延とそれに供給するセルの負荷依存遅延の
和を反映するはずである。この方法をこのように拡張す
ると、ネット自体の容量性負荷に起因するセル遅延の変
動に敏感になるはずである。
【0063】具体的な実施例に関して本発明を説明して
きたが、前述の説明を考慮すれば、多数の代替案、修正
および変形が、当業者に明白になることは明らかであ
る。したがって、本発明は、本発明の範囲および趣旨な
らびに請求の範囲に含まれる、そのような代替案、修正
および変形のすべてを含むものである。
【0064】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0065】(1)(a)多重レベル階層回路設計のマ
クロ・セルを含むセル、入出力ポートおよびネットの間
の相互関係を記述する、多重レベル階層回路設計の階層
設計記述と、前記多重レベル階層回路設計の遅延制約と
を提供するステップと、(b)階層設計記述に基づい
て、多重レベル階層回路設計のネットおよびマクロ・セ
ルのそれぞれについて、面積駆動設計に基づくネットの
推定長さから導出されたネットの推定抵抗容量性遅延で
あるネット尺度を生成し、多重レベル階層回路設計のマ
クロ・セルのそれぞれについて、マクロ・セルを介する
遅延の記述である抽象モデルを生成するステップと、
(c)ネット尺度、抽象遅延モデルおよび遅延制約に基
づいて、ネットおよびマクロ・セルの遅延ターゲットを
生成するステップと、(d)前記遅延ターゲットに基づ
いて、多重レベル階層回路設計を作成するステップとを
含む、多重レベル階層回路設計を作成するために遅延タ
ーゲットを生成する方法。 (2)前記ステップ(b)が、(e)多重レベル階層回
路設計内の各ネットのネット尺度を決定するステップ
と、(f)多重レベル階層回路設計内のマクロ・セルの
それぞれの対になった入出力ポートのそれぞれについ
て、入力ポートから出力ポートへの最長遅延経路がある
場合に、前記最長遅延経路の遅延を決定するステップ
と、(g)前記最長遅延経路のそれぞれのネット尺度を
決定するステップと、(h)各マクロ・セルの入力ポー
トおよび出力ポートのそれぞれの遅延およびネット尺度
を決定するステップとを含み、各マクロ・セルの抽象遅
延モデルが、前記ステップ(f)および前記ステップ
(h)でマクロ・セルについて決定される遅延を含むこ
とを特徴とする、上記(1)に記載の方法。 (3)ネットが既知の経路を有する場合に、前記ステッ
プ(e)が、ネットのネット尺度を決定するために前記
既知の経路の推定抵抗容量性遅延を使用するステップを
含むことを特徴とする、上記(2)に記載の方法。 (4)ネットが既知の経路を有しないが、固定された終
点を有する場合に、前記ステップ(e)が、ネットのネ
ット尺度を決定するために前記既知の経路のシュタイナ
ー木トポロジに基づく推定抵抗容量性遅延を使用するス
テップを含むことを特徴とする、上記(2)に記載の方
法。 (5)ネットが既知の経路を有さず、固定されていない
終点を有するが、指定されたネット尺度を有する場合
に、前記ステップ(e)が、ネットに関して指定された
ネット尺度をアクセスし、指定されたネット尺度を使用
するステップを含むことを特徴とする、上記(2)に記
載の方法。 (6)ネットが既知の経路を有さず、位置を固定されな
い終点を有し、指定されたネット尺度を有しない場合
に、前記ステップ(e)が、ネットに関する推定平均接
続長さを決定するステップと、ネットのネット尺度を決
定するために前記推定平均接続長さの推定抵抗容量性遅
延を使用して、ネットのソース/シンク対のそれぞれに
ついてネット尺度を決定するステップとを含むことを特
徴とする、上記(2)に記載の方法。 (7)前記ステップ(h)が、マクロ・セル内の各入力
ポートからラッチへの最長遅延経路が存在する場合に、
前記最長遅延経路の遅延と、マクロ・セル内の各出力ポ
ートからラッチへの最長遅延経路の遅延とを決定するス
テップと、前記最長経路遅延のネット尺度を決定するス
テップとを含むことを特徴とする、上記(2)に記載の
方法。 (8)前記ステップ(c)が、(i)マクロ・セル内の
ラッチへまたはそれからの経路を有する各マクロ・セル
の各ラッチ・セル子の各ポートおよび各マクロ・セル子
の各ポートについて、到達時刻および必要到達時刻をセ
ットするステップと、(j)必要到達時刻を指定されて
いる各マクロ・セルの各ポートおよび各子セルについ
て、経路スラックおよび経路重みを決定するステップ
と、(k)各マクロ・セルの各ネットおよび各子セルの
経路スラックおよび経路重みを決定するステップと、
(l)各マクロ・セルの各ネットおよび各マクロ・セル
子について遅延ターゲットを決定するステップと、
(m)各マクロ・セルの各マクロ・セル子についてタイ
ミング制約を決定するステップとを含むことを特徴とす
る、上記(1)に記載の方法。 (9)前記ステップ(i)が、多重レベル階層回路設計
の刻時方式および遅延制約に基づいて、マクロ・セル子
のそれぞれについて到達時刻および必要到達時刻をセッ
トするステップを含むことを特徴とする、上記(8)に
記載の方法。 (10)前記ステップ(j)が、(n)ネットまたは子
セルの経路重みが、そのネット尺度とそれに供給する子
セルまたはネットの間の最大経路重みの和であり、各子
セルに供給するネットおよび各ネットに供給する子セル
の到達時刻および経路重みに基づいて、各ネットおよび
各マクロ・セルの各子セルの到達時刻および経路重みを
セットするステップと、(o)必要到達時刻と到達時刻
との間の差として指定された必要到達時刻を有する各ネ
ットの経路スラックを決定するステップとを含むことを
特徴とする、上記(8)に記載の方法。 (11)前記ステップ(k)が、ネットによって供給さ
れる子セルおよびネットの経路スラックおよび経路重み
に基づいて、各ネットおよび子セルの経路スラックおよ
び経路重みを決定するステップを含むことを特徴とし、
ネットの経路スラックが、そのネットによって供給され
る子セルの間の最小経路スラックであり、ネットの経路
重みが、そのネットによって供給される子セルの間の最
大経路重みであり、子セルの経路スラックが、その子セ
ルによって供給されるネットの間の最小経路スラックで
あり、子セルの経路重みが、その子セルによって供給さ
れるネットの間の最大経路重みであることを特徴とす
る、上記(8)に記載の方法。 (12)前記ステップ(m)でのタイミング制約が、静
的タイミング分析に基づいて生成されるマクロ・セルの
到達時刻および必要到達時刻を含むことを特徴とする、
上記(8)に記載の方法。
【図面の簡単な説明】
【図1】入力ピンから出力ピンへの経路を有するチップ
を示す図である。
【図2】多重レベル階層回路設計を示す図である。
【図3】本発明によるターゲット生成を示す高水準流れ
図である。
【図4】図3のブロック16による、ネットとマクロ・
セルに関するネット尺度と抽象遅延モデルの生成を示す
流れ図である。
【図5】図4のブロック24による、マクロ・セル内の
すべてのネットのネット尺度の決定を示す流れ図であ
る。
【図6】入力ポートと出力ポートを有するセルと、その
ポート間の最長遅延経路を示す図である。
【図7】マクロ・セルと入力ポートと出力ポートを有す
るセルと、ポート間の最長遅延経路を示す図である。
【図8】図4のブロック35による、マクロ・セルのラ
ッチ式入出力ポートでの遅延とネット尺度の決定を示す
流れ図である。
【図9】図3のブロック18による、ネットとマクロ・
セルの遅延時間値の生成を示す流れ図である。
【図10】図9のブロック108による、経路スラック
と経路重みの決定を示す流れ図である。
【図11】図9のブロック110による、経路スラック
と経路重みの決定を示す流れ図である。
【符号の説明】
10 チップ 12 チップ c1 標準セル c2 標準セル c3 標準セル c4 標準セル c5 標準セル c6 セル c7 セル c8 セル c9 セル m1 マクロ・セル m2 マクロ・セル n1 ネット n2 ネット n3 ネット n4 ネット n5 ネット n6 ネット n7 ネット n8 ネット n9 ネット n10 ネット n11 ネット n12 ネット n13 ネット n14 ネット n15 ネット P1 入力ピン P2 出力ピン P3 入力 P4 出力
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラージェシュ・グプタ アメリカ合衆国12590 ニューヨーク州 ワッピンガーズ・フォールズ チェルシ ー・ケイ 516 (56)参考文献 特開 平5−258006(JP,A) 特開 平5−151303(JP,A) 特開 平3−250371(JP,A) 特開 平3−134774(JP,A) 特開 平2−287885(JP,A) 特開 平2−264368(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 JICSTファイル(JOIS)

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 (a)多重レベル階層回路設計のマクロ・セルを含むセ
    ル、入出力ポートおよびネットの間の相互関係を記述す
    る、多重レベル階層回路設計の階層設計記述と、前記多
    重レベル階層回路設計の遅延制約とを提供するステップ
    と、 (b)階層設計記述に基づいて、多重レベル階層回路設
    計のネットおよびマクロ・セルのそれぞれについて、面
    積主導型設計に基づくネットの推定長さから導出された
    ネットの推定抵抗容量性遅延であるネット尺度を生成
    し、多重レベル階層回路設計のマクロ・セルのそれぞれ
    について、マクロ・セルを介する遅延の記述である抽象
    モデルを生成するステップと、 (c)ネット尺度、抽象遅延モデルおよび遅延制約に基
    づいて、ネットおよびマクロ・セルの遅延時間値を生成
    するステップと、 (d)前記遅延時間値に基づいて、多重レベル階層回路
    設計を作成するステップと を含む、多重レベル階層回路設計を作成するために遅延
    時間値を生成する方法。
  2. 【請求項2】前記ステップ(b)が、 (e)多重レベル階層回路設計内の各ネットのネット尺
    度を決定するステップと、 (f)多重レベル階層回路設計内のマクロ・セルのそれ
    ぞれの対になった入出力ポートのそれぞれについて、入
    力ポートから出力ポートへの最長遅延経路がある場合
    に、前記最長遅延経路の遅延を決定するステップと、 (g)前記最長遅延経路のそれぞれのネット尺度を決定
    するステップと、 (h)各マクロ・セルの入力ポートおよび出力ポートの
    それぞれの遅延およびネット尺度を決定するステップと を含み、各マクロ・セルの抽象遅延モデルが、前記ステ
    ップ(f)および前記ステップ(h)でマクロ・セルに
    ついて決定される遅延を含むことを特徴とする、請求項
    1に記載の方法。
  3. 【請求項3】ネットが既知の経路を有する場合に、前記
    ステップ(e)が、ネットのネット尺度を決定するため
    に前記既知の経路の推定抵抗容量性遅延を使用するステ
    ップを含むことを特徴とする、請求項2に記載の方法。
  4. 【請求項4】ネットが既知の経路を有しないが、固定さ
    れた終点を有する場合に、前記ステップ(e)が、ネッ
    トのネット尺度を決定するために前記既知の経路のシュ
    タイナー木トポロジに基づく推定抵抗容量性遅延を使用
    するステップを含むことを特徴とする、請求項2に記載
    の方法。
  5. 【請求項5】ネットが既知の経路を有さず、固定されて
    いない終点を有するが、指定されたネット尺度を有する
    場合に、前記ステップ(e)が、ネットに関して指定さ
    れたネット尺度をアクセスし、指定されたネット尺度を
    使用するステップを含むことを特徴とする、請求項2に
    記載の方法。
  6. 【請求項6】ネットが既知の経路を有さず、位置を固定
    されない終点を有し、指定されたネット尺度を有しない
    場合に、前記ステップ(e)が、ネットに関する推定平
    均接続長さを決定するステップと、ネットのネット尺度
    を決定するために前記推定平均接続長さの推定抵抗容量
    性遅延を使用して、ネットのソース/シンク対のそれぞ
    れについてネット尺度を決定するステップとを含むこと
    を特徴とする、請求項2に記載の方法。
  7. 【請求項7】前記ステップ(h)が、 マクロ・セル内の各入力ポートからラッチへの最長遅延
    経路が存在する場合に、前記最長遅延経路の遅延と、マ
    クロ・セル内の各出力ポートからラッチへの最長遅延経
    路の遅延とを決定するステップと、 前記最長経路遅延のネット尺度を決定するステップとを
    含むことを特徴とする、請求項2に記載の方法。
  8. 【請求項8】前記ステップ(c)が、 (i)マクロ・セル内のラッチへまたはそれからの経路
    を有する各マクロ・セルの各ラッチ・セルの子マクロ・
    セルの各ポートおよび各マクロ・セルの子マクロ・セル
    の各ポートについて、到達時刻および必要到達時刻をセ
    ットするステップと、 (j)必要到達時刻を指定されている各マクロ・セルの
    各ポートおよび各子マクロ・セルについて、経路スラッ
    クおよび経路重みを決定するステップと、 (k)各マクロ・セルの各ネットおよび各子マクロ・セ
    ルの経路スラックおよび経路重みを決定するステップ
    と、 (l)各マクロ・セルの各ネットおよび各マクロ・セル
    の子マクロ・セルについて遅延時間値を決定するステッ
    プと、 (m)各マクロ・セルの各マクロ・セルの子マクロ・セ
    ルについてタイミング制約を決定するステップとを含む
    ことを特徴とする、請求項1に記載の方法。
  9. 【請求項9】前記ステップ(i)が、多重レベル階層回
    路設計の刻時方式および遅延制約に基づいて、マクロ・
    セルの子マクロ・セルのそれぞれについて到達時刻およ
    び必要到達時刻をセットするステップを含むことを特徴
    とする、請求項8に記載の方法。
  10. 【請求項10】前記ステップ(j)が、 (n)ネットまたは子マクロ・セルの経路重みが、その
    ネット尺度とそれに供給する子マクロ・セルまたはネッ
    トの間の最大経路重みの和であり、各子マクロ・セルに
    供給するネットおよび各ネットに供給する子マクロ・セ
    ルの到達時刻および経路重みに基づいて、各ネットおよ
    び各マクロ・セルの各子マクロ・セルの到達時刻および
    経路重みをセットするステップと、 (o)必要到達時刻と到達時刻との間の差として指定さ
    れた必要到達時刻を有する各ネットの経路スラックを決
    定するステップとを含むことを特徴とする、請求項8に
    記載の方法。
  11. 【請求項11】前記ステップ(k)が、ネットによって
    供給される子マクロ・セルおよびネットの経路スラック
    および経路重みに基づいて、各ネットおよび子マクロ・
    セルの経路スラックおよび経路重みを決定するステップ
    を含むことを特徴とし、ネットの経路スラックが、その
    ネットによって供給される子マクロ・セルの間の最小経
    路スラックであり、ネットの経路重みが、そのネットに
    よって供給される子マクロ・セルの間の最大経路重みで
    あり、子マクロ・セルの経路スラックが、その子マクロ
    ・セルによって供給されるネットの間の最小経路スラッ
    クであり、子マクロ・セルの経路重みが、その子マクロ
    ・セルによって供給されるネットの間の最大経路重みで
    あることを特徴とする、請求項8に記載の方法。
  12. 【請求項12】前記ステップ(m)でのタイミング制約
    が、静的タイミング分析に基づいて生成されるマクロ・
    セルの到達時刻および必要到達時刻を含むことを特徴と
    する、請求項8に記載の方法。
JP7083682A 1994-04-12 1995-04-10 多重レベル階層回路設計用の遅延時間値生成の方法 Expired - Fee Related JP2891328B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US226603 1994-04-12
US08/226,603 US5475607A (en) 1994-04-12 1994-04-12 Method of target generation for multilevel hierarchical circuit designs

Publications (2)

Publication Number Publication Date
JPH07282128A JPH07282128A (ja) 1995-10-27
JP2891328B2 true JP2891328B2 (ja) 1999-05-17

Family

ID=22849601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7083682A Expired - Fee Related JP2891328B2 (ja) 1994-04-12 1995-04-10 多重レベル階層回路設計用の遅延時間値生成の方法

Country Status (4)

Country Link
US (1) US5475607A (ja)
EP (1) EP0677813B1 (ja)
JP (1) JP2891328B2 (ja)
DE (1) DE69500971D1 (ja)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793386A (ja) * 1993-09-28 1995-04-07 Fujitsu Ltd Lsi実装設計システム
US5640328A (en) * 1994-04-25 1997-06-17 Lam; Jimmy Kwok-Ching Method for electric leaf cell circuit placement and timing determination
US5619418A (en) * 1995-02-16 1997-04-08 Motorola, Inc. Logic gate size optimization process for an integrated circuit whereby circuit speed is improved while circuit area is optimized
US5778216A (en) * 1995-06-30 1998-07-07 Cadence Design Systems, Inc. Method for hierarchical time drive circuit layout by rebudgeting timing constraints of plurality of logical blocks after placement
US5724557A (en) * 1995-07-10 1998-03-03 Motorola, Inc. Method for designing a signal distribution network
US5751596A (en) * 1995-07-27 1998-05-12 Vlsi Technology, Inc. Automated system and method for identifying critical timing paths in integrated circuit layouts for use with automated circuit layout system
US5666290A (en) * 1995-12-27 1997-09-09 Vlsi Technology, Inc. Interactive time-driven method of component placement that more directly constrains critical paths using net-based constraints
JP2874628B2 (ja) * 1996-01-30 1999-03-24 日本電気株式会社 論理回路の最適化装置及びその方法
US5841672A (en) * 1996-02-13 1998-11-24 Vlsi Technology, Inc. Method and apparatus for verifying signal timing of electrical circuits
JPH09246391A (ja) * 1996-03-06 1997-09-19 Sharp Corp 配線設計方法および配線設計装置
US5787008A (en) * 1996-04-10 1998-07-28 Motorola, Inc. Simulation corrected sensitivity
US5790415A (en) * 1996-04-10 1998-08-04 Pullela; Satyamurthy Complementary network reduction for load modeling
US5796621A (en) * 1996-07-31 1998-08-18 International Business Machines Corporation Circuit delay abstraction tool
US5883818A (en) * 1996-08-29 1999-03-16 International Business Machines Corporation Method for generating an improved model for evaluating the operation of an integrated circuit design
US6185723B1 (en) 1996-11-27 2001-02-06 International Business Machines Corporation Method for performing timing analysis of a clock-shaping circuit
US6014510A (en) * 1996-11-27 2000-01-11 International Business Machines Corporation Method for performing timing analysis of a clock circuit
US5946475A (en) * 1997-01-21 1999-08-31 International Business Machines Corporation Method for performing transistor-level static timing analysis of a logic circuit
US6304998B1 (en) * 1997-03-27 2001-10-16 Fujitsu Limited Method of manufacturing integrated circuit device
US6096092A (en) * 1997-04-07 2000-08-01 Matsushita Electric Industrial Co., Ltd. Automatic synthesizing method for logic circuits
US6041169A (en) * 1997-08-21 2000-03-21 International Business Machines Corporation Method and apparatus for performing integrated circuit timing including noise
JPH1167922A (ja) * 1997-08-25 1999-03-09 Mitsubishi Electric Corp 仮想配線長見積り方法
US6230304B1 (en) * 1997-12-24 2001-05-08 Magma Design Automation, Inc. Method of designing a constraint-driven integrated circuit layout
US6453446B1 (en) * 1997-12-24 2002-09-17 Magma Design Automation, Inc. Timing closure methodology
US6901571B1 (en) * 1998-01-21 2005-05-31 Lsi Logic Corporation Timing-driven placement method utilizing novel interconnect delay model
US6477687B1 (en) * 1998-06-01 2002-11-05 Nvidia U.S. Investment Company Method of embedding RAMS and other macrocells in the core of an integrated circuit chip
US6457159B1 (en) * 1998-12-29 2002-09-24 Cadence Design Systems, Inc. Functional timing analysis for characterization of virtual component blocks
JP3250542B2 (ja) * 1999-03-23 2002-01-28 日本電気株式会社 Lsi設計方法
US6760894B1 (en) * 1999-12-28 2004-07-06 Cadence Design Systems, Inc. Method and mechanism for performing improved timing analysis on virtual component blocks
US6804810B1 (en) * 2000-02-21 2004-10-12 Hewlett-Packard Development Company, L.P. Resistance and capacitance estimation
US6601226B1 (en) * 2000-03-14 2003-07-29 Synopsys, Inc. Tightloop method of timing driven placement
JP3555569B2 (ja) * 2000-09-08 2004-08-18 日本電気株式会社 論理回路最適化方法、装置およびプログラムを記録した記録媒体
US6857116B1 (en) * 2000-11-15 2005-02-15 Reshape, Inc. Optimization of abutted-pin hierarchical physical design
US6836753B1 (en) 2001-06-13 2004-12-28 Cadence Design Systems, Inc. Cone slack allocator for computing time budgets
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
US6581197B1 (en) * 2001-08-10 2003-06-17 Hewlett-Packard Development Company, L.P. Minimal level sensitive timing representative of a circuit path
US6611948B1 (en) * 2001-08-10 2003-08-26 Hewlett-Packard Development Company, L.P. Modeling circuit environmental sensitivity of a minimal level sensitive timing abstraction model
US6604227B1 (en) * 2001-08-10 2003-08-05 Hewlett-Packard Development Company, L.P. Minimal level sensitive timing abstraction model capable of being used in general static timing analysis tools
US6526543B1 (en) * 2001-11-29 2003-02-25 International Business Machines Corporation Method, system, and computer program product for optimizing logic during synthesis of logic designs
US6880142B2 (en) * 2002-10-16 2005-04-12 Lsi Logic Corporation Method of delay calculation for variation in interconnect metal process
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
US7207020B1 (en) * 2004-02-09 2007-04-17 Altera Corporation Method and apparatus for utilizing long-path and short-path timing constraints in an electronic-design-automation tool
JP4418708B2 (ja) * 2004-05-07 2010-02-24 パナソニック株式会社 タイミング制約作成方法
US20050257178A1 (en) * 2004-05-14 2005-11-17 Daems Walter Pol M Method and apparatus for designing electronic circuits
JP4389701B2 (ja) * 2004-07-09 2009-12-24 日本電気株式会社 集積回路階層設計システム及び集積回路階層設計プログラム
US7526745B2 (en) * 2004-12-08 2009-04-28 Telefonaktiebolaget L M Ericsson (Publ) Method for specification and integration of reusable IP constraints
US8977995B1 (en) * 2007-01-10 2015-03-10 Cadence Design Systems, Inc. Timing budgeting of nested partitions for hierarchical integrated circuit designs
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
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
US8504978B1 (en) 2009-03-30 2013-08-06 Cadence Design Systems, Inc. User interface for timing budget analysis of integrated circuit designs
US7512922B1 (en) * 2007-04-18 2009-03-31 Xilinx, Inc. Methods of structured placement of a circuit design
US20080307374A1 (en) * 2007-06-05 2008-12-11 International Business Machines Corporation Method, system, and computer program product for mapping a logical design onto an integrated circuit with slack apportionment
US7895539B2 (en) * 2007-10-17 2011-02-22 International Business Machines Corporation System for improving a logic circuit and associated methods
US8010922B2 (en) * 2008-02-18 2011-08-30 International Business Machines Corporation Automated method for buffering in a VLSI design
US8108818B2 (en) * 2009-01-30 2012-01-31 International Business Machines Corporation Method and system for point-to-point fast delay estimation for VLSI circuits
US8516417B2 (en) 2009-08-07 2013-08-20 International Business Machines Corporation Method and system for repartitioning a hierarchical circuit design
US8239799B2 (en) * 2010-01-07 2012-08-07 Freescale Semiconductor, Inc. Placing filler cells in device design based on designation of sensitive feature in standard cell
US8316334B2 (en) * 2010-02-04 2012-11-20 Qualcomm Incorporated Segment and bipartite graph based apparatus and method to address hold violations in static timing
US8850377B1 (en) * 2011-01-20 2014-09-30 Xilinx, Inc. Back annotation of output time delays
US8464194B1 (en) * 2011-12-16 2013-06-11 International Business Machines Corporation Machine learning approach to correct lithographic hot-spots
US8769455B1 (en) 2012-12-18 2014-07-01 Cadence Design Systems, Inc. Methods, systems, and articles of manufacture for synchronous hierarchical implementation of electronic circuit designs
US9489478B2 (en) * 2014-10-17 2016-11-08 Synopsys, Inc. Simplifying modes of an electronic circuit by reducing constraints
US9836571B2 (en) 2015-06-23 2017-12-05 International Business Machines Corporation Applying random nets credit in an efficient static timing analysis
US11449655B2 (en) * 2020-12-30 2022-09-20 Arteris, Inc. Synthesis of a network-on-chip (NoC) using performance constraints and objectives
US11907634B2 (en) 2021-09-01 2024-02-20 International Business Machines Corporation Automating addition of power supply rails, fences, and level translators to a modular circuit design
US20230075565A1 (en) * 2021-09-07 2023-03-09 International Business Machines Corporation Signal pre-routing in an integrated circuit design

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821220A (en) * 1986-07-25 1989-04-11 Tektronix, Inc. System for animating program operation and displaying time-based relationships
US5095454A (en) * 1989-05-25 1992-03-10 Gateway Design Automation Corporation Method and apparatus for verifying timing during simulation of digital circuits
US5218551A (en) * 1990-04-30 1993-06-08 International Business Machines Corporation Timing driven placement
US5239493A (en) * 1990-06-26 1993-08-24 Digital Equipment Corporation Method and apparatus for interpreting and organizing timing specification information
US5353433A (en) * 1990-09-06 1994-10-04 Digital Equipment Corporation Method and apparatus for organizing and analyzing timing information
US5262959A (en) * 1990-12-07 1993-11-16 Hewlett-Packard Co. Representation and processing of hierarchical block designs
US5197015A (en) * 1990-12-20 1993-03-23 Vlsi Technology, Inc. System and method for setting capacitive constraints on synthesized logic circuits
US5392221A (en) * 1991-06-12 1995-02-21 International Business Machines Corporation Procedure to minimize total power of a logic network subject to timing constraints
US5396435A (en) * 1993-02-10 1995-03-07 Vlsi Technology, Inc. Automated circuit design system and method for reducing critical path delay times

Also Published As

Publication number Publication date
DE69500971D1 (de) 1997-12-11
US5475607A (en) 1995-12-12
EP0677813A2 (en) 1995-10-18
JPH07282128A (ja) 1995-10-27
EP0677813B1 (en) 1997-11-05
EP0677813A3 (en) 1996-09-11

Similar Documents

Publication Publication Date Title
JP2891328B2 (ja) 多重レベル階層回路設計用の遅延時間値生成の方法
US6557145B2 (en) Method for design optimization using logical and physical information
US8555221B2 (en) Partitioning for hardware-accelerated functional verification
US7676780B2 (en) Techniques for super fast buffer insertion
US7890905B2 (en) Slew constrained minimum cost buffering
EP1192559B1 (en) Updating placement during technology mapping
Sapatnekar et al. Analysis and optimization of power grids
US6836753B1 (en) Cone slack allocator for computing time budgets
Kravets et al. Implicit enumeration of structural changes in circuit optimization
US7257800B1 (en) Method and apparatus for performing logic replication in field programmable gate arrays
Zhang et al. Simultaneous shield and buffer insertion for crosstalk noise reduction in global routing
US6378116B1 (en) Using budgeted required time during technology mapping
US7373615B2 (en) Method for optimization of logic circuits for routability
US7168057B2 (en) Targeted optimization of buffer-tree logic
Jongeneel et al. Area and search space control for technology mapping
Brayton et al. An integrated technology mapping environment
US6807659B2 (en) Robust delay metric for RC circuits
Casu et al. Throughput-driven floorplanning with wire pipelining
Xiao et al. Functional correlation analysis in crosstalk induced critical paths identification
US6868533B2 (en) Method and system for extending delay and slew metrics to ramp inputs
Fan et al. Technology mapping with crosstalk noise avoidance
Davoodi et al. Voltage scheduling under unpredictabilities: A risk management paradigm
Liu et al. Simultaneous technology mapping and placement for delay minimization
Sulimma et al. Improving placement under the constant delay model
US6907588B2 (en) Congestion estimation for register transfer level code

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees