JPWO2003036523A1 - Simulation method, simulation program, and display processing method - Google Patents
Simulation method, simulation program, and display processing method Download PDFInfo
- Publication number
- JPWO2003036523A1 JPWO2003036523A1 JP2003538942A JP2003538942A JPWO2003036523A1 JP WO2003036523 A1 JPWO2003036523 A1 JP WO2003036523A1 JP 2003538942 A JP2003538942 A JP 2003538942A JP 2003538942 A JP2003538942 A JP 2003538942A JP WO2003036523 A1 JPWO2003036523 A1 JP WO2003036523A1
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- circuit
- result
- node
- data
- 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
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
Abstract
階層化回路データの上位側階層の回路ノード(N1〜N14)を結果出力ノードとするシミュレーションを行って結果を保存する第1処理と、それよりも下位側階層の回路ノード(N15〜N17)に対し、上記処理で保存されているシミュレーション結果を下位側階層の回路ノードを含む回路領域の入出力情報に用いて、前記シミュレーションと同等の初期条件でシミュレーションを行う第2処理とを採用する。シミュレーション結果が保存される結果出力ノードは上位側階層に制限されるから、シミュレーションで保存すべき結果データ量を削減することができる。保存された結果出力ノード以外の回路ノードについては第1処理による結果データを用いて第2処理で再現することができる。A first process for performing a simulation using the upper level circuit nodes (N1 to N14) of the hierarchical circuit data as a result output node and storing the result, and the lower level circuit nodes (N15 to N17) On the other hand, a second process is used in which the simulation result stored in the above process is used as input / output information of a circuit area including a circuit node in a lower layer to perform a simulation under the same initial conditions as the simulation. Since the result output node in which the simulation result is stored is limited to the upper hierarchy, the amount of result data to be stored in the simulation can be reduced. Circuit nodes other than the saved result output node can be reproduced by the second process using the result data obtained by the first process.
Description
技術分野
本発明は、回路シミュレーション方法に代表されるデータ処理方法、そしてシミュレーションプログラムに関し、例えば半導体集積回路の開発もしくは設計に用いるシミュレータに適用して有効な技術に関するものである。
背景技術
回路シミュレーション技術は半導体集積回路の回路設計及びレイアウト設計などにおける回路検証技術として利用される。近年のデバイスの微細化に伴う回路の大規模化、高集積化により、回路シミュレーションの実行時間増大、シミュレーション結果のデータ量増大が顕在化されている。実際の回路シミュレーション処理では、設計者が確認したい情報を出力として選択的に指定してシミュレーション処理を行う。指定された情報だけが結果データとして保存される。従って、保存されていない結果データは結果表示できない。任意の結果表示を可能にするにはシミュレーション対象の全ての回路ノードを指定したシミュレーションを行って結果を保持しておかなければならない。大規模回路では全部の結果データを保存するにはデータ量が膨大になり、全てを保存するのは実質的に不可能である。また、結果表示の対象データ量が増大すると、結果データの検索時間が増し、表示速度が遅くなる。更に、大規模回路では、シミュレーション処理時間が増大するため、部分的な回路変更や素子パラメータの変更に対処するための再シミュレーション時間も増大する。
シミュレーション結果を保存する記憶領域の削減に関し、特開平11−96207号公報にはシミュレーション結果を圧縮して保存する技術が記載され、特開平9−259151号公報には信号経路の上流側から下流側に向かって回路を分割し、分割回路の出力の影響を考慮して部分毎にシミュレーションを進める技術が開示される。しかしながら、前者の技術では、圧縮・伸張処理が新たに必要になるから、シミュレーションや結果表示に伴う計算機処理時間が更に増大してしまう。後者の技術では、計算機処理に用いるメモリ量は減ってもその結果を保持する補助記憶手段の記憶容量は依然として減らない。しかも、他のシミュレーション結果に依存しないように分割して回路を直列的にシミュレーション処理しなけらばならないから処理時間は増大する傾向にあると考えられる。
本発明の目的は、大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存しなくても任意の結果出力点のデータを表示可能なシミュレーション技術を提供することにある。
本発明の別の目的は、大規模集積回路のような大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存するのと等価なデータ表示性能を少ない記憶容量で達成可能なシミュレーション方法を提供することにある。
本発明の更に別の目的は、大規模集積回路のような大規模なシミュレーション対象に対しシミュレーション結果データの表示速度を高速化することが容易なシミュレーション方法を提供することにある。
本発明のその他の目的は、大規模回路で部分的な回路変更や素子パラメータの変更時に再シミュレーション時間を短縮することが可能なシミュレーション方法を提供することにある。
本発明の上記並びにその他の目的と新規な特徴は本明細書の以下の記述と添付図面から明らかにされるであろう。
発明の開示
〔1〕本発明に係るシミュレーション方法は、階層化回路データの上位側階層の回路ノードを結果出力ノードとするシミュレーションを行って結果を保存する第1処理と、それよりも下位側階層の回路ノードに対し、上記処理で保存されているシミュレーション結果を前記下位側階層の回路ノードを含む回路領域の入出力情報に用いて、所定の初期条件でシミュレーションを行う第2処理と、を含む。所定の初期条件は、望ましくは前記第1処理における前記シミュレーションと同等の初期条件であるとよい。前記初期条件は、例えば第1処理でシミュレーション結果と共に保存して、再利用可能にすればよい。
上記より、シミュレーション結果が保存される結果出力ノードは上位側階層に制限されるから、シミュレーションで保存すべき結果データ量を削減することができる。下位側階層の回路ノードについては結果出力ノードとしてシミュレーション結果が保存されていないが、上位側階層の結果出力ノードの結果データが下位側階層の回路ノードへの情報インタフェースを担い、第1処理のシミュレーション条件が下位側階層の内部の回路ノードに対する初期的状態を与える。これにより、第1処理で得られた結果データの表示だけでは足りない表示指令に対して、第2処理で部分再シミュレーションを行った結果を表示すればよい。したがって、大規模集積回路のような大規模なシミュレーション対象に対して全てのシミュレーション結果データを保存するのと等価なデータ表示性能を少ない記憶容量(第1処理による結果データを保存可能な容量)で達成することができる。保存すべき結果データ量の削減により結果データの検索時間を短縮できる。また、第2処理による再シミュレーション時の対象回路規模を小さくできるから、大規模回路で部分的な回路変更や素子パラメータの変更時に再シミュレーション時間を短縮することが可能である。
〔2〕本発明の具体的な形態によるシミュレーション方法は、指定された上位側階層の回路ノードを階層化回路データから抽出する抽出処理と、前記抽出処理で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、前記シミュレーション実行処理により結果出力ノードに得られた結果データを保存する保存処理と、前記指定階層よりも下位側階層の回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存された結果データから取得して所定の初期条件、望ましくは、前記回路シミュレーションと同等の初期条件で、回路シミュレーションを実行するシミュレーション再実行処理と、を含む。この方法は上記同様に作用する。
更に具体的な態様として、シミュレーション処理結果の表示指令に対し、前記保存処理で保存された結果データの表示又は前記シミュレーション再実行処理で得られたシミュレーション結果の表示を行う表示処理を更に含んでよい。
前記抽出処理は、例えば、階層化回路データにおける下位階層への参照系列を追いながら階層レベルを下位に設定変更する毎に、設定された階層レベルで把握可能な回路ノードを登録する処理を、シミュレーション対象における全ての参照系列に対して行う処理としてよい。シミュレーションの結果出力ノードを階層指定によって抽出することが可能になる。
〔3〕シミュレーション結果の表示処理に着目した本発明の具体的な更に別の形態によるシミュレーション方法は、指定された上位側階層の回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、前記シミュレーション実行処理により結果出力ノードに得られた結果データを保存する保存処理と、前記保存処理で保存された結果データの中から検索された結果データを、前記シミュレーション実行処理結果として表示する第1表示処理と、前記保存処理で保存された結果データの中から検索された結果データを、前記指定された上位側階層に対する下位側階層の回路領域における外部入出力情報に用いて所定の初期条件、望ましくは、上記回路シミュレーションと同等の初期条件で、当該下位側階層の回路領域における回路シミュレーションを実行するシミュレーション再実行処理と、前記シミュレーション再実行処理の結果データを表示する第2表示処理と、を含む。
部分的な回路変更やデバイスパラメータの変更への対処に着目した本発明の更に別の形態によるシミュレーション方法は、階層化回路データを用いて回路シミュレーション処理を行うシミュレーション実行処理と、前記シミュレーション実行処理により所定の回路ノードに得られた結果データを保存する保存処理と、前記階層化回路データが修正されたとき、その修正により状態が変化される回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存処理で保存された結果データから取得して、回路シミュレーションを実行するシミュレーション再実行処理と、を含む。これにより、全体的にシミュレーションをやり直さなくて済むから、再シミュレーション時間を短縮することができる。また、前記シミュレーション再実行処理において、前記回路領域において信号経路が相互に独立する部分領域を部分領域毎に並列に回路シミュレーションを実行してよい。これにより、シミュレーションの計算機処理時間を更に短縮することができる。
回路シミュレーション以外のデバイスシミュレーションのようなシミュレーションにも着目した態様のシミュレーション方法は、指定された上位側階層の結果出力点をシミュレーション対象から抽出する第1処理と、抽出された結果出力点を出力項目としてシミュレーションを行う第2処理と、前記第2処理で結果出力点に得られた結果データを保存する第3処理と、前記指定階層よりも下位側階層に係るシミュレーション結果の表示指令に対し、前記下位側階層の結果出力点を含む領域の境界情報を前記第3処理で保存された結果データから取得して、所定の初期条件、望ましくは前記第2処理のシミュレーションと同等の初期条件で、当該下位側階層で結果出力を得る為のシミュレーションを行う第4処理と、を含む。
〔4〕本発明に係るシミュレーションプログラムは、階層化回路データの上位側階層の回路ノードを結果出力ノードとするシミュレーションを行って結果を保存する第1機能と、それよりも下位側階層の回路ノードに対し、上記第1処理で保存されているシミュレーション結果を前記下位側階層の回路ノードを含む回路領域の入出力情報に用いて、所定の初期条件、望ましくは上記シミュレーションと同等の初期条件で、シミュレーションを行う第2機能と、をコンピュータに実現させるものである。このプログラムにより上記シミュレーション方法を容易に実施させることがことができる。
更に別の態様のシミュレーションプログラムは、指定された上位側階層の回路ノードを階層化回路データから抽出する抽出機能と、前記抽出機能で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行機能と、前記シミュレーション実行機能により結果出力ノードに得られた結果データを保存する保存機能と、前記指定階層よりも下位側階層の回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存された結果データから取得して、所定の初期条件、望ましくは前記回路シミュレーションと同等の初期条件で、回路シミュレーションを実行するシミュレーション再実行機能と、をコンピュータに実現させるものである。
更に別の態様のシミュレーションプログラムは、指定された上位側階層の結果出力点をシミュレーション対象から抽出する第1機能と、抽出された結果出力点を出力項目としてシミュレーションを行う第2機能と、第2機能で結果出力点に得られた結果データを保存する第3機能と、第3機能で保存された結果データでは不足する表示指令に対し、前記第3機能で保存された前記結果データを用いて所定の初期条件、望ましくは、前記シミュレーションと同等の初期条件で、前記指定階層より下位側階層に関するシミュレーションを行う第4機能と、をコンピュータに実現させるプログラムである。このプログラムは、デバイス断面領域をメッシュ状のブロックに分けして階層的に把握しながらシミュレーションを行うデバイスシミュレーションへの適用も想定する。この場合、前記結果出力点は、例えばデバイス断面上の電流又は電圧着目点になる。例えば、前記上位側階層のシミュレーションでは結果出力点は前記メッシュ境界部分に存在され、下位側階層のシミュレーションでは結果出力点は前記メッシュ内に存在されることになる。
〔5〕表示処理方法の観点に立った発明は、指定された上位側階層で結果出力を得る為のデータ処理を行う第1処理と、前記第1処理で得られた結果データを保存する第2処理と、前記第2処理で保存された結果データを表示する第3処理と、前記第2処理で保存されていない結果データの表示指令を受付けてその表示を行う第4処理と、を含む。前記第4処理は、前記第1処理におけるデータ処理の初期条件と、前記第2処理で保存された結果データとを利用してデータ処理を再実行した結果を表示する処理である。
発明を実施するための最良の形態
第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図の2pは第5図の領域中における保存領域を意味する。非保存領域である領域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を参照して、部分再実行用データ生成手段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についてシミュレーション結果を生成するときの概念図が例示される。▲1▼、▲2▼、▲3▼、▲4▼は第13図の対応ノードを意味する。
上記説明では、結果出力ノードの抽出処理機能は第9図の回路シミュレータ10がその機能の一部として有するものとしたが、第27図に例示されるように結果出力ノード抽出処理手段10Aを回路シミュレータ10から分離させてもよい。要するに、回路シミュレータとは別に提供される結果出力ノード抽出プログラムを利用してよい。第27図にはオン・ザ・フライ・シミュレーションのための手段は図示を省略してある。
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。
例えば、シミュレーション対象回路の規模は、数十万乃至数百万ゲートの規模であってよい。第19図等に基づく説明ではシミュレーション結果の表示機能の拡張としてオン・ザ・フライ・シミュレーションを位置付けているが、表示とは切り離して、部分シミュレーションとして発明を把握することは当然可能である。更に表示機能拡張の場合にも、シミュレーション結果の表示に限定されず、階層情報に対するデータ処理結果の表示というスタンスで発明を把握することが可能である。
更に、上記シミュレーション方法は前述のフローチャートで示した機能若しくは処理手順をコンピュータを用いて実現する為のシミュレーションプログラムとして把握可能であることは言うまでも無い。そのようなシミュレーションプログラムが提供されることにより、前記シミュレーション方法を容易に実施に移すことが可能になる。
また、本発明のシミュレーション方法は回路シミュレーションに限定されず、デバイスシミュレーションにも適用可能である。例えば、MOSトランジスタなどのデバイス断面領域をメッシュ状のブロックに分けて階層的に把握しながらシミュレーションを行うデバイスシミュレーションの場合、前記結果出力点は、例えばデバイス断面上の電流又は電圧着目点になる。前記上位側階層のシミュレーションでは結果出力点は前記メッシュ境界部分に存在され、下位側階層のシミュレーションでは結果出力点は前記メッシュ内に存在されることになる。メッシュ内の結果出力点をシミュレーション結果として得る場合には、メッシュ境界部分の既存結果出力点の既存シミュレーション結果と、その既存結果を得る時と同じシミュレーション初期条件とを用いて部分的なデバイスシミュレーションを行えばよい。
産業上の利用可能性
本発明は、半導体集積回路の回路シミュレーション、半導体デバイスのデバイスシミュレーション等に広く適用することができる。
【図面の簡単な説明】
第1図は本発明に係るシミュレーション方法の概念を結果出力区分の一例と共に示す説明図である。
第2図は本発明に係るシミュレーション方法の概念を更に原理的に示した説明図である。
第3図は本発明に係るシミュレーション方法の原理を階層化回路データの階層構造に着目して示した説明図である。
第4図はシミュレーション対象回路における部分的な回路変更や素子パラメータの変更があったときの状態を例示する説明図である。
第5図は部分的な回路変更や素子パラメータの変更があたとき当該変更を反映したシミュレーション結果を得る方法を例示する説明図である。
第6図は第5図の部分的な変更に対処するシミュレーション方法の原理を階層化回路データの階層構造に着目して示した説明図である。
第7図はオン・ザ・フライ・シミュレーションの並列処理を例示する説明図である。
第8図は回路変更等に起因する部分領域に対するオン・ザ・フライ・シミュレーション類似のシミュレーションの並列処理を例示する説明図である。
第9図は本発明に係るシミュレーション方法を実現する為のデータ処理システムを例示するブロック図である。
第10図は第9図の回路シミュレータ10による回路シミュレーション処理を例示するフローチャートである。
第11図は第9図の結果表示制御手段及び部分回路シミュレーション制御手段によるシミュレーション結果の表示制御を例示するフローチャートである。
第12図は第9図の部分回路シミュレーション制御手段と結果表示制御手段によって構成されるオン・ザ・フライ・シミュレーション機能付きの結果表示制御手段の詳細な一例を示すブロック図である。
第13図は階層構造を持った回路データによる階層構造を例示する説明図である。
第14図は第13図の回路ブロックの階層構造と階層レベルとの関係を示す概念図である。
第15図は第3図などで説明した階層化回路データにおける各階層の回路ブロックが保有する情報を例示する情報フォーマット図である。
第16図は下位ブロックのみで構成される回路ブロックの態様とその情報を例示する説明図である。
第17図は下位ブロックと素子で構成される回路ブロックの態様とその情報を例示する説明図である。
第18図は素子のみで構成される回路ブロックの態様とその情報を例示する説明図である。
第19図はシミュレーション対象回路全体の階層化された回路ブロック情報と階層レベルの一般的なデータフォーマットを例示するフォーマット図である。
第20は第19図に例示されるデータ形態の回路ブロック情報から外部接続ノードや内部接続ノードのノード情報を抽出したときの情報フォーマット図である。
第21図は第13図に例示された階層構造を持つシミュレーション対象回路全体の階層化された回路ブロック情報と階層レベルの具体例を例示する説明図である。
第22図は第21図の回路ブロック情報から抽出可能な全ての階層情報付きノード名を有するノード情報の説明図である。
第23図は結果出力ノード抽出処理の制御を例示するフローチャートである。
第24図は第21図の階層化された回路ブロック情報に対して指定階層レベルを2とし第23図の抽出処理を行ったときに抽出されるノード情報の所在を例示する説明図である。
第25図は第22図の階層情報付きノード名に対して、第23図の抽出処理で抽出されるノード情報を太枠矩形で例示する説明図である。
第26図は第13図の回路における階層情報付きノードX1.X1.N1について、オン・ザ・フライ・シミュレーションでシミュレーション結果を生成するときの概念図である。
第27図は結果出力ノード抽出処理手段を回路シミュレータ10から分離させてた例を示す説明図である。Technical field
The present invention relates to a data processing method typified by a circuit simulation method and a simulation program, and more particularly to a technique effective when applied to a simulator used for development or design of a semiconductor integrated circuit.
Background art
The circuit simulation technique is used as a circuit verification technique in circuit design and layout design of a semiconductor integrated circuit. With the recent increase in circuit scale and integration due to device miniaturization, an increase in circuit simulation execution time and an increase in data amount of simulation results have become apparent. In an actual circuit simulation process, information to be confirmed by the designer is selectively designated as an output and the simulation process is performed. Only the specified information is saved as result data. Therefore, the result data that has not been saved cannot be displayed. In order to be able to display an arbitrary result, it is necessary to perform a simulation designating all circuit nodes to be simulated and hold the result. In a large-scale circuit, the amount of data is enormous for storing all the result data, and it is virtually impossible to store all of the result data. In addition, when the amount of target data to be displayed increases, the search time for result data increases and the display speed decreases. Furthermore, since the simulation processing time increases in a large-scale circuit, the re-simulation time for coping with a partial circuit change or device parameter change also increases.
Regarding reduction of the storage area for storing simulation results, Japanese Patent Application Laid-Open No. 11-96207 describes a technique for compressing and storing simulation results, and Japanese Patent Application Laid-Open No. 9-259151 discloses a technique for storing the simulation results from upstream to downstream. A technique is disclosed in which a circuit is divided toward the center and simulation is performed for each part in consideration of the influence of the output of the divided circuit. However, since the former technique requires new compression / decompression processing, the computer processing time associated with simulation and result display further increases. In the latter technique, even if the amount of memory used for computer processing is reduced, the storage capacity of the auxiliary storage means for holding the result still does not decrease. In addition, it is considered that the processing time tends to increase because it is necessary to divide the circuit so that it does not depend on other simulation results and to perform the simulation process in series.
An object of the present invention is to provide a simulation technique capable of displaying data of an arbitrary result output point without storing all simulation result data for a large-scale simulation target.
Another object of the present invention is to provide a simulation method capable of achieving data display performance equivalent to storing all simulation result data for a large-scale simulation target such as a large-scale integrated circuit with a small storage capacity. There is to do.
Still another object of the present invention is to provide a simulation method that can easily increase the display speed of simulation result data for a large-scale simulation target such as a large-scale integrated circuit.
Another object of the present invention is to provide a simulation method capable of reducing the re-simulation time when a partial circuit change or element parameter change is performed in a large-scale circuit.
The above and other objects and novel features of the present invention will become apparent from the following description of the present specification and the accompanying drawings.
Disclosure of the invention
[1] A simulation method according to the present invention includes a first process for storing a result by performing a simulation using a circuit node in an upper layer of hierarchical circuit data as a result output node, and a circuit node in a lower layer On the other hand, a second process of performing a simulation under a predetermined initial condition using the simulation result stored in the above process as input / output information of the circuit area including the circuit node of the lower hierarchy is included. The predetermined initial condition is desirably an initial condition equivalent to the simulation in the first process. The initial condition may be saved together with the simulation result in the first process, for example, so that it can be reused.
As described above, since the result output node in which the simulation result is stored is limited to the upper hierarchy, the amount of result data to be stored in the simulation can be reduced. Although the simulation result is not stored as a result output node for the circuit node of the lower hierarchy, the result data of the result output node of the upper hierarchy bears an information interface to the circuit node of the lower hierarchy, and the simulation of the first process The condition gives an initial state for the circuit node inside the lower hierarchy. Accordingly, the result of partial re-simulation in the second process may be displayed for a display command that is not sufficient to display only the result data obtained in the first process. Therefore, data display performance equivalent to storing all simulation result data for a large-scale simulation target such as a large-scale integrated circuit is small in storage capacity (capacity for storing result data by the first processing). Can be achieved. Result data retrieval time can be shortened by reducing the amount of result data to be stored. In addition, since the target circuit scale at the time of re-simulation by the second process can be reduced, it is possible to shorten the re-simulation time at the time of partial circuit change or element parameter change in a large-scale circuit.
[2] A simulation method according to a specific form of the present invention includes an extraction process for extracting a designated upper layer circuit node from hierarchical circuit data, and the circuit node extracted in the extraction process as a result output node. A simulation execution process for performing a circuit simulation, a storage process for storing result data obtained in the result output node by the simulation execution process, and a circuit region including the circuit node for a circuit node in a lower hierarchy than the specified hierarchy A simulation re-execution process in which the external input / output information is acquired from the stored result data and a circuit simulation is executed under a predetermined initial condition, preferably an initial condition equivalent to the circuit simulation. This method works as described above.
As a more specific aspect, a display process for displaying the result data stored in the storage process or displaying the simulation result obtained in the simulation re-execution process may be further included in response to a simulation process result display command. .
The extraction processing is, for example, a process of registering circuit nodes that can be grasped at a set hierarchical level every time the hierarchical level is changed to a lower level while following a reference sequence to a lower hierarchy in hierarchical circuit data. The processing may be performed for all reference sequences in the target. The simulation result output node can be extracted by specifying the hierarchy.
[3] A simulation method according to still another embodiment of the present invention focusing on the simulation result display process includes a simulation execution process for performing a circuit simulation using a designated upper layer circuit node as a result output node, A storage process for storing the result data obtained in the result output node by the simulation execution process, and a first display for displaying the result data retrieved from the result data stored in the storage process as the simulation execution process result Processing, and result data retrieved from the result data saved in the saving process is used as external input / output information in a circuit area of a lower hierarchy with respect to the designated upper hierarchy, and a predetermined initial condition, preferably Is the initial condition equivalent to the circuit simulation above, Including a simulation re-execution process for executing the circuit simulation in the road region, and a second display processing for displaying the result data of the simulation re-execution process, the.
A simulation method according to still another embodiment of the present invention focusing on coping with partial circuit changes and device parameter changes includes a simulation execution process for performing a circuit simulation process using hierarchical circuit data, and the simulation execution process. A storage process for storing the result data obtained in a predetermined circuit node, and for the circuit node whose state is changed by the modification when the hierarchical circuit data is modified, external input of the circuit area including the circuit node is performed. A simulation re-execution process for obtaining output information from the result data stored in the storage process and executing a circuit simulation. This eliminates the need to re-execute the simulation as a whole, thereby reducing the re-simulation time. Further, in the simulation re-execution process, a circuit simulation may be executed in parallel for each partial area in the partial area where the signal paths are mutually independent in the circuit area. Thereby, the computer processing time of simulation can be further shortened.
A simulation method of an aspect that also pays attention to a simulation such as a device simulation other than a circuit simulation includes a first process of extracting a result output point of a specified upper layer from a simulation target, and an output item of the extracted result output point As a second process for performing a simulation, a third process for storing the result data obtained at the result output point in the second process, and a display instruction for a simulation result related to a hierarchy lower than the specified hierarchy, The boundary information of the region including the result output point of the lower hierarchy is acquired from the result data stored in the third process, and the predetermined initial condition, preferably the initial condition equivalent to the simulation of the second process, And a fourth process for performing a simulation for obtaining a result output in the lower hierarchy.
[4] A simulation program according to the present invention includes a first function for performing a simulation using a circuit node in an upper layer of hierarchical circuit data as a result output node and storing the result, and a circuit node in a lower layer On the other hand, using the simulation result stored in the first process as input / output information of the circuit area including the circuit node of the lower layer, a predetermined initial condition, preferably an initial condition equivalent to the simulation, The second function for performing the simulation is realized by a computer. With this program, the simulation method can be easily implemented.
A simulation program according to another aspect includes an extraction function for extracting a specified upper layer circuit node from hierarchical circuit data, and a simulation execution for performing a circuit simulation using the circuit node extracted by the extraction function as a result output node Function, a storage function for saving the result data obtained in the result output node by the simulation execution function, and external input / output information of the circuit area including the circuit node for the circuit node in the lower hierarchy than the designated hierarchy It is obtained from the stored result data and causes a computer to realize a simulation re-execution function for executing a circuit simulation under a predetermined initial condition, preferably an initial condition equivalent to the circuit simulation.
The simulation program according to another aspect includes a first function for extracting a result output point of a designated upper layer from a simulation target, a second function for performing a simulation using the extracted result output point as an output item, Using the result data saved in the third function for the third function for saving the result data obtained at the result output point by the function and the display command that is insufficient in the result data saved in the third function A program that causes a computer to realize a fourth function that performs a simulation related to a layer below the designated layer under a predetermined initial condition, preferably an initial condition equivalent to the simulation. This program is also assumed to be applied to device simulation in which the device cross-sectional area is divided into mesh blocks and the simulation is performed while grasping hierarchically. In this case, the result output point is, for example, a current or voltage focus point on the device cross section. For example, the result output point exists in the mesh boundary portion in the upper layer simulation, and the result output point exists in the mesh in the lower layer simulation.
[5] The invention from the viewpoint of the display processing method includes a first process for performing data processing for obtaining a result output at a designated upper layer, and a first process for storing the result data obtained by the first process. 2 process, the 3rd process which displays the result data preserve | saved by the said 2nd process, and the 4th process which receives the display command of the result data which is not preserve | saved by the said 2nd process, and performs the display . The fourth process is a process of displaying the result of re-execution of the data process using the initial condition of the data process in the first process and the result data stored in the second process.
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 shows a concept of a simulation method according to the present invention together with an example of a result output section. In the figure,
FIG. 2 shows in more principle the concept of the simulation method according to the present invention. The data non-storage area is collectively referred to as 3. The index for separating the
FIG. 3 shows the principle of the simulation method according to the present invention by paying attention to the hierarchical structure of the hierarchical circuit data. The
As is clear from FIG. 3, when the simulation result is saved as a result output node as well as the circuit node in the
Next, a method of obtaining a simulation result reflecting the change when a partial circuit change or element parameter change is made in the
FIG. 4 illustrates a state when there is a partial circuit change or element parameter change in the simulation target circuit. In FIG. 4, for example, the
FIG. 5 illustrates a method of obtaining a simulation result reflecting the change when a partial circuit change or element parameter change is made. The change of the
FIG. 6 shows the principle of a simulation method for coping with the partial change of FIG. 5, focusing on the hierarchical structure of hierarchical circuit data. 2p in FIG. 6 means a storage area in the area in FIG.
From the above, since the simulation can be performed on the
FIG. 7 illustrates parallel processing of the on-the-fly simulation. When the on-the-fly simulation described in FIG. 1 is performed in a plurality of circuit areas, parallel arithmetic processing may be performed using a plurality of processors CPU1 to CPU5. As a result, it is possible to realize a calculation process in response to a display command for a plurality of circuit areas and a high speed display operation.
FIG. 8 shows an example in which a simulation similar to an on-the-fly simulation for a partial region caused by a circuit change or the like is processed in parallel. When there are a plurality of
Next, the simulation method described in FIG. 1 will be described more specifically.
FIG. 9 illustrates a data processing system for realizing the simulation method according to the present invention. The
When the display
When the data of the circuit node specified by the display
FIG. 10 illustrates a circuit simulation processing flow by the
FIG. 11 illustrates a display control flow of simulation results by the result display control means 17 and the partial circuit simulation control means 20 of FIG. When a display variable indicating a circuit node designated by the
FIG. 12 shows a detailed example of the result display control means 26 with the on-the-fly simulation function constituted by the partial circuit simulation control means 20 and the result display control means 17 of FIG. The partial
Next, processing for extracting a circuit node in the upper circuit area as a result output node will be described. This process corresponds to the result output node extraction process in step S2 of FIG.
FIG. 13 illustrates a hierarchical structure based on circuit data having a hierarchical structure (hierarchical circuit data). ● means an internal connection node among circuit nodes included in a circuit block (hereinafter also simply referred to as a block), and ◆ means an external connection node among circuit nodes included in the block. FIG. 14 shows the relationship between the hierarchical structure and the hierarchical level of the circuit block of FIG. 13 and 14, the highest block refers to the lower blocks S1 and S2, and the block S1 at the
FIG. 15 exemplifies information held by the circuit blocks of each layer in the layered circuit data described with reference to FIG. The circuit block has a block name, information on correspondence between layers of lower blocks, element information, external connection node information, and internal connection node information. There are cases where the inter-layer correspondence information and the element information of the lower block are unnecessary. The lower layer inter-layer correspondence information includes a lower block reference name, connection node information, external connection node information, and a lower block name. Taking the uppermost block in FIG. 13 as an example, the lower block reference names are X1 and X2 on the definition side defining the reference, and the lower block name is S1 on the side referred to corresponding to X1, X2 S2 on the side referred to corresponding to.
A mode of the circuit block will be described. The mode of the circuit block is the mode composed of only the lower block as illustrated in FIG. 16, the mode composed of the lower block and the element as illustrated in FIG. 17, and the mode illustrated in FIG. It is divided roughly into the aspect comprised only by this element. An element means a circuit element of the lowest concept, and means a mathematical element expressed by a transistor, a resistor, a capacitor, a transfer function, or the like. A block is positioned as a set of a plurality of circuit elements. The circuit information of the circuit block of FIG. 16 does not have element information. The circuit block of FIG. 18 does not have information on correspondence between layers of lower blocks.
FIG. 19 illustrates an example of hierarchical circuit block information and a general data form of the hierarchical level of the entire simulation target circuit. The link of the circuit block information between the hierarchical levels is performed by the inter-layer correspondence information of the lower block. The information format when the node information of the external connection node and the internal connection node is extracted from the circuit block information in the data form illustrated in FIG. 19 is not particularly limited. However, as illustrated in FIG. Each of them has an information format as a node name with hierarchical information, in which a lower block reference name is added with a delimiter character added from the most significant side, and finally has an external connection node name or an internal connection node name.
FIG. 21 shows a specific example of hierarchical circuit block information and hierarchical levels of the entire simulation target circuit having the hierarchical structure illustrated in FIG. In FIG. 22, all node information of external connection nodes and internal connection nodes extracted from the circuit block information of FIG. 21 is given as node names with hierarchical information.
FIG. 23 illustrates a control flowchart of the result output node extraction process. First, the highest block is selected and the hierarchical level is set to 1 (S20). The set hierarchy information and internal nodes are registered in the result output node as node names with hierarchy information (S21). Next, it is determined whether the designated value (designated hierarchy level) designated as the data
When the lower block is no longer referenced or when the set hierarchy level reaches the specified hierarchy level, it is determined whether the set hierarchy level is “1” (S26). Returning to the next higher block, the set hierarchy level is lowered by 1 (S27). It is determined whether or not all lower block references have been completed in this set hierarchical level block (S28). That is, it is determined whether or not there is still another lower block reference linked from there to the lower level. If there is still another lower block reference as a result of the determination, the process moves to the lower block corresponding to the next lower block reference, raises the set hierarchical level by 1 (S29), returns to step S21, and performs the same processing as above. Repeat. When it is determined in step S28 that there is no further lower block reference linked to the lower level from the set hierarchy level, it is determined whether the set hierarchy level is “1” (S30). If not, the process returns to step S27, and the above process is repeated until it is determined in step S26 or S30 that the set hierarchy level is “1”.
FIG. 24 illustrates the location of the node information extracted when the extraction process of FIG. 23 is performed with the designated hierarchy level set to 2 with respect to the hierarchical circuit block information of FIG. The extracted node information is covered with a thick rectangle. In FIG. 25, the node names with hierarchy information extracted and registered in this way are shown covered with thick rectangles. The extracted circuit node is an output node of a simulation result by the
In the above description, the result output node extraction processing function is assumed to be part of the function of the
Although the invention made by the present inventor has been specifically described based on the embodiments, the present invention is not limited thereto, and various modifications can be made without departing from the scope of the invention.
For example, the scale of the circuit to be simulated may be several hundred thousand to several million gates. In the description based on FIG. 19 and the like, the on-the-fly simulation is positioned as an extension of the simulation result display function, but it is naturally possible to grasp the invention as a partial simulation separately from the display. Further, in the case of display function expansion, the invention is not limited to display of simulation results, but the invention can be grasped by a stance of displaying data processing results for hierarchical information.
Furthermore, it goes without saying that the simulation method can be grasped as a simulation program for realizing the function or processing procedure shown in the above-described flowchart using a computer. By providing such a simulation program, the simulation method can be easily implemented.
Further, the simulation method of the present invention is not limited to circuit simulation, and can also be applied to device simulation. For example, in the case of device simulation in which simulation is performed while dividing a device cross-sectional area such as a MOS transistor into mesh blocks and hierarchically grasping, the result output point is, for example, a current or voltage focus point on the device cross-section. In the upper layer simulation, the result output point exists in the mesh boundary portion, and in the lower layer simulation, the result output point exists in the mesh. When obtaining the result output point in the mesh as a simulation result, perform a partial device simulation using the existing simulation result of the existing result output point at the mesh boundary and the same initial simulation conditions as when obtaining the existing result. Just do it.
Industrial applicability
The present invention can be widely applied to circuit simulation of semiconductor integrated circuits, device simulation of semiconductor devices, and the like.
[Brief description of the drawings]
FIG. 1 is an explanatory view showing the concept of a simulation method according to the present invention together with an example of a result output section.
FIG. 2 is an explanatory diagram showing the principle of the simulation method according to the present invention in further principle.
FIG. 3 is an explanatory diagram showing the principle of the simulation method according to the present invention, focusing on the hierarchical structure of hierarchical circuit data.
FIG. 4 is an explanatory view exemplifying a state when a partial circuit change or element parameter change is made in the simulation target circuit.
FIG. 5 is an explanatory diagram illustrating a method of obtaining a simulation result reflecting the change when a partial circuit change or an element parameter change is made.
FIG. 6 is an explanatory diagram showing the principle of the simulation method for coping with the partial change of FIG. 5, focusing on the hierarchical structure of the hierarchical circuit data.
FIG. 7 is an explanatory diagram illustrating parallel processing of on-the-fly simulation.
FIG. 8 is an explanatory view exemplifying parallel processing of simulation similar to on-the-fly simulation for a partial region caused by circuit change or the like.
FIG. 9 is a block diagram illustrating a data processing system for realizing the simulation method according to the present invention.
FIG. 10 is a flowchart illustrating circuit simulation processing by the
FIG. 11 is a flowchart illustrating simulation result display control by the result display control means and the partial circuit simulation control means of FIG.
FIG. 12 is a block diagram showing a detailed example of a result display control means with an on-the-fly simulation function constituted by the partial circuit simulation control means and the result display control means of FIG.
FIG. 13 is an explanatory diagram illustrating a hierarchical structure based on circuit data having a hierarchical structure.
FIG. 14 is a conceptual diagram showing the relationship between the hierarchical structure of the circuit block of FIG. 13 and the hierarchical level.
FIG. 15 is an information format diagram illustrating information held by circuit blocks of each hierarchy in the hierarchical circuit data described in FIG. 3 and the like.
FIG. 16 is an explanatory diagram exemplifying the mode of a circuit block composed of only lower blocks and its information.
FIG. 17 is an explanatory diagram exemplifying the mode and information of a circuit block composed of lower blocks and elements.
FIG. 18 is an explanatory diagram illustrating an example of a circuit block composed of only elements and information thereof.
FIG. 19 is a format diagram exemplifying hierarchical circuit block information of the entire simulation target circuit and a general data format of the hierarchical level.
FIG. 20 is an information format diagram when node information of external connection nodes and internal connection nodes is extracted from circuit block information in the data form illustrated in FIG.
FIG. 21 is an explanatory diagram illustrating a specific example of hierarchical circuit block information and hierarchical levels of the entire circuit to be simulated having the hierarchical structure illustrated in FIG.
FIG. 22 is an explanatory diagram of node information having all node names with hierarchical information that can be extracted from the circuit block information of FIG.
FIG. 23 is a flowchart illustrating the control of the result output node extraction process.
FIG. 24 is an explanatory diagram illustrating the location of node information extracted when the extraction process of FIG. 23 is performed with the specified hierarchical level set to 2 for the hierarchical circuit block information of FIG.
FIG. 25 is an explanatory diagram exemplifying the node information extracted by the extraction process of FIG. 23 as a thick frame rectangle with respect to the node name with hierarchical information of FIG.
FIG. 26 shows nodes X1.. With hierarchical information in the circuit of FIG. X1. It is a conceptual diagram when producing | generating a simulation result by on-the-fly simulation about N1.
FIG. 27 is an explanatory diagram showing an example in which the result output node extraction processing means is separated from the
Claims (20)
それよりも下位側階層の回路ノードに対し、前記第1上記処理で保存されているシミュレーション結果を前記下位側階層の回路ノードを含む回路領域の入出力情報に用いて、シミュレーションを行う第2処理と、を含むことを特徴とするシミュレーション方法。A first process for performing a simulation using a circuit node in an upper layer of the hierarchical circuit data as a result output node and storing the result;
Second processing for performing simulation using the simulation result stored in the first processing described above as the input / output information of the circuit area including the circuit node in the lower hierarchy for the circuit node in the lower hierarchy. The simulation method characterized by including these.
前記抽出処理で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、
前記シミュレーション実行処理により結果出力ノードに得られた結果データを保存する保存処理と、
前記指定階層よりも下位側階層の回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存された結果データから取得して、回路シミュレーションを実行するシミュレーション再実行処理と、を含むことを特徴とするシミュレーション方法。An extraction process for extracting the specified upper level circuit node from the hierarchical circuit data;
A simulation execution process for performing a circuit simulation using the circuit node extracted in the extraction process as a result output node;
A storage process for storing the result data obtained in the result output node by the simulation execution process;
A simulation re-execution process for acquiring external input / output information of a circuit area including the circuit node from the stored result data and executing a circuit simulation for a circuit node in a hierarchy lower than the specified hierarchy A simulation method characterized by that.
前記シミュレーション実行処理により結果出力ノードに得られた結果データを保存する保存処理と、
前記保存処理で保存された結果データの中から検索された結果データを、前記シミュレーション実行処理結果として表示する第1表示処理と、
前記保存処理で保存された結果データの中から検索された結果データを、前記指定された上位側階層に対する下位側階層の回路領域における外部入出力情報に用いて、当該下位側階層の回路領域における回路シミュレーションを実行するシミュレーション再実行処理と、
前記シミュレーション再実行処理の結果データを表示する第2表示処理と、を含むことを特徴とするシミュレーション方法。A simulation execution process for performing a circuit simulation using the designated upper-level circuit node as a result output node;
A storage process for storing the result data obtained in the result output node by the simulation execution process;
A first display process for displaying the result data retrieved from the result data stored in the storage process as the simulation execution process result;
The result data retrieved from the result data saved in the saving process is used as external input / output information in the circuit area of the lower hierarchy with respect to the designated upper hierarchy, in the circuit area of the lower hierarchy Simulation re-execution processing for executing circuit simulation,
And a second display process for displaying the result data of the simulation re-execution process.
前記シミュレーション実行処理により所定の回路ノードに得られた結果データを保存する保存処理と、
前記階層化回路データが修正されたとき、その修正により状態が変化される回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存処理で保存された結果データから取得して回路シミュレーションを実行するシミュレーション再実行処理と、を含むことを特徴とするシミュレーション方法。Simulation execution processing for performing circuit simulation processing using hierarchical circuit data;
A storage process for storing the result data obtained in the predetermined circuit node by the simulation execution process;
When the hierarchized circuit data is modified, for the circuit node whose state is changed by the modification, the external input / output information of the circuit area including the circuit node is obtained from the result data stored in the storing process, and the circuit A simulation re-execution process for executing a simulation.
抽出された結果出力点に関するシミュレーションを行う第2処理と、
前記第2処理で結果出力点に得られた結果データを保存する第3処理と、
前記指定階層よりも下位側階層に係るシミュレーション結果の表示指令に対し、前記下位側階層の結果出力点を含む領域の境界情報を前記第3処理で保存された結果データから取得して、前記第2処理のシミュレーションと同等の初期条件で当該下位側階層で結果出力を得る為のシミュレーションを行う第4処理と、を含むことを特徴とするシミュレーション方法。A first process for extracting a result output point of a specified upper hierarchy from a simulation target;
A second process for performing a simulation on the extracted result output points;
A third process for storing the result data obtained at the result output point in the second process;
In response to a simulation result display command related to a lower hierarchy than the designated hierarchy, boundary information of an area including a result output point of the lower hierarchy is obtained from the result data stored in the third process, and the And a fourth process for performing a simulation for obtaining a result output in the lower hierarchy under an initial condition equivalent to a two-process simulation.
それよりも下位側階層の回路ノードに関するシミュレーション要求に対して、保存されている上位側階層の回路ノードに関するシミュレーション結果を当該下位側階層の回路ノードを含む回路領域の入出力情報に利用して、シミュレーションを行う第2機能と、をコンピュータに実現させることを特徴とするシミュレーションプログラム。A first function for performing a simulation with a circuit node in a higher hierarchy of the hierarchical circuit data as a result output node and storing the result;
In response to a simulation request related to a lower-level circuit node, the saved simulation result related to the upper-level circuit node is used as input / output information of the circuit area including the lower-level circuit node. A simulation program for causing a computer to realize a second function for performing simulation.
抽出された結果出力点に関するシミュレーションを行う第2機能と、
第2機能で結果出力点に得られた結果データを保存する第3機能と、
第3機能で保存された結果データでは不足する表示指令に対し、前記第3機能で保存された前記結果データを用いて、前記指定階層より下位側階層に関するシミュレーションを行う第4機能と、をコンピュータに実現させることを特徴とするシミュレーションプログラム。A first function for extracting a result output point of a specified upper layer from a simulation target;
A second function for performing a simulation on the extracted result output points;
A third function for storing the result data obtained at the result output point by the second function;
A fourth function for performing a simulation on a lower hierarchy than the designated hierarchy using the result data saved in the third function in response to a display command insufficient in the result data saved in the third function; A simulation program characterized by being realized.
前記抽出機能で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行機能と、
前記シミュレーション実行機能により結果出力ノードに得られた結果データを保存する保存機能と、
前記指定階層よりも下位側階層の回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存された結果データから取得して、回路シミュレーションを実行するシミュレーション再実行機能と、をコンピュータに実現させることを特徴とするシミュレーションプログラム。An extraction function for extracting the specified upper level circuit node from the hierarchical circuit data;
A simulation execution function for performing circuit simulation using the circuit node extracted by the extraction function as a result output node;
A storage function for storing the result data obtained in the result output node by the simulation execution function;
A simulation re-execution function for acquiring external input / output information of a circuit area including the circuit node from the stored result data and executing a circuit simulation for a circuit node in a lower hierarchy than the designated hierarchy; A simulation program characterized by being realized.
前記第1処理で得られた結果データを保存する第2処理と、
前記第2処理で保存された結果データを表示する第3処理と、
前記第2処理で保存されていない結果データの表示指令を受付けてその表示を行う第4処理と、を含むことを特徴とする表示処理方法。A first process for performing data processing to obtain a result output at a specified upper hierarchy using the hierarchical data;
A second process for storing result data obtained in the first process;
A third process for displaying the result data stored in the second process;
And a fourth process for receiving and displaying a display command for the result data not saved in the second process.
前記第2処理で保存された結果データとを利用してデータ処理を再実行した結果を表示する処理であることを特徴とする請求の範囲第19項記載の表示処理方法。The fourth process includes initial conditions for data processing in the first process, and
20. The display processing method according to claim 19, wherein the display processing method is a process of displaying a result of re-execution of data processing using the result data stored in the second processing.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2001/009321 WO2003036523A1 (en) | 2001-10-24 | 2001-10-24 | Simulation method, simulation program, and display method |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006214146A Division JP2006323873A (en) | 2006-08-07 | 2006-08-07 | Simulation method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2003036523A1 true JPWO2003036523A1 (en) | 2005-02-17 |
JP3905885B2 JP3905885B2 (en) | 2007-04-18 |
Family
ID=11737861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003538942A Expired - Fee Related JP3905885B2 (en) | 2001-10-24 | 2001-10-24 | Simulation method, simulation program, and display processing method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP3905885B2 (en) |
WO (1) | WO2003036523A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005093575A1 (en) * | 2004-03-09 | 2005-10-06 | Seiyang Yang | Dynamic-verification-based verification apparatus achieving high verification performance and verification efficency and the verification methodology using the same |
JP4554464B2 (en) * | 2005-08-03 | 2010-09-29 | ルネサスエレクトロニクス株式会社 | Simulation device |
JP5057421B2 (en) * | 2006-02-09 | 2012-10-24 | ルネサスエレクトロニクス株式会社 | Simulation method |
JP6260445B2 (en) * | 2014-05-09 | 2018-01-17 | トヨタ自動車株式会社 | Simulation device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0561933A (en) * | 1991-09-04 | 1993-03-12 | Hokuriku Nippon Denki Software Kk | Logical inspecting device |
JP3128195B2 (en) * | 1995-12-14 | 2001-01-29 | 川崎製鉄株式会社 | Method and apparatus for displaying logic simulation result of semiconductor integrated circuit |
JPH09265489A (en) * | 1996-03-29 | 1997-10-07 | Fujitsu Ltd | Simulation processing method |
JPH10254914A (en) * | 1997-03-07 | 1998-09-25 | Mitsubishi Electric Corp | Logic simulated result analyzer |
JPH10293772A (en) * | 1997-04-18 | 1998-11-04 | Hitachi Ltd | Logic simulation device |
-
2001
- 2001-10-24 JP JP2003538942A patent/JP3905885B2/en not_active Expired - Fee Related
- 2001-10-24 WO PCT/JP2001/009321 patent/WO2003036523A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP3905885B2 (en) | 2007-04-18 |
WO2003036523A1 (en) | 2003-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018171717A1 (en) | Automated design method and system for neural network processor | |
KR100186869B1 (en) | Methodology for deriving executable low-level structural descriptions and valid physical implementations of circuit and system | |
US8719742B2 (en) | Conversion of circuit description to an abstract model of the circuit | |
US10755026B1 (en) | Circuit design including design rule violation correction utilizing patches based on deep reinforcement learning | |
JP2954894B2 (en) | Integrated circuit design method, database device for integrated circuit design, and integrated circuit design support device | |
JP2004502259A (en) | Method and system for checking tiered metal terminations, surroundings, and exposure | |
US20040111688A1 (en) | Methods, apparatus and computer program products for generating selective netlists that include interconnection influences at pre-layout and post-layout design stages | |
US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
JP5699768B2 (en) | Circuit simulation method and circuit simulation apparatus | |
US7086019B2 (en) | Systems and methods for determining activity factors of a circuit design | |
JP3905885B2 (en) | Simulation method, simulation program, and display processing method | |
JP5057421B2 (en) | Simulation method | |
JPH06274568A (en) | Expansion method for hierarchical graphic data | |
JP2006323873A (en) | Simulation method | |
JP4554464B2 (en) | Simulation device | |
JP5059657B2 (en) | Design method and program for predicting signal delay time by netlist considering terminal wiring in macro | |
JP3476688B2 (en) | Netlist generation method and netlist generation device | |
JP2845154B2 (en) | How to create a logic simulation model | |
US10783312B1 (en) | Methods, systems, and computer program product for determining layout equivalence for a multi-fabric electronic design | |
JP3293640B2 (en) | Circuit data connection tracking system | |
JP3037263B2 (en) | Configurable hardware system to achieve Boolean satisfiability and method therefor | |
JPH11238655A (en) | Semiconductor process determination support device | |
JPH027171A (en) | Logical circuit synthesizing system | |
CN117608684A (en) | Reconfigurable architecture generation method, reconfigurable architecture generation device, reconfigurable architecture generation equipment, reconfigurable architecture generation medium and reconfigurable architecture generation product | |
JP3641063B2 (en) | Macro library generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060606 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060807 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060912 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061109 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20061205 |
|
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: 20061226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070112 |
|
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 |