JP7019711B2 - デバッグシステムおよびデバッグ方法 - Google Patents
デバッグシステムおよびデバッグ方法 Download PDFInfo
- Publication number
- JP7019711B2 JP7019711B2 JP2019548360A JP2019548360A JP7019711B2 JP 7019711 B2 JP7019711 B2 JP 7019711B2 JP 2019548360 A JP2019548360 A JP 2019548360A JP 2019548360 A JP2019548360 A JP 2019548360A JP 7019711 B2 JP7019711 B2 JP 7019711B2
- Authority
- JP
- Japan
- Prior art keywords
- debug
- hardware
- hll
- command
- controller circuit
- 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
- 238000000034 method Methods 0.000 title claims description 56
- 230000004044 response Effects 0.000 claims description 49
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 24
- 238000012545 processing Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 6
- 230000002085 persistent effect Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 101100219321 Oryza sativa subsp. japonica CYP85A1 gene Proteins 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- 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
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/277—Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
-
- 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
- G06F11/362—Software debugging
- G06F11/3628—Software debugging of optimised code
-
- 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
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
-
- 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
- G06F11/3664—Environments for testing or debugging software
-
- 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
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
Description
本開示は、一般に、回路記述に変換されたソフトウェアのデバッグに関する。
ソフトウェアシステムの性能を改善する1つの手法は、選択したセクションをハードウェアアクセラレータとして実装することである。計算の複雑性が高く、全ての実行時間の大部分を消費するシステムのセクションは、ハードウェアアクセラレータの実装に適する候補である。ハードウェアアクセラレータは、例えば、特定用途向け集積回路(ASIC)、グラフィックスプロセッシングユニット(GPU)、またはフィールドプログラマブルゲートアレイ(FPGA)上で実行する回路であってもよい。ハードウェアアクセラレータを作成するときにソフトウェア設計者が採用する一般的な手法は、ハイレベル合成(HLS)ツールを用いて、指定されたセクションの元のハイレベル言語(HLL)仕様を回路の同等のレジスタ転送レベル(RTL)仕様または他のハードウェア記述言語(HDL)仕様に変換することである。
開示されたソフトウェア仕様の回路実装をデバッグする方法は、コンピュータシステム上で実行するハードウェアデバッグサーバを用いて、第1のHLLデバッグコマンドをハードウェアデバッグコマンドに変換することを含む。このハードウェアデバッグコマンドは、プログラマブル集積回路(IC)上のソフトウェア仕様の回路実装の条件の1つ以上の値、および当該条件の1つ以上の値を格納するプログラマブルIC上の1つ以上の格納要素を指定する。第1のハードウェアデバッグコマンドは、プログラマブルIC上のデバッグコントローラ回路に送信され、デバッグコントローラ回路は、ソフトウェア仕様の回路実装に与える単一パルスのクロック信号を生成する。単一パルスを生成した後、デバッグコントローラ回路は、ハードウェアデバッグコマンドによって指定された1つ以上の格納要素から1つ以上の値を読み取り、1つ以上の値が条件を満たしているか否かを判断する。デバッグコントローラ回路は、1つ以上の格納要素から読み取られた1つ以上の値が条件を満たしていないことに応じて、別の単一パルスのクロック信号を生成する。1つ以上の格納要素から読み取られた1つ以上の値が条件を満たしていることに応じて、クロック信号のパルスの生成が中断され、1つ以上の格納要素から読み取られた1つ以上の値が条件を満たしていることに応じて、ブレークポイントを示すデータが出力される。
以下の記載において、多くの特定の詳細を用いて、本明細書に開示された特定の実施例を説明する。しかしながら、当業者なら、以下に記載された特定の詳細がなくても、1つ以上の他の実施例および/またはこれらの実施例の変形例を実施できることが明らかであろう。場合によって、本明細書に記載の実施例の説明を不明瞭にしないために、周知の特徴を詳細に説明しない。図面を簡単にするために、異なる図面において、同一の参照番号を用いて、同一要素または同一要素の追加のインスタンスを指す場合がある。
reg [4:0] vadd_counter_reg_95;
reg [4:0] ap_pipeline_reg_iter1_vadd_counter_reg_95;
reg [4:0] ap_pipeline_reg_iter2_vadd_counter_reg_95;
reg [4:0] ap_pipeline_reg_iter3_vadd_counter_reg_95;
reg [4:0] ap_pipeline_reg_iter4_vadd_counter_reg_95;
reg [4:0] ap_pipeline_reg_iter5_vadd_counter_reg_95;
reg [4:0] ap_pipeline_reg_iter6_vadd_counter_reg_95;
reg [4:0] ap_pipeline_reg_iter7_vadd_counter_reg_95;
reg [4:0] ap_pipeline_reg_iter8_vadd_counter_reg_95;
を含む。
Claims (15)
- デバッグ方法であって、
コンピュータシステム上で実行するハードウェアデバッグサーバを用いて、第1のハイレベル言語(HLL)デバッグコマンドを、プログラマブル集積回路(IC)上のHLLソフトウェア仕様の回路実装の条件の1つ以上の値と、前記条件の前記1つ以上の値を格納する前記プログラマブルIC上の1つ以上の格納要素とを指定する第1のハードウェアデバッグコマンドに変換することと、
前記第1のハードウェアデバッグコマンドを前記プログラマブルIC上のデバッグコントローラ回路に送信することと、
前記デバッグコントローラ回路を用いて、前記ソフトウェア仕様の前記回路実装に与える単一パルスのクロック信号を生成することと、
前記単一パルスを生成した後、前記デバッグコントローラ回路を用いて、前記第1のハードウェアデバッグコマンドによって指定された前記1つ以上の格納要素から1つ以上の値を読み取ることと、
前記1つ以上の値が前記条件を満たしているか否かを判断することと、
前記1つ以上の格納要素から読み取られた前記1つ以上の値が前記条件を満たしていないことに応じて、別の単一パルスの前記クロック信号を生成することと、
前記1つ以上の格納要素から読み取られた前記1つ以上の値が前記条件を満たしていることに応じて、前記クロック信号のパルスの生成を中断することと、
前記1つ以上の格納要素から読み取られた前記1つ以上の値が前記条件を満たしていることに応じて、ブレークポイントを示すデータを出力することとを含む、方法。 - 前記データを出力することは、前記デバッグコントローラ回路を用いて、ブレークポイントメッセージを前記ハードウェアデバッグサーバに送信することを含み、前記ブレークポイントメッセージは、前記1つ以上の格納要素と、前記1つ以上の格納要素から読み取られた前記1つ以上の値とを指定し、
前記方法は、
前記ハードウェアデバッグサーバを用いて、前記ブレークポイントメッセージによって指定された前記1つ以上の値および前記1つ以上の格納要素に対応する前記HLLソフトウェア仕様の行を決定することと、
前記ハードウェアデバッグサーバを用いて、前記HLLソフトウェア仕様の前記行を示すデータを出力することとをさらに含む、請求項1に記載の方法。 - 前記変換することは、相互参照データベースから、前記第1のHLLデバッグコマンドによって指定された1つ以上のHLL要素と相互参照されるハードウェア有限状態マシンの1つ以上の要素と、前記ハードウェア有限状態マシンの前記1つ以上の要素と相互参照される前記プログラマブルIC上の前記1つ以上の格納要素とを決定することを含み、
前記HLLソフトウェア仕様の前記行を決定することは、前記相互参照データベースから、前記ブレークポイントによって示された前記ハードウェア有限状態マシンの要素と相互参照される前記HLLソフトウェア仕様の前記行を決定することを含む、請求項2に記載の方法。 - 前記ハードウェアデバッグサーバを用いて、第2のHLLデバッグコマンドを第2のハードウェアデバッグコマンドに変換することを含み、前記第2のHLLデバッグコマンドは、読み取りリクエストおよび前記HLLソフトウェア仕様の変数の名前を指定し、前記第2のハードウェアデバッグコマンドは、読み取りリクエストおよび前記プログラマブルICの格納要素を指定し、
前記第2のハードウェアデバッグコマンドを前記プログラマブルIC上の前記デバッグコントローラ回路に送信することと、
前記デバッグコントローラ回路を用いて、前記第2のハードウェアデバッグコマンドによって指定された前記格納要素の値を読み取ることと、
前記第2のハードウェアデバッグコマンドに対する第1の応答を、前記デバッグコントローラ回路から前記ハードウェアデバッグサーバに送信することとを含み、前記第1の応答は、前記格納要素のIDおよび前記格納要素の前記値を含み、
前記第1の応答を、前記変数の前記名前および前記格納要素の前記値を有する第2の応答に変換することと、
前記ハードウェアデバッグサーバを用いて、前記第2の応答を出力することとをさらに含む、請求項1~3のいずれか1項に記載の方法。 - 前記デバッグコントローラ回路を用いて、前記第1のハードウェアデバッグコマンドに応じて、前記1つ以上の値および前記1つ以上の格納要素の仕様を前記プログラマブルIC上のメモリに格納することをさらに含む、請求項1~4のいずれか1項に記載の方法。
- 前記ハードウェアデバッグサーバを用いて、前記HLLソフトウェア仕様を実行するための第2のHLLデバッグコマンドを、前記プログラマブルIC上の前記ソフトウェア仕様の前記回路実装に与える前記クロック信号のフリーランニングを指定する第2のハードウェアデバッグコマンドに変換することと、
前記第2のハードウェアデバッグコマンドを前記デバッグコントローラ回路に送信することと、
前記デバッグコントローラ回路を用いて、クロックモードをフリーランニングモードに設定することと、
前記フリーランニングモードに応じて、前記デバッグコントローラ回路を用いて、前記ソフトウェア仕様の前記回路実装に与える前記クロック信号のパルスを連続的に生成することと、
前記フリーランニングモードに応じて、前記1つ以上の値の読み取りおよび前記1つ以上の値が前記条件を満たしているか否かの判断をバイパスすることとをさらに含む、請求項1に記載の方法。 - 前記ハードウェアデバッグサーバを用いて、前記HLLソフトウェア仕様をシングルステップするための第2のHLLデバッグコマンドを、前記プログラマブルIC上の前記ソフトウェア仕様の前記回路実装に与える前記クロック信号のシングルステップを指定する第2のハードウェアデバッグコマンドに変換することと、
前記第2のハードウェアデバッグコマンドを前記デバッグコントローラ回路に送信することと、
前記デバッグコントローラ回路を用いて、クロックモードをシングルステップに設定することとをさらに含み、
前記単一パルスのクロック信号を生成することは、前記第2のハードウェアデバッグコマンドに応じて実行され、
前記別の単一パルスの前記クロック信号を生成することは、前記クロック信号のシングルステップを指定する別のハードウェアデバッグコマンドに応じて実行される、請求項1に記載の方法。 - 前記ハードウェアデバッグサーバを用いて、第2のHLLデバッグコマンドを第2のハードウェアデバッグコマンドに変換することをさらに含み、前記第2のHLLデバッグコマンドは、書き込みリクエスト、前記HLLソフトウェア仕様の変数の名前、および値を指定し、前記第2のハードウェアデバッグコマンドは、書き込みリクエスト、前記プログラマブルICの格納要素、および前記値を指定し、
前記第2のハードウェアデバッグコマンドを前記プログラマブルIC上の前記デバッグコントローラ回路に送信することと、
前記デバッグコントローラ回路を用いて、前記値を前記第2のハードウェアデバッグコマンドによって指定された前記格納要素に書き込むこととをさらに含む、請求項1に記載の方法。 - デバッグシステムであって、
プログラマブル集積回路(IC)を備え、前記プログラマブルICは、ハイレベル言語(HLL)ソフトウェア仕様の回路実装と、前記回路実装に連結されたデバッグコントローラ回路とを含み、
前記プログラマブルICに接続されたプロセッサと、
前記プロセッサに連結されたメモリ配列とを備え、前記メモリ配列は、前記プロセッサによって実行されると、前記プロセッサに以下の動作を実行させる命令で構成され、
前記動作は、
第1のHLLデバッグコマンドを、前記回路実装の条件の1つ以上の値と前記条件の前記1つ以上の値を格納する前記プログラマブルIC上の1つ以上の格納要素とを指定する第1のハードウェアデバッグコマンドに変換することと、
前記第1のハードウェアデバッグコマンドを前記デバッグコントローラ回路に送信することとを含み、
前記デバッグコントローラ回路は、
前記ソフトウェア仕様の前記回路実装に与える単一パルスのクロック信号を生成し、
前記単一パルスを生成した後、前記第1のハードウェアデバッグコマンドによって指定された前記1つ以上の格納要素から前記1つ以上の値を読み取り、
前記1つ以上の値が前記条件を満たしているか否かを判断し、
前記1つ以上の格納要素から読み取られた前記1つ以上の値が前記条件を満たしていないことに応じて、別の単一パルスの前記クロック信号を生成し、
前記1つ以上の格納要素から読み取られた前記1つ以上の値が前記条件を満たしていることに応じて、前記クロック信号のパルスの生成を中断し、
前記1つ以上の格納要素から読み取られた前記1つ以上の値が前記条件を満たしていることに応じて、ブレークポイントを示すデータを出力するように構成されている、システム。 - 前記デバッグコントローラ回路は、前記ハードウェアデバッグサーバにブレークポイントメッセージを送信するようにさらに構成され、前記ブレークポイントメッセージは、前記1つ以上の格納要素と、前記1つ以上の格納要素から読み取られた前記1つ以上の値とを指定し、
前記メモリ配列は、前記プロセッサによって実行されると、前記プロセッサに、
前記ハードウェアデバッグサーバを用いて、前記ブレークポイントメッセージによって指定された前記1つ以上の値および前記1つ以上の格納要素に対応する前記HLLソフトウェア仕様の行を決定することと、
前記ハードウェアデバッグサーバを用いて、前記HLLソフトウェア仕様の前記行を示すデータを出力することとを実行させる命令でさらに構成されている、請求項9に記載のシステム。 - 前記変換を実行するための命令は、相互参照データベースから、前記第1のHLLデバッグコマンドによって指定された1つ以上のHLL要素と相互参照されるハードウェア有限状態マシンの1つ以上の要素と、前記ハードウェア有限状態マシンの前記1つ以上の要素と相互参照される前記プログラマブルICの前記1つ以上の格納要素とを決定するための命令を含み、
前記HLLソフトウェア仕様の前記行を決定するための命令は、前記相互参照データベースから、前記ブレークポイントによって示された前記ハードウェア有限状態マシンの要素と相互参照される前記HLLソフトウェア仕様の前記行を決定するための命令を含む、請求項10に記載のシステム。 - 前記メモリ配列は、前記プロセッサによって実行されると、前記プロセッサに、
前記ハードウェアデバッグサーバを用いて、第2のHLLデバッグコマンドを第2のハードウェアデバッグコマンドに変換することを実行させる命令でさらに構成され、前記第2のHLLデバッグコマンドは、読み取りリクエストおよび前記HLLソフトウェア仕様の変数の名前を指定し、前記第2のハードウェアデバッグコマンドは、読み取りリクエストおよび前記プログラマブルICの格納要素を指定し、
前記第2のハードウェアデバッグコマンドを前記プログラマブルIC上の前記デバッグコントローラ回路に送信することを実行させる命令でさらに構成され、
前記デバッグコントローラ回路は、
前記第2のハードウェアデバッグコマンドによって指定された前記格納要素の値を読み取り、
前記第2のハードウェアデバッグコマンドに対する第1の応答を前記ハードウェアデバッグサーバに送信するようにさらに構成され、前記第1の応答は、前記格納要素のIDおよび前記格納要素の前記値を含み、
前記メモリは、前記プロセッサによって実行されると、前記プロセッサに、
前記第1の応答を、前記変数の前記名前および前記格納要素の前記値を有する第2の応答に変換することと、
前記ハードウェアデバッグサーバを用いて、前記第2の応答を出力することとを実行させる命令でさらに構成されている、請求項9~11のいずれか1項に記載のシステム。 - 前記メモリ配列は、前記プロセッサによって実行されると、前記プロセッサに、
前記HLLソフトウェア仕様を実行するための第2のHLLデバッグコマンドを、前記プログラマブルIC上の前記ソフトウェア仕様の前記回路実装に与える前記クロック信号のフリーランニングを指定する第2のハードウェアデバッグコマンドに変換することと、
前記第2のハードウェアデバッグコマンドを前記デバッグコントローラ回路に送信することとを実行させる命令でさらに構成され、
前記デバッグコントローラ回路は、
前記デバッグコントローラ回路を用いて、クロックモードをフリーランニングモードに設定し、
前記フリーランニングモードに応じて、前記ソフトウェア仕様の前記回路実装に与える前記クロック信号のパルスを連続的に生成し、
前記フリーランニングモードに応じて、前記1つ以上の値の読み取りおよび前記1つ以上の値が前記条件を満たしているか否かの判断をバイパスするようにさらに構成されている、請求項9に記載のシステム。 - 前記メモリ配列は、前記プロセッサによって実行されると、前記プロセッサに、
前記HLLソフトウェア仕様をシングルステップするための第2のHLLデバッグコマンドを、前記プログラマブルIC上の前記ソフトウェア仕様の前記回路実装に与える前記クロック信号のシングルステップを指定する第2のハードウェアデバッグコマンドに変換することと、
前記第2のハードウェアデバッグコマンドを前記デバッグコントローラ回路に送信することとを実行させる命令でさらに構成され、
前記デバッグコントローラ回路は、クロックモードをシングルステップに設定するようにさらに構成され、
前記単一パルスの前記クロック信号を生成することは、前記第2のハードウェアデバッグコマンドに応じて実行され、
前記別の単一パルスの前記クロック信号を生成することは、前記クロック信号のシングルステップを指定する別のハードウェアデバッグコマンドに応じて実行される、請求項9に記載のシステム。 - 前記メモリ配列は、前記プロセッサによって実行されると、前記プロセッサに、
第2のHLLデバッグコマンドを第2のハードウェアデバッグコマンドに変換することを実行させる命令でさらに構成され、前記第2のHLLデバッグコマンドは、書き込みリクエスト、前記HLLソフトウェア仕様の変数の名前、および値を指定し、前記第2のハードウェアデバッグコマンドは、書き込みリクエスト、前記プログラマブルICの格納要素、および値を指定し、
前記第2のハードウェアデバッグコマンドを前記プログラマブルIC上の前記デバッグコントローラ回路に送信することを実行させる命令でさらに構成され、
前記デバッグコントローラ回路は、前記値を前記第2のハードウェアデバッグコマンドによって指定された前記格納要素に書き込むようにさらに構成されている、請求項9に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/451,068 US10235272B2 (en) | 2017-03-06 | 2017-03-06 | Debugging system and method |
US15/451,068 | 2017-03-06 | ||
PCT/US2018/017876 WO2018164811A1 (en) | 2017-03-06 | 2018-02-12 | Debugging system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020509507A JP2020509507A (ja) | 2020-03-26 |
JP7019711B2 true JP7019711B2 (ja) | 2022-02-15 |
Family
ID=61283351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019548360A Active JP7019711B2 (ja) | 2017-03-06 | 2018-02-12 | デバッグシステムおよびデバッグ方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10235272B2 (ja) |
EP (1) | EP3593250B1 (ja) |
JP (1) | JP7019711B2 (ja) |
KR (1) | KR102521517B1 (ja) |
CN (1) | CN110603528B (ja) |
WO (1) | WO2018164811A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10235272B2 (en) * | 2017-03-06 | 2019-03-19 | Xilinx, Inc. | Debugging system and method |
US10762211B2 (en) * | 2018-04-12 | 2020-09-01 | United States Of America, As Represented By The Secretary Of The Navy | Source code diagnostic instrument |
US10599553B2 (en) * | 2018-04-27 | 2020-03-24 | International Business Machines Corporation | Managing cloud-based hardware accelerators |
US20200004666A1 (en) * | 2018-07-02 | 2020-01-02 | International Business Machines Corporation | Debug boundaries for hardware accelerators |
US10831975B2 (en) | 2018-11-29 | 2020-11-10 | International Business Machines Corporation | Debug boundaries in a hardware accelerator |
JP7073285B2 (ja) * | 2019-01-09 | 2022-05-23 | ルネサスエレクトロニクス株式会社 | 動作検証プログラム、動作同期方法及び異常検出装置 |
US11106437B2 (en) | 2019-01-14 | 2021-08-31 | Microsoft Technology Licensing, Llc | Lookup table optimization for programming languages that target synchronous digital circuits |
US11144286B2 (en) | 2019-01-14 | 2021-10-12 | Microsoft Technology Licensing, Llc | Generating synchronous digital circuits from source code constructs that map to circuit implementations |
US11093682B2 (en) | 2019-01-14 | 2021-08-17 | Microsoft Technology Licensing, Llc | Language and compiler that generate synchronous digital circuits that maintain thread execution order |
US11275568B2 (en) | 2019-01-14 | 2022-03-15 | Microsoft Technology Licensing, Llc | Generating a synchronous digital circuit from a source code construct defining a function call |
US10810343B2 (en) | 2019-01-14 | 2020-10-20 | Microsoft Technology Licensing, Llc | Mapping software constructs to synchronous digital circuits that do not deadlock |
US11113176B2 (en) | 2019-01-14 | 2021-09-07 | Microsoft Technology Licensing, Llc | Generating a debugging network for a synchronous digital circuit during compilation of program source code |
US11442104B1 (en) | 2019-02-25 | 2022-09-13 | Marvell Asia Pte, Ltd. | Configurable integrated logic analyzer |
JP7202225B2 (ja) * | 2019-03-12 | 2023-01-11 | ローム株式会社 | 半導体装置及びデバッグシステム |
CN113454607B (zh) * | 2019-03-21 | 2023-08-22 | 杭州飞步科技有限公司 | 调试方法、装置及片上系统 |
US11347624B1 (en) * | 2019-06-28 | 2022-05-31 | Meta Platforms, Inc. | Systems and methods for application exception handling |
KR20210014365A (ko) * | 2019-07-30 | 2021-02-09 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
US11442844B1 (en) | 2020-06-01 | 2022-09-13 | Xilinx, Inc. | High speed debug hub for debugging designs in an integrated circuit |
US11249872B1 (en) | 2020-06-26 | 2022-02-15 | Xilinx, Inc. | Governor circuit for system-on-chip |
CN116384305B (zh) * | 2023-06-05 | 2023-08-01 | 英诺达(成都)电子科技有限公司 | 数据通信方法、装置、系统、设备及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001209556A (ja) | 1999-11-18 | 2001-08-03 | Yokogawa Electric Corp | 検証支援システム |
WO2008020513A1 (fr) | 2006-08-14 | 2008-02-21 | Nec Corporation | débogueur et procédé de débogage |
JP2011258185A (ja) | 2010-06-11 | 2011-12-22 | International Business Maschines Corporation | デバッグ・プログラム、デバッグ・システム、および方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0719711B2 (ja) * | 1986-05-30 | 1995-03-06 | 松下電器産業株式会社 | マグネツトロ−ルの製造方法 |
US5678028A (en) * | 1994-10-25 | 1997-10-14 | Mitsubishi Electric Information Technology Center America, Inc. | Hardware-software debugger using simulation speed enhancing techniques including skipping unnecessary bus cycles, avoiding instruction fetch simulation, eliminating the need for explicit clock pulse generation and caching results of instruction decoding |
US6055649A (en) * | 1997-11-19 | 2000-04-25 | Texas Instruments Incorporated | Processor test port with scan chains and data streaming |
US5995744A (en) | 1997-11-24 | 1999-11-30 | Xilinx, Inc. | Network configuration of programmable circuits |
US6212650B1 (en) | 1997-11-24 | 2001-04-03 | Xilinx, Inc. | Interactive dubug tool for programmable circuits |
US6263489B1 (en) | 1998-04-30 | 2001-07-17 | Hewlett-Packard Company | Method and apparatus for debugging of optimized code |
US20060117274A1 (en) * | 1998-08-31 | 2006-06-01 | Tseng Ping-Sheng | Behavior processor system and method |
US6985980B1 (en) | 2000-11-03 | 2006-01-10 | Xilinx, Inc. | Diagnostic scheme for programmable logic in a system on a chip |
US6744274B1 (en) * | 2001-08-09 | 2004-06-01 | Stretch, Inc. | Programmable logic core adapter |
US7308564B1 (en) | 2003-03-27 | 2007-12-11 | Xilinx, Inc. | Methods and circuits for realizing a performance monitor for a processor from programmable logic |
US7523351B2 (en) * | 2004-09-27 | 2009-04-21 | Ceva D.S.P. Ltd | System and method for providing mutual breakpoint capabilities in computing device |
US7805593B1 (en) | 2005-03-24 | 2010-09-28 | Xilinx, Inc. | Real-time performance monitoring using a system implemented in an integrated circuit |
US8327200B1 (en) | 2009-04-02 | 2012-12-04 | Xilinx, Inc. | Integrated circuit providing improved feed back of a signal |
US8214701B1 (en) | 2009-04-17 | 2012-07-03 | Altera Corporation | Hardware and software debugging |
FR2945396A1 (fr) * | 2009-05-07 | 2010-11-12 | St Microelectronics Grenoble 2 | Procede et dispositif d'analyse de la propagation de transactions dans un reseau multi-protocoles d'un systeme sur puce |
US8402442B1 (en) | 2009-07-28 | 2013-03-19 | Xilinx, Inc. | Common debugger method and system |
JP5526725B2 (ja) * | 2009-11-20 | 2014-06-18 | 富士通株式会社 | ハードウェアブレークポイントを用いたデバッグ方法、デバッグ処理プログラム及びデバッグ装置 |
US8595561B1 (en) | 2010-10-27 | 2013-11-26 | Xilinx, Inc. | Integrated debugging within an integrated circuit having an embedded processor |
US8595555B1 (en) | 2011-01-13 | 2013-11-26 | Xilinx, Inc. | Debugging an integrated circuit with an embedded processor |
US9256408B2 (en) | 2012-01-20 | 2016-02-09 | Qualcomm Incorporated | Optimizing texture commands for graphics processing unit |
US9959186B2 (en) * | 2012-11-19 | 2018-05-01 | Teradyne, Inc. | Debugging in a semiconductor device test environment |
US9292414B2 (en) * | 2012-11-26 | 2016-03-22 | Nvidia Corporation | System, method, and computer program product for debugging graphics programs locally utilizing a system with a single GPU |
US8775986B1 (en) * | 2013-02-25 | 2014-07-08 | Xilinx, Inc. | Software debugging of synthesized hardware |
US9262299B1 (en) | 2013-05-31 | 2016-02-16 | Cadence Design Systems, Inc. | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system |
US9575869B2 (en) * | 2015-02-25 | 2017-02-21 | Red Hat, Inc. | Service implementation based debugger for service oriented architecture projects |
US10235272B2 (en) * | 2017-03-06 | 2019-03-19 | Xilinx, Inc. | Debugging system and method |
-
2017
- 2017-03-06 US US15/451,068 patent/US10235272B2/en active Active
-
2018
- 2018-02-12 JP JP2019548360A patent/JP7019711B2/ja active Active
- 2018-02-12 EP EP18707517.1A patent/EP3593250B1/en active Active
- 2018-02-12 CN CN201880029950.3A patent/CN110603528B/zh active Active
- 2018-02-12 KR KR1020197029133A patent/KR102521517B1/ko active IP Right Grant
- 2018-02-12 WO PCT/US2018/017876 patent/WO2018164811A1/en active Search and Examination
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001209556A (ja) | 1999-11-18 | 2001-08-03 | Yokogawa Electric Corp | 検証支援システム |
WO2008020513A1 (fr) | 2006-08-14 | 2008-02-21 | Nec Corporation | débogueur et procédé de débogage |
JP2011258185A (ja) | 2010-06-11 | 2011-12-22 | International Business Maschines Corporation | デバッグ・プログラム、デバッグ・システム、および方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018164811A1 (en) | 2018-09-13 |
KR102521517B1 (ko) | 2023-04-12 |
EP3593250A1 (en) | 2020-01-15 |
CN110603528A (zh) | 2019-12-20 |
US10235272B2 (en) | 2019-03-19 |
US20180253368A1 (en) | 2018-09-06 |
EP3593250B1 (en) | 2021-09-08 |
KR20190121378A (ko) | 2019-10-25 |
JP2020509507A (ja) | 2020-03-26 |
CN110603528B (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7019711B2 (ja) | デバッグシステムおよびデバッグ方法 | |
US10255400B1 (en) | Debugging system and method | |
US7584456B1 (en) | Method and apparatus for debugging embedded systems having read only memory | |
EP1913410B1 (en) | Method and system for debug and test using replicated logic | |
JP7036814B2 (ja) | デバッギングシステム及び方法 | |
US8214701B1 (en) | Hardware and software debugging | |
US9235670B2 (en) | Method and an apparatus for automatic generation of verification environment for processor design and verification | |
JP5751669B2 (ja) | 言語変換処理方法及び言語変換処理プログラム | |
US9946823B2 (en) | Dynamic control of design clock generation in emulation | |
JP2005346517A (ja) | 検証装置および検証方法 | |
Gao et al. | Software and hardware co-verification technology based on virtual prototyping of RF SOC | |
Lee et al. | Hardware observability framework for minimally intrusive online monitoring of embedded systems | |
Li et al. | A readback based general debugging framework for soft-core processors | |
US10726182B1 (en) | Operator aware finite state machine for circuit design simulation | |
US10754759B1 (en) | Breakpointing circuitry that evaluates breakpoint conditions while running clock to target circuit | |
US10621067B1 (en) | Data unit breakpointing circuits and methods | |
US8229725B1 (en) | Method and apparatus for modeling processor-based circuit models | |
Monson et al. | Using shadow pointers to trace C pointer values in FPGA circuits | |
Xie et al. | A novel intelligent verification platform based on a structured analysis model | |
Velguenkar | The Design of a Debugger Unit for a RISC Processor Core | |
Portas et al. | CoChrono: A Unified Hardware/Software Performance Analysis Tool for SoC-FPGA Codesign | |
Wang et al. | Uniform SystemC Co-Simulation Methodology for System-on-Chip Designs | |
Lipsky | Multicore debug and performance optimization IP for complex SoCs | |
Hsu | Step back to see more [transaction level SoC debugging and verification] | |
Wilcox | Hardware-Based Verification: Advantages of hardware-software co-verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211222 |
|
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: 20220104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7019711 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |