JP3764447B2 - Hardware simulation device - Google Patents
Hardware simulation device Download PDFInfo
- Publication number
- JP3764447B2 JP3764447B2 JP2003193157A JP2003193157A JP3764447B2 JP 3764447 B2 JP3764447 B2 JP 3764447B2 JP 2003193157 A JP2003193157 A JP 2003193157A JP 2003193157 A JP2003193157 A JP 2003193157A JP 3764447 B2 JP3764447 B2 JP 3764447B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- request
- value
- limit value
- substitution
- 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
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明はハードウェアの設計を支援するCAD(計算機支援設計)システムに係わり、特に、作成されたハードウェアの動作を示す仕様モデルの動作をシミュレーションするハードウェアシミュレーション装置に関する。
【0002】
【従来の技術】
例えばCAD装置で作成された集積回路に組込まれる論理回路等のハードウェアの動作をシミュレーションするハードウェアシミュレーション装置は、このハードウェアの仕様モデルに記述にされた各動作要求を読取って順番に実行していく。
【0003】
例えば、ハードウェアの仕様モデルが複数の動作単位(プロセス)で構成されていた場合には、第1の動作単位に与えられた信号を入力して、この動作単位の出力を変化さる。次に、この第1の動作単位の変化した出力信号を第2の動作単位へ入力させて、この第2の動作単位に含まれる各動作要求を実行する。そして、この第2の動作単位の出力値を得る。
【0004】
そして、ハードウェアの設計者は、そのシミュレーション動作を途中で止めたり、内部状態を参照したり、内部状態を書換えたりしながらシミュレーションの時刻を進めていく。
【0005】
【発明が解決しようとする課題】
しかしながら、上述したようなハードウェアシミュレーション装置においては、信号に設定した値の範囲について妥当性を知ることができないという技術的課題がある。すなわち、シミュレーション実行過程中に各信号が実際に取る値の範囲を記憶しておき、作成された仕様モデルにおいてその信号に与えられている値の範囲と比較する機能は提供されていない。したがって、ある信号において実際はある一定範囲の値しか取り得ないにも拘らず、仕様モデル上においては広い範囲の値を取るとして構築した場合、実際の動作中には現れない信号値等に対する処理回路も設計し、無駄な回路の設計を行なってしまう問題がある。
【0006】
また、設計した仕様モデルが正常な動作をすることを複数のテストデータを使って、検証するのが普通である。この時、ある信号に注目した時、仕様モデルの検証が十分であるか否かの判断基準として、その信号の取り得る値の全範囲に亘って検証が終了したか否かを確認する必要がある。
【0007】
しかし、上述したシミュレーション装置においては、シミュレーション実行過程でその信号が実際にとった値の上限と下限等を記憶保持していないので、設計者は、膨大なテスト結果を処理して判断するなど、検証の十分性を判断するのが困難であった。
【0008】
本発明はこのような事情に鑑みてなされたもので、シミュレーション実行過程における信号値や実行時刻等の種々の履歴を記憶保持することによって、設計者がハードウェアのシミュレーションを行なう上での回路のデバッグ作業効率の向上を図ることができるハードウェアシミュレーション装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記課題を解消するために本発明は、ハードウェアの動作を記述した仕様モデルに記述された各信号代入要求を含む信号処理要求を読取る要求読取手段と、要求読取手段にて読取られた各信号処理要求を記憶する要求記憶手段と、要求記憶手段にて記憶された各信号処理要求を順次実行する要求実行手段とを有するハードウェアシミュレーション装置において、要求実行手段にて実際に一つの信号に対する信号処理要求が実行される毎に、その時点までの該当信号の信号値の最大値及び最小値を検出する信号値検出手段と、信号値検出手段にて検出された最大値及び最小値をそれぞれ上限値及び下限値として記憶する信号限界値記憶手段と、要求実行手段にて実際に信号に対する信号代入要求が実行される毎に、信号代入値と信号限界値記憶手段に記憶された上限値及び下限値各値と比較する比較手段と、信号代入値が上限値より大きいとき、上限値を代入値に更新し、信号代入値が前記下限値より小さいとき、下限値を代入値に更新する信号限界値更新手段と、信号限界値記憶手段に記憶された上限値及び下限値を表示する限界値表示手段と備えている。
【0010】
【作用】
このように構成されたハードウェアシミュレーション装置においては、実際に一つの信号に対する信号処理要求が実行される毎に、その時点までの該当信号の信号値の最大値及び最小値が検出されて、上限値及び下限値として記憶される。そして、この信号に対する代入値が上限値及び下限値を越えると、上限値又は下限値がこの代入値で更新される。設計者による信号の上限値,下限値の提示要求にて、これらの値が表示される。
【0011】
これにより、設計者は、作成された仕様モデルが実際に流れるデータの大きさに較べてオーバースペックであるとか、ある信号について、全ての取り得る値を考慮したような検証がまだ終了していない等を簡単に確認できる。
【0012】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。
【0013】
図1は第1の実施例に係わるハードウェアシミュレーション装置の概略構成を示すブロック図である。なお、このハードウェアシミュレーション装置は例えばコンピュータ等の情報処理装置で構成されている。
【0014】
例えばCAD装置にて作成されたハードウェアの動作を記述した仕様モデル1aには、図2に示すように、多数の動作要求と各動作要求を実行するタイミングを示す実行要求時刻とが記述されている。
【0015】
この仕様モデル1aに記載されている動作要求及び実行要求時刻は要求読取部2で読取られたのち要求記憶部3へ一旦登録される。なお、この要求記憶部3は、要求読取部2で読取られた各動作要求を順次登録する過程で、先に登録されている各動作要求のうち各実行要求時刻相互の関係に起因して実行できない動作要求が発生すれば、この動作要求を削除する。要求実行部4は要求記憶部3に記憶さている各動作要求をこの動作要求に指定された実行要求時刻に達した時点で実際に実行する。
【0016】
削除要求検出部5は要求記憶部3にて削除される動作要求を検出する。削除要求検出部5で検出された削除動作要求は表示出力部6にてCRT表示装置等で構成された表示器7に表示出力する。
【0017】
このように構成されたハードウェアシミュレーション装置の具体的動作を図2に示すハードウェアの動作を記述した仕様モデル1aがシミュレーションされる場合を例にとって説明する。
【0018】
図2はE1というモジュールの動作内容をB1の動作記述で書いている仕様モデルである。すなわち、この仕様モデル1aの動作は2つの動作単位(プロセス)P0,P1で構成されている。第1の動作単位P0は、7行目の動作要求に記述されているように、信号CLKを3ns毎に反転させる。第2の動作単位P0は、8行乃至11行目の各動作要求に記述されているように、信号CLKが変化すると、信号Aに1ns後に5を代入し、6ns後に10を代入する信号代入要求を発生させる。
【0019】
このような記述によって表される仕様モデル1aにおいては、第1の動作単位P0でもってCLK信号値に変化が起こる(8行目)毎に、第2の動作単位P1の処理が開始され、この動作単位P1の中に記述されている2つの信号代入要求(10,11行目)が予約登録される。
【0020】
しかし、2番目の信号代入(11行目)が実行されるより前に、必ず、信号CLKの値に変化が起こり(7行目)、動作単位P1が実行され、次の信号代入 (10行目)が予約される。この時、残っていた2番目の信号代入予約(11行目)の実行予定時刻よりも、早い時刻での代入の予約が行なわれるため、この残っていた信号代入予約は削除(キャンセル)される。
【0021】
つまり、図2に示すハードウェアの仕様モデル1aの場合、動作単位P1に記述されている2番目の信号代入要求(11行目)は全く実施されない。このことは、信号代入に対する遅延時間とセンシティビティリストの信号の変化のタイミングにバグがあることを示す。このような動作要求の記述は、文法上のエラーではないためそのような回路を表す記述を静的に解析しただけではこのバグは発見できず、シミュレーションを実行していく中でしか発見できない。
【0022】
しかし、図1に示す実施例装置においては、信号代入要求が削除(キャンセル)される時には削除要求検出部5が、その信号代入要求削除を検出して、表示出力部6が表示器7に表示出力する。これによって記述の該当部分にタイミングのバグが含まれている可能性があると設計者は知ることができ、シミュレーションの初期の段階でことようなバグを除去することが可能である。
【0023】
なお、信号代入等の各動作要求を特定するために、各動作要求名対して、対象となる信号とその信号が属するモジュール、それは仕様モデル1aの記述のどこに相当するか(図面のファイルならそのファイル名と該当する信号の描かれている位置、ハードウェア記述言語で書かれているならそのファイル名と代入文の行番号など)などの情報などを持たせる手法が必要である。
【0024】
例えば、例では2番目の代入予約に対してモジュールE1の11行目であり、モジュールE1の内部信号Aに対するものであると、信号代入要求に関する情報の要求記憶部3に記憶しておくことで、設計者はこれらの記述の該当部分に注目して設計の修正を行なえる。
【0025】
図3は第2の実施例に係わるハードウェアシミュレーション装置の概略構成を示すブロック図である。なお、図1に示した実施例装置と同一部分には同一符号が付してある。したがって、重複する部分の詳細説明は省略する。
【0026】
この実施例装置においては、仕様モデル1bに記述された信号代入要求等の信号処理要求及び実行要求時刻は要求読取部2で読取られて一旦要求記憶部3へ登録される。その後、要求実行部4で実際に実行される。そして、要求表示部8は、図4に示すように、要求記憶部3に登録された各信号処理要求を該当実行要求時刻が到来したタイミングで表示器7に表示する。また、信号表示部9は、要求実行部4にて実際に実行された信号処理要求後における信号値を先の信号処理要求と同一画面に表示する。
【0027】
このように、図4に示すように、仕様モデル1bに記述された各信号処理要求と実際に実行された後の信号状態とを表示器7の同一画面に表示することによって、設計者は信号処理要求があったが、実際にはその信号処理要求が実行されなかったことを簡単に把握できる。
【0028】
なお、信号値を図4に示すように波形で表示すると非常に理解しやすい。また、図示するように、削除された信号処理要求に印をつけて表示することによって、各信号処理要求の実行・不実行がより明確になる。さらに、信号処理要求の発生した順番が容易に理解できるように番号をつけて表示することも可能である。また、この場合、実際に実行された信号処理要求後における信号値を表示させなくとも、その値を知ることができる。
【0029】
図5は第3の実施例に係わるハードウェアシミュレーション装置の構成を示すブロック図である。なお、図1に示した実施例装置と同一部分には同一符号が付してある。したがって、重複する部分の詳細説明は省略する。
【0030】
この実施例装置においては、仕様モデル1cに記述された信号代入要求等の動作要求及び実行要求時刻は要求読取部2で読取られて一旦要求記憶部3へ登録される。その後、要求実行部4で実際に実行される。最終実行時刻検出手段としての信号時刻記憶部10aは、要求実行部4において実際に信号代入要求等の各動作単位に含まれる各動作要求が実行された時の実行時刻を記憶する。判定部11は、信号時刻記憶部10aに記憶された各実行時刻が、該当動作単位に指定された時刻範囲に入るか否かか判定する。動作要求表示部12は、該当動作単位中の指定された時刻範囲に入る動作要求を表示器7に表示する。
【0031】
このように構成されたハードウェアシミュレーション装置の具体的動作を図6に示すハードウェアの動作を記述した仕様モデル1cがシミュレーションされる場合を例にとって説明する。
【0032】
図6に示す仕様モデル1cにおけるB1に動作が記述されているモジュールE1は、2つの動作単位P0,P1で構成されている。第1の動作単位P1は、第19行目に示すように、信号CASENUMを3ns毎に1ずつ増加させる。第2の動作単位P0は、信号CASENUMが変化すると(7行目)、10行目乃至16行目に示すように、信号CASENUMが0,1,….5と変化する毎に、信号Aにそれぞれの遅延時間60ns〜10nsが経過した時点で、0,1,….5,の値を代入する。
【0033】
このような仕様モデル1cにおいては、信号CASENUMの信号値に変化が起こるたびに動作単位P0の処理が開始され、この動作単位P0の中に記述されている信号代入が要求されるが、実際に1番目の信号代入(10行目)が実行される開始時刻+60nsより前に、開始時刻+3nsに再び信号CASENUMの値が変化する。その結果、2番目(11行目)の信号代入要求(開始時刻+53ns)が発生する。この時2番目の信号代入予約は、残っていた1番目の信号代入予約の実行予定時刻よりも、早い時刻での代入の予約であるため、残っていた1番目(10行目)の信号代入予約は削除(キャンセル)される。
【0034】
つまり、図6のように記述された仕様モデル1cの場合、動作単位P0に書かれている1番目の代入要求は全く実行されないことになる。同様に2番目から6番目までの各信号代入要求も実行されない。すなわち、シミュレーション開始時刻から63ns経過するまでは信号Aは変化しないことになる。このような記述は、文法上のエラーではないので、このハードウェアを表す仕様モデル1cの記述を解析するのみではこのバグは発見できず、シミュレーションを実行していく過程でしか発見できない。
【0035】
そこで、実施例装置においては、各信号に対して実行された最後の信号代入の時刻が信号時刻記憶部10aに記憶されている。すると、上述した仕様モデル1cの場合、信号Aに相当する時刻記憶部ではシミュレーション開始から62ns経過するまでずっとシミュレーション開始時刻が記憶されたままである。判定部11は信号Aについての信号時刻記憶部10aの値が変化していないと判定する。動作要求表示部12は、信号Aに対する信号代入要求が全く実行されていないことを表示器7に表示する。これによって設計者はシミュレーションの早い時点で回路の動作に反映されていない動作要求の記述を発見することができる。
【0036】
なお、信号時刻記憶部10aに記憶するするものは時刻以外にシミュレーションサイクルも考えられる。
【0037】
また、前述した図2の仕様モデル1aのように、信号代入要求の一部が実行されない記述についてはこの信号時刻記憶部10aに記憶された時刻からは判断し難いが、このような場合も時刻を記憶する代りに各信号に代入予約の数と、代入実行の数を記録しておき、その比率を判定することで、シミュレーションの早い時点で回路の動作に反映されない動作要求記述を表示器7に表示することが可能である。
【0038】
さらに、実施例装置では指定された時刻の範囲内に入る動作要求を表示するとしたが、範囲外の動作要求を表示することも可能である。
【0039】
図7は第4の実施例に係わるハードウェアシミュレーション装置の概略構成を示すブロック図である。図5に示した実施例装置と同一部分には同一符号が付してある。したがって、重複する部分の詳細説明は省略する。
【0040】
この実施例装置においては、図5の実施例装置の信号時刻記憶部10aの代りに、並列動作記憶部10bが組込まれている。この並列動作記憶部10bは、要求実行部4におけるシミュレーション実行過程において並列動作が起動される毎にその時の時刻を記憶する。判定部11は並列動作記憶部10bに記憶された刻が指定時刻の範囲に入るかどうか判定する。そして動作要求表示部12は指定された時刻の範囲に入る並列動作単位を表示器7に表示する。
【0041】
このように構成されたハードウェアシミュレーション装置の具体的動作を図8に示すハードウェアの動作を記述した仕様モデル1dがシミュレーションされる場合を例にとって説明する。
【0042】
図8に示す記述によって表される仕様モデル1dにおいては、信号Bは全く変化しないので、並列動作単位P0も実行されない。このように、全く起動されない並列動作単位P0も文法上はエラーでないため、シミュレーション過程でないとこのバグは発見できない。
【0043】
実施例装置においては、各並列動作単位について最新に実行されたシミュレーションサイクルを記憶する並列動作時刻記憶部10bが設けられている。したがって、上記並列動作単位P0に対して並列動作時刻記憶部10bには常にシミュレーション開始時刻が記憶されている。判定部11が、シミュレーション開始時刻が並列動作時刻記憶部10bに記憶されている並列動作単位を判定すると、動作要求表示部12がこの並列動作単位P0が指定された時刻に入るため表示器7にに表示する。
【0044】
設計者は、この表示内容を見て、この動作単位を起動する信号、動作単位P0については信号Bに注目して記述のバグを取り除くことができる。
【0045】
次に、図9のように非常に多くの並列動作単位を含む仕様モデル1eをシミュレーションする場合を説明する。
【0046】
この仕様モデル1eは、101個の要素を持つ配列信号Tのそれぞれの要素の値を決定する101個の動作単位と、そのそれぞれの信号値の変化によって動作するP0〜P100の101個の単位動作との合計202個の動作単位で構成されている。なお、説明を簡単にするために記述を省略して示してある。
【0047】
この仕様モデル1eにおいては、並列動作単位は多いが、同じ時刻で動作する動作単位は少ない。一般の回路もこの仕様モデル1eのように同一時刻で起動される並列動作単位は一部分である。この仕様モデル1eのシミュレーション動作過程で、回路に異常動作が現れたとする。この場合、これらの全ての動作単位のうち異常動作の原因となった動作単位を同定するのは困難であり、非常に多くのデバッグ時間を要する。
【0048】
しかし、実施例装置にように、ある時刻で起動した並列動作単位だけを表示器7に表示すれば、それらの中から、異常動作をを引き起こした動作単位を限定すれば良い。例えば、動作単位P49が異常動作を引き起こしたとすると、これと同じ時刻で起動した動作単位は全部の動作単位のごく一部であるため、動作単位P49が原因であることを簡単に発見できる。このように、異常動作の原因を究明する際の時間を短縮することができる。
【0049】
図10は第5の実施例に係わるハードウェアシミュレーション装置の概略構成を示すブロック図である。なお、図1に示した実施例装置と同一部分には同一符号が付してある。したがって、重複する部分の詳細説明は省略する。
【0050】
この実施例装置においては、仕様モデル1fに記述された信号処理要求等の動作要求及び実行要求時刻は要求読取部2で読取られて一旦要求記憶部3へ登録される。その後、要求実行部4で実際に実行される。
【0051】
信号値検出部13は要求実行部4にて実際に一つの信号に対する信号処理要求が実行される毎に、その時点までの該当信号の信号値の最大値及び最小値を検出する。信号限界値記憶部14は信号値検部13にて検出された最大値及び最小値をそれぞれ上限値及び下限値として記憶する。比較部15は要求実行部4にて実際に信号に対する信号代入要求が実行される毎に、信号代入値と信号限界値記憶部14に記憶された上限値及び下限値各値と比較する。信号限界値更新部16は信号代入値が上限値より大きいとき、上限値を代入値に更新し、信号代入値が下限値より小さいとき、下限値を代入値に更新する。さらに、限界値表示部17は、例えば設計者の表示要求に応じて、信号限界値記憶部14に記憶された上限値及び下限値を表示器7に表示する。
【0052】
このように構成されたハードウェアシミュレーション装置の具体的動作を図11に示すハードウェアの動作を記述した仕様モデル1fがシミュレーションされる場合を例にとって説明する。
【0053】
図11に示す記述によって表される仕様モデル1fにおいては、モジュールE1 の入力ポートに外部から入力される信号CASENUMの値が変化する毎(6行目)に、その時点における信号CASENUM値と他の入力ポートTBLの値から出力ポートMBAの値を計算して出力する。例えば、入力信号CASENUM値が2の場合、出力ポートMBAの値は、入力ポートTBLの値に2を乗算した値である(10行目)。
【0054】
このような仕様モデル1fに対して、入力信号CASENUMに対して複数種類のテストデータを代入してシミュレーションを実行する場合における条件として、入力信号CASENUMの下限値が4であり、上限値が7であったと仮定する。この場合、9行目乃至11行目における信号CASENUM値が1から3の時と、16行目の8以上の時のシミュレーションは実行されない。
【0055】
この場合、
(a) 実際はそれらの場合のテストも実行しなくてはならず、現在行われたシミュレーションでは十分幅広いテストが行われていない、
(b) シミュレーション対象のハードウェアの性質から実際は信号CASENUMは4以上の値しか取り得ないにも拘らず、仕様モテル1fはそれ以外の場合を考慮した記述になっており、無駄が多い、
という2つの可能性が考えられる。前者の場合、これに気付かないと十分に検証が行われていないハードフェアを既に検証済としてしまう可能性もあり、設計時間,費用ともに損失を被ることがある。
【0056】
また、後者の場合、記述を参考にして論理回路の設計を行う場合、実際に使用されない無駄な回路を設計してしまう可能性があり、チップの面積などに影響を受ける。
【0057】
実施例装置においては、入力信号CASENUM値を複数種類に変更した場合におけるシミュレーションを実行した後で、入力信号CASENUMの上限値及び下限値からなる信号限界が表示器7に表示される。したがって、設計者は、表示器7の表示情報を読取ることによって、その信号の取り得る値に対して、十分幅広いシミュレーションが終了したか否かを判断できる。
【0058】
また、実際にはある範囲の値しか取り得ない信号に対して広い範囲の値を取る可能性を考えた無駄な動作要求を記述しているか否かを簡単に判断できる。
【0059】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0060】
【発明の効果】
以上説明したように本発明のハードウェアシミュレーション装置においては、シミュレーション実行過程における信号値や実行時刻等の種々の履歴を記憶保持している。そして、これにの情報を必要に応じて表示出力している。したがって、設計者がハードウェアのシミュレーションを行なう上でのハードウェア回路におけるデバッグ作業効率の向上を図ることができる。
【図面の簡単な説明】
【図1】 本発明の一実施例に係わるハードウェアシミュレーション装置の概略構成を示すブロック図。
【図2】 同実施例装置でシミュレーションされるハードウェアの仕様モデルを示す図。
【図3】 本発明の他の実施例に係わるハードウェアシミュレーション装置の概略構成を示すブロック図。
【図4】 同実施例装置で得られる信号波形及び信号処理要求の出力図。
【図5】 本発明のさらに別の実施例に係わるハードウェアシミュレーション装置の概略構成を示すブロック図。
【図6】 同実施例装置でシミュレーションされるハードウェアの仕様モデルを示す図。
【図7】 本発明のさらに別の実施例に係わるハードウェアシミュレーション装置の概略構成を示すブロック図。
【図8】 同実施例装置でシミュレーションされるハードウェアの仕様モデルを示す図。
【図9】 同実施例装置でシミュレーションされるハードウェアの仕様モデルを示す図。
【図10】 本発明のさらに別の実施例に係わるハードウェアシミュレーション装置の概略構成を示すブロック図。
【図11】 同実施例装置でシミュレーションされるハードウェアの仕様モデルを示す図。
【符号の説明】
1a,1b,1c,1d,1e,1f…仕様モデル、2…要求読取部、3…要求記憶部、4…要求実行部、5…削除要求検出部、6…表示出力部、7…表示器、8…要求表示部、9…信号表示部、10a…信号時刻記憶部、10b…並列動作時刻記憶部、11…判定部、12…動作要求表示部、13…信号値検出部、14…信号限界値記憶部、15…比較部、16…信号限界値更新部、17…限界値表示部。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a CAD (computer aided design) system that supports hardware design, and more particularly, to a hardware simulation apparatus that simulates the operation of a specification model indicating the operation of the created hardware.
[0002]
[Prior art]
For example, a hardware simulation device that simulates the operation of hardware such as a logic circuit incorporated in an integrated circuit created by a CAD device reads each operation request described in the hardware specification model and executes it in order. To go.
[0003]
For example, when the hardware specification model is composed of a plurality of operation units (processes), the signal given to the first operation unit is input, and the output of this operation unit is changed. Next, the output signal in which the first operation unit is changed is input to the second operation unit, and each operation request included in the second operation unit is executed. Then, an output value of the second operation unit is obtained.
[0004]
The hardware designer advances the simulation time while stopping the simulation operation, referencing the internal state, and rewriting the internal state.
[0005]
[Problems to be solved by the invention]
However, the hardware simulation apparatus as described above has a technical problem that the validity cannot be known with respect to the range of values set in the signal. That is, no function is provided for storing a range of values actually taken by each signal during the simulation execution process and comparing the range of values given to the signal in the created specification model. Therefore, even if a certain signal can actually take only a certain range of values, but it is constructed to take a wide range of values on the specification model, there are also processing circuits for signal values that do not appear during actual operation. There is a problem of designing and designing a useless circuit.
[0006]
In addition, it is common to verify that the designed specification model operates normally using a plurality of test data. At this time, when paying attention to a certain signal, it is necessary to check whether the verification has been completed over the entire range of values that the signal can take as a criterion for determining whether the specification model is sufficiently verified. is there.
[0007]
However, in the simulation apparatus described above, the designer does not store the upper and lower limits of the values actually taken by the signal in the simulation execution process. It was difficult to judge the sufficiency of verification.
[0008]
The present invention has been made in view of such circumstances, and by storing and holding various histories such as signal values and execution times in a simulation execution process, a circuit for a designer to perform hardware simulation is stored. An object of the present invention is to provide a hardware simulation apparatus capable of improving the debugging work efficiency.
[0009]
[Means for Solving the Problems]
In order to solve the above problems, the present invention provides a request reading means for reading a signal processing request including each signal substitution request described in a specification model describing the operation of hardware, and each signal read by the request reading means. In a hardware simulation apparatus having a request storage means for storing a processing request and a request execution means for sequentially executing each signal processing request stored in the request storage means, a signal for one signal is actually received by the request execution means. Each time a processing request is executed, the signal value detecting means for detecting the maximum value and the minimum value of the corresponding signal up to that point, and the maximum value and the minimum value detected by the signal value detecting means are respectively set as upper limits. Signal limit value storage means for storing values and lower limit values, and each time a signal substitution request for a signal is actually executed by the request execution means, a signal substitution value and a signal limit value are stored. Comparing means for comparing the upper limit value and lower limit value stored in the stage, and when the signal substitution value is larger than the upper limit value, the upper limit value is updated to the substitution value, and when the signal substitution value is smaller than the lower limit value, the lower limit Signal limit value updating means for updating the value to the substitution value, and limit value display means for displaying the upper limit value and the lower limit value stored in the signal limit value storage means are provided.
[0010]
[Action]
In the hardware simulation apparatus configured as described above, every time a signal processing request for one signal is actually executed, the maximum value and the minimum value of the signal value of the corresponding signal up to that point are detected, and the upper limit is detected. Value and lower limit value. When the substitution value for this signal exceeds the upper limit value and the lower limit value, the upper limit value or the lower limit value is updated with this substitution value. These values are displayed when the designer requests to present the upper and lower limits of the signal.
[0011]
As a result, the designer has not yet verified that the created specification model is over spec compared to the size of the data that actually flows, or that all possible values are considered for a given signal. Etc. can be easily confirmed.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0013]
FIG. 1 is a block diagram showing a schematic configuration of a hardware simulation apparatus according to the first embodiment. The hardware simulation apparatus is configured by an information processing apparatus such as a computer.
[0014]
For example, in the specification model 1a describing the operation of the hardware created by the CAD device, as shown in FIG. 2, a large number of operation requests and execution request times indicating the timing of executing each operation request are described. Yes.
[0015]
The operation request and execution request time described in the specification model 1 a are read by the
[0016]
The deletion
[0017]
A specific operation of the hardware simulation apparatus configured as described above will be described by taking as an example a case where the specification model 1a describing the hardware operation shown in FIG. 2 is simulated.
[0018]
FIG. 2 is a specification model in which the operation content of the module E1 is written in the operation description of B1. That is, the operation of the specification model 1a is composed of two operation units (processes) P0 and P1. The first operation unit P0 inverts the signal CLK every 3 ns as described in the operation request in the seventh row. In the second operation unit P0, as described in each operation request on the 8th to 11th rows, when the signal CLK changes, 5 is assigned to the signal A after 1 ns, and 10 is assigned after 6 ns. Generate a request.
[0019]
In the specification model 1a represented by such a description, the processing of the second operation unit P1 is started every time the CLK signal value changes with the first operation unit P0 (line 8). Two signal substitution requests (
[0020]
However, before the second signal substitution (11th line) is executed, the value of the signal CLK is always changed (7th line), the operation unit P1 is executed, and the next signal substitution (10th line). Eye) is reserved. At this time, since the reservation for substitution at an earlier time than the scheduled execution time of the remaining second signal substitution reservation (line 11) is made, the remaining signal substitution reservation is deleted (cancelled). .
[0021]
That is, in the case of the hardware specification model 1a shown in FIG. 2, the second signal substitution request (11th line) described in the operation unit P1 is not executed at all. This indicates that there is a bug in the delay time for signal substitution and the timing of the change in the sensitivity list signal. Such a description of an operation request is not a grammatical error, so this bug cannot be found only by statically analyzing a description representing such a circuit, and can only be found while executing a simulation.
[0022]
However, in the embodiment apparatus shown in FIG. 1, when the signal substitution request is deleted (cancelled), the deletion
[0023]
In order to specify each operation request such as signal substitution, for each operation request name, the target signal and the module to which the signal belongs, and where in the description of the specification model 1a correspond (if it is a file of the drawing It is necessary to have a method that includes information such as the file name and the position where the corresponding signal is drawn, and the file name and the line number of the assignment statement if written in a hardware description language.
[0024]
For example, in the example, the 11th row of the module E1 for the second substitution reservation, and for the internal signal A of the module E1, is stored in the
[0025]
FIG. 3 is a block diagram showing a schematic configuration of the hardware simulation apparatus according to the second embodiment. The same parts as those in the embodiment apparatus shown in FIG. Therefore, the detailed description of the overlapping part is omitted.
[0026]
In this embodiment apparatus, the signal processing request such as the signal substitution request described in the specification model 1b and the execution request time are read by the
[0027]
Thus, as shown in FIG. 4, the designer displays the signal processing request described in the specification model 1b and the signal state after actually executed on the same screen of the
[0028]
It is very easy to understand if the signal value is displayed as a waveform as shown in FIG. Also, as shown in the figure, execution and non-execution of each signal processing request becomes clearer by marking and displaying the deleted signal processing request. Furthermore, numbers can be displayed so that the order in which signal processing requests are generated can be easily understood. In this case, the value can be known without displaying the signal value after the signal processing request actually executed.
[0029]
FIG. 5 is a block diagram showing the configuration of the hardware simulation apparatus according to the third embodiment. The same parts as those in the embodiment apparatus shown in FIG. Therefore, the detailed description of the overlapping part is omitted.
[0030]
In this embodiment apparatus, an operation request such as a signal substitution request described in the specification model 1 c and an execution request time are read by the
[0031]
A specific operation of the hardware simulation apparatus configured as described above will be described by taking as an example a case where the specification model 1c describing the hardware operation shown in FIG. 6 is simulated.
[0032]
The module E1 whose operation is described in B1 in the specification model 1c shown in FIG. 6 includes two operation units P0 and P1. As shown in the 19th row, the first operation unit P1 increases the signal CASENUM by 1 every 3 ns. In the second operation unit P0, when the signal CASENUM changes (7th line), as shown in the 10th to 16th lines, the signal CASENUM is 0, 1,. When the delay time of 60 ns to 10 ns elapses in the signal A every time it changes to 5, 0, 1,. Substitute the value of 5.
[0033]
In such a specification model 1c, the processing of the operation unit P0 is started each time the signal value of the signal CASENUM changes, and the signal substitution described in the operation unit P0 is required. Before the start time +60 ns when the first signal substitution (10th line) is executed, the value of the signal CASENUM changes again at the start time +3 ns. As a result, a second (11th row) signal substitution request (start time + 53 ns) is generated. At this time, since the second signal substitution reservation is a reservation for substitution at an earlier time than the scheduled execution time of the remaining first signal substitution reservation, the remaining first (10th line) signal substitution is reserved. The reservation is deleted (cancelled).
[0034]
That is, in the case of the specification model 1c described as shown in FIG. 6, the first substitution request written in the operation unit P0 is not executed at all. Similarly, the second to sixth signal substitution requests are not executed. That is, the signal A does not change until 63 ns has elapsed from the simulation start time. Since such a description is not a grammatical error, this bug cannot be found only by analyzing the description of the specification model 1c representing the hardware, and can only be found in the process of executing the simulation.
[0035]
Therefore, in the embodiment device, the time of the last signal substitution executed for each signal is stored in the signal time storage unit 10a. Then, in the case of the specification model 1c described above, the simulation start time remains stored in the time storage unit corresponding to the signal A until 62 ns have elapsed from the start of the simulation. The
[0036]
In addition to the time, what is stored in the signal time storage unit 10a may be a simulation cycle.
[0037]
Further, as in the specification model 1a of FIG. 2 described above, it is difficult to determine a description in which a part of the signal substitution request is not executed from the time stored in the signal time storage unit 10a. The number of substitution reservations and the number of substitution executions are recorded in each signal instead of storing the signal, and by determining the ratio, an operation request description that is not reflected in the operation of the circuit at an early stage of the simulation is displayed on the
[0038]
Furthermore, in the embodiment apparatus, an operation request that falls within a specified time range is displayed, but an operation request that is out of the range can also be displayed.
[0039]
FIG. 7 is a block diagram showing a schematic configuration of a hardware simulation apparatus according to the fourth embodiment. The same parts as those in the embodiment apparatus shown in FIG. Therefore, the detailed description of the overlapping part is omitted.
[0040]
In this embodiment apparatus, a parallel operation storage section 10b is incorporated in place of the signal time storage section 10a of the embodiment apparatus of FIG. The parallel operation storage unit 10b stores the time at each time when the parallel operation is started in the simulation execution process in the
[0041]
A specific operation of the hardware simulation apparatus configured as described above will be described by taking as an example a case where the specification model 1d describing the hardware operation shown in FIG. 8 is simulated.
[0042]
In the specification model 1d represented by the description shown in FIG. 8, since the signal B does not change at all, the parallel operation unit P0 is not executed. Thus, since the parallel operation unit P0 that is not activated at all is not an error in terms of grammar, this bug cannot be found unless it is a simulation process.
[0043]
In the embodiment apparatus, a parallel operation time storage unit 10b for storing the latest simulation cycle executed for each parallel operation unit is provided. Therefore, the simulation start time is always stored in the parallel operation time storage unit 10b for the parallel operation unit P0. When the
[0044]
The designer can remove the description bug by looking at the display contents and paying attention to the signal B for starting the operation unit and the signal B for the operation unit P0.
[0045]
Next, the case where the specification model 1e including a large number of parallel operation units as shown in FIG. 9 is simulated will be described.
[0046]
This specification model 1e includes 101 operation units for determining the value of each element of the array signal T having 101 elements, and 101 unit operations of P0 to P100 that operate according to changes in the respective signal values. And a total of 202 operation units. For the sake of simplicity, the description is omitted.
[0047]
In this specification model 1e, there are many parallel operation units, but there are few operation units that operate at the same time. In the general circuit, the parallel operation unit activated at the same time as in the specification model 1e is a part. It is assumed that an abnormal operation appears in the circuit during the simulation operation process of the specification model 1e. In this case, it is difficult to identify the operation unit that caused the abnormal operation among all these operation units, and a very long debugging time is required.
[0048]
However, if only the parallel operation unit activated at a certain time is displayed on the
[0049]
FIG. 10 is a block diagram showing a schematic configuration of a hardware simulation apparatus according to the fifth embodiment. The same parts as those in the embodiment apparatus shown in FIG. Therefore, the detailed description of the overlapping part is omitted.
[0050]
In this embodiment apparatus, an operation request such as a signal processing request described in the specification model 1 f and an execution request time are read by the
[0051]
Each time the
[0052]
A specific operation of the hardware simulation apparatus configured as described above will be described by taking as an example a case where the specification model 1f describing the hardware operation shown in FIG. 11 is simulated.
[0053]
In the specification model 1f represented by the description shown in FIG. 11, every time the value of the signal CASENUM input from the outside to the input port of the module E1 changes (line 6), the signal CASENUM value at that time and other values are changed. The value of the output port MBA is calculated from the value of the input port TBL and output. For example, when the input signal CASENUM value is 2, the value of the output port MBA is a value obtained by multiplying the value of the input port TBL by 2 (line 10).
[0054]
As a condition for executing simulation by substituting multiple types of test data for the input signal CASENUM for such a specification model 1f, the lower limit value of the input signal CASENUM is 4, and the upper limit value is 7. Assume that there was. In this case, the simulation is not executed when the signal CASENUM value in the 9th to 11th lines is 1 to 3 and when the signal CASENUM value is 8 or more in the 16th line.
[0055]
in this case,
(A) In fact, the tests in those cases must also be performed, and the simulations currently performed do not have a sufficiently wide range of tests.
(B) Although the signal CASENUM can only take a value of 4 or more due to the nature of the hardware to be simulated, the specification motel 1f is a description that takes into consideration other cases, and is wasteful.
Two possibilities are conceivable. In the former case, if this is not noticed, hardware that has not been fully verified may be already verified, and both design time and cost may be lost.
[0056]
In the latter case, when designing a logic circuit with reference to the description, there is a possibility that a useless circuit that is not actually used may be designed, which is influenced by the area of the chip.
[0057]
In the embodiment apparatus, after executing simulation when the input signal CASENUM value is changed to a plurality of types, the signal limit including the upper limit value and the lower limit value of the input signal CASENUM is displayed on the
[0058]
In addition, it is possible to easily determine whether or not a useless operation request considering the possibility of taking a wide range of values for a signal that can only take a certain range of values is described.
[0059]
Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
[0060]
【The invention's effect】
As described above, in the hardware simulation apparatus of the present invention, various histories such as signal values and execution times in the simulation execution process are stored and held. Information on this is displayed and output as necessary. Therefore, it is possible to improve the debugging work efficiency in the hardware circuit when the designer performs the hardware simulation.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of a hardware simulation apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram showing a hardware specification model simulated by the apparatus of the embodiment.
FIG. 3 is a block diagram showing a schematic configuration of a hardware simulation apparatus according to another embodiment of the present invention.
FIG. 4 is an output diagram of signal waveforms and signal processing requests obtained by the apparatus of the embodiment.
FIG. 5 is a block diagram showing a schematic configuration of a hardware simulation apparatus according to still another embodiment of the present invention.
FIG. 6 is a diagram showing a hardware specification model simulated by the apparatus of the embodiment.
FIG. 7 is a block diagram showing a schematic configuration of a hardware simulation apparatus according to still another embodiment of the present invention.
FIG. 8 is a diagram showing a hardware specification model simulated by the apparatus of the embodiment.
FIG. 9 is a diagram showing a hardware specification model simulated by the apparatus of the embodiment.
FIG. 10 is a block diagram showing a schematic configuration of a hardware simulation apparatus according to still another embodiment of the present invention.
FIG. 11 is an exemplary diagram showing a hardware specification model simulated by the apparatus of the embodiment.
[Explanation of symbols]
1a, 1b, 1c, 1d, 1e, 1f ... specification model, 2 ... request reading unit, 3 ... request storage unit, 4 ... request execution unit, 5 ... deletion request detection unit, 6 ... display output unit, 7 ... indicator , 8 ... request display section, 9 ... signal display section, 10a ... signal time storage section, 10b ... parallel operation time storage section, 11 ... determination section, 12 ... operation request display section, 13 ... signal value detection section, 14 ... signal Limit value storage unit, 15 ... comparison unit, 16 ... signal limit value update unit, 17 ... limit value display unit.
Claims (1)
前記要求実行手段にて実際に一つの信号に対する信号処理要求が実行される毎に、その時点までの該当信号の信号値の最大値及び最小値を検出する信号値検出手段と、
この信号値検出手段にて検出された最大値及び最小値をそれぞれ上限値及び下限値として記憶する信号限界値記憶手段と、
前記要求実行手段にて実際に前記信号に対する信号代入要求が実行される毎に、信号代入値と前記信号限界値記憶手段に記憶された上限値及び下限値各値と比較する比較手段と、
前記信号代入値が前記上限値より大きいとき、上限値を代入値に更新し、前記信号代入値が前記下限値より小さいとき、下限値を代入値に更新する信号限界値更新手段と、
前記信号限界値記憶手段に記憶された上限値及び下限値を表示する限界値表示手段と
を備えたハードウェアシミュレーション装置。Request reading means for reading a signal processing request including each signal substitution request described in the specification model describing the operation of the hardware, request storing means for storing each signal processing request read by the request reading means, In a hardware simulation apparatus having request execution means for sequentially executing each signal processing request stored in the request storage means,
Each time a signal processing request for one signal is actually executed by the request execution means, a signal value detection means for detecting a maximum value and a minimum value of the signal value of the corresponding signal up to that point;
Signal limit value storage means for storing the maximum value and the minimum value detected by the signal value detection means as an upper limit value and a lower limit value, respectively;
Comparison means for comparing the signal substitution value with each of the upper limit value and the lower limit value stored in the signal limit value storage means each time a signal substitution request for the signal is actually executed by the request execution means,
When the signal substitution value is larger than the upper limit value, the upper limit value is updated to the substitution value, and when the signal substitution value is smaller than the lower limit value, a signal limit value updating means for updating the lower limit value to the substitution value;
A hardware simulation device comprising limit value display means for displaying an upper limit value and a lower limit value stored in the signal limit value storage means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003193157A JP3764447B2 (en) | 2003-07-07 | 2003-07-07 | Hardware simulation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003193157A JP3764447B2 (en) | 2003-07-07 | 2003-07-07 | Hardware simulation device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05170993A Division JP3781784B2 (en) | 1993-03-12 | 1993-03-12 | Hardware simulation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004046865A JP2004046865A (en) | 2004-02-12 |
JP3764447B2 true JP3764447B2 (en) | 2006-04-05 |
Family
ID=31712491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003193157A Expired - Fee Related JP3764447B2 (en) | 2003-07-07 | 2003-07-07 | Hardware simulation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3764447B2 (en) |
-
2003
- 2003-07-07 JP JP2003193157A patent/JP3764447B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004046865A (en) | 2004-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6539341B1 (en) | Method and apparatus for log information management and reporting | |
US20140156572A1 (en) | Automatic identification of information useful for generation-based functional verification | |
US20080016415A1 (en) | Evaluation system and method | |
US20110289373A1 (en) | Electornic Design Emulation Display Tool | |
CN115563914A (en) | Verification method and device, computing equipment and computer readable storage medium | |
CN114168200B (en) | System and method for verifying memory access consistency of multi-core processor | |
US20080184150A1 (en) | Electronic circuit design analysis tool for multi-processor environments | |
US20050262399A1 (en) | Aggregating and prioritizing failure signatures by a parsing program | |
US6240529B1 (en) | Debugging method and debugging apparatus for microcomputer system and recording medium on which debug program is recorded | |
US6934656B2 (en) | Auto-linking of function logic state with testcase regression list | |
JP4637175B2 (en) | How to detect deadlocks in a second-run process | |
JP3764447B2 (en) | Hardware simulation device | |
JP3781784B2 (en) | Hardware simulation device | |
KR0134036B1 (en) | Apparatus for performing logic simulation | |
JP2005108007A (en) | Lsi design verification apparatus and lsi design verification method | |
JP2007058450A (en) | Semiconductor integrated circuit | |
US6678841B1 (en) | Function test support system and function test support method and hardware description model | |
US20080183457A1 (en) | Simulation display tool | |
CN114077538A (en) | Program debugging method and device and readable storage medium | |
JP2007052783A (en) | Simulation of data processor | |
JP3214459B2 (en) | Simulation method and apparatus | |
JP2006202102A (en) | Simulation apparatus | |
JP2007072604A (en) | Logic circuit verification apparatus, its control method, computer program, and storage medium | |
JP2022122773A (en) | Evaluation device and evaluation method | |
JP2967741B2 (en) | CPU compatibility test equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051216 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060119 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100127 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110127 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |