JP3290548B2 - 階層形チェックポイントを使用する論理シミュレータ - Google Patents

階層形チェックポイントを使用する論理シミュレータ

Info

Publication number
JP3290548B2
JP3290548B2 JP24958794A JP24958794A JP3290548B2 JP 3290548 B2 JP3290548 B2 JP 3290548B2 JP 24958794 A JP24958794 A JP 24958794A JP 24958794 A JP24958794 A JP 24958794A JP 3290548 B2 JP3290548 B2 JP 3290548B2
Authority
JP
Japan
Prior art keywords
simulation
data
buffer
time
simulator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP24958794A
Other languages
English (en)
Other versions
JPH07249063A (ja
Inventor
ダブリュ.ボスハート パトリック
シー.ピッケンズ ダニエル
Original Assignee
テキサス インスツルメンツ インコーポレイテツド
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 テキサス インスツルメンツ インコーポレイテツド filed Critical テキサス インスツルメンツ インコーポレイテツド
Publication of JPH07249063A publication Critical patent/JPH07249063A/ja
Application granted granted Critical
Publication of JP3290548B2 publication Critical patent/JP3290548B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は論理シミュレータの分野
に関し、より詳細には、ディジタルメモリを含む論理回
路の長時間のシミュレーションを実行する論理シミュレ
ータに関する。
【0002】
【従来の技術】論理シミュレータは、実際の論理設計を
組み立ててテストせずに、設計した論理回路の完全性を
テストするため、長年のあいだ設計者によって使用され
てきた。論理シミュレータは、特定の設計によって実行
される機能をシミュレートして、設計者にその設計によ
って発生する信号を調査する機会を提供する。シミュレ
ートされた信号の分析から設計者は設計の流れを明かに
する。
【0003】設計誤りが識別されると、論理シミュレー
タにより設計者は容易に設計を修正して論理シミュレー
ションを再実行することができる。設計を変更しかつ変
更された設計を迅速にテストする能力により、回路設計
にかかる全時間を大幅に短縮してきた。シミュレータの
これらの利点の結果として、設計者は、設計の誤りを指
摘するとともに新しい設計に誤りがないか迅速にテスト
するためシミュレータを頼りにするようになった。
【0004】上に説明したシミュレータを使用する設計
方法は、比較的簡単な論理シミュレーションには最適で
ある。しかし、非常に複雑は論理ネットワークをシミュ
レートしようとする場合は、シミュレータの実行時間が
長時間続くことになり、より複雑な論理ネットワークの
場合は、シミュレーションを完了するのに何日間もかか
ることになるかもしれない。これは非常に多数の回路を
シミュレートすることに主として帰因している。かかる
シミュレーションの実行中に、いくつかのシミュレーシ
ョンデータが出力トレースファイルにダンプされる。シ
ミュレーション中の論理設計に誤りが発見されると、シ
ミュレータはトレースファイルのデータに頼らなければ
ならないのが普通である。普通、トレースファイルの利
用可能なデータの量は限定されているので、論理設計を
完全にテストするためには何回もシミュレーションを行
う必要がある。
【0005】
【発明が解決しようとする課題】上述の問題点に対する
解を求める場合、設計者が、希望するチェックポイント
でシミュレーションを再実行させ、これにより異なる時
点のシミュレート信号を容易に観測できるようなチェッ
クポイント方式(scheme)が開発されてきた。この手法
には、論理ネットワークに対するデータ信号の値を定期
的に記憶し、そしてシミュレーションサイクル毎に生成
されるデータ信号のうち、記憶するデータ信号以外のデ
ータ信号を廃棄することが含まれている。チェックポイ
ントのデータを記憶し(checkpointing )ておけば、設
計者は、前にシミュレートした全マシンサイクルではな
いが、多数のマシンサイクルでシミュレーションを再実
行することが可能になる。正確なマシンサイクルがチェ
ックポイントに記憶され(checkpointed)ておらず、か
つ利用不可能であれば、シミュレータは最も近くの時間
的に早いチェックポイント( earlier checkpoint:以
下、「前にあるチェックポイント」とする)を選択し、
そこからシミュレーションを再実行する。シミュレーシ
ョンは、わずかな遅れで希望するマシンサイクルに到達
する。しかし、これまでに試みられてきた方法と同様
に、この方法は、チェックポイント方法を用意するため
に非常に多数の記憶場所を必要とする。したがって、効
率的に評価することができ、かつチェックポイントデー
タを使用して再実行させることができるシミュレーショ
ンの長さは、シミュレータに利用できるチェックポイン
トメモリの量によって制限される。
【0006】シミュレーション中のネットワークが1つ
またはそれ以上のメモリを含んでいる場合、データ信号
を記憶するメモリの使用率の問題は一層重要になる。既
存のシミュレータにおいては、シミュレーションの中に
書込まれるネットワークの各記憶場所は、シミュレート
されたデータを記憶するのと同じ量のメモリを必要とす
る。メモリの大きさと数が増加するのにともない、その
メモリに接続される論理ネットワークの大きさも増加
し、シミュレーション時間がより長くなるのにともなっ
てシミュレータに対するメモリの必要性も著しく大きく
なり、最終的にはシミュレータの記憶容量に対する制限
のため、シミュレータは、割込みの無い希望する長さの
シミュレーションを実行できなくなってしまう。
【0007】
【課題を解決する手段】本発明には論理シミュレータが
含まれているが、この論理シミュレータは階層形チェッ
クポイント方式(hierarchical checkpointing)を利用
しており、1つまたはそれ以上のメモリを含む複雑な論
理ネットワークの長時間シミュレーションに特に有用で
ある。このシミュレータは、シミュレーション中の論理
ネットワークの各メモリ用のメモリデータアレーを備え
ている。各メモリデータアレーは、シミュレートされた
メモリに対する各シミュレートされた書込みの時刻と内
容あるいは値(時刻/値の対)を記憶するためにある。
またシミュレータには、シミュレーション中の論理ネッ
トワークの各メモリに対する変更管理リスト(change m
anagement list)が含まれており、変更管理リストは時
刻/値の対が配置される記憶場所に対してポインタ(時
刻/アドレスの対)を与える。
【0008】シミュレータには、シミュレーション中の
ネットワークの中のディジタル論理のシミュレートされ
たデータ信号を記憶するため階層構造のチェックポイン
トデータレジスタが含まれている。階層構造には複数の
記憶場所を有する第1のレジスタが含まれているが、各
記憶場所には、レジスタに記憶された各シミュレートさ
れたサイクルに対するシミュレートされた複数の回路の
信号が記憶される。かかるシミュレートされた複数の回
路の信号は、所与の第1の時間間隔あるいは第1のグル
ープにおいて記憶された信号のすべてを含んでいる。第
1のレジスタは、複数の第1の時間間隔に対するシミュ
レーションデータ信号を記憶するために十分な大きさが
ある。階層構造には第1のレジスタに結合される第2の
レジスタが含まれているが、第2のレジスタには複数の
記憶場所が含まれている。第2のレジスタは、第1の各
時間間隔における1サイクルに対して記憶されたシミュ
レートされた信号をすべて受信するが、前記第2のレジ
スタに記憶された信号は、前記第1の時間間隔より長い
第2の時間間隔の中に集められる。第1のレジスタの前
に書かれたグループの中のデータが、新しいデータによ
って上書きされようとするときに、前記第1のレジスタ
から第2のレジスタにデータが送られる。
【0009】追加階層形レジスタが与えられており、各
レジスタは、前にあるレジスタ(earlier registor)に
よって識別された各時間間隔の中の1サイクルに対する
シミュレートされた信号を記憶する、前にあるレジスタ
に結合されている。1つのレジスタから次のより高い階
層のレジスタにデータ転送が起こるのは、より低い2つ
の階層形レジスタの中のデータが新しいデータにより上
書きされようとするときである。
【0010】また、シミュレータには階層形チェックポ
イント更新システムが含まれており、このシステムは、
メモリデータアレーおよび変更管理リストの状態を定期
的にチェックして、選択された1つの階層形レジスタか
ら別の階層形レジスタに一定のデータが転送されること
に関係のある各サンプリング間隔の間に、シミュレート
された各記憶場所に記憶された最新のデータに対応しな
いデータを、メモリデータアレーおよび変更管理リスト
から除去する。
【0011】
【実施例】他の利点および特徴も含め、前述した本発明
の利点および特徴について添付の図面を参照して説明す
る。
【0012】図1を参照すると、論理ネットワークをシ
ミュレートするシミュレータ10が示されている。シミ
ュレータ10は、当業者には公知のタイプであり、ハー
ドウエアあるいはソフトウエアを使用したシステムの何
れかを含んでいる。しかし、シミュレータ10はシミュ
レーション中の論理ネットワークの記述の上で動作し、
シミュレートされた各サイクルがクローズするとき、シ
ミュレータ10の出力12に、シミュレートされた論理
ネットワークの中の複数の場所の信号レベルを表すデー
タを発生する。シミュレーション中の複雑な論理ネット
ワークに対しては、出力12に現れる信号の数が数千か
ら数万あるいはもっと大きな数になる。ディジタルメモ
リを含む論理ネットワークをシミュレートしているシミ
ュレータの場合には、シミュレータ10の出力には、さ
らにライン14の出力信号が含まれ、この出力信号には
時刻、値および変更された記憶場所を識別する情報が含
まれている。
【0013】図1のネットワークには環状バッファ(ci
rcular buffer )16が含まれており、環状バッファ1
6は、シミュレーション中の複数の回路信号の値を受け
取るシミュレータ10の出力12に結合している。普
通、シミュレートされた信号には、レジスタの状態だけ
でなく、組合わせ論理の出力を表す信号も含まれてい
る。これらの回路信号の値は環状バッファ16に記憶さ
れるが、環状バッファ16には、最新のシミュレーショ
ンサイクルが終了する時にシミュレーション中のネット
ワークの複数の回路のシミュレータ出力を記憶する複数
の記憶場所が含まれている。さらに、バッファ16は、
前に実行された複数のシミュレータサイクルが終了する
ときのシミュレータの出力を記憶する複数の記憶場所を
備えている。本発明の好適実施例においては、実際にバ
ッファ16は、200個のバッファ場所を備えており、
各バッファ場所は1つのシミュレーションサイクルが終
了するときの回路信号の値を記憶する。その上、バッフ
ァ16は、それぞれ100マシンサイクルの2つの時間
間隔に対する回路信号の値を記憶できるように構成され
ている。
【0014】既に説明した通り、環状バッファ16には
シミュレータ10の出力に現れるディジタル信号を記憶
する複数の記憶場所が含まれている。本発明の好適実施
例においては、バッファ16に記憶できる隣接シミュレ
ータサイクルの数は、約200サイクルを含む任意のサ
イクル数に限定されているが、この数より大きいか小さ
いかいずれかの任意の数の記憶場所も利用することがで
きる。バッファ16に記憶されるシミュレートされたサ
イクルの数は任意であるが、正確な大きさを決定すると
きの重要な要因は、過去において正確にシミュレートさ
れたサイクルでシミュレーションを再実行することがで
きるというユーザに対する要望である。シミュレーショ
ンを再実行する目的に対して、バッファ16に使用可能
な記憶場所が多くなればなるほど、前にシミュレートさ
れたネットワークのより多数の正確な状態がユーザに使
用可能になる。本発明のこの側面については後で明かに
する。
【0015】シミュレータからのディジタル信号を記憶
するために階層構造が確立されているのであるから、環
状バッファ16は、選択的にデータを転送するキャッシ
ュライン18を備えている。このデータは、選択された
シミュレーションサイクルが終了するときのシミュレー
ション中の回路の状態を表しており、環状バッファ16
から第1の選択記憶バッファ(selective strage buffe
r )20に転送される。環状バッファ16から第1の選
択記憶バッファ20に対するこのデータ転送は、バッフ
ァ16に記憶されるデータの各間隔の間に生起する。図
示した実施例においては、このことは100サイクル毎
に1サイクルに対するシミュレーションデータがバッフ
ァ16に記憶され、このデータがバッファ20に転送さ
れることを意味している。望ましいことは、選択された
周期的間隔は、以前に一杯になった記憶場所を上書きす
る前に、環状バッファ16を完全に埋めるために要求さ
れるサイクルの総合計数の半分より少なくとも長くはな
いということと、そして好適実施例においては、キャッ
シュライン18は100シミュレーションサイクル毎に
1回活性化されるということである。
【0016】第1の選択記憶バッファ20は複数の記憶
場所を持っており、この記憶場所の数は、バッファ16
内の記憶場所の数と同じか、より多いことが望ましい
が、任意である。たとえば、第1の選択記憶バッファ2
0は、500個の場所を含んでいるが、各場所にはシミ
ュレータ10の1マシンサイクルの出力を表すデータが
記憶されており、この出力は、そのすぐ隣の場所から、
ライン18上の隣接データの転送を分離するサイクルの
数だけ異なる時に発生する。バッファ16が100シミ
ュレーションサイクル毎にデータを第1の選択記憶バッ
ファ20に転送すれば、たとえば、第1の選択記憶バッ
ファ20はシミュレータ10からの複数のデータ信号出
力を持つことになり、各データ信号出力は、前回のシミ
ュレータ出力からの第1の時間間隔の間に、あるいは1
00シミュレーションサイクルの間にバッファ20に記
憶される。
【0017】バッファ20の中のデータは、望ましくは
各時間間隔が100エントリのある5つの時間間隔の中
に配列されている(すなわち、100チェックポイント
を含んでいるグループが5グループある)。バッファ2
0の中の各エントリ(チェックポイント)は100シミ
ュレーションサイクル毎に発生するのであるから、バッ
ファ20の中のデータの各時間間隔(チェックポイント
のグループ)は、合計10,000シミュレーションサ
イクルの第2の時間間隔に対して、100シミュレーシ
ョンサイクル毎にシミュレータから出力される回路信号
を表す。本発明の好適実施例においてはバッファ20は
500個の場所を持っているので、最新の50,000
シミュレーションサイクルに対する100サイクル毎の
シミュレートされた回路信号がバッファ20に記憶され
る。同様に注意されたいことは、バッファ20に記憶さ
れた特定の信号には常にシミュレーション中の回路ネッ
トワークの中の全レジスタのシミュレートされた信号が
含まれており、さらにシミュレーション中のネットワー
クの中の組合わせ論理を表すデータ信号が含まれている
ということである。それに反して、バッファ16にはシ
ミュレーション中のネットワークの中の全レジスタと組
合わせ論理に対するシミュレーション信号が含まれてい
る。したがって、バッファ20の各バッファ場所はバッ
ファ16の中の各場所よりも大きくする必要がなく、シ
ミュレーション中のネットワークの中の組合わせ論理信
号がバッファ20に記憶されないとすればかなり小さく
てもよい。
【0018】また、第1の選択記憶バッファ20はキャ
ッシュライン22を備えているが、このラインが活性化
されると、キャッシュライン22は第1の選択記憶バッ
ファ20から第2の選択記憶バッファ24にデータを送
る。バッファ20の記憶場所の数が500だと仮定する
と、バッファ20は50,000シミュレーションサイ
クルが経過した後では、完全に一杯になる。その後で、
データがバッファ20に入るとき、前に入った1グルー
プのデータは無効にされ、続いて上書きされる。無効に
するために選ばれるグループは、最も前に使用された
(LRU:LeastRecently Used )グループである。し
たがって、バッファ20に記憶されているLRUグルー
プのデータが新しいデータで上書きされようとすると
き、バッファ20の中のチェックポイントデータのLR
Uグループの1サイクルに対するデータは、キャッシュ
ライン22を介して第2の選択記憶バッファ24に転送
される。第1の選択記憶バッファ20の各チェックポイ
ントグループには100エントリあるから、ライン22
に転送される頻度は、第1の選択記憶バッファ20の中
の100エントリ毎に1回転送するように選ばれてい
る。第1の50,000シミュレーションサイクルが終
了した後、10,000シミュレーションサイクルの間
隔毎にライン22を介して1回の転送が生起する。
【0019】本発明の次の階層形レジスタは、前の階層
形レジスタが自分の中にあるデータを上書きしようとす
るまで、データを自レジスタに転送させないことが望ま
まれているが、当業者ならば、これが必要でない場合で
あることを認識できるであろう。チェックポイントデー
タのグループの中の選択されたサイクルのデータを、よ
り低位のチェックポイントの階層形レジスタから次のよ
り高位のチェックポイントの階層形レジスタに転送する
ことは、このグループの希望するサイクルが低位の階層
形レジスタに入れられた後ならばいつでも可能である
が、希望するサイクルのデータが上書きされる前は不可
能である。
【0020】第2の選択記憶バッファ24は、500個
のチェックポイントに関するデータを記憶する500個
の記憶場所を備えていることが望ましい。バッファ24
の100個の場所毎に、1,000,000シミュレー
ションサイクルを含む第3の時間間隔にわたって生起す
るチェックポイントのグループが含まれており、各場所
にはシミュレータサイクルのシミュレータデータ信号が
記憶されるが、このシミュレータサイクルは、その場所
に記憶されている隣のシミュレーションサイクルから1
0,000シミュレーションサイクルだけ離れている。
第1の5,000,000シミュレータサイクルの後で
バッファ24が完全に埋まると、前に書込まれたチェッ
クポイントのグループを無効にしなければならないの
で、当該データを新しいチェックポイントデータで上書
きしてよい。
【0021】図1のシステムは第3の選択記憶バッファ
26を含んでいるが、このバッファ26はキャッシュラ
イン29により第2の選択記憶バッファ24に結合され
ている。第3の選択記憶バッファ26は希望するだけ多
数のサイクル記憶場所を備えている。ライン29に対す
る転送は、バッファ24が完全に一杯になると、望まし
くはシミュレータの100万サイクル毎に少なくとも1
回生起するから、バッファ26は、ユーザが実行した1
00万シミュレーションサイクル数に対応する大きさを
持つことができる。
【0022】要約すると、環状バッファ16はシミュレ
ータ10からの200個の最新データ信号出力を有して
いる。しかし、第1の選択記憶バッファ20はそこに記
憶されるシミュレートされた信号出力を500個有して
おり、各出力はシミュレータの最大100シミュレータ
マシンサイクルだけ離れている。このデータは、100
個のシミュレートされた信号出力を持つ5グループに構
成される。第2の選択記憶バッファ24は500個の追
加記憶場所を備えている。このデータは、100個のシ
ミュレートされた信号出力を持つ5グループに構成され
るが、各グループはそれぞれ10,000サイクルだけ
離れている。第3の選択記憶バッファ26には希望する
だけ多数の複数の場所が含まれているが、第3の選択記
憶バッファ26に記憶される信号の隣接する各セット
は、シミュレータ10の100万マシンサイクルだけ離
れている。
【0023】図1のシステムには、オペレータからのデ
ータを受ける再実行/巻戻し(rewind)システム38が
含まれているが、このデータは、前に実行されたシミュ
レーションサイクルを定義しており、オペレータはその
シミュレーションサイクルで、シミュレーションを再実
行あるいは巻戻しできればよいと考えている。再実行と
いう語が含む意味は次の通りである。すなわち、再実行
では、前に実行されたシミュレーションサイクルでシミ
ュレーションを再スタートさせ、そして論理信号と前に
シミュレートした記憶場所に対して記憶したデータを変
更しない。このことによって、その時および後でシミュ
レーション中のネットワークの振る舞いを観測できるよ
うに、希望した過去のシミュレーションサイクルでシミ
ュレーションデータを再生成することが可能になる。巻
戻しという語が含む意味は次の通りである。すなわち、
巻戻しでは、前に実行されたシミュレーションサイクル
の論理信号およびメモリデータであって、所与のシミュ
レーションサイクルの後で生起した論理信号およびメモ
リデータは忘れられる、つまり各種の記憶バッファから
クリアされる。その後で、記憶バッファに残っている、
シミュレーションの初期値としての役割をするデータを
使ってシミュレータをスタートする。
【0024】バッファ16、20、24、26は再実行
/巻戻しシステム38に結合されている。シミュレーシ
ョンを再実行したい場合、再実行/巻戻しシステム38
は、バッファ16、20、24、26のデータをその順
番で走査し、その中に再スタートさせたいサイクルのシ
ミュレーションデータを持っている第1のバッファを決
定するか、あるいは正確な一致が見つけられない場合、
再スタートさせたいサイクルに最も近いが少し前のサイ
クルを持っている第1のバッファを決定する。データが
希望するサイクルあるいは次に最も近いが少し前のチェ
ックポイントのデータが記憶されたサイクル(checkpoi
nyted cycle )に配置されると、そのデータが環状バッ
ファ16に配置されるまで、そのデータは次の低位のバ
ッファに次々とコピーされる。この過程において、各バ
ッファの中のいくつかのチェックポイントデータは、高
位のバッファから低位のバッファに転送中のデータのた
めに消失してしまう。その上、シミュレーションを再実
行するためのチェックポイントデータが含まれているデ
ータグループ内の他のデータも消失してしまうかもしれ
ない。バッファが更新されると、バッファ16の中の希
望する再実行データ、はライン28を介してシミュレー
タ10に結合され、シミュレータのレジスタの中に希望
するデータを入れることによってシミュレーションの再
実行が開始する。
【0025】既に注意した通り、シミュレータ10はメ
モリを備えた論理ネットワークをシミュレートすること
ができる。かかるシミュレータを再実行/巻戻しするた
めには、記憶場所が書込まれるときは、いつもメモリデ
ータが記憶されることが絶対に必要である。このこと
は、メモリデータに対する変更が生じた刻間、変更が生
じた場所および変更された記憶場所の中に記憶されたデ
ータに関する情報を備えることにより達成される。この
情報は、シミュレートされたネットワークの記憶場所が
変更される都度、ライン14を介して変更管理リスト3
0およびメモリデータアレー32に送られる。変更管理
リスト30は変更されたメモリの時刻および場所を確認
するために利用される。これに反して、メモリデータア
レー32はシミュレートされたネットワークの中の変更
のあった各記憶場所に記憶された時刻およびデータの内
容を示すために利用される。さらにメモリデータアレー
32はシミュレートされた記憶場所としての役割もす
る。
【0026】上に注意した通り、変更管理リスト30お
よびメモリデータアレー32は、シミュレーションの進
行中に変更のあった記憶場所の時刻と内容に関するデー
タを記憶している。シミュレートされたシステムが、デ
ータDを時刻TでアドレスAのシミュレートされたメモ
リに記憶する場合、メモリデータアレー32は、Tおよ
びDから成る時刻およびデータの情報をアドレスAに記
憶する。これと同時に、変更管理リスト30は、対応す
るTおよびAから成る時刻およびアドレスの情報を記憶
する。
【0027】シミュレートされるディジタルネットワー
クのいくつかは、非常に多数のメモリ書込みを含んでい
るかもしれない以上、リスト30およびアレー32の大
きさは、これらの変更を保持するために十分な大きさで
なければならないか、あるいはある種のチェックポイン
トのメカニズムを備えていなければならない。本発明で
はよく考えて、チェックポイントシステム34を使用す
ることにしたが、チェックポイントシステム34は変更
管理リスト30およびメモリデータアレー32を定期的
にチェックして、選択的にエントリを取り除く。チェッ
クポイントシステム34はバッファ16、20、24、
26に結合され、変更管理リスト30およびメモリデー
タアレー32は、バッファ16、20、24、26の中
でチェックポイントのデータを記憶することに同期して
チェックポイントのデータを更新することを可能にす
る。また注意されたいことは、多くのシミュレーション
ではメモリ書込みの頻度は非常に少ないので、データを
記憶する必要性は、バッファ16あるいはバッファ20
がチェックポイントのデータを更新するほど高い頻度で
チェックポイントのデータを記憶することを要求するほ
ど大きくはないので、リスト30およびアレー32は、
バッファ16あるいはバッファ20の変化に同期してチ
ェックポイントのデータを更新する必要はないことであ
る。リスト30およびアレー32は、バッファ24ある
いはバッファ26の更新と同期して更新される必要があ
る。
【0028】リスト30およびアレー32はシミュレー
タ10に結合されている。アレー32は2つの機能を果
たす。アレー32はシミュレートされた回路のメモリの
役目をすると共に、シミュレータ10によって要求され
場合そのデータをライン36に置く。またアレー32
は、いつ記憶場所が書込まれたかということと、その時
に記憶されたデータとに関する履歴情報を記憶する役目
をする。シミュレータの再スタートあるいは巻戻しが、
再実行/巻戻しシステム38によって要求された場合、
データはリスト30およびアレー32に送られ、シミュ
レーションを再スタートすべきサイクルの時刻を指定す
る。シミュレーションを再スタートする場合、リスト3
0およびアレー32に記憶されているデータはどんなこ
とがあっても変更されない。しかし、シミュレーション
を巻戻しする場合は、シミュレーション中の回路に対し
て、シミュレーションが巻戻しされる時刻の後に生起す
るメモリ書込みに対応するデータは全てクリアされる。
【0029】変更管理リストおよびメモリデータアレー
の協力を得てチェックポイント更新システム34の動作
をより完全に理解するために、つぎに図2〜図9を参照
する。図2において、変更管理リスト30の内容はシミ
ュレーション中のネットワークの10,000サイクル
中に示される。上に注意した通り、変更管理リストは複
数のエントリを含み、各エントリは時刻とデータがシミ
ュレーション中のネットワークのメモリに記憶されるア
ドレスとを識別する。図2において、複数の時刻/アド
レスの対の2つ、すなわち、T1 、A2 およびT2 、A
1 が特に示されている。このような第1のエントリは時
刻T1 でアドレスA2 の内容が変更されたことに対応す
る。このような第2のエントリは時刻T2 でアドレスA
1 の内容が変更されたことに対応する。これらの2つの
特定のエントリの後に追加されている複数の点は、シミ
ュレートされたネットワークの他の記憶場所あるいは同
じ記憶場所に対するデータの書込みに対応して、変更管
理リストに対する多数の追加エントリがあることを示し
ている。
【0030】つぎに図3を参照すると、変更管理リスト
30の内容が時限あるいは時間間隔、10K<T≦20
Kに対して示されている。この時限の間に、図示されて
いる2つの特定の瞬間、すなわちT31、A2 および
41、A1 で複数の書込みが生起する。これらの2つの
エントリの後の複数の点は、追加エントリがセーブされ
たが特に図示されていないことを示している。
【0031】図4は、5万サイクルと6万サイクルの間
でシミュレーションが行われた時点における変更管理リ
スト30の内容を示している。時刻/アドレスの対は、
変更が起こったときの時限に対して示されている。第1
の選択記憶バッファ20は100サイクルの間隔をおい
て500個の場所を含んでいるから、シミュレータが5
万サイクルを完了したとき、シミュレーション中のネッ
トワークの状態を表す新しいネットワークデータポイン
トの場所(room)をつくるために、シミュレータに含ま
れているデータは上書きされなければならない。このよ
うになっており、そしてシミュレートされたネットワー
クの最終状態は第2の選択記憶バッファ24に退避され
ているので、シミュレーションの第1の1万サイクルの
間のメモリに対する変更を全て保ち続ける必要はない
が、第1の1万シミュレーションサイクルの間に変更さ
れた各記憶場所に対する最終変更を維持することだけは
必要である。したがって、チェックポイントシステム
(checkpointing system)34は第1の1万シミュレー
ションサイクルの間のメモリ書込みを表すデータを、第
1の1万シミュレーションサイクルの間に書込まれた各
アドレスに対する最終書込みだけに限定(pruned down
)する。したがって、図4の第1行目に示される2つ
の時刻/アドレスの対は、最新時刻のデータが記憶場所
2 、A1 に記憶され、それぞれ時刻T3 、T4 に生起
したことを表している。図4の残りのエントリは、指定
された時限の間に書込まれた記憶場所に対する時刻/ア
ドレスの対に対応する。
【0032】図5は、少なくとも6万シミュレーション
サイクルが経過した時刻と、6万と7万の中間のシミュ
レーションサイクルに対するデータが記憶されている時
刻とを示している。1万と2万の中間のシミュレーショ
ンサイクルに対する第1の選択記憶バッファ20の中の
データは上書きされなければならないので、チェックポ
イントシステム34は、1万と2万の中間のシミュレー
ションサイクル時限において変更された各アドレスに対
する最新の時刻/アドレスの対だけを維持し、かつこの
時限の間に変更されたアドレスに対する時刻/アドレス
の対の全てを除去することにより、変更管理リスト30
の中のデータを限定する。図5の中では、記憶場所A1
に対する最新の書込みは時刻T47で生起し、記憶場所A
2 に対する最新の書込みは時刻T35で生起したことによ
って、このことが示されている。
【0033】図6は、少なくとも500万シミュレーシ
ョンサイクルが経過した時刻と、500万と600万の
間のシミュレーションサイクルに対するデータが記憶さ
れている時刻とを示している。0と100万の間のシミ
ュレーションサイクルに対する第2の選択記憶バッファ
24の中のデータは上書きされなければならないので、
チェックポイントシステム34は、0と100万の間の
シミュレーションサイクル時限において変更された、シ
ミュレートされたメモリアドレスに対する最新の時刻/
アドレスの対だけを維持し、かつこの時限の間に変更さ
れたアドレスに対する時刻/アドレスの対の全てを除去
することにより、変更管理リスト30の中のデータを再
び限定する。図6の中では、記憶場所A1 に対する最新
の書込みは時刻T250 で生起し、記憶場所A2 に対する
最新の書込みは時刻T100 で生起したことによって、こ
のことが示されている。
【0034】図7は、変更管理リスト30が図3に示す
ような内容を持っている時刻のメモリデータアレー32
の内容を示す。以前に説明した通り、メモリデータアレ
ー32は、シミュレートされたネットワークの各アドレ
スに対して一連の時刻/値の対を含んでいる。各時刻/
値の対は、シミュレーションにおける時刻と特定の記憶
場所が変更される値とを示している。特に、アドレスA
1 は、時刻T2 で値V 2 に変更され、また時刻T4 で値
4 に変更されている。アドレスA2 は、時刻T1 で値
1 に変更され、また時刻T3 で値V3 に変更されてい
る。これらのエントリに続く複数の点は、これらの記憶
場所の中のデータの変更が特に注意した時刻よりも早い
時刻で生起したことを意味している。下方に向かって延
びている複数の点は、変更が別の記憶場所と別の時刻で
生起したことを示している。
【0035】図8は、変更管理リスト30が図4に示す
ような内容を持っている時刻のメモリデータアレー32
の内容を示す。特にチェックポイント更新システム34
は、第1の選択記憶バッファ20の中のデータが上書き
され始めると、メモリデータアレー32の中のデータを
更新する。たとえば、記憶場所A1 に対する時刻/値の
対は、時刻・値の対T4 、V4 が記憶場所A1 に対する
最新の時刻/値の対であることを含むように更新されな
ければならない。アドレスA1 の時間間隔、0<T≦1
0Kに対する少し前の全ての時刻・値の対はチェックポ
イント更新システム34によってメモリデータアレー3
2から除去される。全ての他の記憶場所に対する時刻/
値の対も同様に更新される。たとえば、記憶場所A
2 も、時刻・値の対T3 、V3 が時間間隔、0<T≦1
0Kに対する記憶場所A2 の最新の時刻/値の対である
ことを含むように更新される。
【0036】チェックポイント更新システム34は、第
2の選択記憶バッファ24が一杯になって、500万シ
ミュレーションサイクルの後で生起する再書込みをしな
ければならなくなるまで、上に説明したような方法によ
りメモリデータアレー32および変更管理リスト30の
更新を続行する。この時、メモリデータアレー32は、
全てのチェックポイントデータが第2の選択記憶バッフ
ァ24に記憶されているというわけではないことを反映
するため、若干異なる方法で更新される必要がある。シ
ミュレーションサイクル100万でシミュレーション中
のネットワークの状態だけが第3の選択記憶バッファ2
6の中に維持されるのであるから、メモリデータアレー
32は、シミュレートされたメモリの各場所への最新の
書込みに対する時刻/値の対だけを維持する必要があ
る。図9の中では、第1の100万シミュレーションサ
イクルの間に、アドレスA1 には時刻T250 で値V250
が最も新しく書込まれ、アドレスA2 には時刻T100
値V100 が最も新しく書込まれたことを示すことによっ
て、このことが図示されている。第1の100万シミュ
レーションサイクルで生起し、この時限中に変更された
各アドレスに対する最終時刻/値の対以外の全ての時刻
/値の対はメモリデータアレー32から除去される。ア
ドレスA1 には時刻T1001で値V1001が書込まれ、アド
レスA2 には時刻T1000で値V1000が書込まれたことに
よって図示されている通り、他の時間間隔の間に生起し
たメモリ書込みに対応するさらに多くの時刻/値の対
は、メモリデータアレー32の中に維持される。追加さ
れる100万マシンサイクルのシミュレーションが行わ
れる都度、このタイプのメモリデータアレー32をさら
に限定することが生起する。
【0037】各図に示されている実施例に強調点をおい
て上記の説明をしてきたが、当業者ならば、添付の請求
の範囲に定めた本発明の精神と範囲から逸脱せずに、開
示した実施例の特質に多数の方法で変更を加えることが
できることを既に認識しているであろう。
【0038】以上の説明に関して更に以下の項を開示す
る。 1.論理ネットワークの動作をシミュレートする論理シ
ミュレータシステムであって、シミュレート中の論理ネ
ットワークに対して各シミュレーション時限の終了時に
発生する識別時刻と関連するシミュレーション信号の値
とを記憶する環状バッファと、前記バッファに結合さ
れ、Nを整数とするNシミュレーション時限毎に前記バ
ッファに記憶される識別時刻と関連するシミュレーショ
ン信号の値とを記憶する第1の選択記憶手段であって、
Mを整数とするM個の識別時刻と関連するシミュレーシ
ョン信号の値とを記憶する前記第1の選択記憶手段と、
それぞれが先行する選択記憶手段に結合され、Pシミュ
レーション時限毎に前記先行する選択記憶手段に記憶さ
れる識別時刻と関連するシミュレートされた信号値とを
記憶する複数の追加選択記憶手段であって、Pは整数で
あり、さらに前記先行する選択記憶手段は、少なくとも
1つの識別時刻とそれに関連するシミュレートされた信
号の値が次の選択記憶手段に記憶されなければ、その内
容を完全に変更しない、複数の前記追加選択記憶手段
と、を含むことを特徴とするシミュレータシステム。
【0039】2.第1項記載のシミュレータシステムで
あって、前記選択記憶手段の何れかに記憶されている識
別時刻とシミュレーション信号の値とを使用して、シミ
ュレーションを前に実行したシミュレーション時刻に巻
戻す手段を含むことを特徴とするシミュレータシステ
ム。
【0040】3.第2項記載のシミュレータシステムで
あって、希望するシミュレーション巻戻し時刻は、前記
識別時刻の全てに特に含まれておらず、前記巻戻し手段
は前記シミュレーションを、識別時刻に最も近く、希望
するシミュレーション再スタート時刻より早い時刻のシ
ミュレーションに巻戻すことができることを特徴とする
シミュレータシステム。
【0041】4.第1項記載のシミュレータシステムで
あって、前記環状バッファはシミュレートされた約20
0時限のデータを維持することを特徴とするシミュレー
タシステム。
【0042】5.第1項記載のシミュレータシステムで
あって、前記第1の選択記憶手段は、シミュレートされ
た約100時限毎に識別時刻と関連するシミュレーショ
ン信号の値を受け取ることを特徴とするシミュレータシ
ステム。
【0043】6.第1項記載のシミュレータシステムで
あって、第1の前記追加選択記憶手段は、シミュレート
された約10,000時限毎に、前記第1の選択記憶手
段から識別時刻とシミュレーション信号の値とを受け取
ることを特徴とするシミュレータシステム。
【0044】7.シミュレートされるネットワークにメ
モリが含まれる場合のディジタルネットワークシミュレ
ータにおいて、ディジタルネットワークのあらゆるシミ
ュレーション過程の間で、各時刻とシミュレートされた
メモリにおけるデータが記憶されたアドレスとを識別す
る情報の時刻/アドレスの対を記憶する変更管理リスト
メモリと、ディジタルネットワークのあらゆるシミュレ
ーション過程の間で、所与の記憶場所にシミュレータに
よって記憶された値と各時刻とを識別する情報の時刻/
値の対を記憶するメモリデータアレーと、第1の先行す
るサンプリング間隔の間に、シミュレータによって書込
まれた各記憶場所の時刻/アドレスの対と時刻/値の対
を選択して残し、他の全てを除去するため、変更管理リ
ストとメモリデータアレーとのデータを定期的にサンプ
リングする第1の更新手段と、第2の先行するサンプリ
ング間隔の間に、シミュレータによって書込まれた各記
憶場所の時刻/アドレスの対と時刻/値の対を選択して
残し、他の全てを除去するため、変更管理リストとメモ
リデータアレーとのデータを定期的にサンプリングする
第2の更新手段と、を含むことを特徴とするディジタル
ネットワークシミュレータ。
【0045】8.第7項記載のディジタルネットワーク
シミュレータであって、前記変更管理リストと前記メモ
リデータアレーに応答して前記シミュレートされたメモ
リの全てのデータを、選択された前にシミュレートされ
た時刻に存在する値に復旧する再スタート手段を、さら
に含むことを特徴とするディジタルネットワークシミュ
レータ。
【0046】9.第7項記載のディジタルネットワーク
シミュレータであって、前記第1の更新手段は、先行す
るNシミュレーションサイクルの間に、シミュレータに
よって書込まれた各記憶場所の最新の時刻/アドレスの
対と最新の時刻/値の対以外の全てを除去するため、変
更管理リストおよびメモリデータアレーのデータをNシ
ミュレーションサイクル毎にサンプリングし、前記第2
の更新手段は、MをNの整数倍の数として、先行するM
シミュレーションサイクルの間にシミュレータによって
書込まれた各記憶場所の最新の時刻/アドレスの対と最
新の時刻/値の対以外の全てを除去するため、変更管理
リストおよびメモリデータアレーのデータを、Mシミュ
レーションサイクル時限毎にサンプリングすることを特
徴とするディジタルネットワークシミュレータ。
【0047】10.第9項記載のディジタルネットワー
クシミュレータであって、Nは約10,000であるこ
とを特徴とするディジタルネットワークシミュレータ。
【0048】11.第9項記載のディジタルネットワー
クシミュレータであって、Mは約1,000,000で
あることを特徴とするディジタルネットワークシミュレ
ータ。
【0049】12.メモリを含みかつ選択された複数の
時刻の内の1つの時刻に再スタートできるディジタルネ
ットワークの動作をシミュレートする論理シミュレータ
システムであって、シミュレーション中のディジタルネ
ットワークのディジタル信号の先導部(leads )とし
て、シミュレートされた複数時限のそれぞれがクローズ
するときに発生する複数のシミュレーション信号の値を
記憶する環状バッファと、前記環状バッファに結合さ
れ、Nを1以上の整数とするNシミュレーション時限毎
に前記バッファに記憶されてい識別時刻とる関連するシ
ミュレーション信号の値とを記憶する第1の選択記憶手
段であって、Mを1以上の整数とするM個の識別時刻と
関連するM個のシミュレーション信号の値とを記憶する
前記第1の選択記憶手段と、それぞれが1つの先行する
選択記憶手段に結合される複数の追加選択記憶手段であ
って、識別時刻と、各識別時刻に付随するシミュレーシ
ョン時限の整数倍の数をPとするPシミュレーション時
限を含むサンプル間隔毎に先行する選択記憶手段からの
付随するシミュレートされた信号の値と、前記先行する
選択記憶手段に記憶された付随するシミュレーション信
号の値と、を記憶する前記複数の追加選択記憶手段と、
シミュレートされたディジタルネットワークの各メモリ
に対して、ディジタルネットワークのあらゆるシミュレ
ーション過程の間で、各時刻とシミュレートされたメモ
リにおけるデータが記憶されたアドレスとを識別する情
報の時刻/アドレスの対を記憶する変更管理リストと、
シミュレートされたディジタルネットワークの各メモリ
に対して、ディジタルネットワークのあらゆるシミュレ
ーション過程の間で、各時刻とシミュレータによって所
与のシミュレートされた記憶場所に記憶された値とを識
別する情報の時刻/値の対を記憶するメモリデータアレ
ーと、データをシミュレータを再スタートするために選
択された再スタート時刻に存在しているシミュレートさ
れた各記憶場所にあるデータを、前記変更管理リストお
よび前記メモリデータアレーから引き出すことができる
再スタート手段であって、前記選択記憶手段の中の再ス
タート用データをシミュレートされたディジタルネット
ワークに適用することができる前記再スタート手段と、
を含むことを特徴とする論理シミュレータシステム。
【0050】13.第12項記載のディジタルネットワ
ークシミュレータであって、先行する選択記憶手段に記
憶された最も古いサンプル間隔の間にシミュレータによ
って書込まれた各記憶場所に対する最新の時刻/アドレ
スの対と時刻/値の対を除く他の全てを除去するため、
前記追加選択記憶手段が更新される都度、変更管理リス
トとメモリデータアレーの中のデータを定期的に更新す
る手段をさらに含むことを特徴とするディジタルネット
ワークシミュレータ。
【0051】14.第12項記載のディジタルネットワ
ークシミュレータであって、先行するMシミュレーショ
ンサイクル期限の間に、シミュレータによって書込まれ
た各記憶場所の最新の時刻/アドレスの対と時刻/値の
対を残し、他の全てを除去するため、Mシミュレーショ
ンサイクル毎に、変更管理リストとメモリデータアレー
の中のデータを定期的に更新する手段と、先行するNシ
ミュレーションサイクル期限の間に、シミュレータによ
って書込まれた各記憶場所に対する最新の時刻/アドレ
スの対と時刻/値の対を残し、他の全てを除去するた
め、Mの整数倍をNとするNシミュレーションサイクル
毎に、変更管理リストとメモリデータアレーの中のデー
タを定期的に更新する手段と、をさらに含むことを特徴
とするディジタルネットワークシミュレータ。
【0052】15.第14項記載のディジタルネットワ
ークシミュレータであって、Nは約1000,000で
あることを特徴とするディジタルネットワークシミュレ
ータ。
【0053】16.第14項記載のディジタルネットワ
ークシミュレータであって、Mは約10,000である
ことを特徴とするディジタルネットワークシミュレー
タ。
【0054】17.ディジタル論理ネットワークシミュ
レータからのデータをチェックポイントに記憶する方法
であって、 a.)各シミュレートされたサイクルがクローズすると
きのシミュレートされた論理ネットワークの状態を表す
データ信号をサンプリングするステップと、 b.)前記サンプリングされたデータ信号を、それぞれ
の場所が異なるシミュレーションサイクルに対する前記
サンプリングされたデータを含んでいる、有限数の場所
を含むバッファに記憶するステップと、 c.)1つのシミュレーションサイクルに対する前記サ
ンプリングされたデータを、Mシミュレーションサイク
ル毎に前記バッファから、各グループにR場所のあるQ
グループに配列された有限数の場所を含む第1の選択記
憶バッファに転送するステップと、 d.)1つのシミュレーションサイクルに対する前記サ
ンプリングされたデータを、Mの整数倍をNとするNシ
ミュレーションサイクル毎に前記第1の選択記憶バッフ
ァから、各グループにT場所のあるSグループに配列さ
れた有限数の場所を含む第2の選択記憶バッファに転送
するステップと、 e.)1つのシミュレーションサイクルに対する前記サ
ンプリングされたデータを、Nの整数倍をPとするPシ
ミュレーションサイクル毎に前記第1の選択記憶バッフ
ァから、有限数の場所を含む第3の選択記憶バッファに
転送するステップと、を含むことを特徴とする方法。
【0055】18.第17項記載の方法であって、 f.)変更されたメモリに付随する変更管理リストの中
のシミュレートされたネットワークの各メモリに対し
て、データがシミュレートされたネットワークによって
データが記憶されるアドレスと時刻を記録するステップ
と、 g.)変更されたメモリに付随するメモリデータアレー
の中のシミュレートされたネットワークの各メモリに対
して、ステップfの中で識別された場所が変更する値と
時刻を記録するステップと、を含むことを特徴とする方
法。
【0056】19.第18項記載の方法であって、 h.)前記第1の選択記憶バッファの前記Qグループの
1グループの中のデータが無効にされる都度、無効にさ
れた前記1グループによって含まれる時刻範囲の中のデ
ータからの各記憶場所に対するデータ情報と選択された
時刻とを維持する各メモリアレーを更新するステップ
と、 i.) 前記第1の選択記憶バッファの前記Qグループ
の1グループの中のデータが無効にされる都度、前記時
刻範囲の中のデータ情報と選択された時刻とを維持する
各変更管理リストを更新するステップと、を含むことを
特徴とする方法。
【0057】20.第19項記載の方法であって、 j.)前記第1の選択記憶バッファの前記Sグループの
1グループの中のデータが無効にされる都度、無効にさ
れた前記1グループによって含まれる時刻範囲の中のデ
ータからの各記憶場所に対するデータ情報と選択された
時刻とを維持する各メモリアレーを更新するステップ
と、 k.)前記第1の選択記憶バッファの前記Sグループの
1グループの中のデータが無効にされる都度、前記時刻
範囲の中のデータ情報と選択された時刻とを維持する各
変更管理リストを更新するステップと、を含むことを特
徴とする方法。
【0058】21.メモリを含むディジタルネットワー
クのシミュレータシステムである。本システムには、各
シミュレーションサイクルがクローズするときに、シミ
ュレートされたレジスタに対するシミュレートされたネ
ットワーク信号および組合わせ論理を記憶する、少なく
とも3つの階層形データ記憶バッファ16、20、2
4、26が含まれている。各バッファ20、24、26
は、チェックポインティングと呼ばれることがある複数
のエントリを備え、このエントリには次の低位の記憶バ
ッファを定期的にサンプリングすることが含まれてい
る。また本システムには、時刻、アドレスおよびメモリ
書込みの値を識別する時刻/アドレスの対と時刻/値の
対とをそれぞれ記憶する変更管理リスト30とメモリデ
ータアレー32も含まれている。これらのデータの対
は、選択されたデータ記憶バッファ24、26が前に書
込まれた場所をより新しいデータで上書きすることを開
始する都度、(チェックポイントのデータが)更新され
る。
【0059】関連出願 本特許出願は、1990年5月29日出願で現在は取り
下げた米国特許出願シリアル番号第530,716号の
継続出願となっている1993年8月26日出願の米国
特許出願シリアル番号第08/112,906号に関連
している。
【図面の簡単な説明】
【図1】本発明を含むシステムのブロック図。
【図2】論理ネットワークの代表的なシミュレーション
中の異なる時刻における変更管理リストの内容を示す
図。
【図3】論理ネットワークの代表的なシミュレーション
中の異なる時刻における変更管理リストの内容を示す
図。
【図4】論理ネットワークの代表的なシミュレーション
中の異なる時刻における変更管理リストの内容を示す
図。
【図5】論理ネットワークの代表的なシミュレーション
中の異なる時刻における変更管理リストの内容を示す
図。
【図6】論理ネットワークの代表的なシミュレーション
中の異なる時刻における変更管理リストの内容を示す
図。
【図7】論理ネットワークの代表的なシミュレーション
中の異なる時刻におけるメモリデータアレーの内容を示
す図。
【図8】論理ネットワークの代表的なシミュレーション
中の異なる時刻におけるメモリデータアレーの内容を示
す図。
【図9】論理ネットワークの代表的なシミュレーション
中の異なる時刻におけるメモリデータアレーの内容を示
す図。
【符号の説明】
10 シミュレータ 12 出力 14、28、36 ライン 16 環状バッファ 18、22、29 キャッシュライン 20 第1の選択記憶バッファ 24 第2の選択記憶バッファ 26 第3の選択記憶バッファ 30 変更管理リスト 32 メモリデータアレー 34 チェックポイント更新システム 38 再実行/巻戻しシステム
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−31968(JP,A) 特開 平3−52037(JP,A) 特開 平2−236741(JP,A) 特開 昭62−216046(JP,A) 米国特許5455929(US,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 672 G06F 17/50 664

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 あらかじめ実行される論理状態で論理シ
    ミュレータを再スタートする際に用いる論理チェックポ
    イントデータを記憶するメモリシステムであって、 複数個の位置を有する環状バッファであって、各バッフ
    ァ位置は識別時刻を記憶しシミュレートされる論理ネッ
    トワークのためのシミュレーション信号値に関連し、各
    シミュレーション時限の最近の終了時に発生した前記シ
    ミュレーション信号値と前記識別時刻が前記環状バッフ
    ァに記憶される前記環状バッファと、 前記環状バッファに結合され、前記環状バッファを満た
    すのに要する時間と等しい時間間隔の間に周期的に、前
    記環状バッファに記憶される前記シミュレーション信号
    値と識別時刻を記憶する第1の選択記憶手段と、 1つの追加選択記憶手段が前記第1選択記憶手段からの
    受信データに定期的に接続され、その他の追加選択記憶
    手段が別の追加選択記憶手段からの受信データに定期的
    に接続される複数の追加選択記憶手段であって、それぞ
    れ前記複数の識別時刻および関連する信号値とを記憶
    し、データを受信する選択記憶手段を満たすために必要
    な時間に等しい各時間間隔においていずれかの選択記憶
    手段から少なくとも1つの識別時刻および関連する信号
    値を周期的に受信する複数の前記追加選択記憶手段と、 前記環状バッファと前記いずれかの選択記憶手段に応
    じ、前記関連する信号値を前記環状バッファあるいは前
    記選択記憶手段に記憶された前記識別時間のうちの1つ
    のために外部シミュレータに接続する手段であって、前
    記信号値による状態で前記シミュレータを選択された識
    別時刻に再スタートすることを可能とする前記手段と、 を含むことを特徴とするシミュレータシステム。
  2. 【請求項2】 ディジタル論理ネットワークシミュレー
    タからのデータをチェックポイントに記憶してシミュレ
    ーションを後で選択されたときに再スタートすることを
    可能とする方法であって、 a.)各シミュレートされたサイクルがクローズすると
    きのシミュレートされた論理ネットワークの状態を表す
    データ信号をサンプリングするステップと、 b.)各シミュレートされたサイクルがクローズしたと
    き、Mを1より大きい整数として、前記サンプリングさ
    れたデータ信号を、M個の場所を含み異なるシミュレー
    ションサイクルに対する前記サンプリングされたデータ
    信号を含む環状バッファに記憶するステップを含み、前
    記環状バッファは最近実行されたM個のサイクルに対し
    てサンプリングされたデータ信号を有しており、 前記方法はさらに、 c.)Nを1よりも大きくMと等しいか小さい整数と
    し、QとRを1よりも大きい整数とし、N回のシミュレ
    ーションサイクル毎に、前記環状バッファの1つの位置
    に対する前記サンプリングされたデータ信号を前記バッ
    ファから、R場所×Qグループに配列され有限数の場所
    を含む第1の選択記憶バッファに転送するステップと、 d.)SとTを1よりも大きい整数とし、N×R回のシ
    ミュレーションサイクル毎に、前記第1の選択記憶バッ
    ファ内に記憶されたシミュレーションサイクルのQ番目
    のグループ内の1つの選択されたシミュレーションサイ
    クルに対する前記サンプリングされたデータ信号を、T
    場所×Sグループに配列され有限数の場所を含む第2の
    選択記憶バッファに転送するステップと、 e.)1つのシミュレーションサイクルに対する前記サ
    ンプリングされたデータ信号を、N×R×T回のシミュ
    レーションサイクル毎に前記第1の選択記憶バッファの
    S番目のグループから、有限数の場所を含む第3の選択
    記憶バッファに転送するステップと、 f.)シミュレーションを後で選択されたときに再スタ
    ートすることを可能とするために、あらかじめシミュレ
    ートされたときにシミュレートされるネットワークの状
    態に対応する前記環状バッファあるいは上記いずれかの
    選択記憶バッファからシミュレータへ前記サンプリング
    された前記データ信号を転送するステップ、 を含むことを特徴とする方法。
JP24958794A 1993-10-14 1994-10-14 階層形チェックポイントを使用する論理シミュレータ Expired - Lifetime JP3290548B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US136520 1993-10-14
US08/136,520 US5455929A (en) 1993-10-14 1993-10-14 Logic simulator employing hierarchical checkpointing

Publications (2)

Publication Number Publication Date
JPH07249063A JPH07249063A (ja) 1995-09-26
JP3290548B2 true JP3290548B2 (ja) 2002-06-10

Family

ID=22473193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24958794A Expired - Lifetime JP3290548B2 (ja) 1993-10-14 1994-10-14 階層形チェックポイントを使用する論理シミュレータ

Country Status (2)

Country Link
US (1) US5455929A (ja)
JP (1) JP3290548B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050903B1 (en) * 1990-05-29 2011-11-01 Texas Instruments Incorporated Apparatus and method for checkpointing simulation data in a simulator
US5604889A (en) * 1994-06-15 1997-02-18 Texas Instruments Incorporated Memory management system for checkpointed logic simulator with increased locality of data
US5774380A (en) * 1996-03-08 1998-06-30 International Business Machines Corporation State capture/reuse for verilog simulation of high gate count ASIC
US5883629A (en) * 1996-06-28 1999-03-16 International Business Machines Corporation Recursive and anisotropic method and article of manufacture for generating a balanced computer representation of an object
US5857093A (en) * 1996-09-20 1999-01-05 Allen-Bradley Company, Llc Cross-compiled simulation timing backannotation
US5963734A (en) * 1997-04-03 1999-10-05 Abb Power T&D Company Inc. Method and apparatus for configuring an intelligent electronic device for use in supervisory control and data acquisition system verification
DE19721296C1 (de) * 1997-05-21 1998-09-24 Siemens Nixdorf Inf Syst Verfahren und Datenverarbeitungsanlage zum Testen eines Modells einer Schaltungsanordnung
DE59810778D1 (de) * 1997-09-18 2004-03-25 Infineon Technologies Ag Anordnung mit einem Umlaufspeicher und mit eine Einrichtung, welche ein auf den Umlaufspeicher zugreifendes Programm ausführt
US6061511A (en) * 1998-06-12 2000-05-09 Ikos Systems, Inc. Reconstruction engine for a hardware circuit emulator
US6332200B1 (en) 1998-10-29 2001-12-18 International Business Machines Corporation Capturing and identifying a complete and consistent set of checkpoint files
US6577992B1 (en) 1999-05-07 2003-06-10 Nassda Corporation Transistor level circuit simulator using hierarchical data
US7440884B2 (en) * 2003-01-23 2008-10-21 Quickturn Design Systems, Inc. Memory rewind and reconstruction for hardware emulator
DE102004041216A1 (de) * 2004-07-14 2006-02-02 Robert Bosch Gmbh Verfahren zur Kopplung eines Steuergeräts mit einem Programm zur Modellierung einer Wirkkettendiagnose
US8838615B2 (en) * 2006-02-02 2014-09-16 Oracle International Corporation Computer implemented method for automatically managing stored checkpoint data
US7555424B2 (en) 2006-03-16 2009-06-30 Quickturn Design Systems, Inc. Method and apparatus for rewinding emulated memory circuits
JP5595633B2 (ja) * 2007-02-26 2014-09-24 スパンション エルエルシー シミュレーション方法及びシミュレーション装置
US10656977B1 (en) 2018-03-01 2020-05-19 Techsolve, Inc. Automatic deployment of manufacturing adapters
CN109345494B (zh) * 2018-09-11 2020-11-24 中国科学院长春光学精密机械与物理研究所 基于潜在低秩表示和结构张量的图像融合方法及装置
US11188440B2 (en) * 2018-09-27 2021-11-30 International Business Machines Corporation Monitoring task output within a system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814971A (en) * 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US4862347A (en) * 1986-04-22 1989-08-29 International Business Machine Corporation System for simulating memory arrays in a logic simulation machine
JP2699377B2 (ja) * 1987-02-25 1998-01-19 日本電気株式会社 ハードウエア論理シミユレータ
US5142488A (en) * 1989-08-31 1992-08-25 General Electric Company Serial memories operated for re-ordering samples

Also Published As

Publication number Publication date
US5455929A (en) 1995-10-03
JPH07249063A (ja) 1995-09-26

Similar Documents

Publication Publication Date Title
JP3290548B2 (ja) 階層形チェックポイントを使用する論理シミュレータ
US6839819B2 (en) Data management appliance
US6898688B2 (en) Data management appliance
JP4142438B2 (ja) 1次およびバックアップシステムの間のデータのリストア
US7036043B2 (en) Data management with virtual recovery mapping and backward moves
US5043871A (en) Method and apparatus for database update/recovery
JP5142995B2 (ja) メモリページ管理
US5604889A (en) Memory management system for checkpointed logic simulator with increased locality of data
KR100238925B1 (ko) 비휘발성 메모리를 갖는 복원 가능 디스크 제어 시스템
US20030131253A1 (en) Data management appliance
CN108694231A (zh) 使用nvm并通过多个日志记录缓冲器来预写式日志记录
US6192376B1 (en) Method and apparatus for shadowing a hierarchical file system index structure to enable error recovery
US7555424B2 (en) Method and apparatus for rewinding emulated memory circuits
US5396620A (en) Method for writing specific values last into data storage groups containing redundancy
US20050154786A1 (en) Ordering updates in remote copying of data
US6662307B1 (en) Disk recovery/reconstruction
US20070079109A1 (en) Simulation apparatus and simulation method
JP3170472B2 (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
JPH06149485A (ja) データ完結性保証処理方法
US8050903B1 (en) Apparatus and method for checkpointing simulation data in a simulator
JP3491379B2 (ja) 情報処理装置及びトレース情報格納方法
US5949990A (en) Method of efficiently modeling tri-state gates
JPH0713805A (ja) 並列計算機及びプログラム実行再現方法
JPH0652049A (ja) メモリ内容回復装置
JPS62297948A (ja) デ−タベ−スの障害回復方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080322

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090322

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100322

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100322

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110322

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120322

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130322

Year of fee payment: 11