JP6318976B2 - デバッグ回路、デバッガ装置、半導体装置及びデバッグ方法 - Google Patents
デバッグ回路、デバッガ装置、半導体装置及びデバッグ方法 Download PDFInfo
- Publication number
- JP6318976B2 JP6318976B2 JP2014169042A JP2014169042A JP6318976B2 JP 6318976 B2 JP6318976 B2 JP 6318976B2 JP 2014169042 A JP2014169042 A JP 2014169042A JP 2014169042 A JP2014169042 A JP 2014169042A JP 6318976 B2 JP6318976 B2 JP 6318976B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- code value
- signal
- debug
- value
- 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
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31705—Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
(第1の実施の形態)
図1は、第1の実施の形態の半導体装置、デバッグ回路及びデバッガ装置の一例を示す図である。
デバッグ回路2は、所定の停止条件でデバッグ対象回路3の動作を停止する回路であり、記憶部2a,2b、符号値算出部2c、動作停止部2dを有している。
符号値算出部2cは、デバッグ対象回路3に関する信号が変化するたびに、その信号に基づき、符号値Aを算出する際の符号化方式と同じ符号化方式で、符号値Bを算出する。
デバッグ対象回路3において、入力データxと出力データyが、例えば、(x1,y1)、(x2,y2)、…、(xi,yi)のシーケンスで変化したときに、デバッグ対象回路3の動作を停止させる場合を例に説明する。
その後は、例えば、デバッガ装置4により、デバッグ対象回路3の各部の信号の様子を調査するなどのデバッグ作業が行われる。
図2は、第2の実施の形態の半導体装置及びデバッガ装置を含むデバッグシステムの例を示す図である。
デバッガ装置20は、例えば、コンピュータであり、作業者40により操作され、通信ケーブル30を介して半導体装置10と通信を行い、デバッグ処理を行う。
図3は、半導体装置の一例を示す図である。
半導体装置10は、前述したデバッグ回路11、ユーザ回路12の他、デバッガ装置20から通信ケーブル30を介して送られてくるデータを受信する受信部13を有している。
レジスタ11aは、受信部13で受信したデバッガ装置20から送信された停止条件を示す符号値を記憶する。
符号値算出部11cは、ユーザ回路12に関する信号が変化するたびに、その信号のシーケンスによって値が変わる符号値を、デバッガ装置20で符号値を算出する際の符号化方式と同じ符号化方式で算出する。その符号化方式としては、前述したように、例えば、CRC、ハミング符号、MD5またはSHA−1などがある。
(デバッガ装置20)
図4は、デバッガ装置のハードウェア例を示す図である。
ネットワークインタフェース28は、ネットワーク28aに接続されている。ネットワークインタフェース28は、ネットワーク28aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以下、上記の半導体装置10及びデバッガ装置20を用いたデバッグ方法を説明する。
図5は、デバッグ方法の一例の流れを示すフローチャートである。
図6では、Verilog HDL(Hardware Description Language)で記述された回路モデルの例が示されている。図6には回路モデルに入力されるクロック信号ckと16ビットの入力データxと、回路モデルから出力される16ビットの出力データy、さらに、回路モデルの内部状態を示す信号として1ビットの信号sが示されている。
また、クロック信号ckの立ち上がりに同期して、6〜10行目の処理が行われる。6〜10行目には、信号sの値が0のとき、入力データxが、“16’h0010”であるときには、信号sが1に遷移し、信号sの値が1のとき、入力データxが、“16’h0030”であるときには、信号sが0に遷移することが示されている。
図7は、図6に示した回路モデルを機能ブロックで表した図である。
ステートマシン12a1は、前述のように、入力データxの値と、回路モデル12aの内部状態を示す信号sの値に応じて、信号sを0または1に遷移する。
初期状態では、信号sの値は0であり、入力データxと出力データyによるCRC値は、“32’h00000000”となっている。このタイミングはブレークポイントでないため、停止条件は不成立となる。
さらに、デバッガ装置20は、レジスタ11bに設定する初期値“32’h00000000”を、半導体装置10に送信する。
その後、デバッグ回路11の動作停止部11dは、デバッグ対象のユーザ回路12に動作を開始させる(ステップS13)。例えば、動作停止部11dは、ユーザ回路12へのクロック信号の供給をオンすることで、ユーザ回路12は動作を開始する。
例えば、デバッガ装置20にて、回路モデル12aの入力データxと出力データyが図8に示したようなシーケンスで遷移したときに算出されたCRC値、“32’h1435d0af”がレジスタ11aに記憶されているものとする。
例えば、デバッガ装置20は、図8に示したような停止条件が成立する入力データx、信号s、出力データyの値と、半導体装置10から読み出された信号とが一致するか否か判定し、一致している場合には、停止条件が成立していると判定する。これにより、デバッグ処理が終了される。一致していない場合には、デバッガ装置20は、半導体装置10のデバッグ回路11にユーザ回路12の動作を再開させる。これにより、ステップS13からの処理が繰り返される。
以上のような半導体装置10、デバッグ回路11及びデバッガ装置20によれば、第1の実施の形態の半導体装置1、デバッグ回路2及びデバッガ装置4と同様の効果が得られる。
上記では、デバッグ回路11の動作停止部11dは、ユーザ回路12へのクロック信号の供給をオフするなどして、ユーザ回路12の動作を停止すると説明したが、例えば、以下のようにしてユーザ回路12の動作を停止するようにしてもよい。
図3に示した半導体装置10と同様の要素については同一符号を付し、説明を省略する。
入力遮断部14は、動作停止部11dからユーザ回路12の動作を停止する旨の信号(例えば、回路停止信号=1)を受けると、入力データxの値によらず、固定値(例えば、0)を出力する。
図10は、第4の実施の形態の半導体装置の一例を示す図である。
図3に示した半導体装置10と同様の要素については同一符号を付し、説明を省略する。
レジスタ11a1,11a2に記憶される符号値は、前述したデバッガ装置20によるステップS10(図5参照)の処理にて算出されたものである。例えば、複数のブレークポイントに達するまでの、回路モデル12aの信号の複数のシーケンスに対して、複数の符号値が算出され、それらが、半導体装置10bに送信され、レジスタ11a1,11a2に記憶される。
動作停止部11d1は、レジスタ11a1に記憶される符号値と、レジスタ11bに格納される符号値とを比較して、両符号値が一致したときに、ユーザ回路12の動作を停止する。本実施の形態の半導体装置10bでは、動作停止部11d1は、両符号値が一致したときには、1となる回路停止信号を出力するものとする。
2 デバッグ回路
2a,2b 記憶部
2c 符号値算出部
2d 動作停止部
3 デバッグ対象回路
4 デバッガ装置
Claims (9)
- デバッグ対象の回路における信号のシーケンスに応じて値が変わる符号化方式で算出され、前記回路の停止条件を示す第1の符号値を記憶する記憶部と、
前記信号が変化するたびに、前記信号に基づき前記符号化方式で第2の符号値を算出する符号値算出部と、
前記第1の符号値と前記第2の符号値とが一致したときに前記回路の動作を停止する動作停止部と、
を有することを特徴とするデバッグ回路。 - 前記記憶部は、複数の前記停止条件を示す複数の前記第1の符号値に対応して、複数設けられ、
1または複数の前記動作停止部において、前記第2の符号値と、複数の前記第1の符号値の何れかが一致したときに前記回路の動作を停止する、ことを特徴とする請求項1に記載のデバッグ回路。 - 前記動作停止部は、前記回路への入力データの入力または前記回路からの出力データの出力を遮断することで、前記回路の動作を停止する、ことを特徴とする請求項1または2に記載のデバッグ回路。
- 前記第1の符号値及び前記第2の符号値は、CRC、ハミング符号、MD5またはSHA−1で算出されることを特徴とする請求項1乃至3の何れか一項に記載のデバッグ回路。
- プロセッサを有し、
前記プロセッサは、
デバッグ対象の回路をモデル化した回路モデルに対するシミュレーションを行い、前記回路における信号のシーケンスに応じて値が変わる符号化方式で、前記回路の停止条件を示す第1の符号値を算出し、
前記第1の符号値を出力する、
ことを特徴とするデバッガ装置。 - デバッグ対象となる回路と、
前記回路における信号のシーケンスに応じて値が変わる符号化方式で算出され、前記回路の停止条件を示す第1の符号値を記憶する記憶部と、前記信号が変化するたびに、前記信号に基づき前記符号化方式で第2の符号値を算出する符号値算出部と、前記第1の符号値と前記第2の符号値とが一致したときに前記回路の動作を停止する動作停止部と、を備えたデバッグ回路と、
を有することを特徴とする半導体装置。 - 前記動作停止部から、前記回路の動作を停止する旨の信号を受けると、前記回路への入力データの入力または前記回路からの出力データの出力を遮断する遮断部を有することを特徴とする請求項6に記載の半導体装置。
- デバッガ装置が、デバッグ対象の回路をモデル化した回路モデルに対するシミュレーションを行い、前記回路における信号のシーケンスに応じて値が変わる符号化方式で、前記回路の停止条件を示す第1の符号値を算出し、前記第1の符号値を送信し、
前記回路を備えた半導体装置は、前記第1の符号値を受信して、前記第1の符号値を記憶部に記憶し、前記回路における前記信号が変化するたびに、前記信号に基づき前記符号化方式で第2の符号値を算出し、前記第1の符号値と前記第2の符号値とが一致したときに前記回路の動作を停止する、
ことを特徴とするデバッグ方法。 - 前記デバッガ装置は、前記回路の動作停止時に、前記半導体装置から前記回路の状態を読み出し、前記状態が前記停止条件を満たしているか否かを判定する、ことを特徴とする請求項8に記載のデバッグ方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014169042A JP6318976B2 (ja) | 2014-08-22 | 2014-08-22 | デバッグ回路、デバッガ装置、半導体装置及びデバッグ方法 |
US14/724,052 US9857423B2 (en) | 2014-08-22 | 2015-05-28 | Debugging circuit, debugger device, and debugging method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014169042A JP6318976B2 (ja) | 2014-08-22 | 2014-08-22 | デバッグ回路、デバッガ装置、半導体装置及びデバッグ方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016045676A JP2016045676A (ja) | 2016-04-04 |
JP6318976B2 true JP6318976B2 (ja) | 2018-05-09 |
Family
ID=55348135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014169042A Active JP6318976B2 (ja) | 2014-08-22 | 2014-08-22 | デバッグ回路、デバッガ装置、半導体装置及びデバッグ方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9857423B2 (ja) |
JP (1) | JP6318976B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10698805B1 (en) * | 2017-01-25 | 2020-06-30 | Cadence Design Systems, Inc. | Method and system for profiling performance of a system on chip |
US10949586B1 (en) * | 2020-07-01 | 2021-03-16 | Xilinx, Inc. | Post-synthesis insertion of debug cores |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389557B1 (en) * | 1998-09-16 | 2002-05-14 | Advanced Micro Devices, Inc. | Freezing mechanism for debugging |
FR2790844B1 (fr) * | 1999-03-09 | 2001-05-25 | Gemplus Card Int | Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme |
US6785884B1 (en) * | 1999-09-29 | 2004-08-31 | Unisys Corporation | Symbolic debug interface for register transfer simulator debugger |
US7076420B1 (en) * | 2000-10-26 | 2006-07-11 | Cypress Semiconductor Corp. | Emulator chip/board architecture and interface |
US8103496B1 (en) * | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US6760864B2 (en) * | 2001-02-21 | 2004-07-06 | Freescale Semiconductor, Inc. | Data processing system with on-chip FIFO for storing debug information and method therefor |
US6922821B1 (en) * | 2001-11-15 | 2005-07-26 | Cypress Semiconductor Corp. | System and a method for checking lock step consistency between an in circuit emulation and a microcontroller while debugging process is in progress |
US7308608B1 (en) * | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
US7334161B2 (en) | 2004-04-30 | 2008-02-19 | Arm Limited | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus |
US7293206B2 (en) * | 2004-09-13 | 2007-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Test data pattern for testing a CRC algorithm |
US7533315B2 (en) * | 2006-03-06 | 2009-05-12 | Mediatek Inc. | Integrated circuit with scan-based debugging and debugging method thereof |
WO2008020513A1 (fr) * | 2006-08-14 | 2008-02-21 | Nec Corporation | débogueur et procédé de débogage |
US8065653B1 (en) * | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
GB2461716A (en) * | 2008-07-09 | 2010-01-13 | Advanced Risc Mach Ltd | Monitoring circuitry for monitoring accesses to addressable locations in data processing apparatus that occur between the start and end events. |
JP5414292B2 (ja) * | 2009-01-29 | 2014-02-12 | ルネサスエレクトロニクス株式会社 | 不良解析装置と方法及びプログラム |
JP2012242931A (ja) * | 2011-05-17 | 2012-12-10 | Alpine Electronics Inc | エミュレータ及びデバッグ方法 |
US9600398B2 (en) * | 2013-10-29 | 2017-03-21 | Synopsys, Inc. | Method and apparatus for debugging HDL design code and test program code |
-
2014
- 2014-08-22 JP JP2014169042A patent/JP6318976B2/ja active Active
-
2015
- 2015-05-28 US US14/724,052 patent/US9857423B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160054388A1 (en) | 2016-02-25 |
US9857423B2 (en) | 2018-01-02 |
JP2016045676A (ja) | 2016-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990458B2 (en) | Generic design rule checking (DRC) test case extraction | |
US8875064B2 (en) | Automated design rule checking (DRC) test case generation | |
US9569575B2 (en) | Digital circuit design method and associated computer program product | |
JP2011186817A (ja) | 論理検証装置及び論理検証方法 | |
JP6318976B2 (ja) | デバッグ回路、デバッガ装置、半導体装置及びデバッグ方法 | |
JP6477134B2 (ja) | デバッグ回路、半導体装置及びデバッグ方法 | |
US20180150379A1 (en) | Method and system of verifying software | |
JP6354489B2 (ja) | デバッグ回路、半導体装置及びデバッグ方法 | |
JP5233355B2 (ja) | プロパティ生成システムおよびプロパティ検証システム | |
JP6458626B2 (ja) | デバッグ回路、半導体装置及びデバッグ方法 | |
JP6667733B2 (ja) | シミュレーション装置、シミュレーション方法およびシミュレーションプログラム | |
CN114546823B (zh) | 用于重现逻辑***设计的调试场景的方法及相关设备 | |
CN115906730A (zh) | 验证逻辑***设计的方法、设备及存储介质 | |
US20100077383A1 (en) | Simulation method and storage medium for storing program | |
JP5120103B2 (ja) | デバッグ方法およびデバッグプログラム | |
JP5387521B2 (ja) | 論理検証シナリオ生成装置、及び、論理検証シナリオ生成プログラム | |
JP6854994B1 (ja) | 動作確認支援装置、動作確認支援方法及び動作確認支援プログラム | |
JP6331400B2 (ja) | 検証方法、検証装置および検証プログラム | |
JP2012252433A (ja) | 検証方法及び検証プログラム | |
US20240241809A1 (en) | Methods, electronic devices and storage media for executing assertions | |
JP6918267B2 (ja) | ボトルネック検出装置及びボトルネック検出プログラム | |
JP5233354B2 (ja) | プロパティ検証システム、プロパティ検証方法、及びプログラム | |
JP5392862B2 (ja) | ソフトウェアシミュレーション装置、及びシミュレーション方法 | |
JP2014182509A (ja) | 論理検証装置及び論理検証方法及び論理検証プログラム | |
JP2018045325A (ja) | テスト支援プログラム、テスト支援方法及びテスト支援装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170511 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180131 |
|
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: 20180306 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180319 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6318976 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |