JPH10177590A - 論理回路モデルのデバッグ装置およびデバッグ方法 - Google Patents
論理回路モデルのデバッグ装置およびデバッグ方法Info
- Publication number
- JPH10177590A JPH10177590A JP33854696A JP33854696A JPH10177590A JP H10177590 A JPH10177590 A JP H10177590A JP 33854696 A JP33854696 A JP 33854696A JP 33854696 A JP33854696 A JP 33854696A JP H10177590 A JPH10177590 A JP H10177590A
- Authority
- JP
- Japan
- Prior art keywords
- logic
- simulator
- circuit model
- logic circuit
- execution
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 28
- 230000003111 delayed effect Effects 0.000 claims abstract description 6
- 239000012536 storage buffer Substances 0.000 claims description 19
- 239000000872 buffer Substances 0.000 claims description 17
- 238000013461 design Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 4
- 230000007257 malfunction Effects 0.000 claims 1
- 238000004088 simulation Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 9
- 230000007547 defect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】
【課題】チェックポイントなどの設定なしに論理回路モ
デルが不具合を発生させた時点の直前の状態を容易に復
元することのできるデバッグ装置を提供する。 【解決手段】シミュレータ管理装置11は、論理シミュ
レータ(b)12の動作が論理シミュレータ(a)12
の動作よりも1動作遅れるように2つの論理シミュレー
タ12を並列に実行制御し、論理シミュレータ(a)に
よってシミュレートされる論理回路モデル14の中の観
測対象となるオブジェクトの値と期待値ファイル15に
格納された期待値とが一致するかどうかを監視する。そ
して、不一致が起こったときに、2つの論理シミュレー
タ12の動作を停止させることによって、論理シミュレ
ータ(b)12に論理回路モデル14が不具合を発生さ
せた時点の直前の状態を保持させる。
デルが不具合を発生させた時点の直前の状態を容易に復
元することのできるデバッグ装置を提供する。 【解決手段】シミュレータ管理装置11は、論理シミュ
レータ(b)12の動作が論理シミュレータ(a)12
の動作よりも1動作遅れるように2つの論理シミュレー
タ12を並列に実行制御し、論理シミュレータ(a)に
よってシミュレートされる論理回路モデル14の中の観
測対象となるオブジェクトの値と期待値ファイル15に
格納された期待値とが一致するかどうかを監視する。そ
して、不一致が起こったときに、2つの論理シミュレー
タ12の動作を停止させることによって、論理シミュレ
ータ(b)12に論理回路モデル14が不具合を発生さ
せた時点の直前の状態を保持させる。
Description
【0001】
【発明の属する技術分野】この発明は、回路設計の検証
に用いられる論理回路モデルのデバッグに適用して好適
なデバッグ装置およびデバッグ方法に係り、特に論理回
路モデルが不具合を発生させる直前の状態を容易に復元
することのできるデバッグ装置およびデバッグ方法に関
する。
に用いられる論理回路モデルのデバッグに適用して好適
なデバッグ装置およびデバッグ方法に係り、特に論理回
路モデルが不具合を発生させる直前の状態を容易に復元
することのできるデバッグ装置およびデバッグ方法に関
する。
【0002】
【従来の技術】回路設計の検証は、以前は試作機を作成
して行なわれていたが、時間的、経済的および労力的ロ
スをなくすための論理シミュレータが考案され実用化さ
れてからは、この論理シミュレータが回路設計の検証に
広く使用されている。この論理シミュレータは、回路モ
デルをハードウェア記述言語またはスケマティックによ
って表現し、コンピュータ上でこの回路モデルの論理
(動作)を模擬実行するものである。
して行なわれていたが、時間的、経済的および労力的ロ
スをなくすための論理シミュレータが考案され実用化さ
れてからは、この論理シミュレータが回路設計の検証に
広く使用されている。この論理シミュレータは、回路モ
デルをハードウェア記述言語またはスケマティックによ
って表現し、コンピュータ上でこの回路モデルの論理
(動作)を模擬実行するものである。
【0003】回路設計者は、回路モデルにバグ(不具
合)がないかを様々な入力データとその実行結果とから
検証する。一般的には、「回路モデルの作成/修正」、
「シミュレーションの実行」および「不具合箇所の検
出」といった作業をバグがなくなるまで繰り返し行な
う。
合)がないかを様々な入力データとその実行結果とから
検証する。一般的には、「回路モデルの作成/修正」、
「シミュレーションの実行」および「不具合箇所の検
出」といった作業をバグがなくなるまで繰り返し行な
う。
【0004】ここで、それぞれの作業について説明す
る。 (1)回路モデルの作成/修正 このステップでは、回路モデルの表現方法であるハード
ウェア記述言語またはスケマティックのそれぞれに応じ
た編集プログラムを用いて行なう。初期モデルを作成す
る際、または不具合箇所を特定した後に記述またはスケ
マティックを修正する際にこのステップに入る。
る。 (1)回路モデルの作成/修正 このステップでは、回路モデルの表現方法であるハード
ウェア記述言語またはスケマティックのそれぞれに応じ
た編集プログラムを用いて行なう。初期モデルを作成す
る際、または不具合箇所を特定した後に記述またはスケ
マティックを修正する際にこのステップに入る。
【0005】(2)シミュレーションの実行 このステップでは、回路モデルの構造と動作とが正しい
かをチェックするための情報を得るためにシミュレーシ
ョンを実行する。
かをチェックするための情報を得るためにシミュレーシ
ョンを実行する。
【0006】情報を得るための論理シミュレータの一機
能に、指定したオブジェクトの値を監視して表示するト
レースがある。シミュレーションでは、回路モデルに存
在するいくつかのオブジェクトをトレース指定し、その
値が正しいかどうかをチェックするための情報を取得す
る。トレースするオブジェクトが多いとシミュレーショ
ン時間が長くなり、かつ、そのトレース結果を格納する
ファイルサイズが大きくなるので、通常は回路モデル内
にあるすべてのオブジェクトをトレースすることはな
く、いくつかのオブジェクトを選択して実行する。
能に、指定したオブジェクトの値を監視して表示するト
レースがある。シミュレーションでは、回路モデルに存
在するいくつかのオブジェクトをトレース指定し、その
値が正しいかどうかをチェックするための情報を取得す
る。トレースするオブジェクトが多いとシミュレーショ
ン時間が長くなり、かつ、そのトレース結果を格納する
ファイルサイズが大きくなるので、通常は回路モデル内
にあるすべてのオブジェクトをトレースすることはな
く、いくつかのオブジェクトを選択して実行する。
【0007】(3)不具合箇所の検出 このステップでは、論理シミュレータのトレース機能な
どによって得た回路モデル内のオブジェクトの値の情報
で、モデルの構造と動作とが正しいかどうかをチェック
する。
どによって得た回路モデル内のオブジェクトの値の情報
で、モデルの構造と動作とが正しいかどうかをチェック
する。
【0008】動作の正しくないオブジェクトの存在が確
認されたときに、そのオブジェクトに正しくない値を発
生させた原因を究明する作業に入る。その際には、その
不具合を発生させた時点でのオブジェクトとネット接続
されているオブジェクトの情報が必要である。そのオブ
ジェクトの値情報がない場合には、さらに情報を得るた
めに再度「シミュレーションの実行」ステップを行な
う。そして、究明できた場合には、「回路モデルの作成
/修正」ステップに戻る。
認されたときに、そのオブジェクトに正しくない値を発
生させた原因を究明する作業に入る。その際には、その
不具合を発生させた時点でのオブジェクトとネット接続
されているオブジェクトの情報が必要である。そのオブ
ジェクトの値情報がない場合には、さらに情報を得るた
めに再度「シミュレーションの実行」ステップを行な
う。そして、究明できた場合には、「回路モデルの作成
/修正」ステップに戻る。
【0009】このように、回路設計者は、回路モデルか
らバグを取り除き完全なモデルにしていくが、現状で
は、不具合箇所の原因を把握するための度重なるシミュ
レーションに多大な手間と時間がかかってしまってい
る。
らバグを取り除き完全なモデルにしていくが、現状で
は、不具合箇所の原因を把握するための度重なるシミュ
レーションに多大な手間と時間がかかってしまってい
る。
【0010】たとえば、デバッグ時、不具合を発見した
場合に、その不具合箇所の直前のオブジェクトの状態を
確認したい場合や、誤ったコマンドを入力してしまった
場合など、コマンド入力前のシミュレーション状態に戻
りたい場合がある。
場合に、その不具合箇所の直前のオブジェクトの状態を
確認したい場合や、誤ったコマンドを入力してしまった
場合など、コマンド入力前のシミュレーション状態に戻
りたい場合がある。
【0011】しかしながら、従来のシミュレータ装置の
デバッグ機能では、以前のシミュレータの実行状態に戻
ることは困難であるため、最初からシミュレーションの
し直しを行なわなくてはならないといった問題があっ
た。
デバッグ機能では、以前のシミュレータの実行状態に戻
ることは困難であるため、最初からシミュレーションの
し直しを行なわなくてはならないといった問題があっ
た。
【0012】このような状況から、従来の論理シミュレ
ータでは、この最初からシミュレーションのし直しを行
なわなければならないという問題を回避するためのデバ
ッグ機能の一つとしてチェックポイント方式が存在す
る。
ータでは、この最初からシミュレーションのし直しを行
なわなければならないという問題を回避するためのデバ
ッグ機能の一つとしてチェックポイント方式が存在す
る。
【0013】このチェックポイント方式とは、再実行時
の開始位置とすることのできる時点(チェックポイン
ト)を予め指定しておき、その指定された時点から再実
行を開始するために必要な情報を保存しておく方式をい
う。この方式によれば、再現したい時点以前の最も近い
チェックポイントからシミュレーションを再実行すれば
よく、最初から再びシミュレーションする場合に比べて
不具合解析における再シミュレーション時間が短縮され
ることになる。
の開始位置とすることのできる時点(チェックポイン
ト)を予め指定しておき、その指定された時点から再実
行を開始するために必要な情報を保存しておく方式をい
う。この方式によれば、再現したい時点以前の最も近い
チェックポイントからシミュレーションを再実行すれば
よく、最初から再びシミュレーションする場合に比べて
不具合解析における再シミュレーション時間が短縮され
ることになる。
【0014】しかしながら、このチェックポイント方式
にも、予めユーザによるチェックポイントの指定が必要
となる上、そのチェックポイントの指定が必ずしも適切
であるとはいえないといった問題があった。また、この
チェックポイントを頻繁に設定すると、再シミュレーシ
ョンするために保存しておかなければならない情報が膨
大な量になってしまい、記憶装置などの資源を大量に割
り当てざるを得なくなるばかりでなく、シミュレーショ
ンそのものが遅くなってしまうといった問題があった。
にも、予めユーザによるチェックポイントの指定が必要
となる上、そのチェックポイントの指定が必ずしも適切
であるとはいえないといった問題があった。また、この
チェックポイントを頻繁に設定すると、再シミュレーシ
ョンするために保存しておかなければならない情報が膨
大な量になってしまい、記憶装置などの資源を大量に割
り当てざるを得なくなるばかりでなく、シミュレーショ
ンそのものが遅くなってしまうといった問題があった。
【0015】
【発明が解決しようとする課題】このように、従来のデ
バッグ方式では、不具合箇所を修正後に再度シミュレー
ションを行なって修正が間違いないことを確認する際、
最初からその修正箇所までステップ実行していくか、ま
たは修正箇所にチェックポイントを予め設定してからシ
ミュレーションしなければならないといった問題があっ
た。
バッグ方式では、不具合箇所を修正後に再度シミュレー
ションを行なって修正が間違いないことを確認する際、
最初からその修正箇所までステップ実行していくか、ま
たは修正箇所にチェックポイントを予め設定してからシ
ミュレーションしなければならないといった問題があっ
た。
【0016】また、このチェックポイント方式にも、予
めユーザによるチェックポイントの指定が必要となる
上、そのチェックポイントの指定が必ずしも適切である
とはいえないといった問題があり、このチェックポイン
トを頻繁に設定すると、再シミュレーションするために
保存しておかなければならない情報が膨大な量になって
しまい、記憶装置などの資源を大量に割り当てざるを得
なくなるばかりでなく、シミュレーションそのものが遅
くなってしまうといった問題があった。
めユーザによるチェックポイントの指定が必要となる
上、そのチェックポイントの指定が必ずしも適切である
とはいえないといった問題があり、このチェックポイン
トを頻繁に設定すると、再シミュレーションするために
保存しておかなければならない情報が膨大な量になって
しまい、記憶装置などの資源を大量に割り当てざるを得
なくなるばかりでなく、シミュレーションそのものが遅
くなってしまうといった問題があった。
【0017】この発明はこのような実情に鑑みてなされ
たものであり、ユーザが予めチェックポイントなどを指
定することなく、不具合が発見された時点でシミュレー
ションを自動的に中断させ、かつこの不具合が発見され
た時点の直前のシミュレータ状態を容易に再現できるこ
とを可能とするデバッグ装置およびデバッグ方法を提供
することを目的とする。
たものであり、ユーザが予めチェックポイントなどを指
定することなく、不具合が発見された時点でシミュレー
ションを自動的に中断させ、かつこの不具合が発見され
た時点の直前のシミュレータ状態を容易に再現できるこ
とを可能とするデバッグ装置およびデバッグ方法を提供
することを目的とする。
【0018】
【課題を解決するための手段】この発明のデバッグ装置
は、回路設計の検証に用いられる論理回路モデルのデバ
ッグ装置において、前記論理回路モデル内の観測対象と
するオブジェクトに期待する値を時系列に保持する期待
値ファイルと、前記論理回路モデルの動作をコンピュー
タ上で模擬実行する第1および第2の論理シミュレータ
と、前記第2の論理シミュレータで模擬実行される前記
論理回路モデルの動作が前記第1の論理シミュレータで
模擬実行される前記論理回路モデルの動作から一動作遅
れるように前記第1および第2の論理シミュレータを並
列に実行制御するシミュレータ実行制御手段と、前記第
1の論理シミュレータが模擬実行する前記論理回路モデ
ル内の観測対象オブジェクトの値と前記期待値ファイル
に保持される期待値とを比較する比較手段と、前記比較
手段の比較結果が不一致であったときに、前記第1およ
び第2の論理シミュレータの実行を停止させるシミュレ
ータ停止手段とを具備し、前記論理回路モデルが不具合
を発生させた時点の一動作前の状態を前記第2の論理シ
ミュレータに保持させることを特徴とする。
は、回路設計の検証に用いられる論理回路モデルのデバ
ッグ装置において、前記論理回路モデル内の観測対象と
するオブジェクトに期待する値を時系列に保持する期待
値ファイルと、前記論理回路モデルの動作をコンピュー
タ上で模擬実行する第1および第2の論理シミュレータ
と、前記第2の論理シミュレータで模擬実行される前記
論理回路モデルの動作が前記第1の論理シミュレータで
模擬実行される前記論理回路モデルの動作から一動作遅
れるように前記第1および第2の論理シミュレータを並
列に実行制御するシミュレータ実行制御手段と、前記第
1の論理シミュレータが模擬実行する前記論理回路モデ
ル内の観測対象オブジェクトの値と前記期待値ファイル
に保持される期待値とを比較する比較手段と、前記比較
手段の比較結果が不一致であったときに、前記第1およ
び第2の論理シミュレータの実行を停止させるシミュレ
ータ停止手段とを具備し、前記論理回路モデルが不具合
を発生させた時点の一動作前の状態を前記第2の論理シ
ミュレータに保持させることを特徴とする。
【0019】この発明のデバッグ装置においては、論理
回路モデル内の観測対象とするオブジェクトに期待する
値を時系列に期待値ファイルに保持しておき、この期待
値と論理回路モデル内の観測対象オブジェクトの値とを
比較しながら第1の論理シミュレータによる論理回路モ
デルの動作の模擬実行を進行させていく。一方、第2の
論理シミュレータには、この第1の論理シミュレータに
よる論理回路モデルの動作から一動作遅れるように論理
回路モデルの動作の模擬実行を並列に進行させていく。
回路モデル内の観測対象とするオブジェクトに期待する
値を時系列に期待値ファイルに保持しておき、この期待
値と論理回路モデル内の観測対象オブジェクトの値とを
比較しながら第1の論理シミュレータによる論理回路モ
デルの動作の模擬実行を進行させていく。一方、第2の
論理シミュレータには、この第1の論理シミュレータに
よる論理回路モデルの動作から一動作遅れるように論理
回路モデルの動作の模擬実行を並列に進行させていく。
【0020】そして、期待値ファイルに保持される期待
値と、第1の論理シミュレータが模擬実行する論理回路
モデル内の観測対象オブジェクトの値とが一致しなかっ
たとき、すなわち、第1の論理シミュレータが模擬実行
する論理回路モデル内の観測対象オブジェクトに不具合
が発見されたときに、第1および第2の論理シミュレー
タ双方の実行を停止させる。このとき、第2の論理シミ
ュレータが模擬実行する論理回路モデルは、第1の論理
シミュレータが模擬実行する論理回路モデルの一動作前
の状態を保持していることになる。
値と、第1の論理シミュレータが模擬実行する論理回路
モデル内の観測対象オブジェクトの値とが一致しなかっ
たとき、すなわち、第1の論理シミュレータが模擬実行
する論理回路モデル内の観測対象オブジェクトに不具合
が発見されたときに、第1および第2の論理シミュレー
タ双方の実行を停止させる。このとき、第2の論理シミ
ュレータが模擬実行する論理回路モデルは、第1の論理
シミュレータが模擬実行する論理回路モデルの一動作前
の状態を保持していることになる。
【0021】したがって、この発明のデバッグ装置によ
れば、たとえばユーザによるチェックポイントなどの設
定を必要とせずに、論理回路モデルが不具合を発生させ
た時点の直前のシミュレータ状態を容易に提供できるこ
とになり、デバッグの効率を飛躍的に向上させることが
可能となる。
れば、たとえばユーザによるチェックポイントなどの設
定を必要とせずに、論理回路モデルが不具合を発生させ
た時点の直前のシミュレータ状態を容易に提供できるこ
とになり、デバッグの効率を飛躍的に向上させることが
可能となる。
【0022】また、この発明のデバッグ装置は、回路設
計の検証に用いられる論理回路モデルのデバッグ装置に
おいて、前記論理回路モデル内の観測対象とするオブジ
ェクトに期待する値を時系列に保持する期待値ファイル
と、前記論理回路モデルの動作をコンピュータ上で模擬
実行する論理シミュレータと、前記論理シミュレータの
状態を示す内部情報が保持されるバッファと、その時点
での内部情報が前記バッファに退避された後に前記論理
回路モデルの動作を進行させるように前記論理シミュレ
ータを実行制御するシミュレータ実行制御手段と、前記
論理シミュレータが模擬実行する前記論理回路モデル内
の観測対象オブジェクトの値と前記期待値ファイルに保
持される期待値とを比較する比較手段と、前記比較手段
の比較結果が不一致であったときに、前記論理シミュレ
ータの実行を停止させるシミュレータ停止手段とを具備
し、前記論理回路モデルが不具合を発生させた時点の一
動作前の状態を示す内部情報を前記バッファに保持させ
ることを特徴とする。
計の検証に用いられる論理回路モデルのデバッグ装置に
おいて、前記論理回路モデル内の観測対象とするオブジ
ェクトに期待する値を時系列に保持する期待値ファイル
と、前記論理回路モデルの動作をコンピュータ上で模擬
実行する論理シミュレータと、前記論理シミュレータの
状態を示す内部情報が保持されるバッファと、その時点
での内部情報が前記バッファに退避された後に前記論理
回路モデルの動作を進行させるように前記論理シミュレ
ータを実行制御するシミュレータ実行制御手段と、前記
論理シミュレータが模擬実行する前記論理回路モデル内
の観測対象オブジェクトの値と前記期待値ファイルに保
持される期待値とを比較する比較手段と、前記比較手段
の比較結果が不一致であったときに、前記論理シミュレ
ータの実行を停止させるシミュレータ停止手段とを具備
し、前記論理回路モデルが不具合を発生させた時点の一
動作前の状態を示す内部情報を前記バッファに保持させ
ることを特徴とする。
【0023】この発明のデバッグ装置においては、論理
回路モデル内の観測対象とするオブジェクトに期待する
値を時系列に期待値ファイルに保持しておき、この期待
値と論理回路モデル内の観測対象オブジェクトの値とを
比較しながら論理シミュレータによる論理回路モデルの
動作の模擬実行を進行させていく。また、この論理シミ
ュレータによる論理回路モデルの動作を進行させる際、
その時点での内部情報がバッファに退避されるのを待機
させる。
回路モデル内の観測対象とするオブジェクトに期待する
値を時系列に期待値ファイルに保持しておき、この期待
値と論理回路モデル内の観測対象オブジェクトの値とを
比較しながら論理シミュレータによる論理回路モデルの
動作の模擬実行を進行させていく。また、この論理シミ
ュレータによる論理回路モデルの動作を進行させる際、
その時点での内部情報がバッファに退避されるのを待機
させる。
【0024】そして、期待値ファイルに保持される期待
値と、論理シミュレータが模擬実行する論理回路モデル
内の観測対象オブジェクトの値とが一致しなかったと
き、すなわち、論理シミュレータが模擬実行する論理回
路モデル内の観測対象オブジェクトに不具合が発見され
たときに、この論理シミュレータの実行を停止させる。
このとき、バッファには、論理シミュレータが模擬実行
する論理回路モデルの一動作前の状態を示す内部情報が
保持されていることになる。
値と、論理シミュレータが模擬実行する論理回路モデル
内の観測対象オブジェクトの値とが一致しなかったと
き、すなわち、論理シミュレータが模擬実行する論理回
路モデル内の観測対象オブジェクトに不具合が発見され
たときに、この論理シミュレータの実行を停止させる。
このとき、バッファには、論理シミュレータが模擬実行
する論理回路モデルの一動作前の状態を示す内部情報が
保持されていることになる。
【0025】したがって、この発明のデバッグ装置によ
れば、たとえばユーザによるチェックポイントなどの設
定を必要とせずに、論理回路モデルが不具合を発生させ
た時点の直前のシミュレータ状態を容易に提供できるこ
とになり、デバッグの効率を飛躍的に向上させることが
可能となる。
れば、たとえばユーザによるチェックポイントなどの設
定を必要とせずに、論理回路モデルが不具合を発生させ
た時点の直前のシミュレータ状態を容易に提供できるこ
とになり、デバッグの効率を飛躍的に向上させることが
可能となる。
【0026】なお、たとえば3つ以上の論理シミュレー
タを並列に動作させることが可能な場合や3世代以上の
状態を保持できる容量をもつバッファを使用することが
可能な場合には、論理回路モデルが不具合を発生させた
時点以前のシミュレータ状態を複数世代提供できること
になる。
タを並列に動作させることが可能な場合や3世代以上の
状態を保持できる容量をもつバッファを使用することが
可能な場合には、論理回路モデルが不具合を発生させた
時点以前のシミュレータ状態を複数世代提供できること
になる。
【0027】
【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。 (第1実施形態)図1は、この発明の第1実施形態のデ
バッグシステムの概略構成を示す図である。図1に示す
ように、第1実施形態のデバッグシステム10では、シ
ミュレータ管理装置11の制御下で、論理シミュレータ
(a)12および論理シミュレータ(b)12の2つの
論理シミュレータが並列に論理回路モデル14の動作を
シミュレートする。この2つの論理シミュレータは同じ
ものである。また、このデバッグシステム10では、論
理回路モデル14の中の観測対象とするオブジェクトに
期待する値を時系列に保持する期待値ファイル15と、
論理シミュレータ(a)12および論理シミュレータ
(b)12に動作指示するためのコマンドを格納するコ
マンド格納バッファ16とを具備し、シミュレータ管理
装置11がこのコマンド格納バッファ16に格納された
コマンドを一つずつずらしながら論理シミュレータ
(a)12と論理シミュレータ(b)12とに投入して
いく。ここでは、論理シミュレータ(a)12が、論理
シミュレータ(b)12よりも先行してコマンドが投入
されていくものとする。したがって、論理シミュレータ
(b)12による論理回路モデル14のシミュレーショ
ンは、論理シミュレータ(a)12による論理回路モデ
ル14のシミュレーションと比較して、1コマンド分遅
れていることになる。また、デバッガ13は、ユーザの
指示にしたがい、論理シミュレータ12がシミュレート
する論理回路モデル14内のオブジェクトの値を参照し
たり変更したりするツールである。
実施形態を説明する。 (第1実施形態)図1は、この発明の第1実施形態のデ
バッグシステムの概略構成を示す図である。図1に示す
ように、第1実施形態のデバッグシステム10では、シ
ミュレータ管理装置11の制御下で、論理シミュレータ
(a)12および論理シミュレータ(b)12の2つの
論理シミュレータが並列に論理回路モデル14の動作を
シミュレートする。この2つの論理シミュレータは同じ
ものである。また、このデバッグシステム10では、論
理回路モデル14の中の観測対象とするオブジェクトに
期待する値を時系列に保持する期待値ファイル15と、
論理シミュレータ(a)12および論理シミュレータ
(b)12に動作指示するためのコマンドを格納するコ
マンド格納バッファ16とを具備し、シミュレータ管理
装置11がこのコマンド格納バッファ16に格納された
コマンドを一つずつずらしながら論理シミュレータ
(a)12と論理シミュレータ(b)12とに投入して
いく。ここでは、論理シミュレータ(a)12が、論理
シミュレータ(b)12よりも先行してコマンドが投入
されていくものとする。したがって、論理シミュレータ
(b)12による論理回路モデル14のシミュレーショ
ンは、論理シミュレータ(a)12による論理回路モデ
ル14のシミュレーションと比較して、1コマンド分遅
れていることになる。また、デバッガ13は、ユーザの
指示にしたがい、論理シミュレータ12がシミュレート
する論理回路モデル14内のオブジェクトの値を参照し
たり変更したりするツールである。
【0028】そして、シミュレータ管理装置11は、論
理シミュレータ(a)12によってシミュレートされて
いる論理回路モデル14の中の観測対象オブジェクトの
値と期待値ファイル15の値とを比較して、一致してい
れば次のコマンドをコマンド格納バッファ16から読み
出して論理シミュレータ(a)12に対して投入すると
ともに、その一つ前のコマンド、すなわち、いま論理シ
ミュレータ(a)12が処理したコマンドを論理シミュ
レータ(b)12に対して投入する。一方、一致してい
なかった場合、シミュレータ管理装置11は、その時点
で論理シミュレータ(a)12および論理シミュレータ
(b)12双方に対するコマンドの投入を停止する。
理シミュレータ(a)12によってシミュレートされて
いる論理回路モデル14の中の観測対象オブジェクトの
値と期待値ファイル15の値とを比較して、一致してい
れば次のコマンドをコマンド格納バッファ16から読み
出して論理シミュレータ(a)12に対して投入すると
ともに、その一つ前のコマンド、すなわち、いま論理シ
ミュレータ(a)12が処理したコマンドを論理シミュ
レータ(b)12に対して投入する。一方、一致してい
なかった場合、シミュレータ管理装置11は、その時点
で論理シミュレータ(a)12および論理シミュレータ
(b)12双方に対するコマンドの投入を停止する。
【0029】すなわち、論理シミュレータ(a)12に
は論理回路モデル14が不具合を発生させた時点の状態
が保持され、一方、論理シミュレータ(b)12には論
理回路モデル14が不具合を発生させた時点の1コマン
ド前の状態が保持されていることになり、ユーザはデバ
ッガ13を操作することにより、これらの情報を容易に
取得することができることになる。
は論理回路モデル14が不具合を発生させた時点の状態
が保持され、一方、論理シミュレータ(b)12には論
理回路モデル14が不具合を発生させた時点の1コマン
ド前の状態が保持されていることになり、ユーザはデバ
ッガ13を操作することにより、これらの情報を容易に
取得することができることになる。
【0030】図2には、論理回路モデル14の一例が示
されており、この図2に示した論理回路モデル14は図
3のように表現されるものであるとする。そして、この
論理回路モデル14の中の「port」を観測対象オブ
ジェクトとし、この「port」に対する期待値が図4
のように設定されて期待値ファイル15に格納されてい
るものとする。なお、この期待値は、論理回路モデル1
4が新規に作成させるものであるときは、多くの場合、
検証用データとして設計者により作成されるものである
が、一方、機能追加などによる修正の場合には、修正前
の論理回路モデル14をシミュレートした結果を採用す
ればよい。
されており、この図2に示した論理回路モデル14は図
3のように表現されるものであるとする。そして、この
論理回路モデル14の中の「port」を観測対象オブ
ジェクトとし、この「port」に対する期待値が図4
のように設定されて期待値ファイル15に格納されてい
るものとする。なお、この期待値は、論理回路モデル1
4が新規に作成させるものであるときは、多くの場合、
検証用データとして設計者により作成されるものである
が、一方、機能追加などによる修正の場合には、修正前
の論理回路モデル14をシミュレートした結果を採用す
ればよい。
【0031】そして、シミュレータ管理装置11は、ユ
ーザから入力されたコマンドのうち、論理シミュレータ
(a)12を動作指示するためのシミュレータ制御系コ
マンドのみをコマンド格納バッファ16に格納してい
く。たとえば、ユーザから図5(a)に示したようなコ
マンドが入力された場合には、図5(b)に示したよう
にシミュレータ制御系コマンドのみがコマンド格納バッ
ファ16に格納されることになる。
ーザから入力されたコマンドのうち、論理シミュレータ
(a)12を動作指示するためのシミュレータ制御系コ
マンドのみをコマンド格納バッファ16に格納してい
く。たとえば、ユーザから図5(a)に示したようなコ
マンドが入力された場合には、図5(b)に示したよう
にシミュレータ制御系コマンドのみがコマンド格納バッ
ファ16に格納されることになる。
【0032】いま、論理シミュレータ(a)12および
論理シミュレータ(b)12による論理回路モデル14
のシミュレートによって「port」の値が図6のよう
に推移していくものとする。また、論理シミュレータ
(a)12および論理シミュレータ(b)12は、図7
に示すように互いに一定のずれをもってシミュレーショ
ンを進行させていく。そして、シミュレータ管理装置1
1は、論理シミュレータ(a)12がシミュレートする
論理回路14の「port」の値が(時刻)5において
期待値ファイル15の値と異なることを検出し、論理シ
ミュレータ(a)12および論理シミュレータ(b)1
2双方のシミュレートをその時点で停止させる。すなわ
ち、図7(b)に示す時点の状態を論理シミュレータ
(a)12および論理シミュレータ(b)12は保持す
ることになる。したがって、ユーザはデバッガ13を操
作することにより、論理回路モデル14が不具合を発生
させた時点((時刻)5)の一動作前((時刻)4)の
状態を論理シミュレータ(b)12から容易に取得する
ことができることになる。
論理シミュレータ(b)12による論理回路モデル14
のシミュレートによって「port」の値が図6のよう
に推移していくものとする。また、論理シミュレータ
(a)12および論理シミュレータ(b)12は、図7
に示すように互いに一定のずれをもってシミュレーショ
ンを進行させていく。そして、シミュレータ管理装置1
1は、論理シミュレータ(a)12がシミュレートする
論理回路14の「port」の値が(時刻)5において
期待値ファイル15の値と異なることを検出し、論理シ
ミュレータ(a)12および論理シミュレータ(b)1
2双方のシミュレートをその時点で停止させる。すなわ
ち、図7(b)に示す時点の状態を論理シミュレータ
(a)12および論理シミュレータ(b)12は保持す
ることになる。したがって、ユーザはデバッガ13を操
作することにより、論理回路モデル14が不具合を発生
させた時点((時刻)5)の一動作前((時刻)4)の
状態を論理シミュレータ(b)12から容易に取得する
ことができることになる。
【0033】次に、第1実施形態の動作手順を説明す
る。図8は第1実施形態の動作手順を説明するためのフ
ローチャートである。シミュレータ管理装置11は、ユ
ーザからのコマンドを入力して制御系コマンドのみをコ
マンド格納バッファ16に格納すると(ステップA
1)、論理シミュレータ(a)12に対してコマンドを
投入するとともに(ステップA2)、その1つ前のコマ
ンドを論理シミュレータ(b)12に対して投入する
(ステップA4)。このとき、シミュレータ管理装置1
1は、論理シミュレータ(a)12がシミュレートする
論理回路モデル14の中の観測対象とするオブジェクト
の値と期待値ファイル15に保持された期待値とを比較
して(ステップA5)、一致していた場合には(ステッ
プA6のN)、論理シミュレータ(a)12および論理
シミュレータ(b)12双方のシミュレートを継続させ
る。一方、一致しなかった場合には(ステップA6の
Y)、その時点でシミュレーションを中断させ(ステッ
プA7)、デバッガ13によるオブジェクトの確認作業
に移行する(ステップA8)。
る。図8は第1実施形態の動作手順を説明するためのフ
ローチャートである。シミュレータ管理装置11は、ユ
ーザからのコマンドを入力して制御系コマンドのみをコ
マンド格納バッファ16に格納すると(ステップA
1)、論理シミュレータ(a)12に対してコマンドを
投入するとともに(ステップA2)、その1つ前のコマ
ンドを論理シミュレータ(b)12に対して投入する
(ステップA4)。このとき、シミュレータ管理装置1
1は、論理シミュレータ(a)12がシミュレートする
論理回路モデル14の中の観測対象とするオブジェクト
の値と期待値ファイル15に保持された期待値とを比較
して(ステップA5)、一致していた場合には(ステッ
プA6のN)、論理シミュレータ(a)12および論理
シミュレータ(b)12双方のシミュレートを継続させ
る。一方、一致しなかった場合には(ステップA6の
Y)、その時点でシミュレーションを中断させ(ステッ
プA7)、デバッガ13によるオブジェクトの確認作業
に移行する(ステップA8)。
【0034】これにより、たとえばチェックポイントの
設定などを予め行なわなくとも、論理回路モデル14が
不具合を発生させた時点の直前の状態を論理シミュレー
タ(b)12に保持させることができ、デバッグの効率
を飛躍的に向上させることが可能となる。
設定などを予め行なわなくとも、論理回路モデル14が
不具合を発生させた時点の直前の状態を論理シミュレー
タ(b)12に保持させることができ、デバッグの効率
を飛躍的に向上させることが可能となる。
【0035】なお、論理シミュレータを3つ以上並列に
動作させることが可能であれば、前述した手法で、論理
回路モデルが不具合を発生させた時点以前のシミュレー
タ状態を複数世代保持させることができる。
動作させることが可能であれば、前述した手法で、論理
回路モデルが不具合を発生させた時点以前のシミュレー
タ状態を複数世代保持させることができる。
【0036】(第2実施形態)次に、この発明の第2実
施形態を説明する。図9は、この発明の第2実施形態の
デバッグシステムの概略構成を示す図である。図9に示
すように、この第2実施形態の第1実施形態との違い
は、第1実施形態のデバッグシステム10では2つの論
理シミュレータ12が用いられていたのに対し、第2実
施形態のデバッグシステム10では1つの論理シミュレ
ータ12のみが用いられる点と、内部情報格納バッファ
17が新たに設けられた点にある。
施形態を説明する。図9は、この発明の第2実施形態の
デバッグシステムの概略構成を示す図である。図9に示
すように、この第2実施形態の第1実施形態との違い
は、第1実施形態のデバッグシステム10では2つの論
理シミュレータ12が用いられていたのに対し、第2実
施形態のデバッグシステム10では1つの論理シミュレ
ータ12のみが用いられる点と、内部情報格納バッファ
17が新たに設けられた点にある。
【0037】そして、第2実施形態のシミュレータ管理
装置11は、その時点における論理シミュレータ12の
内部状態を内部情報格納バッファ17に退避した後に、
論理シミュレータ12の動作を1コマンド分進行させて
いく。
装置11は、その時点における論理シミュレータ12の
内部状態を内部情報格納バッファ17に退避した後に、
論理シミュレータ12の動作を1コマンド分進行させて
いく。
【0038】したがって、第2実施形態のシミュレータ
管理装置11が論理シミュレータ12によってシミュレ
ートされている論理回路モデル14の中の観測対象オブ
ジェクトの値と期待値ファイル15の値とが一致してい
ないことを検知した際、内部情報格納バッファ17に
は、論理回路モデル14が不具合を発生させた時点の1
コマンド前の論理シミュレータ12の状態が保持されて
いることになり、この内部情報格納バッファ17の内容
をシミュレータ管理装置11が論理シミュレータ12に
反映させれば、ユーザはデバッガ13を操作することに
より、これらの情報を容易に取得することができること
になる。
管理装置11が論理シミュレータ12によってシミュレ
ートされている論理回路モデル14の中の観測対象オブ
ジェクトの値と期待値ファイル15の値とが一致してい
ないことを検知した際、内部情報格納バッファ17に
は、論理回路モデル14が不具合を発生させた時点の1
コマンド前の論理シミュレータ12の状態が保持されて
いることになり、この内部情報格納バッファ17の内容
をシミュレータ管理装置11が論理シミュレータ12に
反映させれば、ユーザはデバッガ13を操作することに
より、これらの情報を容易に取得することができること
になる。
【0039】ここで、この第2実施形態の動作手順を説
明する。図10は第2実施形態の動作手順を説明するた
めのフローチャートである。シミュレータ管理装置11
は、ユーザからのコマンドを入力して制御系コマンドの
みをコマンド格納バッファ16に格納すると(ステップ
B1)、その時点での論理シミュレータ12の内部情報
を内部情報格納バッファ17に退避させた後に(ステッ
プB2)、論理シミュレータ12に対してコマンドを投
入する(ステップB3)。このとき、シミュレータ管理
装置11は、論理シミュレータ12がシミュレートする
論理回路モデル14の中の観測対象とするオブジェクト
の値と期待値ファイル15に保持された期待値とを比較
して(ステップB5)、一致していた場合には(ステッ
プB6のN)、論理シミュレータ12のシミュレートを
継続させる。一方、一致しなかった場合には(ステップ
B6のY)、その時点でシミュレーションを中断させ
(ステップB7)、内部情報格納バッファ17に退避さ
れた内部情報を論理シミュレータ12に反映し(ステッ
プB8)、デバッガ13によるオブジェクトの確認作業
に移行する(ステップB9)。
明する。図10は第2実施形態の動作手順を説明するた
めのフローチャートである。シミュレータ管理装置11
は、ユーザからのコマンドを入力して制御系コマンドの
みをコマンド格納バッファ16に格納すると(ステップ
B1)、その時点での論理シミュレータ12の内部情報
を内部情報格納バッファ17に退避させた後に(ステッ
プB2)、論理シミュレータ12に対してコマンドを投
入する(ステップB3)。このとき、シミュレータ管理
装置11は、論理シミュレータ12がシミュレートする
論理回路モデル14の中の観測対象とするオブジェクト
の値と期待値ファイル15に保持された期待値とを比較
して(ステップB5)、一致していた場合には(ステッ
プB6のN)、論理シミュレータ12のシミュレートを
継続させる。一方、一致しなかった場合には(ステップ
B6のY)、その時点でシミュレーションを中断させ
(ステップB7)、内部情報格納バッファ17に退避さ
れた内部情報を論理シミュレータ12に反映し(ステッ
プB8)、デバッガ13によるオブジェクトの確認作業
に移行する(ステップB9)。
【0040】これにより、たとえばチェックポイントの
設定などを予め行なわなくとも、論理回路モデル14が
不具合を発生させた時点の直前の状態を論理シミュレー
タ12に再現させることができ、デバッグの効率を飛躍
的に向上させることが可能となる。
設定などを予め行なわなくとも、論理回路モデル14が
不具合を発生させた時点の直前の状態を論理シミュレー
タ12に再現させることができ、デバッグの効率を飛躍
的に向上させることが可能となる。
【0041】なお、内部情報格納バッファ17として3
世代以上の内部情報を確保することが可能であれば、前
述した手法で、論理回路モデルが不具合を発生させた時
点以前のシミュレータ状態を複数世代保持させることが
できる。
世代以上の内部情報を確保することが可能であれば、前
述した手法で、論理回路モデルが不具合を発生させた時
点以前のシミュレータ状態を複数世代保持させることが
できる。
【0042】
【発明の効果】以上詳述したように、この発明によれ
ば、論理回路モデルが不具合を発生させた時点の直前の
状態を、一動作遅らせて並列に動作させる論理シミュレ
ータまたはバッファに自動的に保持させることになるた
め、ユーザはチェックポイントなどの設定を行なうこと
なくこれらの情報を取得することができ、デバッグの効
率を飛躍的に向上させることが可能となる。
ば、論理回路モデルが不具合を発生させた時点の直前の
状態を、一動作遅らせて並列に動作させる論理シミュレ
ータまたはバッファに自動的に保持させることになるた
め、ユーザはチェックポイントなどの設定を行なうこと
なくこれらの情報を取得することができ、デバッグの効
率を飛躍的に向上させることが可能となる。
【図1】この発明の第1実施形態のデバッグシステムの
概略構成を示す図。
概略構成を示す図。
【図2】第1実施形態の論理回路モデルの一例を示す
図。
図。
【図3】図2の論理回路モデルをハードウェア記述言語
で表現した図。
で表現した図。
【図4】第1実施形態の「port」に対する期待値を
示す図。
示す図。
【図5】第1実施形態のコマンド格納バッファへのシミ
ュレータ制御系コマンドの格納を示す図。
ュレータ制御系コマンドの格納を示す図。
【図6】第1実施形態の「port」の値の推移を示す
図。
図。
【図7】第1実施形態の2つの論理シミュレータの進行
関係を示す図。
関係を示す図。
【図8】第1実施形態の動作手順を説明するためのフロ
ーチャート。
ーチャート。
【図9】この発明の第2実施形態のデバッグシステムの
概略構成を示す図。
概略構成を示す図。
【図10】第2実施形態の動作手順を説明するためのフ
ローチャート。
ローチャート。
10…デバッグシステム、11…シミュレータ管理装
置、12…論理シミュレータ、13…デバッガ、14…
論理回路モデル、15…期待値ファイル、16…コマン
ド格納バッファ、17…内部情報格納バッファ。
置、12…論理シミュレータ、13…デバッガ、14…
論理回路モデル、15…期待値ファイル、16…コマン
ド格納バッファ、17…内部情報格納バッファ。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H01L 21/82 T C (72)発明者 柴田 行彦 東京都青梅市新町1381番地1 東芝コンピ ュ―タエンジニアリング株式会社内 (72)発明者 上野 豊 東京都青梅市新町1381番地1 東芝コンピ ュ―タエンジニアリング株式会社内 (72)発明者 武田 弘之 東京都青梅市新町1381番地1 東芝コンピ ュ―タエンジニアリング株式会社内 (72)発明者 木下 幸二 東京都青梅市新町1381番地1 東芝コンピ ュ―タエンジニアリング株式会社内
Claims (7)
- 【請求項1】 回路設計の検証に用いられる論理回路モ
デルのデバッグ装置において、 前記論理回路モデル内の観測対象とするオブジェクトに
期待する値を時系列に保持する期待値ファイルと、 前記論理回路モデルの動作をコンピュータ上で模擬実行
する第1および第2の論理シミュレータと、 前記第2の論理シミュレータで模擬実行される前記論理
回路モデルの動作が前記第1の論理シミュレータで模擬
実行される前記論理回路モデルの動作から一動作遅れる
ように前記第1および第2の論理シミュレータを並列に
実行制御するシミュレータ実行制御手段と、 前記第1の論理シミュレータが模擬実行する前記論理回
路モデル内の観測対象オブジェクトの値と前記期待値フ
ァイルに保持される期待値とを比較する比較手段と、 前記比較手段の比較結果が不一致であったときに、前記
第1および第2の論理シミュレータの実行を停止させる
シミュレータ停止手段とを具備し、前記論理回路モデル
が不具合を発生させた時点の一動作前の状態を前記第2
の論理シミュレータに保持させることを特徴とするデバ
ッグ装置。 - 【請求項2】 論理シミュレータに動作指示するための
コマンドを格納するコマンド格納バッファを具備し、 前記シミュレータ実行制御手段は、前記コマンド格納バ
ッファに格納されたコマンドを一つずつずらしながら前
記第1および第2の論理シミュレータに投入していくこ
とを特徴とする請求項1記載のデバッグ装置。 - 【請求項3】 回路設計の検証に用いられる論理回路モ
デルのデバッグ装置において、 前記論理回路モデル内の観測対象とするオブジェクトに
期待する値を時系列に保持する期待値ファイルと、 前記論理回路モデルの動作をコンピュータ上で模擬実行
する論理シミュレータと、 前記論理シミュレータの状態を示す内部情報が保持され
るバッファと、 その時点での内部情報が前記バッファに退避された後に
前記論理回路モデルの動作を進行させるように前記論理
シミュレータを実行制御するシミュレータ実行制御手段
と、 前記論理シミュレータが模擬実行する前記論理回路モデ
ル内の観測対象オブジェクトの値と前記期待値ファイル
に保持される期待値とを比較する比較手段と、 前記比較手段の比較結果が不一致であったときに、前記
論理シミュレータの実行を停止させるシミュレータ停止
手段とを具備し、前記論理回路モデルが不具合を発生さ
せた時点の一動作前の状態を示す内部情報を前記バッフ
ァに保持させることを特徴とするデバッグ装置。 - 【請求項4】 回路設計の検証に用いられる論理回路モ
デルのデバッグ装置において、 前記論理回路モデル内の観測対象とするオブジェクトに
期待する値を時系列に保持する期待値ファイルと、 前記論理回路モデルの動作をコンピュータ上で模擬実行
する複数の論理シミュレータと、 前記複数の論理シミュレータで模擬実行される前記論理
回路モデルの動作が互いに一動作ずれるように前記複数
の論理シミュレータすべてを並列に実行制御するシミュ
レータ実行制御手段と、 前記複数の論理シミュレータの中で最も先行する論理シ
ミュレータが模擬実行する前記論理回路モデル内の観測
対象オブジェクトの値と前記期待値ファイルに保持され
る期待値とを比較する比較手段と、 前記比較手段の比較結果が不一致であったときに、前記
複数の論理シミュレータすべての実行を停止させるシミ
ュレータ停止手段とを具備し、前記論理回路モデルが不
具合を発生させた時点以前の状態を最も先行する論理シ
ミュレータ以外の論理シミュレータに保持させることを
特徴とするデバッグ装置。 - 【請求項5】 回路設計の検証に用いられる論理回路モ
デルのデバッグ装置において、 前記論理回路モデル内の観測対象とするオブジェクトに
期待する値を時系列に保持する期待値ファイルと、 前記論理回路モデルの動作をコンピュータ上で模擬実行
する論理シミュレータと、 前記論理シミュレータの状態を示す内部情報が複数世代
保持されるバッファと、 その時点での内部情報が前記バッファに退避された後に
前記論理回路モデルの動作を進行させるように前記論理
シミュレータを実行制御するシミュレータ実行制御手段
と、 前記論理シミュレータが模擬実行する前記論理回路モデ
ル内の観測対象オブジェクトの値と前記期待値ファイル
に保持される期待値とを比較する比較手段と、 前記比較手段の比較結果が不一致であったときに、前記
論理シミュレータの実行を停止させるシミュレータ停止
手段とを具備し、前記論理回路モデルが不具合を発生さ
せた時点以前の状態を示す内部情報を前記バッファに保
持させることを特徴とするデバッグ装置。 - 【請求項6】 回路設計の検証に用いられる論理回路モ
デルの動作をコンピュータ上で模擬実行する第1および
第2の論理シミュレータを備えた前記論理回路モデルの
デバッグ方法であって、 前記論理回路モデル内の観測対象とするオブジェクトに
期待する値を時系列に保持し、 前記第2の論理シミュレータで模擬実行される前記論理
回路モデルの動作が前記第1の論理シミュレータで模擬
実行される前記論理回路モデルの動作から一動作遅れる
ように前記第1および第2の論理シミュレータを実行制
御し、 前記第1の論理シミュレータが模擬実行する前記論理回
路モデル内の観測対象オブジェクトの値と前記保持した
期待値とを比較し、 この比較結果が不一致であったときに、前記第1および
第2の論理シミュレータの実行を停止させることによ
り、前記論理回路モデルが不具合を発生させた時点の一
動作前の状態を第2の論理シミュレータに保持させるこ
とを特徴とするデバッグ方法。 - 【請求項7】 回路設計の検証に用いられる論理回路モ
デルの動作をコンピュータ上で模擬実行する論理シミュ
レータと前記論理シミュレータの状態を示す内部情報が
保持されるバッファとを備えた前記論理回路モデルのデ
バッグ方法であって、 前記論理回路モデル内の観測対象とするオブジェクトに
期待する値を時系列に保持し、 その時点での内部情報が前記バッファに退避された後に
前記論理回路モデルの動作を進行させるように前記論理
シミュレータを実行制御し、 前記論理シミュレータが模擬実行する前記論理回路モデ
ル内の観測対象オブジェクトの値と前記保持した期待値
とを比較し、 この比較結果が不一致であったときに、前記論理シミュ
レータの実行を停止させることにより、不具合が発生し
た時点の一動作前の状態を示す内部情報を前記バッファ
に保持させることを特徴とするデバッグ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33854696A JPH10177590A (ja) | 1996-12-18 | 1996-12-18 | 論理回路モデルのデバッグ装置およびデバッグ方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33854696A JPH10177590A (ja) | 1996-12-18 | 1996-12-18 | 論理回路モデルのデバッグ装置およびデバッグ方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10177590A true JPH10177590A (ja) | 1998-06-30 |
Family
ID=18319192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33854696A Pending JPH10177590A (ja) | 1996-12-18 | 1996-12-18 | 論理回路モデルのデバッグ装置およびデバッグ方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10177590A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008507018A (ja) * | 2004-07-14 | 2008-03-06 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 制御装置とアクティブチェーン診断をモデリングするプログラムとを結合する結合方法 |
JP2008544337A (ja) * | 2005-04-22 | 2008-12-04 | シンプリシティー インコーポレイテッド | 複製ロジック及びトリガロジックを用いたデバッグのための方法及びシステム |
JP2009503749A (ja) * | 2005-08-02 | 2009-01-29 | シンプリシティー インコーポレイテッド | 複製されたロジックを使用するデバッグ及びテスト方法並びにシステム |
US7962869B2 (en) | 2002-08-09 | 2011-06-14 | Synopsys, Inc. | Method and system for debug and test using replicated logic |
JP2017062297A (ja) * | 2015-09-24 | 2017-03-30 | 株式会社東芝 | シミュレーション装置とそのモジュール、シミュレーション方法及びプログラム |
-
1996
- 1996-12-18 JP JP33854696A patent/JPH10177590A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7665046B2 (en) | 2002-08-09 | 2010-02-16 | Synopsys, Inc. | Method and system for debugging using replicated logic and trigger logic |
US7962869B2 (en) | 2002-08-09 | 2011-06-14 | Synopsys, Inc. | Method and system for debug and test using replicated logic |
US8392859B2 (en) | 2002-08-09 | 2013-03-05 | Synopsys, Inc. | Method and system for debugging using replicated logic and trigger logic |
JP2008507018A (ja) * | 2004-07-14 | 2008-03-06 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 制御装置とアクティブチェーン診断をモデリングするプログラムとを結合する結合方法 |
JP2008544337A (ja) * | 2005-04-22 | 2008-12-04 | シンプリシティー インコーポレイテッド | 複製ロジック及びトリガロジックを用いたデバッグのための方法及びシステム |
JP2009503749A (ja) * | 2005-08-02 | 2009-01-29 | シンプリシティー インコーポレイテッド | 複製されたロジックを使用するデバッグ及びテスト方法並びにシステム |
JP2017062297A (ja) * | 2015-09-24 | 2017-03-30 | 株式会社東芝 | シミュレーション装置とそのモジュール、シミュレーション方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020140820A1 (zh) | 软件测试方法、系统、装置、设备、介质及计算机程序产品 | |
CN112084113B (zh) | 基于嵌入式仿真验证软件的可配置自动化测试方法及系统 | |
CN108572892B (zh) | 一种基于PowerPC多核处理器的离线测试方法和装置 | |
CN111400997A (zh) | 一种基于同步执行的处理器核验证方法、系统及介质 | |
US20040215440A1 (en) | Simulation of hardware based on smart buffer objects | |
JPH10177590A (ja) | 論理回路モデルのデバッグ装置およびデバッグ方法 | |
CN112860587A (zh) | Ui自动测试方法和装置 | |
US20240103479A1 (en) | Computer implemented method for checking correctness of plc program | |
CN109144849A (zh) | 一种嵌入式软件调测方法 | |
RU2729210C1 (ru) | Комплекс тестирования программного обеспечения электронных устройств | |
JPH04112344A (ja) | データベースの疑似更新方式 | |
RU2817186C1 (ru) | Система подтверждения тестов и тестирования встроенного программного обеспечения электронных устройств | |
JP3278588B2 (ja) | プログラム開発支援装置及びプログラム開発支援方法 | |
JPS6349851A (ja) | シミユレ−シヨンシステム | |
Chougale et al. | Automation Test Suite Using RoboGalaxy FrameWork | |
JPH11250115A (ja) | エミュレータを用いた論理検証方法 | |
EP1297456A2 (en) | Tcl pli, a framework for reusable, run time configurable test benches | |
JP2007193586A (ja) | プログラムテスト支援システム、方法及びプログラム | |
JPH07219980A (ja) | テスト実行方式 | |
JPH0895817A (ja) | 情報処理装置の試験方法 | |
JPH11120030A (ja) | プログラムのテスト装置及び方法並びにプログラムのテスト用ソフトウェアを記録した記録媒体 | |
JP2001051864A (ja) | データ処理装置の試験実行方式 | |
JP2001209412A (ja) | シーケンスプログラムのシミュレーション装置 | |
JPH04277840A (ja) | 非同期命令のシミュレーション方式 | |
JPH01217650A (ja) | ソフトウェアシミュレータにおける試験実行方式 |