JPH0668192A - 論理シミュレータおよび論理シミュレーション方法 - Google Patents

論理シミュレータおよび論理シミュレーション方法

Info

Publication number
JPH0668192A
JPH0668192A JP4219325A JP21932592A JPH0668192A JP H0668192 A JPH0668192 A JP H0668192A JP 4219325 A JP4219325 A JP 4219325A JP 21932592 A JP21932592 A JP 21932592A JP H0668192 A JPH0668192 A JP H0668192A
Authority
JP
Japan
Prior art keywords
time
value
event
flag
signal
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.)
Withdrawn
Application number
JP4219325A
Other languages
English (en)
Inventor
Osaki Kamata
修輝 鎌田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4219325A priority Critical patent/JPH0668192A/ja
Publication of JPH0668192A publication Critical patent/JPH0668192A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】 シミュレーション結果をエラー発生時刻の一
つ前の時刻の状態まで短時間で戻し、エラー解析作業に
要する時間の大幅短縮を図ることを目的とする。 【構成】 イベント発生信号に対応する値更新時刻を値
テーブルから読み出してこれが現時刻か過去時刻かを判
定し、現時刻ならば該信号に対応する現時刻の値をイベ
ント発生信号の値で更新し、過去時刻であれば該信号に
対応するフラグを変化有りの状態にセットすると共に、
1ユーザ時刻前の値を現時刻の値で、現時刻の値をイベ
ント発生信号の値で、値更新時刻を現時刻でそれぞれ更
新する値テーブル更新処理部106と、エラー発生等に
よりシミュレーションが中断した際、値テーブルに記憶
された各信号のフラグと値更新時刻を読み出し、フラグ
が変化有りの状態でかつ値更新時刻が現時刻であれば、
該フラグを変化無しの状態にリセットすると共に1ユー
ザ時刻前の値で現時刻を更新し、その他の場合はフラグ
を変化無しの状態にセットする値テーブル復帰処理部1
07とを有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えばASICの論理
設計などで用いられる論理シミュレータに係り、特にイ
ベント・ドリブン方式で論理モデルのシミュレーション
を行う論理シミュレータおよび論理シミュレーション方
法に関する。
【0002】
【従来の技術】従来から、大規模な論理装置のシミュレ
ーションを行うものとしてイベント・ドリブン方式の論
理シミュレータが知られている。このイベント・ドリブ
ン方式とは、シミュレーション対象回路の入力端子、論
理ゲート、フリップフロップ、レジスタ、インバータな
どの機能素子あるいは複数の機能素子の組み合わせから
なる機能ブロックの入出力端子間を接続する配線上の信
号値の変化をイベントとしてとらえ、この変化した信号
(イベント発生信号)を接続先の機能素子あるいは機能
ブロックに伝搬することによってシミュレーションを進
めて行く方式である。
【0003】ところで、このような論理シミュレータに
おいて、発振や信号衝突などのエラーが発生した場合、
エラー発生直前のシミュレーション結果(値テーブルの
各信号の値)を解析してエラー原因を突き止める必要が
ある。しかしながら、この場合、シミュレーションを最
初からやり直してシミュレーション結果をエラーが発生
する直前の状態まで戻さなければならない。したがっ
て、検証対象論理回路の規模が拡大するにつれ、さらに
はエラーがシミュレーション期間の後の方で発生するほ
ど、エラー解析に長い時間を要するようになり、シミュ
レーション処理効率が低下すると言う問題が生じてい
た。
【0004】
【発明が解決しようとする課題】本発明はこのような課
題を解決するためのもので、シミュレーション結果をエ
ラー発生時刻の一つ前の時刻の状態までごく短時間で戻
すことができ、エラー解析作業に要する時間の大幅短縮
を図ることのできる論理シミュレータおよび論理シミュ
レーション方法の提供を目的としている。
【0005】
【課題を解決するための手段】また本発明の論理シミュ
レータは上記した目的を達成するために、イベント・ド
リブン方式で論理モデルのシミュレーションを行う論理
シミュレータにおいて、前記論理モデル中の各信号の、
現時刻の値、1ユーザ時刻前の値、この1ユーザ時刻前
の値の変化の有無を示すフラグ、および前記1ユーザ時
刻前の値が更新された最新の時刻を示す値更新時刻をそ
れぞれ対応付けて記憶する記憶手段と、イベントの発生
を検出する手段と、イベントが発生したとき、このイベ
ント発生信号に対応する前記値更新時刻を前記記憶手段
から読み出す手段と、前記記憶手段から読み出された値
更新時刻が現時刻か過去時刻かを判定する手段と、読み
出された値更新時刻が現時刻である場合、前記イベント
発生信号に対応する現時刻の値を前記イベント発生信号
の値で更新する手段と、読み出された値更新時刻が過去
時刻である場合、前記イベント発生信号に対応するフラ
グを変化有りの状態にセットすると共に、前記1ユーザ
時刻前の値を前記現時刻の値で、前記現時刻の値を前記
イベント発生信号の値で、前記値更新時刻を現時刻でそ
れぞれ更新する手段と、シミュレーションが中断した
際、前記記憶手段に記憶された各信号の前記フラグおよ
び前記値更新時刻をそれぞれ読み出す手段と、読み出さ
れたフラグが変化有りの状態を示しかつ値更新時刻が現
時刻であれば、該フラグを変化無しの状態にリセットす
ると共に前記1ユーザ時刻前の値で前記現時刻を更新
し、その他の場合は前記フラグを変化無しの状態にセッ
トする手段とを有している。
【0006】また本発明の論理シミュレーション方法は
上記した目的を達成するために、論理モデル中の各信号
の現時刻の値、1ユーザ時刻前の値、この1ユーザ時刻
前の値の変化の有無を示すフラグ、および前記1ユーザ
時刻前の値が更新された最新の時刻を示す値更新時刻を
それぞれ対応付けて記憶する記憶手段を用いて、イベン
ト・ドリブン方式で論理モデルのシミュレーションを行
う論理シミュレーション方法であって、イベントの発生
を検出する工程と、イベントが発生したとき、このイベ
ント発生信号に対応する前記値更新時刻を前記記憶手段
から読み出す工程と、前記記憶手段から読み出された値
更新時刻が現時刻か過去時刻かを判定する工程と、読み
出された値更新時刻が現時刻である場合、前記イベント
発生信号に対応する現時刻の値を前記イベント発生信号
の値で更新する工程と、読み出された値更新時刻が過去
時刻である場合、前記イベント発生信号に対応するフラ
グを変化有りの状態にセットすると共に、前記1ユーザ
時刻前の値を前記現時刻の値で、前記現時刻の値を前記
イベント発生信号の値で、前記値更新時刻を現時刻でそ
れぞれ更新する工程と、シミュレーションが中断した
際、前記記憶手段に記憶された各信号の前記フラグおよ
び前記値更新時刻をそれぞれ読み出す工程と、読み出さ
れたフラグが変化有りの状態を示しかつ値更新時刻が現
時刻であれば、該フラグを変化無しの状態にリセットす
ると共に前記1ユーザ時刻前の値で前記現時刻を更新
し、その他の場合は前記フラグを変化無しの状態にセッ
トする工程とを有している。
【0007】
【作用】本発明では、イベントが発生したとき、このイ
ベント発生信号に対応する値更新時刻を記憶手段から読
み出し、読み出された値更新時刻が現時刻か過去時刻か
を判定する。この結果、読み出された値更新時刻が現時
刻である場合は、イベント発生信号に対応する現時刻の
値をイベント発生信号の値で更新する。また、読み出さ
れた値更新時刻が過去時刻である場合は、イベント発生
信号に対応するフラグを変化有りの状態にセットすると
共に、1ユーザ時刻前の値を現時刻の値で、現時刻の値
をイベント発生信号の値で、値更新時刻を現時刻でそれ
ぞれ更新する。 この後、エラー発生等によりシミュレ
ーションが中断すると、記憶手段に記憶された各信号の
フラグおよび値更新時刻をそれぞれ読み出す。そして読
み出されたフラグが変化有りの状態を示しかつ値更新時
刻が現時刻であれば、該フラグを変化無しの状態にリセ
ットすると共に、1ユーザ時刻前の値で現時刻を更新す
る。また、その他の場合はフラグを変化無しの状態にセ
ットする。
【0008】したがって、この発明によれば、記憶手段
に記憶された各信号の値を、ごく短時間で1ユーザ時刻
前の値に戻すことができ、エラー発生から直ちにエラー
解析作業に移ることができる。またエラー発生の直前の
時刻からシミュレーションを再開することができる。
【0009】
【実施例】以下、本発明の実施例を図面を参照しなから
説明する。
【0010】図1は本発明に係る一実施例の論理シミュ
レーションシステムの構成を示すブロック図である。同
図に示すように、このシステムは、ホストコンピュータ
Aと、ホストコンピュータAより転送された論理モデル
データ、テストデータ、および各種シミュレーション実
行コマンド等に基づいて論理モデルのシミュレーション
を実行する論理シミュレータBとからなっている。
【0011】図2は論理シミュレータBの構成を示すブ
ロック図である。
【0012】同図において、101はこの論理シミュレ
ータBの全体的な制御を行うCPUであり、以下に述べ
る各構成部の間におけるデータの入出力や制御を行う。
102はキーボード等の入力装置であり、例えばシミュ
レーションの実行に必要な各種コマンドやテストデータ
の入力等に供される。103はシミュレーションの実行
に必要な論理モデルに関する各種データを記憶する記憶
装置である。すなわちこの記憶装置103には、論理モ
デルデータ、論理モデル中の各信号の接続情報、および
シミュレーション実行に伴い変化する論理モデル中の各
信号の値がそれぞれテーブル形式で記憶される。104
は記憶装置103に記憶された論理モデルに関する情報
を用いて、検証対象論理回路にテストデータを入力した
場合の演算処理を実行するシミュレータ演算処理部であ
る。105はシミュレーション実行中に論理モデル中の
ある信号の値に変化が生じた場合をイベントとして検出
するイベント検出部である。106はイベント検出部1
05によりイベントが検出された場合に、記憶装置10
3内の値テーブルの内容を更新する値テーブル更新処理
部である。107はエラー発生等によってシミュレーシ
ョンを中断した際、値テーブルの内容を1ユーザ時刻前
の状態に戻す処理を行う値テーブル復帰処理部である。
なお、ここで言うユーザ時刻とはひとつのデータデータ
の入力に対するシミュレーション実行期間を指す。そし
て108はCRT等の表示装置であり、例えば、シミュ
レーション結果の表示等に供される。
【0013】図3は上述した記憶装置103内の値テー
ブルの構造を示す図である。同図に示すように、この値
テーブルには、論理モデル中の各信号の現時刻の値X
B、1ユーザ時刻前の値XA、この1ユーザ時刻前の値
XAのシミュレーション期間中の変化の有無を示すフラ
グXF、1ユーザ時刻前の値XAが更新された最新の時
刻を示す値更新時刻XCがそれぞれ対応付けられて記憶
される。
【0014】次にこの論理シミュレータにおいて代表さ
れる動作を説明する。
【0015】図4はシミュレーション実行時の処理の流
れを示すフローチャートである。
【0016】まずシミュレータ演算処理部104は、ユ
ーザ時刻の最初に、時刻データを含むテストデータを入
力データとして取り出し(ステップ401、402)、
このテストデータを検証対象論理回路の入力端子と接続
された機能素子あるいは機能ブロックに入力した場合の
演算処理を実行する(ステップ403)。
【0017】演算結果を得ると、イベント検出部105
はその演算結果である機能素子あるいは機能ブロックの
出力信号の値と、値テーブルに登録された該当する信号
の現時刻の値XBとを比較してイベント発生の評価を行
う(ステップ404)。すなわち演算結果である信号値
と値テーブルの現時刻の信号XBの値とが一致するか否
かを判定する。
【0018】この結果、演算結果であるすべての信号値
についてイベントの発生が検出されなければ、シミュレ
ータ演算処理部104は次のテストデータを入力データ
として取り出して同様の処理を行う。
【0019】またイベント評価の結果、イベントの発生
が検出された場合、値テーブル更新処理部106は、値
テーブルから当該イベント発生信号に対応する値更新時
刻XCを読み出し(ステップ405)、この値更新時刻
XCが現時刻であるか過去時刻であるかを判定する(ス
テップ406)。なお、現在のユーザ時刻はテストデー
タに付加された時刻データにより判断可能である。
【0020】この結果、値更新時刻XCが現時刻と等し
い場合は、値テーブル更新処理部106は当該イベント
発生信号に対応する現時刻の値XBをイベント発生信号
の値により更新する(ステップ407)。
【0021】また値更新時刻XCが現時刻と等しくない
つまり過去時刻であれば、値テーブル更新処理部106
は当該イベント発生信号に対応するフラグXFを変化有
りの状態を示す“1”の値にセットすると共に、1ユー
ザ時刻前の値XAを現時刻の値XBで、現時刻の値XB
をイベント発生信号の値で、値更新時刻XCを現時刻で
それぞれ更新する(ステップ408)。
【0022】以上の値テーブルの更新処理を行った後、
イベント発生信号が次に伝搬される機能素子あるいは機
能ブロックを特定するためのイベントデータ(例えばフ
ァシリティ表へのポインタ等)をシミュレーション実行
のための入力データとして図示しないイベントメモリへ
登録する(ステップ409)。
【0023】この後、シミュレータ演算処理部104
は、イベントメモリからイベントデータを取り出し(ス
テップ402)、前記と同様に、このイベントデータを
基にイベント発生信号が次に伝搬される機能素子あるい
は機能ブロックを特定してその演算処理を実行する(ス
テップ403)。そしてイベント発生の有無を判定し
(ステップ404)、イベントが発生すれば値テーブル
に対する更新処理を同様に行う(ステップ407、40
8)。
【0024】イベントの伝搬が無くなると、次のテスト
データについて同様にシミュレーションを実行し、すべ
てのテストデータについて以上の処理を繰り返すことに
よってシミュレーションは終了となる(ステップ40
1、410)。
【0025】以上のシミュレーション実行中に発振や信
号衝突等によるエラーが発生してシミュレーションが中
断した場合、オペレータは入力装置102を通じて値テ
ーブル復帰処理部107に起動をかけるためのコマンド
を入力する。
【0026】すると値テーブル復帰処理部107は次の
ようにして値テーブルの内容を1ユーザ時刻前の状態に
復帰する処理を行う。図5はこの処理の流れを示すフロ
ーチャートである。
【0027】まず値テーブル復帰処理部107は、値テ
ーブルから各信号のフラグXFと値更新時刻XCを順次
読み出し(ステップ501)、これらの内容をチェック
する(ステップ502)。
【0028】この結果、フラグXFが“1”で、値更新
時刻XCが現時刻と等しければ、値テーブルに記憶され
た該当する信号の現時刻の値XBを1ユーザ時刻前の値
XAで更新すると共に、フラグXFを“0”にリセット
する(ステップ503)。
【0029】またその他の場合、例えばフラグXFが
“0”の場合、若しくは、フラグXFが“1”の場合で
も値更新時刻XCが過去時刻であれば、現時刻の値XB
はそのままにしてフラグXFを“0”にセットする(ス
テップ504)。
【0030】こうして値テーブルに登録されたすべての
信号について以上の処理を終えたところで(ステップ5
05)、値テーブル復帰処理部107による処理は終了
となる(ステップ506)。
【0031】これにより値テーブルの内容はすべて1ユ
ーザ時刻前の状態に復帰されたことになる。
【0032】かくして本実施例によれば、シミュレーシ
ョンエラーが発生した場合に、値テーブル上の各信号の
現時刻の値をすべてエラー発生直前の状態にごく短時間
で戻すことができる。これによりエラー発生から直ちに
エラー解析作業に移行することができ、しかもその時刻
からシミュレーションを再開することができる。
【0033】
【発明の効果】以上説明したように本発明の論理シミュ
レータおよび論理シミュレーション方法によれば、シミ
ュレーションエラーが発生した際に、シミュレーション
結果をエラー発生時刻の一つ前の時刻の状態までごく短
時間で戻すことができ、エラー発生からスピーディにエ
ラー解析作業に移行することができる。またエラー発生
直前の状態からシミュレーションを再開させることがで
きる。
【図面の簡単な説明】
【図1】本発明に係る一実施例の論理シミュレーション
システムの構成を示すブロック図である。
【図2】図1における論理シミュレータの構成を示すブ
ロック図である。
【図3】図2における記憶装置内の値テーブルの構造を
示す図である。
【図4】図2の論理シミュレータにおけるシミュレーシ
ョン実行時の処理の流れを示すフローチャートである。
【図5】図2の論理シミュレータにおいて値テーブルの
内容を1ユーザ時刻前の状態に復帰する処理の流れを示
すフローチャートである。
【符号の説明】
101…CPU、102…入力装置、103…記憶装
置、104…シミュレータ演算処理部、105…イベン
ト検出部、106…値テーブル更新処理部、107…値
テーブル復帰処理部、108…表示装置。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 イベント・ドリブン方式で論理モデルの
    シミュレーションを行う論理シミュレータにおいて、 前記論理モデル中の各信号の、現時刻の値、1ユーザ時
    刻前の値、この1ユーザ時刻前の値の変化の有無を示す
    フラグ、および前記1ユーザ時刻前の値が更新された最
    新の時刻を示す値更新時刻をそれぞれ対応付けて記憶す
    る記憶手段と、 イベントの発生を検出する手段と、 イベントが発生したとき、このイベント発生信号に対応
    する前記値更新時刻を前記記憶手段から読み出す手段
    と、 前記記憶手段から読み出された値更新時刻が現時刻か過
    去時刻かを判定する手段と、 読み出された値更新時刻が現時刻である場合、前記イベ
    ント発生信号に対応する現時刻の値を前記イベント発生
    信号の値で更新する手段と、 読み出された値更新時刻が過去時刻である場合、前記イ
    ベント発生信号に対応するフラグを変化有りの状態にセ
    ットすると共に、前記1ユーザ時刻前の値を前記現時刻
    の値で、前記現時刻の値を前記イベント発生信号の値
    で、前記値更新時刻を現時刻でそれぞれ更新する手段
    と、 シミュレーションが中断した際、前記記憶手段に記憶さ
    れた各信号の前記フラグおよび前記値更新時刻をそれぞ
    れ読み出す手段と、 読み出されたフラグが変化有りの状態を示しかつ値更新
    時刻が現時刻であれば、該フラグを変化無しの状態にリ
    セットすると共に前記1ユーザ時刻前の値で前記現時刻
    を更新し、その他の場合は前記フラグを変化無しの状態
    にセットする手段とを有することを特徴とする論理シミ
    ュレータ。
  2. 【請求項2】 論理モデル中の各信号の現時刻の値、1
    ユーザ時刻前の値、この1ユーザ時刻前の値の変化の有
    無を示すフラグ、および前記1ユーザ時刻前の値が更新
    された最新の時刻を示す値更新時刻をそれぞれ対応付け
    て記憶する記憶手段を用いて、イベント・ドリブン方式
    で論理モデルのシミュレーションを行う論理シミュレー
    ション方法であって、 イベントの発生を検出する工程と、 イベントが発生したとき、このイベント発生信号に対応
    する前記値更新時刻を前記記憶手段から読み出す工程
    と、 前記記憶手段から読み出された値更新時刻が現時刻か過
    去時刻かを判定する工程と、 読み出された値更新時刻が現時刻である場合、前記イベ
    ント発生信号に対応する現時刻の値を前記イベント発生
    信号の値で更新する工程と、 読み出された値更新時刻が過去時刻である場合、前記イ
    ベント発生信号に対応するフラグを変化有りの状態にセ
    ットすると共に、前記1ユーザ時刻前の値を前記現時刻
    の値で、前記現時刻の値を前記イベント発生信号の値
    で、前記値更新時刻を現時刻でそれぞれ更新する工程
    と、 シミュレーションが中断した際、前記記憶手段に記憶さ
    れた各信号の前記フラグおよび前記値更新時刻をそれぞ
    れ読み出す工程と、 読み出されたフラグが変化有りの状態を示しかつ値更新
    時刻が現時刻であれば、該フラグを変化無しの状態にリ
    セットすると共に前記1ユーザ時刻前の値で前記現時刻
    を更新し、その他の場合は前記フラグを変化無しの状態
    にセットする工程とを有することを特徴とする論理シミ
    ュレーション方法。
JP4219325A 1992-08-18 1992-08-18 論理シミュレータおよび論理シミュレーション方法 Withdrawn JPH0668192A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4219325A JPH0668192A (ja) 1992-08-18 1992-08-18 論理シミュレータおよび論理シミュレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4219325A JPH0668192A (ja) 1992-08-18 1992-08-18 論理シミュレータおよび論理シミュレーション方法

Publications (1)

Publication Number Publication Date
JPH0668192A true JPH0668192A (ja) 1994-03-11

Family

ID=16733700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4219325A Withdrawn JPH0668192A (ja) 1992-08-18 1992-08-18 論理シミュレータおよび論理シミュレーション方法

Country Status (1)

Country Link
JP (1) JPH0668192A (ja)

Similar Documents

Publication Publication Date Title
JPH0561931A (ja) シミユレーシヨン装置
JPH0668192A (ja) 論理シミュレータおよび論理シミュレーション方法
JPH0577143A (ja) 自動化ラインの故障診断装置
JP3028589B2 (ja) 論理回路検証装置のエラー検出制御方法
JPS59128652A (ja) デイスプレイ装置を用いたプログラム検査方式
JP3114909B2 (ja) プログラマブルコントローラの演算エラー処理方法
JP2795332B2 (ja) ループ処理誤り検出装置
US11241962B2 (en) Evaluation apparatus for display arbitration control and generation apparatus for rule definition file
JPS59117660A (ja) シミユレ−シヨン状態復元処理方式
JP2606658B2 (ja) 論理シミュレータおよび制御方法
JPH04311269A (ja) シミュレーション方式
JP2001222565A (ja) ハードウエア記述の検証システム及びその検証方法
JPS5870361A (ja) 入力制御方式
JPH07271287A (ja) プラント模擬装置及びその初期状態を設定する方法
JP2744461B2 (ja) 回路設計システム
JPS6111855A (ja) デ−タ処理装置の機能診断方式
JPH05303606A (ja) 論理シミュレータ
JPH029370B2 (ja)
JPH05114005A (ja) 被疑回路検出方式
JPH04317112A (ja) マン・マシン・インターフェースのエラーメッセージ処理方法
JPH0243682A (ja) 回路デバッグ方式
JPH03116354A (ja) オンラインシステム動作環境自動作成装置
JPH0395676A (ja) シミュレーション結果検証支援装置
JPS6231444A (ja) 擬似障害発生方式
JPS61235955A (ja) プログラムのデバツグ方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991102