JP2007207119A - 表示装置及び表示方法 - Google Patents

表示装置及び表示方法 Download PDF

Info

Publication number
JP2007207119A
JP2007207119A JP2006027707A JP2006027707A JP2007207119A JP 2007207119 A JP2007207119 A JP 2007207119A JP 2006027707 A JP2006027707 A JP 2006027707A JP 2006027707 A JP2006027707 A JP 2006027707A JP 2007207119 A JP2007207119 A JP 2007207119A
Authority
JP
Japan
Prior art keywords
simulation
hardware event
simulation result
time
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2006027707A
Other languages
English (en)
Inventor
Tetsuo Uchiyama
哲夫 内山
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006027707A priority Critical patent/JP2007207119A/ja
Publication of JP2007207119A publication Critical patent/JP2007207119A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 抽象度の異なるシミュレーションモデルのシミュレーション時間の累積誤差を表示する。
【解決手段】 抽象度の異なるシミュレーションモデルのシミュレーション結果を解析し、解析したシミュレーション結果に基づいて、抽象度の異なるシミュレーションモデルのシミュレーション時間の累積誤差を表示させる。これにより、シミュレーション途中の累積誤差を容易に把握でき、比較対象となるシミュレーションモデルの精度を、より正確に、効率良く得ることができる。
【選択図】 図1

Description

本発明は、抽象度の異なるシミュレーションモデルのシミュレーション結果を比較し、シミュレーション時間の累積誤差をハードウェアイベント毎に表示する技術に関するものである。
プロセス技術の進歩によりLSIの集積度が増大し、これまではボードで実現していたシステムをシステムLSIとして1チップ上に搭載することが可能となっている。また、チップ上に搭載する機能モジュールも多様化し、回路規模も増大している。これに伴い、システムLSIを効率的に設計するための手法として、ハードウェア記述言語を使用した設計からSystemCやSpecCといったシステム記述言語による設計が普及してきている。
尚、ハードウェア記述言語として、Verilog-HDLやVHDL(VHSIC Hardware Description Language)などがある。
システム記述言語による設計支援ツールとしては、Synopsys社のCoCentricやCoWare社のConvergenSCが知られている。そして、システム記述言語により記述したモジュールをブロック図入力画面で入力し、システムLSIの設計を行うことが可能になっている。
このシステムLSIの設計が終了すると、設計支援ツールからシミュレーションモデルを生成し、シミュレータを起動してシステムシミュレーションを行い、設計したシステムLSIの機能や性能を確認することができる(例えば、特許文献1参照)。即ち、実際のハードウェアを作成する前に、シミュレーションによりシステムの評価を行うことにより、仕様の不具合や性能不足を回避している。
上述のシステム記述言語によるモジュール記述には、記述の抽象度により以下の3種類の記述レベルが一般に知られている。
トランザクションレベル(TL):
モジュール間のバス通信を捉えて機能を記述する抽象度レベルである。通信の開始及び終了の時間、通信データにより動作するため、クロックに対する精度は低い。イベントにより機能をシミュレートするため、シミュレーション速度は非常に速い。システムとしての動作が実際のハードウェアと一致するため、システム全体の評価に適している。
バスサイクルアキュレート(BCA):
モジュールの入力及び出力のイベントとして機能を記述する抽象度レベルである。動作クロックに対して、入力及び出力部で正確にシミュレートすることができる。
レジスタトランスファレベル(RTL):
レジスタファイル間の同期転送を捉えて回路を記述する抽象度レベルである。動作クロックに対して、正確に機能動作をシミュレートすることができ、精度が非常に高い。1クロック毎に機能をシミュレートするため、シミュレーション速度は非常に遅い。
一般的に、抽象度が高いほどシミュレーション速度は速くなり、また抽象度が低いほどシミュレーション精度は高くなる。そのため、上述のようにシミュレーション速度の速いTL記述されたシミュレーションモデルを使用して、LSIシステムの性能評価やアーキテクチャ検討を行うことが多い。
しかしながら、TL記述されたシミュレーションモデルはクロックに対する精度は低く、一方RTL記述されたシミュレーションモデルはシミュレーション速度は遅いが、精度はサイクルレベルで実際のLSIと一致する。そこで、RTLシミュレーションモデルとTLシミュレーションモデルのサイクルレベルでの精度比較を行い、その結果をTLシミュレーションモデルの完成度向上やLSIシステムの性能見積りにフィードバックする。これにより、TLシミュレーションモデルを用いたLSIシステムの性能評価やアーキテクチャ検討の信頼性を高めることができる。
以上の理由から、RTLシミュレーションモデルとTLシミュレーションモデルの精度比較を行う必要がある。
特開2004-157646号公報
RTLシミュレーションモデルとTLシミュレーションモデルの精度を比較するために、シミュレーションの終了時間を比較する方法がある。しかし、終了時間を比較するだけではシミュレーション途中の誤差の累積過程を把握することができない。例えば、RTLシミュレーションの終了時間が100msであり、TLシミュレーションの終了時間が110msであった場合に、RTLシミュレーションに対するTLシミュレーションの誤差は+10msとなる。この+10msの誤差は最終的な累積結果であるが、シミュレーション途中では+20msになる可能性も、-5msになる可能性もある。
この例のように、誤差が一時的に広がったとしても、別の要因により、誤差が縮まり、途中の誤差を隠蔽してしまうことがある。そのため、比較対象となるシミュレーションモデルの精度を、より正確に得るために、誤差の累積過程を把握する必要がある。
シミュレーション途中の累積誤差を比較するために、2つのシミュレーション結果となる波形を比較する方法があるが、通常は目視で行っているため、非常に効率が悪い。また、シミュレーションモデル内にモニタを設け、必要なハードウェアイベントのログを抽出し、ログの比較結果をテキストとして表示する方法もあるが、シミュレーション全体の誤差の累積過程を把握することは難しい。
本発明は、抽象度の異なるシミュレーションモデルのシミュレーション時間の累積誤差を表示することを目的とする。
本発明は、抽象度の異なるシミュレーションモデルのシミュレーション結果を比較し、シミュレーション時間の累積誤差を表示する表示装置であって、抽象度の異なるシミュレーションモデルのシミュレーション結果を解析するシミュレーション結果解析手段と、前記解析したシミュレーション結果に基づいて、前記抽象度の異なるシミュレーションモデルのシミュレーション時間の累積誤差を表示させる表示制御手段とを有することを特徴とする。
本発明によれば、抽象度の異なるシミュレーションモデルのシミュレーション時間の累積誤差を表示することで、シミュレーション途中の累積誤差を容易に把握でき、比較対象となるシミュレーションモデルの精度を、より正確に、効率良く得ることができる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
[第1の実施形態]
図1は、第1の実施形態におけるシミュレーション結果比較表示装置の構成の一例を示す図である。図1において、101はRTLシミュレータであり、ハードウェア記述言語を用いてRTLの抽象度レベルとして記述されたRTLシミュレーションモデルの動作をシミュレートする。102はTLシミュレータであり、ハードウェア記述言語或いはシステム記述言語を用いてTLの抽象度レベルとして記述されたTLシミュレーションモデルの動作をシミュレートする。103はRTLシミュレーション結果ファイルであり、RTLシミュレータ101でのシミュレーション結果が記述されたファイルである。104はTLシミュレーション結果ファイルであり、TLシミュレータ102でのシミュレーション結果が記述されたファイルである。
105はシミュレーション結果解析部であり、2つの結果ファイル103、104からハードウェアイベントが発生したシミュレーション時間と該シミュレーション時間の累積誤差を解析する。106は表示制御部であり、シミュレーション結果解析部105の解析結果に基づいて、横軸を基準となるシミュレーションの経過時間とし、縦軸を比較対象となるシミュレーション時間の累積誤差とするグラフを作成する。107は表示部であり、表示制御部106で作成されたグラフを表示する。
次に、図1に示すシミュレーション結果比較表示装置の動作を説明するために、RTLシミュレータ101で用いるRTLシミュレーションモデル及びTLシミュレータ102で用いるTLシミュレーションモデルについて説明する。
図2は、RTLシミュレーションモデルの構成の一例を示すブロック図である。図2において、CPU201は内部演算とシステムバス204を介してROM206内のデータの読み出しと、SDRAM208内のデータの読み出し又はSDRAM208内へデータの書き込みを行う。アービタ202はシステムバス204に接続されるマスタ機器にバスの使用権を許可する。デコーダ102はCPU201から発行されるアドレスをデコードする。モニタ241はシステムバス204上で発生するハードウェアイベントを監視する。
ROMコントローラ205はCPU201がROM206からデータを読み出す際に、その読み出しの制御を行う。SDRAMコントローラ207はCPU201がSDRAM208に対してデータの読み出し又は書き込みの際に、そのアクセス制御を行う。ROM206は読み出しのみが可能で、実行されるプログラムであるCPU命令とデータが格納される。SDRAM208は読み出しと書き込みが可能で、CPU命令を実行するために必要なデータが格納される。
図3は、TLシミュレーションモデルの構成の一例を示すブロック図である。図3において、CPU301は内部演算とシステムバス302を介してROM303内のデータの読み出しと、SDRAM304内のデータの読み出し又はSDRAM304内へデータの書き込みを行う。モニタ321はシステムバス302上で発生するハードウェアイベントを監視する。
ROM303はROMレイテンシ設定部331とROMデータ格納部332からなり、ROMレイテンシ設定部331ではROMのレイテンシサイクル数を設定する。同様に、SDRAM304はSDRAMレイテンシ設定部341とSDRAMデータ格納部342からなり、SDRAMレイテンシ設定部341ではSDRAMのレイテンシサイクル数を設定する。ROMデータ格納部332は読み出しのみが可能で、実行されるプログラムであるCPU命令とデータが格納される。SDRAMデータ格納部342は読み出しと書き込みが可能で、CPU命令を実行するために必要なデータが格納される。
図2に示すように、RTLシミュレーションモデルは、システムバス204、アービタ202、デコーダ203がそれぞれ別のモジュールとして実装されている。一方、図3に示すTLシミュレーションモデルは、アービタ及びデコーダの機能がシステムバス204の内部に実装され、抽象度を上げている。
また、RTLシミュレーションモデルのROMコントローラ205とROM206とが別のモジュールであるのに対して、TLシミュレーションモデルでは2つのモジュールの機能がROM303として1つのモジュールで実装されている。ここで、ROM303内のROMレイテンシ設定部331では転送サイズ、バースト長の組み合わせによって固定サイクル数のメモリアクセスレイテンシを与えることにより動作の簡易化を行い、抽象度を上げている。
一方、RTLシミュレーションモデルのROMコントローラ205は内部のレジスタ値を設定することによりメモリアクセスレイテンシを含むROM206へのアクセス制御を行う。尚、メモリアクセスレイテンシは、RTLシミュレーションモデルとTLシミュレーションモデルとで一致させることが可能である。即ち、RTLシミュレーションモデルのROMコントローラ205とROM206に対して、同機能でシミュレーション時間の誤差が無いROM303を作成することが可能となる。
RTLシミュレーションモデルのSDRAMコントローラ207とSDRAM208とが別のモジュールであるのに対して、TLシミュレーションモデルでは2つのモジュールの機能がSDRAM304として1つのモジュールで実装されている。ここで、SDRAM304内のSDRAMレイテンシ設定部341では転送種別、バースト長の組み合わせによって固定サイクル数のメモリアクセスレイテンシを与えることにより動作の簡易化を行い、抽象度を上げている。
一方、RTLシミュレーションモデルのSDRAMコントローラ207は内部のレジスタ値を設定することによりメモリアクセスレイテンシを含むSDRAM208へのアクセス制御を行う。そして、SDRAM208では、転送種別とバースト長の組み合わせだけでレイテンシサイクル数が決定されるのではなく、アクセス順序に依存したページミスによるプリチャージや周期毎に発生するリフレッシュ動作でもレイテンシサイクル数は変化する。TLシミュレーションモデルのSDRAM304では、高速にシミュレーションを実行させるために、転送種別とバースト長の組み合わせのみで固定レイテンシサイクル数を与えている。そのため、RTLシミュレーションモデルのSDRAMコントローラ207とSDRAM208に対して、作成されるTLシミュレーションモデルのSDRAM304は、シミュレーション時間の誤差が発生する。
第1の実施形態では、図2に示すRTLシミュレーションモデルをRTLシミュレータ101でシミュレートした結果と、図3に示すTLシミュレーションモデルをTLシミュレータ102でシミュレートした結果とを比較する。ここで、比較するのはRTLシミュレーションモデルのシステムバス204内のモニタ241とTLシミュレーションモデルのシステムバス302内のモニタ321で検出されるハードウェアイベントである。
尚、検出するハードウェアイベントはデータ転送の開始と終了とする。RTLシミュレーションモデルのモニタ241では信号レベルのハードウェアイベントを検出可能であるのに対して、TLシミュレーションモデルのモニタ321ではトランザクションレベルのハードウェアイベントを検出可能である。そのため、RTLシミュレーションモデルのモニタ241とTLシミュレーションモデルのモニタ321は同等のハードウェアイベントを検出する機能を有する。
RTLシミュレーションモデルのシステムバス204上のデータ転送開始は、アドレスフェーズであることを示すバス上の信号がアクティブになる時で、データ転送終了は次の転送が可能であることを示すバス上の信号がアクティブになる時と一致する。このRTLシミュレーションモデルに組み込まれたモニタ241は、2種類のハードウェアイベントのID(#event_ID)と発生時間(#RTL_time)とをRTLシミュレーション結果ファイル103として出力する。
図4は、第1の実施形態におけるRTLシミュレーション結果ファイル103の一例を示す図である。図4に示すように、1つのハードウェアイベントが上から発生した順序で記述される。401はハードウェアイベントIDであり、402はハードウェアイベントID401で示されるハードウェアイベントが発生したRTLシミュレーション内の経過時間である。
一方、TLシミュレーションモデルのシステムバス302上のデータ転送開始及び終了は、データ転送トランザクション(読み出しトランザクション、書き込みトランザクション)の開始及び終了と一致する。このTLシミュレーションモデルに組み込まれたモニタ321は、2種類のハードウェアイベントのID(#event_ID)と発生時間(#TL_time)とをTLシミュレーション結果ファイル104として出力する。
図5は、第1の実施形態におけるTLシミュレーション結果ファイル104の一例を示す図である。図5に示すように、1つのハードウェアイベントが上から発生した順序で記述される。501はハードウェアイベントIDであり、502はハードウェアイベントID501で示されるハードウェアイベントが発生したTLシミュレーション内の経過時間を表す。
次に、上述のRTLシミュレーション結果ファイル103とTLシミュレーション結果ファイル104とを解析し、その解析結果を出力するシミュレーション結果解析部105の動作について説明する。
まず、シミュレーション結果解析部105では、RTLシミュレーション結果ファイル103とTLシミュレーション結果ファイル104からハードウェアイベントを抽出し、ハードウェアイベントが発生したシミュレーション時間の累積誤差を抽出する。ここでは、RTLシミュレーション結果ファイル103のハードウェアイベントID401とTLシミュレーション結果ファイル104ハードウェアイベントID501が一致するハードウェアイベントを抽出する。そして、そのハードウェアイベントが発生したRTLシミュレーションの経過時間402とTLシミュレーションの経過時間502とから累積誤差を抽出する。
第1の実施形態では、シミュレーション結果解析部105で行われた解析結果をハードウェアイベント解析ファイル(図6)として出力する。
図6は、第1の実施形態におけるハードウェアイベント解析ファイルの一例を示す図である。図6に示すハードウェアイベント解析ファイル600は一行が1つのハードウェアイベントの解析結果を表している。601はハードウェアイベントIDであり、602はそのハードウェアイベントのRTLシミュレーション結果ファイル103での発生時間である。603はそのハードウェアイベントのTLシミュレーション結果ファイル104での発生時間である。604はRTLシミュレーションを基準とするシミュレーション時間の累積誤差である。即ち、累積誤差604はTLシミュレーションモデルで発生した発生時間603からRTLシミュレーションモデルで発生した発生時間602を減算したものである。605はTLシミュレーションを基準とするシミュレーション時間の累積誤差である。即ち、累積誤差605はRTLシミュレーションモデルで発生した発生時間602からTLシミュレーションモデルで発生した発生時間603を減算したものである。
次に、シミュレーション結果解析部105の解析結果に基づいてグラフを作成する表示制御部106の動作について説明する。
表示制御部106は、シミュレーション結果解析部105の解析結果に基づいてハードウェアイベント毎にシミュレーション時間の累積誤差を表すグラフを作成する。尚、作成するグラフの横軸は基準となるシミュレーションの経過時間を意味し、縦軸は比較対象となるシミュレーション時間の累積誤差を意味する。
また、ハードウェアイベント毎に発生したシミュレーション時間の累積誤差を表す座標をプロットし、プロットされた座標を結ぶことでグラフ作成する。ここでプロットされた点のY座標が、基準となるシミュレーション経過時間である横軸から離れれば離れるほど比較対象となるシミュレーション時間の累積誤差が大きくなることを表す。
図7は、第1の実施形態における表示制御部106の処理手順を示すフローチャートである。この処理は、シミュレーション結果解析部105からのハードウェアイベント解析ファイル600を用いて座標をプロットする処理である。
まず、ステップS701において、表示制御部106は、RTLシミュレーション結果とTLシミュレーション結果から基準となるシミュレーション結果を選択する。そして、ステップS702において、ハードウェアイベント解析ファイル600から一行(1つのイベント)を抽出する。次に、ステップS703において、基準となるシミュレーションがRTLかTLかを判定し、RTLであればステップS704へ進み、またTLであればステップS705へ進む。
このステップS704では、基準となるシミュレーション(RTL)で発生したハードウェアイベントの時間に対して、比較対象となるシミュレーション(TL)で同じハードウェアイベントが発生したときのシミュレーション時間の累積誤差をプロットする。また、ステップS705では、基準となるシミュレーション(TL)で発生したハードウェアイベントの時間に対して、比較対象となるシミュレーション(RTL)で同じハードウェアイベントが発生したときのシミュレーション時間の累積誤差をプロットする。そして、ステップS706において、最後のハードウェアイベントまで処理を行ったか否かを判定し、ハードウェアイベントが残っていればステップS702に戻り、上述のプロット処理を繰り返す。
図8は、ハードウェアイベント解析ファイル600から、RTLシミュレーション結果を基準に選択した場合に作成されるグラフを示す図である。このグラフが作成される手順を図7に示すフローチャートに従って説明する。
まず、ステップS701で、RTLシミュレーション結果を基準に選択し、ステップS702で一つ目のハードウェアイベントを抽出する。そして、基準のシミュレーションがRTLなのでステップS703からステップS704へ進み、座標TS1(20.832, 0)をプロットする。
次に、ステップS706で、ハードウェアイベントが残っているため、再度ステップS702でハードウェアイベントを抽出する。その後、4つ目のハードウェアイベントまで、この処理を繰り返し、ステップS704でプロットされる座標は、以下のようになる。そして、プロットされた座標間を順に結ぶことで図8に示すグラフが作成される。
TE1(239.568, 20.832)、TS2(270.816, 20.832)、TE2(489.552, 10.416)
図9は、ハードウェアイベント解析ファイル600から、TLシミュレーション結果を基準に選択した場合に作成されるグラフを示す図である。このグラフが作成される手順を図7に示すフローチャートに従って説明する。
まず、ステップS701で、TLシミュレーション結果を基準に選択し、ステップS702で一つ目のハードウェアイベントを抽出する。そして、基準のシミュレーションがTLなのでステップS703からステップS705へ進み、座標TS1(20.832, 0)をプロットする。
次に、ステップS706で、ハードウェアイベントが残っているため、再度ステップS702でハードウェアイベントを抽出する。その後、4つ目のハードウェアイベントまで、この処理を繰り返し、ステップS704でプロットされる座標は、以下のようになる。そして、プロットされた座標間を順に結ぶことで図9に示すグラフが作成される。
TE1(260.400, -20.832)、TS2(291.648, -20.832)、TE2(499.968, -10.416)
図10は、ハードウェアイベント解析ファイル600の全てのハードウェアイベントに対して、図8に示すグラフと同様に、RTLシミュレーション結果を基準として作成したグラフを示す図である。図10に示すように、終了時間を比較すると、シミュレーション時間の誤差は無い。しかし、シミュレーション時間の誤差の累積過程を見ると、-10msから+20msの間を推移していることを読み取ることができる。
以上のように、RTLシミュレーション結果とTLシミュレーション結果のシミュレーション時間の累積誤差をグラフ表示することで、波形を目視で比較するよりも容易にシミュレーション途中で発生したシミュレーション時間の誤差を把握することができる。また、比較結果をテキストファイルで表示するよりも、シミュレーション全体でのシミュレーション時間の誤差の累積過程を把握することが容易になる。
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態について詳細に説明する。尚、第2の実施形態では、図11〜図16を用いて第1の実施形態と異なる部分を説明する。また、第2の実施形態で用いる図11〜図16は、第1の実施形態で用いた図4〜図9に示す構成や処理動作に対して、新たな構成要素や処理動作が加えられている。
また、第2の実施形態におけるシミュレーション結果比較表示装置の基本構成及び処理動作は、前述した第1の実施形態における図1〜図3と同一であり、以下では図1〜図3を適宜参照して説明する。
第2の実施形態は、解析されたハードウェアイベントによって活性状態もしくは不活性状態となるモジュールの状態を、第1の実施形態で作成されるグラフと並行して識別可能に表示するものである。
図11は、第2の実施形態におけるRTLシミュレーション結果ファイルの一例を示す図である。図11に示すように、RTLシミュレーション結果ファイル1100は一行が1つのハードウェアイベントを表している。1101、1102は図4に示す第1の実施形態と同様に、ハードウェアイベントID、発生時間である。1103は#slaveであり、そのハードウェアイベントによって活性状態もしくは不活性状態になるモジュールとそれらの状態を表すものである。
例えば、“ROM_S”はROMの活性状態がTS1のハードウェアイベントによって開始されたことを意味し、“ROM_E”は終了したことを意味する。尚、この意味は、後述する図12及び図13においても同様である。
図12は、第2の実施形態におけるTLシミュレーション結果ファイルの一例を示す図である。図12に示すように、TLシミュレーション結果ファイル1200は一行が1つのハードウェアイベントを表している。1201、1202は図5に示す第1の実施形態と同様に、ハードウェアイベントID、発生時間である。1203は#slaveであり、そのハードウェアイベントによって活性状態もしくは不活性状態になるモジュールとそれらの状態を表すものである。
次に、上述したRTLシミュレーション結果ファイル1100とTLシミュレーション結果ファイル1200とを解析し、その解析結果を出力するシミュレーション結果解析部105の動作について説明する。
まず、シミュレーション結果解析部105では、RTLシミュレーション結果ファイル1100とTLシミュレーション結果ファイル1200からハードウェアイベントを抽出し、ハードウェアイベントが発生したシミュレーション時間の累積誤差を抽出する。更に、第2の実施形態では、上述のハードウェアイベントで活性状態もしくは不活性状態になるモジュールの情報も抽出する。そして、その結果をハードウェアイベント解析ファイル(図13)として出力する。
図13は、第2の実施形態におけるハードウェアイベント解析ファイルの一例を示す図である。このハードウェアイベント解析ファイル1300は、シミュレーション結果解析部105でRTLシミュレーション結果ファイル1100とTLシミュレーション結果ファイル1200をハードウェアイベント毎に解析した結果として作成される。尚、図13において、1301〜1305は第1の実施形態で説明した図6に示す601〜605に相当するものである。1306は#slaveであり、ハードウェアイベントで活性状態もしくは不活性状態になるモジュールとそれらの状態を表す。
次に、シミュレーション結果解析部105の解析結果に基づいてグラフを作成する表示制御部106の動作について説明する。
第2の実施形態の表示制御部106は、第1の実施形態で作成した累積誤差のグラフと横軸を共有して、スレーブモジュールが活性状態もしくは不活性状態のどちらであるかを表すグラフも作成する。ハードウェアイベントによって各スレーブモジュールの活性状態と不活性状態は変化する。
図14は、第2の実施形態における表示制御部106の処理手順を示すフローチャートである。まず、図14に示すステップS1401〜S1405までの処理は、第1の実施形態で説明した図7に示すステップS701〜S705までの処理に相当する。つまり、シミュレーション結果解析部105で作成されたハードウェアイベント解析ファイル1300を用いて累積誤差を表す座標をプロットする処理である。
次に、ステップS1406又はS1407では、ハードウェアイベントによって変化したスレーブモジュールとそれらの状態が識別できるように表示する。第2の実施形態では、帯状で表された状態が活性状態を表し、線状で表された状態が不活性状態を表すものとする。
図15は、ハードウェアイベント解析ファイル1300から、RTLシミュレーション結果を基準に選択した場合に作成されるグラフを示す図である。尚、累積誤差のグラフを作成する処理は、第1の実施形態と同様であり、その説明は省略し、ここではモジュール毎に活性状態もしくは不活性状態を表すグラフを作成する手順を説明する。
まず、モジュール毎に累積誤差グラフの横軸と並行な軸を準備する。この軸の表示が、帯状表示であれば、対応するモジュールが活性状態であることを表し、また直線であれば、対応するモジュールが不活性状態であることを表すものとする。
図15に示す例では、ROM、SDRAMの初期状態は不活性状態であるが、一つ目のハードウェアイベントTS1で、ROMが活性状態に変化するため、ステップS1406でROMの軸表示を帯状表示に変化させる。
次に、ハードウェアイベントTE1では、ROMが不活性状態となるため、ROMの軸表示を直線に変化させる。これにより、ROMの状態は、ハードウェアイベントTS1とTE1の間で活性状態を表す帯状表示のグラフとなる。
次に、ハードウェアイベントTS2で、SDRAMが活性状態となり、TE2で不活性状態になるため、ROMと同様に、SDRAMの状態はTS2とTE2の間で活性状態を表す帯状表示のグラフとなる。
そして、プロットされた座標間を順に結び、各モジュールの状態を表すグラフの時間軸を累積誤差グラフと同様にすることで図15のグラフが作成される。
図15に示すグラフより、ROMが活性状態である間にRTLシミュレーションに対してTLシミュレーションは +20.832 nsの誤差が生じ、SDRAMが活性状態である間に -10.416 nsの誤差が生じることが読み取れる。
図16は、ハードウェアイベント解析ファイル1300から、TLシミュレーション結果を基準に選択した場合に作成されるグラフを示す図である。尚、累積誤差のグラフを作成する処理は、第1の実施形態と同様で、モジュール毎に活性状態もしくは不活性状態を表すグラフを作成する手順も同様であるため、説明は省略する。
図16に示すグラフより、ROMが活性状態である間にTLシミュレーションに対してRTLシミュレーションは -20.832 nsの誤差が生じ、SDRAMが活性状態である間に +10.416 nsの誤差が生じることが読み取れる。
第2の実施形態では、これまでモジュールの活性状態もしくは不活性状態を表すグラフを累積誤差グラフとは別に作成していた。しかし、各モジュールの活性状態時に累積誤差グラフを色付けすることで、累積誤差とモジュールの状態を同時にグラフ表示することも可能である。
図17は、RTLシミュレーション結果を基準にし、これまでの説明と同様の手順で、各モジュールの活性状態時にグラフを色付けした場合のグラフを示す図である。図17において、赤色はROMが活性状態であることを表し、青色はSDRAMが活性状態であることを表す。
第2の実施形態によれば、グラフと共に各モジュールの活性状態情報を可視化したことにより、シミュレーションモデル内の誤差の原因となるモジュールを容易に発見することができる。
第1及び第2の実施形態では、RTLシミュレーションモデルとTLシミュレーションモデルを例に挙げて説明したが、本発明はこれに限らず、他の抽象レベルの異なる2つのシミュレーションモデルに適用しても良い。
また、RTLシミュレーション結果ファイル103及びTLシミュレーション結果ファイル104は、必ずしも図4、図5、図11、図12と同じ記述形式で作成される必要はない。例えば、システムバス上の全ての信号変化とその時間が記述されている場合でも、シミュレーション結果解析部105が対象となるハードウェアイベントの発生時間の抽出を行うことは容易であるため、本発明を適用することができる。
更に、シミュレーション結果解析部105が図6、図13に示すハードウェアイベント解析ファイルを作成しなくても、本発明を適用可能である。その場合、RTLシミュレーションとTLシミュレーション中で発生する比較対象となるハードウェアイベントの発生時間が把握できれば良い。これにより、表示制御部106が容易にグラフを作成することができる。
尚、本発明は複数の機器(例えば、ホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用しても良い。
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合。
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
第1の実施形態におけるシミュレーション結果比較表示装置の構成の一例を示す図である。 RTLシミュレーションモデルの構成の一例を示すブロック図である。 TLシミュレーションモデルの構成の一例を示すブロック図である。 第1の実施形態におけるRTLシミュレーション結果ファイル103の一例を示す図である。 第1の実施形態におけるTLシミュレーション結果ファイル104の一例を示す図である。 第1の実施形態におけるハードウェアイベント解析ファイルの一例を示す図である。 第1の実施形態における表示制御部106の処理手順を示すフローチャートである。 ハードウェアイベント解析ファイル600から、RTLシミュレーション結果を基準に選択した場合に作成されるグラフを示す図である。 ハードウェアイベント解析ファイル600から、TLシミュレーション結果を基準に選択した場合に作成されるグラフを示す図である。 ハードウェアイベント解析ファイル600の全てのハードウェアイベントに対して、図8に示すグラフと同様に、RTLシミュレーション結果を基準として作成したグラフを示す図である。 第2の実施形態におけるRTLシミュレーション結果ファイルの一例を示す図である。 第2の実施形態におけるTLシミュレーション結果ファイルの一例を示す図である。 第2の実施形態におけるハードウェアイベント解析ファイルの一例を示す図である。 第2の実施形態における表示制御部106の処理手順を示すフローチャートである。 ハードウェアイベント解析ファイル1300から、RTLシミュレーション結果を基準に選択した場合に作成されるグラフを示す図である。 ハードウェアイベント解析ファイル1300から、TLシミュレーション結果を基準に選択した場合に作成されるグラフを示す図である。 RTLシミュレーション結果を基準にし、これまでの説明と同様の手順で、各モジュールの活性状態時にグラフを色付けした場合のグラフを示す図である。
符号の説明
101 RTLシミュレータ
102 TLシミュレータ
103 RTLシミュレーション結果ファイル
104 TLシミュレーション結果ファイル
105 シミュレーション結果解析部
106 表示制御部
107 表示部
201 CPU
202 アービタ
203 デコーダ
204 システムバス
205 ROMコントローラ
206 ROM
207 SDRAMコントローラ
208 SDRAM
241 モニタ
301 CPU
302 システムバス
303 ROM
304 SDRAM
321 モニタ
331 ROMレイテンシ設定部
332 ROMデータ格納部
341 SDRAMレイテンシ設定部
342 SDRAMデータ格納部

Claims (11)

  1. 抽象度の異なるシミュレーションモデルのシミュレーション結果を比較し、シミュレーション時間の累積誤差を表示する表示装置であって、
    抽象度の異なるシミュレーションモデルのシミュレーション結果を解析するシミュレーション結果解析手段と、
    前記解析したシミュレーション結果に基づいて、前記抽象度の異なるシミュレーションモデルのシミュレーション時間の累積誤差を表示させる表示制御手段と、
    を有することを特徴とする表示装置。
  2. 前記シミュレーション結果解析手段は、前記抽象度の異なるシミュレーションモデルのシミュレーション結果からハードウェアイベントの発生時間とシミュレーション時間の累積誤差を解析することを特徴とする請求項1に記載の表示装置。
  3. 前記表示制御手段は、前記ハードウェアイベントの発生時間とシミュレーション時間の累積誤差から、横軸を基準となるシミュレーション結果の経過時間とし、縦軸を比較対象となるシミュレーション結果のシミュレーション時間の累積誤差とするグラフを表示することを特徴とする請求項2に記載の表示装置。
  4. 前記ハードウェアイベントは、前記抽象度の異なるシミュレーションモデル内のシステムバス上で発生することを特徴とする請求項2又は3に記載の表示装置。
  5. 前記シミュレーション時間の累積誤差は、基準となるシミュレーション結果を切り替えて表示されることを特徴とする請求項3に記載の表示装置。
  6. 前記シミュレーション結果解析手段は、前記ハードウェアイベントが発生時に活性状態又は不活性状態になるモジュールを判別することを特徴とする請求項3に記載の表示装置。
  7. 前記表示制御手段は、前記ハードウェアイベントが発生時のモジュールの活性状態又は不活性状態情報から、前記グラフの横軸と並行してモジュールの活性状態情報をグラフ化することを特徴とする請求項6に記載の表示装置。
  8. 前記表示制御手段は、前記モジュール毎の活性状態を示す情報に基づいて前記累積誤差を各モジュールで色分けして表示させることを特徴とする請求項6に記載の表示装置。
  9. 抽象度の異なるシミュレーションモデルのシミュレーション結果を比較し、シミュレーション時間の累積誤差を表示する表示方法であって、
    抽象度の異なるシミュレーションモデルのシミュレーション結果を解析するシミュレーション結果解析工程と、
    前記解析したシミュレーション結果に基づいて、前記抽象度の異なるシミュレーションモデルのシミュレーション時間の累積誤差を表示させる表示制御工程と、
    を有することを特徴とする表示方法。
  10. 請求項9に記載の表示方法をコンピュータに実行させるためのプログラム。
  11. 請求項10に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2006027707A 2006-02-03 2006-02-03 表示装置及び表示方法 Withdrawn JP2007207119A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006027707A JP2007207119A (ja) 2006-02-03 2006-02-03 表示装置及び表示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006027707A JP2007207119A (ja) 2006-02-03 2006-02-03 表示装置及び表示方法

Publications (1)

Publication Number Publication Date
JP2007207119A true JP2007207119A (ja) 2007-08-16

Family

ID=38486513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006027707A Withdrawn JP2007207119A (ja) 2006-02-03 2006-02-03 表示装置及び表示方法

Country Status (1)

Country Link
JP (1) JP2007207119A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196702A (ja) * 2012-03-16 2013-09-30 Samsung Electronics Co Ltd 再構成可能プロセッサの検証支援装置及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196702A (ja) * 2012-03-16 2013-09-30 Samsung Electronics Co Ltd 再構成可能プロセッサの検証支援装置及び方法

Similar Documents

Publication Publication Date Title
US5650938A (en) Method and apparatus for verifying asynchronous circuits using static timing analysis and dynamic functional simulation
KR102222420B1 (ko) 메모리 물리 계층 인터페이스를 훈련하기 위한 통합 제어기
KR102011092B1 (ko) 프로그래머블 지연을 가진 동적 랜덤 액세스 메모리(dram) 명령을 생성하기 위한 메모리 물리 계층 인터페이스 로직
US7607116B2 (en) Method and apparatus for verifying system-on-chip model
CN100442293C (zh) 合并硬件设计语言的原始档案与查验资料档案的方法
US7561999B2 (en) Verification apparatus, verification method, and program
US8036874B2 (en) Software executing device and co-operation method
US8504347B2 (en) Simulation apparatus, simulation method, and program to perform simulation on design data of a target circuit
JP5034916B2 (ja) 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置
JP2008210004A (ja) 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置
US7865345B2 (en) Simulation apparatus and method
US7228513B2 (en) Circuit operation verification device and method
US10816600B1 (en) Protocol analysis and visualization during simulation
US20140325468A1 (en) Storage medium, and generation apparatus for generating transactions for performance evaluation
JP2007207119A (ja) 表示装置及び表示方法
JP5454349B2 (ja) 性能推定装置
JP2005108007A (ja) Lsi設計検証装置及びlsi設計検証方法
JP2005510787A5 (ja)
EP1461732A2 (en) Multi-environment testing with a responder
JP2006221474A (ja) シミュレーション装置及びその履歴情報記録方法
JP2008234080A (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム、半導体集積回路、半導体集積回路の製造方法
US10210294B1 (en) System and methods for simulating a circuit design
JP2007241836A (ja) マルチサイクルパス検証方法
JP5077219B2 (ja) シミュレーション方法、シミュレーション装置およびシミュレーションプログラム
JP2010009279A (ja) デバッグ方法およびデバッグプログラム

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090407