JP2011509457A - 電力管理回路を備える集積回路のための高速シミュレーション方法 - Google Patents

電力管理回路を備える集積回路のための高速シミュレーション方法 Download PDF

Info

Publication number
JP2011509457A
JP2011509457A JP2010540959A JP2010540959A JP2011509457A JP 2011509457 A JP2011509457 A JP 2011509457A JP 2010540959 A JP2010540959 A JP 2010540959A JP 2010540959 A JP2010540959 A JP 2010540959A JP 2011509457 A JP2011509457 A JP 2011509457A
Authority
JP
Japan
Prior art keywords
block
node
fan
circuit
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010540959A
Other languages
English (en)
Other versions
JP5031105B2 (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 JP2011509457A publication Critical patent/JP2011509457A/ja
Application granted granted Critical
Publication of JP5031105B2 publication Critical patent/JP5031105B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Architecture (AREA)

Abstract

【課題】電力管理回路を備える回路のための高速シミュレーション方法を提供する。
【解決手段】本発明の高速シミュレーション手法は、集積回路の電力供給モジュールの出力ノードを理想電力ノードとして指定し、電力供給モジュールをファンインブロックに指定し、電力ノードに接続された全ブロックをファンアウトブロックに指定する。集積回路のDCを初期化し、各時間ステップにて過渡的なシミュレーションを実施する間に、ファンアウトブロックの相互関係を決定し、各ファンアウトブロックのセンシティビティモデルを計算する。電力ノードは理想電力ノードとして指定されるため、各ファンアウトブロックのセンシティビティモデルの結果を電力ノードの総負荷に非同期的に追加できる。総負荷をファンインブロックのために計算された行列にロードし、シミュレーション波形ポイントを出力する。
【選択図】図4

Description

本発明は、集積回路(IC)のシミュレーションに関し、具体的には、電力管理回路を備えるICのための高速シミュレーション方法を提供する。
IC技術が90nm以下まで縮小したことにより、総電力消費量はシステムオンチップのチップ設計における最も重要な関心事の1つになっている。待機時漏れ電流及び動的消費電力を減少させるためにパワーゲーティング、電圧スケーリング、及び閾値可変CMOSなどの周知技術が利用されてきた。しかし後述するように、これらの技術は、シミュレーションのために必要な節点解析方程式の集合から構成される行列のサイズが極めて大きいため、プリレイアウト及びポストレイアウト・フルチップ検証の両者に対する重要な課題をもたらしている。
システムオンチップ(SoC)設計は、通常、少なくとも1つの出力ノードを有する少なくとも1つの電力供給モジュールを含み、該少なくとも1つの出力ノードは、他のモジュールへの電圧供給ノードとしての役割を果たす。例示的な電力供給モジュールは、電荷ポンプ、レギュレータ、電源スイッチ、及び/又はトランジスタを含み、前記設計において1つ或いは複数の電力供給部が備えられるようにする。
SPICEは、カリフォルニア大学バークレイ校(University of California at Berkeley)で開発された周知の汎用回路シミュレーションプログラムである。SPICEは、例えば、抵抗、コンデンサ、インダクタ、電圧源、電流源、伝送線路、及び一般的な半導体デバイスなどを備える回路をシミュレートすることができる。高速SPICEシミュレータは、従来のSPICEシミュレータの性能を改善するために、様々なアルゴリズムを使用している。
性能を改善するための或る例示的なアルゴリズムには、1つの回路を、理想電圧源ノードと弱結合ノード(例えば、MOSFETデバイスのゲート)との境界において、より小さいブロックに分割するパーティショニングが含まれる。例えば、図1Aに示すように、従来の高速SPICEシミュレータは、回路100を2つのブロック110及び111に分割する。なぜならば、2つのブロック110及び111は両者とも理想電圧源に直接接続されているからである。限定された数の例示的な回路素子(例えば、トランジスタ及び抵抗)のみが図1Aに示されているが、実際の回路には通常は様々な他の回路素子が含まれていることを留意されたい。
特に、高速SPICEシミュレータを使用する場合、ブロック110及び111は、シミュレーション中のそれらの待ち時間に従って様々な速度でシミュレートすることができる。結果として、高速SPICEシミュレータは、許容可能な精度の低下はあるものの、10倍〜1000倍の速度増加をもたらし得る。しかし、高速SPICEシミュレータは、電力供給モジュールの出力ノード(図1Aでは、電力供給モジュール101の電力ノード102)が非理想ノードであり、従って大きなフラットなパーティション上でシミュレータを作動させなければならないため、通常はSoC回路にとって効率が悪い。特に、高速SPICEシミュレータは、ブロック111内の回路を同期的にシミュレートしなければならない。
一部の進歩的なシミュレータ(例えば、HSIM)は、大きなブロックを第2レベルのブロックに更に分割でき、従って同型マッチング(isomorphic matching)を活用することができる。例えば、図1Bに示すように(簡略化のために小さなブロック110(図1A)は省略している)、HSIMシミュレータは、回路100を電力ノード102においてカットし且つ分割し、複数のチャネル接続ブロック(CCB)101、103、104、及び105を形成する。シミュレーションツールは、一般的にトランジスタレベルにおいてCCBを画定することを留意されたい。これらのCCBは、比較的単純な回路である(発明者が示す回路は説明のためであり、図示の回路に制限するわけではない)。
電力供給モジュール101の出力ノード、即ち電力ノード102は、非理想電圧供給源であるため、CCB101、103、104、及び105は、電力ノード102の正確なシミュレーションを提供するために同時に(即ち、同期的に)評価しなければならない。そのサイズのために、CCB105は、HSIMシミュレータによって更に分割することができる。この例では、CCB105は、CCB106、107、及び108に更に分割することができる。様々なシミュレーションツールは、様々な方法で、カットグループ(cut group)の要素(即ち、分割することによって形成されたブロック)を決定することを留意されたい。例えば、一実施形態では、シミュレーションツールは、カットする位置に接続されるCCBの数に基づいてカットグループを決定し得る。
特に、CCB106、107、及び108は、再度、同期的に評価されなければならない、即ち、これらのCCBはフラットなパーティションも形成している。従って、CCB101、103、104、及び105は、第1レベルのカットグループとして特徴付けることができ、CCB106、107、及び108は、第2レベルのカットグループとして特徴付けることができる。CCB105からの評価結果は、CCB103、104、及び105の同期的な評価において使用することができることを留意されたい。従って、この階層的パーティショニングにも関わらず、HSIMシミュレータは、非理想電力供給モジュールを有する大規模(例えば、SoC)回路をシミュレートするとき、通常は、最適ではない、即ち比較的時間がかかるという結果になる。
従って、電力管理回路を備える回路のための高速シミュレーション方法が必要とされている。
高速シミュレーション方法によれば、集積回路の電力供給モジュールの出力ノード(即ち、非理想電力ノード)を、理想電力ノードとして指定することができる。前記回路は、ブロックに分割することができる。この場合、電力供給モジュールはファンインブロック(fan-in block)として指定することができ、前記電力ノードに接続された全てのブロックはファンアウトブロック(fan-out block)として指定することができる。この時点で、DC初期化を実施することができる。
次に、各時間ステップにおいて過渡的なシミュレーションを実施することができる。例えば、過渡的なシミュレーションの初期工程では、ファンアウトブロックの相互関係を決定することができる。一実施形態では、この相互関係は、各ファンアウトブロックのシミュレーション間隔及び外部トリガイベントを特定することを含み得る。
或る時間ステップにおいて、或るファンアウトブロックの評価を行う場合、そのファンアウトブロックのセンシティビティモデルを計算することができる。このセンシティビティモデルは、そのファンアウトブロックのコンダクタンス、静電容量、及び電流負荷を含み得る。有利なことに、前記電力ノードが理想電力ノードとして指定されるために、各ファンアウトブロックのセンシティビティモデルの結果を、前記電力ノードの総負荷に非同期的に追加することができる。一実施形態では、直前のシミュレーション中に計算された直前の負荷値から現在の負荷値を減算し、その差異を、そのブロックの総負荷(即ち、コンダクタンス、静電容量、及び電流負荷)に追加することによって寄与度を計算することができる。
ファンアウトブロックを非同期的に評価することができるので、シミュレータは、その評価を、(任意の数のファンアウトブロックに対して)並行して、任意の順序で、及び/又はシステムリソースが利用可能なときはいつでも(制限されたシステムリソースであっても)実施できるのが好都合である。従って、そのファンアウトブロックを非同期的に評価する能力は、かなりの時間節約及びシステムリソースの最適な利用をもたらすので、それによってシステムの効率及び柔軟性が最大限になる。
一実施形態では、非同期的に追加する結果には、グローバルデータ構造を用いて総負荷を追跡記録することが含まれる。一実施形態では、総負荷を追跡記録することには、非作動ファンアウトブロックを無視することが含まれる。追跡記録後、前記総負荷は各ファンインブロック毎に計算された行列(例えば、ヤコビ行列)にロードすることができ、またシミュレーション波形ポイントを出力することができる。前述の過渡的なシミュレーションの工程は、各指定された時間ステップにおいて実施することができる。
コンピュータ可読媒体も本願明細書中で説明される。このコンピュータ可読媒体は、コンピュータ上で実行されたとき、集積回路をシミュレートするべく前述の工程を実行させる信号を生成するコンピュータ命令を保存している。
通常のシミュレータが理想電力ノードに接続された回路のブロックをどのように評価するかを示す図である。この場合、各ブロック内の回路は同期的に評価しなければならない。 非理想電力ノード及び弱結合ノードにおいて回路をカットし、それによって同期した評価を依然として必要とする階層的パーティションをもたらす通常の回路のパーティショニングを示す図である。 非理想電力ノードを理想電力ノードとして指定することができ、それによって該電力ノードに接続された全てのファンアウトブロックを非同期的に評価できる例示的なパーティショニングを示す図である。 複数の非理想電力ノードを理想電力ノードとして指定することができ、それによって該電力ノードに接続された全てのファンアウトブロックを非同期的に評価できる別の例示的なパーティショニングを示す図である。 CCBの負荷効果を考慮してセンシティビティモデルを生成するCCBの例示的な評価を示す図である。このセンシティビティモデルには、コンダクタンス、静電容量、及び電流が含まれる。 電力供給モジュールの出力ノード(即ち、非理想電力ノード)を理想電力ノードとして指定し、それによって該電力ノードに接続された全てのファンアウトブロックの非同期的な評価を可能にする例示的なシミュレーション技術を示す図である。 例示的なマルチレート、イベント駆動型の方法を示す図である。 図4のシミュレーション技術を含むことができる例示的なデジタルASIC設計フローを示す図である。
高速シミュレーション手法では、集積回路の電力供給モジュールの出力ノードを理想電力ノードとして指定することができる。この時点で、電力供給モジュールをファンインブロックに指定することができ、電力ノードに接続されている全てのブロックをファンアウトブロックに指定することができる。詳細は後述するが、非理想電力ノードが理想電力ノードとして指定されるため、ファンアウトブロックを非同期的に評価することができ、それによってシミュレーション中の時間節約及びシステム柔軟性を最大限にする。
図2Aは、高速シミュレーション方法の態様を表す簡略化回路200を示す。シミュレーション中に、回路200をブロック201、203、204、及び205に分割することができる。具体的には、回路200は、電力供給モジュール201からカットされる複数のチャネル接続ブロック(CCB)203、204、及び205に分割することができる。電力供給モジュール201の出力(電源)ノード202は、実際には非理想電力ノードであることを留意されたい。しかし、前述の高速シミュレーション方法の一態様によれば、電力ノード202は、非理想電力ノードの代わりに、理想電力ノードとして指定することもできる。結果として、CCB203、204、及び205は、シミュレーション中に非同期的に評価できるのが好都合である。
典型的なIC回路では、電力ノードに接続されるCCBの数は、数百或いは数千に達することを留意されたい。CCBを非同期的に評価することができるので、シミュレータは、その評価を、(任意の数のCCBに対して)並行して、任意の順序で、及び/又はシステムリソースが利用可能なときはいつでも(制限されたシステムリソースであっても)実施できるのが好都合である。従って、そのCCBを非同期的に評価する能力により、かなりの時間節約及びシステムリソースの最適な利用をもたらすことができ、それによってシステムの効率及び柔軟性が最大限になる。
シミュレータによってカットグループを特徴付けることができるCCB205は、CCB206,207、及び208に更に分割することができることを留意されたい。一実施形態では、CCB206、207、及び208は、階層的な解法を用いて同期的にシミュレートすることができる。別の実施形態では、図2Bに示すように、CCB207及び208は、ノード209を理想電力ノードとして指定することによって(またCCB206を電源モジュールとして特徴付ける)、非同期的にシミュレートすることができ、それによって更なるシステムの効率化をもたらす。ファンアウトブロックにおいて同期/非同期シミュレーションのどちらを実施するかの決定は、ファンアウトブロックのサイズに基づいて決定され得る。このサイズは、様々なシミュレーションからの実験結果を用いて設定することができ、その後に、費用関数に基づいて適切な大きさの閾値を決定する。回路200には2つの指定された理想ノード202及び209が備えられているが、他の回路では任意の数の指定された理想ノードを含み得ることを留意されたい。更に、非理想ノードを理想ノードに指定することは、再帰的方法で任意の様々なレベルにおいて行うことができる。
いずれにせよ、シミュレーション分野の当業者には周知のように、CCB206、207、及び208の評価は、CCB205の評価実施前に要求される。図3は、センシティビティモデル301(ノートンの等価回路)を生成することができるCCB300の例示的な評価を示す。この場合、センシティビティモデル301は、コンダクタンスG(抵抗の逆数)、静電容量C、及び電流Iを含む。
図4は、非理想電力ノードを理想電力ノードとして指定することを含む例示的な高速シミュレーション方法400を示す。ステップ401では、回路の設計にアクセスすることができる。典型的な実施形態では、この設計は、ネットリストとしてアクセスすることができる。ネットリストは、従来の回路図入力システムを用いて作成することができ、高速SPICEで用いられている構文形式と同一の構文形式に従うことがあることを留意されたい。
この時点で、前記設計内の電力供給モジュールの出力ノード(即ち、電力ノード)を、理想電力ノードとして指定する。次に、ステップ402では、IC回路をブロックに分割する。ただし、電力供給モジュールを、その電力ノードのドライバ(即ち、ファンインブロック)として指定し、他のブロックを、その電力ノードの負荷(即ち、ファンアウトブロック又はCCB)として指定する。ステップ403では、開始時間t=0においてIC回路の動的電圧状態を得るためにDCを初期化する。
ステップ404では、例えば、ブロックのシミュレーション間隔を調査することによって(マルチレートと呼ばれる)、又はブロックがイベント駆動型か否かによって、ファンアウトブロックの相互関係を決定する。図5は、ファンインブロック501及びファンアウトブロック502〜504を含む例示的なマルチレートのイベント駆動型システム500を示す。システム500では、全てのブロック501〜504が初期時間T(黒丸で示す)において評価(即ちシミュレート)される。続いて、ブロック501〜504は、異なる間隔で評価される。即ち、ブロック501は、時間T及びTで評価され、ブロック502は、時間T及びTで評価され、ブロック503は、時間T及びTで評価され、ブロック504は、時間Tで評価される。
各ブロック501〜504のシミュレーション間隔は、ブロックの内部待ち時間又は外部トリガイベントのどちらかに関連するものとして特徴付けることができる複数の因子によって決定される。ブロックの内部待ち時間には、電圧変化の割合、各ノードの静電容量に対する充電電流の大きさなどの因子が含まれる。ブロックの内部待ち時間は、1つのステップにおいて電圧又は電流が急激に変化することがないように検討される。
図5は、3つの外部トリガイベント510、511、及び512を有するシステム500を示す。従来型のシミュレータでは、イベントは、ファンアウトブロックのシミュレーションをトリガするためにファンインブロックによって生成されることを留意されたい。或る好適実施形態によれば、イベントはファンアウトブロックで生成することができる。例えば、システム500では、ブロック502は、ブロック503のシミュレーションをトリガするイベント510を生成し、ブロック503は、ブロック504のシミュレーションをトリガするイベント511を生成し、ブロック504は、ブロック501のシミュレーションをトリガするイベント512を生成する。或るイベントは、ブロックの物理的な接続により得られることを留意されたい。例えば、再び図2Aを参照すると、CCB203はCCB204へ出力を提供する。従って、CCB203は、CCB204のシミュレーションをトリガするイベントを生成するものとして特徴付けることができる(ブロック502及び503と同様である)。
再び図4を参照して、ステップ405では、各ファンアウトブロックのセンシティビティモデルを計算する。一実施形態では、このセンシティビティモデルは、そのファンアウトブロックの電力ノードにおけるコンダクタンスG、静電容量C、及び電流Iを計算することを含み得る。或る好適実施形態では、階層的な解法を各カットグループのセンシティビティモデルを計算するために使用することができ、従来型の解法を他のファンアウトブロックに対して使用することができる。一実施形態では、有利なことに、複数のファンアウトブロックが同じ形態を有し且つ同一の端子電圧及び電流を有している場合、最初に計算されたファンアウトブロックの結果を他のファンアウトブロックが再利用することができるため、1つのファンアウトブロックのみが計算される(この再利用は同型マッチングとも呼ばれる)。例示的な階層的な解法及び同型マッチングのより詳細な説明は、1999年5月17日付で登録されたTcherniaevによる米国特許第6,577,992号に記載されており、ここで参照することをもって本願明細書に組み込まれるものとする。
ステップ406では、電力供給モジュールに関連する電力ノードの総負荷に全てのファンアウトブロックの総負荷を追加することができる。これらの総負荷には、ステップ405で計算された電流I、コンダクタンスG、及び静電容量Cが含まれる。図5に示すように、各ファンアウトブロックは、それぞれ固有のシミュレーション間隔を有していることを留意されたい。一実施形態では、或るファンアウトブロックの総負荷が計算されたとき、その計算結果が直前のシミュレーション間隔の結果と比較される、即ち、ΔI=I−Ilast、ΔG=G−Glast、ΔC=C−Clastである。これらのデルタ値は、次に、指定された理想電力ノードの総負荷に追加される。最初に実施されたシミュレーション(例えば、図5の時間ステップTにおいて実施されたシミュレーション)は比較するものがないため、それらのブロックの総負荷は、ステップ405で計算された電流、コンダクタンス、及び静電容量を含む。
一実施形態では、電力ノード(例えば、図2A/2Bの電力ノード202)の総負荷は、グローバルデータ構造によって追跡記録することができる。非同期的な評価であるため、各ファンアウトブロックから結果が得られたときに(即ち、インクリメンタルな方法で)、それらをグローバルデータ構造に追加することができることを留意されたい。従って、グローバルデータ構造は、全てのファンアウトブロックからの全ての結果を追跡記録することができる。一実施形態では、追跡記録の間、特定の時間ステップにおいて或るファンアウトブロックが作動していない場合、そのファンアウトブロックを無視することができる。換言すれば、グローバルデータ構造は、全てのファンアウトブロックからの全ての結果を追跡記録することができる。
ステップ407では、総負荷を評価する場合、その総負荷をファンインブロック(例えば、図2A/2Bの電力供給モジュール201)の行列にロードする。電流を計算するための例示的なヤコビ行列は以下のとおりである。
[I]=[G]×[V]
ただし、[G]はコンダクタンスの行列であり、[V]は電圧の行列であり、[I]は電流の行列である。この計算は、シミュレーション分野の当業者には周知であり、従って本明細書ではその詳細について説明しない。一般的に、この方程式は、非線形解法に対する線形化を提供することができる。ステップ408では、シミュレーション波形ポイントを生成する。
或る波形は、複数の別個のポイントを含み、各ポイント(本明細書中ではシミュレーション波形ポイントと呼ばれる)は、過渡的なシミュレーション中の各時間ステップにおいて計算されることを留意されたい。高速シミュレーション方法400では、ステップ404〜408は、IC回路の過渡的なシミュレーションを提供する。従って、ステップ409では、シミュレーションのための追加の時間ステップが指定されているか否かを判断する(総シミュレーション時間、即ち、時間ステップの数が入力ファイルにおいて特定されることはシミュレーション分野の当業者には周知であることを留意されたい)。追加の時間ステップが指定されている場合、方法400はステップ404に戻る。追加の時間ステップが指定されていない場合、方法400を終了する。
図6は、例示的なデジタルASIC設計フローを簡略化して説明するための図である。上側の段において、プロセスは製品企画(ステップ600)より開始し、EDAソフトウェア設計プロセスを実行する(ステップ610)。設計が終了すると、テープアウトを行う(イベント640)。テープアウト後、製造プロセス(ステップ650)、パッケージング及び組立プロセス(ステップ660)を実施し、最終的に、完成品チップが得られる(結果670)。
EDAソフトウェア設計プロセス(ステップ610)は、実際には複数のステップ612〜630から構成されており、簡略化のために直線的に示している。実際のASIC設計プロセスでは、特定の設計は、所定の試験に合格するまでステップを逆戻りしなければならないこともある。同様に、実際の設計プロセスでは、これらのステップは、異なる順序及び組み合わせで行われることがある。従って、この説明は、特定のASICのための具体的な或いは推奨する設計フローとしてよりも、むしろ背景説明(context)及び一般的な説明のために提供される。
ここで、EDAソフトウェア設計プロセス(ステップ610)を構成するステップを簡単に説明する。
システム設計(ステップ612):設計者は、実装したい機能性を記述し、what−ifプランニングを実施して機能性改良や費用確認など行うことができる。ハードウェア−ソフトウェア・アーキテクチャ・パーティショニングは、このステップで行うことができる。このステップで使用することができるシノプシス社(Synopsys, Inc.)製の例示的なEDAソフトウェア製品には、Model Architect、Saber、System Studio、及びDesignWare(登録商標)などの製品が含まれる。
論理設計及び機能性の検証(ステップ614):このステップでは、システム内のモジュールのためのVHDLまたはVerilogコードを書き込み、その設計を機能性の精度について検査する。より具体的には、設計を検査することによって、正しい出力を生成することを保証する。このステップで使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、VCS、VERA、DesignWare(登録商標)、Magellan、Formality、ESP、及びLEDAなどの製品が含まれる。
合成及び試験のための設計(ステップ616):このステップでは、VHDL/Verilogをネットリストに変換する。ネットリストは、目的の技術のために最適化することができる。加えて、完成品チップの検査を可能とする試験の設計及び実装を行う。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Design Compiler(登録商標)、Power Compiler、Tetramax、及びDesignWare(登録商標)などの製品が含まれる。
ネットリスト検証(ステップ618):このステップでは、ネットリストを、タイミング制約との適合性及びVHDL/Verilogソースコードとの対応性について検査する。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Formality、PrimeTime、VCS、及びHSIM+などの製品が含まれる。一実施形態では、HSIM+製品は、前述の高速シミュレーション方法400(図4)を含み得る。一実施形態では、シミュレーションは、図2Aを参照して説明したようなパーティショニング及び非同期的なシミュレーションを含み得る。
設計プランニング(ステップ620):このステップでは、チップの全体フロアプランを作成し、タイミング及び最上位ルーティングについて解析する。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Astro及びIC Compilerなどの製品が含まれる。
物理的な実装(ステップ622):このステップでは、配置(回路素子の位置決め)及びルーティング(回路素子の接続)を行う。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Astro及びIC Compilerなどの製品が含まれる。
解析及び抽出(ステップ624):このステップでは、回路機能をトランジスタレベルで検証し、これによりwhat−if解析による改良を可能にする。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、AstroRail、PrimeRaile、PrimeTime、及びStar RC/XTなどの製品が含まれる。
物理的な検証(ステップ626):このステップでは、様々なチェック機能を実行し、製造、電気的な結果、リソグラフィックの結果、及び回路構成について正確性を保証する。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Hercules及びHSIM+などの製品が含まれる。一実施形態では、HSIM+は、前述の高速シミュレーション方法400(図4)を含み得る。典型的には、物理的な検証中に実施されるポストレイアウトシミュレーションは、図2Bを参照して説明したようなパーティショニング及び非同期的なシミュレーションを含み得る。
分解能向上(ステップ628):このステップでは、レイアウトの幾何学的操作を行い、設計の製造可能性を改善する。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、Proteus、ProteusAF、及びPSMGenなどの製品が含まれる。
マスクデータ準備(ステップ630):このステップでは、完成品チップを作成するのに使用するリソグラフのために、マスク作成用の「テープアウト」データを提供する。このステップにおいて使用することができるシノプシス社製の例示的なEDAソフトウェア製品には、CATS(登録商標)シリーズの製品が含まれる。
本発明の例示的な実施形態について、本明細書では添付の図面を参照しながら詳細に説明してきたが、本発明はこれらの正確な実施形態に限定されるわけではないことを理解されたい。これらの実施形態は、本発明を包括する或いは本発明をこれらと一致するものに制限することを意図しない。そのため、様々な変更及び変形ができることは明らかであろう。
例えば、前述の高速シミュレーション技術は、1つのデータ保存システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、且つそれらに対してデータ及び命令を送信するように接続された少なくとも1つのプログラム可能なプロセッサを含むプログラム可能なシステム上で実行する1つ或いは複数のコンピュータプログラムに有利に実装することができる。各コンピュータプログラムは、高次手続き型又はオブジェクト指向型プログラミング言語で、或いは所望に応じてアセンブリ言語又は機械語で実装することができる。いずれにせよ、その言語はコンパイラ型又はインタープリタ型言語である。適切なプロセッサには、例えば、汎用マイクロプロセッサ及び特定用途向けマイクロプロセッサの両者のほか、他の種類のマイクロコントローラが含まれる。一般的に、プロセッサは、読み出し専用メモリ及び/又はランダムアクセスメモリから命令及びデータを受信する。一般的に、コンピュータは、データファイルの保存用として1つ或いは複数の大容量記憶装置を有しており、その大容量記憶装置には、磁気ディスク(例えば、内蔵されたハードディスク及びリムーバブルディスク)、光磁気ディスク、及び光ディスクが含まれる。コンピュータプログラム命令及びデータを具体的に実施するのに適合する記憶装置には、全ての形態の不揮発性メモリ(例えば、EPROM、EEPROMなどの半導体メモリ装置、及びフラッシュメモリ装置)、磁気ディスク(例えば、内蔵されたハードディスク及びリムーバブルディスク)、光磁気ディスク、及びCD−ROMディスクが含まれる。前述したいずれのものも、特定用途向け集積回路(ASIC)により補足することができる又はそれに組み込むことができる。
従って、本発明の範囲は、特許請求の範囲に記載のもの及びそれらの同等物によって定義されるものとする。

Claims (12)

  1. 高速シミュレーション方法であって、
    回路のネットリストにアクセスする工程と、
    前記回路の電力供給モジュールの出力ノードを電力ノードとして識別する工程と、
    前記電力ノードを理想電力ノードに指定する工程と、
    前記回路を複数のブロックに分割し、前記電力供給モジュールをファンインブロックに指定し、前記電力ノードに接続された全てのブロックをファンアウトブロックに指定する工程と、
    前記回路のDCの初期化を実施する工程とを有し、
    各指定された時間ステップ毎に、
    前記ファンアウトブロックの相互関係を決定する工程と、
    前記各ファンアウトブロックのセンシティビティモデルを計算する工程と、
    前記各ファンアウトブロックの前記センシティビティモデルの結果を前記電力ノードの総負荷に非同期的に追加する工程と、
    前記総負荷を前記ファンインブロックのために計算された行列にロードする工程と、
    シミュレーション波形ポイントを出力する工程とを含むことを特徴とする方法。
  2. 前記結果を非同期的に追加する工程は、前記総負荷をグローバルデータ構造を用いて追跡記録する工程を含むことを特徴とする請求項1に記載の方法。
  3. 前記総負荷を追跡記録する工程は、非作動ファンアウトブロックを無視することを含むことを特徴とする請求項2に記載の方法。
  4. 前記行列は、ヤコビ行列であることを特徴とする請求項1に記載の方法。
  5. 前記各ファンアウトブロック内の回路は、同期的にシミュレートされることを特徴とする請求項1に記載の方法。
  6. 少なくとも1つのファンアウトブロックを分割する工程と、
    前記分割されたファンアウトブロックにおいて別の理想ノードを指定する工程と、
    前記別の理想ノードより給電される回路を非同期的にシミュレートする工程とを更に含むことを特徴とする請求項1に記載の方法。
  7. コンピュータで実行されたときに集積回路をシミュレートするための工程を実施させるべく信号を生成するコンピュータ命令が保存されたコンピュータ可読媒体であって、
    前記集積回路をシミュレートするための工程が、
    回路のネットリストにアクセスする工程と、
    前記回路の電力供給モジュールの出力ノードを電力ノードとして識別する工程と、
    前記電力ノードを理想電力ノードに指定する工程と、
    前記回路を複数のブロックに分割し、前記電力供給モジュールをファンインブロックに指定し、前記電力ノードに接続された全てのブロックをファンアウトブロックに指定する工程と、
    前記回路のDCの初期化を実施する工程とを有し、
    各指定された時間ステップ毎に、
    前記ファンアウトブロックの相互関係を決定する工程と、
    前記各ファンアウトブロックのセンシティビティモデルを計算する工程と、
    前記各ファンアウトブロックの前記センシティビティモデルの結果を前記電力ノードの総負荷に非同期的に追加する工程と、
    前記総負荷を前記ファンインブロックのために計算された行列にロードする工程と、
    シミュレーション波形ポイントを出力する工程とを含むことを特徴とするコンピュータ可読媒体。
  8. 前記結果を非同期的に追加する工程は、前記総負荷をグローバルデータ構造を用いて追跡記録する工程を含むことを特徴とする請求項7に記載のコンピュータ可読媒体。
  9. 前記総負荷を追跡記録する工程は、或るファンアウトブロックを無視することを含むことを特徴とする請求項8に記載のコンピュータ可読媒体。
  10. 前記行列は、ヤコビ行列であることを特徴とする請求項7に記載のコンピュータ可読媒体。
  11. 前記各ファンアウトブロック内の回路は、同期的にシミュレートされることを特徴とする請求項7に記載のコンピュータ可読媒体。
  12. 少なくとも1つのファンアウトブロックを分割する工程と、
    前記分割されたファンアウトブロックにおいて別の理想ノードを指定する工程と、
    前記別の理想ノードより給電される回路を非同期的にシミュレートする工程とを更に含むことを特徴とする請求項7に記載のコンピュータ可読媒体。
JP2010540959A 2008-10-27 2009-09-01 電力管理回路を備える集積回路のための高速シミュレーション方法 Active JP5031105B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/259,166 2008-10-27
US12/259,166 US8868395B2 (en) 2008-10-27 2008-10-27 Fast simulation method for integrated circuits with power management circuitry
PCT/US2009/055618 WO2010062432A1 (en) 2008-10-27 2009-09-01 Fast simulation method for integrated circuits with power management circuitry

Publications (2)

Publication Number Publication Date
JP2011509457A true JP2011509457A (ja) 2011-03-24
JP5031105B2 JP5031105B2 (ja) 2012-09-19

Family

ID=42118342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010540959A Active JP5031105B2 (ja) 2008-10-27 2009-09-01 電力管理回路を備える集積回路のための高速シミュレーション方法

Country Status (7)

Country Link
US (1) US8868395B2 (ja)
EP (1) EP2342637B1 (ja)
JP (1) JP5031105B2 (ja)
KR (1) KR101602504B1 (ja)
CN (2) CN101802785B (ja)
TW (1) TWI496018B (ja)
WO (1) WO2010062432A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274548A1 (en) * 2009-04-28 2010-10-28 Du Nguyen Clock Approximation for Hardware Simulation
TWI450116B (zh) * 2010-06-02 2014-08-21 Hon Hai Prec Ind Co Ltd 通用spice等效電路模擬系統及方法
US9665672B2 (en) * 2015-04-27 2017-05-30 Christian Dufour Method and system for reducing power losses and state-overshoots in simulators for switched power electronic circuit
US11327790B1 (en) * 2018-07-03 2022-05-10 Synopsys, Inc. Event-level parallel simulation using dynamic synchronization
CN109948263A (zh) * 2019-03-22 2019-06-28 清华大学 基于灵敏度分析的电路优化方法及系统
CN111079361B (zh) * 2019-12-07 2023-05-02 复旦大学 Fpga电路的负载建模方法
CN113158599B (zh) * 2021-04-14 2023-07-18 广州放芯科技有限公司 基于量子信息学的芯片和芯片化eda装置
CN113742083B (zh) * 2021-09-13 2024-06-18 京东科技信息技术有限公司 调度仿真方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001357093A (ja) * 2000-06-14 2001-12-26 Fujitsu Ltd 回路シミュレーション方法、回路シミュレーション装置、及び記憶媒体
JP2006172233A (ja) * 2004-12-17 2006-06-29 Matsushita Electric Ind Co Ltd 寄生素子を含む回路のシミュレーション方法
JP2008287666A (ja) * 2007-05-21 2008-11-27 Sharp Corp 回路動作検証装置、半導体集積回路の製造方法、回路動作検証方法、制御プログラムおよび可読記録媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668732A (en) * 1994-06-03 1997-09-16 Synopsys, Inc. Method for estimating power consumption of a cyclic sequential electronic circuit
US20020152060A1 (en) * 1998-08-31 2002-10-17 Tseng Ping-Sheng Inter-chip communication system
US6523155B1 (en) * 1998-11-17 2003-02-18 Jeffrey Joseph Ruedinger Method for partitioning a netlist into multiple clock domains
US6577992B1 (en) * 1999-05-07 2003-06-10 Nassda Corporation Transistor level circuit simulator using hierarchical data
US7103863B2 (en) * 2001-06-08 2006-09-05 Magma Design Automation, Inc. Representing the design of a sub-module in a hierarchical integrated circuit design and analysis system
AU2002356476A1 (en) * 2002-08-27 2004-03-19 Freescale Semiconductor, Inc. Fast simulation of circuitry having soi transistors
US6769100B2 (en) * 2002-09-12 2004-07-27 International Business Machines Corporation Method and system for power node current waveform modeling
US7409328B1 (en) * 2003-11-13 2008-08-05 Cadence Design Systems, Inc. System and method for communicating simulation solutions between circuit components in a hierarchical data structure
JP4662235B2 (ja) * 2004-07-14 2011-03-30 株式会社リコー 論理シミュレーション装置およびその方法
US20060161413A1 (en) * 2005-01-14 2006-07-20 Legend Design Technology, Inc. Methods for fast and large circuit simulation
JP4554464B2 (ja) * 2005-08-03 2010-09-29 ルネサスエレクトロニクス株式会社 シミュレーション装置
US7596769B2 (en) * 2006-04-14 2009-09-29 Cadence Design Systems, Inc. Simulation of power domain isolation
US20080208553A1 (en) * 2007-02-27 2008-08-28 Fastrack Design, Inc. Parallel circuit simulation techniques
US8060355B2 (en) * 2007-07-27 2011-11-15 Synopsys, Inc. Automatic, hierarchy-independent partitioning method for transistor-level circuit simulation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001357093A (ja) * 2000-06-14 2001-12-26 Fujitsu Ltd 回路シミュレーション方法、回路シミュレーション装置、及び記憶媒体
JP2006172233A (ja) * 2004-12-17 2006-06-29 Matsushita Electric Ind Co Ltd 寄生素子を含む回路のシミュレーション方法
JP2008287666A (ja) * 2007-05-21 2008-11-27 Sharp Corp 回路動作検証装置、半導体集積回路の製造方法、回路動作検証方法、制御プログラムおよび可読記録媒体

Also Published As

Publication number Publication date
EP2342637A4 (en) 2013-04-10
CN101802785A (zh) 2010-08-11
CN201837997U (zh) 2011-05-18
US20100106476A1 (en) 2010-04-29
WO2010062432A1 (en) 2010-06-03
TW201017457A (en) 2010-05-01
JP5031105B2 (ja) 2012-09-19
KR101602504B1 (ko) 2016-03-21
US8868395B2 (en) 2014-10-21
EP2342637B1 (en) 2018-10-24
KR20110076712A (ko) 2011-07-06
EP2342637A1 (en) 2011-07-13
TWI496018B (zh) 2015-08-11
CN101802785B (zh) 2014-12-10

Similar Documents

Publication Publication Date Title
JP5031105B2 (ja) 電力管理回路を備える集積回路のための高速シミュレーション方法
Mishchenko et al. Improvements to combinational equivalence checking
JP5147991B2 (ja) 電子回路の階層的次数ランキングされたシミュレーション
US8060355B2 (en) Automatic, hierarchy-independent partitioning method for transistor-level circuit simulation
US8738350B2 (en) Mixed concurrent and serial logic simulation of hardware designs
JP2009522652A (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
US20080021692A1 (en) Method for performing power simulations on complex designs running complex software applications
US8473886B2 (en) Parallel parasitic processing in static timing analysis
US11366948B2 (en) Machine-learning enhanced compiler
US20160357516A1 (en) Method for Generating Workload Models From Execution Traces
TWI474203B (zh) 模擬電路的方法、積體電路、電腦系統及電腦程式產品
US9002692B2 (en) Electronic circuit simulation method with adaptive iteration
US9032352B2 (en) Method of optimizing capacitive couplings in high-capacitance nets in simulation of post-layout circuits
Ahmad et al. Fast STA prediction-based gate-level timing simulation
Chen et al. An FPGA-based transient error simulator for resilient circuit and system design and evaluation
Javaid et al. FALCON: A framework for hierarchical computation of metrics for component-based parameterized SoCs
Mehta et al. Functional Verification: Challenges and Solutions
Shen RTL concurrent fault simulation
Tehranipoor et al. Diagnosing Noise-Induced SDDs by Using Dynamic SDF
Brayton et al. Improvements to Combinational Equivalence Checking

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111208

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120217

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120605

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120626

R150 Certificate of patent or registration of utility model

Ref document number: 5031105

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250