JP6070002B2 - 設計支援装置、設計支援方法及びプログラム - Google Patents

設計支援装置、設計支援方法及びプログラム Download PDF

Info

Publication number
JP6070002B2
JP6070002B2 JP2012206378A JP2012206378A JP6070002B2 JP 6070002 B2 JP6070002 B2 JP 6070002B2 JP 2012206378 A JP2012206378 A JP 2012206378A JP 2012206378 A JP2012206378 A JP 2012206378A JP 6070002 B2 JP6070002 B2 JP 6070002B2
Authority
JP
Japan
Prior art keywords
time
power supply
capacity
integrated circuit
inter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012206378A
Other languages
English (en)
Other versions
JP2014063231A (ja
Inventor
汐 中原
汐 中原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012206378A priority Critical patent/JP6070002B2/ja
Priority to US13/953,309 priority patent/US20140082573A1/en
Publication of JP2014063231A publication Critical patent/JP2014063231A/ja
Application granted granted Critical
Publication of JP6070002B2 publication Critical patent/JP6070002B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/35Delay-insensitive circuit design, e.g. asynchronous or self-timed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/31Design entry, e.g. editors specifically adapted for circuit design
    • 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
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • 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
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/10Noise analysis or noise optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

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

Description

この発明は、集積回路の設計支援装置、設計支援方法及びプログラムに関する。
デジタル回路では、論理の遷移時に過渡的に大きな電流が流れ、ノイズが発生する。半導体基板と半導体基板内のウェルとの間の寄生容量である接合容量を、多端子F行列を用いてモデル化し、接合容量経由で基板に侵入するノイズの影響のシミュレーションを行うことによって、集積回路の基板ノイズを解析する方法がある(例えば、特許文献1参照)。
予めライブラリ内の各セルによって電源から流れる電流の波形を記憶しておき、デジタル回路内のセルごとにセルへの入力値に応じて電源から流れる電流の波形を生成し、各波形を合計することによって、デジタル回路によって電源から流れる電流の波形を生成する方法がある(例えば、特許文献2参照)。
集積回路の設計情報から、集積回路の電源端子に流れる電流を等価的に流せるように記述される集積回路の動作部分を、自動的に生成する方法がある。この集積回路の動作部分のモデルは電流源、または同等の電流を流すトランジスタで記述される(例えば、特許文献3参照)。
特開2003−162559号公報 特開2006−285960号公報 特開2009−199338号公報
しかしながら、従来の方法では、セルへの入力値が遷移することによって電源配線とグランド配線との間の電源間容量が変動するときに電源から流れる電流が考慮されていない。そのため、集積回路の設計段階において、集積回路の動作時に電源から流れる電流を精度良く見積もることができない。例えば、本発明者が、電源から流れる電流の周波数特性、すなわち電流スペクトラムについて、解析による見積もり値と実測値とを比較したところ、クロック周波数の偶数倍の高調波では見積もり値が実測値に概ね一致することがわかった。しかし、クロック周波数の奇数倍の高調波では見積もり値が実測値よりも小さくなることがわかった。このように電源から流れる電流の解析精度が低いと、不要輻射(Electro Magnetic Interference、EMI)を精度良く見積もることができないという問題点がある。
集積回路の設計段階において、集積回路の動作時に電源から流れる電流を精度良く見積もることができる設計支援装置、設計支援方法及びプログラムを提供することを目的とする。
設計支援装置は、電源間容量計算部、状態遷移時間計算部及び電源間容量時間変化計算部を備える。電源間容量計算部は、集積回路の回路構成情報及び入力情報に基づいて、各論理状態における電源配線間の容量を計算する。回路構成情報は、集積回路の各素子の接続関係を示す情報である。入力情報は、集積回路の入力端子に入力される論理値を示す情報である。状態遷移時間計算部は、集積回路の回路構成情報及び入力情報に基づいて、論理状態の遷移に要する時間を計算する。電源間容量時間変化計算部は、電源間容量計算部により得られる容量、及び状態遷移時間計算部により得られる時間に基づいて、容量の時間変化を計算する。
集積回路の設計段階において、集積回路の動作時に電源から流れる電流を精度良く見積もることができる。
図1は、第1の状態における標準セルの電源間容量を説明する図である。 図2は、第2の状態における標準セルの電源間容量を説明する図である。 図3は、第3の状態における配線間容量を説明する図である。 図4は、第4の状態における配線間容量を説明する図である。 図5は、集積回路の一例を示す図である。 図6は、集積回路電源の線型回路モデルの一例を示す図である。 図7は、集積回路の電源間容量の時間変化の一例を示す図である。 図8は、図7に示す電源間容量の時間変化に対する電流時間波形の一例を示す図である。 図9は、実施の形態にかかる設計支援装置のハードウェア構成の一例を示す図である。 図10は、実施の形態にかかる設計支援装置の機能的構成の一例を示す図である。 図11は、実施の形態にかかる設計支援方法の一例を示す図である。 図12は、実施の形態にかかる設計支援装置の機能的構成の別の例を示す図である。 図13は、実施の形態にかかる設計支援方法の別の例を示す図である。 図14は、集積回路の電源間容量の時間変化の別の例を示す図である。 図15は、図14に示す電源間容量の時間変化に対する電流時間波形の別の例を示す図である。 図16は、集積回路電源の線型回路モデルの別の例を示す図(その1)である。 図17は、集積回路電源の線型回路モデルの別の例を示す図(その2)である。
以下に添付図面を参照して、この設計支援装置、設計支援方法及びプログラムの好適な実施の形態を詳細に説明する。以下の各実施例の説明においては、同様の構成要素には同一の符号を付して、重複する説明を省略する。
・標準セルの電源間容量Ccellの状態依存性
図1は、第1の状態における標準セルの電源間容量を説明する図である。図2は、第2の状態における標準セルの電源間容量を説明する図である。標準セルは、例えばインバータ、バッファ、NAND、NOR、AND、OR、XORもしくは各種フリップフロップ、またはそれらを組み合わせてできている複合セルのように、集積回路を構成する論理素子であり、標準セルライブラリによって提供される。本実施例では、インバータセルを例にして標準セルの電源間容量について説明する。
図1に示すように、インバータセル1において、入力端子Aに入力される論理値が"high"レベルの場合、PMOSトランジスタ2はオフ状態となり、NMOSトランジスタ3がオン状態となる。それによって、インバータセルの電源間容量Ccellとして、Cnmos、CAS及びCYDが生じる。
nmosは、NMOSトランジスタ3に関する寄生容量であり、主に基板とウェルとの間の接合容量及びゲート容量で構成される。CASは、入力端子Aに接続されている信号線と電源供給線VSSとの間の寄生容量である。CYDは、出力端子Yに接続されている信号線と電源供給線VDDとの間の寄生容量である。
従って、(1)式に示すように、入力の論理値が"high"レベルである場合のインバータセルの電源間容量Ccellは、CnmosとCASとCYDとを合成した容量となる。
Figure 0006070002
一方、図2に示すように、インバータセル1において、入力端子Aに入力される論理値が"low"レベルの場合、NMOSトランジスタ3はオフ状態となり、PMOSトランジスタ2がオン状態となる。それによって、インバータセルの電源間容量Ccellとして、Cpmos、CAD及びCYSが生じる。
pmosは、PMOSトランジスタ2に関する寄生容量であり、主に基板とウェルとの間の接合容量及びゲート容量で構成される。CADは、入力端子Aに接続されている信号線と電源供給線VDDとの間の寄生容量である。CYSは、出力端子Yに接続されている信号線と電源供給線VSSとの間の寄生容量である。
従って、(2)式に示すように、入力の論理値が"low"レベルである場合のインバータセルの電源間容量Ccellは、CpmosとCADとCYSとを合成した容量となる。
Figure 0006070002
(1)式及び(2)式より明らかなように、インバータセルの電源間容量Ccellは、インバータセルの状態に対する依存性を有する。NANDセル、など、インバータセル以外の標準セルや、標準セル同士の組み合わせによってできるセルについても同様であり、セルの電源間容量Ccellは、セルの状態に対する依存性を有する。各状態における標準セルの寄生容量は、例えばSPICEなどの既存の回路解析エンジンを用いて、標準セルの入力端子に入力される電圧を論理値に応じて変化させるシミュレーションを実行することによって得られる。
・配線間容量Cwireの状態依存性
図3は、第3の状態における配線間容量を説明する図である。図4は、第4の状態における配線間容量を説明する図である。配線間容量は、セル同士を接続する信号線同士の間の寄生容量である。
図3に示すように、信号線jと信号線kとが例えば電源供給線VDDに例えば前段のトランジスタを介して接続されている場合のように、信号線jと信号線kとが同電位である場合、信号線jと信号線kとの間の配線間容量Cwireはゼロとなる。信号線jと信号線kとが例えば電源供給線VSSに接続されている場合も同様である。
図4に示すように、信号線jが例えば電源供給線VDDに接続され、信号線kが例えば電源供給線VSSに接続されている場合のように、信号線jと信号線kとが異なる電位である場合がある。この場合、信号線jと信号線kとの間の配線間容量CwireはCj,kとなる。
・集積回路の電源間容量CLSIの状態依存性
集積回路の電源間容量CLSIは、(3)式に示すように、標準セルの電源間容量Ccellと配線間容量Cwireとの合成容量となる。
Figure 0006070002
なお、標準セルの電源間容量Ccell、配線間容量Cwire及び集積回路の電源間容量CLSIに状態依存性があることは、例えば特開2011−197895号公報に開示されている。また、Shiho Hagiwaraらによる“Linear time calculation of on−chip power distribution network capacitance considering state−dependence”(IEICE Transactions on Fundamentals of Electronics, Vol.E93−A, No.12, pp. 2409−2416, December 2010.)に開示されている。また、Shiho Hagiwaraらによる“Linear Time Calculation of State−Dependent Power Distribution Network Capacitance”(International Symposium on Quality Electronic Design (ISQED), pp. 75−80, San Jose, March 2010.)に開示されている。
・集積回路電源の線型回路モデルの一例
図5は、集積回路の一例を示す図である。図5に示す集積回路11は、二重線で囲まれるインバータセル12及び二重線で囲まれるNANDセル13を有する。インバータセル12及びNANDセル13には、電源供給線VDD及び電源供給線VSSが接続されている。インバータセル12の出力端子とNANDセル13の第1入力端子とは、信号線14により接続されている。NANDセル13の第2入力端子には、別の信号線15が接続されている。
インバータセル12の電源間容量をCcell1とし、NANDセル13の電源間容量をCcell2とする。電源供給線VDDと信号線14との間の配線間容量をCAとし、信号線14と電源供給線VSSとの間の配線間容量をCBとする。信号線14と信号線15との間の配線間容量をCCとする。電源供給線VDDと信号線15との間の配線間容量をCDとし、信号線15と電源供給線VSSとの間の配線間容量をCEとする。
インバータセル12の入力の論理値及びNANDセル13の第2入力端子への入力の論理値がともに"high"レベルである場合、寄生容量としてCA、CC及びCEが選択される。従って、集積回路の電源間容量CLSIは、Ccell1とCcell2とCAとCCとCEとの合成容量となる。
インバータセル12の入力の論理値が"high"レベルであり、NANDセル13の第2入力端子への入力の論理値が"low"レベルである場合、寄生容量としてCA及びCDが選択される。従って、集積回路の電源間容量CLSIは、Ccell1とCcell2とCAとCDとの合成容量となる。
インバータセル12の入力の論理値が"low"レベルであり、NANDセル13の第2入力端子への入力の論理値が"high"レベルである場合、寄生容量としてCB及びCEが選択される。従って、集積回路の電源間容量CLSIは、Ccell1とCcell2とCBとCEとの合成容量となる。
インバータセル12の入力の論理値及びNANDセル13の第2入力端子への入力の論理値がともに"low"レベルである場合、寄生容量としてCB、CC及びCDが選択される。従って、集積回路の電源間容量CLSIは、Ccell1とCcell2とCBとCCとCDとの合成容量となる。
図6は、集積回路電源の線型回路モデルの一例を示す図である。例えば図5に示すような集積回路11を、図6に示すような集積回路電源の線型回路モデル21として表すことができる。集積回路電源の線型回路モデル21において、電源供給線VDDと電源供給線VSSとの間に電流源22が接続されているとともに、電源供給線VDDと電源供給線VSSとの間に容量素子23と抵抗素子24とが直列に接続されている。
図6において、Icktは、インバータセル12及びNANDセル13によって電源供給線VDDと電源供給線VSSとの間に流れる電流である。CLSIは容量素子23の容量値であり、例えば図5に示す集積回路11の場合、上述する4つの状態における集積回路11の電源間容量CLSIである。抵抗素子24は信号線14及び信号線15の配線抵抗である。図6に示すモデルでは、上述する4つの状態に応じてCLSIが変化し、IcktとCLSIに対応する電流とが流れる。
・電源間容量の変化によって流れる電流Icap(t)
図7は、集積回路の電源間容量の時間変化の一例を示す図である。図7に示すように、例えば集積回路の電源間容量CLSIは、時刻t1から[t1+Δt]までの間にC0からC1に変化するとする。そして、CLSIは、時刻t2から[t2+Δt]までの間にC1からC2に変化し、時刻t3から[t3+Δt]までの間にC2からC3に変化するとする。このように、各時刻において状態の遷移にΔtの時間がかかり、このΔtの間にCLSIの充電または放電が行われ、電流が流れる。
図8は、図7に示す電源間容量の時間変化に対する電流時間波形の一例を示す図である。図8に示すように、各時刻においてΔtの時間に電流Icapが流れる。CLSIが大きくなる場合には容量素子23が充電されるようにIcapが流れ、CLSIが大きくなる場合には容量素子23が放電されるようにIcapが流れる。
図6に示すモデルの容量素子23に蓄積される電荷Q(t)の時間変化は、電源供給線VDDと電源供給線VSSとの間の電圧をVDDとすると、(4)式で表される。
Figure 0006070002
電源間容量CLSIの時間変化によって流れる電流Icap(t)は、電荷Q(t)を時間微分することによって得られる。従って、Icap(t)は(5)式で表される。
Figure 0006070002
・状態の遷移に要する時間Δt
状態の遷移に要する時間Δtは、例えばフリップフロップにクロックが入力され、次のフリップフロップに信号が伝播するまでに要する時間tpathによって近似することができる。tpathは、例えば静的タイミング解析(Static Timing Analysis、STA)によって得られる。従って、Δtをtpathによって近似することによって、Δtを容易に求めることができる。
例えばtpathの最小値をtminとすると、(6)式で表されるように、状態の遷移に要する時間Δtをtminとしてもよい。この場合、状態の遷移に要する時間Δtが短くなる。従って、電源間容量CLSIの時間変化によって流れる電流Icap(t)を大きく見積もることができる。
Figure 0006070002
例えばtpathの最大値をtmaxとすると、(7)式で表されるように、状態の遷移に要する時間Δtをtmaxとtminとの中央値としてもよい。
Figure 0006070002
例えばtpathの確率密度関数をp(t)とすると、(8)式で表されるように、状態の遷移に要する時間Δtを平均値としてもよい。
Figure 0006070002
・設計支援装置のハードウェア構成の一例
図9は、実施の形態にかかる設計支援装置のハードウェア構成の一例を示す図である。図9に示すように、設計支援装置は、例えばコンピュータ本体31、入力装置32及び出力装置33を有していてもよい。設計支援装置は、例えば図示しないルータやモデムを介して構内通信網(Local Area Network:LAN)や広域通信網(Wide Area Network:WAN)やインターネットなどのネットワーク34に接続可能である。
コンピュータ本体31は、例えば中央処理装置(Central Processing Unit:CPU)、記憶部及びインターフェースを有していてもよい。CPUは、設計支援装置の全体の制御を司る。記憶部は、例えばリードオンリーメモリ(Read Only Memory:ROM)、ランダムアクセスメモリ(Random Access Memory:RAM)、ハードディスク(Hard Disk:HD)、光ディスク35及びフラッシュメモリのうちの一つ以上で構成される。
記憶部は、CPUのワークエリアとして使用される。記憶部には各種プログラムが格納されており、CPUからの命令に応じてロードされる。ハードディスクや光ディスク35は、ディスクドライブによりデータの読み出し及び書き込みが制御される。光ディスク35やフラッシュメモリは、コンピュータ本体31に対して着脱可能となっている。
インターフェースは、入力装置32からの入力、出力装置33への出力、及びネットワーク34に対する送信及び受信の制御を行う。入力装置32としては、例えばキーボード36、マウス37及びスキャナ38などがある。キーボード36は、文字や数字や各種指示などの入力に用いられるキーを有し、データの入力を行う。また、キーボード36は、タッチパネル式であってもよい。マウス37は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。
スキャナ38は、画像を光学的に読み取る。読み取られた画像は、画像データとして取り込まれ、コンピュータ本体31内の記憶部に格納される。スキャナ38に光学式文字読み取り(Optical Character Reader:OCR)機能を持たせてもよい。
出力装置33としては、例えばディスプレイ39、スピーカ40及びプリンタ41などが挙げられる。ディスプレイ39は、カーソル、アイコンまたはツールボックスをはじめ、文書、画像及び機能情報などのデータを表示する。スピーカ40は、効果音や読み上げ音などの音声を出力する。プリンタ41は、画像データや文書データを印刷する。
・設計支援装置の機能的構成の一例
図10は、実施の形態にかかる設計支援装置の機能的構成の一例を示す図である。図10に示すように、設計支援装置は、状態遷移時間計算部51、電源間容量計算部52及び電源間容量時間変化計算部53を有していてもよい。
状態遷移時間計算部51は、回路構成情報及び入力情報に基づいて、論理状態の遷移に要する時間を計算する。回路構成情報は、集積回路の各素子の接続関係を示す情報であり、例えばSPICE形式のネットリストやVerilog(ヴェリログ)ネットリストなどである。入力情報は、集積回路の入力端子に入力される論理値を示す情報であり、波形変化の情報が記されるVCD(Value Change Dump)などの入力ベクトル情報である。状態遷移時間計算部51は、「・状態の遷移に要する時間Δt」の項において説明したように、例えば(6)式、(7)式または(8)式を計算することによって、論理状態の遷移に要する時間Δtを求めてもよい。
電源間容量計算部52は、回路構成情報及び入力情報に基づいて、各論理状態における電源配線間の容量を計算する。電源間容量計算部52は、例えば「・集積回路電源の線型回路モデルの一例」の項において説明した、図6に示すような集積回路電源の線型回路モデルを用いてもよい。電源間容量計算部52は、集積回路電源の線型回路モデルに対して、集積回路の入力端子に入力される論理値の各状態に対して例えば(3)式を計算することによって、各論理状態における電源配線間の容量CLSIを求めてもよい。例えば、電源間容量計算部52は、特開2011−197895号公報に開示されている方法により、各論理状態における電源配線間の容量CLSIを求めてもよい。
電源間容量時間変化計算部53は、電源間容量計算部52から各論理状態における電源配線間の容量CLSIの情報を受け取り、状態遷移時間計算部51から、論理状態の遷移に要する時間Δtの情報を受け取る。電源間容量時間変化計算部53は、論理状態の遷移に要する時間Δtにおける電源配線間の容量CLSIの変化を計算することによって、電源間容量時間変化CLSI(t)を求めてもよい。電源間容量時間変化計算部53によって、例えば図7に示すような電源間容量の時間変化CLSI(t)が得られる。
状態遷移時間計算部51、電源間容量計算部52及び電源間容量時間変化計算部53は、例えば図9に示す設計支援装置の記憶部に記憶される当該各部51〜53の機能に関するプログラムをCPUに実行させることにより、または、入力や出力のインターフェースにより、実現されてもよい。なお、コンピュータ本体31は、状態遷移時間計算部51、電源間容量計算部52及び電源間容量時間変化計算部53の各機能に関するプログラムをネットワーク34から取得してCPUにより実行してもよい。
また、回路構成情報及び入力情報は、例えば図9に示す設計支援装置の記憶部に保持されてもよい。また、状態遷移時間計算部51、電源間容量計算部52及び電源間容量時間変化計算部53からの出力データは、例えば図9に示す設計支援装置の記憶部に保持されてもよい。
・設計支援方法の一例
図11は、実施の形態にかかる設計支援方法の一例を示す図である。図11に示す設計支援方法は、図10に示す設計支援装置により実施されてもよい。本実施例では、図10に示す設計支援装置が、図11に示す設計支援方法を実施する場合について説明する。
図11に示すように、設計支援方法を実現するプログラムの処理が開始されると、設計支援装置は、回路構成情報及び入力情報に基づいて、状態遷移時間計算部51により、論理状態の遷移に要する時間Δtを計算する(ステップS1)。また、設計支援装置は、回路構成情報及び入力情報に基づいて、電源間容量計算部52により、各論理状態における電源配線間の容量CLSIを計算する(ステップS2)。ステップS1及びステップS2は、いずれが先に処理されてもよいし、同時に処理されてもよい。
次いで、設計支援装置は、論理状態の遷移に要する時間Δt、及び電源配線間の容量CLSIに基づいて、電源間容量時間変化計算部53により、電源配線間の容量の時間変化CLSI(t)を計算する(ステップS3)。そして、設計支援装置は一連の処理を終了する。
図10に示す設計支援装置によれば、電源配線間の容量の時間変化CLSI(t)が得られる。この電源配線間の容量の時間変化CLSI(t)から、集積回路の動作時に電源から流れる電流が導出される。従って、集積回路の動作時に電源から流れる電流を精度良く見積もることができる。
・設計支援装置の機能的構成の別の例
図12は、実施の形態にかかる設計支援装置の機能的構成の別の例を示す図である。図12に示すように、設計支援装置は、入力部54、状態遷移時間計算部51、電源間容量計算部52、電源間容量時間変化計算部53、電流時間波形計算部55及びフーリエ変換部56を有していてもよい。
入力部54は、設計支援装置に、ネットリストなどの回路構成情報及びVCDなどの入力情報を入力する。状態遷移時間計算部51、電源間容量計算部52及び電源間容量時間変化計算部53については、「・設計支援装置の機能的構成の一例」の項で説明した通りである。従って、これらの計算部51〜53の説明を省略する。
電流時間波形計算部55は、電源間容量時間変化計算部53から電源間容量の時間変化CLSI(t)の情報を受け取る。電流時間波形計算部55は、電源間容量の時間変化CLSI(t)に基づいて電流時間波形Icap(t)を計算して求める。電流時間波形計算部55は、例えば「・電源間容量の変化によって流れる電流Icap(t)」の項において説明したように、例えば(5)式を計算することによって、電流時間波形Icap(t)を求めてもよい。電流時間波形計算部55によって、例えば図8に示すような電流波形の時間変化Icap(t)が得られる。
フーリエ変換部56は、電流時間波形計算部55から電流時間波形Icap(t)の情報を受け取る。フーリエ変換部56は、電流時間波形Icap(t)をフーリエ変換することによって周波数領域の電流波形、すなわち電流スペクトラムIcap(ω)を求めてもよい。
状態遷移時間計算部51、電源間容量計算部52、電源間容量時間変化計算部53、電流時間波形計算部55及びフーリエ変換部56は、例えば図9に示す設計支援装置の記憶部に記憶される当該各部51〜53,55,56の機能に関するプログラムをCPUに実行させることにより、または、入力や出力のインターフェースにより、実現されてもよい。なお、コンピュータ本体31は、状態遷移時間計算部51、電源間容量計算部52、電源間容量時間変化計算部53、電流時間波形計算部55及びフーリエ変換部56の各機能に関するプログラムをネットワーク34から取得してCPUにより実行してもよい。
また、入力部54は、例えばユーザが入力装置32を操作することによって、入力装置32や光ディスク35から回路構成情報及び入力情報を記憶部に保持させてもよい。あるいは、入力部54は、ネットワーク34から回路構成情報及び入力情報を取得して記憶部に保持させてもよい。
・設計支援方法の別の例
図13は、実施の形態にかかる設計支援方法の別の例を示す図である。図13に示す設計支援方法は、図12に示す設計支援装置により実施されてもよい。本実施例では、図12に示す設計支援装置が、図13に示す設計支援方法を実施する場合について説明する。
図13に示すように、設計支援方法を実現するプログラムの処理が開始されると、設計支援装置には、入力部54により、回路構成情報及び入力情報が入力される(ステップS11)。次いで、設計支援装置は、回路構成情報及び入力情報に基づいて、状態遷移時間計算部51により、論理状態の遷移に要する時間Δtを計算する(ステップS12)。
また、設計支援装置は、回路構成情報及び入力情報に基づいて、電源間容量計算部52により、各論理状態における電源配線間の容量CLSIを計算する(ステップS13)。ステップS12及びステップS13は、いずれが先に処理されてもよいし、同時に処理されてもよい。
次いで、設計支援装置は、論理状態の遷移に要する時間Δt、及び電源配線間の容量CLSIに基づいて、電源間容量時間変化計算部53により、電源配線間の容量の時間変化CLSI(t)を計算する(ステップS14)。次いで、設計支援装置は、電流時間波形計算部55により、電源配線間の容量の時間変化CLSI(t)に基づいて電流時間波形Icap(t)を計算する(ステップS15)。
次いで、設計支援装置は、フーリエ変換部56により、電流時間波形Icap(t)をフーリエ変換することによって電流スペクトラムIcap(ω)を求める(ステップS16)。そして、設計支援装置は、電流スペクトラムIcap(ω)を出力し(ステップS17)、一連の処理を終了する。
図12に示す設計支援装置によれば、電源配線間の容量の時間変化CLSI(t)から電流スペクトラムIcap(ω)が得られる。この電流スペクトラムIcap(ω)は、集積回路の動作時に電源から流れる電流である。従って、集積回路の動作時に電源から流れる電流を精度良く見積もることができる。
・奇数倍高調波成分の精度改善効果の一例
図14は、集積回路の電源間容量の時間変化の別の例を示す図である。図15は、図14に示す電源間容量の時間変化に対する電流時間波形の別の例を示す図である。
集積回路の電源間容量CLSIは、クロックの"high"と"low"とが切り替わるときに大きく変化する。そこで、説明を簡略化するため、図14に示すように、集積回路の電源間容量CLSIを、例えばクロックが"high"であるときにCHとし、クロックが"low"であるときにCLであるとする。また、クロック周期をTCLKとする。
図14に示すように、集積回路の電源間容量CLSIが[TCLK/2]ごとにCHとCLとで切り替わるとすると、図15に示すような電流時間波形が得られる。従って、電流時間波形Icap(t)は、(9)式で表される。
Figure 0006070002
(9)式で表されるIcap(t)をフーリエ変換すると、(10)式が得られる。(10)式において、Icap(n/TCLK)は、クロック周波数のn倍の周波数における電流値である。mは0以上の整数である。また、状態の遷移に要する時間Δtがクロック周期TCLKよりも小さい場合、クロック周波数の奇数倍の周波数における電流値は(11)式で表される。
Figure 0006070002
Figure 0006070002
(10)式及び(11)式より、クロック周波数の偶数倍の周波数における電流値はゼロとなり、クロック周波数の奇数倍の周波数における電流値は2I0Δtとなることがわかる。つまり、集積回路の動作時に電源から流れる電流の電流スペクトラムIcap(ω)は、クロック周波数の奇数倍の周波数の成分のみを有する。従って、クロック周波数の奇数倍の高調波においても、集積回路の動作時に電源から流れる電流を精度良く見積もることができる。
・電源から流れる電流の解析時間の改善効果の一例
SPICEを用いて、トランジスタレベルのネットリストを過渡解析することによって、集積回路の電源間容量CLSIが変動するときに電源から流れる電流を求めることができる。しかし、SPICEの解析時間は、回路規模wに対して[w1.3]程度のオーダーで増加するため、解析に時間がかかり過ぎてしまう。
例えば、ITRS 2011 Edition(2011 Overall Roadmap Technology Characteristics (ORTC) Tables (Table ORTC−2C)、http://www.itrs.net/Links/2011ITRS/Home2011.htm)に基づいて一例を示す。ITRS 2011 Editionに従って、1チップあたりのトランジスタ数を約3×109個とし、1ゲートあたりのトランジスタ数を4個とすると、1チップのゲート数は約8×108個となる。
図12に示す設計支援装置を用いると、集積回路の電源間容量CLSIの計算時間及び静的タイミング解析に要する時間は、ゲート数に対して線型性を有する。従って、例えばゲート数wが約8×108個の集積回路に対して、SPICEによる計算時間[w1.3]を、図12に示す設計支援装置を用いる場合の計算時間wで割り算すると、約468となる。
つまり、図12に示す設計支援装置を用いることによって、SPICEを用いる場合の約468分の1の時間で解析することができる。1チップあたりのゲート数は増加傾向にある。従って、今後、ますます、図12に示す設計支援装置を用いる場合とSPICEを用いる場合との解析時間の差が広がると予想される。
・不要放射の改善
上述するようにして、集積回路の論理状態が遷移するときに電源から流れる電流の電流スペクトラムIcap(ω)を求めることができる。また、論理セルによって電源から流れる電流の電流スペクトラムIcell(ω)を求めることができる。Icell(ω)の求め方については、例えば特許文献2または特許文献3に開示されている。
cell(ω)とIcap(ω)とを加算することによって、集積回路の電流スペクトラムIckt(ω)を求めることができる。このように電源から流れる電流を精度良く求めることができると、不要輻射を精度良く見積もることができる。従って、不要放射に対して充分な対策を施すことができる。
・集積回路電源の線型回路モデルの別の例
図16は、集積回路電源の線型回路モデルの別の例を示す図(その1)である。図16に示す集積回路電源の線型回路モデル61において、チップ全体の電源モデル62は、図6に示す集積回路電源の線型回路モデル21と同様の回路ブロックの電源モデル63を複数個、有する。各回路ブロックの電源モデル63は、1個以上の論理ゲートを有し、チップ全体の電源モデル62の電源網のRLC網、RC網またはR網によって接続されている。
各回路ブロックの電源モデル63に含まれる容量素子66は、図6に示す集積回路電源の線型回路モデル21の容量素子23と同様に、状態依存性を有する。そのため、図10に示す設計支援装置または図12に示す設計支援装置を用いることによって、集積回路の動作時に電源から流れる電流を精度良く見積もることができる。図16において、符号64は電源網の寄生容量であり、符号65は電源網の寄生抵抗である。
・集積回路電源の線型回路モデルの別の例
図17は、集積回路電源の線型回路モデルの別の例を示す図(その2)である。図17に示す集積回路電源の線型回路モデル71は、図16に示す集積回路電源の線型回路モデル61において、電源供給線VDD及び電源供給線VSSのそれぞれについて、電圧レベルの異なる複数の電源端子を有する。図17において、VDD1、VDD2及びVDD3は、互いに電圧レベルが異なっていてもよい。また、VSS1、VSS2及びVSS3は、互いに電圧レベルが異なっていてもよい。
なお、図6に示す集積回路電源の線型回路モデル21において、抵抗素子24はなくてもよい。また、図16に示す集積回路電源の線型回路モデル61の各回路ブロックの電源モデル63において、抵抗素子はなくてもよい。図17に示す集積回路電源の線型回路モデル71においても同様であり、各回路ブロックの電源モデル63内の抵抗素子はなくてもよい。
なお、本実施の形態で説明する設計支援方法は、予め用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
また、本実施の形態で説明する設計支援装置は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、例えば、上述する設計支援装置の機能51〜53,55,56をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、設計支援装置を製造することができる。
上述した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算する状態遷移時間計算部と、前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算する電源間容量計算部と、前記電源間容量計算部により得られる前記容量、及び前記状態遷移時間計算部により得られる前記時間に基づいて、前記容量の時間変化を計算する電源間容量時間変化計算部と、を備えることを特徴とする設計支援装置。
(付記2)前記状態遷移時間計算部は、フリップフロップ間の信号の伝播に要する時間に基づいて前記時間を計算することを特徴とする付記1に記載の設計支援装置。
(付記3)前記電源間容量時間変化計算部により得られる前記容量の時間変化に基づいて、電流時間波形を計算する電流時間波形計算部を備えることを特徴とする付記1または2に記載の設計支援装置。
(付記4)前記電流時間波形計算部により得られる前記電流時間波形をフーリエ変換することによって電流スペクトラムを求めるフーリエ変換部を備えることを特徴とする付記3に記載の設計支援装置。
(付記5)集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算し、前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算し、前記容量及び前記時間に基づいて前記容量の時間変化を計算することを特徴とする設計支援方法。
(付記6)フリップフロップ間の信号の伝播に要する時間に基づいて前記時間を計算することを特徴とする付記5に記載の設計支援方法。
(付記7)前記容量の時間変化に基づいて電流時間波形を計算することを特徴とする付記5または6に記載の設計支援方法。
(付記8)前記電流時間波形をフーリエ変換することによって電流スペクトラムを求めることを特徴とする付記7に記載の設計支援方法。
(付記9)集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算し、前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算し、前記容量及び前記時間に基づいて前記容量の時間変化を計算する処理をコンピュータに実行させるプログラム。
51 状態遷移時間計算部
52 電源間容量計算部
53 電源間容量時間変化計算部
55 電流時間波形計算部
56 フーリエ変換部

Claims (4)

  1. 集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算する状態遷移時間計算部と、
    前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算する電源間容量計算部と、
    前記電源間容量計算部により得られる前記容量、及び前記状態遷移時間計算部により得られる前記時間に基づいて、前記容量の時間変化を計算する電源間容量時間変化計算部と、
    前記電源間容量時間変化計算部により得られる前記容量の時間変化に基づいて、電流時間波形を計算する電流時間波形計算部と、
    前記集積回路に与えるクロックに基づく各タイミングのうち、前記容量が変化しうるタイミングに基づいて、前記電流時間波形計算部により得られる前記電流時間波形を複数の電源電流波形に分類し、分類した前記複数の電源電流波形の各々について、フーリエ変換することによって、前記複数の電源電流波形の各々についての電流スペクトラムを求めるフーリエ変換部と、
    を備えることを特徴とする設計支援装置。
  2. 前記状態遷移時間計算部は、フリップフロップ間の信号の伝播に要する時間に基づいて前記時間を計算することを特徴とする請求項1に記載の設計支援装置。
  3. コンピュータが、
    集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算し、
    前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算し、
    前記容量及び前記時間に基づいて前記容量の時間変化を計算し、
    前記容量の時間変化に基づいて、電流時間波形を計算し、
    前記集積回路に与えるクロックに基づく各タイミングのうち、前記容量が変化しうるタイミングに基づいて、計算した前記電流時間波形を複数の電源電流波形に分類し、
    分類した前記複数の電源電流波形の各々についてフーリエ変換することによって、前記複数の電源電流波形の各々についての電流スペクトラムを求める、
    処理を実行することを特徴とする設計支援方法。
  4. 集積回路の各素子の接続関係を示す回路構成情報、及び前記集積回路の入力端子に入力される論理値を示す入力情報に基づいて、論理状態の遷移に要する時間を計算し、
    前記回路構成情報及び前記入力情報に基づいて、各論理状態における電源配線間の容量を計算し、
    前記容量及び前記時間に基づいて前記容量の時間変化を計算し、
    前記容量の時間変化に基づいて、電流時間波形を計算し、
    前記集積回路に与えるクロックに基づく各タイミングのうち、前記容量が変化しうるタイミングに基づいて、計算した前記電流時間波形を複数の電源電流波形に分類し、
    分類した前記複数の電源電流波形の各々についてフーリエ変換することによって、前記複数の電源電流波形の各々についての電流スペクトラムを求める処理をコンピュータに実行させるプログラム。
JP2012206378A 2012-09-19 2012-09-19 設計支援装置、設計支援方法及びプログラム Expired - Fee Related JP6070002B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012206378A JP6070002B2 (ja) 2012-09-19 2012-09-19 設計支援装置、設計支援方法及びプログラム
US13/953,309 US20140082573A1 (en) 2012-09-19 2013-07-29 Circuit design support apparatus, circuit design support method, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012206378A JP6070002B2 (ja) 2012-09-19 2012-09-19 設計支援装置、設計支援方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014063231A JP2014063231A (ja) 2014-04-10
JP6070002B2 true JP6070002B2 (ja) 2017-02-01

Family

ID=50275853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012206378A Expired - Fee Related JP6070002B2 (ja) 2012-09-19 2012-09-19 設計支援装置、設計支援方法及びプログラム

Country Status (2)

Country Link
US (1) US20140082573A1 (ja)
JP (1) JP6070002B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9276893B2 (en) * 2013-01-15 2016-03-01 International Business Machines Corporation Determining states of a threaded communication
US9471738B2 (en) * 2015-02-05 2016-10-18 Taiwan Semiconductor Manufacturing Company, Ltd. Method and apparatus for capacitance extraction

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3569681B2 (ja) * 2001-02-02 2004-09-22 株式会社半導体理工学研究センター 半導体集積回路における電源電流波形の解析方法及び解析装置
JP2006215987A (ja) * 2005-02-07 2006-08-17 Sharp Corp 電圧降下量計算方法及び電圧降下量計算装置、回路検証方法及び回路検証装置、並びに回路設計方法及び回路設計装置
JP2008097392A (ja) * 2006-10-13 2008-04-24 Sanyo Electric Co Ltd 電磁輻射ノイズの解析方法
JP5029096B2 (ja) * 2007-03-30 2012-09-19 富士通株式会社 電源ノイズモデル生成方法及び電源ノイズモデル生成装置
US8132137B1 (en) * 2007-11-10 2012-03-06 Altera Corporation Prediction of dynamic current waveform and spectrum in a semiconductor device
US8296704B1 (en) * 2010-07-09 2012-10-23 Altera Corporation Method and apparatus for simultaneous switching noise optimization
JP2012226673A (ja) * 2011-04-22 2012-11-15 Toshiba Corp 電源ノイズ解析方法

Also Published As

Publication number Publication date
JP2014063231A (ja) 2014-04-10
US20140082573A1 (en) 2014-03-20

Similar Documents

Publication Publication Date Title
JP4679786B2 (ja) 集積回路検証用の高精度タイミングモデル
US7627844B2 (en) Methods and apparatuses for transient analyses of circuits
US8726211B2 (en) Generating an equivalent waveform model in static timing analysis
US10275553B2 (en) Custom circuit power analysis
US20120078605A1 (en) Methods and Apparatuses for Circuit Simulation
JP2006285960A (ja) ライブラリ・セルの高精度電流モデルに基づいた、ディジタル回路内の電流の計算
JP5127935B2 (ja) 集積回路設計およびライブラリの最適化
US11301600B2 (en) Methods for generating a contributor-based power abstract for a device
JP5029096B2 (ja) 電源ノイズモデル生成方法及び電源ノイズモデル生成装置
Kuhlmann et al. Efficient crosstalk estimation
JP6070002B2 (ja) 設計支援装置、設計支援方法及びプログラム
US7594209B2 (en) Method for incorporating Miller capacitance effects in digital circuits for an accurate timing analysis
Sitik et al. Timing characterization of clock buffers for clock tree synthesis
JPWO2010125752A1 (ja) 電源設計システム、電源設計方法、及び電源設計用プログラム
US20230281366A1 (en) Apparatus and method of optimizing an integrtted circuit design
JP2008287666A (ja) 回路動作検証装置、半導体集積回路の製造方法、回路動作検証方法、制御プログラムおよび可読記録媒体
Li et al. Characterizing multistage nonlinear drivers and variability for accurate timing and noise analysis
Nassif et al. Advanced waveform models for the nanometer regime
US8745558B1 (en) Deployment of transmission gate logic cells in application specific integrated circuits
JP5332972B2 (ja) デカップリング容量決定方法、デカップリング容量決定装置およびプログラム
Schumacher et al. Fast RTL power estimation for FPGA designs
Saravanakumar et al. Delay Minimization and Evaluation in Logic Paths of RC Interconnects by Unified Logical Effort
US7360189B1 (en) Method and apparatus for enabling waveform display in a system design model
JP2009110380A (ja) レイアウト支援プログラム、該プログラムを記録した記録媒体、レイアウト支援装置、およびレイアウト支援方法
JP5233786B2 (ja) 見積もり支援プログラム、見積もり支援装置および見積もり支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160729

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: 20161206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161219

R150 Certificate of patent or registration of utility model

Ref document number: 6070002

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees