JP4262174B2 - シミュレーション時間取得方法 - Google Patents
シミュレーション時間取得方法 Download PDFInfo
- Publication number
- JP4262174B2 JP4262174B2 JP2004262953A JP2004262953A JP4262174B2 JP 4262174 B2 JP4262174 B2 JP 4262174B2 JP 2004262953 A JP2004262953 A JP 2004262953A JP 2004262953 A JP2004262953 A JP 2004262953A JP 4262174 B2 JP4262174 B2 JP 4262174B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- bus
- master
- hardware
- time
- 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
Classifications
-
- 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)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Debugging And Monitoring (AREA)
Description
モジュール間のバス通信を捉えて機能を記述する抽象度レベルである。通信の開始及び終了の時間、通信データにより動作するため、クロックに対する精度は低い。イベントにより機能をシミュレートするため、シミュレーション速度は非常に速い。システムとしての動作が実際のハードウェアと一致するため、システム全体の評価に適している。
モジュールの入力及び出力のイベントとして機能を記述する抽象度レベルである。動作クロックに対して、入力及び出力部で正確にシミュレートすることができる。
レジスタファイル間の同期転送を捉えて回路を記述する抽象度レベルである。動作クロックに対して、正確に機能動作をシミュレートすることができ、精度が非常に高い。1クロック毎に機能をシミュレートするため、シミュレーション速度は非常に遅い。
AMBA AHB Cycle Level Interface (AHB CLI) Specification, 2003年7月15日公開
以上の構成において、図10及び図11を用いて第1のマスタ802が第1のスレーブ804へデータの書き込みを行う場合の処理について説明する。
ADDRESS = 0xff00_0000;
WDATA = 0x1234;
BYTE_ENABLE = 0xffff;
また、第1のマスタ802はアドレストランザクション700のハードウェアにマッピングされない(置き換え不可能な)アトリビュート情報701〜703の値を以下のように設定する。
SOURCE_MODEL_NAME = MASTER1;
DEST_MODEL_NAME = SLAVE1;
尚、ハードウェアマッピングフラグ709は固定情報であり、第1のマスタ802が変更することはできない。
次に、図10〜図12を用いて第2のマスタ803が第1のスレーブ804からデータの読み出しを行う場合の処理について説明する。
ADDRESS = 0xff00_0000;
WDATA = ;
BYTE_ENABLE = 0xffff;
また、第2のマスタ803はアドレストランザクション700のハードウェアに置き換え不可能なアトリビュート情報701〜703に値を以下のように設定する。
SOURCE_MODEL_NAME = MASTER2;
DEST_MODEL_NAME = SLAVE1;
バス806はアービトレーションを開始し、第2のマスタ803にバス権を与えると、第2のマスタ803からのアドレストランザクション700を受け取る(S1101)。そして、上述したデータの書き込みと同様に、アトリビュート情報701〜707の取得及び処理(S1102〜S1104)を行う。
また、第1のスレーブ804は、リードデータトランザクション710のハードウェアに置き換え不可能なアトリビュート情報711〜713の値を以下のように設定する。
SOURCE_MODEL_NAME = SLAVE1;
DEST_MODEL_NAME = MASTER2;
尚、ハードウェアマッピングフラグ719は固定情報であり、第1のスレーブ804が変更することはできない。
(1)ハードウェアに置き換え不可能なアトリビュート情報によりシミュレーション履歴を容易に蓄積でき、シミュレーション履歴を視認しやすくすることができる。このため、検証にかかる時間を短縮することが可能である。
(2)ハードウェアに置き換え不可能なアトリビュート情報によりシミュレーション履歴の検索・並び替えが容易に実行できる。このため、設計者が所望する情報を容易に検索でき、効率的に検証を行うことが可能である。
transaction.address.value = 0x08000000;
transaction.byte_enable.value = 0xf;
尚、アドレストランザクション1300のハードウェアマッピングフラグ1320は読み出し専用情報として以下に示す値が予め保持されており、第1のマスタ1421が変更することはできない。
transaction.address.hw_flag == true
transaction.write_data.hw_flag == true
transaction.byte_enable.hw_flag == true
このように、第1のマスタ1421がアトリビュート情報の設定を行うと、第1のバス1411に対してアドレストランザクション1300を発行する。
また、リードデータトランザクション1310のハードウェアにマッピングされないアトリビュート情報1316〜1319に値を以下のように設定する。
transaction.start_time.value = 120;
transaction.base_time.value = 140;
transaction.done_time.value = 140;
ここで、start_timeは第2のスレーブ1432がリードリクエストのアドレストランザクション1300を受け取り、リードの処理を開始したシミュレーション時間1316である。base_timeは第2のスレーブ1432がリードリクエストに対してリード処理が遅延を生じる外部要因がない場合の処理完了時間1317である。done_timeは第2のスレーブ1432がリードリクエストに対してリード処理の実際の処理完了時間1318である。
transaction.model_name.hw_flag == false
transaction.start_time.hw_flag == false
transaction.base_time.hw_flag == false
transaction.done_time.hw_flag == false
第2のスレーブ1432は、ハードウェアにマッピングされるアトリビュート情報1311と、ハードウェアにマッピングされないアトリビュート情報1316〜1319の設定を行うと、第1のバス1411に対してリードデータトランザクション1310を発行する。
また、リードデータトランザクション1310のハードウェアにマッピングされないアトリビュート情報1316〜1319の値も以下のように設定する。
transaction.start_time.value = 370;
transaction.base_time.value = 390;
transaction.done_time.value = 410;
ここで、start_time、base_time、done_timeの意味は上述した通りである。ここでは、第2のスレーブ1432がリード処理を行うに当たり、他のリード処理の完了持ちが発生したために、base_timeに比べて実際の処理完了時間done_timeが遅くなっている。
transaction.model_name.hw_flag == false
transaction.start_time.hw_flag == false
transaction.base_time.hw_flag == false
transaction.done_time.hw_flag == false
第2のスレーブ1432はハードウェアにマッピングされるアトリビュート情報1311と、ハードウェアにマッピングされないアトリビュート情報1316〜1319の設定を行うと、第1のバス1411に対してリードデータトランザクション1310を発行する。
また、リードデータトランザクション1310のハードウェアにマッピングされないアトリビュート情報1316〜1319の値も以下のように設定する。
transaction.base_time.value = 620;
transaction.done_time.value = 620;
transaction.model_name.value = SLAVE1;
ここで、start_time、base_time、done_timeの意味は上述した通りである。ここでは、第1のスレーブ1431は高速にリード処理を行うことが可能なので、第2のスレーブ1432に比べてstart_timeからbase_timeまでの差が小さい。
(1)機能モジュール内に保持されている情報を用いなければ取得できないような情報を得ることができ、それによりシステム設計者はシステムの性能解析及び検証の効率を大幅に向上させることが可能である。特に各機能モジュールが、他の機能モジュールから処理を依頼されてから完了するまでに費やされた待ち時間が、他の機能モジュールとの競合等によるものなのか、本来そのモジュールが最低限必要としているものなのかを容易に把握可能となり、設計者による性能解析の効率が向上する。
(2)バス及び機能モジュールに、必要な情報を取得するためのモニタ専用メソッドを用意することなく、既存のトランザクション操作メソッドを拡張することで、設計者がシミュレーション中のバス及び機能モジュール内の必要な情報を確認することが可能となる。また、これによってモニタ専用メソッドを呼ぶことによるイベントの増加、更にはシミュレーション速度の低下を避けることが可能となる。
701 トランザクション発行時刻
702 トランザクション発行元モデル名称
703 トランザクション発行先モデル名称
704 リード/ライト
705 アドレス
706 ライトデータ
707 バイトイネーブル
709 ハードウェアマッピングフラグ
710 リードデータトランザクション
711 トランザクション発行時刻
712 トランザクション発行元モデル名称
713 トランザクション発行先モデル名称
714 リードデータ
719 ハードウェアマッピングフラグ
801 クロック生成器
802 第1のマスタ
803 第2のマスタ
804 第1のスレーブ
805 第2のスレーブ
806 バス
807 トランザクションポート
808 信号ポート
901 トランザクション履歴
Claims (1)
- シミュレーション装置が、バス上の通信をトランザクションにより行うトランザクションレベルで記述されたシミュレーションモデルを用いたシミュレーションを実行することにより、マスタとして前記バスに接続する第1の機能モジュールがスレーブとして前記バスに接続する第2の機能モジュールにリードアクセスした場合のシミュレーション時間を前記第1の機能モジュールが取得するシミュレーション時間取得方法であって、
第1の発行手段が、前記第1の機能モジュールから前記第2の機能モジュールに対するリードアクセス要求に相当する第1のトランザクションに、ハードウェアにマッピングされる第1のアトリビュート情報としてアドレスの値を設定し、前記第1のトランザクションを前記バスに発行する工程を実行し、
第2の発行手段が、前記第2の機能モジュールが前記第1のアトリビュート情報として前記アドレスの値が設定された前記第1のトランザクションを前記バスから受け取り、該当するアドレスのデータを読み出して、前記第1のトランザクションに対するリードデータに相当する第2のトランザクションを前記バスに発行する工程を実行し、
前記第2の機能モジュールが前記第2のトランザクションを前記バスに発行する工程では、前記第2のトランザクションに、ハードウェアにマッピングしない第2のアトリビュート情報として、前記第2の機能モジュールが前記リードアクセス要求の処理を完了したシミュレーション時間と、遅延を生じる外部要因がない場合に前記処理を完了する時間とを設定し、
更に、
取得手段が、前記第1の機能モジュールが前記第2のトランザクションを前記バスから受け取り、前記第2のアトリビュート情報として前記第2のトランザクションに設定された前記シミュレーション時間と前記外部要因がない場合に前記処理を完了する時間を取得する工程を実行することを特徴とするシミュレーション時間取得方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004262953A JP4262174B2 (ja) | 2004-09-09 | 2004-09-09 | シミュレーション時間取得方法 |
US11/221,686 US7865345B2 (en) | 2004-09-09 | 2005-09-08 | Simulation apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004262953A JP4262174B2 (ja) | 2004-09-09 | 2004-09-09 | シミュレーション時間取得方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006079369A JP2006079369A (ja) | 2006-03-23 |
JP4262174B2 true JP4262174B2 (ja) | 2009-05-13 |
Family
ID=35997331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004262953A Expired - Fee Related JP4262174B2 (ja) | 2004-09-09 | 2004-09-09 | シミュレーション時間取得方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7865345B2 (ja) |
JP (1) | JP4262174B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7453017B2 (ja) | 2020-02-25 | 2024-03-19 | アズビル株式会社 | 弁機構 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7778815B2 (en) * | 2005-05-26 | 2010-08-17 | The Regents Of The University Of California | Method for the fast exploration of bus-based communication architectures at the cycle-count-accurate-at-transaction-boundaries (CCATB) abstraction |
US7673259B2 (en) * | 2005-12-30 | 2010-03-02 | Cadence Design Systems, Inc. | System and method for synthesis reuse |
JP5034916B2 (ja) * | 2007-12-10 | 2012-09-26 | 富士通セミコンダクター株式会社 | 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置 |
US8949545B2 (en) * | 2008-12-04 | 2015-02-03 | Freescale Semiconductor, Inc. | Memory interface device and methods thereof |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151567A (en) * | 1994-05-27 | 2000-11-21 | Hamilton Sundstrand Corporation | Data communication analysis and simulation tool |
EP0689141A3 (en) * | 1994-06-20 | 1997-10-15 | At & T Corp | Disruption-based hardware support for system performance profiling |
US5958035A (en) * | 1997-07-31 | 1999-09-28 | Advanced Micro Devices, Inc. | State machine based bus cycle completion checking in a bus bridge verification system |
JP3476665B2 (ja) * | 1997-11-13 | 2003-12-10 | 富士通株式会社 | 中継装置試験システム及び通信装置並びに通信方法 |
US6434517B1 (en) * | 1998-12-04 | 2002-08-13 | Xilinx, Inc. | Method and system for demonstrating simulation of a communications bus |
JP4475621B2 (ja) | 2001-04-18 | 2010-06-09 | キヤノン株式会社 | メモリ制御回路の論理検証装置及び方法 |
JP2003015968A (ja) | 2001-06-29 | 2003-01-17 | Fujitsu Ltd | バスシミュレータ |
US6807636B2 (en) * | 2002-02-13 | 2004-10-19 | Hitachi Computer Products (America), Inc. | Methods and apparatus for facilitating security in a network |
US6845341B2 (en) * | 2002-05-14 | 2005-01-18 | Cadence Design Systems, Inc. | Method and mechanism for improved performance analysis in transaction level models |
AU2003240948A1 (en) * | 2002-05-28 | 2003-12-12 | Cadence Design Systems, Inc. | Assertion-based transaction recording |
JP2005108007A (ja) | 2003-09-30 | 2005-04-21 | Matsushita Electric Ind Co Ltd | Lsi設計検証装置及びlsi設計検証方法 |
US20070162475A1 (en) * | 2005-12-30 | 2007-07-12 | Intel Corporation | Method and apparatus for hardware-based dynamic escape detection in managed run-time environments |
-
2004
- 2004-09-09 JP JP2004262953A patent/JP4262174B2/ja not_active Expired - Fee Related
-
2005
- 2005-09-08 US US11/221,686 patent/US7865345B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7453017B2 (ja) | 2020-02-25 | 2024-03-19 | アズビル株式会社 | 弁機構 |
Also Published As
Publication number | Publication date |
---|---|
US7865345B2 (en) | 2011-01-04 |
JP2006079369A (ja) | 2006-03-23 |
US20060052995A1 (en) | 2006-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7472361B2 (en) | System and method for generating a plurality of models at different levels of abstraction from a single master model | |
KR102011092B1 (ko) | 프로그래머블 지연을 가진 동적 랜덤 액세스 메모리(dram) 명령을 생성하기 위한 메모리 물리 계층 인터페이스 로직 | |
JP3131177B2 (ja) | エミュレーションとシミュレーションを用いた設計検証のための方法および装置 | |
US6363509B1 (en) | Method and apparatus for transforming system simulation tests to test patterns for IC testers | |
US7607116B2 (en) | Method and apparatus for verifying system-on-chip model | |
US8868397B2 (en) | Transaction co-validation across abstraction layers | |
US20080133206A1 (en) | Method of switching external models in an automated system-on-chip integrated circuit design verification system | |
EP1447759A1 (en) | Generation of a testbench for a representation of a device | |
US7865345B2 (en) | Simulation apparatus and method | |
Hussien et al. | Development of a generic and a reconfigurable UVM-Based verification environment for SoC buses | |
JP5034916B2 (ja) | 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置 | |
US20050144436A1 (en) | Multitasking system level platform for HW/SW co-verification | |
US7228513B2 (en) | Circuit operation verification device and method | |
Pasricha et al. | Fast exploration of bus-based communication architectures at the CCATB abstraction | |
US6543034B1 (en) | Multi-environment testing with a responder | |
JP2007058431A (ja) | シミュレーションモデル、及びシミュレーション方法 | |
CN1312583C (zh) | 仿真装置和仿真方法 | |
JP2006221474A (ja) | シミュレーション装置及びその履歴情報記録方法 | |
JP2005510787A5 (ja) | ||
JP2006079370A (ja) | シミュレーション装置及びシミュレーション方法 | |
JP5664430B2 (ja) | 試験装置、検証モデル開発方法及びプログラム | |
US6983437B2 (en) | Timing verification, automated multicycle generation and verification | |
US20070038431A1 (en) | Data processing apparatus simulation | |
JP5001126B2 (ja) | ハードウェア検証用プログラミング記述生成装置、ハードウェア検証用プログラミング記述生成方法、制御プログラムおよび可読記録媒体 | |
JP2006079464A (ja) | シミュレーション装置及びシミュレーション方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081224 |
|
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: 20090202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090206 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140220 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |