JP2006221474A - シミュレーション装置及びその履歴情報記録方法 - Google Patents

シミュレーション装置及びその履歴情報記録方法 Download PDF

Info

Publication number
JP2006221474A
JP2006221474A JP2005035213A JP2005035213A JP2006221474A JP 2006221474 A JP2006221474 A JP 2006221474A JP 2005035213 A JP2005035213 A JP 2005035213A JP 2005035213 A JP2005035213 A JP 2005035213A JP 2006221474 A JP2006221474 A JP 2006221474A
Authority
JP
Japan
Prior art keywords
transaction
bus
hardware
order
master
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
JP2005035213A
Other languages
English (en)
Inventor
Masayuki Odakawa
真之 小田川
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 JP2005035213A priority Critical patent/JP2006221474A/ja
Publication of JP2006221474A publication Critical patent/JP2006221474A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 バス上でトランザクションの順序が入れ替わった場合に、順序の入れ替わったトランザクションを容易に確認できるようにする。
【解決手段】 システム記述言語によりバス上の通信をトランザクションにより行うトランザクションレベルで記述されたシミュレーション装置において、バス上でトランザクションの順序が入れ替わった場合に、該順序が入れ替わったトランザクションに関する情報をハードウェアにマッピングされないアトリビュート情報としてトランザクションに設定し、設定されたハードウェアにマッピングされないアトリビュート情報を履歴情報として記録する。
【選択図】 図7

Description

本発明は、論理回路から構成されるハードウェアシステムを、システム記述言語により高速シミュレーション可能なモデルとして高い抽象度で記述されたシミュレーション装置に関するものである。
プロセス技術の進歩によりLSIの集積度が増大し、これまではボードで実現していたシステムをシステムLSIとして1チップ上に搭載することが可能となっている。また、チップ上に搭載する機能モジュールも多様化し、回路規模も増大している。これに伴い、システムLSIを効率的に設計するための手法として、従来のVerilog-HDLやVHDL(VHSIC Hardware Description Language)といったハードウェア記述言語を使用した設計から、SystemCやSpecCといったシステム記述言語による設計が普及してきている。
システム記述言語による設計支援ツールとしては、Synopsys社のCoCentricやCoWare社のConvergenSCが知られている。そして、システム記述言語により記述したモジュールをブロック図入力画面で入力し、システムLSIの設計を行うことが可能になっている。
このシステムLSIの設計が終了すると、設計支援ツールからシミュレーションモデルを生成し、シミュレータを起動してシステムシミュレーションを行い、設計したシステムLSIの機能や性能を確認することができる。即ち、実際のハードウェアを作成する前に、シミュレーションによりシステムの評価を行うことにより、仕様の不具合や性能不足を回避している。
上述のシステム記述言語によるモジュール記述には、記述の抽象度により以下の3種類の記述レベルが一般に知られている。
トランザクションレベル(TL):
モジュール間のバス通信を捉えて機能を記述する抽象度レベルである。通信の開始及び終了の時間、通信データにより動作するため、クロックに対する精度は低い。イベントにより機能をシミュレートするため、シミュレーション速度は非常に速い。システムとしての動作が実際のハードウェアと一致するため、システム全体の評価に適している。
ARM社による定義では、更に細かく分類されておりPV(プログラマーズビュー)、PVT(プログラマーズビュー+タイミング)、CL(サイクルレベル)に相当する。
バスサイクルアキュレート(BCA):
モジュールの入力及び出力のイベントとして機能を記述する抽象度レベルである。動作クロックに対して、入力及び出力部で正確にシミュレートすることができる。
ARM社による定義では、CC(サイクルコーラブル)に相当する。
レジスタトランスファレベル(RTL):
レジスタファイル間の同期転送を捉えて回路を記述する抽象度レベルである。動作クロックに対して、正確に機能動作をシミュレートすることができ、精度が非常に高い。1クロック毎に機能をシミュレートするため、シミュレーション速度は非常に遅い。
ARM社による定義ではRT(RTLイベントドリブン)に相当する。
一般的に、抽象度が高いほどシミュレーション速度は速くなり、また抽象度が低いほどシミュレーション精度は高くなる。
システムのシミュレーションを行うためのシミュレーションモデルは、トランザクションレベルにより記述される。
トランザクションレベルによるシミュレーションモデルとして、ARM社により公開されているAMBAバスモデルが広く知られている(非特許文献1)。
図1は、AHB CLIで定義されているバストランザクションを示す図である。図1に示すトランザクションメソッドは、AMBA AHBバスプロトコルで規定されたハードウェア信号に対応させることができる。図2は、トランザクションメソッド、アトリビュート、ハードウェアの対応を示す図である。図2に示すように、アトリビュート及びメソッド自身が、少なくとも1つのハードウェア信号に対応している。これらのメソッドを使用してバスの動作をシミュレーションすることが可能である。
図3、図4を用いてバスの動作をシミュレーションする方法を説明する。図3は、トランザクションメソッドと信号波形の対応を示す図である。図4は、トランザクションメソッドを用いたシミュレーションを説明するための図である。
時刻T1において、バスマスタ1がバスへのリクエスト要求を行う。このとき、バスマスタ1はrequest()メソッドを呼び出し、バスに対して発行する。これはHBUSREQ_M1信号のアサートに相当する。また、バスはアービターに対してアービトレーションを開始させる(arbitrate())。また、バスからマスタに対してresponse()[OKAY,READY]メソッドが発行される。これはHREADY及びHRESP信号に相当する。
時刻T2において、マスタ2がバスへのリクエスト要求を行う(request())。これはHBUSREQ_M2信号のアサートに相当する。同時に、バスからマスタ1に対してグラントが与えられる(arbitrate()[grant M1])。これはHGRANT_M1のアサートに相当する。
時刻T3において、マスタ1はグラントを検知(has_grant()[TRUE])し、バスへのリクエストを取り下げる(end_request())。これはHBUSREQ_M1信号のデアサートに相当する。また、トランザクションを開始する(set_protection()、init_transaction())。これらはHPROTO、HTRANS、HADDR、HBURST、HWRITE、HSIZEといった信号に相当する。また同時に、バスはアドレスデコードを行い、スレーブに対してトランザクションを発行する(write()[address A1]、control_info[NONSEQ,INCR4])。
時刻T4からT7でマスタ1は、バスに対してデータを送る(set_data())。これはHWDATA信号に相当する。そして、バスは、スレーブに対してマスタからのデータを送付する(set_data())。
時刻T6でバスはマスタ2に対してグラントを与える(arbitrate()[grant M2])。時刻T7でマスタ2はグラントを検知し、バスアクセスを開始する。
このように、各トランザクションメソッドは、ハードウェア信号の挙動と同じ機能を有しており、メソッド及びアトリビュートはハードウェア信号にマッピングできるものであることがわかる。
AHB CLIでは、トランザクションメソッドの他にバスのコンフィギュレーションを変更するためのメソッドが用意されている。このメソッドにより、バスのアドレス幅、データ幅、アドレスマップを変更することが可能である。
図5は、ハードウェアコンフィギュレーションメソッドを示す図である。図5に示すようにシミュレータがシステムモデルを読み出すエラボレーション時に実行されるメソッドと、シミュレーション実行時に使用することができるメソッドとに分けられる。ここで、シミュレーション実行を行いながら、バスのコンフィギュレーションを変更するメソッドは、デコーダのinitialize_map()及びアービターのpriority()、set_default_master()である。
これらは、実際のハードウェアの動作に関係しており、initialize_map()はremap信号に相当し、priority()、set_dafulat_maste()はアービター内のレジスタアクセス信号に相当する。
また、AHB CLIには、検証目的で使用するメソッドが用意されている。ハードウェアの検証に一般的に使用されているバックドア機能に対応するメソッドである。バスのプロトコルとは無関係に、指定したアドレスのデータを直接読書きすることが可能である。
図6は、検証メソッドを示す図である。マスタが使用する引数はアドレス、データへのポインタ、転送サイズの3つであり、ハードウェアと関連したものである。スレーブが使用する引数は、マスタID、アドレス、データへのポインタ、転送サイズの4つであり、これらもハードウェアと関連したものである。
また、システムの検証には、上記のシミュレーションモデルの他に、バス上で発生する各トランザクションを監視するモニタを用意し、発生したトランザクションの情報の履歴を作成する方法が知られている。更に、バス上で発生するトランザクション情報を波形としてダンプし、観測する方法も知られている。
AMBA AHB Cycle Level Interface (AHB CLI) Specification, 2003年7月15日公開
しかしながら、上記従来の技術では、バス上でトランザクションの順序が入れ替わる、アウト・オブ・オーダーが発生した場合、システムのシミュレーションによる膨大な履歴や波形を目視で確認を行っているため、アウト・オブ・オーダーの発生個所を見つけるのが困難であった。
また、アウト・オブ・オーダーの発生個所を見つけた後、どのトランザクションとどのトランザクションが入れ替わっているのか確認するための作業も煩雑であった。
本発明は上記課題を解決するためになされたもので、バス上でトランザクションの順序が入れ替わった場合に、順序の入れ替わったトランザクションを容易に確認できるようにすることを目的とする。
本発明は、システム記述言語によりバス上の通信をトランザクションにより行うトランザクションレベルで記述されたシミュレーション装置であって、バス上でトランザクションの順序が入れ替わった場合に、該順序が入れ替わったトランザクションに関する情報をハードウェアにマッピングされないアトリビュート情報として前記トランザクションに設定する設定手段と、前記設定された前記ハードウェアにマッピングされないアトリビュート情報を履歴情報として記録する記録手段とを有することを特徴とする。
また、本発明は、システム記述言語によりバス上の通信をトランザクションにより行うトランザクションレベルで記述されたシミュレーション装置の履歴情報記録方法であって、バス上でトランザクションの順序が入れ替わった場合に、該順序が入れ替わったトランザクションに関する情報をハードウェアにマッピングされないアトリビュート情報として前記トランザクションに設定する設定工程と、前記設定された前記ハードウェアにマッピングされないアトリビュート情報を履歴情報として記録する記録工程とを有することを特徴とする。
本発明によれば、バス上でトランザクションの順序が入れ替わった場合に、その順序の入れ替わったトランザクションを容易に確認することができる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
図7は、リードデータトランザクションの構成の一例を示す図である。図7において、700はリードデータトランザクションであり、バスにより通信され、マスタ或いはバスからのスレーブに対するリードアクセス要求に対してリードデータを送信するトランザクションである。
このリードデータトランザクション700において、701〜706はハードウェアにおける信号に置き換えられないアトリビュート情報であり、本実施形態では以下のような情報が設定される。
即ち、バス上で通信順序が入れ替わるアウト・オブ・オーダーの発生時に、追い抜かれたトランザクションのID701、追い抜いたトランザクションのID702、追い抜かれたトランザクションの数703、追い抜いたトランザクションの数704、アウトオブオーダー発生フラグ705、トランザクションが発行された時刻であるトランザクション発行時刻706が設定される。
707、708はハードウェアにおける信号に置き換えることが可能なアトリビュートであり、リードトランザクションID707、リードデータ708である。
710はアトリビュートがハードウェアにおける信号に置き換えられるアトリビュートであることを示すフラグ(ハードウェアマッピングフラグ)である。この例では、黒丸で示されるアトリビュート(707、708)がハードウェアにマッピングされることを、黒丸で示されていないアトリビュート(701〜706)がハードウェアにマッピングされないことを示している。
図8は、ライトデータトランザクションの構成の一例を示す図である。図8において、800はライトデータトランザクションであり、バスにより通信され、マスタ或いはバスからのスレーブに対するライトアクセス要求に合わせてスレーブに対してライトデータを送信するトランザクションである。
このライトデータトランザクション800において、801〜806はハードウェアにおける信号に置き換えられないアトリビュート情報であり、本実施形態では以下のような情報が設定される。
即ち、バス上で通信順序が入れ替わるアウト・オブ・オーダーの発生時に、追い抜かれたトランザクションのID801、追い抜いたトランザクションのID802、追い抜かれたトランザクションの数803、追い抜いたトランザクションの数804、アウトオブオーダー発生フラグ805、トランザクションが発行された時刻であるトランザクション発行時刻806が設定される。
807、808はハードウェアにおける信号に置き換えることが可能なアトリビュートであり、ライトトランザクションID807、ライトデータ808である。
810はアトリビュートがハードウェアにおける信号に置き換えられるアトリビュートであることを示すフラグ(ハードウェアマッピングフラグ)である。この例では、黒丸で示されるアトリビュート(807、808)がハードウェアにマッピングされることを、黒丸で示されていないアトリビュート(801〜806)がハードウェアにマッピングされないことを示している。
図9は、アドレストランザクションの構成の一例を示す図である。図9において、900はアドレストランザクションであり、バスにより通信され、マスタ或いはバスからのスレーブに対するアクセス要求に相当するトランザクションである。
このアドレストランザクション900において、901はハードウェアにおける信号に置き換えられないアトリビュート情報であり、本実施形態ではトランザクションの発行された時刻(トランザクション発行時刻)が設定される。
902〜906はハードウェアにおける信号に置き換えることが可能なアトリビュートであり、本実施形態ではアドレストランザクションID902、バースト長903、バイトイネーブル904、アドレス905、リード/ライト906である。
910はアトリビュートがハードウェアにおける信号に置き換えられるアトリビュートであることを示すフラグ(ハードウェアマッピングフラグ)である。この例では、黒丸で示されるアトリビュート(902〜906)がハードウェアにマッピングされることを、黒丸で示されていないアトリビュート(901)がハードウェアにマッピングされないことを示している。
図10は、実施形態におけるシミュレーションモデルのシステム構成の一例を示す図である。図10において、1001はクロック生成器であり、システムの各機能モジュール(後述する第1のマスタ、第2のマスタ、第1のスレーブ、第2のスレーブ)に対して、それぞれクロックを供給する。
1002は第1のマスタであり、バスに対してトランザクションを発行し、スレーブからのトランザクションを受信する。1003は第2のマスタであり、バスに対してトランザクションを発行し、スレーブからのトランザクションを受信する。
1004は第1のスレーブであり、バスからのトランザクションを受信し、リードに相当するトランザクションに対してはリードデータに相当するトランザクションを発行する。1005は第2のスレーブであり、バスからのトランザクションを受信し、リードに相当するトランザクションに対してはリードデータに相当するトランザクションを発行する。
1006はバスであり、第1のマスタ1002又は第2のマスタ1003からのトランザクションを受信し、バスのアービトレーション及びアドレスデコードを行い、アービトレーションにより選択された第1のマスタ1002又は第2のマスタ1003のトランザクションを、第1のスレーブ1004又は第2のスレーブ1005に対して中継する。
1007はトランザクションにより通信を行うポートである。第1のマスタ1002、第2のマスタ1003、第1のスレーブ1004、第2のスレーブ1005及びバス1006にそれぞれ存在する。1008は信号ポートであり、クロック生成器1001からのクロックを受信するポートである。
そして、1009はバスモニタであり、バス上で発生するトランザクション情報履歴を保持し、記録する。
図11は、バス1006におけるトランザクション履歴1101を示す図である。バス1006を介して通信されるトランザクションの履歴情報である。バスモニタ1009により保持され、記録される。
以上の構成において、図12を用いて第1のマスタ1002と第2のマスタ1003とが第1のスレーブ1004からデータの読み出しを行う際に、第1のスレーブ1004でリードデータのアウト・オブ・オーダーが発生した場合の処理について説明する。
図12は、各機能モジュールのシミュレーションを示すフローチャートである。まず、シミュレーションが開始されると、ステップS1201において、第1のマスタ1002がバス1006に対してトランザクションを発行できる状態であればステップS1202へ進み、アドレストランザクションの発行を開始する。
このステップS1202において、第1のマスタ1002はアドレストランザクション900のハードウェアにマッピングされる(置き換え可能な)アトリビュート情報902〜906の値を以下のように設定する。
ADDRESS_TRA_ID = 0x0;
BURST_LENGTH = 0x1;
BYTE_ENABLE = 0xffff;
ADDRESS = 0xff00_0004;
W_OR_R = READ;
また、第1のマスタ1002はアドレストランザクション900のハードウェアにマッピングされない(置き換え不可能な)アトリビュート情報901にトランザクション発行時刻を以下のように設定する。
CURRENT_TIME = 13:13:10;
尚、ハードウェアマッピングフラグ910は固定情報であり、第1のマスタ1002が変更することはできない。
次に、ステップS1203において、アウト・オブ・オーダーが発生しているか否かを判定する。ここで、アウト・オブ・オーダーが発生していなければステップS1205へ進むが、アウト・オブ・オーダーが発生していればステップS1204へ進み、アウト・オブ・オーダーに対するアトリビュート情報と付加情報の設定を行う。
尚、このアドレストランザクション900は、リードデータトランザクション700、ライトデータトランザクション800と異なり、アウト・オブ・オーダーに対するアトリビュート情報を持たないので、たとえアウト・オブ・オーダーが発生していたとしても、他にアトリビュート情報を設定することはない。
次に、第1のマスタ1002が上述したハードウェアに置き換え可能なアトリビュート情報902〜906とハードウェアに置き換え不可能なアトリビュート情報901の設定を行うと、ステップS1205へ進み、バス1006に対してアドレストランザクション900を発行する。
これにより、バス1006がアービトレーションを開始し、第1のマスタ1002に対してバス権を与えると、バス1006は第1のマスタ1002からのアドレストランザクション900を受け取る。
次に、バス1006は、そのアドレストランザクション900のハードウェアに置き換え不可能なアトリビュート情報901と、ハードウェアに置き換え可能なアトリビュート情報902〜906とを読み出す。
そして、バス1006は、アトリビュート情報902〜906のうち、アドレス905をデコードし、デコードの結果、第1のスレーブ1004に対して第1のマスタ1002からのトランザクション900を中継する。
ここで、バスモニタ1009がアドレストランザクション900の内容を図11に示すようにトランザクション履歴1101に追加する。
一方、第1のスレーブ1004がバス1006からのアドレストランザクション900を受け取ると、ハードウェアに置き換え可能なアトリビュート情報902〜906に設定されている情報を読み取り、リードデータを送信できるまで保持する。
第1のスレーブ1004がリードデータを第1のマスタ1002に送信できるまで保持している状態を図15に示す。
次に、第2のマスタ1003がバス1006に対してアドレストランザクション900の発行を行う。尚、この処理は上述した第1のマスタ1002からのアドレストランザクション900の発行と同じである。
そして、バス1006がアービトレーションを開始し、第2のマスタ1003にバス権を与えると、第2のマスタ1003からのアドレストランザクション900を受け取る。これ以降の処理は、上述したバス1006の動作と同じである。
ここで、バスモニタ1009はトランザクション履歴1101に第2のマスタ1003からのアドレストランザクション900の情報を追加する。
次に、第1のスレーブ1004がバス1006からのアドレストランザクション900を受け取り、ハードウェアに置き換え可能なアトリビュート情報902〜906の情報を読み取り、リードデータを送信できるまで保持する。
第1のスレーブ1004がリードデータを第2のマスタ1003に送信できるまで保持している状態を図16に示す。
この状態で、第1のスレーブ1004が第2のマスタ1003からのリードアクセスに対してリードデータを送信できるようになると(ステップS1201のYes)、第1のスレーブ1004はバス1006に対してリードデータトランザクション700の発行を開始する。
まずステップS1202で、第1のスレーブ1004はリードデータトランザクション700のハードウェアに置き換え可能なアトリビュート情報708にリードデータを以下のように設定する。
RDATA = 0xAAAA;
ここで、第1のマスタ1002からのリードアクセスと、第2のマスタ1003からのリードアクセスに対して第1のスレーブ1004は第2のマスタ1003へリードデータを送信することにより送信順序に変更が生じたので、アウト・オブ・オーダーが発生したことになる(ステップS1203のYes)。
これにより、ステップS1204において、第1のスレーブ1004は、保持しているアドレストランザクション900の情報からアウト・オブ・オーダーに対するアトリビュート情報を図17に示すように作成し、保持しているアドレストランザクション900の情報を変更する。
そして、第1のスレーブ1004は、リードデータトランザクション700のアウト・オブ・オーダーに対するアトリビュート情報701〜706の値を以下のように設定する。
ID_OF_TRA1 = -;
ID_OF_TRA0 = 0;
NO_OF_TRA1 = 0;
NO_OF_TRA0 = 1;
OUT_OF_ORDER = Y;
CURRENT_TIME = 13:13:30;
尚、ハードウェアマッピングフラグ710は固定情報であり、第1のスレーブ1004が変更することはできない。
次に、第1のスレーブ1004は、ハードウェアに置き換え可能なアトリビュート情報707、708と、アウト・オブ・オーダーに対するアトリビュート情報701〜706の設定を終了すると、ステップS1205において、バス1006に対してリードデータトランザクション700を発行する。
これにより、バス1006が、第1のスレーブ1004からのリードデータトランザクション700を受け取り、第2のマスタ1003に対して第1のスレーブ1004からのリードデータトランザクション700を中継する。そして、バス1006を監視するバスモニタ1009は、図11に示すトランザクション履歴1101にリードデータトランザクション700の情報を追加する。
尚、本実施形態では、同一スレーブ内においてリードデータのアウト・オブ・オーダーが発生した場合を例に説明を行ったが、同一マスタからのライトデータトランザクション800でアウト・オブ・オーダーが発生した場合も動作は同一である。この場合、マスタでアウト・オブ・オーダーに対するアトリビュート情報801〜806が付加される。
また、異なるスレーブへのリードアクセスでリードデータのアウト・オブ・オーダーが発生した場合も動作は同一である。この場合は、バスにおいてアウト・オブ・オーダーに対するアトリビュート情報701〜706を付加し、マスタへのリードデータトランザクション700に反映する。
上述のシミュレーションが終了すると、設計者はトランザクション履歴1101によりシステムが所望の動作を得られたことを確認することができる。特に、設計者は、アウト・オブ・オーダー発生フラグにより、アウト・オブ・オーダーが発生した個所を特定し、バス上で通信順序が入れ替わったトランザクションを容易に確認することができる。
また、トランザクション履歴1101をモニタに表示しながら動作の確認を行うことも可能である。
図13は、トランザクション履歴表示装置の構成の一例を示す図である。また、図14は、トランザクション履歴1101の波形表示の一例を示す図である。
図13において、トランザクション履歴表示制御部1301は、トランザクション履歴データベース1302に格納されたトランザクション履歴1101を読出し、表示のための制御を行う。また、トランザクション履歴表示制御部1301はトランザクション履歴1101からトランザクションの時系列的な変化を抽出し、波形として表示を行う。
トランザクション履歴表示制御部1301は、トランザクション強調表示制御部1311、トランザクション選択制御部1312を備えている。トランザクション強調表示制御部1311は、波形表示されたトランザクションのうち、1つ以上のトランザクションが選択された場合に、トランザクション履歴1101からアウト・オブ・オーダーに対する情報を抽出する。また、トランザクション強調表示制御部1311は、トランザクション選択制御部1312により、抽出されたアウト・オブ・オーダーに対する情報から、選択されたトランザクションと通信順序が入れ替わったトランザクションの表示を強調させる。
ユーザインタフェース制御部1303は、トランザクション履歴表示制御部1301との間でデータの送受信を制御するインターフェースであり、出力部1304を介してモニタ1305へトランザクション履歴を波形表示し、また入力部1306を介して設計者からの入力を受け付ける。出力部1304は、モニタ1305へ設計情報を表示する。入力部1306は、設計者がキーボード1307及びマウス1308から入力した情報を受けてユーザインタフェース制御部1303へ送出する。
キーボード1307及びマウス1308は、設計者が波形表示されたトランザクション情報を確認し、複数のトランザクションから1つ以上のトランザクションを選択するために使用される。
トランザクション履歴データベース1302は、トランザクション履歴1101を記憶するものである。
図14において、設計者が波形表示されたトランザクションのうちの1つを選択すると、トランザクション選択制御部1312によりトランザクション履歴1101から、選択されたトランザクション1401と通信順序が入れ替わったトランザクション1402が抽出される。
トランザクション強調表示制御部1311は、抽出されたトランザクション1401、1402の表示を変更し、アウト・オブ・オーダーにより通信順序が入れ替わったことを強調表示する。
本実施形態によれば、バスを介して通信されるトランザクションにハードウェアの信号に相当することを示すハードウェアマッピングフラグと、アウト・オブ・オーダーに対するアトリビュート情報とを設け、トランザクションを発行するモジュールにおいてアウト・オブ・オーダーに対するアトリビュート情報を生成し、バスモニタによりトランザクションの履歴を記録すると共に、画面上に表示を行い、設計者がトランザクションのうちの少なくとも1つを選択すると、該トランザクションに関連し、アウト・オブ・オーダーにより通信順序が入れ替わったトランザクションを強調して表示することで、以下のような効果がある。
(1)アウト・オブ・オーダーに対する情報をシミュレーション履歴に蓄積でき、アウト・オブ・オーダーの発生を容易に検索しやすくすることができる。従って、検証にかかる時間を短縮することができる。
(2)画面に波形表示させ、更に、設計者が選択したトランザクションに関連し、アウト・オブ・オーダーにより通信順序が入れ替わったトランザクションを強調するため、通信順序の入れ替わりを容易に視認できる。従って、検証効率を向上させることができる。
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
AHB CLIで定義されているバストランザクションを示す図である。 トランザクションメソッド、アトリビュート、ハードウェアの対応を示す図である。 トランザクションメソッドと信号波形の対応を示す図である。 トランザクションメソッドを用いたシミュレーションを説明するための図である。 ハードウェアコンフィギュレーションメソッドを示す図である。 検証メソッドを示す図である。 リードデータトランザクションの構成の一例を示す図である。 ライトデータトランザクションの構成の一例を示す図である。 アドレストランザクションの構成の一例を示す図である。 実施形態におけるシミュレーションモデルのシステム構成の一例を示す図である。 バス1006におけるトランザクション履歴1101を示す図である。 各機能モジュールのシミュレーションを示すフローチャートである。 トランザクション履歴表示装置の構成の一例を示す図である。 トランザクション履歴1101の波形表示の一例を示す図である。 リードデータを送信できるまで保持している状態を示す図である。 リードデータを送信できるまで保持している状態を示す図である。 アトリビュート情報を示す図である。
符号の説明
700 リードデータトランザクション
701 追い抜かれたトランザクションのID
702 追い抜いたトランザクションのID
703 追い抜かれたトランザクションの数
704 追い抜いたトランザクションの数
705 アウトオブオーダー発生フラグ
706 トランザクション発行時刻
707 リードトランザクションID
708 リードデータ
710 ハードウェアマッピングフラグ
800 ライトデータトランザクション
801 追い抜かれたトランザクションのID
802 追い抜いたトランザクションのID
803 追い抜かれたトランザクションの数
804 追い抜いたトランザクションの数
805 アウトオブオーダー発生フラグ
806 トランザクション発行時刻
807 ライトトランザクションID
808 ライトデータ
810 ハードウェアマッピングフラグ
900 アドレストランザクション
901 トランザクション発行時刻
902 アドレストランザクションID
903 バースト長
904 バイトイネーブル
905 アドレス
906 リード/ライト
910 ハードウェアマッピングフラグ
1001 クロック生成器
1002 第1のマスタ
1003 第2のマスタ
1004 第1のスレーブ
1005 第2のスレーブ
1006 バス
1007 トランザクションポート
1008 信号ポート
1101 トランザクション履歴

Claims (4)

  1. システム記述言語によりバス上の通信をトランザクションにより行うトランザクションレベルで記述されたシミュレーション装置であって、
    バス上でトランザクションの順序が入れ替わった場合に、該順序が入れ替わったトランザクションに関する情報をハードウェアにマッピングされないアトリビュート情報として前記トランザクションに設定する設定手段と、
    前記設定された前記ハードウェアにマッピングされないアトリビュート情報を履歴情報として記録する記録手段とを有することを特徴とするシミュレーション装置。
  2. 前記履歴情報は、少なくとも追い抜かれたトランザクションのID、追い抜いたトランザクションのID、追い抜かれたトランザクションの数、追い抜いたトランザクションの数、トランザクション発行時刻を含むことを特徴とする請求項1記載のシミュレーション装置。
  3. 前記履歴情報を表示手段に表示することを特徴とする請求項1記載のシミュレーション装置。
  4. システム記述言語によりバス上の通信をトランザクションにより行うトランザクションレベルで記述されたシミュレーション装置の履歴情報記録方法であって、
    バス上でトランザクションの順序が入れ替わった場合に、該順序が入れ替わったトランザクションに関する情報をハードウェアにマッピングされないアトリビュート情報として前記トランザクションに設定する設定工程と、
    前記設定された前記ハードウェアにマッピングされないアトリビュート情報を履歴情報として記録する記録工程とを有することを特徴とするシミュレーション装置の履歴情報記録方法。
JP2005035213A 2005-02-10 2005-02-10 シミュレーション装置及びその履歴情報記録方法 Withdrawn JP2006221474A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005035213A JP2006221474A (ja) 2005-02-10 2005-02-10 シミュレーション装置及びその履歴情報記録方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005035213A JP2006221474A (ja) 2005-02-10 2005-02-10 シミュレーション装置及びその履歴情報記録方法

Publications (1)

Publication Number Publication Date
JP2006221474A true JP2006221474A (ja) 2006-08-24

Family

ID=36983765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005035213A Withdrawn JP2006221474A (ja) 2005-02-10 2005-02-10 シミュレーション装置及びその履歴情報記録方法

Country Status (1)

Country Link
JP (1) JP2006221474A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097530A (ja) * 2006-10-16 2008-04-24 Canon Inc シミュレーション装置及びシミュレーション方法
JP2014241014A (ja) * 2013-06-11 2014-12-25 富士通セミコンダクター株式会社 シミュレーション装置、シミュレーション装置の動作方法およびシミュレーションプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097530A (ja) * 2006-10-16 2008-04-24 Canon Inc シミュレーション装置及びシミュレーション方法
JP2014241014A (ja) * 2013-06-11 2014-12-25 富士通セミコンダクター株式会社 シミュレーション装置、シミュレーション装置の動作方法およびシミュレーションプログラム

Similar Documents

Publication Publication Date Title
US9064068B1 (en) Debuggable opaque IP
US7472361B2 (en) System and method for generating a plurality of models at different levels of abstraction from a single master model
US20080133206A1 (en) Method of switching external models in an automated system-on-chip integrated circuit design verification system
US20080059928A1 (en) Assertion description conversion device, method and computer program product
US7865345B2 (en) Simulation apparatus and method
Hussien et al. Development of a generic and a reconfigurable UVM-Based verification environment for SoC buses
CN109902318A (zh) 生成标准延时格式文件的方法和装置
JP5034916B2 (ja) 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置
US20050144436A1 (en) Multitasking system level platform for HW/SW co-verification
US7979262B1 (en) Method for verifying connectivity of electrical circuit components
JP2006221474A (ja) シミュレーション装置及びその履歴情報記録方法
JP6265788B2 (ja) シミュレーション装置及びインタフェースモジュール生成装置及びプログラム
US8959467B2 (en) Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools
US8291369B2 (en) Computer-readable recording medium storing verification support program, verification support apparatus, and verification support method for supporting verification of hardware system design including different hardware models
US20140325468A1 (en) Storage medium, and generation apparatus for generating transactions for performance evaluation
US20050071145A1 (en) Simulation apparatus, simulation program, and recording medium
JP2005510787A5 (ja)
EP1461732A2 (en) Multi-environment testing with a responder
JP5664430B2 (ja) 試験装置、検証モデル開発方法及びプログラム
JP2006079370A (ja) シミュレーション装置及びシミュレーション方法
JP2007207119A (ja) 表示装置及び表示方法
CN116842902B (zh) 针对黑盒模型的系统级仿真建模方法
JP7351189B2 (ja) タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム
JP2006079464A (ja) シミュレーション装置及びシミュレーション方法
JP2006178775A (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: 20080513