JP6763153B2 - Hardware / software co-verification device and hardware / software co-verification method - Google Patents
Hardware / software co-verification device and hardware / software co-verification method Download PDFInfo
- Publication number
- JP6763153B2 JP6763153B2 JP2016045119A JP2016045119A JP6763153B2 JP 6763153 B2 JP6763153 B2 JP 6763153B2 JP 2016045119 A JP2016045119 A JP 2016045119A JP 2016045119 A JP2016045119 A JP 2016045119A JP 6763153 B2 JP6763153 B2 JP 6763153B2
- Authority
- JP
- Japan
- Prior art keywords
- software
- function unit
- hardware
- address
- character string
- 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
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、組み込み分野のデジタルシステム(組み込みシステム;Embedded System)におけるデジタル回路とソフトウェアの協調シミュレーションに関する。 The present invention relates to co-simulation of digital circuits and software in a digital system (embedded system; Embedded System) in the field of embedded systems.
組み込み分野のデジタルシステムは、CPUを含むハードウェア回路とCPUが実行するソフトウェアで構成される。組み込み分野のデジタルシステムの開発期間短縮や品質向上には、実機製作前にCPUを含むハードウェア回路とCPUが実行するソフトウェアを協調してデバッグを行うハードウェア/ソフトウェア協調検証が有効である。 Digital systems in the embedded field consist of a hardware circuit including a CPU and software executed by the CPU. In order to shorten the development period and improve the quality of digital systems in the embedded field, it is effective to perform hardware / software cooperative verification in which the hardware circuit including the CPU and the software executed by the CPU are coordinated and debugged before the actual machine is manufactured.
協調検証には、HDL(Hardware Description Language;ハードウェア記述言語)シミュレータを使う協調シミュレーションと、論理エミュレータを使う協調エミュレーションの2種類がある。 There are two types of collaborative verification: collaborative simulation using a HDL (Hardware Description Language) simulator and collaborative emulation using a logical emulator.
HDLシミュレータを使う協調シミュレーションは、CPUを含むハードウェア回路を全てHDLシミュレータに取り込んでデバッグを行う。一方、論理エミュレータを使う協調エミュレーションはハードウェア回路を論理エミュレータに取り込んでデバッグを行う。 In the collaborative simulation using the HDL simulator, all the hardware circuits including the CPU are incorporated into the HDL simulator for debugging. On the other hand, in collaborative emulation using a logic emulator, the hardware circuit is incorporated into the logic emulator for debugging.
尚、論理エミュレータを使う協調エミュレーションの一例として、特許文献1に記載のものが存在する。
As an example of cooperative emulation using a logic emulator, there is one described in
また、本発明で利用する、実行ソフトウェアに記述されたアセンブラ命令語の文字列を解析する技術は特許文献2に記載されている。
Further, a technique for analyzing a character string of an assembler instruction word described in execution software used in the present invention is described in
論理エミュレータを使う協調エミュレーションは、HDLシミュレータを使う協調シミュレーションに比べて動作が高速という利点があるが、論理エミュレータが非常に高価という欠点がある。 Cooperative emulation using a logic emulator has the advantage of faster operation than collaborative simulation using an HDL simulator, but has the disadvantage that the logic emulator is very expensive.
特許文献1では、CPUを含むハードウェア回路を全て論理エミュレータに取り込んだ協調エミュレーションでの方式である。しかし、CPUは実機と同じRTL(Register Transfer Level)レベルのものを使うため、動作速度低下の一因になる。
ハードウェア/ソフトウェア協調検証は、文字通りハードウェアの動作とソフトウェアの動作を協調してデバッグを行う。それぞれの協調した動作は波形ビューアで観測できるが、実行箇所のソフトウェアソースは見ることができない。 Hardware / software co-verification literally coordinates the operation of hardware and software for debugging. Each coordinated operation can be observed with the waveform viewer, but the software source of the execution location cannot be seen.
この解決策として前述の特許文献1では、ソフトウェアを実行するCPUモデルのプログラマブルカウンタ(PC)の値からソフトウェアソースの実行箇所を特定し、特定箇所のソフトウェアソースを表示する仕組みを有している。
As a solution to this problem,
しかし特許文献1は、プログラマブルカウンタの値の取得をブレークポイントなどイベント時に限定されているため、任意の箇所のソース表示はできない。
However, in
また逆に、ソフトウェアソースから、ハードウェアの動作とソフトウェア動作の協調した動作波形を特定し表示する仕組みは有していない。 On the contrary, it does not have a mechanism to identify and display the coordinated operation waveform of the hardware operation and the software operation from the software source.
本発明は上記課題を解決するものであり、その目的は、高価な論理エミュレータを必要とせず、HDLシミュレータによってハードウェア/ソフトウェア協調検証を行うことができる装置および方法を提供することにある。 The present invention solves the above problems, and an object of the present invention is to provide a device and a method capable of performing hardware / software co-verification by an HDL simulator without requiring an expensive logic emulator.
上記課題を解決するための請求項1に記載のハードウェア/ソフトウェア協調検証装置は、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備えたHDLシミュレータを有し、
CPUモデルは、ソフトウェアソース群から生成された実行ソフトウェアを実行して実機のソフトウェアをシミュレーションし、HDLシミュレータはデバッグ対象ハードウェアの動作をシミュレーションし、前記シミュレーション結果を波形表示機能部に表示し、
ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報と、前記表示されたシミュレーション結果波形データ中の任意箇所のプログラマブルカウンタの値を取得し、取得したプログラマブルカウンタの値とデバッグ情報中のアドレスと一致するアドレスを検索し、一致したアドレスに該当するソースファイル名および行番号を出力する第1の検索機能部と、
前記第1の検索機能部の出力によって起動され、前記該当するソースファイルを該当行番号箇所で表示する第1のテキストエディタ機能部と、を備え、
前記実行ソフトウェアはアセンブラ命令語の文字列で記述され、
前記CPUモデルは、アセンブラ命令語の文字列を解析する文字列解析機能部を備え、該文字列解析機能部で解析されたアセンブラ命令を実行することを特徴としている。
The hardware / software co-verification device according to
The CPU model executes the execution software generated from the software source group to simulate the software of the actual machine, the HDL simulator simulates the operation of the hardware to be debugged, and the simulation result is displayed on the waveform display function unit.
Acquires and acquires the debug information generated from the software source group, which is a set of the instruction address and the corresponding source file name and line number, and the value of the programmable counter at an arbitrary location in the displayed simulation result waveform data. The first search function unit that searches for an address that matches the value of the programmable counter and the address in the debug information and outputs the source file name and line number corresponding to the matched address.
It is provided with a first text editor function unit that is activated by the output of the first search function unit and displays the corresponding source file at the corresponding line number location .
The execution software is described by a character string of assembler instruction words.
The CPU model includes a character string analysis function unit that analyzes a character string of an assembler instruction word, and is characterized in that the assembler instruction analyzed by the character string analysis function unit is executed .
また、請求項2に記載のハードウェア/ソフトウェア協調検証装置は、請求項1において、前記第1の検索機能部および第1のテキストエディタ機能部は、前記HDLシミュレータに設けられていることを特徴としている。
The hardware / software co-verification device according to
また、請求項3に記載のハードウェア/ソフトウェア協調検証装置は、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備えたHDLシミュレータを有し、
CPUモデルは、ソフトウェアソース群から生成された実行ソフトウェアを実行して実機のソフトウェアをシミュレーションし、HDLシミュレータはデバッグ対象ハードウェアの動作をシミュレーションし、前記シミュレーション結果を波形表示機能部に表示し、
ソフトウェアソース群中の任意のソフトウェアソースを表示し、表示しているソースファイル名とカーソル行番号を取得する第2のテキストエディタ機能部と、
ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報を取得し、取得されたデバッグ情報内のソースファイル名および行番号と、前記第2のテキストエディタ機能部により取得されたソースファイル名およびカーソル行番号とが一致する箇所を検索し、一致箇所のアドレスを出力する第2の検索機能部とを備え、
前記実行ソフトウェアはアセンブラ命令語の文字列で記述され、
前記CPUモデルは、アセンブラ命令語の文字列を解析する文字列解析機能部を備え、該文字列解析機能部で解析されたアセンブラ命令を実行し、
前記波形表示機能部は、前記第2の検索機能部により出力されたアドレスに該当するプログラマブルカウンタの値と波形表示機能部に記録されたプログラマブルカウンタの値が一致する箇所のシミュレーション結果波形を表示することを特徴としている。
Further, the hardware / software co-verification device according to claim 3 includes a CPU model that is described as a simulation environment and is equivalent to an actual machine that simulates the operation of the CPU, and a hardware model that simulates the hardware to be debugged. A waveform display function unit that displays the simulation result waveform data of the preset observation signal group and records the value of the programmable counter that indicates the execution address of the CPU model specified in the observation signal group during the entire simulation period. Has a HDL simulator equipped
The CPU model executes the execution software generated from the software source group to simulate the software of the actual machine, the HDL simulator simulates the operation of the hardware to be debugged, and the simulation result is displayed on the waveform display function unit.
A second text editor function unit that displays any software source in the software source group and acquires the displayed source file name and cursor line number,
Acquire debug information that is a set of instruction address and corresponding source file name and line number generated from software source group, and the source file name and line number in the acquired debug information and the second text. It is equipped with a second search function unit that searches for a location that matches the source file name and cursor line number acquired by the editor function unit and outputs the address of the matching location.
The execution software is described by a character string of assembler instruction words.
The CPU model includes a character string analysis function unit that analyzes a character string of an assembler instruction word, executes an assembler instruction analyzed by the character string analysis function unit, and executes the assembler instruction.
The waveform display function unit displays a simulation result waveform at a location where the value of the programmable counter corresponding to the address output by the second search function unit and the value of the programmable counter recorded in the waveform display function unit match. It is characterized by that.
また、請求項4に記載のハードウェア/ソフトウェア協調検証装置は、請求項3において、前記第2の検索機能部および第2のテキストエディタ機能部は、前記HDLシミュレータに設けられていることを特徴としている。 The hardware / software co-verification device according to claim 4 is characterized in that, in claim 3, the second search function unit and the second text editor function unit are provided in the HDL simulator. It is supposed to be.
また、請求項5に記載のハードウェア/ソフトウェア協調検証方法は、HDLシミュレータを備えたハードウェア/ソフトウェア協調検証方法であって、
前記HDLシミュレータは、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備え、
前記HDLシミュレータが、ソフトウェアソース群から生成された実行ソフトウェアをCPUモデルによって実行して実機のソフトウェアをシミュレーションするとともに、デバッグ対象ハードウェアの動作をシミュレーションするステップと、
前記波形表示機能部が、前記シミュレーション結果を表示するステップと、
ハードウェア/ソフトウェア協調検証装置の第1の検索機能部が、ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報と、前記表示されたシミュレーション結果波形データ中の任意箇所のプログラマブルカウンタの値を取得し、取得したプログラマブルカウンタの値とデバッグ情報中のアドレスと一致するアドレスを検索し、一致したアドレスに該当するソースファイル名および行番号を出力するステップと、
ハードウェア/ソフトウェア協調検証装置の第1のテキストエディタ機能部が、前記第1の検索機能部の出力によって起動し、前記該当するソースファイルを該当行番号箇所で表示するステップと、を備え、
前記実行ソフトウェアはアセンブラ命令語の文字列で記述され、
前記CPUモデルの文字列解析機能部が、前記アセンブラ命令語の文字列を解析するステップと、
CPUモデルが前記解析されたアセンブラ命令を実行するステップと、
を備えたことを特徴としている。
Further, the hardware / software co-verification method according to claim 5 is a hardware / software co-verification method provided with an HDL simulator.
The HDL simulator creates a CPU model equivalent to an actual machine that simulates the operation of the CPU, a hardware model that simulates the hardware to be debugged, and simulation result waveform data of a preset observation signal group, which is described as a simulation environment. It is equipped with a waveform display function unit that displays and records the value of the programmable counter that indicates the execution address of the CPU model specified in the observation signal group during the entire simulation period.
The HDL simulator executes the execution software generated from the software source group by the CPU model to simulate the software of the actual machine, and also simulates the operation of the hardware to be debugged.
A step in which the waveform display function unit displays the simulation result,
The first search function unit of the hardware / software co-verification device performs debug information generated from the software source group as a set of the instruction address and the corresponding source file name and line number, and the displayed simulation result. Acquires the value of the programmable counter at any location in the waveform data, searches for an address that matches the acquired programmable counter value and the address in the debug information, and outputs the source file name and line number corresponding to the matched address. Steps and
The first text editor function unit of the hardware / software co-verification device is activated by the output of the first search function unit, and includes a step of displaying the corresponding source file at the corresponding line number .
The execution software is described by a character string of assembler instruction words.
A step in which the character string analysis function unit of the CPU model analyzes the character string of the assembler instruction word,
The step in which the CPU model executes the parsed assembler instruction,
It is characterized by comprising a.
また、請求項6に記載のハードウェア/ソフトウェア協調検証方法は、HDLシミュレータを備えたハードウェア/ソフトウェア協調検証方法であって、
前記HDLシミュレータは、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備え、
前記HDLシミュレータが、ソフトウェアソース群から生成された実行ソフトウェアをCPUモデルによって実行して実機のソフトウェアをシミュレーションするとともに、デバッグ対象ハードウェアの動作をシミュレーションするステップと、
ハードウェア/ソフトウェア協調検証装置の第2のテキストエディタ機能部が、ソフトウェアソース群中の任意のソフトウェアソースを表示し、表示しているソースファイル名とカーソル行番号を取得するステップと、
ハードウェア/ソフトウェア協調検証装置の第2の検索機能部が、ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報を取得し、取得されたデバッグ情報内のソースファイル名および行番号と、前記第2のテキストエディタ機能部により取得されたソースファイル名およびカーソル行番号とが一致する箇所を検索し、一致箇所のアドレスを出力するステップと、
前記波形表示機能部が、前記第2の検索機能部により出力されたアドレスに該当するプログラマブルカウンタの値と波形表示機能部に記録されたプログラマブルカウンタの値が一致する箇所のシミュレーション結果波形を表示するステップと、を備え、
前記実行ソフトウェアはアセンブラ命令語の文字列で記述され、
前記CPUモデルの文字列解析機能部が、前記アセンブラ命令語の文字列を解析するステップと、
CPUモデルが前記解析されたアセンブラ命令を実行するステップと、
を備えたことを特徴としている。
Further, the hardware / software co-verification method according to claim 6 is a hardware / software co-verification method including an HDL simulator.
The HDL simulator creates a CPU model equivalent to an actual machine that simulates the operation of the CPU, a hardware model that simulates the hardware to be debugged, and simulation result waveform data of a preset observation signal group, which is described as a simulation environment. It is equipped with a waveform display function unit that displays and records the value of the programmable counter that indicates the execution address of the CPU model specified in the observation signal group during the entire simulation period.
The HDL simulator executes the execution software generated from the software source group by the CPU model to simulate the software of the actual machine, and also simulates the operation of the hardware to be debugged.
The step that the second text editor function part of the hardware / software co-verification device displays any software source in the software source group and acquires the displayed source file name and cursor line number,
The second search function unit of the hardware / software co-verification device acquires the debug information generated from the software source group, which is a set of the instruction address and the corresponding source file name and line number, and the acquired debug. A step of searching for a location where the source file name and line number in the information match the source file name and cursor line number acquired by the second text editor function unit, and outputting the address of the matching location.
The waveform display function unit displays a simulation result waveform at a location where the value of the programmable counter corresponding to the address output by the second search function unit and the value of the programmable counter recorded in the waveform display function unit match. With steps ,
The execution software is described by a character string of assembler instruction words.
A step in which the character string analysis function unit of the CPU model analyzes the character string of the assembler instruction word,
The step in which the CPU model executes the parsed assembler instruction,
It is characterized by comprising a.
上記構成によれば、HDLシミュレータにシミュレーション環境(テストベンチ)としてのCPUモデルとハードウェアモデルを記述し、CPUモデルが、ソフトウェアソース群から生成された実行ソフトウェアを実行して実機のソフトウェアをシミュレーションし、HDLシミュレータがデバッグ対象ハードウェアの動作をシミュレーションするように構成したので、高価な論理エミュレータを必要とせず、HDLシミュレータでハードウェア/ソフトウェア協調検証を行うことができる。
また、CPUモデルの実行ソフトウェアをアセンブラ命令語の文字列を解析し実行するので、動作速度が向上する。
According to the above configuration, the CPU model and the hardware model as the simulation environment (test bench) are described in the HDL simulator, and the CPU model executes the execution software generated from the software source group to simulate the software of the actual machine. Since the HDL simulator is configured to simulate the operation of the hardware to be debugged, hardware / software co-verification can be performed with the HDL simulator without the need for an expensive logic emulator.
Further, since the execution software of the CPU model analyzes and executes the character string of the assembler instruction word, the operation speed is improved.
また、請求項1、2、5の構成によれば、第1の検索機能部および第1のテキストエディタ機能部の動作によって、波形表示機能部に表示している任意のシミュレーション結果波形の箇所のプログラマブルカウンタの値に該当するソフトウェアソースを表示することができる。
Further, according to the configurations of
また、請求項3、4、6の構成によれば、第2の検索機能部および第2のテキストエディタ機能部の動作によって、ソフトウェアソースの任意の箇所に該当するシミュレーション結果波形を特定し表示することができる。 Further, according to the configurations of claims 3, 4, and 6, the simulation result waveform corresponding to an arbitrary part of the software source is specified and displayed by the operation of the second search function unit and the second text editor function unit. be able to.
また、請求項2によれば、波形表示機能に表示されたシミュレーション結果波形データ中の任意箇所の指定から、ソースファイルの表示までをHDLシミュレータ内で完結することができる。
Further, according to
また、請求項4によれば、表示している任意のソフトウェアソースのカーソル行の指定から、シミュレーション結果波形の表示までをHDLシミュレータ内で完結することができる。 Further, according to claim 4, the process from the designation of the cursor line of any software source to be displayed to the display of the simulation result waveform can be completed in the HDL simulator.
(1)請求項1〜6に記載の発明によれば、高価な論理エミュレータを必要とせず、HDLシミュレータでハードウェア/ソフトウェア協調検証を行うことができる。また、動作速度を向上させることができる。
(2)また、請求項1、2、5に記載の発明によれば、波形表示機能部に表示している任意のシミュレーション結果波形の箇所のプログラマブルカウンタの値に該当するソフトウェアソースを表示することができる。
(3)また、請求項3、4、6に記載の発明によれば、ソフトウェアソースの任意の箇所に該当するシミュレーション結果波形を特定し表示することができる。
(4)また、請求項2に記載の発明によれば、波形表示機能に表示されたシミュレーション結果波形データ中の任意箇所の指定から、ソースファイルの表示までをHDLシミュレータ内で完結することができる。
(5)また、請求項4に記載の発明によれば、表示している任意のソフトウェアソースのカーソル行の指定から、シミュレーション結果波形の表示までをHDLシミュレータ内で完結することができる。
(1) According to the inventions of
(2) Further, according to the invention of
(3) Further, according to the inventions of claims 3, 4 and 6, it is possible to identify and display the simulation result waveform corresponding to any part of the software source.
(4) Further, according to the invention of
(5) Further, according to the invention of claim 4, the process from the designation of the cursor line of any software source to be displayed to the display of the simulation result waveform can be completed in the HDL simulator .
本発明のハードウェア/ソフトウェア協調検証は、HDLシミュレータを使った協調シミュレーションによるものである。以下、図面を参照しながら本発明の実施例を説明するが、本発明は下記の実施例に限定されるものではない。 The hardware / software co-verification of the present invention is based on a co-simulation using an HDL simulator. Hereinafter, examples of the present invention will be described with reference to the drawings, but the present invention is not limited to the following examples.
図1は、本発明の実施例1によるハードウェア/ソフトウェア協調検証装置200の構成を示している。C言語やアセンブラ言語(Assembler Language;アセンブリ言語ともいう)で記述したソフトウェアソース群11をコンパイラ/リンカ12(コンパイルおよびリンクを実行するプログラム)でビルドし、オブジェクトファイル13を生成する。オブジェクトファイル13は、実行コード131(実行ソフトウェア)とデバッグ情報132の2つの要素で構成される。
FIG. 1 shows the configuration of the hardware / software
HDLシミュレータ10には、テストベンチ14(検証のためのシミュレーション環境)として、CPUモデル15と、デバッグ対象ハードウェアであるFPGA(Field Programmable Gate Array)モデル16およびHW(ハードウェア)モデル17が記述されている。
In the
25は、CPUモデル15、FPGAモデル16、HWモデル17を接続するバスモデルである。
CPUモデル15は、CPUの動作を模擬する実機と等価なモデルであり、実行コード131(実行ソフトウェア)を実行して実機のソフトウェアをシミュレーションし、HDLシミュレータはデバッグ対象ハードウェア(FPGAモデル16、HWモデル17)の動作をシミュレーションする。このCPUモデル15は、RTLモデルよりも抽象度が高いビヘイビアモデルを採用する。 The CPU model 15 is a model equivalent to an actual machine that simulates the operation of the CPU, executes the execution code 131 (execution software) to simulate the software of the actual machine, and the HDL simulator is the hardware to be debugged (FPGA model 16, HW). The operation of model 17) is simulated. The CPU model 15 adopts a behavior model having a higher degree of abstraction than the RTL model.
FPGAモデル16は書き換え可能な論理素子を模擬したモデルであり、HWモデル17はハードウェアを模擬したモデルである。 The FPGA model 16 is a model simulating a rewritable logic element, and the HW model 17 is a model simulating hardware.
前記CPUモデル15は、例えば特許文献2に記載の技術を利用して動作速度向上を図る。すなわち、オブジェクトファイル13の実行コード131(実行ソフトウェア)を生成する際に、オブジェクトコードではなくアセンブラプログラムとして作成(アセンブラ命令語の文字列で記述)し、CPUモデル15には、アセンブラ命令語の文字列を解析する文字列解析機能部を設け、該文字列解析機能部で解析されたアセンブラ命令を実行するように構成する。
The CPU model 15 aims to improve the operating speed by using, for example, the technique described in
このように構成することにより、アセンブラ命令語の文字列解析は従来のビットパターン解析と比べて小規模に実現できるため、CPUモデルの処理速度の向上が期待できる。 With this configuration, the character string analysis of the assembler instruction word can be realized on a smaller scale than the conventional bit pattern analysis, so that the processing speed of the CPU model can be expected to be improved.
テストベンチ14のシミュレーション結果は、CPU15のソフトウェア動作とデバッグ対象ハードウェア(FPGAモデル16、HWモデル17)の動作が協調した動作結果となり、シミュレーション結果波形データ18として波形ビューア101(波形表示機能部)に表示される。 The simulation result of the test bench 14 is an operation result in which the software operation of the CPU 15 and the operation of the hardware to be debugged (FPGA model 16 and HW model 17) are coordinated, and the waveform viewer 101 (waveform display function unit) is used as the simulation result waveform data 18. Is displayed in.
波形ビューア101には、シミュレーション前に、観測したい信号群を指定しておく。観測したい信号群には、CPUモデル15の実行アドレスを示すプログラマブルカウンタ(PC)を必ず指定し、シミュレーション期間内の全てのプログラマブルカウンタ(の値)を記録する。 In the waveform viewer 101, a signal group to be observed is specified before the simulation. A programmable counter (PC) indicating the execution address of the CPU model 15 is always specified for the signal group to be observed, and all programmable counters (values) within the simulation period are recorded.
シミュレーション中の任意の箇所(波形ビューア101のカーソルを置いた箇所)のプログラマブルカウンタの値をHDLシミュレータ10の機能によってシミュレーション結果波形データ18から取得し、デバッグ情報132とともにPC→ソースファイル検索機能部19(第1の検索機能部)に入力する。
The value of the programmable counter at an arbitrary place during the simulation (the place where the cursor of the waveform viewer 101 is placed) is acquired from the simulation result waveform data 18 by the function of the
前記デバッグ情報132は、図2に示すように、全命令分の各命令アドレスと、それに該当するソースファイル名および行番号の組で構成される。 As shown in FIG. 2, the debug information 132 is composed of each instruction address for all instructions and a set of a source file name and a line number corresponding thereto.
PC→ソースファイル検索機能部19は図3のように、シミュレーション結果波形データ18から取得したプログラマブルカウンタ(取得PC)の値と、デバッグ情報132内のアドレスと一致するアドレスを検索し、一致したアドレスに該当するソースファイル名と行番号を出力する。 PC → The source file search function unit 19 searches for an address that matches the value of the programmable counter (acquired PC) acquired from the simulation result waveform data 18 and the address in the debug information 132, as shown in FIG. 3, and matches the address. Output the source file name and line number corresponding to.
例えば図3の例では、シミュレーション結果波形データ18から取得したプログラマブルカウンタ(取得PC)の値「1010」が、デバッグ情報132中のアドレス「1010」と一致するので、当該一致したアドレスのソースファイル名「D:¥WORK¥AAA.C」および行番号「35」が出力される。 For example, in the example of FIG. 3, the value "1010" of the programmable counter (acquired PC) acquired from the simulation result waveform data 18 matches the address "1010" in the debug information 132, so that the source file name of the matched address "D: \ WORK \ AAA.C" and the line number "35" are output.
このようにして得られたソースファイル名と行番号を起動オプションとして汎用テキストエディタ20(第1のテキストエディタ機能部)を起動すると、該当ソースファイルを該当行番号箇所(カーソルがある行)で表示することができる。 When the general-purpose text editor 20 (first text editor function unit) is started with the source file name and line number obtained in this way as startup options, the corresponding source file is displayed at the corresponding line number (the line where the cursor is). can do.
上記のように構成されたハードウェア/ソフトウェア協調検証装置200は、例えばコンピュータにより構成され、通常のコンピュータのハードウェアリソース、例えばROM,RAM,CPU、入力装置、出力装置、通信インターフェース、ハードディスク、記録媒体およびその駆動装置を備えている。
The hardware /
このハードウェアリソースとソフトウェアリソース(OS、アプリケーションなど)との協働の結果、ハードウェア/ソフトウェア協調検証装置200は、図1に示すように、コンパイラ/リンカ12、HDLシミュレータ10、PC→ソースファイル検索機能部19、汎用テキストエディタ20を実装する。
As a result of the collaboration between the hardware resource and the software resource (OS, application, etc.), the hardware /
次に、上記のように構成されたハードウェア/ソフトウェア協調検証装置200の動作を説明する。
Next, the operation of the hardware /
HDLシミュレータ10はテストベンチ14をシミュレーションし、シミュレーション結果をシミュレーション結果波形データ18として、内蔵の波形ビューア101に表示する。
The
所望の動作箇所をカーソルで選択し、波形ビューア101に備わるカーソル位置の信号状態を取得する機能を使ってプログラマブルカウンタの値(PC値)を取得する。 A desired operation location is selected with a cursor, and the value (PC value) of the programmable counter is acquired by using the function of acquiring the signal state of the cursor position provided in the waveform viewer 101.
シミュレーション結果波形データ18は、通常のソフトウェア実行だけでなく、組み込みシステムで必須である割り込み動作やダイレクトメモリアクセス(DMA)動作も含み、CPUのソフトウェア実行時間は割り込みやダイレクトメモリアクセスによって変動する。当然プログラマブルカウンタの更新タイミングも連動する。割り込み動作やダイレクトメモリアクセス動作はハードウェア状態によって発生し、テストベンチ14内にCPUモデル15、FPGAモデル16やHWモデル17を含むことによって実現できる。割り込み発生時やDMA動作中など任意箇所のプログラマブルカウンタの値を取得可能なため、組み込みシステムのハードウェアとソフトウェア両方のデバッグに有効となる。 The simulation result waveform data 18 includes not only normal software execution but also interrupt operation and direct memory access (DMA) operation which are indispensable in the embedded system, and the software execution time of the CPU varies depending on the interrupt and direct memory access. Of course, the update timing of the programmable counter is also linked. The interrupt operation and the direct memory access operation are generated depending on the hardware state, and can be realized by including the CPU model 15, FPGA model 16, and HW model 17 in the test bench 14. Since it is possible to acquire the value of the programmable counter at any location such as when an interrupt occurs or during DMA operation, it is effective for debugging both hardware and software of the embedded system.
取得したプログラマブルカウンタの値は、デバッグ情報132とともにPC→ソースファイル検索機能部19に入力する。PC→ソースファイル検索機能部19は、例えば図3のように、取得したプログラマブルカウンタの値(PC値)とデバッグ情報132内のアドレスと一致するアドレスを検索し、一致したアドレスに該当するソースファイル名と行番号を出力する。得られたソースファイル名と行番号を起動オプションとして汎用テキストエディタ20を起動すると、該当ソースファイルを該当行番号箇所(カーソルがある行)で表示することができる。
The acquired programmable counter value is input to the PC → source file search function unit 19 together with the debug information 132. The PC → source file search function unit 19 searches for an address that matches the acquired programmable counter value (PC value) and the address in the debug information 132, as shown in FIG. 3, and the source file corresponding to the matched address. Output the first name and line number. When the general-
さらに、シミュレーション結果波形データ18の所望箇所のプログラマブルカウンタの値に該当するソフトウェアソースを表示後、波形ビューア101に備わる機能を使ってカーソルをプログラマブルカウンタ(PC)の次の変化点に移動させたとき、前述のカーソル位置の信号状態を取得する機能と、PC→ファイル検索機能部19とによって、新たな該当ソースファイル名と行番号を取得し、汎用テキストエディタ20の起動オプションとして再起動することで、表示位置(カーソル位置)を更新することができる。つまり、波形ビューア101のカーソル移動とソフトウェアソースの表示箇所が連動できる。
Further, when the software source corresponding to the value of the programmable counter at the desired location of the simulation result waveform data 18 is displayed and then the cursor is moved to the next change point of the programmable counter (PC) using the function provided in the waveform viewer 101. By using the above-mentioned function to acquire the signal status of the cursor position and the PC → file search function unit 19, a new corresponding source file name and line number are acquired, and the general-
一連の動作例を図4に示す。図4において、波形ビューア101のカーソルを、プログラマブルカウンタ(PC)の変化点(1)(1000番地)から変化点(2)(1002番地)に移動させると、それに連動して、汎用テキストエディタ20のカーソルが1000番地のソース箇所から1002番地のソース箇所に移動する。
A series of operation examples is shown in FIG. In FIG. 4, when the cursor of the waveform viewer 101 is moved from the change point (1) (1000 address) of the programmable counter (PC) to the change point (2) (1002 address), the general-
尚、PC→ソースファイル検索機能部19および汎用テキストエディタ20をHDLシミュレータ10に設けてもよい。好例として、汎用テキストエディタ20に、HDLシミュレータ10内蔵のテキストエディタ機能を使えば、波形ビューア101でのカーソル位置指定から、テキストエディタでのソフトウェアソース表示まで、HDLシミュレータ10内で完結することができる。
The PC → source file search function unit 19 and the general-
以上によって、高価な論理エミュレータを必要とせず、且つシミュレーション結果波形データ18の任意の箇所のプログラマブルカウンタの値に該当するソフトウェアソースを表示することができる。 As described above, it is possible to display the software source corresponding to the value of the programmable counter at any place of the simulation result waveform data 18 without requiring an expensive logic emulator.
本実施例2では、高価な論理エミュレータを必要とせず、HDLシミュレータでハードウェア/ソフトウェア協調検証を行うことができるとともに、実施例1とは逆に、ソフトウェアソースから、その任意箇所に該当するシミュレーション結果波形を特定して表示できるように構成した。 In the second embodiment, hardware / software co-verification can be performed with the HDL simulator without the need for an expensive logic emulator, and contrary to the first embodiment, a simulation corresponding to any part thereof can be performed from the software source. The result waveform can be specified and displayed.
図5は、実施例2によるハードウェア/ソフトウェア協調検証装置300の構成を示しており、図1と同一部分は同一符号をもって示している。
FIG. 5 shows the configuration of the hardware / software
図5において図1と異なる点は、図1のPC→ソースファイル検索機能部19に代えて、汎用テキストエディタ20(第2のテキストエディタ機能部)から取得した、表示ソースファイルのファイル名およびカーソル行番号と、デバッグ情報132内のファイル名および行番号の情報とを入力とし、デバッグ情報132内のファイル名および行番号と、汎用テキストエディタ20から取得した表示ソースファイルのファイル名およびカーソル行番号とが一致する箇所を検索し、一致箇所のアドレスを出力するソースファイル→PC検索機能部30(第2の検索機能部)を設けた点にある。
The difference from FIG. 1 in FIG. 5 is that the file name and cursor of the display source file acquired from the general-purpose text editor 20 (second text editor function unit) instead of the PC → source file search function unit 19 in FIG. Enter the line number and the file name and line number information in the debug information 132, and enter the file name and line number in the debug information 132 and the file name and cursor line number of the display source file obtained from the general-
このソースファイル→PC検索機能部30から出力されたアドレスは、汎用テキストエディタ20に表示されたソースファイルのカーソル箇所に該当する、波形ビューア101のシミュレーション結果波形データ18に指定されたプログラマブルカウンタの値(該当PC値)を示すものである。
The address output from this source file → PC search function unit 30 is the value of the programmable counter specified in the simulation result waveform data 18 of the waveform viewer 101 corresponding to the cursor position of the source file displayed on the general-
波形ビューア101では、自身に備わる検索機能を使用して、波形ビューア101のカーソルを、シミュレーション結果波形データ18内のプログラマブルカウンタの値と、ソースファイル→PC検索機能部30の出力アドレスが示すプログラマブルカウンタの値とが一致する箇所に移動させ、そのシミュレーション結果波形を表示する。これによって、ソフトウェアソースから、その任意箇所に該当するシミュレーション結果波形を特定して表示することができる。 The waveform viewer 101 uses its own search function to move the cursor of the waveform viewer 101 to the programmable counter indicated by the value of the programmable counter in the simulation result waveform data 18 and the output address of the source file → PC search function unit 30. Move to the place where the value of is matched, and display the simulation result waveform. This makes it possible to identify and display the simulation result waveform corresponding to the arbitrary portion from the software source.
図5において、上記以外の部分は図1と同一に構成されている。すなわち、ソフトウェアソース群11をコンパイラ/リンカ12(コンパイルおよびリンクを実行するプログラム)でビルドして、実行コード131(実行ソフトウェア)と、図2に示すデバッグ情報132との2つの要素で構成されるオブジェクトファイル13が生成される。
In FIG. 5, the parts other than the above are configured in the same manner as in FIG. That is, the
HDLシミュレータ10には、テストベンチ14としてCPUモデル15と、デバッグ対象ハードウェアであるFPGAモデル16およびHWモデル17が記述され、CPUモデル15が、実行コード131を実行して実機のソフトウェアをシミュレーションし、HDLシミュレータがデバッグ対象ハードウェア(FPGAモデル16、HWモデル17)の動作をシミュレーションし、そのシミュレーション結果がソフトウェア動作とデバッグ対象ハードウェアの動作が協調した動作結果となり、シミュレーション結果波形データ18として波形ビューア101に表示される。
In the
波形ビューア101では、観測したい信号群に、CPUモデル15の実行アドレスを示すプログラマブルカウンタ(PC)が指定され、シミュレーション期間中の全てのプログラマブルカウンタの値を記録する。 In the waveform viewer 101, a programmable counter (PC) indicating the execution address of the CPU model 15 is designated for the signal group to be observed, and the values of all the programmable counters during the simulation period are recorded.
また、実施例1と同様に、前記CPUモデル15は、例えば特許文献2に記載の技術を利用して動作速度向上を図る。すなわち、オブジェクトファイル13の実行コード131(実行ソフトウェア)を生成する際に、アセンブラプログラムとして作成(アセンブラ命令語の文字列で記述)し、CPUモデル15には、アセンブラ命令語の文字列を解析する文字列解析機能部を設け、該文字列解析機能部で解析されたアセンブラ命令を実行するように構成する。
Further, similarly to the first embodiment, the CPU model 15 aims to improve the operating speed by using, for example, the technique described in
このように構成することにより、アセンブラ命令語の文字列解析は従来のビットパターン解析と比べて小規模に実現できるため、CPUモデルの処理速度の向上が期待できる。 With this configuration, the character string analysis of the assembler instruction word can be realized on a smaller scale than the conventional bit pattern analysis, so that the processing speed of the CPU model can be expected to be improved.
上記のように構成されたハードウェア/ソフトウェア協調検証装置300は、例えばコンピュータにより構成され、通常のコンピュータのハードウェアリソース、例えばROM,RAM,CPU、入力装置、出力装置、通信インターフェース、ハードディスク、記録媒体およびその駆動装置を備えている。
The hardware /
このハードウェアリソースとソフトウェアリソース(OS、アプリケーションなど)との協働の結果、ハードウェア/ソフトウェア協調検証装置300は、図5に示すように、コンパイラ/リンカ12、HDLシミュレータ10、汎用テキストエディタ20、ソースファイル→PC検索機能部30を実装する。
As a result of the collaboration between the hardware resource and the software resource (OS, application, etc.), the hardware /
また、汎用テキストエディタ20およびソースファイル→PC検索機能部30をHDLシミュレータ10に設けてもよい。好例として、汎用テキストエディタ20に、HDLシミュレータ10内蔵のテキストエディタ機能を使えば、テキストエディタでのカーソル位置指定から、波形ビューア101での該当箇所の波形表示まで、HDLシミュレータ10内で完結することができる。
Further, the general-
以上によって、高価な論理エミュレータを必要とせず、且つ汎用テキストエディタ20で表示した任意の箇所のソフトウェアソースに該当する波形ビューア101内のシミュレーション結果波形を表示することができる。
As described above, it is possible to display the simulation result waveform in the waveform viewer 101 corresponding to the software source at any position displayed by the general-
10…HDLシミュレータ
11…ソフトウェアソース群
12…コンパイラ/リンカ
13…オブジェクトファイル
14…テストベンチ
15…CPUモデル
16…FPGAモデル
17…HWモデル
18…シミュレーション結果波形データ
19…PC→ソースファイル検索機能部
20…汎用テキストエディタ
30…ソースファイル→PC検索機能部
101…波形ビューア
131…実行コード
132…デバッグ情報
200、300…ハードウェア/ソフトウェア協調検証装置
10 ...
Claims (6)
CPUモデルは、ソフトウェアソース群から生成された実行ソフトウェアを実行して実機のソフトウェアをシミュレーションし、HDLシミュレータはデバッグ対象ハードウェアの動作をシミュレーションし、前記シミュレーション結果を波形表示機能部に表示し、
ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報と、前記表示されたシミュレーション結果波形データ中の任意箇所のプログラマブルカウンタの値を取得し、取得したプログラマブルカウンタの値とデバッグ情報中のアドレスと一致するアドレスを検索し、一致したアドレスに該当するソースファイル名および行番号を出力する第1の検索機能部と、
前記第1の検索機能部の出力によって起動され、前記該当するソースファイルを該当行番号箇所で表示する第1のテキストエディタ機能部と、を備え、
前記実行ソフトウェアはアセンブラ命令語の文字列で記述され、
前記CPUモデルは、アセンブラ命令語の文字列を解析する文字列解析機能部を備え、該文字列解析機能部で解析されたアセンブラ命令を実行することを特徴とするハードウェア/ソフトウェア協調検証装置。 A CPU model equivalent to an actual machine that simulates the operation of the CPU described as a simulation environment, a hardware model that simulates the hardware to be debugged, and simulation result waveform data of a preset observation signal group are displayed, and the observation is performed. It has an HDL simulator provided with a waveform display function unit that records the value of a programmable counter that indicates the execution address of the CPU model specified in the signal group during the entire simulation period.
The CPU model executes the execution software generated from the software source group to simulate the software of the actual machine, the HDL simulator simulates the operation of the hardware to be debugged, and the simulation result is displayed on the waveform display function unit.
Acquires and acquires the debug information generated from the software source group, which is a set of the instruction address and the corresponding source file name and line number, and the value of the programmable counter at an arbitrary location in the displayed simulation result waveform data. The first search function unit that searches for an address that matches the value of the programmable counter and the address in the debug information and outputs the source file name and line number corresponding to the matched address.
It is provided with a first text editor function unit that is activated by the output of the first search function unit and displays the corresponding source file at the corresponding line number location .
The execution software is described by a character string of assembler instruction words.
The CPU model is a hardware / software cooperative verification device including a character string analysis function unit that analyzes a character string of an assembler instruction word, and executes an assembler instruction analyzed by the character string analysis function unit .
CPUモデルは、ソフトウェアソース群から生成された実行ソフトウェアを実行して実機のソフトウェアをシミュレーションし、HDLシミュレータはデバッグ対象ハードウェアの動作をシミュレーションし、前記シミュレーション結果を波形表示機能部に表示し、
ソフトウェアソース群中の任意のソフトウェアソースを表示し、表示しているソースファイル名とカーソル行番号を取得する第2のテキストエディタ機能部と、
ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報を取得し、取得されたデバッグ情報内のソースファイル名および行番号と、前記第2のテキストエディタ機能部により取得されたソースファイル名およびカーソル行番号とが一致する箇所を検索し、一致箇所のアドレスを出力する第2の検索機能部とを備え、
前記実行ソフトウェアはアセンブラ命令語の文字列で記述され、
前記CPUモデルは、アセンブラ命令語の文字列を解析する文字列解析機能部を備え、該文字列解析機能部で解析されたアセンブラ命令を実行し、
前記波形表示機能部は、前記第2の検索機能部により出力されたアドレスに該当するプログラマブルカウンタの値と波形表示機能部に記録されたプログラマブルカウンタの値が一致する箇所のシミュレーション結果波形を表示することを特徴とするハードウェア/ソフトウェア協調検証装置。 A CPU model equivalent to an actual machine that simulates the operation of the CPU described as a simulation environment, a hardware model that simulates the hardware to be debugged, and simulation result waveform data of a preset observation signal group are displayed, and the observation is performed. It has an HDL simulator provided with a waveform display function unit that records the value of a programmable counter that indicates the execution address of the CPU model specified in the signal group during the entire simulation period.
The CPU model executes the execution software generated from the software source group to simulate the software of the actual machine, the HDL simulator simulates the operation of the hardware to be debugged, and the simulation result is displayed on the waveform display function unit.
A second text editor function unit that displays any software source in the software source group and acquires the displayed source file name and cursor line number,
Acquire debug information that is a set of instruction address and corresponding source file name and line number generated from software source group, and the source file name and line number in the acquired debug information and the second text. It is equipped with a second search function unit that searches for a location that matches the source file name and cursor line number acquired by the editor function unit and outputs the address of the matching location.
The execution software is described by a character string of assembler instruction words.
The CPU model includes a character string analysis function unit that analyzes a character string of an assembler instruction word, executes an assembler instruction analyzed by the character string analysis function unit, and executes the assembler instruction.
The waveform display function unit displays a simulation result waveform at a location where the value of the programmable counter corresponding to the address output by the second search function unit and the value of the programmable counter recorded in the waveform display function unit match. A hardware / software co-verification device characterized by this.
前記HDLシミュレータは、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備え、
前記HDLシミュレータが、ソフトウェアソース群から生成された実行ソフトウェアをCPUモデルによって実行して実機のソフトウェアをシミュレーションするとともに、デバッグ対象ハードウェアの動作をシミュレーションするステップと、
前記波形表示機能部が、前記シミュレーション結果を表示するステップと、
ハードウェア/ソフトウェア協調検証装置の第1の検索機能部が、ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報と、前記表示されたシミュレーション結果波形データ中の任意箇所のプログラマブルカウンタの値を取得し、取得したプログラマブルカウンタの値とデバッグ情報中のアドレスと一致するアドレスを検索し、一致したアドレスに該当するソースファイル名および行番号を出力するステップと、
ハードウェア/ソフトウェア協調検証装置の第1のテキストエディタ機能部が、前記第1の検索機能部の出力によって起動し、前記該当するソースファイルを該当行番号箇所で表示するステップと、を備え、
前記実行ソフトウェアはアセンブラ命令語の文字列で記述され、
前記CPUモデルの文字列解析機能部が、前記アセンブラ命令語の文字列を解析するステップと、
CPUモデルが前記解析されたアセンブラ命令を実行するステップと、
を備えたことを特徴とするハードウェア/ソフトウェア協調検証方法。 A hardware / software co-verification method equipped with an HDL simulator.
The HDL simulator creates a CPU model equivalent to an actual machine that simulates the operation of the CPU, a hardware model that simulates the hardware to be debugged, and simulation result waveform data of a preset observation signal group, which is described as a simulation environment. It is equipped with a waveform display function unit that displays and records the value of the programmable counter that indicates the execution address of the CPU model specified in the observation signal group during the entire simulation period.
The HDL simulator executes the execution software generated from the software source group by the CPU model to simulate the software of the actual machine, and also simulates the operation of the hardware to be debugged.
A step in which the waveform display function unit displays the simulation result,
The first search function unit of the hardware / software co-verification device performs debug information generated from the software source group as a set of the instruction address and the corresponding source file name and line number, and the displayed simulation result. Acquires the value of the programmable counter at any location in the waveform data, searches for the address that matches the acquired programmable counter value and the address in the debug information, and outputs the source file name and line number corresponding to the matched address. Steps and
The first text editor function unit of the hardware / software co-verification device is activated by the output of the first search function unit, and includes a step of displaying the corresponding source file at the corresponding line number .
The execution software is described by a character string of assembler instruction words.
A step in which the character string analysis function unit of the CPU model analyzes the character string of the assembler instruction word,
The step in which the CPU model executes the parsed assembler instruction,
A hardware / software co-verification method characterized by being equipped with .
前記HDLシミュレータは、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備え、
前記HDLシミュレータが、ソフトウェアソース群から生成された実行ソフトウェアをCPUモデルによって実行して実機のソフトウェアをシミュレーションするとともに、デバッグ対象ハードウェアの動作をシミュレーションするステップと、
ハードウェア/ソフトウェア協調検証装置の第2のテキストエディタ機能部が、ソフトウェアソース群中の任意のソフトウェアソースを表示し、表示しているソースファイル名とカーソル行番号を取得するステップと、
ハードウェア/ソフトウェア協調検証装置の第2の検索機能部が、ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報を取得し、取得されたデバッグ情報内のソースファイル名および行番号と、前記第2のテキストエディタ機能部により取得されたソースファイル名およびカーソル行番号とが一致する箇所を検索し、一致箇所のアドレスを出力するステップと、
前記波形表示機能部が、前記第2の検索機能部により出力されたアドレスに該当するプログラマブルカウンタの値と波形表示機能部に記録されたプログラマブルカウンタの値が一致する箇所のシミュレーション結果波形を表示するステップと、を備え、
前記実行ソフトウェアはアセンブラ命令語の文字列で記述され、
前記CPUモデルの文字列解析機能部が、前記アセンブラ命令語の文字列を解析するステップと、
CPUモデルが前記解析されたアセンブラ命令を実行するステップと、
を備えたことを特徴とするハードウェア/ソフトウェア協調検証方法。 A hardware / software co-verification method equipped with an HDL simulator.
The HDL simulator creates a CPU model equivalent to an actual machine that simulates the operation of the CPU, a hardware model that simulates the hardware to be debugged, and simulation result waveform data of a preset observation signal group, which is described as a simulation environment. It is equipped with a waveform display function unit that displays and records the value of the programmable counter that indicates the execution address of the CPU model specified in the observation signal group during the entire simulation period.
The HDL simulator executes the execution software generated from the software source group by the CPU model to simulate the software of the actual machine, and also simulates the operation of the hardware to be debugged.
The step that the second text editor function part of the hardware / software co-verification device displays any software source in the software source group and acquires the displayed source file name and cursor line number,
The second search function unit of the hardware / software co-verification device acquires the debug information generated from the software source group, which is a set of the instruction address and the corresponding source file name and line number, and the acquired debug. A step of searching for a location where the source file name and line number in the information match the source file name and cursor line number acquired by the second text editor function unit, and outputting the address of the matching location.
The waveform display function unit displays a simulation result waveform at a location where the value of the programmable counter corresponding to the address output by the second search function unit and the value of the programmable counter recorded in the waveform display function unit match. With steps ,
The execution software is described by a character string of assembler instruction words.
A step in which the character string analysis function unit of the CPU model analyzes the character string of the assembler instruction word,
The step in which the CPU model executes the parsed assembler instruction,
A hardware / software co-verification method characterized by being equipped with .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016045119A JP6763153B2 (en) | 2016-03-09 | 2016-03-09 | Hardware / software co-verification device and hardware / software co-verification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016045119A JP6763153B2 (en) | 2016-03-09 | 2016-03-09 | Hardware / software co-verification device and hardware / software co-verification method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017162130A JP2017162130A (en) | 2017-09-14 |
JP6763153B2 true JP6763153B2 (en) | 2020-09-30 |
Family
ID=59854158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016045119A Active JP6763153B2 (en) | 2016-03-09 | 2016-03-09 | Hardware / software co-verification device and hardware / software co-verification method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6763153B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950212B (en) * | 2020-08-13 | 2024-04-26 | 湖南进芯电子科技有限公司 | Efficient multi-mode verification platform and method |
CN114936062B (en) * | 2021-12-09 | 2024-01-30 | 腾讯科技(深圳)有限公司 | Method, device, equipment, system and storage medium for automatic debugging of equipment |
WO2023127185A1 (en) * | 2021-12-28 | 2023-07-06 | 三菱電機ソフトウエア株式会社 | Operation verification system and operation verification device |
JP7209134B1 (en) * | 2021-12-28 | 2023-01-19 | 三菱電機ソフトウエア株式会社 | Operation verification system and operation verification device |
-
2016
- 2016-03-09 JP JP2016045119A patent/JP6763153B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017162130A (en) | 2017-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2795244B2 (en) | Program debugging system | |
US8180620B2 (en) | Apparatus and method for performing hardware and software co-verification testing | |
JP6763153B2 (en) | Hardware / software co-verification device and hardware / software co-verification method | |
US20110283247A1 (en) | Method of recording and replaying call frames for the testbench | |
EP1913410B1 (en) | Method and system for debug and test using replicated logic | |
US10019337B2 (en) | Class object handle tracking | |
US7409602B2 (en) | Methodology for debugging RTL simulations of processor based system on chip | |
JPH07230484A (en) | Limited-state machine-transition analyzer | |
US20110289373A1 (en) | Electornic Design Emulation Display Tool | |
JP6600011B2 (en) | Efficient waveform generation for emulation | |
JP2017084082A (en) | Simulation device, test scenario file creation method, and test method using test scenario file | |
US20160357890A1 (en) | Verification Log Analysis | |
CN109726063B (en) | Automatic judgment method for Verilog-based MIPS processor | |
JP7036814B2 (en) | Debugging system and method | |
US10802852B1 (en) | Method for interactive embedded software debugging through the control of simulation tracing components | |
US20200074040A1 (en) | Hierarchical expression coverage clustering for design verification | |
US9280627B1 (en) | GUI based verification at multiple abstraction levels | |
US10579761B1 (en) | Method and system for reconstructing a graph presentation of a previously executed verification test | |
US10816600B1 (en) | Protocol analysis and visualization during simulation | |
Roesler et al. | Debug methods for hybrid CPU/FPGA systems | |
Hazott et al. | DSA monitoring framework for HW/SW partitioning of application kernels leveraging VPs | |
JP5120103B2 (en) | Debugging method and debugging program | |
US10650174B1 (en) | System and method for visualizing event sequences for expressions using both hardware and software state information | |
JP2007052783A (en) | Simulation of data processor | |
US20060178863A1 (en) | Combining and representing signals of a hardware simulation device and elements of a program listing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200303 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200423 |
|
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: 20200811 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200824 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6763153 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |