JP3099810B2 - 論理シミュレーション装置及びそれに用いる論理検証の高速化手法並びにその制御プログラムを記録した記録媒体 - Google Patents

論理シミュレーション装置及びそれに用いる論理検証の高速化手法並びにその制御プログラムを記録した記録媒体

Info

Publication number
JP3099810B2
JP3099810B2 JP10185792A JP18579298A JP3099810B2 JP 3099810 B2 JP3099810 B2 JP 3099810B2 JP 10185792 A JP10185792 A JP 10185792A JP 18579298 A JP18579298 A JP 18579298A JP 3099810 B2 JP3099810 B2 JP 3099810B2
Authority
JP
Japan
Prior art keywords
subroutine
logic
logic simulation
simulation
verification
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 - Fee Related
Application number
JP10185792A
Other languages
English (en)
Other versions
JP2000020346A (ja
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP10185792A priority Critical patent/JP3099810B2/ja
Publication of JP2000020346A publication Critical patent/JP2000020346A/ja
Application granted granted Critical
Publication of JP3099810B2 publication Critical patent/JP3099810B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は論理検証の高速化手
法に関し、特にソフトウェアの論理検証を行うためのシ
ミュレーション方法に関する。
【0002】
【従来の技術】従来、ソフトウェアのシミュレーション
方法においては、図4に示すように、ソフトウェア(シ
ミュレーションモデル)61をシミュレータ6上で動作
させることで、論理シミュレーションを、つまりそのソ
フトウェアの論理検証を行っている。
【0003】しかしながら、ソフトウェアの論理検証に
おいては、シミュレータ6上でのシミュレーションモデ
ル61の動作中にディスク装置5に対するディスク読出
しルーチンにおけるセクタ読出しルーチンが連続的に繰
返し行われる場合があり、この繰返しルーチンが不要な
シミュレーションの繰返しとなってしまう。
【0004】
【発明が解決しようとする課題】上述した従来のソフト
ウェアのシミュレーション方法では、不要なシミュレー
ションの繰返しを避けるために人手でシミュレーション
ベクトルやソフトウェアの作直しが必要であり、これに
多大な工数がかかってしまう。
【0005】そこで、本発明の目的は上記の問題点を解
消し、人手によるシミュレーションベクトルの作直しや
ソフトウェアの作直しを必要とすることなく、不要なシ
ミュレーションの繰返しを避けることができる論理シミ
ュレーション装置及びそれに用いる論理検証の高速化手
法並びにその制御プログラムを記録した記録媒体を提供
することにある。
【0006】
【課題を解決するための手段】本発明による論理シミュ
レーション装置は、論理シミュレーションを実行する論
理シミュレーション装置であって、前記論理シミュレー
ションにおいて繰返し実行されるサブルーチンを検出す
る検出手段と、前記検出手段で検出された前記サブルー
チンを代行する代行手段とを備え、前記サブルーチンの
シミュレーション回数を検証に必要な数に制限し、それ
以上の処理を前記代行手段に代行させている。
【0007】本発明による論理シミュレーション装置の
論理検証の高速化手法は、論理シミュレーションを実行
する論理シミュレーション装置の論理検証の高速化手法
であって、前記論理シミュレーションにおいて繰返し実
行されるサブルーチンを検出するステップと、検出され
た前記サブルーチンを代行するステップとを備え、前記
サブルーチンのシミュレーション回数を検証に必要な数
に制限し、それ以上の処理を他の手段で代行するように
している。
【0008】本発明による論理検証の高速化制御プログ
ラムを記録した記録媒体は、コンピュータに、論理シミ
ュレーションを実行させるための論理検証の高速化制御
プログラムを記録した記録媒体であって、前記高速化制
御プログラムは前記コンピュータに、前記論理シミュレ
ーションにおいて繰返し実行されるサブルーチンを検出
させ、検出された前記サブルーチンを代行させること
で、前記サブルーチンのシミュレーション回数を検証に
必要な数に制限し、それ以上の処理を代行させるように
している。
【0009】すなわち、本発明の論理検証の高速化手法
は、論理シミュレーションを主体とした論理検証手法に
おいて、OS(Operating System)ブ
ート等の論理シミュレーションを行う際に、頻繁に実行
されるサブルーチンのシミュレーション回数を検証に必
要な数に制限し、それ以上の処理をエージェントに代行
させることで、論理シミュレーションを高速化してい
る。
【0010】より具体的には、論理シミュレーションの
対象となるモデルが準備作業の設定に基づいてシミュレ
ーションを行い、トレーサからのトラップによってシミ
ュレーションを一時停止する。一時停止したシミュレー
ションはエージェントの終了によって再開される。
【0011】トレーサはトラップを発生させるパターン
を登録し、シミュレーションモデルの動作をトレース
し、登録パターンとマッチした時にシミュレーションモ
デルに対するトラップの発行とエージェントの呼び出し
とを行う。
【0012】また、トレーサはエージェントに代行させ
た部分を記憶し、シミュレーションモデルに対してより
効率的なシミュレーションを行わせる。エージェントは
シミュレーションモデルを代行して繰返し部分の処理を
行い、シミュレーションモデルに対して結果を返却す
る。
【0013】このように、トレーサがシミュレーション
モデルの動作をトレースし、エージェントが不要なシミ
ュレーションに代わって処理を代行することで、論理検
証の高速化を図っている。
【0014】
【発明の実施の形態】次に、本発明の一実施例について
図面を参照して説明する。図1は本発明の一実施例によ
るシミュレーション装置の構成を示すブロック図であ
る。図において、シミュレータ4はシミュレーションモ
デル1と、トレーサ2と、エージェント3と、制御メモ
リ41とから構成されている。
【0015】シミュレーションモデル1はメインルーチ
ンを動作させることによってソフトウェアのシミュレー
ションを行う。トレーサ2はシミュレーションモデル1
によるメインルーチンの動作をトレースし、同じルーチ
ン(例えば、ディスク装置5に対する読出しルーチンに
おける連続するセクタ読出しルーチン等)が繰返し行わ
れることを検出すると、そのルーチンの代行をエージェ
ント3に指示する。エージェント3はそのルーチンを代
行して実行し、その結果をシミュレーションモデル1に
渡す。
【0016】制御メモリ41はシミュレータ4において
シミュレーションモデル1とトレーサ2とエージェント
3とが夫々動作するためのプログラムを記録しており、
ROM(リードオンリメモリ)やフロッピディスク等が
使用可能である。
【0017】図2は本発明の一実施例による論理検証の
高速化手法の処理を示すフローチャートである。図にお
いて、シミュレーションモデル1はまずシミュレーショ
ン(SIM)の準備を行う(図1ステップS11)。ト
レーサ2は予めトラップ対象とするルーチンのパターン
登録を行う(図1ステップS21)。
【0018】シミュレーションの実行が開始されると
(図1ステップS12)、シミュレーションモデル1は
上記のシミュレーションの準備で設定した通りに動作し
ていく。トレーサ2はその動作のトレース処理41を実
行し(図1ステップS22)、トレース結果が先にパタ
ーンの登録で登録されたパターンにマッチしたか否かの
判断を行う(図1ステップS23)。
【0019】トレーサ2はそれらがマッチしない場合に
そのままトレース処理41を続け、それらがマッチする
とシミュレーションモデル1へトラップ42を発行し、
エージェント3に対して処理の代行の指令51を発行す
る(エージェント3の呼出し)(図1ステップS2
4)。
【0020】エージェント3はシミュレーションモデル
1に代わってトラップ42以降の処理を代行し(図1ス
テップS31)、その代行の終了時に(図1ステップS
32)、その結果として得られたデータをシミュレーシ
ョンモデル1に再設定する(図1ステップS14)。ま
た、エージェント3はこの代行の記録をトレーサ2に送
り、トレーサ2はそれを新たなパターンとして登録する
(図1ステップS25,S21)。
【0021】図3は本発明の一実施例によるシミュレー
ション処理を示すシーケンスチャートである。これら図
2及び図3を参照して本発明の一実施例によるシミュレ
ーション処理について説明する。
【0022】メインルーチン101をシミュレートして
いるシミュレーションモデル1は、まずメインルーチン
101中でデータをロードするためにディスク読出しの
Read diskルーチン102へ行く。シミュレー
ションモデル1においてはこのRead diskルー
チン102をシミュレートするのが最初なので、トレー
サ2はトラップを出さず、シミュレーションモデル1に
よるメインルーチン101のシミュレートが続行され
る。
【0023】次に、セクタ読出しのRead sect
orルーチン103が実行される。ここで、データが複
数のセクタにまたがっている場合にはシミュレーション
モデル1が再びRead sectorルーチン103
を実行しようとする。
【0024】トレーサ2はRead sectorルー
チン103の実行が2回目であることを検出し、トラッ
プ151を発行する。トラップ151のかかったシミュ
レーションモデル11はシミュレーションを停止する。
また、トレーサ2はエージェント3に対してRead
sectorルーチン103の代行を指令する。
【0025】エージェント3はRead sector
ルーチン103を代行するエージェント(Read s
ector)処理111を行い、あたかもそのシミュレ
ーションがシミュレーションモデル11で行われたかの
ように処理した結果のデータをシミュレーションモデル
1の内部に引渡して停止する。
【0026】エージェント(Read sector)
処理111の停止を待っていたシミュレーションモデル
1はシミュレーションを再開し、やがてRead di
skルーチン102を終了してメインルーチン101へ
戻る。
【0027】また、トレーサ2はエージェント3による
エージェント(Read sector)処理111の
終了情報を受取り、再びRead diskルーチン1
02がシミュレーションで呼ばれる時に備える。
【0028】さらに、メインルーチン101のシミュレ
ーションが進み、再びRead diskルーチン10
2が呼ばれようとする。トレーサ2は先ほどのRead
sectorルーチン103と同様にRead di
skルーチン102の実行が2回目であることを検出
し、トラップ152を発行してエージェント3に対して
Read diskルーチン102の代行を指令する。
【0029】エージェント3はRead diskルー
チン102を代行するエージェント(Read dis
k)処理112を行い、この時、さらにRead se
ctorルーチン103が実行される場合にエージェン
ト3内部ですべて処理し、トラップ151の時と同様
に、エージェント(Read disk)処理112の
実行結果をシミュレーションモデル1に引渡す。
【0030】エージェント(Read disk)処理
112の実行結果を受取ったシミュレーションモデル1
は、再びメインルーチン101のシミュレーションを続
行する。
【0031】このように、シミュレーションモデル1に
よるメインルーチン101のシミュレートをトレースし
ているトレーサ2が繰返し行われるルーチン(例えば、
Read sectorルーチン103)を検出した時
に、そのルーチンの代行をエージェント3に指令するこ
とによって、ソフトウェア中にあるサブルーチンのシミ
ュレーションの繰返しを抑えることができ、無駄なシミ
ュレーションを省いて論理検証を高速化することができ
る。
【0032】また、トレーサ2でシミュレーションモデ
ル1によるメインルーチン101のシミュレートの繰返
し部分を自動的に判定しているので、人手によるシミュ
レーションベクトルの作直しやソフトウェアの作直しが
必要なくなる。
【0033】よって、人手によるシミュレーションベク
トルの作直しやソフトウェアの作直しを必要とすること
なく、不要なシミュレーションの繰返しを避けることが
できる。
【0034】
【発明の効果】以上説明したように本発明によれば、論
理シミュレーションを実行する論理シミュレーション装
置において、論理シミュレーションにおいて繰返し実行
されるサブルーチンを検出し、その検出されたサブルー
チンを代行することで、サブルーチンのシミュレーショ
ン回数を検証に必要な数に制限し、それ以上の処理を代
行させることによって、人手によるシミュレーションベ
クトルの作直しやソフトウェアの作直しを必要とするこ
となく、不要なシミュレーションの繰返しを避けること
ができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例によるシミュレーション装置
の構成を示すブロック図である。
【図2】本発明の一実施例による論理検証の高速化手法
の処理を示すフローチャートである。
【図3】本発明の一実施例によるシミュレーション処理
を示すシーケンスチャートである。
【図4】従来例によるシミュレーション装置の構成を示
すブロック図である。
【符号の説明】
1 シミュレーションモデル 2 トレーサ 3 エージェント 4 シミュレータ 5 ディスク装置 41 制御メモリ
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/28

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】 論理シミュレーションを実行する論理シ
    ミュレーション装置であって、前記論理シミュレーショ
    ンにおいて繰返し実行されるサブルーチンを検出する検
    出手段と、前記検出手段で検出された前記サブルーチン
    を代行する代行手段とを有し、前記サブルーチンのシミ
    ュレーション回数を検証に必要な数に制限し、それ以上
    の処理を前記代行手段に代行させることを特徴とする論
    理シミュレーション装置。
  2. 【請求項2】 前記検出手段は、前記論理シミュレーシ
    ョンをトレースすることで前記サブルーチンの繰返し処
    理を検出するよう構成したことを特徴とする請求項1記
    載の論理シミュレーション装置。
  3. 【請求項3】 前記検出手段による前記サブルーチンの
    繰返し処理の検出時に前記論理シミュレーションを一時
    停止する手段を含むことを特徴とする請求項2記載の論
    理シミュレーション装置。
  4. 【請求項4】 前記代行手段による代行処理の終了時に
    前記論理シミュレーションを再開させる手段を含むこと
    を特徴とする請求項3記載の論理シミュレーション装
    置。
  5. 【請求項5】 前記代行手段は、前記サブルーチンの代
    行が終了した時に前記論理シミュレーションに当該サブ
    ルーチンの実行結果を渡すよう構成したことを特徴とす
    る請求項1から請求項4のいずれか記載の論理シミュレ
    ーション装置。
  6. 【請求項6】 論理シミュレーションを実行する論理シ
    ミュレーション装置の論理検証の高速化手法であって、
    前記論理シミュレーションにおいて繰返し実行されるサ
    ブルーチンを検出するステップと、検出された前記サブ
    ルーチンを代行するステップとを有し、前記サブルーチ
    ンのシミュレーション回数を検証に必要な数に制限し、
    それ以上の処理を他の手段で代行するようにしたことを
    特徴とする論理検証の高速化手法。
  7. 【請求項7】 前記サブルーチンを検出するステップ
    は、前記論理シミュレーションをトレースすることで前
    記サブルーチンの繰返し処理を検出するようにしたこと
    を特徴とする請求項6記載の論理検証の高速化手法。
  8. 【請求項8】 前記サブルーチンの繰返し処理の検出時
    に前記論理シミュレーションを一時停止するステップを
    含むことを特徴とする請求項7記載の論理検証の高速化
    手法。
  9. 【請求項9】 前記サブルーチンの代行処理の終了時に
    前記論理シミュレーションを再開させるステップを含む
    ことを特徴とする請求項8記載の論理検証の高速化手
    法。
  10. 【請求項10】 前記サブルーチンを代行するステップ
    は、前記サブルーチンの代行が終了した時に前記論理シ
    ミュレーションに当該サブルーチンの実行結果を渡すよ
    うにしたことを特徴とする請求項6から請求項9のいず
    れか記載の論理検証の高速化手法。
  11. 【請求項11】 コンピュータに、論理シミュレーショ
    ンを実行させるための論理検証の高速化制御プログラム
    を記録した記録媒体であって、前記高速化制御プログラ
    ムは前記コンピュータに、前記論理シミュレーションに
    おいて繰返し実行されるサブルーチンを検出させ、検出
    された前記サブルーチンを代行させることで、前記サブ
    ルーチンのシミュレーション回数を検証に必要な数に制
    限し、それ以上の処理を代行させるようにしたことを特
    徴とする論理検証の高速化制御プログラムを記録した記
    録媒体。
  12. 【請求項12】 前記高速化制御プログラムは前記コン
    ピュータに、前記サブルーチンを検出させる際に、前記
    論理シミュレーションをトレースさせることで前記サブ
    ルーチンの繰返し処理を検出させることを特徴とする請
    求項11記載の論理検証の高速化制御プログラムを記録
    した記録媒体。
  13. 【請求項13】 前記高速化制御プログラムは前記コン
    ピュータに、前記サブルーチンの繰返し処理の検出時に
    前記論理シミュレーションを一時停止させることを特徴
    とする請求項12記載の論理検証の高速化制御プログラ
    ムを記録した記録媒体。
  14. 【請求項14】 前記高速化制御プログラムは前記コン
    ピュータに、前記サブルーチンの代行処理の終了時に前
    記論理シミュレーションを再開させることを特徴とする
    請求項13記載の論理検証の高速化制御プログラムを記
    録した記録媒体。
  15. 【請求項15】 前記高速化制御プログラムは前記コン
    ピュータに、前記サブルーチンを代行させる際に、前記
    サブルーチンの代行が終了した時に前記論理シミュレー
    ションに当該サブルーチンの実行結果を渡させることを
    特徴とする請求項11から請求項14のいずれか記載の
    論理検証の高速化制御プログラムを記録した記録媒体。
JP10185792A 1998-07-01 1998-07-01 論理シミュレーション装置及びそれに用いる論理検証の高速化手法並びにその制御プログラムを記録した記録媒体 Expired - Fee Related JP3099810B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10185792A JP3099810B2 (ja) 1998-07-01 1998-07-01 論理シミュレーション装置及びそれに用いる論理検証の高速化手法並びにその制御プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10185792A JP3099810B2 (ja) 1998-07-01 1998-07-01 論理シミュレーション装置及びそれに用いる論理検証の高速化手法並びにその制御プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2000020346A JP2000020346A (ja) 2000-01-21
JP3099810B2 true JP3099810B2 (ja) 2000-10-16

Family

ID=16176983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10185792A Expired - Fee Related JP3099810B2 (ja) 1998-07-01 1998-07-01 論理シミュレーション装置及びそれに用いる論理検証の高速化手法並びにその制御プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3099810B2 (ja)

Also Published As

Publication number Publication date
JP2000020346A (ja) 2000-01-21

Similar Documents

Publication Publication Date Title
JP3099810B2 (ja) 論理シミュレーション装置及びそれに用いる論理検証の高速化手法並びにその制御プログラムを記録した記録媒体
CN112416536B (zh) 提取处理器执行上下文的方法及处理器
CN115588458A (zh) 存储设备测试方法、系统、设备和可读存储介质
US10922249B2 (en) Input/output control code filter
JP2828590B2 (ja) マイクロプログラム検証方法
JP7084505B2 (ja) 検証装置および検証方法
JP3129286B2 (ja) システムレベルシミュレーション方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体
JP3110391B2 (ja) プログラム再実行方法
JP3278588B2 (ja) プログラム開発支援装置及びプログラム開発支援方法
JP3057191B2 (ja) 論理シミュレーション支援システム
JP2704117B2 (ja) シミュレータ
JP2001051864A (ja) データ処理装置の試験実行方式
JP4378061B2 (ja) 画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3137094B2 (ja) シミュレーション方法、シミュレーション装置及びその記録媒体
JP3057192B2 (ja) 論理シミュレーション支援システム
JPS63300330A (ja) ファ−ムウェアのデバッグ方法
JPH0895817A (ja) 情報処理装置の試験方法
JPH10187494A (ja) シミュレーション装置
JP2001147830A (ja) リアルタイムosの状態変更方法
JPH11149489A (ja) シミュレーション装置
CN117389470A (zh) 一种nvme固态硬盘仿真方法
JP2908446B1 (ja) コンピュータシミュレータ及びシミュレーション方法
JP2001209555A (ja) 入出力エミュレーション装置、入出力装置のエミュレーション方法および入出力装置エミュレーションプログラムを記録した記録媒体
JPH0727479B2 (ja) マイクロプログラム論理検証方式
JPH11250115A (ja) エミュレータを用いた論理検証方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees