JP2003502736A - 動的なパーティショニングおよびオンデマンド評価を使用した回路シミュレーション - Google Patents
動的なパーティショニングおよびオンデマンド評価を使用した回路シミュレーションInfo
- Publication number
- JP2003502736A JP2003502736A JP2001503098A JP2001503098A JP2003502736A JP 2003502736 A JP2003502736 A JP 2003502736A JP 2001503098 A JP2001503098 A JP 2001503098A JP 2001503098 A JP2001503098 A JP 2001503098A JP 2003502736 A JP2003502736 A JP 2003502736A
- Authority
- JP
- Japan
- Prior art keywords
- dynamic
- partition
- circuit
- dynamic partition
- partitions
- 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
- 238000011156 evaluation Methods 0.000 title claims abstract description 59
- 238000004088 simulation Methods 0.000 title claims abstract description 44
- 238000000638 solvent extraction Methods 0.000 title abstract description 6
- 238000005192 partition Methods 0.000 claims abstract description 201
- 230000003068 static effect Effects 0.000 claims abstract description 78
- 239000011159 matrix material Substances 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 59
- 238000004519 manufacturing process Methods 0.000 claims 1
- 238000013461 design Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 24
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 235000013599 spices Nutrition 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
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)
- Microelectronics & Electronic Packaging (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
発明は回路シミュレーションに関する。
ティミュラスの記述を受け取って、いくつかの数学の方程式を解きシミュレーシ
ョン期間に与えられた入力スティミュラスに対する回路の応答を決定することを
含む。回路シミュレータの一例は、当初W.Nagelによって開発されたSP
ICEシミュレータである。W.Nagel著「SPICE2,A compu
ter program to simulate semiconducto
r circuits」,University of California
,Berkeley,Memo No.ERL−M520,1975年5月など
を参照されたい。SPICEなどの回路シミュレータでは、回路を連立一次非線
形微分方程式として表す。修正ノード解析などのよく知られている手法を使用し
て、この数学的表現を行なう。その後、図10に示されているように、一連のス
テップに従って連立非線形方程式を解く。これらのステップでは、積分を実行す
る時間ステップを決定し、微分方程式を線形化し、得られた一組の線形代数方程
式を解く。収束していることを判断するためのテストを実行する。収束するまで
このプロセスを繰り返す。収束したら、時間を進めて、このプロセス全体を繰り
返す。
平均してO(N1.5)である。これは、線形代数方程式を解く作業を伴うステッ
プのせいである。この解を得るには、時間複雑度がO(N3)の行列を解く必要
がある。SPICEなどの回路シミュレータのアルゴリズムはこのような超線形
時間複雑度を持つため、大規模な回路を解くことは不可能である。通常、このよ
うなシミュレータの制限に到達するのは、回路規模が100,000デバイスに
達したときである。この規模を超える回路を解くのは、解を求める時間が非常に
長くなるため不可能である。
てきている。数百万トランジスタを搭載する集積回路またはチップはきわめて当
たり前になっている。このようなニーズに対応するために、他のアルゴリズムが
開発されてきた。たとえば、C.X.Huang等著「The design
and implementation of Powermill」、Pro
ceedings of the International Sympos
ium on Low Power Design,pp.105−120,1
995年で開示されているようなC.X.Huang等が開発したアルゴリズム
、Y.H.Shin等著「ILLIADS: A new Fast MOS
Timing Simulator Using Direct Equati
on Solving Approacg」、Proceedings of
28th ACM/IEEE Design Automation Conf
erence,1991年で開示されているようなY.−H.Shih等が開発
したアルゴリズム、およびA.Devgan著「Transient Simu
lation of Integrated Circuits in the
Charge−Voltage Plane」、IEEE Transact
ions on Computer−Aided Design of Int
egrated Circuits and Systems,VI.15,N
o.11,1996年11月で開示されているようなA.Devganによって
開発されたアルゴリズムがある。これらのアルゴリズムは、時間複雑度がO(N
)と線形であることを特徴としているため、大規模回路の取り扱いが可能である
。
ンに分割することによって達成している。行列解の超線形時間を避けるために、
これらのアルゴリズムでは代わりに近似(つまり、不正確な)解法を使用する。
Huangのアプローチでは、ワンステップ・リラクゼーションというアルゴリ
ズムを使用している。このアルゴリズムは多くの場合、不正確さは最大20%ま
でとなり、stiff回路で重大な問題を生じる。普通の回路では、リラクゼー
ションに基づくアルゴリズムでは正しい結果が得られない。緻密なフィードバッ
クまたは結合によって特徴付けられる回路では、このアルゴリズムに問題が発生
する。Shihのアプローチでは、直接的な方程式解決手法を使用する。これは
、二次のShichman and Hodgesモデルによってデバイス・モ
デルを正確にモデル化できる非常に限られた状況だけでうまく働く。これは、正
確なデバイス・モデルを得るために非常に複雑で非線形度の高いBSIM3モデ
ルを必要とする最新のシリコン・プロセス技術にはおおよそ当てはまらない。D
evganは、明示的積分手法を使用しているが、この論文の波形から明らかな
ように、精度は不十分である。行列の方程式を解くのに近似アルゴリズムを使用
する際によくある問題として、すべての回路設計スタイル、特にstiff回路
には通常、一貫して適しているとはいえないという点があげられる。
ルゴリズムの不正確さを欠点としない。パーティショニングとともに行列に基づ
くアルゴリズムを使用すると、良好な精度が得られ、パーティションの境界にあ
るノードのみ精度が劣ることがある。しかし、すべてのパーティションに単一の
時間ステップを使用すると、性能が著しく低下した。 そこで、回路シミュレーションのアプローチを改良することが望まれる。
して回路動作をシミュレートする回路シミュレータを備える。回路シミュレータ
は、静的パーティショナ、動的パーティショナ、および評価スケジューラを含む
。静的パーティショナは、多数の回路の静的パーティションを事前に形成する。
シミュレーション中に、動的パーティショナは静的パーティションを参照しなが
ら多数の動的パーティションを形成し、再形成する。評価スケジューラは、シミ
ュレーション時間ステップごとに、動的パーティションがあればそのうちどれを
評価すべきかを決定し、評価が必要な場合のみオンデマンドで評価する。
成することにより静的パーティションを形成する。静的パーティショナはさらに
、静的パーティションを前処理して、動的パーティショナのニーズに合わせて手
直しした形態にする。一実施態様では、動的パーティショナは、IC設計のデバ
イスがオン状態なのかオフ状態なのかを判別し、それに応じて動的パーティショ
ンを形成する。一実施態様では、評価スケジューラは、動的パーティションのい
ずれかが定常状態にあるかどうかを判別し、それに応じて評価用に動的パーティ
ションをスケジュールする。一実施態様では、評価がその実行時に、精度が要求
される場合は行列解によって実行される。
態を使って説明するが、これに限定されるわけではない。
を説明して、本発明の十分な理解をはかる。しかし、本発明は本発明の態様の一
部のみまたは全部で実施することができ、また本発明は特定の詳細がなくても実
施できることは当業者には明白であろう。他の場合には、本発明をわかりにくく
しないため、よく知られている特徴については省くか、または簡素化している。
他の当業者に伝えるために当業者が一般に採用している用語を用いる。また、横
断(traversing)、生成、決定などの用語を使用してコンピュータ・システムによ
って実行されるオペレーションに関する説明の一部を提示する。当業者であれば
よく理解するように、これらの数量またはオペレーションはデジタル・システム
の電気部品、磁気部品、および光部品を介した電気信号、磁気信号、または光信
号の格納、転送、組み合わせ、およびその他の方法によるオペレーションの形を
取り、またデジタル・システムという用語には、スタンドアローンである、また
は付属する、または組み込みの汎用のみならず専用のデータ処理マシン、システ
ムなどが含まれる。
にわけてさまざまなオペレーションについて説明する。ただし、説明の順序は、
これらのオペレーションが必ず提示されてている順序で実行されることを意味す
ると解釈すべきではないし、あるいはこれらのオペレーションが順序に依存する
とも解釈すべきではない。最後に、「一実施形態において」という語句を繰り返
し使用していても、同じ実施形態を引用している場合があるが必ずしもそうとは
限らない。
図からわかるように、本発明のIC設計シミュレーション・ツール100は設計
読み取り装置102、静的パーティショナ103、およびシミュレーション・エ
ンジン104で構成され、シミュレーション・エンジン104には動的パーティ
ショナ107、スケジューラ109、ノード・エバリュエータ108、およびモ
デル・エバリュエータ106が含まれる。これらの要素は、図に示されているよ
うに相互に動作するように結合されている。以下で詳述するように、静的パーテ
ィショナ103、動的パーティショナ107、およびスケジューラ109は、本
発明の教示を具体化したものである。設計読み取り装置102およびモデル・エ
バリュエータ106のいくつかの態様は、本発明に引用で完全に取り込まれてい
る「Adaptive Integrated Circuit Design
Simulation Transistor Modeling And
Evaluation」という名称の米国同時係属出願第<未決定>号の主題で
ある。
110を読み取るのに使用される。設計説明書110には、IC設計内の電子デ
バイスをモデル化している各種モデルを接続する接続情報が記述される。一実施
形態において、階層設計の平坦化に加えて、設計読み取り装置102ではさらに
、デバイス特性をIC設計の電子デバイスのうち選択されたデバイスに割り当て
る。静的パーティショナ103は、IC設計をプリコンパイルするか、または事
前にパーティショニングして静的パーティションにするとともに、静的パーティ
ションを前処理して、動的パーティション107に特に適した形式にする。シミ
ュレーション時に、動的パーティショナ107はさらに、事前に形成された静的
パーティションを参照しながら、関連するIC設計の動的パーティションを形成
し、再形成する。スケジューラ109は、特定のシミュレーション時間ステップ
で動的パーティションに評価が必要かどうかを判定し、必要に応じてまたはオン
デマンドで評価対象の動的パーティションをスケジュールする。それに応じて、
ノード・エバリュエータ108およびモデル・エバリュエータ106を必要に応
じてまたはオンデマンドで選択的に呼び出して、モデルを接続している接続部の
状態と、電流、電圧など、モデルのさまざまなパラメータ値をそれぞれ評価する
。一実施形態において、モデル・エバリュエータのうち少なくとも1つはデバイ
スの割り当てられたデバイス特性に従ってさまざまな精度または性能レベルでモ
デル・エバリュエータを適応させながら実行する。精度が必要な場合は、行列解
により評価を実行する。
いては、上で説明しており、米国同時係属出願の引用により取り込まれ識別され
ている。静的パーティショナ103、動的パーティショナ107、およびスケジ
ューラ109について、以下で順番にさらに詳しく説明してゆく。当業者であれ
ば後の説明から明白なように、本発明は、必要に応じて精度を設定できるが、そ
うでなくて精度が不要な場合にも性能を発揮できるという利点がある。その結果
、本発明は従来技術のアプローチに比べて優れた総合的性能レベルおよび精度レ
ベルを達成している。
ンの流れを示す2つのブロック図が掲載されている。図からわかるように、20
2では、静的パーティショナ103はまず設計をグラフとして表す。グラフ表現
では、プリミティブ・デバイス(つまり素子)は、それぞれグラフ・モデルで表
され、プリミティブ・デバイス(これ以降簡単にデバイスと呼ぶ)の接続性は、
グラフ・モデルの接続性として表される。(図11a〜11dでは、4つのデバ
イス例のグラフ表現を示している。他のデバイスも同様に表すことができる。)
次に、204で、静的パーティショナ103がグラフを分析し、デバイスを接続
された集合にパーティショニングする。静的パーティショナ103は、グラフ内
の各ノードから始めて、そのノードに接続されているすべてのエッジを横断し、
エッジの反対側に接続されているノードをこのノードの接続されている集合に持
ち込む。すべてのエッジの横断が済むと、静的パーティショナ103は次のノー
ドでオペレーションを実行する。このプロセスは、すべてのノードのオペレーシ
ョンが完了するまで繰り返される。そのようなときに、多数の接続された集合ま
たは静的パーティショナが形成されている。(図12〜13は、IC設計例への
このプロセス応用例を示しており、IC設計をパーティショニングして3つの静
的パーティションにし、それぞれの静的パーティションに専用のグラフ表現を持
たせている。)
の静的パーティションを作った後、静的パーティショナ103はさらに信号の流
れに従ってその静的パーティションの順序を決定する、206。信号の流れの順
序付けは、有向グラフを最初に作成することにより行う(図14を参照)。この
有向グラフでは、1つのノードが1つの静的パーティションを表している。ノー
ド1からノード2へ向かう有向エッジは、ノード1からノード2への信号の流れ
を表す。
信号流れグラフを分析し、静的パーティションを「平準化」する。強接続コンポ
ーネントの識別には、さまざまな知られている手法のいずれか1つ、たとえば、
Tarjan著「Depth−First Search and Linea
r Graph Algorithms」、SIAM Journal on
Computing,Vol.1,No.2,June 1972で開示されて
いる強接続コンポーネント・アルゴリズムを使用する。同じ強接続コンポーネン
ト内のすべてのノード(つまり、パーティション)は、同じレベルにあるとみな
される。各ノード(つまり、パーティション)にはレベルが割り当てられる。ノ
ード(つまりパーティション)はそれに付属するエッジがなければ最小レベル、
つまりレベル0が割り当てられる。レベルnのノード(つまり、パーティション
)では、静的パーティショナ103がこのノード(つまり、パーティション)か
ら出るすべてのエッジを横断し、エッジをまたいでいるノード(つまり、パーテ
ィション)にレベルn+1を割り当てる。レベルnのすべてのノード(つまり、
パーティション)が処理された後、静的パーティショナ103は、レベルn+1
のノード(つまり、パーティション)に進み、これをすべてのノード(つまり、
パーティション)が処理されるまで続ける。こうして、平準化プロセスを通じて
、低い番号を割り当てられたパーティションから高い番号を割り当てられたパー
ティションへ信号が流れるようになる。
するパーティションに同じレベル番号が割り当てられないようにする。任意の点
で、静的パーティショナ103はレベル番号の割り当てを上げる。
処理し、動的パーティショナ107に特に適した形にし、シミュレーション時に
動的パーティショナを形成し、それにより、シミュレーション・エンジン104
でなおいっそう高い性能改善を実現することが可能である。より具体的にいうと
、静的パーティションごとに、静的パーティショナ103により静的パーティシ
ョンのグラフ表現のノードとエッジの順序が定まる。図3に示されているように
、各静的パーティションの順序確定プロセスは3つのステップからなるプロセス
である。302で、静的パーティショナ103は深さを先にする形でグラフ表現
を横断し、双接続コンポーネントを識別する。304で、静的パーティショナ1
03は双接続コンポーネントの順序を変えて樹木構造にする(図15を参照)。
ルートが選択された後、他のすべての双接続コンポーネントの順序を樹木接続に
基づいて設定できる。図に示されている実施形態では、静的パーティショナ10
3はルートとして最大数のノードを持つ双接続コンポーネントを選択する。
のノードの順序を決める。図に示された実施形態では、静的パーティショナ10
3は、双接続コンポーネントを3つのタイプに分類している。タイプIは、単一
のエッジを持つ双接続コンポーネントである。タイプIIは、複数のエッジを持
つ双接続コンポーネントであるが、ノードはちょうど2つのエッジを除去するこ
とにより双接続コンポーネントを2つの接続されていない部分に分けられるよう
に接続されている。このタイプのグラフは、2接続または直列−並列と呼ばれる
ことが多い。タイプIIIは、タイプIともタイプIIとも分類できない双接続
コンポーネントである。
ノードからエッジの順序付けを行う。ノードは小から大に向かって順序付けられ
る。エッジは常に、2つのノードの間で接続される。エッジの南ノードは常に、
北エッジよりも低い順序となる。
が、他のノードよりも高い順序となる。したがって、エッジは高い順序のノード
が北ノードで、低い順序のノードが南ノードとなるように配列される。
ロセス(reduction process)が実行される。このプロセスにより、タイプIIの
双接続コンポーネントはタイプIの双接続コンポーネントに縮小される。次に新
規に形成されたタイプIの双接続コンポーネントは前に述べたように順序付けら
れる。縮小された双接続コンポーネントがタイプIの双接続コンポーネントとし
て順序付けられた後、直列および並列の縮小プロセスを逆転して、縮小されたノ
ードとエッジを展開し、その後、展開されたとおりに順序付ける。
示されている。図は双接続コンポーネント5に適用されるだけでなく、双接続コ
ンポーネント1にも適用される(両方とも、上の定義に従いタイプIIである)
。図からわかるように、直列接続エッジのペア1602aと1602b、および
1604aと1604bは、エッジ1606aと1606bでそれぞれ置き換え
ることができる。次に、並列エッジのペア1606aと1606c、および16
06bと1606dは、エッジ1608aと1608bでそれぞれ置き換えるこ
とができる。同様に、直列接続エッジのペア1608aと1608c、および1
608bと1608dは、エッジ1610aと1610bでそれぞれ置き換える
ことができる。最後に、並列エッジのペア1610aと1610bは、エッジ1
612で置き換えることができる。逆転プロセスはこれとちょうど反対である。
ーション306の実行に戻ると、タイプIIIの双接続コンポーネントごとに、
ノードはすべて、そのノードに接続されているエッジの数に基づいて集められ、
ソートされる。ノードに接続しているエッジの数をノード次数と呼ぶ。次に、ソ
ートされたノード(または後のフェーズでは残りのノード)のうちから、静的パ
ーティショナ103はノード次数が最小のノードを選択し、ノードの順序付けら
れていないすべてのエッジを辿り、選択されたノードをそれらのエッジの南ノー
ドとする。選択されたノードがそれらのエッジの南ノードになった後、エッジは
順序付けられたとみなされ、それに応じてマークが付けられる。次に、それらの
エッジの北ノードのノード次数はすべて1だけ減らされる。さらに、選択された
ノードについてフィル・エッジが挿入される。その後、このプロセスを最小ノー
ド次数の次のノードについて繰り返す。すべてのノードが処理されるまで繰り返
す。
ションにより静的パーティション上で行列解オペレーションを実行できる(評価
が必要な場合)。フィル・エッジは、行列計算のフィルインと同じ機能を表す。
シミュレーションの前にすべてのフィル・エッジを決定することにより、評価に
必要な計算量を十分に減らし、性能を高めることができる。ノードn1のフィル
・エッジは、ノードn1の北エッジを見ることで決定される。北ノードm1を持
つ北エッジごとに、続くそれぞれの北エッジの北ノードm2を調べる。ノードm
1およびm2を接続するエッジがない場合、フィル・エッジがそれら2つのノー
ドの間に追加され、ノードm1は北ノード、ノードm2は南ノードとなる。ノー
ドm1およびm2のノード次数はそれぞれ1だけ増やされる。フィル・エッジ挿
入プロセスは、それ自体、ノードn1のすべての北エッジが処理されるまで漸次
繰り返される。
オペレーションの流れが示されている。オペレーションの流れの概要をまず示し
、その後オペレーションのうち選択されたものについて詳述する。図に示されて
いるように、402で、動的パーティショナ107はまず最初に、IC設計のさ
まざまなデバイスの状態、つまりON状態なのかOFF状態なのかを決定する。
一般に、デバイスは、デバイスの端子に出る電圧に応じてONまたはOFFとみ
なされる。(図17a〜17dでは、4つのデバイス・タイプのデバイスがON
状態なのかOFF状態なのかを決定する4つの特定のモデルまたはルールの例を
示している。他のモデルおよびルールも採用できる。)404で、動的パーティ
ショナ107はデバイスがON状態なのかOFF状態なのかに従って動的パーテ
ィションを形成する。つまり、動的パーティションは、ON状態になっているデ
バイスを通じていっしょに接続されているノードとして形成される。図の実施形
態では、静的パーティションを形成し前処理(順序付け)する方法により、動的
パーティショナ107は静的パーティションを参照しながら、つまり静的パーテ
ィションごとに動的パーティションを形成することができる。そのため、すべて
の動的パーティションは、形成された場合、デフォルトで、対応する静的パーテ
ィションの部分集合となり、その結果、動的パーティション形成オペレーション
が著しく合理化され、総合的性能が改善される。さらに、いったん形成されると
それぞれの動的パーティションはOFFからONまたはONからOFFに変化す
るデバイスの影響を受けない限り変化することがなく、これもやはり、動的パー
ティション形成プロセスの著しい合理化および性能改善の要因となっている。デ
バイスがOFFからON、またはONからOFFに変わるときに、既存の動的パ
ーティションをマージするか分割するかを考慮する必要がある。動的パーティシ
ョンのマージと分割を含む、動的パーティション形成プロセスについて、以下で
さらに詳しく説明するが、その前にこれらの動的パーティションおよびオンデマ
ンド評価を採用している総合的シミュレーション戦略について説明する。
後、スケジューラ109はシミュレーション時間を進める。408で、スケジュ
ーラ109はさらに、動的パーティションがあるとすればどれが評価を必要とす
るかを決定する。410で、スケジューラ109は、評価を必要とする動的パー
ティションのみをスケジュールする。つまり、本発明によれば、ノードおよびデ
バイス・モデルの評価は、必要に応じてか、またはオンデマンドでのみ実行され
るということである。その結果、経験上知られているようにシミュレーション性
能を著しく改善できる。さらに、前述のように、評価を実行する場合、精度が必
要なときに行列解方式を使用して実行し、それにより、性能と精度を同時に高め
ることができる。
109は十分な数のシミュレーション・サイクルを適用したかどうかを判定する
414。望む数のシミュレーション・サイクルが適用されていない場合、プロセ
スはオペレーション402に戻り、そこで、デバイス状態が再評価される。再評
価後、必要ならば動的パーティションを再形成し、これに、既存の動的パーティ
ションのマージおよび/または分割を含めることもできる。最終的に、414で
十分な数のシミュレーション・サイクルを適用したと判断されるまで、必要な回
数だけオペレーション402〜414を繰り返す。そのように判断されたときに
プロセスは終了する。
デバイスがON状態なのかOFF状態なのかに従って動的パーティションを形成
する。動的パーティションは、ON状態になっているデバイスを通じていっしょ
に接続されているノードで形成される。図の実施形態では、動的パーティショナ
107は静的パーティションを参照しながら、つまり静的パーティションごとに
、動的パーティションを形成する。図5は、一実施形態に従って、静的パーティ
ション内に動的パーティションを形成するオペレーションの流れを示している。
図からわかるように、502で、動的パーティショナ107はまず、静的パーテ
ィショナ103によって確定された順序に従ってそれぞれの静的パーティション
のノードをソートする。504で、動的パーティショナ107は、順序が最低の
ノードでトレースを開始することにより動的パーティションのメンバの収集を開
始する。506で、動的パーティショナ107は、ノードの北エッジがON状態
かどうかを判定する。「ON」状態であれば、そのノードは形成される動的パー
ティションに含まれる(508)。続いて、次に高い順序のノードが選択されて
調査され(510)、506でプロセスが継続する。「ターミナル」ノードに到
達するまで、つまり「ON」状態の北エッジを持たないノードに達するまでオペ
レーション506〜510が何度も繰り返される。達したと判断されたときにプ
ロセスは終了する。このときに、すべての「ターミナル」ノードおよびそれらの
ノードの南のすべてのノードが含まれており、動的パーティションを形成する。
マージし、1つの動的パーティションを分割するオペレーションの流れを示して
いる。図6aに示されているように、OFF状態からON状態に移行するデバイ
スを調べるために、動的パーティショナ107はまず、これらのデバイスのうち
1つ、つまりOFF状態からON状態に移行したデバイスを選択する(602)
。次に、604で、動的パーティショナ107は、デバイス間のノードが別の動
的パーティション内に配置されているかどうかを判別する(たとえば、図18a
を参照)。デバイス間のノードが本当に別の動的パーティションに配置されてい
るのであれば、動的パーティショナ107は2つの動的パーティションをマージ
する(606)。そうでない場合は、オペレーション606をスキップする。2
つの動的パーティションをマージするか、またはオペレーションをスキップする
と、608で、動的パーティショナ107は調査すべき「OFF」から「ON」
へのデバイスがさらにあるか判別する。あれば、プロセスは602から続行する
。なければプロセスは終了する。
調べるために、動的パーティショナ107はまず、このようなデバイスのうち1
つ、つまりON状態からOFF状態に移行したデバイスを選択する(610)。
次に、612で、動的パーティショナ107は動的パーティションを2つの動的
パーティションに分割し、ON状態からOFF状態にデバイスが移行した場合に
いっしょに元の動的パーティションを分割する(たとえば図18bを参照)。動
的パーティションを分割した後、614で、動的パーティショナ107は調査す
べき「ON」から「OFF」へのデバイスがさらにあるか判別する。あれば、プ
ロセスは610から続行する。なければプロセスは終了する。
、動的パーティションがあるとすればどれが評価を必要とするかを決定する。図
の実施形態では、シミュレーション時間ステップが現在のシミュレーション時間
ステップと「同期」しているときかつそのときに限り一番最初の動的パーティシ
ョンを評価対象とみなすことができる(たとえば図19を参照)。それぞれの動
的パーティションのシミュレーション時間ステップは、互いに無関係である。そ
れぞれの動的パーティションのシミュレーション時間ステップは、動的パーティ
ション内のデバイスおよびノードによって課される要件、さらに動的パーティシ
ョンに影響を及ぼす信号に基づいて決定される。たとえば、ノード上の電圧の変
化率により、パーティションに対する時間ステップが決まる。通常、動的パーテ
ィションに対し選択された時間ステップは、動的パーティション内の各ノードか
ら決定された最小の時間ステップである。シミュレーション時間ステップの独立
した処理は、精度を犠牲にすることなく、本発明のシミュレーション・ツールの
性能改善に寄与するもう1つの要因である。それぞれのシミュレーション時間ス
テップで、すべての動的パーティションを調査する必要があるわけではないため
、実際にはそれよりも小さいシミュレーション時間ステップを採用して1つの動
的パーティションにおける精度を改善することができるが、他の動的パーティシ
ョンについてはそれより大きな時間ステップをそのまま選択できるため性能コス
トの影響を受けることがない。
ーティションが定常状態にない場合のみ必要とみなされる。動的パーティション
が定常状態にないと考えられる場合は、評価状態にあるともいう。これは、精度
を犠牲にすることなく、本発明のシミュレーション・ツールの性能改善に寄与す
るもう1つの要因である。図の実施形態では、スケジューラ109は多数の決定
ルールを用いて、これらの動的パーティションのうち1つが定常状態にあるとみ
なされるか、したがって評価は不要であるかを決定する。
ないときに動的パーティションは定常状態に入ること、 b)ユーザー定義入力のせいで動的パーティション内のデバイスのゲート・ノ
ードが変化している場合には動的パーティションは定常状態に入れないこと、 c)1回の評価後定常状態にある動的パーティションは定常状態に入れないこ
と(遅延ゼロのループが形成されないようにするため。以下の段落でさらに詳し
く説明する)、 d)入力信号または動的パーティションのノードが変更される限り、動的パー
ティションは評価することである。
接する動的パーティションを評価する必要があるかどうかを決定する。決定を下
すために、ゲートがノードに接続されているすべてのデバイスを横断する。デバ
イスがOFF状態であり、またこのデバイスの新しい状態がON状態であると判
断された場合、このデバイスのドレイン・ノードとソース・ノードの動的パーテ
ィションに対する評価は必要とみなされる。これらの動的パーティションが定常
状態にある場合、評価状態に変更され、評価のスケジュールが行われる。これら
の動的パーティションがすでに評価状態にある場合は、これらの動的パーティシ
ョンのシミュレーション時間ステップを減らすべきかどうか考慮する。シミュレ
ーション時間ステップは、ゲート・ノードが急激に変化する場合に減らされる。
ただし、ゲート・ノードの変化が十分に急速でないと判断される場合は、時間ス
テップは変更せずそのままである。ただし、デバイスの新しい状態が同じOFF
状態であれば、処置は講じられない。デバイスがON状態で、新しい状態がOF
F状態である場合も、処置は講じられない。新しい状態がON状態の場合、OF
FからONへの遷移の場合と同じルールが適用される。
的パーティションのループが評価のためトリガされたときに形成される(図20
を参照)。このようなループに関わるすべての動的パーティションが評価されて
いるので、ゼロ遅延ループはループ内の動的パーティションのうち少なくとも1
つが評価状態にない場合のみ存在できる。つまり、ゼロ遅延ループが持続するた
めには定常状態から評価状態へ遷移し、1回の評価の後定常状態に戻る動的パー
ティションが少なくとも1つ存在している必要がある。これが起こらないように
するには、定常状態にあり、評価のため評価状態に移行した動的パーティション
が1回の評価後に定常状態に戻らないようにする。こうして、図の実施形態では
、動的パーティションが定常状態から評価状態に移行し、その後即座に定常状態
に移行することが不可能なようにされている。定常状態から評価状態への遷移は
ゼロ遅延で発生しうるが、評価状態から定常状態への遷移はゼロ遅延では起こら
ないため、ゼロ遅延ループのトリガは防がれる。
ィションがスケジュールされている。図の実施形態では、ある種のケースに対し
て評価を実行する時期を慎重に選択することにより評価の精度を保証している。
OFF状態にあり、デバイスがON状態に移行する電圧変化を受けているデバイ
スのゲート・ノードの場合、このデバイスが属している動的パーティションの評
価は現在の時点で、即座に「トリガ」がかかる。評価に対する「トリガ」は、ゼ
ロ遅延で発生するため、精度は保証される。ゼロ遅延ループを防止する機能を持
たない場合、そのようなゼロ遅延トリガは可能でなく、したがって精度が著しく
失われることを指摘しておく。インバータの長いチェーンがある他の場合では、
すべてが定常状態電圧にあり、最初のインバータの入力が変化すると、ゼロ遅延
トリガにより、すべてのインバータがこのときに評価される。トリガの遅延が小
さくても、チェーンの終わりのところのインバータはかなり遅い時期に評価され
、そのため、精度が著しく落ちる。
た動的パーティションが評価される。一般に、評価対象の動的パーティション内
のすべてのノードは、ルートからリーフまで動的パーティションが出現する順序
でスタックに挿入される。評価スタックに挿入された後、スタック内のノードは
リーフからルートへの順序で順番に評価される。このボトムアップのノード横断
では、行列解のガウス消去法ステップが実行される。ルート・ノードに到達した
ら、横断が逆転される。ルートから行列解法の前方置換ステップを実行するノー
ドのトップダウン横断が実行される。このトップダウン横断の終わりに、解が求
められる。以前に暗示したように、モデル評価のうち選択した評価で評価のいく
つかを適応実行しており、これについては引用で取り込まれている特許出願で詳
しく説明している。
ツールが示されている。図からわかるように、EDAツール・スイート800に
は、さまざまな図を参照しながらすでに説明しているように本発明の教示により
取り込まれている回路シミュレータ802が含まれる。さらに、EDAツール・
スイート800には、他のツール・モジュール804が含まれる。これらの他の
ツール・モジュール802の例は、合成モジュール、レイアウト検証モジュール
などを含むが、これらに限られるわけではない。
の一実施形態を示している。図からわかるように、コンピュータ・システム90
0は、システム・バス906を介して互いに結合されたプロセッサ902および
メモリ904を備える。システム・バス906には、ハード・ディスク、フロッ
ピー(登録商標)・ディスクなどの不揮発性大容量記憶装置908、キーボード
、表示装置などの入出力デバイス910、およびモデム、LANインターフェイ
スなどの通信インターフェイス912が結合されている。それぞれの要素は、従
来技術で知られている通常の機能を実行する。特に、システム・メモリ904お
よび不揮発性大容量記憶装置908は、本発明の上述の教示を実施するプログラ
ム命令の作業用コピーおよび永久的コピーを格納するために採用されている。シ
ステム・メモリ904および不揮発性大容量記憶装置906も、IC設計の格納
に使用できる。本発明を実施するためのプログラム命令の永久的コピーは、工場
で、あるいは現場で配布ソース/媒体914およびオプションで通信インターフ
ェイス912を使って不揮発性大容量記憶装置908にロードすることができる
。配布媒体914の例としては、テープ、CDROM、DVDなどの記録可能媒
体がある。一実施形態では、プログラム命令は図8のEDAツール800を実行
するプログラム命令の集まりの一部である。要素902〜914の構成はよく知
られており、したがってこれ以上述べない。
ないことを理解できるであろう。それどころか、本発明は付属の特許請求項の精
神と範囲において修正と変更を加えて実施できる。すなわちこの説明は、本発明
の制約としてではなく、解説としてみなされる。
流れを示す図である。
流れを示す図である。
ンの流れを示す図である。
流れを示す図である。
流れを示す図である。
ある。
図である。
るコンピュータ・システム例の図である。
Claims (33)
- 【請求項1】 回路をシミュレートするためのコンピュータで実行する方法
であって、 回路の複数の動的パーティションを形成すること、および 各シミュレーション時間ステップで、動的パーティションを評価するかどうか
を決定し、評価を必要とする動的パーティションのみを評価すること を含む方法。 - 【請求項2】 前記回路の動的パーティションの形成が、事前形成した静的
パーティションを参照しながら実行されることを特徴とする請求項1に記載の方
法。 - 【請求項3】 前記静的パーティションを事前形成するステップをさらに含
むことを特徴とする請求項2に記載の方法。 - 【請求項4】 前記静的パーティションの事前形成が回路のデバイスを接続
セットに編成することを含み、それぞれの接続セットが静的パーティションを形
成することを特徴とする請求項3に記載の方法。 - 【請求項5】 前記静的パーティションの事前形成が少なくとも信号の流れ
に従って事前形成された静的パーティションの順序を決定することをさらに含む
ことを特徴とする請求項4に記載の方法。 - 【請求項6】 前記事前形成された静的パーティションの順序決定がさらに
、強接続コンポーネントが配置される場所に応じて実行されることを特徴とする
請求項5に記載の方法。 - 【請求項7】 事前形成された静的パーティションのそれぞれのグラフィッ
ク表現のノードとエッジの順序を決定することをさらに含むことを特徴とする請
求項3に記載の方法。 - 【請求項8】 事前形成された静的パーティションの1つのグラフィック表
現のノードとエッジの前記順序決定のそれぞれが、双接続コンポーネントを識別
すること、および識別された双接続コンポーネントを使用して前記順序決定を実
行することを含むことを特徴とする請求項7に記載の方法。 - 【請求項9】 前記動的パーティションの形成が、ONになっているデバイ
スを識別すること、および識別されたONデバイスによって接続されているグラ
フィック表現内のノードを識別することを含み、相互接続されたノードの各集ま
りが動的パーティションを形成することを特徴とする請求項1に記載の方法。 - 【請求項10】 前記動的パーティションの形成が動的パーティションのマ
ージおよび/または分割を行うことを含むことを特徴とする請求項1に記載の方
法。 - 【請求項11】 前記動的パーティションを評価すべきかどうかの決定が、
動的パーティションが定常状態にあるかどうかを決定することを含むことを特徴
とする請求項1に記載の方法。 - 【請求項12】 前記動的パーティションを評価すべきかどうかの決定が、
ゼロ遅延トリガ・ループが形成されないようにすることをさらに含むことを特徴
とする請求項11に記載の方法。 - 【請求項13】 前記評価を必要とする動的パーティションの評価が、ボト
ムアップ方式で動的パーティションのグラフィック表現を横断すること、および
動的パーティションのグラフィック表現の各ノードについて行列解を計算するこ
とを含むことを特徴とする請求項1に記載の方法。 - 【請求項14】 製造物品であって、 実行されると請求項1で規定しているような方法を実行する、プロセッサによ
って実行される複数のプログラム命令を格納している記録媒体を備える物品。 - 【請求項15】 プログラム命令が実行されるとそれが、さらに請求項2で
規定された追加のオペレーションを実行させることを特徴とする請求項14に記
載の物品。 - 【請求項16】 プログラム命令が実行されるとそれが、さらに請求項9で
規定された追加のオペレーションを実行させることを特徴とする請求項14に記
載の物品。 - 【請求項17】 プログラム命令が実行されるとそれが、さらに請求項12
で規定された追加のオペレーションを実行させることを特徴とする請求項14に
記載の物品。 - 【請求項18】 コンピュータ・システムにおいて、 回路をシミュレートするための回路シミュレータを実行する複数のプログラム
命令を格納している記憶媒体であって、回路シミュレータが、 回路の複数の動的パーティションを形成するための動的パーティショナと、 各シミュレーション時間ステップで、動的パーティションのそれぞれを評価す
るかどうかを決定し、評価を必要とする動的パーティションのみを評価する評価
スケジューラとを含む記憶媒体と、 回路シミュレータを動作させるプログラム命令を実行するために記憶媒体に結
合されているプロセッサと を備えるコンピュータ・システム。 - 【請求項19】 実施された回路シミュレータの前記動的パーティショナが
、事前形成された静的パーティションを参照しながら回路の前記動的パーティシ
ョンを形成し、 前記実施された回路シミュレータが前記静的パーティションを事前形成するた
めの静的パーティショナをさらに備えることを特徴とする請求項18に記載のコ
ンピュータ・システム。 - 【請求項20】 前記動的パーティショナが、ONになっているデバイスを
識別し、識別されたONデバイスによって接続されているグラフィック表現内の
ノードを識別することによって動的パーティションを形成し、相互接続されたノ
ードの各集まりが動的パーティションを形成することを特徴とする請求項18に
記載のコンピュータ・システム。 - 【請求項21】 前記回路シミュレータが、ボトムアップ方式で動的パーテ
ィションのグラフィック表現を横断し、動的パーティションのグラフィック表現
の各ノードについて行列解を計算することによって、評価を必要とする動的パー
ティションを評価するノードおよびモデル・エバリュエータを備えることを特徴
とする請求項18に記載のコンピュータ・システム。 - 【請求項22】 回路をシミュレートするため動的パーティションを形成す
る方法であって、 ONになっている回路のデバイスを識別すること、および 識別されたONデバイスによって接続されている回路のグラフィック表現のノ
ードを識別することを含み、ノードの相互接続されているそれぞれの集まりが動
的パーティションを形成する方法。 - 【請求項23】 すでに形成されている動的パーティションをマージおよび
/または分割するステップをさらに含むことを特徴とする請求項22に記載の方
法。 - 【請求項24】 回路をシミュレートするためオンデマンドで回路の動的パ
ーティションを評価する方法であって、 動的パーティションが定常状態にあるかどうかを判別すること、および 動的パーティションが定常状態にあると判断された場合に評価対象の動的パー
ティションをスケジュールすること を含む方法。 - 【請求項25】 動的パーティションが定常状態にあるかどうかの前記判別
ステップが、 複数のプリセット値により動的パーティションのノードが変更されるかどうか
、 動的パーティション内のデバイスのゲート・ノードがユーザ定義入力のせいで
変更されるかどうか、 他のすべての動的パーティションが定常状態にあるかどうか、 少なくとも1つの入力信号または動的パーティションの少なくとも1つのノー
ドが変更されているかどうかのうち少なくとも1つを含む複数の決定ルールを調
べることを含むことを特徴とする請求項24に記載の方法。 - 【請求項26】 複数のプログラム命令を格納している記憶媒体と、 ONになっている回路のデバイスを識別すること、および識別されたONデバ
イスによって接続されている回路のグラフィック表現内のノードを識別すること
を含めて、回路のシミュレーションが行われている間にプログラム命令を実行し
て回路の動的パーティションを形成するため記憶媒体に結合されているプロセッ
サと を備え、ノードの相互接続されたそれぞれの集まりが動的パーティションを形成
するコンピュータ・システム。 - 【請求項27】 プロセッサがさらに、すでに形成されている動的パーティ
ションをマージおよび/または分割するプログラム命令を実行することを特徴と
する請求項26に記載のコンピュータ・システム。 - 【請求項28】 複数のプログラム命令を格納している記憶媒体と、 動的パーティションが定常状態にあるかどうかを判別すること、および動的パ
ーティションが定常状態にないと判断された場合に評価のため動的パーティショ
ンをスケジュールすることを含めて、回路のシミュレーションが行われている間
に時間ステップにてオンデマンドで回路の動的パーティションを評価するプログ
ラム命令を実行するため記憶媒体に結合されているプロセッサと を備えるコンピュータ・システム。 - 【請求項29】 プロセッサがさらに動的パーティションが定常状態にある
かどうかを判別するため複数のルールを調べるプログラム命令を実行し、前記ル
ールが、 複数のプリセット値により動的パーティションのノードが変更されるかどうか
、 動的パーティション内のデバイスのゲート・ノードがユーザ定義入力のせいで
変更されるかどうか、 他のすべての動的パーティションが定常状態にあるかどうか、 少なくとも1つの入力信号または動的パーティションの少なくとも1つのノー
ドが変更されているかどうかのうち少なくとも1つを含むことを特徴とする請求
項28に記載のコンピュータ・システム。 - 【請求項30】 回路をシミュレートするため回路の動的パーティションを
評価する方法であって、 シミュレーション中に、以前に形成され順序付けられた静的パーティションを
参照しながら動的パーティションを形成すること、および 形成された動的パーティションのうちの選択されたパーティションを評価する
ことを含み、選択されたそれぞれの動的パーティションが行列解を通じて順序付
けられた方法で評価される方法。 - 【請求項31】 形成された動的パーティションの前記選択的評価がオンデ
マンドで、必要に応じて実行されることを特徴とする請求項30に記載の方法。 - 【請求項32】 複数のプログラム命令を格納している記憶媒体と、 回路のシミュレーションが行われている間に、以前に形成された順序付けられ
ている静的パーティションを参照しながら回路の動的パーティションを形成する
プログラム命令を実行し、行列解を通じて順序付けられた方法で形成された動的
パーティションのうち選択されたパーティションを評価するため記憶媒体に結合
されているプロセッサと を備えるコンピュータ・システム。 - 【請求項33】 プロセッサがさらに、動的パーティションの前記選択的評
価をオンデマンドで、必要に応じて実行するプログラム命令を実行することを特
徴とする請求項32に記載のコンピュータ・システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/333,124 US6480816B1 (en) | 1999-06-14 | 1999-06-14 | Circuit simulation using dynamic partitioning and on-demand evaluation |
US09/333,124 | 1999-06-14 | ||
PCT/US2000/011508 WO2000077693A1 (en) | 1999-06-14 | 2000-04-28 | Circuit simulation using dynamic partitioning and on-demand evaluation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003502736A true JP2003502736A (ja) | 2003-01-21 |
JP2003502736A5 JP2003502736A5 (ja) | 2010-02-25 |
Family
ID=23301391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001503098A Pending JP2003502736A (ja) | 1999-06-14 | 2000-04-28 | 動的なパーティショニングおよびオンデマンド評価を使用した回路シミュレーション |
Country Status (5)
Country | Link |
---|---|
US (1) | US6480816B1 (ja) |
EP (1) | EP1192569A1 (ja) |
JP (1) | JP2003502736A (ja) |
AU (1) | AU4676900A (ja) |
WO (1) | WO2000077693A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011528839A (ja) * | 2009-07-28 | 2011-11-24 | シノプシイス インコーポレイテッド | 電子回路の階層的次数ランキングされたシミュレーション |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7337416B1 (en) * | 1998-07-22 | 2008-02-26 | Magma Design Automation, Inc. | Method of using strongly coupled components to estimate integrated circuit performance |
US6937969B1 (en) * | 1999-06-10 | 2005-08-30 | Interuniversitair Microelektronica Centrum (Imec) | Method for determining signals in mixed signal systems |
US7120877B2 (en) * | 2001-04-10 | 2006-10-10 | National Instruments Corporation | System and method for creating a graphical program including a plurality of portions to be executed sequentially |
US7076416B2 (en) * | 2001-08-20 | 2006-07-11 | Sun Microsystems, Inc. | Method and apparatus for evaluating logic states of design nodes for cycle-based simulation |
US7328195B2 (en) * | 2001-11-21 | 2008-02-05 | Ftl Systems, Inc. | Semi-automatic generation of behavior models continuous value using iterative probing of a device or existing component model |
US20030149962A1 (en) * | 2001-11-21 | 2003-08-07 | Willis John Christopher | Simulation of designs using programmable processors and electronically re-configurable logic arrays |
WO2004021252A1 (en) * | 2002-08-27 | 2004-03-11 | Freescale Semiconductor, Inc. | Fast simulation of circuitry having soi transistors |
US7110930B2 (en) * | 2002-11-15 | 2006-09-19 | International Business Machines Corporation | Integrated circuit and package modeling |
DE10303684B4 (de) * | 2003-01-30 | 2005-11-24 | Infineon Technologies Ag | Verfahren und Vorrichtung zur formalen Schaltungsverifikation einer digitalen Schaltung |
CN100492372C (zh) * | 2004-06-23 | 2009-05-27 | 斯欧普迪克尔股份有限公司 | 用于单片、硅基光电电路的设计、仿真和验证的集成方法 |
US7617465B1 (en) | 2004-09-16 | 2009-11-10 | Cadence Design Systems, Inc. | Method and mechanism for performing latch-up check on an IC design |
US8448096B1 (en) | 2006-06-30 | 2013-05-21 | Cadence Design Systems, Inc. | Method and system for parallel processing of IC design layouts |
US8806426B2 (en) * | 2008-06-04 | 2014-08-12 | Microsoft Corporation | Configurable partitioning of parallel data for parallel processing |
US8527257B2 (en) | 2011-07-01 | 2013-09-03 | Fujitsu Limited | Transition-based macro-models for analog simulation |
CN103034750B (zh) * | 2011-09-30 | 2016-06-15 | 济南概伦电子科技有限公司 | 可重复电路仿真的方法和系统 |
US8903698B2 (en) | 2012-05-15 | 2014-12-02 | Fujitsu Limited | Generating behavioral models for analog circuits |
CN103970604B (zh) | 2013-01-31 | 2017-05-03 | 国际商业机器公司 | 基于MapReduce架构实现图处理的方法和装置 |
US9053278B1 (en) | 2013-03-15 | 2015-06-09 | Gear Design Solutions | System and method for hybrid cloud computing for electronic design automation |
US9286427B1 (en) | 2013-03-15 | 2016-03-15 | Gear Design Solutions | System and method for netlist extraction and circuit simulation |
TWI614686B (zh) * | 2015-12-15 | 2018-02-11 | 財團法人工業技術研究院 | 系統模擬方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5305229A (en) | 1991-09-06 | 1994-04-19 | Bell Communications Research, Inc. | Switch-level timing simulation based on two-connected components |
US5446676A (en) | 1993-03-29 | 1995-08-29 | Epic Design Technology Inc. | Transistor-level timing and power simulator and power analyzer |
WO1998024039A1 (de) | 1996-11-18 | 1998-06-04 | Siemens Aktiengesellschaft | Rechnergestütztes verfahren zur partitionierung einer elektrischen schaltung |
US6112022A (en) * | 1996-12-13 | 2000-08-29 | Legend Design Technology, Inc. | Method for simulating ULSI/VLSI circuit designs |
US6049662A (en) * | 1997-01-27 | 2000-04-11 | International Business Machines Corporation | System and method for model size reduction of an integrated circuit utilizing net invariants |
-
1999
- 1999-06-14 US US09/333,124 patent/US6480816B1/en not_active Expired - Lifetime
-
2000
- 2000-04-28 AU AU46769/00A patent/AU4676900A/en not_active Abandoned
- 2000-04-28 WO PCT/US2000/011508 patent/WO2000077693A1/en active Application Filing
- 2000-04-28 JP JP2001503098A patent/JP2003502736A/ja active Pending
- 2000-04-28 EP EP00928548A patent/EP1192569A1/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011528839A (ja) * | 2009-07-28 | 2011-11-24 | シノプシイス インコーポレイテッド | 電子回路の階層的次数ランキングされたシミュレーション |
Also Published As
Publication number | Publication date |
---|---|
EP1192569A1 (en) | 2002-04-03 |
US6480816B1 (en) | 2002-11-12 |
WO2000077693A1 (en) | 2000-12-21 |
AU4676900A (en) | 2001-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003502736A (ja) | 動的なパーティショニングおよびオンデマンド評価を使用した回路シミュレーション | |
US5896300A (en) | Methods, apparatus and computer program products for performing post-layout verification of microelectronic circuits by filtering timing error bounds for layout critical nets | |
JP2954894B2 (ja) | 集積回路設計方法、集積回路設計のためのデータベース装置および集積回路設計支援装置 | |
US8719742B2 (en) | Conversion of circuit description to an abstract model of the circuit | |
US6405348B1 (en) | Deep sub-micron static timing analysis in the presence of crosstalk | |
KR101602506B1 (ko) | 전자 회로의 계층적 오더 랭킹 시뮬레이션 방법 및 시뮬레이션을 위해 컴퓨터 실행가능 명령을 저장하는 컴퓨터 판독가능 기록 매체 | |
US20050091025A1 (en) | Methods and systems for improved integrated circuit functional simulation | |
US20100122228A1 (en) | Method and system for conducting design explorations of an integrated circuit | |
US20070044051A1 (en) | Method and system for validating a hierarchical simulation database | |
US8713506B2 (en) | System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same | |
CA2450135A1 (en) | Method for generating design constraints for modulates in a hierarchical integrated circuit design system | |
US7979820B1 (en) | Temporal replicant simulation | |
Rajagopal et al. | Timing driven force directed placement with physical net constraints | |
US7188327B2 (en) | Method and system for logic-level circuit modeling | |
US8161448B1 (en) | Replicant simulation | |
JP3851357B2 (ja) | トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法 | |
US8069024B1 (en) | Replicant simulation | |
Papa et al. | RUMBLE: an incremental, timing-driven, physical-synthesis optimization algorithm | |
Srivastava et al. | Timing driven gate duplication: complexity issues and algorithms | |
US8302049B2 (en) | Method for enabling multiple incompatible or costly timing environment for efficient timing closure | |
US7117465B2 (en) | Application of the retimed normal form to the formal equivalence verification of abstract RTL descriptions for pipelined designs | |
Xiao et al. | Functional correlation analysis in crosstalk induced critical paths identification | |
JPH07287051A (ja) | 論理シミュレータ用入力データ作成装置 | |
JPH10222545A (ja) | パラメタライズドメモリの回路縮退方法及び論理セルライブラリ生成方法 | |
US20240143878A1 (en) | Delay calculation with pattern matching for static timing analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070501 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090707 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091007 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091015 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091207 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100107 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20100107 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100216 |