JPWO2003036523A1 - Simulation method, simulation program, and display processing method - Google Patents

Simulation method, simulation program, and display processing method Download PDF

Info

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
Application number
JP2003538942A
Other languages
Japanese (ja)
Other versions
JP3905885B2 (en
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 Technology Corp
Original Assignee
Renesas Technology 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 Technology Corp filed Critical Renesas Technology Corp
Publication of JPWO2003036523A1 publication Critical patent/JPWO2003036523A1/en
Application granted granted Critical
Publication of JP3905885B2 publication Critical patent/JP3905885B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

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, reference numeral 1 denotes a simulation target circuit specified by design data. When a circuit simulation is performed, input waveform information is given to a specified signal terminal or circuit node, and an initial circuit state is determined by solving a nonlinear equation and a circuit matrix based on this initial information. At this time, initial values of all circuit nodes are determined. Based on the initial circuit state, the input waveform information is transitioned to solve the nonlinear equation and the circuit matrix, thereby determining the circuit state and obtaining the transition data of the circuit node. Among these, the result data of the circuit node designated as the result output node is stored. The circuit nodes that store the result data are limited to the circuit nodes in the upper hierarchical area in the hierarchical design data. In FIG. 1, the circuit nodes N1 to N14 included in the hatched circuit area (data storage area) 2 are used as result output nodes, and the result data is stored. Transition data relating to circuit nodes (nodes N15 to N17 represented by 3a as a representative) in the unhatched circuit areas (data non-storage areas) 3a to 3h are not stored as result data. When saving the result data, the initial values of all the circuit nodes of the simulation target circuit 1 are also saved in addition to the transition data of the circuit node designated as the result output node. The initial value related to the circuit node in the data storage area may be included in the transition data. For example, when a simulation result regarding the circuit nodes N15 to N17 in the circuit area 3a is desired, an initial state for the circuit nodes N15 to N17 in the circuit area 3a is determined by the stored initial value, and the circuit area 3a The state of the circuit nodes N5 to N8 connected to the outside is determined from the stored result data. As a result, the simulation of the partial circuit region 3a can be executed under the same initial conditions as the simulation performed on the entire target circuit 1, and the results obtained at the circuit nodes N15 to N17 in the region 3a are thereby obtained. Display the data. The partial simulation may be re-executed for the internal circuit nodes in the other circuit regions 3b to 3h as necessary, and the results may be displayed. Such a simulation is an on-the-fly simulation in the sense that the information to be displayed immediately is restored when it is desired to display the result. It will also be called.
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 data storage area 2 and the data non-storage area 3 depends on the hierarchical structure of the hierarchical circuit data.
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 simulation target circuit 1 is defined by hierarchical circuit blocks. It is hierarchized from the uppermost block to the lowermost circuit block. The data storage area 2 is defined as an upper layer circuit specified by layer data from a block of the highest layer to a circuit block of an arbitrary layer. The data non-storage area 3 is defined as a circuit specified by a circuit block in a lower hierarchy than the hierarchy defining the data storage area 2. The circuit node in the data storage area 2 is a result output node, and the result data of the node is stored as the storage result data 4. In response to a display request relating to a circuit node in the data non-storage area 3 that has not been saved in the simulation, the result data 5 obtained by the on-the-fly simulation may be displayed.
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 non-save area 3 in the lower hierarchy, the non-save result data 9 must be saved as data to be saved. I will have to. Therefore, if a simulation method for displaying the result data 5 obtained by the on-the-fly simulation whenever necessary for the circuit node of the data non-storage area 3 is used, a large-scale integrated circuit is obtained. Data display performance equivalent to storing all simulation result data for a large-scale simulation target can be achieved with a small storage capacity. Result data retrieval time can be shortened by reducing the amount of result data to be stored.
Next, a method of obtaining a simulation result reflecting the change when a partial circuit change or element parameter change is made in the simulation target circuit 1 after obtaining the storage result data 4 will be described.
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 circuit area 3a is changed. Before this change, it is assumed that the result data of the circuit nodes N1 to N14 in the data storage area 2 has already been stored by the simulation of the circuit to be simulated. The change of the circuit area 3a affects the circuit nodes N7, N8, N12, N13 and the circuit nodes inside the circuit areas 3d, 3e that receive the output of the circuit area 3a from the upstream side of signal propagation. In FIG. 4, the circuit node and circuit area affected are marked with the letter i.
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 circuit area 3a when the saved result data 4 is acquired is as follows: the circuit nodes N7, N8, N12, N13 that receive the output of the circuit area 3a from the upstream side of signal propagation and the circuit nodes inside the circuit areas 3d, 3e To affect. Such a change and the circuit region 6 affected by the change are simulated by a method similar to the on-the-fly simulation. The state of circuit nodes N5, N6, and N9 that are not affected by the change, that is, the circuit nodes 6 that are externally connected to the circuit region 6, is determined from the stored result data. The initial value of the circuit node in the changed circuit area 3a is determined according to the change contents. In addition, circuit nodes N7, N8, N12, and N13 that receive the output of the circuit area 3a from the upstream side of signal propagation and the circuit nodes inside the circuit areas 3d and 3e are determined in accordance with the change of the circuit area 3a. . As a result, the simulation of the partial circuit region 6 can be executed under the same initial conditions as the simulation performed on the entire target circuit 1 that has been partially changed, whereby the circuit nodes N7 and N8 in the region 6 are processed. , N12, and N13 may be replaced with the result data of the circuit node before the change. In FIG. 5, the letter “m” is attached to circuit nodes N7, N8, N12, and N13 as result output nodes from which changed result data is obtained.
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. Areas 3a, 3d, and 3e, which are non-storage areas, have circuit block data in lower layers. By performing a circuit simulation on the netlist 7 in the region 6 using a part of the storage result data 4, new storage result data 8 relating to the circuit region 6 is generated.
From the above, since the simulation can be performed on the circuit region 6 affected by partial circuit change or the like by a method similar to the on-the-fly simulation, the scale of the target circuit at the time of simulation can be reduced. In a large-scale circuit, the re-simulation time can be shortened when a partial circuit change or element parameter change is made.
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 illustrated areas 6 and 6A as partial areas affected by a partial circuit change, parallel arithmetic processing is performed on the partial areas 6 and 6A using a plurality of processors CPU1 and CPU2. It's okay. As a result, even when a plurality of circuit change points extend to a plurality of partial areas 6 and 6A that do not share a signal path, the re-simulation process for them can be accelerated.
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 netlist 13 is hierarchical circuit data that specifies a simulation target circuit. The data storage area information 11 is information for determining a circuit node to be extracted as a result output node in hierarchical circuit data, for example, information specifying a desired hierarchical level of the hierarchical circuit data. The designated hierarchy level is referred to as a designated hierarchy level. The input waveform information 12 is information for defining a signal waveform given to a signal terminal or circuit node specified by the hierarchical circuit data, and an initial value of the circuit node of the circuit to be simulated is determined by the input waveform information 12 or the like. The device characteristic information 15 means device model parameters for defining the circuit characteristics of the circuit elements specified by the hierarchical circuit data. The control information 14 means other control information for controlling the operation of the circuit simulator 10 that performs the simulation. The circuit simulator 10 inputs the data storage area information 11, the input waveform information 12, the net list 13, the control information 14, and the device characteristic information 15, and as shown in FIG. 1, the hierarchical circuit data is designated. A circuit simulation is performed with the circuit node in the upper hierarchy as a result output node, and the result is saved as saved result data 4.
When the display node designation information 16 is input, the simulation result display control means 17 searches whether the stored result data 4 includes the circuit node designated by the information. If it is included, the data of the searched circuit node is displayed on the display 19 as result waveform information 18.
When the data of the circuit node specified by the display node specification information 16 is not included in the saved result data 4, the necessary circuit node waveform information is displayed on the display 19 through an on-the-fly simulation. This process is controlled by the partial circuit simulation control means 20 that performs on-the-fly simulation control and the like. That is, when the data of a required circuit node is not included in the saved result data 4, the re-execution control unit 24 uses the netlist 13 to control information necessary for circuit simulation using the circuit node as a result output node. With reference to the information 14 and the device characteristic information 15, the partial re-execution data generation means 21 generates them. The generated partial re-execution data 22 includes, for example, storage information of nodes N5 to N8 for partial simulation of the circuit area 3a in FIG. 1, initial value information of circuit nodes N15 to N17 in the area 3a, and logical configuration information. The characteristic information of the devices constituting the logic is converted into data that can be processed by the simulator. The circuit simulator 23 executes simulation using the partial re-execution data 22 and generates waveform data of a required result output node. The generated waveform data is displayed on the display 19 via the result display control means 17. Although not shown in particular, in the conventional simulation processing system, simulation is performed using the circuit node of the entire target circuit as a result output node, and the amount of data obtained by combining the saved result data 4 and the non-saved result data in FIG. 9 is obtained. Is done. In the conventional simulation processing system, there is no means for performing the partial circuit simulation control by the on-the-fly simulation control as shown in FIG. If there is no waveform information of the circuit node specified by the display command, an error response is returned only for that command.
FIG. 10 illustrates a circuit simulation processing flow by the circuit simulator 10 of FIG. Necessary information such as the net list 13 is input (S1). Based on the input information, circuit nodes in the designated hierarchy are extracted from the circuit nodes to be simulated and set as result output nodes (S2). A determinant for simulation is generated based on the input information (S3), and it is determined whether the convergence of the solution by Newton-Raphson method is obtained through device model calculation (S4) and matrix calculation (S5) ( S6) The above process is repeated until convergence is obtained within a predetermined error range. The resulting convergence value is one value of the transition state in the result output node at that time, and the model calculation, matrix calculation, and convergence determination are repeated until the analysis for all the result output nodes is completed (S7, S8). Result data obtained in each result output node by these processes is output (S9) and stored.
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 display node information 16 is given (S11), the display variable data is searched (S12), and the presence / absence of corresponding result data is determined (S13). If there is corresponding result data, data display is performed (S14). If there is no corresponding result data, a partial circuit simulation process is performed by the partial circuit simulation control means 20 (S15), and the result data obtained thereby is displayed (S14). Until the end of the result display is instructed, the above processing steps are repeated to control the result display (S16).
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 re-execution data 22 generated by the partial re-execution data generation means 21 includes partial re-execution input waveform information 22A, a partial re-execution netlist 22B, and partial re-execution initial value information 22C. If the simulation re-execution target by the on-the-fly simulation is the circuit region 3a in FIG. 1, the partial re-execution input waveform information 22A is stored in, for example, the circuit nodes N5 to N8 in FIG. Information. The partial execution netlist 22B is, for example, a netlist that defines the circuit configuration of the circuit region 3a in FIG. The partial re-execution initial value information 22C is, for example, initial value information of the circuit nodes N15 to N17 in the circuit area 3a stored together with the storage result data 4. By the circuit simulation using the partial re-execution data, information on a required circuit node among the circuit nodes that are not stored data is obtained as result data 23A.
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 hierarchical level 2 refers to the block S2. Circuit level 3 block S2 has no lower block references.
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 storage area information 11 of FIG. 9 is equal to the set value (set hierarchy level) in step S20 (S22). If they do not match, the lower block reference information is searched from the circuit book information (S23), and it is determined whether or not there is a lower block reference (S24). When there is a lower block reference, the block moves to the lower block related to the reference, and the set layer level is increased by 1 (S25). The steps S21 to S24 are performed in the moved lower block. The above process is repeated until the set hierarchy level reaches the designated hierarchy level or until the lower block is no longer referenced.
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 circuit simulator 10 of FIG. The circuit node at the hierarchical level 3 in FIG. 25 is set as an arbitrary result output node by the on-the-fly simulation. To explain in this example, in the node name N1 in the hierarchical level 3 in FIG. 25, that is, in the circuit blocks X1 and X2 referred to in the circuit block X1 referred to in the highest block in FIG. The simulation waveform of the circuit node N1 is calculated by the on-the-fly simulation and can be displayed. FIG. 26 shows the nodes X1.. X with hierarchical information in the circuit of FIG. 13 in the on-the-fly simulation. X1. The conceptual diagram when generating a simulation result about N1 is illustrated. (1), (2), (3), and (4) mean the corresponding nodes in FIG.
In the above description, the result output node extraction processing function is assumed to be part of the function of the circuit simulator 10 of FIG. 9, but the result output node extraction processing means 10A is a circuit as shown in FIG. It may be separated from the simulator 10. In short, a result output node extraction program provided separately from the circuit simulator may be used. In FIG. 27, the means for on-the-fly simulation is omitted.
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 circuit simulator 10 of FIG.
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 circuit simulator 10.

Claims (20)

階層化回路データの上位側階層の回路ノードを結果出力ノードとするシミュレーションを行って結果を保存する第1処理と、
それよりも下位側階層の回路ノードに対し、前記第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.
前記第2処理におけるシミュレーションは、前記第1処理におけるシミュレーションと同等の初期条件で行われることを特徴とするシミュレーション方法。The simulation method according to claim 2, wherein the simulation in the second process is performed under an initial condition equivalent to the simulation in the first process. 指定された上位側階層の回路ノードを階層化回路データから抽出する抽出処理と、
前記抽出処理で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、
前記シミュレーション実行処理により結果出力ノードに得られた結果データを保存する保存処理と、
前記指定階層よりも下位側階層の回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存された結果データから取得して、回路シミュレーションを実行するシミュレーション再実行処理と、を含むことを特徴とするシミュレーション方法。
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.
前記シミュレーション再実行処理におけるシミュレーションは、前記シミュレーション実行処理におけるシミュレーションと同等の初期条件で行われることを特徴とする請求の範囲第3項記載のシミュレーション方法。The simulation method according to claim 3, wherein the simulation in the simulation re-execution process is performed under an initial condition equivalent to the simulation in the simulation execution process. シミュレーション処理結果の表示指令に対し、前記保存処理で保存された結果データの表示又は前記シミュレーション再実行処理で得られたシミュレーション結果の表示を行う表示処理を更に含むことを特徴とする請求の範囲第3項記載のシミュレーション方法。The display apparatus further includes 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 in response to a simulation process result display command. 3. The simulation method according to item 3. 前記抽出処理は、階層化回路データにおける下位階層への参照系列を追いながら階層レベルを下位に設定変更する毎に、設定された階層レベルで把握可能な回路ノードを登録する処理を、シミュレーション対象における全ての参照系列に対して行う処理であることを特徴とする請求の範囲第5項記載のシミュレーション方法。The extraction process is a process for registering circuit nodes that can be grasped at a set hierarchy level every time the hierarchy level is changed to a lower level while following a reference sequence to a lower hierarchy in the hierarchical circuit data. 6. The simulation method according to claim 5, wherein the process is performed for all reference sequences. 指定された上位側階層の回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行処理と、
前記シミュレーション実行処理により結果出力ノードに得られた結果データを保存する保存処理と、
前記保存処理で保存された結果データの中から検索された結果データを、前記シミュレーション実行処理結果として表示する第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.
前記シミュレーション再実行処理におけるシミュレーションは、前記シミュレーション実行処理におけるシミュレーションと同等の初期条件で行われることを特徴とする請求の範囲第7項記載のシミュレーション方法。The simulation method according to claim 7, wherein the simulation in the simulation re-execution process is performed under an initial condition equivalent to the simulation in the simulation 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.
前記シミュレーション再実行処理において、前記回路領域で信号経路が相互に独立する部分領域を部分領域毎に並列に回路シミュレーションを実行することを特徴とする請求の範囲第9項記載のシミュレーション方法。10. The simulation method according to claim 9, wherein, in the simulation re-execution process, a circuit simulation is executed in parallel for each partial region in a partial region in which signal paths are mutually independent in the circuit region. 指定された上位側階層の結果出力点をシミュレーション対象から抽出する第1処理と、
抽出された結果出力点に関するシミュレーションを行う第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.
階層化回路データの上位側階層の回路ノードを結果出力ノードとするシミュレーションを行って結果を保存する第1機能と、
それよりも下位側階層の回路ノードに関するシミュレーション要求に対して、保存されている上位側階層の回路ノードに関するシミュレーション結果を当該下位側階層の回路ノードを含む回路領域の入出力情報に利用して、シミュレーションを行う第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機能におけるシミュレーションは、前記第1機能におけるシミュレーションと同等の初期条件で行われることを特徴とする請求の範囲第12項記載のシミュレーションプログラム。13. The simulation program according to claim 12, wherein the simulation in the second function is performed under an initial condition equivalent to the simulation in the first function. 指定された上位側階層の結果出力点をシミュレーション対象から抽出する第1機能と、
抽出された結果出力点に関するシミュレーションを行う第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.
前記第4機能におけるシミュレーションは、前記第2機能におけるシミュレーションと同等の初期条件で行われることを特徴とする請求の範囲第14項記載のシミュレーションプログラム。15. The simulation program according to claim 14, wherein the simulation in the fourth function is performed under an initial condition equivalent to the simulation in the second function. 指定された上位側階層の回路ノードを階層化回路データから抽出する抽出機能と、
前記抽出機能で抽出された回路ノードを結果出力ノードとして回路シミュレーションを行うシミュレーション実行機能と、
前記シミュレーション実行機能により結果出力ノードに得られた結果データを保存する保存機能と、
前記指定階層よりも下位側階層の回路ノードについて、その回路ノードを含む回路領域の外部入出力情報を前記保存された結果データから取得して、回路シミュレーションを実行するシミュレーション再実行機能と、をコンピュータに実現させることを特徴とするシミュレーションプログラム。
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.
前記シミュレーション再実行機能におけるシミュレーションは、前記シミュレーション実行機能におけるシミュレーションと同等の初期条件で行われることを特徴とする請求の範囲第16項記載のシミュレーションプログラム。The simulation program according to claim 16, wherein the simulation in the simulation re-execution function is performed under an initial condition equivalent to the simulation in the simulation execution function. 前記抽出機能は、階層化回路データにおける下位階層への参照系列を追いながら階層レベルを下位に設定変更する毎に、設定された階層レベルで把握可能な回路ノードを登録する処理を、シミュレーション対象における全ての参照系列に対して行う処理であることを特徴とする請求の範囲第16項記載のシミュレーションプログラム。The extraction function performs a process of registering a circuit node that can be grasped at a set hierarchy level every time the hierarchy level is changed to a lower level while following a reference sequence to a lower hierarchy in the hierarchical circuit data. 17. The simulation program according to claim 16, wherein the simulation program is processing to be performed on all reference sequences. 階層化データを用い、指定された上位側階層で結果出力を得る為のデータ処理を行う第1処理と、
前記第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.
前記第4処理は、前記第1処理におけるデータ処理の初期条件と、
前記第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.
JP2003538942A 2001-10-24 2001-10-24 Simulation method, simulation program, and display processing method Expired - Fee Related JP3905885B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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