JP2011129029A - 回路シミュレーション装置および過渡解析方法 - Google Patents
回路シミュレーション装置および過渡解析方法 Download PDFInfo
- Publication number
- JP2011129029A JP2011129029A JP2009288984A JP2009288984A JP2011129029A JP 2011129029 A JP2011129029 A JP 2011129029A JP 2009288984 A JP2009288984 A JP 2009288984A JP 2009288984 A JP2009288984 A JP 2009288984A JP 2011129029 A JP2011129029 A JP 2011129029A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- periodic
- net
- input
- unit
- 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
Images
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
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)
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】クロック信号のように常に高速で変動している信号が回路の入力信号として用いられると、その回路の過渡解析における計算量を軽減することができない。
【解決手段】記憶部1は、試験対象回路を示すネットリストを記憶する。抽出部3は、記憶部1に記憶されたネットリストから、試験対象回路に含まれる、周期入力信号に応じた周期出力信号を出力する周期回路を示すサブネットリストを抽出する。解析部4は、抽出部3にて抽出されたサブネットリストが示す周期回路の過渡解析を、その周期回路が出力する周期出力信号の1周期分行う。シミュレーション部5は、解析部4の解析結果に基づいて、記憶部1に記憶されたネットリストが示す試験対象回路の過渡解析を行う。
【選択図】図1
【解決手段】記憶部1は、試験対象回路を示すネットリストを記憶する。抽出部3は、記憶部1に記憶されたネットリストから、試験対象回路に含まれる、周期入力信号に応じた周期出力信号を出力する周期回路を示すサブネットリストを抽出する。解析部4は、抽出部3にて抽出されたサブネットリストが示す周期回路の過渡解析を、その周期回路が出力する周期出力信号の1周期分行う。シミュレーション部5は、解析部4の解析結果に基づいて、記憶部1に記憶されたネットリストが示す試験対象回路の過渡解析を行う。
【選択図】図1
Description
本発明は、回路シミュレーション装置および過渡解析方法に関する。
回路シミュレーションでは、電気回路内の試験対象回路の過渡解析が行われることがある。過渡解析では、試験対象回路における入力信号に応じた出力信号の状態を所定の時間間隔で計算することで、出力信号の状態変化がシミュレーションされる。なお、各時刻における出力信号の状態の計算は、特許文献1に記載されている。
また、過渡解析では、入力信号が変動している変動期間と、入力信号が変動していない非変動期間とで、出力信号の状態を計算する時間間隔である計算間隔を変えることで、計算量を軽減する手法が用いられることがある。より具体的には、本手法では、非変動期間における計算間隔を、変動期間における計算間隔より長くすることで、非変動期間における計算ステップの数を減らして、過渡解析の計算量を軽減している。
しかしながら、クロック信号のように常に高速で変動している信号が試験対象回路の入力信号として用いられると、計算間隔が常に短くなるので、試験対象回路の過渡解析の計算量を軽減することができない。
特に、クロック信号は、電気回路全体に供給されるため、多くの試験対象回路で入力信号として用いられる。このため、クロック信号を入力信号とした試験対象回路の過渡解析の計算量が軽減できないことは、回路シミュレーションの時間短縮の障害になっていた。
本発明による回路シミュレーション装置は、試験対象回路を示すネットリストを記憶する記憶部と、前記記憶部に記憶されたネットリストから、前記試験対象回路に含まれる、周期入力信号に応じた周期出力信号を出力する周期回路を示すサブネットリストを抽出する抽出部と、前記抽出部にて抽出されたサブネットリストが示す周期回路の過渡解析を、当該周期回路が出力する周期出力信号の1周期分行う解析部と、前記解析部の解析結果に基づいて、前記記憶部に記憶されたネットリストが示す試験対象回路の過渡解析を行うシミュレーション部と、を有する。
また、本発明による回路シミュレーション装置は、電気回路内の試験対象回路を示すネットリストを記憶する記憶部と、前記記憶部に記憶されたネットリストから、前記試験対象回路に含まれる、前記電気回路のクロック信号を遅延して周期出力信号として出力する周期回路を示すサブネットリストを抽出する抽出部と、前記抽出部にて抽出されたサブネットリストが示す周期回路の過渡解析を、前記クロック信号の1周期分行う解析部と、前記解析部の解析結果に基づいて、前記記憶部に記憶されたネットリストが示す試験対象回路の過渡解析を行うシミュレーション部と、を有する。
また、本発明による回路シミュレーション装置は、試験対象回路を示すネットリストを記憶する記憶部と、前記記憶部に記憶されたネットリストから、前記試験対象回路に含まれる、周期入力信号に応じた周期出力信号を出力する周期回路を示すサブネットリストを抽出する抽出部と、前記抽出部にて抽出されたサブネットリストを用いて、前記周期出力信号の1周期分の過渡状態を解析する解析部と、前記解析部の解析結果に基づいて、前記記憶部に記憶されたネットリストが示す試験対象回路の過渡解析を行うシミュレーション部と、を有する。
また、本発明による過渡解析方法は、試験対象回路を示すネットリストを記憶する記憶部を有する回路シミュレーション装置による過渡解析方法であって、前記記憶部に記憶されたネットリストから、前記試験対象回路に含まれる、周期入力信号に応じた周期出力信号を出力する周期回路を示すサブネットリストを抽出する抽出ステップと、前記抽出されたサブネットリストが示す周期回路の過渡解析を、当該周期回路が出力する周期出力信号の1周期分行う解析ステップと、前記過渡解析の解析結果に基づいて、前記記憶部に記憶されたネットリストが示す試験対象回路の過渡解析を行うシミュレーションステップと、を有する。
本発明によれば、試験対象回路に含まれる周期出力信号を出力する周期回路の過渡解析が周期出力信号の1周期分だけ行われ、その解析結果に基づいて、試験対象回路の過渡解析が行われるので、周期回路の過渡解析における計算量を軽減することが可能になり、試験対象回路の過渡解析の計算量を軽減することが可能になる。
以下、本発明の実施形態について図面を参照して説明する。なお、以下の説明では、同じ機能を有する構成には同じ符号を付け、その説明を省略する場合がある。
図1は、本発明の実施形態の回路シミュレーション装置の構成を示したブロック図である。図1において、回路シミュレーション装置は、記憶部1と、入力部2と、抽出部3と、解析部4と、シミュレーション部5とを有する。
記憶部1は、電気回路内の試験対象回路を示すネットリスト(Netlist)を記憶する。
図2は、試験対象回路の一例を示した回路図である。図2において、試験対象回路は、遅延回路21〜23と、フリップフロップ24〜26と、インバータ回路27および28とを有する。
遅延回路21〜23のそれぞれは、直列に接続されたインバータ回路I1およびI2で構成される。
また、遅延回路21〜23は直列に接続されている。より具体的には、遅延回路21の入力ピンは、ネットCLK1と接続されている。遅延回路21の出力ピンは、ネットCLK2を介して遅延回路22の入力ピンと接続されている。遅延回路22の出力ピンはネットCLK3を介して遅延回路23の入力ピンと接続されている。そして、遅延回路23の出力ピンはネットCLK4と接続されている。
なお、ネットは、回路間を接続する配線であり、ノードとも呼ばれる。また、ネットCLK1には、電気回路のクロック信号がCLK1信号として入力される。
フリップフロップ24〜26は、D型フリップフロップである。
フリップフロップ24では、データ入力ピンであるDピンは、ネットDINに接続され、クロック入力ピンであるCKピンは、ネットCLK2に接続され、出力ピンであるQピンは、インバータ回路27を介してフリップフロップ25のDピンと接続される。フリップフロップ25では、CKピンは、ネットCLK3に接続され、Qピンは、インバータ回路28を介してフリップフロップ26のDピンと接続される。フリップフロップ26では、CKピンはネットCLK4に接続され、QピンはネットDOUTに接続される。なお、ネットDINは、データ信号が入力される。
上記の構成を備えることにより、遅延回路21〜23は、ネットCLK1に入力されたCLK1信号を順次遅延して出力することになる。より具体的には、遅延回路21は、CLK1信号を遅延してCLK2信号としてネットCLK2に出力する。遅延回路22は、ネットCLK2に入力されたCLK2信号を遅延してCLK3信号としてネットCLK3に出力する。遅延回路23は、ネットCLK3に入力されたCLK3信号を遅延してCLK4信号としてネットCLK4に出力する。
また、ネットDINに入力されたデータ信号は、CLK2信号の立ち上がりエッジでフリップフロップ24に保持される。フリップフロップ24に保持されたデータ信号は、インバータ回路27で反転され、CLK3信号の立ち上がりエッジでフリップフロップ25に保持される。そして、フリップフロップ25に保持されたデータ信号は、インバータ回路28で反転され、CLK4信号の立ち上がりエッジでフリップフロップ26に保持され、フリップフロップ26されたデータ信号はネットDOUTから出力される。
図1の説明に戻る。入力部2は、記憶部1に記憶されたネットリストが示す試験対象回路に含まれる周期回路を特定するための特定情報を受け付ける。
周期回路は、試験対象回路に入力される周期入力信号に応じた周期出力信号を出力する回路である。周期入力信号は、周期的に変動する信号であり、試験対象回路を有する電気回路のクロック信号などである。また、周期回路は、例えば、電気回路のクロック信号を遅延して周期出力信号として出力する回路である。
特定情報は、本実施形態では、周期入力信号が入力されるネットである入力ネットを示す。なお、入力ネットは複数あってもよい。
抽出部3は、入力部2が受け付けた特定情報を用いて、記憶部1に記憶されたネットリストから、試験対象回路に含まれる周期回路を示すサブネットリストを抽出する。
より具体的には、抽出部3は、特定情報にて指定された入力ネットから、入力ピンが複数あるゲートの当該入力ピンと接続されたネットまでの回路を周期回路として示すサブネットリストをネットリストから抽出する。
なお、入力ピンが一つだけのゲートでは、入力ピンに周期信号が入力されると、そのゲートの出力信号は、周期信号を遅延した信号とみなすことができるので、周期信号となる。一方、入力ピンが複数あるゲートでは、ある入力ピンに周期信号が入力されても、出力信号は、その周期信号だけでなく、別の入力ピンに入力された信号にも依存ので、一般的に、周期信号とはならない。
したがって、入力ピンが複数あるゲートの当該入力ピンと接続されたネットは、周期入力信号に応じた周期出力信号を出力する出力ネットとみなすことができる。また、周期出力信号は、入力ピンが一つだけのゲートで周期入力信号が遅延された信号となるので、周期入力信号および周期出力信号の周期は同一となる。
以下、抽出部3が行う抽出処理について、図2で示した試験対象回路を用いて具体的に説明する。
試験対象回路が図2で示した構成を有する場合、ネットCLK1には、クロック信号であるCLK1信号が入力されるので、ネットCLK1は、周期入力信号が入力される入力ネットとなる。したがって、特定情報は、ネットCLK1を示すことになる。
また、遅延回路21〜23のそれぞれの入力ピンは一つだけなので、遅延回路21〜23からネットCLK2〜CLK4に出力されるCLK2信号〜CLK4信号は、CLK1信号が遅延された周期信号となる。さらに、ネットCLK2〜CLK4は、複数の入力ピン(DピンおよびCKピン)を有するフリップフロップ24〜26のCKピンに接続されているので、周期出力信号を出力する出力ネットとなる。
したがって、抽出部3は、特定情報にて指定されたネットCLK1を、複数の入力ピンを有するフリップフロップ24〜26まで追跡することで、ネットCLK2〜CLK4を出力ネットとして見つけることができる。このため、抽出部3は、ネットCLK1とネットCLK2〜CLK4との間の回路を周期回路として特定し、その特定した周期回路を示すサブネットリストを記憶部1に記憶されたネットリストから抽出する。したがって、周期回路は、図3で示したように、試験対象回路に含まれる遅延回路21〜23で構成された回路となる。
図4は、図3で示した周期回路を示すサブネットリストの一例を示した図である。なお、図3では、一般的な回路シミュレーションプログラムであるSPICE(Simulation Program with Integrated Circuit Emphasis)用のサブネットリストが示されている。
図4において、最初の行(L1)は、サブネットリストの始端であり、サブネットリストのタイトル「.TITLE Original」を示す。また、最後の行(L14)における「.END」は、サブネットリストの終端を示す。
.TRANで始まる行(L2)は、過渡解析の条件を表わす。より具体的には、.TRANで始まる行(L2)では、「.TRAN」に続いて、過渡解析の計算間隔「10ps」、終了時間「50ns」の順で示されている。つまり、.TRANで始まる行(L2)は、10ps間隔で0sから50nsまでの過渡解析を行うことを表わす。
Vで始まる行(L3)は、電圧源を示す。より具体的には、Vで始まる行(L3)では、電圧源の名前「VCLK1」、+側のネットの名前「CLK1」、−側のネットの名前「VSS」、電圧源の型「PULSE」の順で示されている。なお、+側のネットおよび−側のネットは、電圧源に接続されたネットであり、電流が+側のネットから電圧源を介して−側のネットに流れるように定義される。
ここでは、電圧源の型「PULSE」は、パルス電圧を出力するパルス型の電圧源を示す。電圧源の型「PULSE」内のパラメータは、パルス電圧の初期電圧値「0」、パルス時の電圧値「2」、遅延時間「0n」、立ち上がり時間「0.1n」、立ち下り時間「0.1n」、パルス幅「4.8n」、周期「10.0n」の順で示されている。
したがって、Vで始まる行(L3)は、振幅「2V」、遷移時間(立ち上がり時間および立ち下り時間)「0.1ns」、周期「10ns」の方形波がネットCLK1に出力されることを表わしている。また、この方形波が周期入力信号であるCLK1信号となる。
SUBCKT文(L10〜L13)は、サブ回路を定義する。.SUBCKTで始まる行(L10)は、サブ回路の定義の始点を示し、.SUBCKTに続いて、サブ回路の名前「INV1」、サブ回路に接続されたネット「IN1 OUT1 VDD VSS」の順で示されている。また、.ENDS(L13)は、サブ回路の定義の終端を示す。
Mで始まる行(L11、L12)は、MOSFETを表わし、MOSFETの名前、ドレインネット、ゲートネット、ソースネット、チャネル、ゲート幅、ゲート長の順で表わしている。ここで、チャネルにおいて、NCHは、Nチャネルを表わし、PCHは、Pチャネルを表わす。したがって、MNOで始まる行(L11)は、NチャネルMOSFETを表わし、PNOで始まる行(L12)は、PチャネルMOSFETを表わす。
また、Mで始まる行(L11)のドレインネットおよびゲートネットは、PNOで始まる行(L12)のドレインネットおよびゲートネットと同じである。このため、サブ回路は、NチャネルMOSFETおよびPチャネルMOSFETが相補的に接続された、CMOSインバータ回路を表わすことになる。
Xで始まる行(L4〜L9)は、SUBCKT文(L10〜L13)で定義されるサブ回路を挿入回路として挿入することを示す。
Xで始まる行(L4〜L9)では、挿入回路の名前、挿入回路に接続されたネット、挿入するサブ回路の名前の順で示されている。例えば、Xで始まる行(L4)では、「XINV1_0」が挿入回路の名前を示し、「CLK1 NET1 VDD VSS」が挿入回路に接続されたネットを示し、「INV1」がサブ回路の名前を示す。
上述のように.SUBCKT文(L10〜L13)で定義されるサブ回路はCMOSインバータ回路を表わすので、Xで始まる行(L4〜L9)は、CMOSインバータ回路を表わすことになり、遅延回路21〜23のインバータ回路I1およびI2を表わすことになる。より具体的には、Xで始まる行(L4)は遅延回路21のインバータ回路I1を表わし、Xで始まる行(L5)は遅延回路21のインバータ回路I2を表わし、Xで始まる行(L6)は、遅延回路22のインバータ回路I1を表わし、Xで始まる行(L7)は遅延回路22のインバータ回路I2を表わし、Xで始まる行(L8)は遅延回路23のインバータ回路I1を表わし、Xで始まる行(L9)は遅延回路23のインバータ回路I2を表わす。
図5は、図4で示したサブネットリストで表わされる周期回路が生成するCLK信号の波形の一例を示した図である。図5で示されたように、CLK2信号は、CLK1信号に対して1ns遅れており、CLK3信号は、CLK1信号に対して2ns遅れており、CLK4信号は、CLK1信号に対して3ns遅れている。
図1の説明に戻る。解析部4は、抽出部3が抽出したサブネットリストを用いて、サブネットリストが示す周期回路の過渡解析を周期入力信号の1周期分行い、周期出力信号の1周期分の過渡状態を解析する。
シミュレーション部5は、解析部4の解析結果に基づいて、記憶部1に記憶されたネットリストが示す試験対象回路の過渡解析を行う。
より具体的には、先ず、シミュレーション部5は、解析結果に基づいて、周期出力信号の周期入力信号に対する遅延時間を計算する。例えば、シミュレーション部5は、周期出力信号の周期入力信号に対する遅延時間を計算するための計算ネットリストを生成し、その計算ネットリストを用いて周期出力信号の遅延時間を計算する。
続いて、シミュレーション部5は、その遅延時間に基づいて、抽出部3が抽出したサブネットリストを、周期出力信号を生成する電圧源を示した修正ネットリストに変換する。
そして、シミュレーション部5は、修正ネットリストを用いて試験対象回路の過渡解析を行う。例えば、シミュレーション部5は、ネットリスト内のサブネットリストが示す周期回路を、修正ネットリストが示す電圧源に書き換え、その書き換えたネットリストに基づいて、試験対象回路の過渡解析を行う。
以下、シミュレーション部5による過渡解析処理について、図4で示したサブネットリストを用いて具体的に説明する。
サブネットリストが図4で示した構成を有する場合、先ず、シミュレーション部5は、周期出力信号の遅延時間を計算するための計算ネットリストとして、図6で示したネットリストを生成する。
図6では、CLK2信号〜CLK4信号のCLK1信号に対する遅延時間のそれぞれを求めるMEASUE文(M1〜M3)が示されている。
MEASUE文(M1〜M3)では、.MEASUEの後に、出力ファイルの名前、測定開始点、測定終了点の順で示されている。
例えば、MEASUE文(M1)では、「TRAN TD_CLK2」は出力ファイルの名前を示し、「TRIG V(CLK1) CROSS=1」は測定開始点を示し、「TARG V(CLK2) CROSS=1」は測定終了点を示す。
なお、測定開始点は、ネットCLK1の電圧「V(CLK1)」が「CROSS」(=1)になった時刻を示し、測定終了点は、ネットCLK2の電圧「V(CLK2)」が「CROSS」(=1)になった時刻を示す。
したがって、MEASUE文(M1)は、ネットCLK1の電圧が1になった時刻から、ネットCLK2の電圧が1になった時刻までの時間を計測することを示す。つまり、MEASUE文(M1)は、CLK2信号のCLK1信号に対する遅延時間を計測することを表わす。
同様に、MEASUE文(M2)は、CLK3信号のCLK1信号に対する遅延時間を計測することを示し、MEASUE文(M4)は、CLK4信号のCLK1信号に対する遅延時間を計測することを示す。
これにより、シミュレーション部5は、CLK2信号〜CLK4信号の遅延時間のそれぞれを示す出力ファイル(TD_CLK2〜TD_CLK4)を得ることができる。シミュレーション部5は、この出力ファイルが示す遅延時間に基づいて、サブネットリストを修正ネットリストに変換する。
図7は、修正ネットリストの一例を示した図である。なお、図7において、最初の行(N1)および最後の行(N7)は、修正ネットリストの始端および終端を示す。
Vで始まる行(N3)は、図4のVで始まる行(L3)と同一である。つまり、CLK1信号を出力するパルス型の電圧源を示す。また、Vで始まる行(N4〜N7)のそれぞれは、Vで始まる行(N3)と同様にパルス型の電圧源を示している。ここで、Vで始まる行(N4〜N7)のそれぞれの電圧源の型「PULSE」内のパラメータは、遅延時間を除いて全て等しい。また、Vで始まる行(N4〜N7)のそれぞれの遅延時間は、1n、2nおよび3nとなっている。したがって、Vで始まる行(N4〜N7)のそれぞれは、CLK2信号〜CLK4信号のそれぞれを生成する電源を示しているが分かる。
シミュレーション部5は、ネットリスト内の周期回路を、修正ネットリストが示す電圧源に書き換え、その書き換えたネットリストに基づいて、試験対象回路の過渡解析を行う。この過渡解析では、ネットリストで指定された10ps間隔で0nsから50nsまでの計算が行われる。
なお、抽出部3、解析部4およびシミュレーション部5の機能は、その機能を実現するためのプログラムを、CPUなどのコンピュータにて読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませることで実現されるものであってもよい。
次に効果を説明する。
本実施形態では、抽出部3は、記憶部1に記憶されたネットリストから、試験対象回路に含まれる、周期入力信号に応じた周期出力信号を出力する周期回路を示すサブネットリストを抽出する。解析部4は、抽出部3にて抽出されたサブネットリストが示す周期回路の過渡解析を、その周期回路が出力する周期出力信号の1周期分行う。シミュレーション部5は、解析部4の解析結果に基づいて、記憶部1に記憶されたネットリストが示す試験対象回路の過渡解析を行う。
このため、試験対象回路に含まれる周期出力信号を出力する周期回路の過渡解析が周期出力信号の1周期分だけ行われ、その解析結果に基づいて、試験対象回路の過渡解析が行われるので、周期回路の過渡解析における計算量を軽減することが可能になり、試験対象回路の過渡解析の計算量を軽減することが可能になる。
また、本実施形態では、周期入力信号が電気回路のクロック信号なので、クロック信号を周期入力信号とした過渡解析における計算量が軽減することが可能になり、回路シミュレーションの時間短縮の行うことが可能になる。
また、本実施形態では、入力部2は、周期回路を特定するための特定情報を受け付ける。抽出部3は、入力部2が受け付けた特定情報を用いて、サブネットリストを抽出する。このため、周期回路を容易に特定することが可能になるので、過渡解析における計算量をさらに軽減することが可能になる。
また、本実施形態では、特定回路は、周期入力信号が入力される入力ネットを示す。また、抽出部3は、特定情報にて指定された入力ネットから、入力ピンが複数あるゲートの当該入力ピンと接続された出力ネットまでの回路を周期回路として示すサブネットリストをネットリストから抽出する。このため、ユーザは入力ネットを指定するだけでよいので、ユーザの負担を軽微にすることができる。
次に動作を説明する。
図8は、回路シミュレーション装置の動作の一例を説明するためのフローチャートである。
ステップS801では、入力部2は、特定情報を受け付けると、その特定情報を抽出部3に出力する。抽出部3は、特定情報を受け付けると、ステップS802を実行する。
ステップS802では、抽出部3は、記憶部1からネットリストを取得する。抽出部3は、特定情報が示す入力ネットを追跡して、出力ネットを特定する。その後、抽出部3は、ステップS803を実行する。なお、ステップS802において、入力ネットが複数ある場合、抽出部3は、その複数の入力ネットのそれぞれに対して、出力ネットを特定する。
ステップS803では、抽出部3は、入力ネットと出力ネットとの間の回路を周期回路として特定し、その周期回路を示すサブネットリストをネットリストから抽出する。入力ネットが複数ある場合、抽出部3は、複数の入力ネットのそれぞれに対して、入力ネットとその入力ネットに対する出力ネットとの間の回路を周期回路として特定する。
抽出部3、サブネットリストおよびネットリストを解析部4に送信する。解析部4は、サブネットリストおよびネットリストを受け付けると、ステップS804を実行する。
ステップS804では、解析部4は、サブネットリストが示す周期回路の過渡解析を、周期回路から出力される出力周期信号の1周期分行う。解析部4は、その解析結果、サブネットリストおよびネットリストをシミュレーション部5に出力する。シミュレーション部5は、解析結果、サブネットリストおよびネットリストを受け付けると、ステップS805を実行する。
ステップS805では、シミュレーション部5は、解析結果に基づいて、周期出力信号の周期入力信号に対する遅延時間を計算する。その後、シミュレーション部5は、ステップS806を実行する。
ステップS806では、シミュレーション部5は、遅延時間に基づいて、サブネットリストを修正ネットリストに変換する。その後、シミュレーション部5は、ステップS807を実行する。
ステップS807では、シミュレーション部5は、ネットリスト内のサブネットリストが示す周期回路を、修正ネットリストが示す電圧源に書き換え、その書き換えたネットリストに基づいて、試験対象回路の過渡解析を行う。これにより、動作が終了する。
次に、ステップS802における抽出部3の追跡処理をより詳細に説明する。図9は、この追跡処理の一例を説明するためのフローチャートである。
ステップS802において抽出部3は、ネットリストを取得すると、追跡処理(ステップS901)を実行する。
ステップS901では、抽出部3は、特定情報が示す入力ネットを1つ選択する。その後、抽出部3は、ステップS902を実行する。
ステップS902では、抽出部3は、入力ネットから入力ピンが複数あるゲートまで配線を追跡して、その入力ネットに対応する出力ネットを特定する。その後、抽出部3は、ステップS903を実行する。
ステップS903では、抽出部3は、ステップS901において入力ネットの全てを選択したか否かを判断する。抽出部3は、入力ネットの全てを選択していると、追跡処理を終了し、入力ネットの全てを選択してはないと、ステップS901に戻る。
図10は、ステップS902における抽出部3の処理の一例を説明するためのフローチャートである。
ステップS1001では、抽出部3は、入力ネットを入力側のネットとして有するゲートを一つ選択する。その後、抽出部3は、ステップS1002を実行する。
ステップS1002では、抽出部3は、その選択したゲートの入力ピンの数を計数し、入力ピンの数が2以上か否かを判断する。抽出部3は、入力ピンの数が2以上であると、ステップS1003を実行し、入力ピンの数が2未満であると、ステップS1005を実行する。
ステップS1003では、抽出部3は、入力ネットを出力ネットとして登録する。その後、抽出部3は、ステップS1004を実行する。
ステップS1004では、抽出部3は、入力ネットを入力側のネットとして有するゲートの全てを選択したか否かを判断する。抽出部3は、そのゲートの全てを選択すると、登録された出力ネットを、入力ネットに対する出力ネットとして特定し、処理を終了する。
ステップS1005では、抽出部3は、ステップS1001で選択されたゲートの出力側のネットを追跡して、出力ネットを探索する。
より具体的には、抽出部3は、ステップS1001で選択されたゲートの出力側のネットを入力側のネットとして有するゲートを一つ選択し、本フローチャートで説明した処理と同様な処理を行い、入力ピンの数が2以上のゲートを探索する。抽出部3は、その探索で見つけたゲートの入力側のネットを出力ネットとして特定する。その後、抽出部3は、ステップS1004を実行する。
このようにして、本実施形態による回路シミュレーション装置は、試験対象回路を示すネットリストを記憶する記憶部(1)と、記憶部(1)に記憶されたネットリストから、試験対象回路に含まれる、周期入力信号に応じた周期出力信号を出力する周期回路を示すサブネットリストを抽出する抽出部(3)と、抽出部(3)にて抽出されたサブネットリストが示す周期回路の過渡解析を、当該周期回路が出力する周期出力信号の1周期分行う解析部(4)と、解析部(4)の解析結果に基づいて、記憶部(1)に記憶されたネットリストが示す試験対象回路の過渡解析を行うシミュレーション部(5)と、を有して構成されている。
また、本実施形態による回路シミュレーション装置は、周期入力信号が、試験対象回路を有する電気回路のクロック信号として構成される。
また、本実施形態による回路シミュレーション装置は、周期回路を特定するための特定情報を受け付ける入力部(2)をさらに有し、抽出部(3)は、入力部(2)が受け付けた特定情報を用いて、サブネットリストを抽出するように構成される。
また、本実施形態による回路シミュレーション装置は、特定情報は、入力ネットを指定し、抽出部(3)は、特定情報にて指定された入力ネットから、入力ピンが複数あるゲートの当該入力ピンと接続されたネットまでの回路を周期回路として示すサブネットリストを抽出するように構成される。
また、本実施形態による回路シミュレーション装置は、電気回路内の試験対象回路を示すネットリストを記憶する記憶部(1)と、記憶部(1)に記憶されたネットリストから、電気回路のクロック信号を遅延して周期出力信号として出力する周期回路を示すサブネットリストを抽出する抽出部(3)と、抽出部(3)にて抽出されたサブネットリストが示す周期回路の過渡解析を、クロック信号の1周期分行う解析部(4)と、解析部(4)の解析結果に基づいて、記憶部(1)に記憶されたネットリストが示す試験対象回路の過渡解析を行うシミュレーション部(5)と、を有して構成される。
また、本実施形態による回路シミュレーション装置は、試験対象回路を示すネットリストを記憶する記憶部(1)と、記憶部(1)に記憶されたネットリストから、試験対象回路内の、周期入力信号に応じた周期出力信号を出力する周期回路を示すサブネットリストを抽出する抽出部(2)と、抽出部(2)にて抽出されたサブネットリストを用いて、サブネットリストが示す周期回路が出力する周期出力信号の1周期分の過渡状態を解析する解析部(4)と、解析部(4)の解析結果に基づいて、記憶部(1)に記憶されたネットリストが示す試験対象回路の過渡解析を行うシミュレーション部(5)と、有して構成される。
なお、以上説明した実施形態は、単なる一例であって、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
例えば、特定情報は、出力ネットを直接指定してもよい。この場合、追跡処理を行わなくてもよくなるので、計算量をさらに軽減することができる。
また、抽出部3は、ネットリスト内のパルス型の電圧源を検索し、そのパルス型電圧源の+側のネットを入力ネットとして特定してもよい。この場合、ユーザが特定情報を入力しなくてもよくなるので、ユーザの負担を軽減することができる。
1 記憶部
2 入力部
3 抽出部
4 解析部
5 シミュレーション部
2 入力部
3 抽出部
4 解析部
5 シミュレーション部
Claims (10)
- 試験対象回路を示すネットリストを記憶する記憶部と、
前記記憶部に記憶されたネットリストから、前記試験対象回路に含まれる、周期入力信号に応じた周期出力信号を出力する周期回路を示すサブネットリストを抽出する抽出部と、
前記抽出部にて抽出されたサブネットリストが示す周期回路の過渡解析を、当該周期回路が出力する周期出力信号の1周期分行う解析部と、
前記解析部の解析結果に基づいて、前記記憶部に記憶されたネットリストが示す試験対象回路の過渡解析を行うシミュレーション部と、を有する回路シミュレーション装置。 - 請求項1に記載の回路シミュレーション装置において、
前記周期入力信号は、前記試験対象回路を有する電気回路のクロック信号である、回路シミュレーション装置。 - 請求項1または2に記載の回路シミュレーション装置において、
前記周期回路を特定するための特定情報を受け付ける入力部をさらに有し、
前記抽出部は、前記入力部が受け付けた特定情報を用いて、前記サブネットリストを抽出する、回路シミュレーション装置。 - 請求項3に記載の回路シミュレーション装置において、
前記特定情報は、前記周期入力信号が入力される入力ネットを指定し、
前記抽出部は、前記特定情報にて指定された入力ネットから、入力ピンが複数あるゲートの当該入力ピンと接続されたネットまでの回路を前記周期回路として示すサブネットリストを抽出する、回路シミュレーション装置。 - 電気回路内の試験対象回路を示すネットリストを記憶する記憶部と、
前記記憶部に記憶されたネットリストから、前記試験対象回路に含まれる、前記電気回路のクロック信号を遅延して周期出力信号として出力する周期回路を示すサブネットリストを抽出する抽出部と、
前記抽出部にて抽出されたサブネットリストが示す周期回路の過渡解析を、前記クロック信号の1周期分行う解析部と、
前記解析部の解析結果に基づいて、前記記憶部に記憶されたネットリストが示す試験対象回路の過渡解析を行うシミュレーション部と、を有する回路シミュレーション装置。 - 試験対象回路を示すネットリストを記憶する記憶部と、
前記記憶部に記憶されたネットリストから、前記試験対象回路に含まれる、周期入力信号に応じた周期出力信号を出力する周期回路を示すサブネットリストを抽出する抽出部と、
前記抽出部にて抽出されたサブネットリストを用いて、前記周期出力信号の1周期分の過渡状態を解析する解析部と、
前記解析部の解析結果に基づいて、前記記憶部に記憶されたネットリストが示す試験対象回路の過渡解析を行うシミュレーション部と、を有する回路シミュレーション装置。 - 試験対象回路を示すネットリストを記憶する記憶部を有する回路シミュレーション装置による過渡解析方法であって、
前記記憶部に記憶されたネットリストから、前記試験対象回路に含まれる、周期入力信号に応じた周期出力信号を出力する周期回路を示すサブネットリストを抽出する抽出ステップと、
前記抽出されたサブネットリストが示す周期回路の過渡解析を、当該周期回路が出力する周期出力信号の1周期分行う解析ステップと、
前記過渡解析の解析結果に基づいて、前記記憶部に記憶されたネットリストが示す試験対象回路の過渡解析を行うシミュレーションステップと、を有する過渡解析方法。 - 請求項7に記載の過渡解析方法において、
前記入力信号は、前記試験対象回路を有する電気回路のクロック信号である、過渡解析方法。 - 請求項7または8に記載の過渡解析方法において、
前記周期回路を特定するための特定情報を受け付ける入力ステップをさらに有し、
前記抽出ステップでは、前記受け付けられた特定情報を用いて、前記サブネットリストを抽出する、過渡解析方法。 - 請求項9に記載の過渡解析方法において、
前記特定情報は、前記周期入力信号が入力される入力ネットを指定し、
前記抽出ステップでは、前記特定情報にて指定された入力ネットから、入力ピンが複数あるゲートの当該入力ピンと接続されたネットまでの回路を前記周期回路として示すサブネットリストを抽出する、過渡解析方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009288984A JP2011129029A (ja) | 2009-12-21 | 2009-12-21 | 回路シミュレーション装置および過渡解析方法 |
US12/974,670 US20110153304A1 (en) | 2009-12-21 | 2010-12-21 | Circuit simulation apparatus and transient analysis method for performing transient analysis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009288984A JP2011129029A (ja) | 2009-12-21 | 2009-12-21 | 回路シミュレーション装置および過渡解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011129029A true JP2011129029A (ja) | 2011-06-30 |
Family
ID=44152327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009288984A Pending JP2011129029A (ja) | 2009-12-21 | 2009-12-21 | 回路シミュレーション装置および過渡解析方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110153304A1 (ja) |
JP (1) | JP2011129029A (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2912285B2 (ja) * | 1997-02-27 | 1999-06-28 | 日本電気アイシーマイコンシステム株式会社 | アナログ・デジタル混在回路の過渡解析方法 |
US6205571B1 (en) * | 1998-12-29 | 2001-03-20 | International Business Machines Corporation | X-Y grid tree tuning method |
TW548596B (en) * | 2000-08-05 | 2003-08-21 | Ibm | Automatic check for cyclic operating conditions for SOI circuit simulation |
US6687889B1 (en) * | 2002-08-08 | 2004-02-03 | Agilent Technologies, Inc. | Method and apparatus for hierarchical clock tree analysis |
JP4020849B2 (ja) * | 2003-09-25 | 2007-12-12 | 松下電器産業株式会社 | シミュレーション装置、シミュレーションプログラム、記録媒体及びシミュレーション方法 |
JP4992468B2 (ja) * | 2007-02-27 | 2012-08-08 | 富士通セミコンダクター株式会社 | 検証方法、検証装置及びプログラム |
-
2009
- 2009-12-21 JP JP2009288984A patent/JP2011129029A/ja active Pending
-
2010
- 2010-12-21 US US12/974,670 patent/US20110153304A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110153304A1 (en) | 2011-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10025895B2 (en) | Circuit simulation using a recording of a reference execution | |
Rodopoulos et al. | Time and workload dependent device variability in circuit simulations | |
KR100876717B1 (ko) | 탬퍼링 방지성 평가 장치 및 탬퍼링 방지성 평가 방법 | |
US10169527B2 (en) | Accurate statistical timing for boundary gates of hierarchical timing models | |
CN107844678B (zh) | 包含IP/Memory时序路径的spice仿真方法 | |
CN112526326B (zh) | 时序测试方法、系统、装置及存储介质 | |
US20200167505A1 (en) | Low overhead random pre-charge countermeasure for side-channel attacks | |
JP5119506B2 (ja) | 半導体集積回路の設計装置、そのデータ処理方法、およびその制御プログラム | |
US11775718B2 (en) | Methods and apparatus to simulate metastability for circuit design verification | |
US11022998B2 (en) | Optimally driving non-uniform clock mesh loads | |
CN104133931B (zh) | 用于检测组合等效电路设计中的相应路径的方法和系统 | |
JP2011129029A (ja) | 回路シミュレーション装置および過渡解析方法 | |
JP2006339610A (ja) | 半導体集積回路装置の信頼性検証方法、半導体集積回路装置の信頼性検証装置、及びコンピュータプログラム | |
Schneider et al. | High-throughput transistor-level fault simulation on GPUs | |
CN113935264A (zh) | 低功耗综合方法及其装置 | |
US20090112549A1 (en) | Techniques for generating and simulating a simulatable vector having amplitude noise and/or timing jitter added thereto | |
KR101522841B1 (ko) | 캐스케이드로 연결된 회로를 위한 클럭 재생 장치 및 그 재생 방법 | |
US9960771B2 (en) | Hum generation using representative circuitry | |
US20090144044A1 (en) | Logic simulator and logic simulation method | |
US8307312B2 (en) | Simulation method of logic circuit | |
JP5262678B2 (ja) | 動作合成システム、動作合成方法、及び動作合成用プログラム | |
JP2009187119A (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
JP2013061811A (ja) | 消費電力解析方法および消費電力解析装置 | |
JP5392862B2 (ja) | ソフトウェアシミュレーション装置、及びシミュレーション方法 | |
JP2012230605A (ja) | キャラクタライズ装置およびそのコンピュータ・プログラム |