JP2003140919A - プロセッサのルーチン実行順を検証するシミュレーション方法並びにデバッグ方法、デバッガプログラム及びその記録媒体 - Google Patents
プロセッサのルーチン実行順を検証するシミュレーション方法並びにデバッグ方法、デバッガプログラム及びその記録媒体Info
- Publication number
- JP2003140919A JP2003140919A JP2001335219A JP2001335219A JP2003140919A JP 2003140919 A JP2003140919 A JP 2003140919A JP 2001335219 A JP2001335219 A JP 2001335219A JP 2001335219 A JP2001335219 A JP 2001335219A JP 2003140919 A JP2003140919 A JP 2003140919A
- Authority
- JP
- Japan
- Prior art keywords
- routine
- interrupt
- processor
- storage unit
- program
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
動作を容易かつ効率的に検証する。 【解決手段】プロセッサ23、プログラムRAM24、
データRAM25及び周辺I/O装置26がバスで接続
された被検証モデル21並びに周辺I/O装置26を介
しプロセッサ23に割り込みをかけるテストベンチ22
をハードウェア記述言語で記述し、プロセッサ23で処
理するためのメインルーチン及び各割り込み要因に応じ
た割り込み処理ルーチンを含むテストプログラム14を
アセンブリ言語で記述し、各割り込み処理ルーチン内
に、データRAM25内のトレース記憶領域RVに割り
込み処理ルーチン識別コードを書き込む命令を挿入す
る。被検証モデル21及びテストベンチ22をシミュレ
ートした後、トレース値RVと期待値EVとを比較して
割り込みルーチン実行順を検証する。
Description
チン実行順を検証するシミュレーション方法並びにルー
チン実行順を検証するデバッグ方法、デバッガプログラ
ム及びその記録媒体に関する。
含む回路を論理設計し、MPUに割り込みをかけるシミ
ュレーションによりルーチン実行順を論理検証する場
合、従来では、割り込みに関係した信号波形をテストベ
ンチで記録して読み出し、これを期待値パターンと比較
していた。
みに関する信号波形をクロックサイクル単位で考慮して
期待値パターンを作成しなければならず、この作成に回
路設計者並みの技術レベルが要求される。期待値パター
ンを作成せずに波形を目視してその適否を判断する場合
も同様である。時間軸上での複数の割り込みの組み合わ
せ数が多いので、検証項目が多く、このような問題が著
しくなる。さらに、論理設計されたMPUの品種毎に、
割り込みに関する信号の違いを考慮して期待値パターン
を作成しなければならないので、検証作業効率が悪い。
割り込み以外の外部信号に対しルーチン実行順を検証す
る場合についても同様である。
み、論理設計されたプロセッサの外部信号に対する動作
を容易かつ効率的に検証することが可能なシミュレーシ
ョン方法を提供することにある。
による、プロセッサのルーチン実行順を検証するシミュ
レーション方法の一態様では、次のステップ(a)〜
(e)を有する。
スされる記憶部とを含む被検証モデルをハードウェア記
述言語で記述する。
テストベンチを該ハードウェア記述言語で記述する。
のルーチンを含み該外部信号に応じてルーチン実行順が
変化するテストプログラムを記述し、トレースのため各
ルーチン内に、該ルーチンを識別するコードを該記憶部
に書き込むとともに書き込みアドレスを変化させる命令
を挿入する。
をシミュレートする。
識別コードの列に基づいて該プロセッサのルーチン実行
順を検証する。
サイクル単位の波形の期待値パターンを生成する替わり
に、テストプログラムの各ルーチンに、該ルーチンを識
別するコードを該記憶部に書き込むとともに書き込みア
ドレスを変化させる命令を挿入し、テストベンチに応じ
て、処理ルーチン識別コードの列からなるルーチン実行
順期待値を予め求めておくことにより、ルーチン実行順
を検証することができ、回路設計者並みの技術レベルを
有していなくても、論理設計されたプロセッサの外部信
号に対する動作を容易かつ効率的に検証することができ
る。
グラムのルーチン実行順を検証するデバッグ方法の一態
様では、(a)各ルーチン内に、プロセッサに対しルー
チン識別情報を記憶部に書き込ませるとともにその書き
込みアドレスを変化させる処理コード又は該ルーチン識
別情報をトレースファイルに書き込ませる処理コードを
挿入し、(b)該プログラムを実行させた後に該記憶部
又は該トレースファイルの内容に基づいて該プログラム
のルーチン実行順を確認する。
コードを挿入することにより複数のルーチンの実行順を
容易に検証することができる。
では、上記デバッグ方法のステップ(a)を容易に実行
するために、入力装置の所定操作に応答してコンピュー
タに対し、所定ルーチン内、例えばカーソル位置の行の
ソースコードを含むルーチン内又は全ての割り込み処理
ルーチン内に、このルーチンの識別情報を記憶部に書き
込ませるとともにその書き込みアドレスを変化させる処
理コード又は該ルーチン識別情報をトレースファイルに
書き込ませる処理コードを挿入させる。
説明から明らかになる。
施形態を説明する。
施形態の、プロセッサのルーチン実行順を検証するシミ
ュレーション装置の概略機能ブロック図である。
11、表示装置12及び外部記憶装置が接続されたコン
ピュータシステムである。この外部記憶装置には、論理
設計された被検証モデル(プロセッサ)13と、被検証
モデル13を動作させるテストプログラム14と、被検
証モデル13の動作中に被検証モデル13との間で信号
を授受し被検証モデル13の動作終了後にルーチン実行
順を検証するテストベンチ15とが格納され、外部記憶
装置はさらに検証結果16の格納領域を有する。
ソフトウエア機能ブロック17〜30について説明す
る。
においてルーチン実行順を容易にトレース可能にするた
めに、ソースコードエディタ17が起動され、入力装置
11の操作に応じてテストプログラム14に後述のルー
チン識別コード書き込み命令が挿入される。テストプロ
グラム14は、相対アドレスで記述された複数のルーチ
ンと期待値データとを含む、アセンブリ言語で記述され
たソースコードであり、これらはアセンブラ18により
絶対アドレスのマシンコードと期待値データとに変換さ
れて記憶部19に格納される。
いずれもハードウエア記述言語(HDL)、例えばVe
rilog−HDLで記述されており、シミュレータ2
0によりそれぞれコンピュータで実行が容易なコードに
変換されて被検証モデル21及びテストベンチ22にな
る。シミュレータ20は、入力装置11の操作により生
成されるスタート指令に応答して、シミュレーション対
象の被検証モデル21とテストベンチ22とを動作させ
る。
MPU23と、プログラムRAM24と、期待値EV及
びこれに対応したルーチン実行順のトレース値RVが格
納されるデータRAM25と、周辺I/O装置26とが
バスで接続されている。周辺I/O装置26は、割り込
み入力を有するI/OインタフェースやDMAコントロ
ーラなどのバスマスタを備えている。MPU23、RA
M24、RAM25及び周辺I/O装置26は、これら
が1つの半導体チップで構成されていても複数の半導体
チップで構成されていてもよい。
により生成されるロード指令に応答して、記憶部19に
格納されているマシンコード及び期待値データを、プロ
グラムRAM24のプログラムに従って周辺I/O26
を介しそれぞれ被検証モデル21のプログラムRAM2
4及びデータRAM25にロードさせる。
の動作中において、信号生成部27はプログラムされた
シーケンスに従い周辺I/O装置26との間で信号を授
受し、信号生成部27の入出力信号波形を出力処理部3
0に供給する。
いたメモリ転送命令の実行などにより、周辺I/O装置
26からMPU23に割り込みがかけられ、また、割り
込み命令、例えばINT#0〜INT#15の実行によ
り割り込みが生じ、さらに、計算結果のオーバフローや
除数0の除算実行などにより内部割り込みが生じて、実
行ルーチンが変化する。
し部28はデータRAM25から期待値EVとトレース
値RVとを読み出し、比較部29は期待値EVとトレー
ス値RVとを比較してその結果を出力処理部30に供給
する。出力処理部30は、該入出力信号波形及び比較結
果を検証結果16として外部記憶装置に格納すると共
に、その概略を表示装置12に表示させ、入力装置11
の操作に応じてその詳細を表示装置12に表示させる。
チ22を起動させたときの動作例を示す。
れ、時点t0でスタックポインタSPの値がトレース値
RVとしてデータRAM25の所定アドレスADRに書
き込まれ、このアドレスADRがインクリメントされ
る。
ーチン識別コード書き込み命令が挿入されている。この
命令は、実行中のルーチンを識別するコードをデータR
AM25の所定アドレスに書き込み、さらに該アドレス
をインクリメントする命令であり、図2では割り込み処
理ルーチンICR5_INT、ICR3_INT及びI
CR15_INTにおいてそれぞれ時点t1〜t3で実
行される。メインルーチンMAIN実行中の最初の割り
込み前の時点t0及び最後の割り込み処理完了後の時点
t4では、スタックポインタSPの内容をトレース値R
Vとして書き込む命令が挿入されている。
り込みレベルの値が小さいほど優先順位が高い。各割り
込みレベルには、1つ又は複数の割り込み要因が対応
し、割り込み要因iに対しMPU23に割り込み制御レ
ジスタICRiが備えられ、iは例えば0〜15のいず
れかである。割り込み制御レジスタICRiは、同一割
り込みレベル内の優先順位を定めたり、割り込みマスク
をセット又はリセットするためのものである。周辺I/
O装置26からMPU23へ割り込み要求信号IRQi
が供給され、MPU23から周辺I/O装置26へアク
ノリジ信号ACKiが供給される。割り込み要求信号I
RQiは割り込み要因iに対応し、割り込み要求信号I
RQiがMPU23で受け付けられると、アクノリッジ
信号ACKiが活性化され、周辺I/O装置26はこれ
に応答して割り込み要求信号IRQiを不活性にする。
割り込み要求信号IRQiが受け付けられると、割り込
み処理ルーチンICRi_INTが実行され、この実行
中には割り込み要求信号IRQiより低い優先順位の割
り込みが禁止される。各割り込み処理ルーチンの最終ス
テップはRETI(リターン・フロム・インタープッ
ト)命令であり、その実行が完了すると、この割り込み
禁止が解除される。
装置26に供給される信号に基づいて、割り込み要求信
号IRQ5、IRQ3及びIRQ15がほぼ同時に立ち
上がる。命令実行中にMPU23に割り込みがかかる
と、MPU23はこの命令の実行を完了した後に、優先
順位に従って割り込み要求を受け付ける。図2では、こ
の完了時に割り込み要求信号IRQ5、IRQ3及びI
RQ15がいずれも高レベルになっている。
IRQ15であり、割り込み要求信号IRQ5が最初に
受け付けられてアクノリッジ信号ACK5が活性化さ
れ、これに応答して割り込み要求信号IRQ5が立ち下
げられ、これに応答してアクノリッジ信号ACK5が不
活性にされる。割り込み処理ルーチンICR5_INT
の実行中において、時点t1でルーチン識別コード書き
込み命令が実行され、ルーチン識別コードRVとして1
405h(hは16進数であることを示す)が書き込ま
れ、この書き込みアドレスがインクリメントされる。ル
ーチン識別コード1405hの最上位の1はハードウエ
ア割り込みであることを示し、次の4は割り込みレベル
を示し、次の05はこの割り込みが割り込み制御レジス
タICR5に対応していることを示している。
のRETI命令の実行が完了すると、次に割り込みレベ
ル5の割り込み要求信号IRQ3が受け付けられて割り
込み処理ルーチンICR3_INTが実行される。IC
R3_INT実行中において、時点t2でルーチン識別
コード書き込み命令が実行され、ルーチン識別コードR
Vとして1503hが書き込まれ、この書き込みアドレ
スADRがインクリメントされる。
のRETI命令の実行が完了すると、次に割り込みレベ
ル6の割り込み要求信号IRQ15が受け付けられて割
り込み処理ルーチンICR15_INTが実行される。
割り込み処理ルーチンICR15_INTの実行中にお
いて、時点t3でルーチン識別コード書き込み命令が実
行され、ルーチン識別コードRVとして1615hが書
き込まれ、この書き込みアドレスADRがインクリメン
トされる。
中のRETI命令の実行が完了すると、中断されていた
メインルーチンMAINの実行が再開され、時点t4で
スタックポインタSPの値がトレース値RVとして書き
込まれる。
スタックポインタSPの値が等しくなる。図2ではスタ
ックポインタのトレース値RVとこれに対応する期待値
EVとが互いに等しい場合、すなわち正常動作の場合を
示している。スタックポインタSPの値をRVとして挿
入することにより、メインルーチンが実行されたことも
確認することができる。
マシンコード(1命令)である。これは、1命令実行中
には割り込みが受け付けられないので、割り込み処理ル
ーチン実行中に、より優先順位の高い割り込みが生じて
も、ルーチン識別コードRVが割り込み順に書き込まれ
るようにするためである。
に示す。
xecuteはicr5に対応した割り込み処理ルーチ
ンの名前であり、その次のステップからretiまでが
このルーチンである。このルーチン中のルーチン識別コ
ード書き込み命令、movw ea @rw1+,#0
1405hにおいて、movw、ea、@rw1、+及
び#01405hはそれぞれ、1ワード転送命令、実行
アドレス、間接アドレスrw1、1ワード転送が完了す
ると間接アドレスrw1の内容がインクリメントされる
こと、即値が01405hであることを示す。すなわ
ち、この命令は、ルーチン識別コードとしての即値01
205hをアドレス@rw1に格納した後、アドレス@
rw1をインクリメントすることを示している。
ある場合のテストベンチ15の具体例を次の表IIに示
す。
期待値EVの比較結果の具体例を次の表IIIに示す。
ル単位の波形の期待値パターンを生成する替わりに、テ
ストプログラム14の各割り込み処理ルーチンにルーチ
ン識別コード書き込み命令を挿入し、テストベンチ15
に応じてルーチン識別コードの列からなるルーチン実行
順期待値を予め求めておくことにより、割り込み処理ル
ーチン実行順を検証することができ、回路設計者並みの
技術レベルを有していなくてもこの検証を容易かつ効率
的に行うことができる。
施形態の、プロセッサのルーチン実行順を検証するシミ
ュレーション装置の概略機能ブロック図である。
プログラム14Aに含まれずに、テストベンチ15Aに
含まれている。これに対応して、記憶部19Aには期待
値データが格納されず、テストベンチ22Aの記憶部3
1に期待値データが格納されている。したがって、読み
出し部28は、データRAM25からルーチン識別コー
ドRVのみを読み出し、比較部29はこれと期待値記憶
部31の期待値とを比較する。
ログラム14Aに対し複数のテストベンチ15Aを対応
させることができ、また、記憶部31に格納される期待
値データが信号生成部27の信号授受シーケンスに対応
して作成されるので、第1実施形態よりも信号生成部2
7と期待値データとの対応関係がより明確になる。
施形態の、プロセッサのルーチン実行順を検証するシミ
ュレーション装置の概略機能ブロック図である。
図3の被検証モデル13と異なっている。すなわち、被
検証モデル21Aは図3の被検証モデル21にさらに、
トレース値RV格納用のFIFO(First In First Ou
t)メモリ32を備え、データRAM25にはトレース
値RVが格納されない。
ク図である。
4は最初にゼロクリアされている。リード/ライト制御
回路35は、アドレスADRがFIFOメモリ32を指
定している時、R/W信号が低レベルであれば、ライト
ポインタ33で指定されるメモリ36内のアドレスにデ
ータDINを書き込み、ライトポインタ33をインクリ
メントし、R/W信号が高レベルであれば、リードポイ
ンタ34で指定されるメモリ36内のアドレスからデー
タを読み出しDOUTとして出力し、リードポインタ3
4をインクリメントする。図5では、メモリ36に図2
と同じルーチン識別コードのトレース値RVが格納され
ている場合を示す。
ば、FIFOメモリ32内でライトポインタ33が自動
インクリメントされ、FIFOメモリ32を1つのアド
レス値で指定することができるので、上記第1実施形態
で用いたアドレス自動インクリメント可能なmovw命
令をMPU23の命令体系が持っていなくても、1命令
のルーチン識別コード書き込み命令を各割り込み処理ル
ーチンに挿入することができる。
なくても、これを検証時のみ的に用いることができる。
また、FIFOメモリ32の替わりにLIFO(Last I
n First Out)メモリを用いてもよい。
施形態の、プロセッサのルーチン実行順を検証するシミ
ュレーション装置の概略機能ブロック図である。
がテストベンチ15Bに含まれずに、テストプログラム
14Bに含まれている。すなわち、テストベンチ22B
に図1の比較部29が含まれずに、記憶部19Bのマシ
ンコードに比較プログラムが含まれている。比較プログ
ラムは例えば、メインルーチンMAINの最終ステップ
から呼び出されるサブルーチンであり、データRAM2
5に格納されている期待値EVとトレース値RVとを比
較し、その結果RTを、データRAM25に格納するも
のである。比較プログラムは、MPU23の品種によら
ず共通に利用することができる。テストベンチ22Bの
読み出し部28は、比較結果RTを出力処理部30に供
給する。
2Bの構成が簡単になる。
施形態の、プロセッサのルーチン実行順を検証するシミ
ュレーション装置の概略機能ブロック図である。
納された比較結果RTが周辺I/O装置26を介し、テ
ストベンチ22Cの信号生成部27Aで読み出されて、
出力処理部30に供給されるように、テストプログラム
14Cが作成されている。
は、例えば図1において、入力装置11の操作に基づき
ソースコードエディタ17を介し各割り込み処理ルーチ
ンの先頭の命令の直前とRETI命令の直前に、ルーチ
ン識別コード書き込み命令が挿入される。
チン識別コード書き込み命令の実行によるルーチン識別
コードを示す。
最初のステップでルーチン識別コード書き込み命令が実
行されて170A0hがルーチン識別コードRVとして
格納される。このルーチンを実行中に、割り込み要求信
号IRQAより優先順位の高い割り込み要求信号IRQ
9が受け付けられて、割り込み処理ルーチンICR9_
INTが実行される。この処理が終了した後に割り込み
処理ルーチンICRA_INTの残りの処理が行われ、
ルーチン識別コード書き込み命令の実行により170A
1hがルーチン識別コードRVとして格納される。
ICR9_INTが、割り込み処理ルーチンICRA_
INTの実行が中断されて行われたのか完了してから行
われたのかをトレース値RVにより区別することができ
る。
の先頭及び最後に、スタックポインタSPの内容をルー
チン識別コードRVとして書き込む命令が挿入されてい
る。
1のソースコードエディタ17が起動している時におけ
る表示装置12の画面の概略を示す。
書き込み命令挿入ボタン41を含むツールバー42が表
示されている。ツールバー42の下方には、ある割り込
み処理ルーチン43のソースコードが表示されている。
カーソル44は、割り込み処理ルーチン43中に位置し
ている。この状態でルーチン識別コード書き込み命令挿
入ボタン41をポインティングデンバイスでポイントし
てクリックすると、図9(B)に示す如く、カーソル4
4の次行にルーチン識別コード書き込み命令45が自動
的に挿入される。
ーチャートである。
を含むルーチンの名前を取得する。図9(A)の場合、
割り込み処理ルーチン43の先頭のラベル「ICR5_
INT」を取得する。
れた規則に従ってルーチン識別コードを生成する。例え
ばこのラベルの先頭から4文字目の文字「5」をルーチ
ン識別コードと決定する。
ン識別コード書き込み命令45を挿入する。
ード書き込み命令の挿入処理を容易に行うことができ
る。
は、図9(A)の状態でルーチン識別コード書き込み命
令挿入ボタン41をポイントしてクリックすると、割り
込み処理ルーチン43の先頭命令の前とRETI命令の
前とにそれぞれ図11に示す如くルーチン識別コード書
き込み命令45及び46が自動的に挿入される。
ルーチン識別コードの挿入処理が容易に行われる。
ーチャートである。
るステップと同一である。
を含むルーチンの識別ラベルの次に、ステップS2で生
成されたルーチン識別コードと先頭であることを示す
「0」とを即値(ルーチン識別コード)として含むルー
チン識別コード書き込み命令、例えば、movw ea
@rw1+,#50hを挿入する。
に、ステップS2で生成されたルーチン識別コードとR
ETI命令の前であることを示す「1」とを即値(ルー
チン識別コード)として含むルーチン識別コード書き込
み命令、例えば、movw ea @rw1+,#51
hを挿入する。
まれる。
は複数ステップで構成されていてもよい。この場合、最
初に割り込みマスクをセットし、最後に割り込みマスク
をリセットする。また、ルーチン識別コード書き込み命
令とともに、送受信エラーなどのハードウェア(被検証
モデル)の状態を示すステータスレジスタの内容をトレ
ース値RVとしてデータRAM25に書き込み、次の書
き込みのためにその書き込みアドレスを変化させる命令
をテストプログラム14に挿入してもよい。このステー
タスレジスタは、MPU23又は周辺I/O26などに
含まれている。
よって変化するルーチン又は命令の実行順を検証する場
合にも適用できる。
セッサのルーチン実行順を検証するシミュレーション方
法のみならず、各種プログラムのデバッグ用に用いるこ
とができる。この場合、ルーチン識別コードのトレース
値RVはトレース結果ファイルに格納してもよく、ま
た、期待値EVを予め作成する必要はない。
挿入ボタン41のクリックなどの指令に応答して、全て
の割り込み処理ルーチン又は全てのルーチンにルーチン
識別コード書き込み命令を自動挿入する構成であっても
よい。
る。
サでアクセスされる記憶部とを含む被検証モデルをハー
ドウェア記述言語で記述し、(b)該プロセッサに外部
信号を供給するテストベンチを該ハードウェア記述言語
で記述し、(c)該プロセッサで処理するための複数の
ルーチンを含み該外部信号に応じてルーチン実行順が変
化するテストプログラムを記述し、トレースのため各ル
ーチン内に、該ルーチンを識別するコードを該記憶部に
書き込むとともに書き込みアドレスを変化させる命令を
挿入し、(d)該被検証モデル及び該テストベンチをシ
ミュレートし、(e)該記憶部に書き込まれた該ルーチ
ン識別コードの列に基づいて該プロセッサのルーチン実
行順を検証する、ステップを有することを特徴とする、
プロセッサのルーチン実行順を検証するシミュレーショ
ン方法。(1) (付記2)上記プロセッサは割り込み可能であり、上記
外部信号は割込み信号を含み、上記テストプログラムは
割り込み要因に応じた割り込み処理ルーチンを含むこと
を特徴とする付記1記載のシミュレーション方法。
(2) (付記3) 上記ステップ(c)では、上記命令を上記
割り込み処理ルーチンの先頭と割り込みからのリターン
命令の直前に挿入することを特徴とする付記2記載のシ
ミュレーション方法。(3) (付記4)(f)上記シミュレートする前に上記割り込
み処理ルーチン識別コードの列の期待値を上記記憶部又
は他の記憶部に格納するステップをさらに有し、上記ス
テップ(e)では、該シミュレートした後に該割り込み
処理ルーチン識別コードの列と該期待値とを比較する、
ことを特徴とする付記2又は3記載のシミュレーション
方法。(4) (付記5)上記ステップ(b)のテストベンチは、上記
比較を行うプログラムを含むことを特徴とする付記3記
載のシミュレーション方法。
ログラムは、上記比較を行うプログラムを含み、上記ス
テップ(e)での比較は、上記プロセッサによりこのプ
ログラムに従って行われることを特徴とする付記3記載
のシミュレーション方法。
は、上記他の記憶部に格納され、該他の記憶部は上記テ
ストベンチに含まれていることを特徴とする付記3記載
のシミュレーション方法。
FIFOメモリ又はLIFOメモリを有し、上記ステッ
プ(c)の所定アドレスは該FIFOメモリ又はLIF
Oメモリを選択するアドレスであることを特徴とする付
記1乃至6のいずれか1つに記載のシミュレーション方
法。(5) (付記9)上記ステップ(c)の割り込み処理ルーチン
識別コードは、ハードウェア割り込みであるかソフトウ
ェア割り込みであるかを示す部分と、ハードウェア割り
込みである場合には対応する割り込み制御レジスタの番
号、ソフトウェア割り込みの場合は割り込み命令番号と
を含むことを特徴とする付記2乃至8のいずれか1つに
記載のシミュレーション方法。
さらに、上記複数のルーチンのうちメインルーチン内
に、上記記憶部の所定アドレスにスタックポインタの値
を書き込む命令を挿入することを特徴とする付記1記載
のシミュレーション方法。
ラムのルーチン実行順を検証するデバッグ方法におい
て、(a)各ルーチン内に、プロセッサに対しルーチン
識別情報を記憶部に書き込ませるとともにその書き込み
アドレスを変化させる処理コード又は該ルーチン識別情
報をトレースファイルに書き込ませる処理コードを挿入
し、(b)該プログラムを実行させた後に該記憶部又は
該トレースファイルの内容に基づいて該プログラムのル
ーチン実行順を確認する、ことを特徴とするデバッグ方
法。(6) (付記12)上記ステップ(a)では、上記ルーチンが
割り込み処理ルーチンである場合、該割り込み処理ルー
チンの先頭と割り込みからのリターン命令の直前に上記
処理コードを挿入することを特徴とする付記11記載の
デバッグ方法。(7) (付記13)入力装置の所定操作に応答してコンピュー
タに対し、所定ルーチン内にこのルーチンの識別情報を
記憶部に書き込ませるとともにその書き込みアドレスを
変化させる処理コード又は該ルーチン識別情報をトレー
スファイルに書き込ませる処理コードを挿入させること
を特徴とするデバッガプログラム。(8) (付記14)上記所定ルーチンは、カーソル位置の行の
ソースコードを含むルーチンであることを特徴とする付
記13記載のデバッガプログラム。
割り込み処理ルーチンの各々であることを特徴とする付
記13記載のデバッガプログラム。(9) (付記16)上記処理コードが挿入される位置は、カー
ソル位置の行の1つ前又は後であることを特徴とする付
記13記載のデバッガプログラム。
位置は、上記ルーチンの先頭処理ステップ及び最終処理
ステップであることを特徴とする付記13記載のデバッ
ガプログラム。
れか1つに記載のデバッガプログラムが記録されている
ことを特徴とするコンピュータ読み取り可能な記録媒
体。(10)
ン実行順を検証するシミュレーション装置の概略機能ブ
ロック図である。
トベンチを起動させたときの動作例を示す図である。
ン実行順を検証するシミュレーション装置の概略機能ブ
ロック図である。
ン実行順を検証するシミュレーション装置の概略機能ブ
ロック図である。
る。
ン実行順を検証するシミュレーション装置の概略機能ブ
ロック図である。
ン実行順を検証するシミュレーション装置の概略機能ブ
ロック図である。
チン識別コード書き込み命令の実行によるルーチン識別
コードとを示す図である。
ーチン識別コード書き込み命令自動挿入処理説明図であ
る。
ートである。
書き込み命令自動挿入処理説明図である。
ャートである。
ベンチ 16 検証結果 17 ソースコードエディタ 18 アセンブラ 19、19A〜19C 記憶部 20 シミュレータ 23 MPU 24 プログラムRAM 25 データRAM 26 周辺I/O装置 27、27A 信号生成部 28 読み出し部 29 比較部 30 出力処理部 31 期待値記憶部 32 FIFOメモリ 40 画面 41 ルーチン識別コード挿入ボタン 42 ツールバー 43、43A 割り込み処理ルーチン 44 カーソル 45、46 ルーチン識別コード書き込み命令 ICR0_INT〜ICR9_INT、ICRA_IN
T 割り込み処理ルーチン EV 期待値 RV トレース値 RT 比較結果 IRQ5、IRQ9、IRQA 割り込み要求信号 ACK5、ACK9、ACKA アクノリッジ信号 MAIN メインルーチン SP スタックポインタ
Claims (10)
- 【請求項1】 (a)プロセッサと該プロセッサでアク
セスされる記憶部とを含む被検証モデルをハードウェア
記述言語で記述し、 (b)該プロセッサに外部信号を供給するテストベンチ
を該ハードウェア記述言語で記述し、 (c)該プロセッサで処理するための複数のルーチンを
含み該外部信号に応じてルーチン実行順が変化するテス
トプログラムを記述し、トレースのため各ルーチン内
に、該ルーチンを識別するコードを該記憶部に書き込む
とともに書き込みアドレスを変化させる命令を挿入し、 (d)該被検証モデル及び該テストベンチをシミュレー
トし、 (e)該記憶部に書き込まれた該ルーチン識別コードの
列に基づいて該プロセッサのルーチン実行順を検証す
る、 ステップを有することを特徴とする、プロセッサのルー
チン実行順を検証するシミュレーション方法。 - 【請求項2】 上記プロセッサは割り込み可能であり、
上記外部信号は割込み信号を含み、上記テストプログラ
ムは割り込み要因に応じた割り込み処理ルーチンを含む
ことを特徴とする請求項1記載のシミュレーション方
法。 - 【請求項3】 上記ステップ(c)では、上記命令を上
記割り込み処理ルーチンの先頭と割り込みからのリター
ン命令の直前に挿入することを特徴とする請求項2記載
のシミュレーション方法。 - 【請求項4】 (f)上記シミュレートする前に上記割
り込み処理ルーチン識別コードの列の期待値を上記記憶
部又は他の記憶部に格納するステップをさらに有し、 上記ステップ(e)では、該シミュレートした後に該割
り込み処理ルーチン識別コードの列と該期待値とを比較
する、 ことを特徴とする請求項2又は3記載のシミュレーショ
ン方法。 - 【請求項5】 上記ステップ(a)の記憶部はFIFO
メモリ又はLIFOメモリを有し、上記ステップ(c)
の所定アドレスは該FIFOメモリ又はLIFOメモリ
を選択するアドレスであることを特徴とする請求項1乃
至3のいずれか1つに記載のシミュレーション方法。 - 【請求項6】 複数のルーチンを含むプログラムのルー
チン実行順を検証するデバッグ方法において、 (a)各ルーチン内に、プロセッサに対しルーチン識別
情報を記憶部に書き込ませるとともにその書き込みアド
レスを変化させる処理コード又は該ルーチン識別情報を
トレースファイルに書き込ませる処理コードを挿入し、 (b)該プログラムを実行させた後に該記憶部又は該ト
レースファイルの内容に基づいて該プログラムのルーチ
ン実行順を確認する、 ことを特徴とするデバッグ方法。 - 【請求項7】 上記ステップ(a)では、割り込み処理
ルーチンである場合、該割り込み処理ルーチンの先頭と
割り込みからのリターン命令の直前に上記処理コードを
挿入することを特徴とする請求項6記載のデバッグ方
法。 - 【請求項8】 入力装置の所定操作に応答してコンピュ
ータに対し、所定ルーチン内にこのルーチンの識別情報
を記憶部に書き込ませるとともにその書き込みアドレス
を変化させる処理コード又は該ルーチン識別情報をトレ
ースファイルに書き込ませる処理コードを挿入させるこ
とを特徴とするデバッガプログラム。 - 【請求項9】 上記所定ルーチンは、全ての割り込み処
理ルーチンの各々であることを特徴とする請求項8記載
のデバッガプログラム。 - 【請求項10】 上記請求項8乃至9記載のデバッガプ
ログラムが記録されていることを特徴とするコンピュー
タ読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001335219A JP2003140919A (ja) | 2001-10-31 | 2001-10-31 | プロセッサのルーチン実行順を検証するシミュレーション方法並びにデバッグ方法、デバッガプログラム及びその記録媒体 |
US10/284,292 US20030110477A1 (en) | 2001-10-31 | 2002-10-31 | Simulation method for verifying routine execution sequence of processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001335219A JP2003140919A (ja) | 2001-10-31 | 2001-10-31 | プロセッサのルーチン実行順を検証するシミュレーション方法並びにデバッグ方法、デバッガプログラム及びその記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003140919A true JP2003140919A (ja) | 2003-05-16 |
Family
ID=19150229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001335219A Pending JP2003140919A (ja) | 2001-10-31 | 2001-10-31 | プロセッサのルーチン実行順を検証するシミュレーション方法並びにデバッグ方法、デバッガプログラム及びその記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20030110477A1 (ja) |
JP (1) | JP2003140919A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012022613A (ja) * | 2010-07-16 | 2012-02-02 | Fujitsu Ltd | 通信経路モジュール、論理検証プログラム、および論理検証方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7210116B2 (en) * | 2003-06-27 | 2007-04-24 | Robert Zeidman | Method and apparatus for synthesizing a hardware system from a software description |
US7367016B2 (en) * | 2003-07-14 | 2008-04-29 | Sun Microsystems, Inc. | Method and system for expressing the algorithms for the manipulation of hardware state using an abstract language |
JP2005128692A (ja) * | 2003-10-22 | 2005-05-19 | Matsushita Electric Ind Co Ltd | シミュレータ及びシミュレーション方法 |
US8136096B1 (en) * | 2004-07-23 | 2012-03-13 | Green Hills Software, Inc. | Backward post-execution software debugger |
JP2007226711A (ja) * | 2006-02-27 | 2007-09-06 | Hitachi Ltd | 集積回路装置、集積回路装置の診断方法、および診断回路 |
JP4890545B2 (ja) * | 2006-06-13 | 2012-03-07 | 三菱電機株式会社 | プログラマブルロジックコントローラの周辺装置 |
CN101593217B (zh) * | 2008-05-27 | 2012-05-09 | 中兴通讯股份有限公司 | 一种记录仿真波形的测试装置及记录仿真波形的方法 |
JP5141460B2 (ja) * | 2008-09-11 | 2013-02-13 | 富士通株式会社 | 制御プログラム、情報処理システム、および情報処理方法 |
US8522176B2 (en) | 2010-05-11 | 2013-08-27 | Synopsys, Inc. | Method of recording and replaying call frames for the testbench |
JP5516221B2 (ja) * | 2010-08-19 | 2014-06-11 | 富士通株式会社 | 論理検証装置及び論理検証方法 |
WO2014124443A1 (en) * | 2013-02-11 | 2014-08-14 | Inkling Systems, Inc. | Creating and editing digital content works |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016554A (en) * | 1997-07-28 | 2000-01-18 | Advanced Micro Devices, Inc. | Method for event-related functional testing of a microprocessor |
US6581191B1 (en) * | 1999-11-30 | 2003-06-17 | Synplicity, Inc. | Hardware debugging in a hardware description language |
-
2001
- 2001-10-31 JP JP2001335219A patent/JP2003140919A/ja active Pending
-
2002
- 2002-10-31 US US10/284,292 patent/US20030110477A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012022613A (ja) * | 2010-07-16 | 2012-02-02 | Fujitsu Ltd | 通信経路モジュール、論理検証プログラム、および論理検証方法 |
Also Published As
Publication number | Publication date |
---|---|
US20030110477A1 (en) | 2003-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110603528B (zh) | 调试系统和方法 | |
CN115841089B (zh) | 一种基于uvm的系统级芯片验证平台及验证方法 | |
US5594890A (en) | Emulation system for emulating CPU core, CPU core with provision for emulation and ASIC having the CPU core | |
KR100350568B1 (ko) | 디버그기능을수행하기위한데이타처리시스템및방법 | |
US5594741A (en) | Method for control of random test vector generation | |
US6123735A (en) | Method for simulating bus traffic | |
US7917348B2 (en) | Method of switching external models in an automated system-on-chip integrated circuit design verification system | |
US6571204B1 (en) | Bus modeling language generator | |
JP2003140919A (ja) | プロセッサのルーチン実行順を検証するシミュレーション方法並びにデバッグ方法、デバッガプログラム及びその記録媒体 | |
US20050273666A1 (en) | Information processing apparatus and test method for programs | |
US6212493B1 (en) | Profile directed simulation used to target time-critical crossproducts during random vector testing | |
US20050144436A1 (en) | Multitasking system level platform for HW/SW co-verification | |
US6968520B2 (en) | System verifying apparatus and method which compares simulation result based on a random test program and a function simulation | |
US6532573B1 (en) | LSI verification method, LSI verification apparatus, and recording medium | |
US7162403B2 (en) | System and method for efficiently tracing simulation data in hardware acceleration simulation systems | |
US6442514B1 (en) | Method and system for simulating a communications bus | |
US7720669B2 (en) | Method, system and computer program product for register management in a simulation environment | |
US6678841B1 (en) | Function test support system and function test support method and hardware description model | |
JP2000268074A (ja) | 検証プログラム自動生成装置および方法並びにプロパティ自動生成装置および方法 | |
JP5387521B2 (ja) | 論理検証シナリオ生成装置、及び、論理検証シナリオ生成プログラム | |
JP2004021907A (ja) | 性能評価用シミュレーションシステム | |
JP3357567B2 (ja) | プログラム評価システム | |
JPH10221410A (ja) | Lsiの自動論理検証方式 | |
JPH07253909A (ja) | マイクロプログラム検証方法 | |
JP2001256079A (ja) | ソフトウェアのデバッグ方法および論理回路のデバッグ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040524 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050524 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050708 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050809 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050927 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051122 |