JP4554464B2 - シミュレーション装置 - Google Patents

シミュレーション装置 Download PDF

Info

Publication number
JP4554464B2
JP4554464B2 JP2005225019A JP2005225019A JP4554464B2 JP 4554464 B2 JP4554464 B2 JP 4554464B2 JP 2005225019 A JP2005225019 A JP 2005225019A JP 2005225019 A JP2005225019 A JP 2005225019A JP 4554464 B2 JP4554464 B2 JP 4554464B2
Authority
JP
Japan
Prior art keywords
circuit
simulation
processing means
node
partial
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
JP2005225019A
Other languages
English (en)
Other versions
JP2007041839A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2005225019A priority Critical patent/JP4554464B2/ja
Priority to US11/497,301 priority patent/US20070219770A1/en
Publication of JP2007041839A publication Critical patent/JP2007041839A/ja
Application granted granted Critical
Publication of JP4554464B2 publication Critical patent/JP4554464B2/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/20Design optimisation, verification or simulation
    • 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

Description

本発明は、回路シミュレーション方法に代表されるデータ処理方法、そしてシミュレーションプログラムに関し、例えば半導体集積回路の開発もしくは設計に用いるシミュレータに適用して有効な技術に関するものである。
回路シミュレーション技術は半導体集積回路の回路設計及びレイアウト設計などにおける回路検証技術として利用される。近年のデバイスの微細化に伴う回路の大規模化、高集積化により、回路シミュレーションの実行時間増大、シミュレーション結果のデータ量増大が顕在化されている。実際の回路シミュレーション処理では、設計者が確認したい情報を出力として選択的に指定してシミュレーション処理を行う。指定された情報だけが結果データとして保存される。従って、保存されていない結果データは結果表示できない。任意の結果表示を可能にするにはシミュレーション対象の全ての回路ノードを指定したシミュレーションを行って結果を保持しておかなければならない。大規模回路では全部の結果データを保存するにはデータ量が膨大になり、全てを保存するのは実質的に不可能である。また、結果表示の対象データ量が増大すると、結果データの検索時間が増し、表示速度が遅くなる。更に、大規模回路では、シミュレーション処理時間が増大するため、部分的な回路変更や素子パラメータの変更に対処するための再シミュレーション時間も増大する。
シミュレーション結果を保存する記憶領域の削減に関し、特許文献1にはシミュレーション結果を圧縮して保存する技術が記載され、特許文献2には信号経路の上流側から下流側に向かって回路を分割し、分割回路の出力の影響を考慮して部分毎にシミュレーションを進める技術が開示される。
しかしながら、特許文献1に記載の技術では、圧縮・伸張処理が新たに必要になるから、シミュレーションや結果表示に伴う計算機処理時間が更に増大してしまう。特許文献2に記載の技術では、計算機処理に用いるメモリ量は減ってもその結果を保持する補助記憶手段の記憶容量は依然として減らない。しかも、他のシミュレーション結果に依存しないように分割して回路を直列的にシミュレーション処理しなければならないから処理時間は増大する傾向にあると考えられる。
そこで本出願人は先に特許出願を行った(特許文献1)。先の出願に係るシミュレーション方法は、階層化回路データの上位側階層の回路ノードを結果出力ノードとするシミュレーションを行って結果を保存する第1処理と、それよりも下位側階層の回路ノードに対し、上記処理で保存されているシミュレーション結果を前記下位側階層の回路ノードを含む回路領域の入出力情報に用いて、所定の初期条件でシミュレーションを行う第2処理と、を含むものである。
特開平11−96207号公報 特開平9−259151号公報 国際公開第03/036523号パンフレット
本発明者は先の出願発明について更に検討し、シミュレーションに際してボルテージソースループを生ずる場合に着目した。シミュレーションに際して電圧源とインダクタの少なくとも一方だけしか接続されていないパスがあると、そのパスの両端に電圧源またはグランドを接続してループを構成したときにそのパスに含まれるノードの電圧に矛盾を生じたり、電流値を取得することができないという不都合を生ずる虞がある。そのような電圧源とインダクタのみから構成されたループをボルテージソースループと言う。シミュレーション対象回路にボルテージソースループを生ずると、シミュレーション結果が得られない場合があり、先の出願においても下位階層に対するシミュレーションでボルテージソースループを生ずる虞に対処する方法を予め用意しておくことの必要性が本発明者によって見出された。
本発明の目的は、大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存しなくても任意の結果出力点のデータを表示可能であって、ボルテージソースループによる不都合も生じ難いシミュレーション方法を提供することにある。
本発明の上記並びにその他の目的と新規な特徴は本明細書の以下の記述と添付図面から明らかにされるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
〔1〕<1−A>.本発明に係るシミュレーション方法は、階層化回路データの上位側階層の回路ノードを結果出力ノードとするシミュレーションを行って結果を保存する第1処理と、それよりも下位側階層の回路ノードに対し、第1処理で保存されているシミュレーション結果を前記下位側階層の回路ノードを含む回路領域の入出力情報に用いて、所定の初期条件でシミュレーションを行う第2処理とを含む。所定の初期条件は、望ましくは前記第1処理における前記シミュレーションと同等の初期条件であるとよい。前記初期条件は、例えば第1処理でシミュレーション結果と共に保存して、再利用可能にすればよい。これにより、シミュレーション結果が保存される結果出力ノードは上位側階層に制限されるから、シミュレーションで保存すべき結果データ量を削減することができる。下位側階層の回路ノードについては結果出力ノードとしてシミュレーション結果が保存されていないが、上位側階層の結果出力ノードの結果データが下位側階層の回路ノードへの情報インタフェースを担い、第1処理のシミュレーション条件が下位側階層の内部の回路ノードに対する初期的状態を与える。これにより、第1処理で得られた結果データの表示だけでは足りない表示指令に対して、第2処理で部分再シミュレーションを行った結果を表示すればよい。したがって、大規模集積回路のような大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存するのと等価なデータ表示性能を少ない記憶容量(第1処理による結果データを保存可能な容量)で達成することができる。保存すべき結果データ量の削減により結果データの検索時間を短縮できる。また、第2処理による再シミュレーション時の対象回路規模を小さくできるから、大規模回路で部分的な回路変更や素子パラメータの変更時に再シミュレーション時間を短縮することが可能である。
<1−B>.このとき、前記第2処理の対象とされる回路領域(3p)が、電圧源(Vs)とインダクタ(Lt)の何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路(VLC)と、前記部分回路をその外部に接続する1個以上の外部ノード(N1〜NN)とを有し、前記部分回路がグランド電位(GND)に接続されているとき、前記第2処理において前記外部ノードに与える入出力情報を電流情報(IN1〜INN)とする(図38)。電流情報は所要の電流源として与えられる。シミュレーションに際して回路素子として電圧源とインダクタの少なくとも一方の素子だけしか接続されていない部分回路があっても、当該部分回路の電位的基準をグランド電位によって規定し、且つ、当該部分回路の外部ノードに電流情報を与えることによって、前記外部ノードに電圧情報が与えられることによって生ずるボルテージソースループが形成される虞を排除して、必要なシミュレーション結果を得ることができる。電流情報を取得するには、第1の処理において、当該一方の外部ノードに電圧ゼロの電圧源を接続し、その素子に流れる電流を求め、これを保存して第2の処理で利用すればよい。
また、前記第2処理の対象とされる回路領域が、1個の電圧源又は少なくとも2個以上の連結された電圧源から構成された部分回路(VLCv)と、前記部分回路をその外部に接続する1個以上の外部ノードと、前記部分回路に接続する他の回路(CIR)とを有し、前記部分回路がグランド電位に接続されているとき、前記第2処理において部分回路(VLCv)の全ての外部ノードに与える入出力情報を電流情報とする(図42)。前記部分回路に更に他の回路が接続される場合には当該他の回路の状態によって部分回路の前記外部ノードの電圧値が決まることになるので本来全ての外部ノードはフローティングにすればよい。如何なる場合にもボルテージソースループを生じないようにするためである。部分回路の電圧源に流れる電流をシミュレーションによって検証したい場合には、部分回路(VLCv)の全ての外部ノードに入出力情報として電流情報を与えればよい。電流情報は上記と同じように求めればよい。
また、前記第2処理の対象とされる回路領域が、1個の電圧源又は2個以上の連結された電圧源から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードと、前記部分回路に接続する他の回路とを有し、前記部分回路がグランド電位に接続されているとき、前記第2処理において前記部分回路の電圧源に流れる電流を見ないとき全ての前記外部ノードをフローティングとする(図41)。部分回路の電圧源に流れる電流をシミュレーションによって検証することを要しない場合には、他の回路に直結する外部ノード以外の外部ノードもフローティングであってよいということである。
また、前記第2処理の対象とされる回路領域が、電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードとを有し、前記部分回路がグランド電位に接続されているとき、前記第2処理において前記部分回路の全ての素子に流れる電流を見ないとき前記部分回路を削除する(図43)。要するに、部分回路の全ての素子に流れる電流をシミュレーションによって検証することを要しない場合には、部分回路を削除してシミュレーションを行えばよいということであって、シミュレーションのための回路情報の削減、計算機処理時間の短縮に寄与する。
<1−C>.上記説明では部分回路はグランド電位に接続されているものとした。必ずしもそうであることを要しない。前記第2処理の対象とされる回路領域が、電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路と、前記部分回路をその外部に接続する2個以上の外部ノードとを含み、前記部分回路がグランド電位に非接続とされているとき、前記第2処理において前記2個以上の外部ノードの一つに与える入出力情報を電圧源情報とし、残りの外部ノードに与える入出力情報を電流源情報とする(図46)。外部ノードの一つに与える入出力情報としての電圧源情報が例えば上記におけるグランド電位の相当する情報とされる。
同様に、前記第2処理の対象とされる回路領域が、1個の電圧源又は少なくとも2個以上の連結された電圧源から構成された部分回路と、前記部分回路をその外部に接続する2個以上の外部ノードと、前記部分回路に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記第2処理において一つの外部ノードに与える入出力情報を電圧源情報とし、残りの外部ノードに与える入出力情報を電流源情報とする(図49)。
更に同じく、前記第2処理の対象とされる回路領域が、1個の電圧源又は2個以上の連結された電圧源から構成された部分回路と、前記部分回路をその外部に接続する2個以上の外部ノードと、前記部分回路に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記第2処理において前記部分回路の電圧源に流れる電流を見ないとき、一つの外部ノードに与える入出力情報を電圧源情報とし、残りの外部ノードをフローティングとする(図48)。
同じく、前記第2処理の対象とされる回路領域が、電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードとを有し、前記部分回路がグランド電位に非接続されているとき、前記第2処理において前記部分回路の全ての素子に流れる電流を見ないとき前記部分回路を削除する。
<1−D>.前記第1処理において、前記結果出力ノードに接続する電圧源又は電流源の値が下位側階層の回路ノードの値又は回路素子の状態に依存するときは当該下位側階層の回路ノードの値又は回路素子の情報も保存する(図28)。上位階層が下位階層に対して上記依存関係を持っていても、シミュレーション時間を短縮可能とする上記方法による階層化シミュレーションを行うことができる。
〔2〕本発明の別の観点によるシミュレーション方法は、指定された上位側階層の回路ノードを階層化回路データから抽出する抽出処理と、前記抽出処理で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理とを含む。そして、前記シミュレーション実行処理により結果出力ノードに得られた結果データを保存する保存処理と、前記指定階層よりも下位側階層の回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存された結果データから取得して、回路シミュレーションを実行するシミュレーション再実行処理とを含む。この場合にも、シミュレーション再実行処理において上記<1−A>、<1−B>、<1−C>で説明したボルテージソースループが発生する虞を解消するための部分回路に関する処理を含んでシミュレーション方法を構成する。さらに、<1−D>で説明したように上位階層が下位階層に対して依存関係を持つ場合にも同様の手段を講ずることができる。
また、本発明の具体的な形態として、シミュレーション処理結果の表示指令に対し、前記保存処理で保存された結果データの表示又は前記シミュレーション再実行処理で得られたシミュレーション結果の表示を行う表示処理を更に含んでよい。
前記抽出処理は、例えば、階層化回路データにおける下位階層への参照系列を追いながら階層レベルを下位に設定変更する毎に、設定された階層レベルで把握可能な回路ノードを登録する処理を、シミュレーション対象における全ての参照系列に対して行う処理としてよい。シミュレーションの結果出力ノードを階層指定によって抽出することが可能になる。
〔3〕本発明の更に別の観点によるシミュレーション方法は、階層化回路データを用いて回路シミュレーション処理を行うシミュレーション実行処理と、前記シミュレーション実行処理により所定の回路ノードに得られた結果データを保存する保存処理とを含む。そして、前記階層化回路データが修正されたとき、その修正により状態が変化される回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存処理で保存された結果データから取得して回路シミュレーションを実行するシミュレーション再実行処理を含む。この場合にも、シミュレーション再実行処理において上記<1−A>、<1−B>、<1−C>で説明したボルテージソースループが発生する虞を解消するための部分回路に関する処理を含んでシミュレーション方法を構成する。
〔4〕本発明の更に別の観点によるシミュレーション方法は、指定された上位側階層の結果出力点をシミュレーション対象から抽出する第1処理と、抽出された結果出力点に関するシミュレーションを行う第2処理と、前記第2処理で結果出力点に得られた結果データを保存する第3処理とを含む。そして、前記指定階層よりも下位側階層に係るシミュレーション結果の表示指令に対し、前記下位側階層の結果出力点を含む領域の境界情報を前記第3処理で保存された結果データから取得して、前記第2処理のシミュレーションと同等の初期条件で当該下位側階層で結果出力を得る為のシミュレーションを行う第4処理を含む。この場合にも、シミュレーション再実行処理において上記<1−A>、<1−B>、<1−C>で説明したボルテージソースループが発生する虞を解消するための部分回路に関する処理を含んでシミュレーション方法を構成する。さらに、<1−D>で説明したように上位階層が下位階層に対して依存関係を持つ場合にも同様の手段を講ずることができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存しなくても任意の結果出力点のデータを表示可能であって、ボルテージソースループによる不都合も生じ難い。
《オンザフライシミュレーション》
図1には本発明に係るシミュレーション方法の前提となる概念を結果出力区分の一例と共に示す。
同図において1は、設計データで特定されるシミュレーション対象回路である。回路シミュレーションを行なうとき、特定される信号端子もしくは回路ノードに入力波形情報が与えられ、この初期情報を基に非線形方程式及び回路行列を解くことで初期の回路状態を決定する。この時、全ての回路ノードの初期値が決定する。初期の回路状態を基に入力波形情報を遷移して非線形方程式及び回路行列を解くことでその回路状態を決定しながら、回路ノードの遷移データを求めていく。この内、結果出力ノードとして指定された回路ノードの結果データが保存される。結果データを保存する回路ノードは、階層化された設計データにおける上位側階層領域の回路ノードに限定される。図1ではハッチングされた回路領域(データ保存領域)2に含まれる回路ノードN1〜N14を結果出力ノードとして、その結果データが保存される。ハッチングされていない回路領域(データ非保存領域)3a〜3h内の回路ノード(代表として示された3aの場合にはノードN15〜N17)に関する遷移データは結果データとして保存されない。結果データの保存に際して、結果出力ノードとして指定された回路ノードの遷移データ以外にシミュレーション対象回路1の全ての回路ノードの初期値も保存する。データ保存領域内の回路ノードに関する初期値は遷移データに含まれていてもよい。例えば、回路領域3aの回路ノードN15〜N17に関するシミュレーション結果が欲しい場合には、回路領域3aの内部の回路ノードN15〜N17に対する初期状態を、前記保存されている初期値によって決定し、回路領域3aと外部で接続する回路ノードN5〜N8の状態は、前記保存された結果データから決める。これにより、部分的な回路領域3aのシミュレーションを、対象回路1の全体に対して行ったシミュレーションと同等の初期条件で実行でき、それによって当該領域3a内の回路ノードN15〜N17に得られた結果データを表示すればよい。その他の回路領域3b〜3hの内部回路ノードに対しても必要に応じて部分的なシミュレーションを再実行して、その結果を表示すればよい。そのようなデータ非保存領域に対するシミュレーションは、結果を表示したいときにその場ですぐに表示すべき情報を復元するというようなシミュレーションを行う、という意味で、オンザフライシミュレーション(on-the-fly simulation)とも称することにする。
図2には本発明に係るシミュレーション方法の概念を更に原理的に示してある。データ非保存領域は3で総称されている。データ保存領域2とデータ非保存領域3とを分ける指標は階層化回路データの階層構造に依存する。
図3には本発明に係るシミュレーション方法の原理が階層化回路データの階層構造に着目して示される。シミュレーション対象回路1は階層化された回路ブロックにより定義される。最上位ブロックから最下層の回路ブロックまで階層化されている。前記データ保存領域2は最上位階層のブロックから階層構造のパス毎に任意階層の回路ブロックまでの階層データにより特定される上位側階層の回路として規定される。前記データ非保存領域3は、前記データ保存領域2を規定する階層よりも下位側階層の回路ブロックで特定される回路として規定される。データ保存領域2の回路ノードが結果出力ノードとされ、当該ノードの結果データが保存結果データ4として保存される。シミュレーションで保存されなかったデータ非保存領域3の回路ノードに関する表示要求に対しては前記オンザフライシミュレーションによって得られた結果データ5を表示すればよい。
図3より明らかなように、下位側階層の非保存領域3の回路ノードも結果出力ノードとしてそのシミュレーション結果も保存する場合には、保存すべきデータとして非保存結果データ9も保存対象にしなければならなくなる。したがって、データ非保存領域3の回路ノードに対して必要なときその都度、前記オンザフライシミュレーションで取得した結果データ5を表示するシミュレーション方法を採用すれば、大規模集積回路のような大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存するのと等価なデータ表示性能を少ない記憶容量で達成することができる。保存すべき結果データ量の削減により結果データの検索時間を短縮できる。
次に、保存結果データ4を取得した後、シミュレーション対象回路1における部分的な回路変更や素子パラメータの変更があったとき、その変更を反映したシミュレーション結果を得る方法について説明する。
図4にはシミュレーション対象回路における部分的な回路変更や素子パラメータの変更があったときの状態が例示される。図4では例えば前記回路領域3aが変更されている。この変更前に、シミュレーション対象回路のシミュレーションにより前記データ保存領域2内の回路ノードN1〜N14の結果データは既に保存されているものとする。回路領域3aの変更は、当該回路領域3aの出力を信号伝播の上流側から受ける回路ノードN7,N8、N12,N13及び回路領域3d,3e内部の回路ノードに影響を与える。図4において影響される回路ノードと回路領域には文字iが付されている。
図5には部分的な回路変更や素子パラメータの変更があったとき、その変更を反映したシミュレーション結果を得る方法が例示される。前記保存結果データ4を取得したときの回路領域3aの変更は、当該回路領域3aの出力を信号伝播の上流側から受ける回路ノードN7,N8、N12,N13及び回路領域3d,3e内部の回路ノードに影響を与える。そのような変更とそれによる影響を受ける回路領域6に対して、前記オンザフライシミュレーションに類似の手法でシミュレーションを行う。前記変更の影響を受けない回路ノードすなわち、回路領域6と外部で接続する回路ノードN5,N6,N9の状態は、前記保存された結果データから決める。変更された回路領域3a内部の回路ノードは変更内容に応じてその初期値が決定される。また、回路領域3aの出力を信号伝播の上流側から受ける回路ノードN7,N8、N12,N13及び回路領域3d,3e内部の回路ノードも回路領域3aの変更に応じてその初期値が決定される。これにより、部分的な回路領域6のシミュレーションを、部分的に変更された対象回路1の全体に対して行ったシミュレーションと同等の初期条件で実行でき、それによって当該領域6の回路ノードN7、N8,N12,N13に得られた結果データを、変更前の回路ノードの結果データと置き換えればよい。図5において、変更された結果データが得られる結果出力ノードとしての回路ノードN7、N8,N12,N13には文字“m”が付されている。
図6には図5の部分的な変更に対処するシミュレーション方法の原理が階層化回路データの階層構造に着目して示される。図6の回路ブロックBLKiは回路領域6で前記部分的な回路変更や阻止パラメータの変更があった回路ブロックを示す。図6の2pは図5の回路領域6におけるデータ保存領域を意味する。非保存領域である領域3a,3d,3eは下位階層の回路ブロックのデータを有する。領域6のネットリスト7を前記保存結果データ4の一部を用いて回路シミュレーションを行うことにより、回路領域6に関する新規の保存結果データ8が生成される。
上記より、部分的な回路変更等の影響を受ける回路領域6に対して、前記オンザフライシミュレーションに類似の手法でシミュレーションを行うことができるから、シミュレーション時の対象回路規模を小さくでき、大規模回路で部分的な回路変更や素子パラメータの変更時に再シミュレーション時間を短縮することが可能になる。
図7には前記オンザフライシミュレーションの並列処理が例示される。図1で説明したオンザフライシミュレーションを複数の回路領域で行うとき、複数のプロセッサCPU1〜CPU5を用いて並列演算処理を行ってよい。これにより、複数の回路領域に対する表示指令に応答する演算処理及び表示動作の高速化を実現することができる。
図8には回路変更等に起因する部分領域に対するオンザフライシミュレーション類似のシミュレーションを並列処理する例が示される。部分的な回路変更によって影響される部分領域として、図示の6,6Aの複数個所が存在する場合に、それら部分領域6,6Aに対し、複数のプロセッサCPU1、CPU2を用いて並列演算処理を行ってよい。これにより、複数の回路変更個所が信号経路を共有しない複数の部分領域6,6Aに及ぶ場合にもそれらに対する再シミュレーション処理を高速化することができる。
次に図1で説明したしシミュレーション方法を更に具体的に説明する。
図9には本発明に係るシミュレーション方法を実現する為のデータ処理システムが例示される。ネットリスト13はシミュレーション対象回路を特定する階層化回路データである。データ保存領域情報11は階層化回路データにおいて結果出力ノードとして抽出すべき回路ノードを決める為の情報、例えば階層化回路データの所望の階層レベルなどを指定する情報である。指定された階層レベルを指定階層レベルと称する。入力波形情報12は階層化回路データで特定される信号端子もしくは回路ノードに与えられる信号波形を規定する情報であり、シミュレーション対象回路の回路ノードの初期値は前記入力波形情報12等で決まる。デバイス特性情報15は階層化回路データで特定される回路素子の回路特性を規定する為のデバイスモデルパラメータなどを意味する。制御情報14はシミュレーションを行う回路シミュレータ10の動作を制御するその他の制御情報を意味する。回路シミュレータ10は、データ保存領域情報11、入力波形情報12、ネットリスト13、制御情報14、及びデバイス特性情報15を入力し、図1で説明したように、階層化回路データの指定された上位側階層の回路ノードを結果出力ノードとする回路シミュレーションを行い、その結果を保存結果データ4として保存する。
シミュレーション結果の表示制御手段17は、表示ノードの指定情報16が入力されると、その情報で指定された回路ノードが保存結果データ4に含まれているかを検索する。含まれていれば、検索した回路ノードのデータを結果波形情報18としてディスプレイ19に表示制御する。
表示ノードの指定情報16で指定された回路ノードのデータが保存結果データ4に含まれていない場合、オンザフライシミュレーションを経て必要な回路ノードの波形情報をディスプレイ19に表示する。この処理はオンザフライシミュレーション制御等を行う部分回路シミュレーション制御手段20で制御する。すなわち、再実行制御部24は、所要の回路ノードのデータが保存結果データ4に含まれていないとき、その回路ノードを結果出力ノードとする回路シミュレーションに必要な情報を、前記ネットリスト13、制御情報14、デバイス特性情報15及び保存結果データ4を参照して、部分再実行用データ生成手段21で生成する。生成された部分再実行用データ22は、例えば図1の回路領域3aを部分シミュレーションする為のノードN5〜N8の保存情報、領域3a内部の回路ノードN15〜N17の初期値情報、論理構成情報、論理を構成するデバイスの特性情報等が、シミュレータで処理可能なフォーマットに変換されたデータとされる。回路シミュレータ23はその部分再実行用データ22を用いてシミュレーションを実行し、所要の結果出力ノードの波形データを生成する。生成された波形データは結果表示制御手段17を介してディスプレイ19に表示される。特に図示はしないが、従来のシミュレーション処理システムでは対象回路全体の回路ノードを結果出力ノードとしてシミュレーションを行い、図9の保存結果データ4と非保存結果データを区別なく合わせた量のデータが取得される。従来のシミュレーション処理システムでは図9のようなオンザフライシミュレーション制御による部分回路シミュレーション制御を行う手段は存在しない。表示指令で指定された回路ノードの波形情報がなければその指令に対してエラー応答を返すだけである。
図10には図9の回路シミュレータ10による回路シミュレーション処理フローが例示される。前記ネットリスト13などの必要な情報を入力する(S1)。それら入力情報に基づいて、シミュレーション対象の回路ノードから指定階層の回路ノードを抽出し、結果出力ノードとして設定する(S2)。前記入力情報に基づいてシミュレーションの為の行列式が生成され(S3)、デバイスのモデル計算(S4)、行列計算(S5)を経て、ニュートンラプソン法による解の収束が得られたかを判定し(S6)、所定の誤差範囲内で収束が得られるまで上記処理を繰返す。それによる収束値は、その時の結果出力ノードにおける遷移状態の一つの値とされ、全ての結果出力ノードに対する解析が終了するまで、前記モデル計算、行列計算、収束判定を繰り返す(S7,S8)。それら処理で各結果出力ノードに得られた結果データが出力されて(S9)、保存される。
図11には図9の結果表示制御手段17及び部分回路シミュレーション制御手段20によるシミュレーション結果の表示制御フローが例示される。表示ノード情報16で指定された回路ノードを示す表示変数が与えられると(S11)、その表示変数データを検索し(S12)、対応する結果データの有無が判定される(S13)。対応する結果データがある場合にはデータ表示を行う(S14)。対応する結果データがない場合には、部分回路シミュレーション制御手段20による部分回路シミュレーション処理が行われ(S15)、それによって得られた結果データが表示される(S14)。結果表示の終了が指示されるまで、上記処理ステップを繰返して、結果表示の制御が行われる(S16)。
図12には図9の部分回路シミュレーション制御手段20と結果表示制御手段17によって構成されるオンザフライシミュレーション機能付きの結果表示制御手段26の詳細な一例が示される。部分再実行用データ生成手段21で生成される部分再実行用データ22は、部分再実行用入力波形情報22A、部分再実行用ネットリスト22B、部分再実行用初期値情報22Cを含む。オンザフライシミュレーションによるシミュレーションの再実行対象を図1の回路領域3aとすると、部分再実行用入力波形情報22Aは例えば保存結果データに含まれる図1の回路ノードN5〜N8の情報とされる。部分実行用ネットリスト22Bは例えば図1の回路領域3aの回路構成を規定するネットリストとされる。前記部分再実行用初期値情報22Cは、例えば保存結果データ4と共に保存された回路領域3a内部の回路ノードN15〜N17の初期値情報とされる。前記部分再実行用データを用いた回路シミュレーションにより、非保存結果データとされた回路ノードの内の所要の回路ノードの情報が結果データ23Aとして得られる。
次に、上位側回路領域の回路ノードを結果出力ノードとして抽出する処理について説明する。この処理は図10のステップS2における結果出力ノード抽出処理に対応される。
図13には階層構造を持った回路データ(階層化回路データ)による階層構造が例示される。●は回路ブロック(以下単にブロックとも記す)が有する回路ノードの内の内部接続ノードを意味し、◆はブロックが有する回路ノードの内の外部接続ノードを意味する。図14には図13の回路ブロックの階層構造と階層レベルとの関係が示される。図13及び図14より、最上位ブロックは下位のブロックS1,S2を参照し、階層レベル2のブロックS1はブロックS2を参照する。回路レベル3のブロックS2は下位のブロック参照を有していない。
図15には図3などで説明した階層化回路データにおける各階層の回路ブロックが保有する情報を例示する。回路ブロックは、ブロック名、下位ブロックの階層間対応情報、素子情報、外部接続ノード情報、及び内部接続ノード情報を有する。下位ブロックの階層間対応情報及び素子情報については不要な場合もある。前記下位ブロックの階層間対応情報は、下位ブロック参照名、接続ノード情報、外部接続ノード情報、及び下位ブロック名を有する。図13の最上位ブロックを一例とすれば、下位ブロック参照名は参照を定義する定義側のX1,X2であり、下位ブロック名はX1に対応して参照される側のS1であり、X2に対応して参照される側のS2である。
前記回路ブロックの態様を説明する。回路ブロックの態様は図16に例示されるところの下位ブロックのみで構成される態様、図17に例示されるところの下位ブロックと素子で構成される態様、図18に例示されるところの素子のみで構成される態様に大別される。素子とは、最下位概念の回路要素を意味し、トランジスタ、抵抗、容量、伝達関数などで表現される数学的要素を意味する。ブロックとは複数の回路素子の集合として位置付けられる。図16の回路ブロックの回路情報は素子情報を持たない。図18の回路ブロックは下位ブロックの階層間対応情報を持たない。
シミュレーション対象回路全体の階層化された回路ブロック情報と階層レベルの一般的なデータ形態は図19に例示される。階層レベル間における回路ブロック情報のリンクは前記下位ブロックの階層間対応情報で行われる。図19に例示されるデータ形態の回路ブロック情報から外部接続ノードや内部接続ノードのノード情報を抽出したときの情報フォーマットは、特に制限されないが、図20に例示されるように、階層レベル毎に最上位側より下位ブロック参照名が区切り文字で区切られて付加され、最後に外部接続ノード名又は内部接続ノード名を有する、階層情報付きノード名としての情報フォーマットを有する。
図21には図13に例示された階層構造を持つシミュレーション対象回路全体の階層化された回路ブロック情報と階層レベルの具体例が示される。図22には図21の回路ブロック情報から抽出された外部接続ノード及び内部接続ノードの全てのノード情報が階層情報付きノード名として与えられている。
図23には前記結果出力ノード抽出処理の制御フローチャートが例示される。先ず、最上位ブロックを選択し階層レベルを1に設定する(S20)。設定された階層レベルの階層情報と内部ノードを階層情報付きノード名として結果出力ノードに登録する(S21)。次に、前記図9のデータ保存領域情報11として指定された階層レベルの指定値(指定階層レベル)が前記ステップS20の設定値(設定階層レベル)に等しいかが判定される(S22)。一致していないときは、回路ブック情報から下位ブロック参照情報を検索し(S23)、下位ブロック参照の有無を判別する(S24)。下位ブロック参照があるときは、当該参照に係る下位ブロックへ移動し、設定階層レベルを1上げる(S25)。移動した下位ブロックにおいて前記ステップS21〜S24の処理を行う。上記処理は、設定階層レベルが指定階層レベルに到達するまで、或は下位ブロックの参照がなくなるまで繰返される。
下位ブロックの参照がなくなったとき、或は、設定階層レベルが指定階層レベルに到達したとき、設定階層レベルが“1”であるかを判別し(S26)、そうでなければ、設定階層レベルから一つ上位のブロックに戻り、設定階層レベルを1下げる(S27)。この設定階層レベルのブロックにおいて全ての下位ブロック参照が終了したかを判定する(S28)。即ち、そこから下位にリンクする更に別の下位ブロック参照があるか否かを判別する。判別の結果、更に別の下位ブロック参照がある場合には、次の下位ブロック参照に対応する下位ブロックへ移動し、設定階層レベルを1上げて(S29)ステップS21に戻り、上記同様の処理を繰返す。前記ステップS28の判別により、その設定階層レベルから下位にリンクする更に別の下位ブロック参照がないと判断されたときは、設定階層レベルが“1”であるかが判別され(S30)、そうでなければステップS27に戻り、前記ステップS26又はS30において設定階層レベルが“1”である、と判別されるまで上記処理を繰返す。
図24には図21の階層化された回路ブロック情報に対して、指定階層レベルを2とし図23の抽出処理を行ったときに抽出されるノード情報の所在が例示される。抽出されるノード情報は太枠矩形で覆われている。図25にはそのようにして抽出されて登録された階層情報付きノード名が太枠矩形に覆われて示されている。当該抽出された回路ノードが図9の回路シミュレータ10によるシミュレーション結果の出力ノードとされる。図25の階層レベル3の回路ノードはオンザフライシミュレーションによる任意の結果出力ノードとされる。この例に則して説明すると、図25の階層レベル3におけるノード名N1、即ち、図13の最上位ブロックで参照されている回路ブロックX1内で参照されている回路ブロックX1及びX2における回路ノードN1のシミュレーション波形は、前記オンザフライシミュレーションにより演算されて、表示可能にされる。図26には、そのオンザフライシミュレーションで図13の回路における階層情報付きノードX1.X1.N1についてシミュレーション結果を生成するときの概念図が例示される。tmr1、tmr2、tmr3、tmr4は図13の対応ノードを意味する。
上記説明では、結果出力ノードの抽出処理機能は図9の回路シミュレータ10がその機能の一部として有するものとしたが、図27に例示されるように結果出力ノード抽出処理手段10Aを回路シミュレータ10から分離させてもよい。要するに、回路シミュレータとは別に提供される結果出力ノード抽出プログラムを利用してよい。図27にはオンザフライシミュレーションのための手段は図示を省略してある。
《結果データの下位階層依存》
上記シミュレーション方法では、図1に基づいて説明したように、回路シミュレーションによる結果データを保存する回路ノードは、階層化された設計データにおける上位側階層領域の回路ノードに限定した。本発明はそれに限定されない。即ち、図28に例示されるように、上位階層であるデータ保存領域とされる回路領域2の電流源3iと電圧源3gが、下位階層であるデータ非保存領域とされる回路領域3aの内部ノードの値又は内部素子の状態に依存するとき、当該回路領域3aの内部ノードの値と内部素子の情報も一緒に保存する。図28の例では、電流源3iの電流値Idepは、内部ノードNS3の電圧VNS3と、ノードNS4に流れる電流値INS4とに依存する。電圧源3gの電圧Vdepは、ノードN121とノードN10の差電圧とされ、これは内部ノードNS1の電圧VNS1と内部ノードNS2に流れる電流INS2とに依存する。
図28の場合における回路シミュレーションの処理フローは図29とされる。図10との相違はステップS2の処理である。図29においては、結果出力ノードとして抽出する対象は上位階層だけでなく、依存関係のある下位階層の内部ノードも抽出し、さらに、依存関係のある下位階層の素子情報も抽出する。
図30には前記結果データの下位階層依存性がある場合の階層化回路データの階層構造が例示される。図13との相違点は、最上位ブロックの電圧源3jが下位階層のブロックX1,X2の内部ノードや回路素子の状態に依存する場合が示されていることである。電圧源3jの電圧Vdepは、ブロックX1、X2の素子M1に流れる電流I(X1,X2,M1)と、ブロックX1、X2のノードN1の電圧V(X1,X2,N1)とに依存する。即ち、前記電流I(X1,X2,M1)はブロックX2の素子M1を通して流れる電流と、ブロックX1の素子M1を通して流れる電流とに依存する。前記電圧V(X1,X2,N1)はブロックX2のノードのN1の電圧と、ブロックX1のノードのN1の電圧とに依存する。
図30に示された階層構造を持つシミュレーション対象回路全体の階層化された回路ブロック情報と階層レベルの具体例は基本的に図21と同じである。図31には図30の場合に図21の回路ブロック情報から抽出された外部接続ノード及び内部接続ノードの全てのノード情報が階層情報付きノード名として与えられた状態を例示する。図32には図30の場合における前記結果出力ノード抽出処理の制御フローチャートが例示される。図23との相違点は、ステップS31が追加されたことである。即ち、ステップS31では、全ての階層レベルにおいて依存性のある電圧源又は電流源によって参照される下位階層の内部ノード及び素子の状態を検索し、検索されたノードを結果出力ノードに追加し、検索された素子の状態を素子情報として登録する。
図33は図21と基本的に同じ図30に示された階層構造を持つシミュレーション対象回路全体の階層化された回路ブロック情報に対して、指定階層レベルを2とし図32の抽出処理を行ったときに抽出されるノード情報の所在が例示される。抽出されるノード情報は太枠矩形で覆われている。図34にはそのようにして抽出されて登録された階層情報付きノード名が太枠矩形に覆われて示されている。図24、図25との相違点は電圧源3jが依存する階層レベル3における素子情報とノード情報が抽出されている点である。当該抽出された回路ノードが図9の回路シミュレータ10によるシミュレーション結果の出力ノードとされる。図34の階層レベル3における太枠矩形以外の回路ノードはオンザフライシミュレーションによる任意の結果出力ノードとされる。上記説明では、結果出力ノードの抽出処理機能は図9の回路シミュレータ10がその機能の一部として有するものとしたが、図35に例示されるように結果出力ノード及び素子抽出処理手段10Bを回路シミュレータ10から分離させてもよい。要するに、回路シミュレータとは別に提供される結果出力ノード及び素子抽出プログラムを利用してよい。図35にはオンザフライシミュレーションのための手段は図示を省略してある。
《ボルテージソースループの抑制》
次に、前記オンザフライシミュレーションにおいてボルテージソースループの発生を予め抑制するための方法について説明する。
図36にはボルテージソースループを発生される虞のある態様として着目する第1の例が示される。シミュレーション対象回路1に対して3p、3qはデータ非保存領域としての回路領域である。回路領域3pは、電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路VLCと、前記部分回路VLCをその外部に接続する1個以上の外部ノードN1〜NNとを有する。前記部分回路がグランド電位GNDに接続されている。回路領域3pがそのような素子やノードを有していることは図15乃至図18で説明した素子情報、外部接続ノード情報及び内部接続ノード情報から分かる。RGは抵抗回路、VIN1、VSRCは外部電源である。SRCは外部電源VSRCが供給される電源端子である。
図37には図36の回路領域3pにおいて部分回路VLCがボルテージソースループを形成する場合の例が示される。部分回路VLCは電圧源VsとインダクタLtを備える。オンザフライシミュレーションにおいて外部ノードN1〜NNには所要のタイムスロットにおける対応する保存結果データが与えられる。与えられる保存結果データが等価的に電圧源VN1〜VNNとされるデータであるとすると、電圧源VN1〜VNNが接続するグランド電位GNDと部分回路VLCが接続するグランド電位GNDとの間には電圧源又はインダクタのみから構成される閉回路、即ちボルテージソースループVLPが形成される。シミュレーションにおいてボルテージソースループがあると、そのパスに含まれるノードの電圧に矛盾を生じたり、電流値を取得することができないという不都合を生ずる虞があり、シミュレーション結果を得られない場合がある。
図38には図36の回路領域3pに対するオンザフライシミュレーションにおいてボルテージソースループの発生を抑制する回路状態が例示される。図36の状態が検出されたとき、オンザフライシミュレーションにおいて前記外部ノードN1〜NNに与える入出力情報を電流情報とする。すなわち、当該外部ノードN1〜NNに電流源IN1〜INNを接続する。これにより、シミュレーションに際して回路素子として電圧源とインダクタの少なくとも一方の素子だけしか接続されていない部分回路VLCがあっても、当該部分回路VLCの電位的基準をグランド電位GNDによって規定し、且つ、当該部分回路VLCの外部ノードN1〜NNに電流源IN1〜INNを接続することによって、前記外部ノードN1〜NNに電圧情報が与えられることによって生ずるボルテージソースループが形成される虞を排除して、部分回路VLCを含む回路3pに対して目的とするオンザフライシミュレーションを行うことができる。
図39には前記ノードN1〜NNの電流情報を求める方法が示される。即ち、シミュレーション対象回路1のデータ保存領域2に対するシミュレーションにおいて、ノードN1〜NNに電圧0の電圧源V(IN1)〜V(INN)を素子として追加し、当該素子に流れる電流の値も一つの結果データ4として保存する。図38のオンザフライシミュレーションではその電流値の電流源IN1〜INNをノードN1〜NNに与えてやればよい。図39の例を拡張的に適用する場合を考えると、図39の場合に限らず、データ保存領域2における所要の複数の回路ノードに対するシミュレーション結果データを電圧値と電流値で保存しても良い。更に拡張すれば、データ非保存領域3においてデータ保存領域の回路ノードとインタフェースされていない電圧源と電流源の値も、データ保存領域に対する回路シミュレーション結果のデータ保存と共に初期条件として保存しておくのが便利である。この場合には電圧源の電流値、電流源の電圧値も保存すれば尚良い。
次に第2の例を説明する。図40のように回路領域3p内の部分回路VLCが外部ノードN1の他に別の内部回路CIRに接続されている場合を考える。部分回路VLCvは1個の電圧源Vs又は少なくとも2個以上の連結された電圧源Vsから構成されるものとする。前記部分回路VCLvは上記同様にグランド電位に接続されている。前記部分回路VLCvに更に他の回路CIRが接続される場合には当該他の回路CIRの状態によって部分回路VLCvの前記外部ノードN1〜NNの値が決まることになるので、回路領域3pのオンザフライシミュレーションでは図41のように本来全ての外部ノードN1〜NNをフローティングにすればよい。如何なる場合にもボルテージソースループを生じないようにするためである。回路領域3pのオンザフライシミュレーションにおいて部分回路VLCvの電圧源に流れる電流をシミュレーションによって検証したい場合には、図42に例示されるように、全ての外部ノードN1〜NNに入出力情報として電流情報を与えればよい。電流情報は上記と同じように求めればよい。見方を変えれば、図41の方法は、部分回路VLCvの電圧源に流れる電流をシミュレーションによって検証することを要しない場合には、全ての外部ノードはフローティングであってよいということになる。
次に第3の例を説明する。前記部分回路VLCが電圧源VsとインダクタLtの何れか1個の素子又は電圧源VsとインダクタLtの少なくとも2個以上の連結された素子から構成され、前記部分回路VLCをその外部に接続する1個以上の外部ノードN1〜NNが配置され、前記部分回路VLCがグランド電位GNDに接続されているとき、回路領域3pに対するオンザフライシミュレーションにおいて前記部分回路VLCの全ての素子に流れる電流を見ないとき、図43に示されるように、前記部分回路VLCを削除してオンザフライシミュレーションを行えばよい。要するに、部分回路VLCの全ての素子に流れる電流をシミュレーションによって検証することを要しない場合には、部分回路を削除してシミュレーションを行えばよいということであって、シミュレーションのための回路情報の削減、計算機処理時間の短縮に寄与する。
次に第4の例を説明する。上記説明では部分回路VLCはグランド電位GNDに接続されているものとした。必ずしもそうであることを要しない。図36に対して図44のような回路を想定する。図36との相違点は部分回路VLCがグランド電位に接続されていないことである。このとき、回路領域3pに対するオンザフライシミュレーションにおいて、図45のように前記外部ノードN1〜NNの全てに電圧源情報VN1〜VNNを与えると図37で説明したのと同様にボルテージソースループVLPが形成される。ボルテージソースループの発生を抑制するには、図46のように、回路領域3pに対するオンザフライシミュレーションでは、前記外部ノードN1〜NNの一つの外部ノードNNに与える入出力情報を電圧源情報VNNとし、残りの外部ノードN1〜NN−1に与える入出力情報を電流源情報IN1〜INN−1とする。外部ノードNNに与える入出力情報としての電圧源情報VNNが例えば図38におけるグランド電位GNDに相当する情報とされる。これにより、回路領域3p内でグランド電位GNDに接続されていない部分回路VLCに対して、電位的基準を電圧源情報VNNによって規定し、且つ、当該部分回路VLCの外部ノードN1〜NN−1に電流源IN1〜INN−1を接続することによって、前記外部ノードN1〜NN−1に電圧情報が与えられることによって生ずるボルテージソースループが形成される虞を排除して、部分回路VLCを含む回路領域3pに対して目的とするオンザフライシミュレーションを行うことができる。外部ノードN1〜NN−1の電流源IN1〜INN−1を得るには図39で説明したのと同じ方法を用いれば良い。
次に第5の例を説明する。上記部分回路VLCvについてもグランド電位GNDに接続されている場合を説明したが、必ずしもそうであることを要しない。図40に対して図47のような回路を想定する。図40との相違点は部分回路VLCvがグランド電位GNDに接続されていないことである。前述のように部分回路VLCvは1個の電圧源Vs又は少なくとも2個以上の連結された電圧源Vsから構成されるものとする。図48に例示されるように、回路領域3pに対するオンザフライシミュレーションにおいて、前記外部ノードN1〜NNの一つの外部ノードNNに与える入出力情報を電圧源情報VNNとし、この電圧源情報VNNがグランド電位GNDの代わりに部分回路VLCvに対する一方の電位的基準を与える。前記部分回路VLCvに他の回路CIRが接続される場合には当該他の回路CIRの状態によって部分回路VLCvの前記外部ノードN1〜NN−1の値が決まることになる。したがって、回路領域3pのオンザフライシミュレーションでは図48のように外部ノードNNを除くその他の外部ノードN1〜NN−1をフローティングにすればよい。如何なる場合にもボルテージソースループを生じないようにするためである。回路領域3pのオンザフライシミュレーションにおいて部分回路VLCvの電圧源Vsに流れる電流をシミュレーションによって検証したい場合には、図49に例示されるように、電圧情報VNNの入力用外部ノードNNを除くその他の外部ノードN1〜NN−1に入出力情報として電流情報を与えればよい。電流情報は上記と同じように求めればよい。見方を変えれば、図49の方法は、部分回路VLCvの電圧源に流れる電流をシミュレーションによって検証することを要しない場合には、(この間削除)電圧情報VNNの入力用外部ノードNN以外の外部ノードはフローティングであってよいということになる。
また、図40及び図48において部分回路VLCvがインダクタを含む場合も、図42及び図49は有効である。インダクタを含む場合は電流を正しく再現する必要があるので、図48のように外部ノードをフローティングにすることはできない。
次に第6の例を説明する。図44のように部分回路VCLがグランド電位に接続されていない場合にも、前記第3の例と同じように、回路領域3pに対するオンザフライシミュレーションにおいて前記部分回路VLCの全ての素子に流れる電流を見ないときは、図43に示されるように、前記部分回路VLCを削除してオンザフライシミュレーションを行えばよい。要するに、部分回路VLCの全ての素子に流れる電流をシミュレーションによって検証することを要しない場合には、部分回路を削除してシミュレーションを行えばよいということであって、シミュレーションのための回路情報の削減、計算機処理時間の短縮に寄与する。
以上説明したシミュレーション方法によれば、大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存しなくても任意の結果出力点のデータを表示可能であって、ボルテージソースループによる不都合も生じ難い。
大規模集積回路のような大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存するのと等価なデータ表示性能を少ない記憶容量で達成可能であって、ボルテージソースループによる不都合も生じ難い。
大規模集積回路のような大規模なシミュレーション対象に対しシミュレーション結果データの表示速度を高速化することが容易であって、ボルテージソースループによる不都合も生じ難い。
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。
例えば、シミュレーション対象回路の規模は、数十万乃至数百万ゲートの規模であってよい。図19等に基づく説明ではシミュレーション結果の表示機能の拡張としてオンザフライシミュレーションを位置付けているが、表示とは切り離して、部分シミュレーションとして発明を把握することは当然可能である。更に表示機能拡張の場合にも、シミュレーション結果の表示に限定されず、階層情報に対するデータ処理結果の表示というスタンスで発明を把握することが可能である。
更に、上記シミュレーション方法は前述のフローチャートで示した機能若しくは処理手順をコンピュータを用いて実現する為のシミュレーションプログラムとして把握可能であることは言うまでも無い。そのようなシミュレーションプログラムが提供されることにより、前記シミュレーション方法を容易に実施に移すことが可能になる。
また、本発明のシミュレーション方法は回路シミュレーションに限定されず、デバイスシミュレーションにも適用可能である。例えば、MOSトランジスタなどのデバイス断面領域をメッシュ状のブロックに分けて階層的に把握しながらシミュレーションを行うデバイスシミュレーションの場合、前記結果出力点は、例えばデバイス断面上の電流又は電圧着目点になる。前記上位側階層のシミュレーションでは結果出力点は前記メッシュ境界部分に存在され、下位側階層のシミュレーションでは結果出力点は前記メッシュ内に存在されることになる。メッシュ内の結果出力点をシミュレーション結果として得る場合には、メッシュ境界部分の既存結果出力点の既存シミュレーション結果と、その既存結果を得る時と同じシミュレーション初期条件とを用いて部分的なデバイスシミュレーションを行えばよい。
本発明は、半導体集積回路の回路シミュレーション、半導体デバイスのデバイスシミュレーション等に広く適用することができる。
本発明に係るシミュレーション方法の概念を結果出力区分の一例と共に示す説明図である。 本発明に係るシミュレーション方法の概念を更に原理的に示した説明図である。 本発明に係るシミュレーション方法の原理を階層化回路データの階層構造に着目して示した説明図である。 シミュレーション対象回路における部分的な回路変更や素子パラメータの変更があったときの状態を例示する説明図である。 部分的な回路変更や素子パラメータの変更があたとき当該変更を反映したシミュレーション結果を得る方法を例示する説明図である。 図5の部分的な変更に対処するシミュレーション方法の原理を階層化回路データの階層構造に着目して示した説明図である。 オンザフライシミュレーションの並列処理を例示する説明図である。 回路変更等に起因する部分領域に対するオンザフライシミュレーション類似のシミュレーションの並列処理を例示する説明図である。 本発明に係るシミュレーション方法を実現する為のデータ処理システムを例示するブロック図である。 図9の回路シミュレータ10による回路シミュレーション処理を例示するフローチャートである。 図9の結果表示制御手段及び部分回路シミュレーション制御手段によるシミュレーション結果の表示制御を例示するフローチャートである。 図9の部分回路シミュレーション制御手段と結果表示制御手段によって構成されるオンザフライシミュレーション機能付きの結果表示制御手段の詳細な一例を示すブロック図である。 階層構造を持った回路データによる階層構造を例示する説明図である。 図13の回路ブロックの階層構造と階層レベルとの関係を示す概念図である。 図3などで説明した階層化回路データにおける各階層の回路ブロックが保有する情報を例示する情報フォーマット図である。 下位ブロックのみで構成される回路ブロックの態様とその情報を例示する説明図である。 下位ブロックと素子で構成される回路ブロックの態様とその情報を例示する説明図である。 素子のみで構成される回路ブロックの態様とその情報を例示する説明図である。 シミュレーション対象回路全体の階層化された回路ブロック情報と階層レベルの一般的なデータフォーマットを例示するフォーマット図である。 図19に例示されるデータ形態の回路ブロック情報から外部接続ノードや内部接続ノードのノード情報を抽出したときの情報フォーマット図である。 図13に例示された階層構造を持つシミュレーション対象回路全体の階層化された回路ブロック情報と階層レベルの具体例を例示する説明図である。 図21の回路ブロック情報から抽出可能な全ての階層情報付きノード名を有するノード情報の説明図である。 結果出力ノード抽出処理の制御を例示するフローチャートである。 図21の階層化された回路ブロック情報に対して指定階層レベルを2とし図23の抽出処理を行ったときに抽出されるノード情報の所在を例示する説明図である。 図22の階層情報付きノード名に対して、図23の抽出処理で抽出されるノード情報を太枠矩形で例示する説明図である。 図13の回路における階層情報付きノードX1.X1.N1について、オンザフライシミュレーションでシミュレーション結果を生成するときの概念図である。 結果出力ノード抽出処理手段を回路シミュレータ10から分離させた例を示す説明図である。 上位階層の電流源と電圧源が下位階層の内部ノードの値又は内部素子の状態に依存するとき当該内部ノードの値と内部素子の情報も一緒に保存する場合のシミュレーション方法の概念を示す説明図である。 図28の場合における回路シミュレーションの処理フローである。 前記結果データの下位階層依存性がある場合の階層化回路データの階層構造を例示する説明図である。 図30の場合に図21の回路ブロック情報から抽出された外部接続ノード及び内部接続ノードの全てのノード情報が階層情報付きノード名として与えられた状態を例示する説明図である。 図30の場合における前記結果出力ノード抽出処理の制御フローを例示するフローチャートである。 指定階層レベルを2とし図32の抽出処理を行ったときに抽出されるノード情報の所在を例示する説明図である。 図32のようにして抽出されて登録された階層情報付きノード名を太枠で区別して示す説明図である。 結果出力ノード及び素子抽出処理手段を回路シミュレータから分離させたときのシステム構成図である。 ボルテージソースループを発生される虞のある態様として着目する第1の例を示す概念図である。 図36の回路領域3pにおいて部分回路VLCがボルテージソースループを形成する場合を示す説明図である。 図36の回路領域3pに対するオンザフライシミュレーションにおいてボルテージソースループの発生を抑制する回路状態を例示する概念図である。 ノードN1〜NNの電流情報を求める方法を示す説明図である。 第2の例として回路領域3p内の部分回路VLCが外部ノードN1の他に別の内部回路CIRに接続されている場合を示す概念図である。 部分回路VLCvの電圧源に流れる電流をシミュレーションによって検証することを要しない場合における外部ノードの状態を例示する説明図である。 路領域3pのオンザフライシミュレーションにおいて部分回路VLCvの電圧源に流れる電流をシミュレーションによって検証したい場合における外部ノードの状態を示す説明図である。 回路領域3pに対するオンザフライシミュレーションにおいて前記部分回路VLCの全ての素子に流れる電流を見ないとき部分回路VLCを削除してオンザフライシミュレーションを行う場合を示す説明図である。 部分回路VLCにグランド電位GNDが接続されていない場合における図36に対応する説明図である。 図44においてボルテージソースループVLPが形成される場合の説明図である。 部分回路VLCにグランド電位GNDが接続されていない場合における図38に対応する説明図である。 部分回路VLCにグランド電位GNDが接続されていない場合における図40に対応する説明図である。 部分回路VLCにグランド電位GNDが接続されていない場合における図41に対応する説明図である。 部分回路VLCにグランド電位GNDが接続されていない場合における図42に対応する説明図である。
符号の説明
1 シミュレーション対象回路
2 データ保存領域としての回路領域
3 データ非保存領域としての回路領域
4 データ保存領域2の保存結果データ
5 オンザフライシミュレーションによる結果データ
VLC 電圧源とインダクタから成る部分回路
VLCv 電圧源から成る部分回路
Vs 部分回路に含まれる電圧源
Lt 部分回路に含まれるインダクタ
N1〜NN 外部ノード
GND グランド電位
N21 内部ノード
VLP ボルテージソースループ
IN1〜INN 電流源
CIR 部分回路に結合するその他の回路
V(IN1)〜V(INN) 電圧0の電圧源
3i 下位階層の状態に依存する上位階層の電流源
3g 下位階層の状態に依存する上位階層の電圧源

Claims (23)

  1. 階層化回路データの上位側階層の回路ノードを結果出力ノードとするシミュレーションを行って結果を保存する第1処理手段と、
    それよりも下位側階層の回路ノードに対し、前記第1処理手段で保存されているシミュレーション結果を前記下位側階層の回路ノードを含む回路領域の入出力情報に用いて、シミュレーションを行う第2処理手段と、を含み、
    前記第2処理手段の処理対象とされる回路領域が、1個の電圧源又は2個以上の連結された電圧源から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードと、前記部分回路に接続する他の回路とを有し、前記部分回路がグランド電位に接続されているとき、前記第2処理手段は、前記部分回路の電圧源に流れる電流の検出を必要としない場合に全ての前記外部ノードをフローティングとする、シミュレーション装置
  2. 階層化回路データの上位側階層の回路ノードを結果出力ノードとするシミュレーションを行って結果を保存する第1処理手段と、
    それよりも下位側階層の回路ノードに対し、前記第1処理手段で保存されているシミュレーション結果を前記下位側階層の回路ノードを含む回路領域の入出力情報に用いて、シミュレーションを行う第2処理手段と、を含み、
    前記第2処理手段の処理対象とされる回路領域が、電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードとを有し、前記部分回路がグランド電位に接続されているとき、前記第2処理手段は、前記部分回路の全ての素子に流れる電流の検出を必要としない場合に前記部分回路を削除する、シミュレーション装置
  3. 階層化回路データの上位側階層の回路ノードを結果出力ノードとするシミュレーションを行って結果を保存する第1処理手段と、
    それよりも下位側階層の回路ノードに対し、前記第1処理手段で保存されているシミュレーション結果を前記下位側階層の回路ノードを含む回路領域の入出力情報に用いて、シミュレーションを行う第2処理手段と、を含み、
    前記第2処理手段の処理対象とされる回路領域が、1個の電圧源又は2個以上の連結された電圧源から構成された部分回路と、前記部分回路をその外部に接続する2個以上の外部ノードと、前記部分回路に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記第2処理手段は、前記部分回路の電圧源に流れる電流の検出を必要としない場合に、一つの外部ノードに与える入出力情報を電圧源とし、残りの外部ノードをフローティングとする、シミュレーション装置
  4. 階層化回路データの上位側階層の回路ノードを結果出力ノードとするシミュレーションを行って結果を保存する第1処理手段と、
    それよりも下位側階層の回路ノードに対し、前記第1処理手段で保存されているシミュレーション結果を前記下位側階層の回路ノードを含む回路領域の入出力情報に用いて、シミュレーションを行う第2処理手段と、を含み、
    前記第2処理手段の処理対象とされる回路領域が、電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードとを有し、前記部分回路がグランド電位に非接続されているとき、前記第2処理手段は、前記部分回路の全ての素子に流れる電流の検出を必要としない場合に前記部分回路を削除する、シミュレーション装置
  5. 前記第1処理手段は、前記結果出力ノードに接続する電圧源又は電流源の値が下位側階層の回路ノードの値又は回路素子の状態に依存するときは当該下位側階層の回路ノードの値又は回路素子の情報も保存する請求項1乃至の何れか1項に記載のシミュレーション装置
  6. 指定された上位側階層の回路ノードを階層化回路データから抽出する抽出処理手段と、
    前記抽出処理手段で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理手段と、
    前記シミュレーション実行処理手段により結果出力ノードに得られた結果データを保存する保存処理手段と、
    前記指定階層よりも下位側階層の回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存された結果データから取得して、回路シミュレーションを実行するシミュレーション再実行処理手段と、を含み、
    前記シミュレーション再実行処理手段の処理対象とされる回路領域が、1個の電圧源又は2個以上の連結された電圧源から構成された部分回路と、前記部分回路に接続する1個以上の外部ノードと、前記部分回路をその外部に接続する他の回路とを有し、前記部分回路がグランド電位に接続されているとき、前記シミュレーション再実行処理手段は、前記部分回路の電圧源に流れる電流の検出を必要としない場合に全ての前記外部ノードをフローティングとする、シミュレーション装置
  7. 指定された上位側階層の回路ノードを階層化回路データから抽出する抽出処理手段と、
    前記抽出処理手段で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理手段と、
    前記シミュレーション実行処理手段により結果出力ノードに得られた結果データを保存する保存処理手段と、
    前記指定階層よりも下位側階層の回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存された結果データから取得して、回路シミュレーションを実行するシミュレーション再実行処理手段と、を含み、
    前記シミュレーション再実行処理手段の処理対象とされる回路領域が、電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードとを有し、前記部分回路がグランド電位に接続されているとき、前記シミュレーション再実行処理手段は、前記部分回路の全ての素子に流れる電流の検出を必要としない場合に前記部分回路を削除する、シミュレーション装置
  8. 指定された上位側階層の回路ノードを階層化回路データから抽出する抽出処理手段と、
    前記抽出処理手段で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理手段と、
    前記シミュレーション実行処理手段により結果出力ノードに得られた結果データを保存する保存処理手段と、
    前記指定階層よりも下位側階層の回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存された結果データから取得して、回路シミュレーションを実行するシミュレーション再実行処理手段と、を含み、
    前記シミュレーション再実行処理手段の処理対象とされる回路領域が、1個の電圧源又は2個以上の連結された電圧源から構成された部分回路と、前記部分回路をその外部に接続する2個以上の外部ノードと、前記部分回路に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記シミュレーション再実行処理手段は、前記部分回路の電圧源に流れる電流の検出を必要としない場合に、一つの外部ノードに与える入出力情報を電圧源とし、残りの外部ノードをフローティングとする、シミュレーション装置
  9. 指定された上位側階層の回路ノードを階層化回路データから抽出する抽出処理手段と、
    前記抽出処理手段で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理手段と、
    前記シミュレーション実行処理手段により結果出力ノードに得られた結果データを保存する保存処理手段と、
    前記指定階層よりも下位側階層の回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存された結果データから取得して、回路シミュレーションを実行するシミュレーション再実行処理手段と、を含み、
    前記シミュレーション再実行処理手段の処理対象とされる回路領域が、電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードとを有し、前記部分回路がグランド電位に非接続されているとき、前記シミュレーション再実行処理手段は、前記部分回路の全ての素子に流れる電流の検出を必要としない場合に前記部分回路を削除する、シミュレーション装置
  10. 前記シミュレーション再実行処理手段は、前記シミュレーション実行処理手段におけるシミュレーションと同等の初期条件でシミュレーションを行う、請求項6乃至9の何れか1項に記載のシミュレーション装置
  11. シミュレーション処理結果の表示指令に対し、前記保存処理手段で保存された結果データの表示又は前記シミュレーション再実行処理手段で得られたシミュレーション結果の表示を行う表示処理手段を更に含む、請求項6乃至9の何れか1項に記載のシミュレーション装置
  12. 前記抽出処理手段は、階層化回路データにおける下位階層への参照系列を追いながら階層レベルを下位に設定変更する毎に、設定された階層レベルで把握可能な回路ノードを登録する処理を、シミュレーション対象における全ての参照系列に対して行う、請求項6乃至9の何れか1項記載のシミュレーション装置
  13. 前記保存処理手段は更に、前記結果出力ノードに接続する電圧源又は電流源の値が下位側階層の回路ノードの値又は回路素子の状態に依存するときは当該下位側階層の回路ノードの値又は回路素子の情報も保存する、請求項6乃至12の何れか1項に記載のシミュレーション装置
  14. 階層化回路データを用いて回路シミュレーション処理を行うシミュレーション実行処理手段と、
    前記シミュレーション実行処理手段により所定の回路ノードに得られた結果データを保存する保存処理手段と、
    前記階層化回路データが修正されたとき、その修正により状態が変化される回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存処理手段で保存された結果データから取得して回路シミュレーションを実行するシミュレーション再実行処理手段と、を含み、
    前記シミュレーション再実行処理手段の処理対象とされる回路領域が、1個の電圧源又は2個以上の連結された電圧源から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードと、前記部分回路に接続する他の回路とを有し、前記部分回路がグランド電位に接続されているとき、前記シミュレーション再実行処理手段は、前記部分回路の電圧源に流れる電流の検出を必要としない場合に全ての前記外部ノードをフローティングとする、シミュレーション装置
  15. 階層化回路データを用いて回路シミュレーション処理を行うシミュレーション実行処理手段と、
    前記シミュレーション実行処理手段により所定の回路ノードに得られた結果データを保存する保存処理手段と、
    前記階層化回路データが修正されたとき、その修正により状態が変化される回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存処理手段で保存された結果データから取得して回路シミュレーションを実行するシミュレーション再実行処理手段と、を含み、
    前記シミュレーション再実行処理手段の処理対象とされる回路領域が、電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードとを有し、前記部分回路がグランド電位に接続されているとき、前記シミュレーション再実行処理手段は、前記部分回路の全ての素子に流れる電流の検出を必要としない場合に前記部分回路を削除する、シミュレーション装置。
  16. 階層化回路データを用いて回路シミュレーション処理を行うシミュレーション実行処理手段と、
    前記シミュレーション実行処理手段により所定の回路ノードに得られた結果データを保存する保存処理手段と、
    前記階層化回路データが修正されたとき、その修正により状態が変化される回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存処理手段で保存された結果データから取得して回路シミュレーションを実行するシミュレーション再実行処理手段と、を含み、
    前記シミュレーション再実行処理手段の処理対象とされる回路領域が、1個の電圧源又は2個以上の連結された電圧源から構成された部分回路と、前記部分回路に接続する2個以上の外部ノードと、前記部分回路をその外部に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記シミュレーション再実行処理手段は、前記部分回路の電圧源に流れる電流の検出を必要としない場合に、一つの外部ノードに与える入出力情報を電圧源とし、残りの外部ノードをフローティングとする、シミュレーション装置
  17. 階層化回路データを用いて回路シミュレーション処理を行うシミュレーション実行処理手段と、
    前記シミュレーション実行処理手段により所定の回路ノードに得られた結果データを保存する保存処理手段と、
    前記階層化回路データが修正されたとき、その修正により状態が変化される回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存処理手段で保存された結果データから取得して回路シミュレーションを実行するシミュレーション再実行処理手段と、を含み、
    前記シミュレーション再実行処理手段の対象とされる回路領域が、電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードとを有し、前記部分回路がグランド電位に非接続されているとき、前記シミュレーション再実行処理手段は、前記部分回路の全ての素子に流れる電流の検出を必要としない場合に前記部分回路を削除する、シミュレーション装置
  18. 前記シミュレーション再実行処理手段は、前記回路領域で信号経路が相互に独立する部分領域を部分領域毎に並列に回路シミュレーションを実行する、請求項14乃至17の何れか1項に記載のシミュレーション装置
  19. 指定された上位側階層の結果出力点をシミュレーション対象から抽出する第1処理手段と、
    抽出された結果出力点に関するシミュレーションを行う第2処理手段と、
    前記第2処理手段で結果出力点に得られた結果データを保存する第3処理手段と、
    前記指定階層よりも下位側階層に係るシミュレーション結果の表示指令に対し、前記下位側階層の結果出力点を含む領域の境界情報を前記第3処理手段で保存された結果データから取得して、前記第2処理手段のシミュレーションと同等の初期条件で当該下位側階層で結果出力を得る為のシミュレーションを行う第4処理手段と、を含み、
    前記第4処理手段の処理対象とされる前記下位側階層の結果出力点を含む領域回路領域が1個の電圧源又は2個以上の連結された電圧源から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードと、前記部分回路に接続する他の回路とを有し、前記部分回路がグランド電位に接続されているとき、前記第4処理手段は、前記部分回路の電圧源に流れる電流の検出を必要としない場合に全ての前記外部ノードをフローティングとするシミュレーション装置
  20. 指定された上位側階層の結果出力点をシミュレーション対象から抽出する第1処理手段と、
    抽出された結果出力点に関するシミュレーションを行う第2処理手段と、
    前記第2処理手段で結果出力点に得られた結果データを保存する第3処理手段と、
    前記指定階層よりも下位側階層に係るシミュレーション結果の表示指令に対し、前記下位側階層の結果出力点を含む領域の境界情報を前記第3処理手段で保存された結果データから取得して、前記第2処理手段のシミュレーションと同等の初期条件で当該下位側階層で結果出力を得る為のシミュレーションを行う第4処理手段と、を含み、
    前記第4処理手段の処理対象とされる前記下位側階層の結果出力点を含む領域回路領域が電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードとを有し、前記部分回路がグランド電位に接続されているとき、前記第4処理手段は、前記部分回路の全ての素子に流れる電流の検出を必要としない場合に前記部分回路を削除する、シミュレーション装置
  21. 指定された上位側階層の結果出力点をシミュレーション対象から抽出する第1処理手段と、
    抽出された結果出力点に関するシミュレーションを行う第2処理手段と、
    前記第2処理手段で結果出力点に得られた結果データを保存する第3処理手段と、
    前記指定階層よりも下位側階層に係るシミュレーション結果の表示指令に対し、前記下位側階層の結果出力点を含む領域の境界情報を前記第3処理手段で保存された結果データから取得して、前記第2処理手段のシミュレーションと同等の初期条件で当該下位側階層で結果出力を得る為のシミュレーションを行う第4処理手段と、を含み、
    前記第4処理手段の処理対象とされる前記下位側階層の結果出力点を含む領域回路領域が1個の電圧源又は2個以上の連結された電圧源から構成された部分回路と、前記部分回路をその外部に接続する2個以上の外部ノードと、前記部分回路に接続する他の回路とを含み、前記部分回路がグランド電位に非接続とされているとき、前記第4処理手段は、前記部分回路の電圧源に流れる電流の検出を必要としない場合に、一つの外部ノードに与える入出力情報を電圧源とし、残りの外部ノードをフローティングとする、シミュレーション装置
  22. 指定された上位側階層の結果出力点をシミュレーション対象から抽出する第1処理手段と、
    抽出された結果出力点に関するシミュレーションを行う第2処理手段と、
    前記第2処理手段で結果出力点に得られた結果データを保存する第3処理手段と、
    前記指定階層よりも下位側階層に係るシミュレーション結果の表示指令に対し、前記下位側階層の結果出力点を含む領域の境界情報を前記第3処理手段で保存された結果データから取得して、前記第2処理手段のシミュレーションと同等の初期条件で当該下位側階層で結果出力を得る為のシミュレーションを行う第4処理手段と、を含み、
    前記第4処理手段の処理対象とされる前記下位側階層の結果出力点を含む領域回路領域が電圧源とインダクタの何れか1個の素子又は電圧源とインダクタの少なくとも2個以上の連結された素子から構成された部分回路と、前記部分回路をその外部に接続する1個以上の外部ノードとを有し、前記部分回路がグランド電位に非接続されているとき、前記第4処理手段は、前記部分回路の全ての素子に流れる電流の検出を必要としない場合に前記部分回路を削除する、シミュレーション装置
  23. 前記第3処理手段は更に、前記結果出力点に接続する電圧源又は電流源の値が下位側階層の回路ノードの値又は回路素子の状態に依存するときは当該下位側階層の回路ノードの値又は回路素子の情報も保存する、請求項19乃至22の何れか1項記載のシミュレーション装置
JP2005225019A 2005-08-03 2005-08-03 シミュレーション装置 Expired - Fee Related JP4554464B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005225019A JP4554464B2 (ja) 2005-08-03 2005-08-03 シミュレーション装置
US11/497,301 US20070219770A1 (en) 2005-08-03 2006-08-02 Simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005225019A JP4554464B2 (ja) 2005-08-03 2005-08-03 シミュレーション装置

Publications (2)

Publication Number Publication Date
JP2007041839A JP2007041839A (ja) 2007-02-15
JP4554464B2 true JP4554464B2 (ja) 2010-09-29

Family

ID=37799764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005225019A Expired - Fee Related JP4554464B2 (ja) 2005-08-03 2005-08-03 シミュレーション装置

Country Status (2)

Country Link
US (1) US20070219770A1 (ja)
JP (1) JP4554464B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5057421B2 (ja) * 2006-02-09 2012-10-24 ルネサスエレクトロニクス株式会社 シミュレーション方法
US8868395B2 (en) * 2008-10-27 2014-10-21 Synopsys, Inc. Fast simulation method for integrated circuits with power management circuitry
WO2015015630A1 (ja) * 2013-08-02 2015-02-05 株式会社日立製作所 データ転送システム及び方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247468A (en) * 1988-09-27 1993-09-21 Tektronix, Inc. System for calculating and displaying user-defined output parameters describing behavior of subcircuits of a simulated circuit
WO2003036523A1 (fr) * 2001-10-24 2003-05-01 Renesas Technology Corp. Procede et programme de simulation et procede d'affichage

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2884951B2 (ja) * 1992-10-14 1999-04-19 日本電気株式会社 回路分割形シミュレーションの行列定式化方式
US6090149A (en) * 1998-02-19 2000-07-18 Advanced Micro Devices, Inc. System and method for detecting floating nodes within a simulated integrated circuit
US6662149B1 (en) * 1999-05-27 2003-12-09 International Business Machines Corporation Method and apparatus for efficient computation of moments in interconnect circuits
US6807520B1 (en) * 2000-12-11 2004-10-19 Synopsys, Inc. System and method for simulation of an integrated circuit design using a hierarchical input netlist and divisions along hierarchical boundaries thereof
US6941257B2 (en) * 2000-12-30 2005-09-06 International Business Machines Corporation Hierarchical processing of simulation model events

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247468A (en) * 1988-09-27 1993-09-21 Tektronix, Inc. System for calculating and displaying user-defined output parameters describing behavior of subcircuits of a simulated circuit
WO2003036523A1 (fr) * 2001-10-24 2003-05-01 Renesas Technology Corp. Procede et programme de simulation et procede d'affichage

Also Published As

Publication number Publication date
JP2007041839A (ja) 2007-02-15
US20070219770A1 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
JP6971320B2 (ja) ニューラルネットワークに基づいた回路設計の物理合成
US7404161B2 (en) Fullchip functional equivalency and physical verification
US20070204256A1 (en) Interconnection modeling for semiconductor fabrication process effects
KR101127515B1 (ko) 집적회로 설계시스템, 집적회로 설계프로그램 및 집적회로 설계방법
US8205177B2 (en) Non-linear receiver model for gate-level delay calculation
US8712752B2 (en) IR(voltage) drop analysis in integrated circuit timing
JP5057421B2 (ja) シミュレーション方法
US8281269B2 (en) Method of semiconductor integrated circuit device and program
JP4554464B2 (ja) シミュレーション装置
US20150370957A1 (en) Layout design method and system
JP5699768B2 (ja) 回路シミュレーション方法および回路シミュレーション装置
US20090228845A1 (en) Method, design program and design system for semiconductor device
TW201738789A (zh) 電腦可讀存儲介質及積體電路的電壓降和電遷移的分析方法
US9507903B2 (en) Method for estimation of delays and slews during circuit optimization
US20210216692A1 (en) Techniques For Providing Optimizations Based On Categories Of Slack In Timing Paths
JP2006323873A (ja) シミュレーション方法
JP3905885B2 (ja) シミュレーション方法、シミュレーションプログラム及び表示処理方法
KR102038736B1 (ko) 네트리스트 추상화
US8818784B1 (en) Hardware description language (HDL) incorporating statistically derived data and related methods
JP5059657B2 (ja) マクロ内端子配線を考慮したネットリストによって信号の遅延時間を予測する設計方法、及び、プログラム
US10467375B2 (en) Methods and systems to estimate power network noise
JP3664988B2 (ja) 低電力lsi設計方法
JP5246244B2 (ja) 集積回路設計装置、集積回路設計方法、及び集積回路設計用プログラム
JP6398729B2 (ja) 設計支援装置、および設計支援方法
JP2014126897A (ja) シミュレーション装置およびシミュレーション方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100614

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

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

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

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees