JP4472615B2 - プログラマブルデバイスのモデリング方法および装置 - Google Patents
プログラマブルデバイスのモデリング方法および装置 Download PDFInfo
- Publication number
- JP4472615B2 JP4472615B2 JP2005298175A JP2005298175A JP4472615B2 JP 4472615 B2 JP4472615 B2 JP 4472615B2 JP 2005298175 A JP2005298175 A JP 2005298175A JP 2005298175 A JP2005298175 A JP 2005298175A JP 4472615 B2 JP4472615 B2 JP 4472615B2
- Authority
- JP
- Japan
- Prior art keywords
- target
- simulation
- debugger
- host
- code
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3632—Debugging of software of specific synchronisation aspects
-
- 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
-
- 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
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/343—Logical level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Description
4 ターゲットプログラマブルデバイス
6 デバッグインタフェース
8、42 ターゲットプログラマブルデバイスブレークポイント
10 シミュレーションホストデバッガ
12 ブレークポイント機構
14 マスタデバッガ
16 マスタシミュレーションホストデバッガ
18、34 ターゲットデバイスデバッガ
20 プログラムブレークポイント
22 ブレークポイント
24、26 ターゲットプログラマブルデバイス
30 非プログラマブルターゲットデバイス
32 デバッグサーバ
36、38、40 第1レベル実行部分
44、46、48 所定時刻
50、52 シミュレーションコード部分
54 ホストブレークポイント
200 汎用のコンピュータ
202 中央処理装置
204 ランダムアクセスメモリ
206 リードオンリメモリ
208 ネットワークインタフェースカード
210 ハードディスクドライブ
212 ディスプレイドライバ
214 モニタ
216 ユーザ入出力回路
218 キーボード
220 マウス
222 共通バス
Claims (21)
- ターゲットプログラムコードを実行するターゲットプログラマブルデバイスをシミュレーションするシミュレーションシステムをデバッグする方法であって、
前記ターゲットプログラムコードを実行する前記ターゲットプログラマブルデバイスの動作をシミュレーションするために前記シミュレーションシステムのホストプロセッサ上でシミュレーションコードを実行するステップと、
前記ホストプロセッサによる前記シミュレーションコードの実行の間に前記ホストプロセッサのホストリソースへのアクセスを提供するシミュレーションホストデバッガを動作させるステップと、
シミュレーションされる前記ターゲットプログラマブルデバイスによる前記ターゲットプログラムコードの実行の間にターゲットリソースへのアクセスを提供するターゲットデバイスデバッガを動作させるステップとを有し、
前記シミュレーションコードは、前記ホストプロセッサに、シミュレーションされる前記ターゲットプログラマブルデバイスのターゲットリソースの現在値の記憶を保持し、かつ、前記ターゲットプログラマブルデバイスのデバッグインタフェースを提供する動作を実行させ、
前記シミュレーションホストデバッガおよび前記ターゲットデバイスデバッガの動作は同期され、かつ前記ターゲットデバイスデバッガは、前記ターゲットデバイスデバッガへの前記ターゲットリソースの返却を引き起こすために、前記デバッグインタフェースにアクセス要求を送信することによって前記ターゲットリソースにアクセスする方法。 - 前記デバッグインタフェースは、読み出し要求が前記シミュレーションコードの実行によって記憶された前記ターゲットリソースの返却を引き起こすターゲットデバイスデバッグアプリケーションプログラムインタフェースである請求項1に記載の方法。
- 前記アクセス要求が前記シミュレーションホストデバッガに送信されると、前記シミュレーションホストデバッガは、前記デバッグインタフェースを介して前記ターゲットリソースを読み出すとともに前記ターゲットリソースを前記ターゲットデバイスデバッガに返却する請求項1に記載の方法。
- 前記シミュレーションコードは、前記ホストプロセッサに、前記アクセス要求を受信し、前記デバッグインタフェースを介して前記ターゲットリソースを読み出し、かつ前記ターゲットリソースを前記ターゲットデバイスデバッガに返却する動作が可能であるデバッグサーバの機能を実現させる請求項1に記載の方法。
- マスタシミュレーションホストデバッガは、受信したコマンドに応答して前記シミュレーションホストデバッガを制御する動作が可能である請求項1に記載の方法。
- 前記マスタシミュレーションホストデバッガおよび前記ターゲットデバイスデバッガは、前記ターゲットデバイスデバッガを前記マスタシミュレーションホストデバッガと同期させるために通信する請求項5に記載の方法。
- 前記シミュレーションホストデバッガは、デバッグ参照ポイントに到達した前記シミュレーションコードに応答して、前記ターゲットデバイスデバッガに前記アクセス要求の送信を引き起こさせる請求項1に記載の方法。
- 前記デバッグ参照ポイントは、前記ターゲットプログラムコード内のブレークポイントセット、前記ターゲットリソース内のウォッチポイントセット、前記シミュレーションコード内のブレークポイント、および、前記ホストリソース内のウォッチポイントセットのうち1つである請求項7に記載の方法。
- 前記マスタシミュレーションホストデバッガおよび前記ターゲットデバイスデバッガは、前記ターゲットデバイスデバッガを前記マスタシミュレーションホストデバッガと同期させるために通信し、かつ前記シミュレーションホストデバッガは、前記マスタシミュレーションホストデバッガに前記デバッグ参照ポイントに到達したことを通知し、かつ前記マスタシミュレーションホストデバッガは、前記ターゲットデバイスデバッガに前記アクセス要求の送信を引き起こすことを通知する請求項7に記載の方法。
- 前記ターゲットデバイスデバッガは、前記マスタシミュレーションホストデバッガを介して前記シミュレーションコードの実行を制御するために前記シミュレーションホストデバッガにコマンドを送信する請求項6に記載の方法。
- 前記ターゲットリソースは、シミュレーションされたターゲットデバイスレジスタ内容データ、シミュレーションされたターゲットデバイスメモリ内容データ、シミュレーションされ実行されたターゲットデバイスプログラムオペコード、および、シミュレーションされた命令パイプラインデータのうち1つまたは2つ以上である請求項1に記載の方法。
- 前記ターゲットデバイスデバッガは、前記ターゲットリソースに応答して、シミュレーションされる前記ターゲットプログラマブルデバイスによる前記ターゲットプログラムコードの実行の結果を示すデバッグ情報を提供する請求項1に記載の方法。
- 前記ホストリソースは、ホストレジスタ内容データ、ホストメモリ内容データ、および、実行されるホストプログラムオペコードのうち1つまたは2つ以上である請求項1に記載の方法。
- 前記ホストリソースは、前記シミュレーションコードの実行結果を示すデバッグ情報を提供する請求項1に記載の方法。
- 前記シミュレーションコードは、前記ホストプロセッサに、各々がターゲットプログラムコードを実行する複数のターゲットプログラマブルデバイスの動作をシミュレーションし、シミュレーションされる前記複数のターゲットプログラマブルデバイスの各々のターゲットリソースを記憶する動作を実行させる請求項1に記載の方法。
- 前記ターゲットデバイスデバッガは、シミュレーションされる前記複数のターゲットプログラマブルデバイスの前記各々のターゲットリソースへのアクセスを提供する動作が可能である請求項15に記載の方法。
- 前記シミュレーションコードは、前記ホストプロセッサに、1つまたは2つ以上の非プログラマブルターゲットデバイスの動作をシミュレーションし、かつ、非プログラマブルターゲットデバイスのシミュレーションされた状態を示す各々のターゲット状態データを記憶する動作を実行させる請求項1に記載の方法。
- 前記ターゲットデバイスデバッガは、前記1つまたは2つ以上の非プログラマブルターゲットデバイスの前記各々のターゲット状態データへのアクセスを提供する動作が可能である請求項17に記載の方法。
- 前記ターゲットプログラムコード内のブレークポイントセットは、デバッグアクションを引き起こすために前記シミュレーションコード内のブレークポイントセットと論理的に結合される請求項1に記載の方法。
- 請求項1に記載の方法を実行するためにコンピュータを制御する動作が可能なコンピュータプログラム。
- ターゲットプログラムコードを実行するターゲットプログラマブルデバイスをシミュレーションするシミュレーションシステムであって、
前記ターゲットプログラムコードを実行する前記ターゲットプログラマブルデバイスの動作をシミュレーションするためにシミュレーションコードを実行するホストプロセッサと、
前記ホストプロセッサによる前記シミュレーションコードの実行の間に前記ホストプロセッサのホストリソースへのアクセスを提供するシミュレーションホストデバッガと、
シミュレーションされる前記ターゲットプログラマブルデバイスによる前記ターゲットプログラムコードの実行の間にターゲットリソースへのアクセスを提供するターゲットデバイスデバッガとを具備し、
前記シミュレーションコードは、前記ホストプロセッサに、シミュレーションされる前記ターゲットプログラマブルデバイスのターゲットリソースを記憶し、かつ、前記ターゲットプログラマブルデバイスのデバッグインタフェースを提供する動作を実行させ、
前記シミュレーションホストデバッガと前記ターゲットデバイスデバッガの動作は同期され、かつ前記ターゲットデバイスデバッガは、前記ターゲットデバイスデバッガへの前記ターゲットリソースの返却を引き起こすために、前記デバッグインタフェースにアクセス要求を送信することによって前記ターゲットリソースにアクセスするように構成されたシミュレーションシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0509201A GB2425859A (en) | 2005-05-05 | 2005-05-05 | Modelling of programmable devices |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006313521A JP2006313521A (ja) | 2006-11-16 |
JP4472615B2 true JP4472615B2 (ja) | 2010-06-02 |
Family
ID=34685142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005298175A Active JP4472615B2 (ja) | 2005-05-05 | 2005-10-12 | プログラマブルデバイスのモデリング方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20060253842A1 (ja) |
JP (1) | JP4472615B2 (ja) |
AU (1) | AU2005239681A1 (ja) |
DE (1) | DE102006019292A1 (ja) |
GB (1) | GB2425859A (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8136096B1 (en) * | 2004-07-23 | 2012-03-13 | Green Hills Software, Inc. | Backward post-execution software debugger |
US8423959B1 (en) * | 2006-12-11 | 2013-04-16 | Synopsys, Inc. | Techniques for coordinating and controlling debuggers in a simulation environment |
US8683444B1 (en) | 2006-12-11 | 2014-03-25 | Synopsys, Inc. | System and method of debugging multi-threaded processes |
US9317636B1 (en) | 2006-12-11 | 2016-04-19 | Synopsys, Inc. | System and method for stopping integrated circuit simulation |
US8627299B2 (en) | 2008-02-29 | 2014-01-07 | International Business Machines Corporation | Virtual machine and programming language for event processing |
US8365149B2 (en) * | 2008-02-29 | 2013-01-29 | International Business Machines Corporation | Debugger for a declarative event-driven programming model |
US8397216B2 (en) * | 2008-02-29 | 2013-03-12 | International Business Machines Corporation | Compiler for a declarative event-driven programming model |
US20100138811A1 (en) * | 2008-12-02 | 2010-06-03 | Qualcomm Incorporated | Dynamic Performance Profiling |
US8402442B1 (en) * | 2009-07-28 | 2013-03-19 | Xilinx, Inc. | Common debugger method and system |
WO2012044262A1 (en) * | 2010-09-30 | 2012-04-05 | The Thailand Research Fund | Embedded system design, programming, and simulation architecture |
KR101991687B1 (ko) | 2012-11-23 | 2019-06-24 | 삼성전자 주식회사 | 동적 라이브러리 프로파일링 방법, 이를 기록한 컴퓨터로 읽을 수 있는 기록 매체 및 동적 라이브러리 프로파일링 시스템 |
US10620917B2 (en) * | 2014-10-02 | 2020-04-14 | Siemens Aktiengesellschaft | Programming automation in a 3D graphical editor with tightly coupled logic and physical simulation |
CN109992516B (zh) * | 2019-04-03 | 2022-08-26 | 寒武纪(西安)集成电路有限公司 | 一种编程调试方法、装置及相关产品 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5680584A (en) * | 1991-03-07 | 1997-10-21 | Digital Equipment Corporation | Simulator system for code execution and debugging within a multi-architecture environment |
US5901315A (en) * | 1997-06-13 | 1999-05-04 | International Business Machines Corporation | Method for debugging a Java application having native method dynamic load libraries |
WO2001095161A2 (en) * | 2000-06-02 | 2001-12-13 | Virtio Corporation | Method and system for virtual prototyping |
US6912708B2 (en) * | 2001-06-28 | 2005-06-28 | Sun Microsystems, Inc. | Method and apparatus to facilitate debugging a platform-independent virtual machine |
JP2003085001A (ja) * | 2001-09-12 | 2003-03-20 | Toshiba Corp | ソース・コード・デバッガ、デバッグ方法及びデバッグプログラム |
-
2005
- 2005-05-05 GB GB0509201A patent/GB2425859A/en not_active Withdrawn
- 2005-10-12 JP JP2005298175A patent/JP4472615B2/ja active Active
- 2005-10-17 US US11/250,496 patent/US20060253842A1/en not_active Abandoned
- 2005-11-30 AU AU2005239681A patent/AU2005239681A1/en not_active Abandoned
-
2006
- 2006-04-21 DE DE102006019292A patent/DE102006019292A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
GB2425859A (en) | 2006-11-08 |
AU2005239681A1 (en) | 2006-11-23 |
GB0509201D0 (en) | 2005-06-15 |
JP2006313521A (ja) | 2006-11-16 |
DE102006019292A1 (de) | 2006-11-23 |
US20060253842A1 (en) | 2006-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8180620B2 (en) | Apparatus and method for performing hardware and software co-verification testing | |
US7536605B2 (en) | Injection of software faults into an operational system | |
US7409330B2 (en) | Method and system for software debugging using a simulator | |
EP2204738A2 (en) | Method and system for performing software verification | |
JP4472615B2 (ja) | プログラマブルデバイスのモデリング方法および装置 | |
US9262299B1 (en) | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system | |
US6212493B1 (en) | Profile directed simulation used to target time-critical crossproducts during random vector testing | |
US9262305B1 (en) | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system | |
US20110289373A1 (en) | Electornic Design Emulation Display Tool | |
US10698805B1 (en) | Method and system for profiling performance of a system on chip | |
US10650174B1 (en) | System and method for visualizing event sequences for expressions using both hardware and software state information | |
Hassan et al. | Data flow testing for virtual prototypes | |
Engblom et al. | Full-system simulation from embedded to high-performance systems | |
TW588238B (en) | Program debugging method | |
Kantrowitz et al. | Functional Verification of a Multiple-issue, Pipelined, Superscalar Alpha Processor - the Alpha 21164 CPU Chip | |
US20030101040A1 (en) | Hardware simulation using a test scenario manager | |
US10579761B1 (en) | Method and system for reconstructing a graph presentation of a previously executed verification test | |
CN117892661A (zh) | 一种基于risc-v处理器验证的模拟器比对系统 | |
US11487561B1 (en) | Post simulation debug and analysis using a system memory model | |
US10339229B1 (en) | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system | |
JP2007052783A (ja) | データ処理装置のシミュレーション | |
JP2005353020A (ja) | コンピュータプログラムのシミュレーション方式 | |
US8914274B1 (en) | Method and system for instruction set simulation with concurrent attachment of multiple debuggers | |
JP2014160421A (ja) | ソフトエラー解析装置、エラー情報作成装置 | |
Kolan et al. | Post-silicon validation of the ibm power9 processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090901 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091201 |
|
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: 20100202 |
|
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: 20100303 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130312 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |