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
Application number
JP2001503098A
Other languages
English (en)
Other versions
JP2003502736A5 (ja
Inventor
ダール,サンジャイ
Original Assignee
メンター・グラフィクス・コーポレーション
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 メンター・グラフィクス・コーポレーション filed Critical メンター・グラフィクス・コーポレーション
Publication of JP2003502736A publication Critical patent/JP2003502736A/ja
Publication of JP2003502736A5 publication Critical patent/JP2003502736A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design 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

(57)【要約】 EDAツールは、動的パーティショニングおよびオンデマンド評価を使用して回路動作をシミュレートする回路シミュレータを備える。回路シミュレータは、静的パーティショナ、動的パーティショナ、および評価スケジューラを含む。静的パーティショナは回路に対し多数の静的パーティションを事前形成する。シミュレーション中に、動的パーティショナは静的パーティションを参照しながら多数の動的パーティションを形成し、再形成する。評価スケジューラは、シミュレーション時間ステップごとに、動的パーティションがあればそのうちどれを評価すべきかを決定し、評価が必要な場合のみオンデマンドで評価する。一実施形態では、評価がその実行時に、精度が要求される場合は行列解によって実行される。

Description

【発明の詳細な説明】
【0001】 (発明の背景) (1.発明の分野) 本発明は、集積回路(IC)設計の分野に関するものである。具体的には、本
発明は回路シミュレーションに関する。
【0002】 (2.背景情報) 回路シミュレーションは、通常ネットリストと呼ばれる回路の記述と、入力ス
ティミュラスの記述を受け取って、いくつかの数学の方程式を解きシミュレーシ
ョン期間に与えられた入力スティミュラスに対する回路の応答を決定することを
含む。回路シミュレータの一例は、当初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に示されているように、一連のス
テップに従って連立非線形方程式を解く。これらのステップでは、積分を実行す
る時間ステップを決定し、微分方程式を線形化し、得られた一組の線形代数方程
式を解く。収束していることを判断するためのテストを実行する。収束するまで
このプロセスを繰り返す。収束したら、時間を進めて、このプロセス全体を繰り
返す。
【0003】 回路シミュレーションの従来の方法の時間複雑度は、最悪の場合O(N3)、
平均してO(N1.5)である。これは、線形代数方程式を解く作業を伴うステッ
プのせいである。この解を得るには、時間複雑度がO(N3)の行列を解く必要
がある。SPICEなどの回路シミュレータのアルゴリズムはこのような超線形
時間複雑度を持つため、大規模な回路を解くことは不可能である。通常、このよ
うなシミュレータの制限に到達するのは、回路規模が100,000デバイスに
達したときである。この規模を超える回路を解くのは、解を求める時間が非常に
長くなるため不可能である。
【0004】 大規模回路を解く必要性は、シリコン・プロセス技術が進歩しますます高まっ
てきている。数百万トランジスタを搭載する集積回路またはチップはきわめて当
たり前になっている。このようなニーズに対応するために、他のアルゴリズムが
開発されてきた。たとえば、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
)と線形であることを特徴としているため、大規模回路の取り扱いが可能である
【0005】 これらのアルゴリズムでは、線形の時間複雑度を、回路を小さなパーティショ
ンに分割することによって達成している。行列解の超線形時間を避けるために、
これらのアルゴリズムでは代わりに近似(つまり、不正確な)解法を使用する。
Huangのアプローチでは、ワンステップ・リラクゼーションというアルゴリ
ズムを使用している。このアルゴリズムは多くの場合、不正確さは最大20%ま
でとなり、stiff回路で重大な問題を生じる。普通の回路では、リラクゼー
ションに基づくアルゴリズムでは正しい結果が得られない。緻密なフィードバッ
クまたは結合によって特徴付けられる回路では、このアルゴリズムに問題が発生
する。Shihのアプローチでは、直接的な方程式解決手法を使用する。これは
、二次のShichman and Hodgesモデルによってデバイス・モ
デルを正確にモデル化できる非常に限られた状況だけでうまく働く。これは、正
確なデバイス・モデルを得るために非常に複雑で非線形度の高いBSIM3モデ
ルを必要とする最新のシリコン・プロセス技術にはおおよそ当てはまらない。D
evganは、明示的積分手法を使用しているが、この論文の波形から明らかな
ように、精度は不十分である。行列の方程式を解くのに近似アルゴリズムを使用
する際によくある問題として、すべての回路設計スタイル、特にstiff回路
には通常、一貫して適しているとはいえないという点があげられる。
【0006】 標準の行列に基づくアルゴリズムは、リラクゼーションおよびその他の近似ア
ルゴリズムの不正確さを欠点としない。パーティショニングとともに行列に基づ
くアルゴリズムを使用すると、良好な精度が得られ、パーティションの境界にあ
るノードのみ精度が劣ることがある。しかし、すべてのパーティションに単一の
時間ステップを使用すると、性能が著しく低下した。 そこで、回路シミュレーションのアプローチを改良することが望まれる。
【0007】 (発明の概要) EDAツールは、動的パーティショニングおよびオンデマンド評価機能を使用
して回路動作をシミュレートする回路シミュレータを備える。回路シミュレータ
は、静的パーティショナ、動的パーティショナ、および評価スケジューラを含む
。静的パーティショナは、多数の回路の静的パーティションを事前に形成する。
シミュレーション中に、動的パーティショナは静的パーティションを参照しなが
ら多数の動的パーティションを形成し、再形成する。評価スケジューラは、シミ
ュレーション時間ステップごとに、動的パーティションがあればそのうちどれを
評価すべきかを決定し、評価が必要な場合のみオンデマンドで評価する。
【0008】 一実施形態では、静的パーティショナはIC設計のデバイスを接続セットに編
成することにより静的パーティションを形成する。静的パーティショナはさらに
、静的パーティションを前処理して、動的パーティショナのニーズに合わせて手
直しした形態にする。一実施態様では、動的パーティショナは、IC設計のデバ
イスがオン状態なのかオフ状態なのかを判別し、それに応じて動的パーティショ
ンを形成する。一実施態様では、評価スケジューラは、動的パーティションのい
ずれかが定常状態にあるかどうかを判別し、それに応じて評価用に動的パーティ
ションをスケジュールする。一実施態様では、評価がその実行時に、精度が要求
される場合は行列解によって実行される。
【0009】 本発明は、同様の参照は同様の要素を表す付属の図面に図解されている実施形
態を使って説明するが、これに限定されるわけではない。
【0010】 (発明の詳細な説明) 次の説明では、本発明のさまざまな形態について記述し、またさまざまな詳細
を説明して、本発明の十分な理解をはかる。しかし、本発明は本発明の態様の一
部のみまたは全部で実施することができ、また本発明は特定の詳細がなくても実
施できることは当業者には明白であろう。他の場合には、本発明をわかりにくく
しないため、よく知られている特徴については省くか、または簡素化している。
【0011】 説明の一部では、ネットリスト、グラフィック表現、ノードなど作業の本質を
他の当業者に伝えるために当業者が一般に採用している用語を用いる。また、横
断(traversing)、生成、決定などの用語を使用してコンピュータ・システムによ
って実行されるオペレーションに関する説明の一部を提示する。当業者であれば
よく理解するように、これらの数量またはオペレーションはデジタル・システム
の電気部品、磁気部品、および光部品を介した電気信号、磁気信号、または光信
号の格納、転送、組み合わせ、およびその他の方法によるオペレーションの形を
取り、またデジタル・システムという用語には、スタンドアローンである、また
は付属する、または組み込みの汎用のみならず専用のデータ処理マシン、システ
ムなどが含まれる。
【0012】 本発明を理解するのに最も役立つ方法で次々に実行する複数の異なるステップ
にわけてさまざまなオペレーションについて説明する。ただし、説明の順序は、
これらのオペレーションが必ず提示されてている順序で実行されることを意味す
ると解釈すべきではないし、あるいはこれらのオペレーションが順序に依存する
とも解釈すべきではない。最後に、「一実施形態において」という語句を繰り返
し使用していても、同じ実施形態を引用している場合があるが必ずしもそうとは
限らない。
【0013】 図1には、一実施形態による本発明の概要を示すブロック図を掲載している。
図からわかるように、本発明のIC設計シミュレーション・ツール100は設計
読み取り装置102、静的パーティショナ103、およびシミュレーション・エ
ンジン104で構成され、シミュレーション・エンジン104には動的パーティ
ショナ107、スケジューラ109、ノード・エバリュエータ108、およびモ
デル・エバリュエータ106が含まれる。これらの要素は、図に示されているよ
うに相互に動作するように結合されている。以下で詳述するように、静的パーテ
ィショナ103、動的パーティショナ107、およびスケジューラ109は、本
発明の教示を具体化したものである。設計読み取り装置102およびモデル・エ
バリュエータ106のいくつかの態様は、本発明に引用で完全に取り込まれてい
る「Adaptive Integrated Circuit Design
Simulation Transistor Modeling And
Evaluation」という名称の米国同時係属出願第<未決定>号の主題で
ある。
【0014】 従来技術のように、設計読み取り装置102は、設計者が用意した設計説明書
110を読み取るのに使用される。設計説明書110には、IC設計内の電子デ
バイスをモデル化している各種モデルを接続する接続情報が記述される。一実施
形態において、階層設計の平坦化に加えて、設計読み取り装置102ではさらに
、デバイス特性をIC設計の電子デバイスのうち選択されたデバイスに割り当て
る。静的パーティショナ103は、IC設計をプリコンパイルするか、または事
前にパーティショニングして静的パーティションにするとともに、静的パーティ
ションを前処理して、動的パーティション107に特に適した形式にする。シミ
ュレーション時に、動的パーティショナ107はさらに、事前に形成された静的
パーティションを参照しながら、関連するIC設計の動的パーティションを形成
し、再形成する。スケジューラ109は、特定のシミュレーション時間ステップ
で動的パーティションに評価が必要かどうかを判定し、必要に応じてまたはオン
デマンドで評価対象の動的パーティションをスケジュールする。それに応じて、
ノード・エバリュエータ108およびモデル・エバリュエータ106を必要に応
じてまたはオンデマンドで選択的に呼び出して、モデルを接続している接続部の
状態と、電流、電圧など、モデルのさまざまなパラメータ値をそれぞれ評価する
。一実施形態において、モデル・エバリュエータのうち少なくとも1つはデバイ
スの割り当てられたデバイス特性に従ってさまざまな精度または性能レベルでモ
デル・エバリュエータを適応させながら実行する。精度が必要な場合は、行列解
により評価を実行する。
【0015】 モデル評価を適応させながら実行するための前記デバイス特性および採用につ
いては、上で説明しており、米国同時係属出願の引用により取り込まれ識別され
ている。静的パーティショナ103、動的パーティショナ107、およびスケジ
ューラ109について、以下で順番にさらに詳しく説明してゆく。当業者であれ
ば後の説明から明白なように、本発明は、必要に応じて精度を設定できるが、そ
うでなくて精度が不要な場合にも性能を発揮できるという利点がある。その結果
、本発明は従来技術のアプローチに比べて優れた総合的性能レベルおよび精度レ
ベルを達成している。
【0016】 図2〜3では、図1の静的パーティショナの2つの態様に対するオペレーショ
ンの流れを示す2つのブロック図が掲載されている。図からわかるように、20
2では、静的パーティショナ103はまず設計をグラフとして表す。グラフ表現
では、プリミティブ・デバイス(つまり素子)は、それぞれグラフ・モデルで表
され、プリミティブ・デバイス(これ以降簡単にデバイスと呼ぶ)の接続性は、
グラフ・モデルの接続性として表される。(図11a〜11dでは、4つのデバ
イス例のグラフ表現を示している。他のデバイスも同様に表すことができる。)
次に、204で、静的パーティショナ103がグラフを分析し、デバイスを接続
された集合にパーティショニングする。静的パーティショナ103は、グラフ内
の各ノードから始めて、そのノードに接続されているすべてのエッジを横断し、
エッジの反対側に接続されているノードをこのノードの接続されている集合に持
ち込む。すべてのエッジの横断が済むと、静的パーティショナ103は次のノー
ドでオペレーションを実行する。このプロセスは、すべてのノードのオペレーシ
ョンが完了するまで繰り返される。そのようなときに、多数の接続された集合ま
たは静的パーティショナが形成されている。(図12〜13は、IC設計例への
このプロセス応用例を示しており、IC設計をパーティショニングして3つの静
的パーティションにし、それぞれの静的パーティションに専用のグラフ表現を持
たせている。)
【0017】 図に示されている実施形態について、IC設計をパーティショニングして多数
の静的パーティションを作った後、静的パーティショナ103はさらに信号の流
れに従ってその静的パーティションの順序を決定する、206。信号の流れの順
序付けは、有向グラフを最初に作成することにより行う(図14を参照)。この
有向グラフでは、1つのノードが1つの静的パーティションを表している。ノー
ド1からノード2へ向かう有向エッジは、ノード1からノード2への信号の流れ
を表す。
【0018】 次に、208で、静的パーティショナ103が強接続されたコンポーネントの
信号流れグラフを分析し、静的パーティションを「平準化」する。強接続コンポ
ーネントの識別には、さまざまな知られている手法のいずれか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
のノード(つまり、パーティション)に進み、これをすべてのノード(つまり、
パーティション)が処理されるまで続ける。こうして、平準化プロセスを通じて
、低い番号を割り当てられたパーティションから高い番号を割り当てられたパー
ティションへ信号が流れるようになる。
【0019】 さらに、図の実施形態では、静的パーティショナ103はまた、ループを形成
するパーティションに同じレベル番号が割り当てられないようにする。任意の点
で、静的パーティショナ103はレベル番号の割り当てを上げる。
【0020】 次に、静的パーティショナ103は各静的パーティションの構造を分析して前
処理し、動的パーティショナ107に特に適した形にし、シミュレーション時に
動的パーティショナを形成し、それにより、シミュレーション・エンジン104
でなおいっそう高い性能改善を実現することが可能である。より具体的にいうと
、静的パーティションごとに、静的パーティショナ103により静的パーティシ
ョンのグラフ表現のノードとエッジの順序が定まる。図3に示されているように
、各静的パーティションの順序確定プロセスは3つのステップからなるプロセス
である。302で、静的パーティショナ103は深さを先にする形でグラフ表現
を横断し、双接続コンポーネントを識別する。304で、静的パーティショナ1
03は双接続コンポーネントの順序を変えて樹木構造にする(図15を参照)。
ルートが選択された後、他のすべての双接続コンポーネントの順序を樹木接続に
基づいて設定できる。図に示されている実施形態では、静的パーティショナ10
3はルートとして最大数のノードを持つ双接続コンポーネントを選択する。
【0021】 306で、静的パーティショナ103は双接続コンポーネントのそれぞれの中
のノードの順序を決める。図に示された実施形態では、静的パーティショナ10
3は、双接続コンポーネントを3つのタイプに分類している。タイプIは、単一
のエッジを持つ双接続コンポーネントである。タイプIIは、複数のエッジを持
つ双接続コンポーネントであるが、ノードはちょうど2つのエッジを除去するこ
とにより双接続コンポーネントを2つの接続されていない部分に分けられるよう
に接続されている。このタイプのグラフは、2接続または直列−並列と呼ばれる
ことが多い。タイプIIIは、タイプIともタイプIIとも分類できない双接続
コンポーネントである。
【0022】 一般に、順序付けオペレーションでは、ノードの順序付けが必要であり、その
ノードからエッジの順序付けを行う。ノードは小から大に向かって順序付けられ
る。エッジは常に、2つのノードの間で接続される。エッジの南ノードは常に、
北エッジよりも低い順序となる。
【0023】 タイプIのそれぞれの双接続コンポーネントでは、ルートに近いノードのほう
が、他のノードよりも高い順序となる。したがって、エッジは高い順序のノード
が北ノードで、低い順序のノードが南ノードとなるように配列される。
【0024】 タイプIIのそれぞれの双接続コンポーネントでは、直列および並列の縮小プ
ロセス(reduction process)が実行される。このプロセスにより、タイプIIの
双接続コンポーネントはタイプIの双接続コンポーネントに縮小される。次に新
規に形成されたタイプIの双接続コンポーネントは前に述べたように順序付けら
れる。縮小された双接続コンポーネントがタイプIの双接続コンポーネントとし
て順序付けられた後、直列および並列の縮小プロセスを逆転して、縮小されたノ
ードとエッジを展開し、その後、展開されたとおりに順序付ける。
【0025】 手短に図16に進むと、この図には直列および並列の縮小プロセスの適用例が
示されている。図は双接続コンポーネント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で置き換えることができる。逆転プロセスはこれとちょうど反対である。
【0026】 そこで図3に戻る、具体的にはタイプIIIの双接続コンポーネントのオペレ
ーション306の実行に戻ると、タイプIIIの双接続コンポーネントごとに、
ノードはすべて、そのノードに接続されているエッジの数に基づいて集められ、
ソートされる。ノードに接続しているエッジの数をノード次数と呼ぶ。次に、ソ
ートされたノード(または後のフェーズでは残りのノード)のうちから、静的パ
ーティショナ103はノード次数が最小のノードを選択し、ノードの順序付けら
れていないすべてのエッジを辿り、選択されたノードをそれらのエッジの南ノー
ドとする。選択されたノードがそれらのエッジの南ノードになった後、エッジは
順序付けられたとみなされ、それに応じてマークが付けられる。次に、それらの
エッジの北ノードのノード次数はすべて1だけ減らされる。さらに、選択された
ノードについてフィル・エッジが挿入される。その後、このプロセスを最小ノー
ド次数の次のノードについて繰り返す。すべてのノードが処理されるまで繰り返
す。
【0027】 フィル・エッジが挿入され、ノードとエッジの順序付けが完了し、シミュレー
ションにより静的パーティション上で行列解オペレーションを実行できる(評価
が必要な場合)。フィル・エッジは、行列計算のフィルインと同じ機能を表す。
シミュレーションの前にすべてのフィル・エッジを決定することにより、評価に
必要な計算量を十分に減らし、性能を高めることができる。ノードn1のフィル
・エッジは、ノードn1の北エッジを見ることで決定される。北ノードm1を持
つ北エッジごとに、続くそれぞれの北エッジの北ノードm2を調べる。ノードm
1およびm2を接続するエッジがない場合、フィル・エッジがそれら2つのノー
ドの間に追加され、ノードm1は北ノード、ノードm2は南ノードとなる。ノー
ドm1およびm2のノード次数はそれぞれ1だけ増やされる。フィル・エッジ挿
入プロセスは、それ自体、ノードn1のすべての北エッジが処理されるまで漸次
繰り返される。
【0028】 次に図4に戻ると、一実施形態による一般的なシミュレーション・エンジンの
オペレーションの流れが示されている。オペレーションの流れの概要をまず示し
、その後オペレーションのうち選択されたものについて詳述する。図に示されて
いるように、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に変わるときに、既存の動的パ
ーティションをマージするか分割するかを考慮する必要がある。動的パーティシ
ョンのマージと分割を含む、動的パーティション形成プロセスについて、以下で
さらに詳しく説明するが、その前にこれらの動的パーティションおよびオンデマ
ンド評価を採用している総合的シミュレーション戦略について説明する。
【0029】 そこで引き続き図4を参照すると、動的パーティションが406で形成された
後、スケジューラ109はシミュレーション時間を進める。408で、スケジュ
ーラ109はさらに、動的パーティションがあるとすればどれが評価を必要とす
るかを決定する。410で、スケジューラ109は、評価を必要とする動的パー
ティションのみをスケジュールする。つまり、本発明によれば、ノードおよびデ
バイス・モデルの評価は、必要に応じてか、またはオンデマンドでのみ実行され
るということである。その結果、経験上知られているようにシミュレーション性
能を著しく改善できる。さらに、前述のように、評価を実行する場合、精度が必
要なときに行列解方式を使用して実行し、それにより、性能と精度を同時に高め
ることができる。
【0030】 必要なすべての評価を実行した後(必要ならば正確に)412、スケジューラ
109は十分な数のシミュレーション・サイクルを適用したかどうかを判定する
414。望む数のシミュレーション・サイクルが適用されていない場合、プロセ
スはオペレーション402に戻り、そこで、デバイス状態が再評価される。再評
価後、必要ならば動的パーティションを再形成し、これに、既存の動的パーティ
ションのマージおよび/または分割を含めることもできる。最終的に、414で
十分な数のシミュレーション・サイクルを適用したと判断されるまで、必要な回
数だけオペレーション402〜414を繰り返す。そのように判断されたときに
プロセスは終了する。
【0031】 オペレーション404に戻ると、前述のように、動的パーティショナ107は
デバイスがON状態なのかOFF状態なのかに従って動的パーティションを形成
する。動的パーティションは、ON状態になっているデバイスを通じていっしょ
に接続されているノードで形成される。図の実施形態では、動的パーティショナ
107は静的パーティションを参照しながら、つまり静的パーティションごとに
、動的パーティションを形成する。図5は、一実施形態に従って、静的パーティ
ション内に動的パーティションを形成するオペレーションの流れを示している。
図からわかるように、502で、動的パーティショナ107はまず、静的パーテ
ィショナ103によって確定された順序に従ってそれぞれの静的パーティション
のノードをソートする。504で、動的パーティショナ107は、順序が最低の
ノードでトレースを開始することにより動的パーティションのメンバの収集を開
始する。506で、動的パーティショナ107は、ノードの北エッジがON状態
かどうかを判定する。「ON」状態であれば、そのノードは形成される動的パー
ティションに含まれる(508)。続いて、次に高い順序のノードが選択されて
調査され(510)、506でプロセスが継続する。「ターミナル」ノードに到
達するまで、つまり「ON」状態の北エッジを持たないノードに達するまでオペ
レーション506〜510が何度も繰り返される。達したと判断されたときにプ
ロセスは終了する。このときに、すべての「ターミナル」ノードおよびそれらの
ノードの南のすべてのノードが含まれており、動的パーティションを形成する。
【0032】 図6a〜6bは、それぞれ一実施形態に従って、2つの動的パーティションを
マージし、1つの動的パーティションを分割するオペレーションの流れを示して
いる。図6aに示されているように、OFF状態からON状態に移行するデバイ
スを調べるために、動的パーティショナ107はまず、これらのデバイスのうち
1つ、つまりOFF状態からON状態に移行したデバイスを選択する(602)
。次に、604で、動的パーティショナ107は、デバイス間のノードが別の動
的パーティション内に配置されているかどうかを判別する(たとえば、図18a
を参照)。デバイス間のノードが本当に別の動的パーティションに配置されてい
るのであれば、動的パーティショナ107は2つの動的パーティションをマージ
する(606)。そうでない場合は、オペレーション606をスキップする。2
つの動的パーティションをマージするか、またはオペレーションをスキップする
と、608で、動的パーティショナ107は調査すべき「OFF」から「ON」
へのデバイスがさらにあるか判別する。あれば、プロセスは602から続行する
。なければプロセスは終了する。
【0033】 図6bに示されているように、ON状態からOFF状態に移行するデバイスを
調べるために、動的パーティショナ107はまず、このようなデバイスのうち1
つ、つまりON状態からOFF状態に移行したデバイスを選択する(610)。
次に、612で、動的パーティショナ107は動的パーティションを2つの動的
パーティションに分割し、ON状態からOFF状態にデバイスが移行した場合に
いっしょに元の動的パーティションを分割する(たとえば図18bを参照)。動
的パーティションを分割した後、614で、動的パーティショナ107は調査す
べき「ON」から「OFF」へのデバイスがさらにあるか判別する。あれば、プ
ロセスは610から続行する。なければプロセスは終了する。
【0034】 図4のオペレーション408に戻ると、前述のように、スケジューラ109は
、動的パーティションがあるとすればどれが評価を必要とするかを決定する。図
の実施形態では、シミュレーション時間ステップが現在のシミュレーション時間
ステップと「同期」しているときかつそのときに限り一番最初の動的パーティシ
ョンを評価対象とみなすことができる(たとえば図19を参照)。それぞれの動
的パーティションのシミュレーション時間ステップは、互いに無関係である。そ
れぞれの動的パーティションのシミュレーション時間ステップは、動的パーティ
ション内のデバイスおよびノードによって課される要件、さらに動的パーティシ
ョンに影響を及ぼす信号に基づいて決定される。たとえば、ノード上の電圧の変
化率により、パーティションに対する時間ステップが決まる。通常、動的パーテ
ィションに対し選択された時間ステップは、動的パーティション内の各ノードか
ら決定された最小の時間ステップである。シミュレーション時間ステップの独立
した処理は、精度を犠牲にすることなく、本発明のシミュレーション・ツールの
性能改善に寄与するもう1つの要因である。それぞれのシミュレーション時間ス
テップで、すべての動的パーティションを調査する必要があるわけではないため
、実際にはそれよりも小さいシミュレーション時間ステップを採用して1つの動
的パーティションにおける精度を改善することができるが、他の動的パーティシ
ョンについてはそれより大きな時間ステップをそのまま選択できるため性能コス
トの影響を受けることがない。
【0035】 さらに、これらの動的パーティションのうち1つに対する評価は、その動的パ
ーティションが定常状態にない場合のみ必要とみなされる。動的パーティション
が定常状態にないと考えられる場合は、評価状態にあるともいう。これは、精度
を犠牲にすることなく、本発明のシミュレーション・ツールの性能改善に寄与す
るもう1つの要因である。図の実施形態では、スケジューラ109は多数の決定
ルールを用いて、これらの動的パーティションのうち1つが定常状態にあるとみ
なされるか、したがって評価は不要であるかを決定する。
【0036】 これらの決定ルールは、 a)動的パーティション内のノードのいずれもが複数のプリセット値で変化し
ないときに動的パーティションは定常状態に入ること、 b)ユーザー定義入力のせいで動的パーティション内のデバイスのゲート・ノ
ードが変化している場合には動的パーティションは定常状態に入れないこと、 c)1回の評価後定常状態にある動的パーティションは定常状態に入れないこ
と(遅延ゼロのループが形成されないようにするため。以下の段落でさらに詳し
く説明する)、 d)入力信号または動的パーティションのノードが変更される限り、動的パー
ティションは評価することである。
【0037】 さらに、ノードで電圧を変更した場合、スケジューラ109はそのノードに隣
接する動的パーティションを評価する必要があるかどうかを決定する。決定を下
すために、ゲートがノードに接続されているすべてのデバイスを横断する。デバ
イスがOFF状態であり、またこのデバイスの新しい状態がON状態であると判
断された場合、このデバイスのドレイン・ノードとソース・ノードの動的パーテ
ィションに対する評価は必要とみなされる。これらの動的パーティションが定常
状態にある場合、評価状態に変更され、評価のスケジュールが行われる。これら
の動的パーティションがすでに評価状態にある場合は、これらの動的パーティシ
ョンのシミュレーション時間ステップを減らすべきかどうか考慮する。シミュレ
ーション時間ステップは、ゲート・ノードが急激に変化する場合に減らされる。
ただし、ゲート・ノードの変化が十分に急速でないと判断される場合は、時間ス
テップは変更せずそのままである。ただし、デバイスの新しい状態が同じOFF
状態であれば、処置は講じられない。デバイスがON状態で、新しい状態がOF
F状態である場合も、処置は講じられない。新しい状態がON状態の場合、OF
FからONへの遷移の場合と同じルールが適用される。
【0038】 そこでゼロ遅延トリガ・ループの話題に戻る。ゼロ遅延トリガ・ループは、動
的パーティションのループが評価のためトリガされたときに形成される(図20
を参照)。このようなループに関わるすべての動的パーティションが評価されて
いるので、ゼロ遅延ループはループ内の動的パーティションのうち少なくとも1
つが評価状態にない場合のみ存在できる。つまり、ゼロ遅延ループが持続するた
めには定常状態から評価状態へ遷移し、1回の評価の後定常状態に戻る動的パー
ティションが少なくとも1つ存在している必要がある。これが起こらないように
するには、定常状態にあり、評価のため評価状態に移行した動的パーティション
が1回の評価後に定常状態に戻らないようにする。こうして、図の実施形態では
、動的パーティションが定常状態から評価状態に移行し、その後即座に定常状態
に移行することが不可能なようにされている。定常状態から評価状態への遷移は
ゼロ遅延で発生しうるが、評価状態から定常状態への遷移はゼロ遅延では起こら
ないため、ゼロ遅延ループのトリガは防がれる。
【0039】 図4のオペレーション410に戻ると、そこでは評価を必要とする動的パーテ
ィションがスケジュールされている。図の実施形態では、ある種のケースに対し
て評価を実行する時期を慎重に選択することにより評価の精度を保証している。
OFF状態にあり、デバイスがON状態に移行する電圧変化を受けているデバイ
スのゲート・ノードの場合、このデバイスが属している動的パーティションの評
価は現在の時点で、即座に「トリガ」がかかる。評価に対する「トリガ」は、ゼ
ロ遅延で発生するため、精度は保証される。ゼロ遅延ループを防止する機能を持
たない場合、そのようなゼロ遅延トリガは可能でなく、したがって精度が著しく
失われることを指摘しておく。インバータの長いチェーンがある他の場合では、
すべてが定常状態電圧にあり、最初のインバータの入力が変化すると、ゼロ遅延
トリガにより、すべてのインバータがこのときに評価される。トリガの遅延が小
さくても、チェーンの終わりのところのインバータはかなり遅い時期に評価され
、そのため、精度が著しく落ちる。
【0040】 図4のオペレーション412に戻ると、そこでは評価のためスケジュールされ
た動的パーティションが評価される。一般に、評価対象の動的パーティション内
のすべてのノードは、ルートからリーフまで動的パーティションが出現する順序
でスタックに挿入される。評価スタックに挿入された後、スタック内のノードは
リーフからルートへの順序で順番に評価される。このボトムアップのノード横断
では、行列解のガウス消去法ステップが実行される。ルート・ノードに到達した
ら、横断が逆転される。ルートから行列解法の前方置換ステップを実行するノー
ドのトップダウン横断が実行される。このトップダウン横断の終わりに、解が求
められる。以前に暗示したように、モデル評価のうち選択した評価で評価のいく
つかを適応実行しており、これについては引用で取り込まれている特許出願で詳
しく説明している。
【0041】 図8には、一実施形態による本発明の回路シミュレータに組み込まれるEDA
ツールが示されている。図からわかるように、EDAツール・スイート800に
は、さまざまな図を参照しながらすでに説明しているように本発明の教示により
取り込まれている回路シミュレータ802が含まれる。さらに、EDAツール・
スイート800には、他のツール・モジュール804が含まれる。これらの他の
ツール・モジュール802の例は、合成モジュール、レイアウト検証モジュール
などを含むが、これらに限られるわけではない。
【0042】 図9は、本発明の実施のため使用するのに適しているコンピュータ・システム
の一実施形態を示している。図からわかるように、コンピュータ・システム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の構成はよく知
られており、したがってこれ以上述べない。
【0043】 一般に、当業者であれば、本発明が説明された実施形態に限定されるわけでは
ないことを理解できるであろう。それどころか、本発明は付属の特許請求項の精
神と範囲において修正と変更を加えて実施できる。すなわちこの説明は、本発明
の制約としてではなく、解説としてみなされる。
【0044】 こうして、IC設計をシミュレートする回路シミュレータの説明がなされた。
【図面の簡単な説明】
【図1】 一実施形態による本発明の概要の図である。
【図2】 一実施形態による図1の静的パーティショナの1つの態様のオペレーションの
流れを示す図である。
【図3】 一実施形態による図1の静的パーティショナの1つの態様のオペレーションの
流れを示す図である。
【図4】 一実施形態による図1のシミュレーション・エンジンの全体的なオペレーショ
ンの流れを示す図である。
【図5】 一実施形態による図1の動的パーティショナの1つの態様のオペレーションの
流れを示す図である。
【図6】 一実施形態による図1の動的パーティショナの2つの態様のオペレーションの
流れを示す図である。
【図7】 一実施形態による図1の評価スケジューラのオペレーションの流れを示す図で
ある。
【図8】 一実施形態による本発明の回路シミュレータに組み込まれるEDAツール例の
図である。
【図9】 図8のEDAツールを実行するプログラム命令でプログラムするのに適してい
るコンピュータ・システム例の図である。
【図10】 回路シミュレーションに対する従来技術によるアプローチを示す図である。
【図11】 デバイスのグラフィック表現の4つの例である。
【図12】 IC設計の静的パーティションの例である。
【図13】 静的パーティションのグラフィック表現の例である。
【図14】 パーティショニングされたIC設計の信号の流れの表現例である。
【図15】 双接続されたコンポーネントのグラフィック表現の例である。
【図16】 直列並列縮小オペレーションの例である。
【図17】 デバイスのON/OFF決定の4つの例である。
【図18】 動的パーティションをマージし分割する一例である。
【図19】 シミュレーション時間ステップの概念を示す図である。
【図20】 ゼロ遅延トリガ・ループの現象を示す図である。
【手続補正書】
【提出日】平成14年7月5日(2002.7.5)
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正の内容】
【図2】
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正の内容】
【図4】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AG,AL,AM,AT,AU, AZ,BA,BB,BG,BR,BY,CA,CH,C N,CR,CU,CZ,DE,DK,DM,DZ,EE ,ES,FI,GB,GD,GE,GH,GM,HR, HU,ID,IL,IN,IS,JP,KE,KG,K P,KR,KZ,LC,LK,LR,LS,LT,LU ,LV,MA,MD,MG,MK,MN,MW,MX, NO,NZ,PL,PT,RO,RU,SD,SE,S G,SI,SK,SL,TJ,TM,TR,TT,TZ ,UA,UG,UZ,VN,YU,ZA,ZW

Claims (33)

    【特許請求の範囲】
  1. 【請求項1】 回路をシミュレートするためのコンピュータで実行する方法
    であって、 回路の複数の動的パーティションを形成すること、および 各シミュレーション時間ステップで、動的パーティションを評価するかどうか
    を決定し、評価を必要とする動的パーティションのみを評価すること を含む方法。
  2. 【請求項2】 前記回路の動的パーティションの形成が、事前形成した静的
    パーティションを参照しながら実行されることを特徴とする請求項1に記載の方
    法。
  3. 【請求項3】 前記静的パーティションを事前形成するステップをさらに含
    むことを特徴とする請求項2に記載の方法。
  4. 【請求項4】 前記静的パーティションの事前形成が回路のデバイスを接続
    セットに編成することを含み、それぞれの接続セットが静的パーティションを形
    成することを特徴とする請求項3に記載の方法。
  5. 【請求項5】 前記静的パーティションの事前形成が少なくとも信号の流れ
    に従って事前形成された静的パーティションの順序を決定することをさらに含む
    ことを特徴とする請求項4に記載の方法。
  6. 【請求項6】 前記事前形成された静的パーティションの順序決定がさらに
    、強接続コンポーネントが配置される場所に応じて実行されることを特徴とする
    請求項5に記載の方法。
  7. 【請求項7】 事前形成された静的パーティションのそれぞれのグラフィッ
    ク表現のノードとエッジの順序を決定することをさらに含むことを特徴とする請
    求項3に記載の方法。
  8. 【請求項8】 事前形成された静的パーティションの1つのグラフィック表
    現のノードとエッジの前記順序決定のそれぞれが、双接続コンポーネントを識別
    すること、および識別された双接続コンポーネントを使用して前記順序決定を実
    行することを含むことを特徴とする請求項7に記載の方法。
  9. 【請求項9】 前記動的パーティションの形成が、ONになっているデバイ
    スを識別すること、および識別されたONデバイスによって接続されているグラ
    フィック表現内のノードを識別することを含み、相互接続されたノードの各集ま
    りが動的パーティションを形成することを特徴とする請求項1に記載の方法。
  10. 【請求項10】 前記動的パーティションの形成が動的パーティションのマ
    ージおよび/または分割を行うことを含むことを特徴とする請求項1に記載の方
    法。
  11. 【請求項11】 前記動的パーティションを評価すべきかどうかの決定が、
    動的パーティションが定常状態にあるかどうかを決定することを含むことを特徴
    とする請求項1に記載の方法。
  12. 【請求項12】 前記動的パーティションを評価すべきかどうかの決定が、
    ゼロ遅延トリガ・ループが形成されないようにすることをさらに含むことを特徴
    とする請求項11に記載の方法。
  13. 【請求項13】 前記評価を必要とする動的パーティションの評価が、ボト
    ムアップ方式で動的パーティションのグラフィック表現を横断すること、および
    動的パーティションのグラフィック表現の各ノードについて行列解を計算するこ
    とを含むことを特徴とする請求項1に記載の方法。
  14. 【請求項14】 製造物品であって、 実行されると請求項1で規定しているような方法を実行する、プロセッサによ
    って実行される複数のプログラム命令を格納している記録媒体を備える物品。
  15. 【請求項15】 プログラム命令が実行されるとそれが、さらに請求項2で
    規定された追加のオペレーションを実行させることを特徴とする請求項14に記
    載の物品。
  16. 【請求項16】 プログラム命令が実行されるとそれが、さらに請求項9で
    規定された追加のオペレーションを実行させることを特徴とする請求項14に記
    載の物品。
  17. 【請求項17】 プログラム命令が実行されるとそれが、さらに請求項12
    で規定された追加のオペレーションを実行させることを特徴とする請求項14に
    記載の物品。
  18. 【請求項18】 コンピュータ・システムにおいて、 回路をシミュレートするための回路シミュレータを実行する複数のプログラム
    命令を格納している記憶媒体であって、回路シミュレータが、 回路の複数の動的パーティションを形成するための動的パーティショナと、 各シミュレーション時間ステップで、動的パーティションのそれぞれを評価す
    るかどうかを決定し、評価を必要とする動的パーティションのみを評価する評価
    スケジューラとを含む記憶媒体と、 回路シミュレータを動作させるプログラム命令を実行するために記憶媒体に結
    合されているプロセッサと を備えるコンピュータ・システム。
  19. 【請求項19】 実施された回路シミュレータの前記動的パーティショナが
    、事前形成された静的パーティションを参照しながら回路の前記動的パーティシ
    ョンを形成し、 前記実施された回路シミュレータが前記静的パーティションを事前形成するた
    めの静的パーティショナをさらに備えることを特徴とする請求項18に記載のコ
    ンピュータ・システム。
  20. 【請求項20】 前記動的パーティショナが、ONになっているデバイスを
    識別し、識別されたONデバイスによって接続されているグラフィック表現内の
    ノードを識別することによって動的パーティションを形成し、相互接続されたノ
    ードの各集まりが動的パーティションを形成することを特徴とする請求項18に
    記載のコンピュータ・システム。
  21. 【請求項21】 前記回路シミュレータが、ボトムアップ方式で動的パーテ
    ィションのグラフィック表現を横断し、動的パーティションのグラフィック表現
    の各ノードについて行列解を計算することによって、評価を必要とする動的パー
    ティションを評価するノードおよびモデル・エバリュエータを備えることを特徴
    とする請求項18に記載のコンピュータ・システム。
  22. 【請求項22】 回路をシミュレートするため動的パーティションを形成す
    る方法であって、 ONになっている回路のデバイスを識別すること、および 識別されたONデバイスによって接続されている回路のグラフィック表現のノ
    ードを識別することを含み、ノードの相互接続されているそれぞれの集まりが動
    的パーティションを形成する方法。
  23. 【請求項23】 すでに形成されている動的パーティションをマージおよび
    /または分割するステップをさらに含むことを特徴とする請求項22に記載の方
    法。
  24. 【請求項24】 回路をシミュレートするためオンデマンドで回路の動的パ
    ーティションを評価する方法であって、 動的パーティションが定常状態にあるかどうかを判別すること、および 動的パーティションが定常状態にあると判断された場合に評価対象の動的パー
    ティションをスケジュールすること を含む方法。
  25. 【請求項25】 動的パーティションが定常状態にあるかどうかの前記判別
    ステップが、 複数のプリセット値により動的パーティションのノードが変更されるかどうか
    、 動的パーティション内のデバイスのゲート・ノードがユーザ定義入力のせいで
    変更されるかどうか、 他のすべての動的パーティションが定常状態にあるかどうか、 少なくとも1つの入力信号または動的パーティションの少なくとも1つのノー
    ドが変更されているかどうかのうち少なくとも1つを含む複数の決定ルールを調
    べることを含むことを特徴とする請求項24に記載の方法。
  26. 【請求項26】 複数のプログラム命令を格納している記憶媒体と、 ONになっている回路のデバイスを識別すること、および識別されたONデバ
    イスによって接続されている回路のグラフィック表現内のノードを識別すること
    を含めて、回路のシミュレーションが行われている間にプログラム命令を実行し
    て回路の動的パーティションを形成するため記憶媒体に結合されているプロセッ
    サと を備え、ノードの相互接続されたそれぞれの集まりが動的パーティションを形成
    するコンピュータ・システム。
  27. 【請求項27】 プロセッサがさらに、すでに形成されている動的パーティ
    ションをマージおよび/または分割するプログラム命令を実行することを特徴と
    する請求項26に記載のコンピュータ・システム。
  28. 【請求項28】 複数のプログラム命令を格納している記憶媒体と、 動的パーティションが定常状態にあるかどうかを判別すること、および動的パ
    ーティションが定常状態にないと判断された場合に評価のため動的パーティショ
    ンをスケジュールすることを含めて、回路のシミュレーションが行われている間
    に時間ステップにてオンデマンドで回路の動的パーティションを評価するプログ
    ラム命令を実行するため記憶媒体に結合されているプロセッサと を備えるコンピュータ・システム。
  29. 【請求項29】 プロセッサがさらに動的パーティションが定常状態にある
    かどうかを判別するため複数のルールを調べるプログラム命令を実行し、前記ル
    ールが、 複数のプリセット値により動的パーティションのノードが変更されるかどうか
    、 動的パーティション内のデバイスのゲート・ノードがユーザ定義入力のせいで
    変更されるかどうか、 他のすべての動的パーティションが定常状態にあるかどうか、 少なくとも1つの入力信号または動的パーティションの少なくとも1つのノー
    ドが変更されているかどうかのうち少なくとも1つを含むことを特徴とする請求
    項28に記載のコンピュータ・システム。
  30. 【請求項30】 回路をシミュレートするため回路の動的パーティションを
    評価する方法であって、 シミュレーション中に、以前に形成され順序付けられた静的パーティションを
    参照しながら動的パーティションを形成すること、および 形成された動的パーティションのうちの選択されたパーティションを評価する
    ことを含み、選択されたそれぞれの動的パーティションが行列解を通じて順序付
    けられた方法で評価される方法。
  31. 【請求項31】 形成された動的パーティションの前記選択的評価がオンデ
    マンドで、必要に応じて実行されることを特徴とする請求項30に記載の方法。
  32. 【請求項32】 複数のプログラム命令を格納している記憶媒体と、 回路のシミュレーションが行われている間に、以前に形成された順序付けられ
    ている静的パーティションを参照しながら回路の動的パーティションを形成する
    プログラム命令を実行し、行列解を通じて順序付けられた方法で形成された動的
    パーティションのうち選択されたパーティションを評価するため記憶媒体に結合
    されているプロセッサと を備えるコンピュータ・システム。
  33. 【請求項33】 プロセッサがさらに、動的パーティションの前記選択的評
    価をオンデマンドで、必要に応じて実行するプログラム命令を実行することを特
    徴とする請求項32に記載のコンピュータ・システム。
JP2001503098A 1999-06-14 2000-04-28 動的なパーティショニングおよびオンデマンド評価を使用した回路シミュレーション Pending JP2003502736A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011528839A (ja) * 2009-07-28 2011-11-24 シノプシイス インコーポレイテッド 電子回路の階層的次数ランキングされたシミュレーション

Families Citing this family (20)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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