JP2017162130A - Hardware/software cooperative verification device and hardware/software cooperative verification method - Google Patents
Hardware/software cooperative verification device and hardware/software cooperative verification method Download PDFInfo
- Publication number
- JP2017162130A JP2017162130A JP2016045119A JP2016045119A JP2017162130A JP 2017162130 A JP2017162130 A JP 2017162130A JP 2016045119 A JP2016045119 A JP 2016045119A JP 2016045119 A JP2016045119 A JP 2016045119A JP 2017162130 A JP2017162130 A JP 2017162130A
- Authority
- JP
- Japan
- Prior art keywords
- software
- hardware
- function unit
- address
- line number
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、組み込み分野のデジタルシステム(組み込みシステム;Embedded System)におけるデジタル回路とソフトウェアの協調シミュレーションに関する。 The present invention relates to co-simulation of digital circuits and software in a digital system (embedded system) in the embedded field.
組み込み分野のデジタルシステムは、CPUを含むハードウェア回路とCPUが実行するソフトウェアで構成される。組み込み分野のデジタルシステムの開発期間短縮や品質向上には、実機製作前にCPUを含むハードウェア回路とCPUが実行するソフトウェアを協調してデバッグを行うハードウェア/ソフトウェア協調検証が有効である。 A digital system in the embedded field includes a hardware circuit including a CPU and software executed by the CPU. For shortening the development period and improving the quality of digital systems in the embedded field, hardware / software co-verification is effective, in which a hardware circuit including a CPU and software executed by the CPU are debugged before the actual machine is manufactured.
協調検証には、HDL(Hardware Description Language;ハードウェア記述言語)シミュレータを使う協調シミュレーションと、論理エミュレータを使う協調エミュレーションの2種類がある。 There are two types of collaborative verification: collaborative simulation using an HDL (Hardware Description Language) simulator and collaborative emulation using a logic emulator.
HDLシミュレータを使う協調シミュレーションは、CPUを含むハードウェア回路を全てHDLシミュレータに取り込んでデバッグを行う。一方、論理エミュレータを使う協調エミュレーションはハードウェア回路を論理エミュレータに取り込んでデバッグを行う。 In the co-simulation using the HDL simulator, all the hardware circuits including the CPU are taken into the HDL simulator for debugging. On the other hand, co-emulation using a logic emulator takes a hardware circuit into the logic emulator and performs debugging.
尚、論理エミュレータを使う協調エミュレーションの一例として、特許文献1に記載のものが存在する。
An example of cooperative emulation using a logic emulator is described in
また、本発明で利用する、実行ソフトウェアに記述されたアセンブラ命令語の文字列を解析する技術は特許文献2に記載されている。
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シミュレータを使う協調シミュレーションに比べて動作が高速という利点があるが、論理エミュレータが非常に高価という欠点がある。 The co-emulation using a logic emulator has the advantage that the operation is faster than the co-simulation using an HDL simulator, but has the disadvantage that the logic emulator is very expensive.
特許文献1では、CPUを含むハードウェア回路を全て論理エミュレータに取り込んだ協調エミュレーションでの方式である。しかし、CPUは実機と同じRTL(Register Transfer Level)レベルのものを使うため、動作速度低下の一因になる。 Japanese Patent Application Laid-Open No. 2005-228561 is a cooperative emulation method in which all hardware circuits including a CPU are incorporated in a logic emulator. However, since the CPU uses the same RTL (Register Transfer Level) level as the actual machine, it contributes to a decrease in the operation speed.
ハードウェア/ソフトウェア協調検証は、文字通りハードウェアの動作とソフトウェアの動作を協調してデバッグを行う。それぞれの協調した動作は波形ビューアで観測できるが、実行箇所のソフトウェアソースは見ることができない。 Hardware / software co-verification literally performs debugging by coordinating hardware and software operations. Each coordinated operation can be observed with the waveform viewer, but the execution source software source cannot be seen.
この解決策として前述の特許文献1では、ソフトウェアを実行するCPUモデルのプログラマブルカウンタ(PC)の値からソフトウェアソースの実行箇所を特定し、特定箇所のソフトウェアソースを表示する仕組みを有している。
As a solution to this problem, the above-described
しかし特許文献1は、プログラマブルカウンタの値の取得をブレークポイントなどイベント時に限定されているため、任意の箇所のソース表示はできない。
However, in
また逆に、ソフトウェアソースから、ハードウェアの動作とソフトウェア動作の協調した動作波形を特定し表示する仕組みは有していない。 Conversely, there is no mechanism for identifying and displaying an operation waveform in which hardware operation and software operation are coordinated from a software source.
本発明は上記課題を解決するものであり、その目的は、高価な論理エミュレータを必要とせず、HDLシミュレータによってハードウェア/ソフトウェア協調検証を行うことができる装置および方法を提供することにある。 The present invention solves the above-described problems, and an object of the present invention is to provide an apparatus and method that can perform hardware / software co-verification using an HDL simulator without requiring an expensive logic emulator.
上記課題を解決するための請求項1に記載のハードウェア/ソフトウェア協調検証装置は、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備えたHDLシミュレータを有し、
CPUモデルは、ソフトウェアソース群から生成された実行ソフトウェアを実行して実機のソフトウェアをシミュレーションし、HDLシミュレータはデバッグ対象ハードウェアの動作をシミュレーションし、前記シミュレーション結果を波形表示機能部に表示し、
ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報と、前記表示されたシミュレーション結果波形データ中の任意箇所のプログラマブルカウンタの値を取得し、取得したプログラマブルカウンタの値とデバッグ情報中のアドレスと一致するアドレスを検索し、一致したアドレスに該当するソースファイル名および行番号を出力する第1の検索機能部と、
前記第1の検索機能部の出力によって起動され、前記該当するソースファイルを該当行番号箇所で表示する第1のテキストエディタ機能部と、を備えたことを特徴としている。
The hardware / software co-verification apparatus 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 displays the simulation result on the waveform display function unit.
Acquires and acquires the debug information generated from the software source group, including the instruction address, the corresponding source file name and line number, and the value of the programmable counter at any location in the displayed simulation result waveform data. A first search function unit that searches for an address that matches the address 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;
And 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.
また、請求項2に記載のハードウェア/ソフトウェア協調検証装置は、請求項1において、前記第1の検索機能部および第1のテキストエディタ機能部は、前記HDLシミュレータに設けられていることを特徴としている。
The hardware / software co-verification device according to
また、請求項3に記載のハードウェア/ソフトウェア協調検証装置は、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備えたHDLシミュレータを有し、
CPUモデルは、ソフトウェアソース群から生成された実行ソフトウェアを実行して実機のソフトウェアをシミュレーションし、HDLシミュレータはデバッグ対象ハードウェアの動作をシミュレーションし、前記シミュレーション結果を波形表示機能部に表示し、
ソフトウェアソース群中の任意のソフトウェアソースを表示し、表示しているソースファイル名とカーソル行番号を取得する第2のテキストエディタ機能部と、
ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報を取得し、取得されたデバッグ情報内のソースファイル名および行番号と、前記第2のテキストエディタ機能部により取得されたソースファイル名およびカーソル行番号とが一致する箇所を検索し、一致箇所のアドレスを出力する第2の検索機能部とを備え、
前記波形表示機能部は、前記第2の検索機能部により出力されたアドレスに該当するプログラマブルカウンタの値と波形表示機能部に記録されたプログラマブルカウンタの値が一致する箇所のシミュレーション結果波形を表示することを特徴としている。
The hardware / software co-verification device according to claim 3 is a simulation model described as a CPU model equivalent to a real machine that simulates the operation of a CPU, a hardware model that simulates hardware to be debugged, A waveform display function unit for displaying the simulation result waveform data of the observation signal group set in advance, and recording the value of the programmable counter designated for the observation signal group and indicating the execution address of the CPU model during the entire simulation period; An HDL simulator with
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 displays the simulation result on the waveform display function unit.
A second text editor function unit for displaying an arbitrary software source in the software source group and acquiring the displayed source file name and cursor line number;
Debug information generated from the software source group, which includes an instruction address and a corresponding source file name and line number, is acquired, and the source file name and line number in the acquired debug information and the second text A second search function unit that searches for a location where the source file name and the cursor line number acquired by the editor function unit match and outputs the address of the match 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 matches the value of the programmable counter recorded in the waveform display function unit. It is characterized by that.
また、請求項4に記載のハードウェア/ソフトウェア協調検証装置は、請求項3において、前記第2の検索機能部および第2のテキストエディタ機能部は、前記HDLシミュレータに設けられていることを特徴としている。 According to a fourth aspect of the present invention, there is provided the hardware / software co-verification device according to the third aspect, wherein the second search function unit and the second text editor function unit are provided in the HDL simulator. It is said.
また、請求項5に記載のハードウェア/ソフトウェア協調検証装置は、請求項1ないし4のいずれか1項において、前記実行ソフトウェアはアセンブラ命令語の文字列で記述され、前記CPUモデルは、アセンブラ命令語の文字列を解析する文字列解析機能部を備え、該文字列解析機能部で解析されたアセンブラ命令を実行することを特徴としている。
The hardware / software co-verification device according to claim 5 is the hardware / software co-verification device according to any one of
また、請求項6に記載のハードウェア/ソフトウェア協調検証方法は、HDLシミュレータを備えたハードウェア/ソフトウェア協調検証方法であって、
前記HDLシミュレータは、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備え、
前記HDLシミュレータが、ソフトウェアソース群から生成された実行ソフトウェアをCPUモデルによって実行して実機のソフトウェアをシミュレーションするとともに、デバッグ対象ハードウェアの動作をシミュレーションするステップと、
前記波形表示機能部が、前記シミュレーション結果を表示するステップと、
ハードウェア/ソフトウェア協調検証装置の第1の検索機能部が、ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報と、前記表示されたシミュレーション結果波形データ中の任意箇所のプログラマブルカウンタの値を取得し、取得したプログラマブルカウンタの値とデバッグ情報中のアドレスと一致するアドレスを検索し、一致したアドレスに該当するソースファイル名および行番号を出力するステップと、
ハードウェア/ソフトウェア協調検証装置の第1のテキストエディタ機能部が、前記第1の検索機能部の出力によって起動し、前記該当するソースファイルを該当行番号箇所で表示するステップと、を備えたことを特徴としている。
A hardware / software co-verification method according to claim 6 is a hardware / software co-verification method including an HDL simulator,
The HDL simulator includes a CPU model that is described as a simulation environment and that is equivalent to a real 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. A waveform display function unit for displaying and recording a value of a programmable counter indicating an execution address of a 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 using the CPU model to simulate the actual software, and simulates the operation of the hardware to be debugged;
The waveform display function unit displaying the simulation result;
The first search function unit of the hardware / software co-verification apparatus generates debug information including a combination of an instruction address, a corresponding source file name, and a line number generated from the software source group, 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,
The first text editor function unit of the hardware / software co-verification apparatus is activated by the output of the first search function unit, and includes the step of displaying the corresponding source file at the corresponding line number location. It is characterized by.
また、請求項7に記載のハードウェア/ソフトウェア協調検証方法は、HDLシミュレータを備えたハードウェア/ソフトウェア協調検証方法であって、
前記HDLシミュレータは、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備え、
前記HDLシミュレータが、ソフトウェアソース群から生成された実行ソフトウェアをCPUモデルによって実行して実機のソフトウェアをシミュレーションするとともに、デバッグ対象ハードウェアの動作をシミュレーションするステップと、
ハードウェア/ソフトウェア協調検証装置の第2のテキストエディタ機能部が、ソフトウェアソース群中の任意のソフトウェアソースを表示し、表示しているソースファイル名とカーソル行番号を取得するステップと、
ハードウェア/ソフトウェア協調検証装置の第2の検索機能部が、ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報を取得し、取得されたデバッグ情報内のソースファイル名および行番号と、前記第2のテキストエディタ機能部により取得されたソースファイル名およびカーソル行番号とが一致する箇所を検索し、一致箇所のアドレスを出力するステップと、
前記波形表示機能部が、前記第2の検索機能部により出力されたアドレスに該当するプログラマブルカウンタの値と波形表示機能部に記録されたプログラマブルカウンタの値が一致する箇所のシミュレーション結果波形を表示するステップと、を備えたことを特徴としている。
A hardware / software co-verification method according to claim 7 is a hardware / software co-verification method including an HDL simulator,
The HDL simulator includes a CPU model that is described as a simulation environment and that is equivalent to a real 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. A waveform display function unit for displaying and recording a value of a programmable counter indicating an execution address of a 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 using the CPU model to simulate the actual software, and simulates the operation of the hardware to be debugged;
A second text editor function unit of the hardware / software co-verification apparatus displaying an arbitrary software source in the software source group and acquiring the displayed source file name and cursor line number;
The second search function unit of the hardware / software co-verification apparatus acquires debug information generated from the software source group and including the instruction address, the corresponding source file name and the line number, and the acquired debug 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 programmable counter value corresponding to the address output by the second search function unit matches the programmable counter value recorded in the waveform display function unit. And a step.
また、請求項8に記載のハードウェア/ソフトウェア協調検証方法は、請求項6又は7において、前記実行ソフトウェアはアセンブラ命令語の文字列で記述され、前記CPUモデルの文字列解析機能部が、前記アセンブラ命令語の文字列を解析するステップと、CPUモデルが前記解析されたアセンブラ命令を実行するステップと、を備えたことを特徴としている。 The hardware / software co-verification method according to claim 8 is the hardware / software co-verification method according to claim 6, wherein the execution software is described by a character string of an assembler instruction word, and the character string analysis function unit of the CPU model The method includes a step of analyzing a character string of an assembler instruction word, and a step of executing a assembler instruction analyzed by the CPU model.
上記構成によれば、HDLシミュレータにシミュレーション環境(テストベンチ)としてのCPUモデルとハードウェアモデルを記述し、CPUモデルが、ソフトウェアソース群から生成された実行ソフトウェアを実行して実機のソフトウェアをシミュレーションし、HDLシミュレータがデバッグ対象ハードウェアの動作をシミュレーションするように構成したので、高価な論理エミュレータを必要とせず、HDLシミュレータでハードウェア/ソフトウェア協調検証を行うことができる。 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 and simulates the actual software. 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 requiring an expensive logic emulator.
また、請求項1、2、6の構成によれば、第1の検索機能部および第1のテキストエディタ機能部の動作によって、波形表示機能部に表示している任意のシミュレーション結果波形の箇所のプログラマブルカウンタの値に該当するソフトウェアソースを表示することができる。
Moreover, according to the structure of
また、請求項3、4、7の構成によれば、第2の検索機能部および第2のテキストエディタ機能部の動作によって、ソフトウェアソースの任意の箇所に該当するシミュレーション結果波形を特定し表示することができる。 According to the third, fourth, and seventh aspects, the simulation result waveform corresponding to an arbitrary location of the software source is specified and displayed by the operations of the second search function unit and the second text editor function unit. be able to.
また、請求項2によれば、波形表示機能に表示されたシミュレーション結果波形データ中の任意箇所の指定から、ソースファイルの表示までをHDLシミュレータ内で完結することができる。
According to
また、請求項4によれば、表示している任意のソフトウェアソースのカーソル行の指定から、シミュレーション結果波形の表示までをHDLシミュレータ内で完結することができる。 According to claim 4, it is possible to complete in the HDL simulator from the designation of the cursor line of an arbitrary software source being displayed to the display of the simulation result waveform.
また、請求項5、8によれば、CPUモデルの実行ソフトウェアをアセンブラ命令語の文字列を解析し実行するので、動作速度が向上する。 According to the fifth and eighth aspects of the present invention, since the CPU model execution software is executed by analyzing the character string of the assembler instruction word, the operation speed is improved.
(1)請求項1〜8に記載の発明によれば、高価な論理エミュレータを必要とせず、HDLシミュレータでハードウェア/ソフトウェア協調検証を行うことができる。
(2)また、請求項1、2、6に記載の発明によれば、波形表示機能部に表示している任意のシミュレーション結果波形の箇所のプログラマブルカウンタの値に該当するソフトウェアソースを表示することができる。
(3)また、請求項3、4、7に記載の発明によれば、ソフトウェアソースの任意の箇所に該当するシミュレーション結果波形を特定し表示することができる。
(4)また、請求項2に記載の発明によれば、波形表示機能に表示されたシミュレーション結果波形データ中の任意箇所の指定から、ソースファイルの表示までをHDLシミュレータ内で完結することができる。
(5)また、請求項4に記載の発明によれば、表示している任意のソフトウェアソースのカーソル行の指定から、シミュレーション結果波形の表示までをHDLシミュレータ内で完結することができる。
(6)また、請求項5、8に記載の発明によれば、動作速度を向上させることができる。
(1) According to the first to eighth aspects of the invention, hardware / software co-verification can be performed with an HDL simulator without requiring an expensive logic emulator.
(2) According to the invention described in
(3) Moreover, according to the invention of Claim 3, 4, 7, the simulation result waveform applicable to the arbitrary locations of a software source can be specified and displayed.
(4) According to the invention described in
(5) According to the invention described in claim 4, from the designation of the cursor line of an arbitrary software source being displayed to the display of the simulation result waveform can be completed within the HDL simulator.
(6) According to the inventions described in claims 5 and 8, the operation speed can be improved.
本発明のハードウェア/ソフトウェア協調検証は、HDLシミュレータを使った協調シミュレーションによるものである。以下、図面を参照しながら本発明の実施例を説明するが、本発明は下記の実施例に限定されるものではない。 The hardware / software co-verification of the present invention is based on a co-simulation using an HDL simulator. Examples of the present invention will be described below 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 a hardware /
HDLシミュレータ10には、テストベンチ14(検証のためのシミュレーション環境)として、CPUモデル15と、デバッグ対象ハードウェアであるFPGA(Field Programmable Gate Array)モデル16およびHW(ハードウェア)モデル17が記述されている。 In the HDL simulator 10, a CPU model 15, an FPGA (Field Programmable Gate Array) model 16 and an HW (hardware) model 17 that are hardware to be debugged are described as a test bench 14 (simulation environment for verification). ing.
25は、CPUモデル15、FPGAモデル16、HWモデル17を接続するバスモデルである。
A
CPUモデル15は、CPUの動作を模擬する実機と等価なモデルであり、実行コード131(実行ソフトウェア)を実行して実機のソフトウェアをシミュレーションし、HDLシミュレータはデバッグ対象ハードウェア(FPGAモデル16、HWモデル17)の動作をシミュレーションする。このCPUモデル15は、RTLモデルよりも抽象度が高いビヘイビアモデルを採用する。 The CPU model 15 is a model equivalent to a real machine that simulates the operation of the CPU, and executes the execution code 131 (execution software) to simulate the software of the real machine. The HDL simulator uses the hardware to be debugged (FPGA model 16, HW). The operation of model 17) is simulated. The CPU model 15 employs a behavior model having a higher abstraction level than the RTL model.
FPGAモデル16は書き換え可能な論理素子を模擬したモデルであり、HWモデル17はハードウェアを模擬したモデルである。 The FPGA model 16 is a model that simulates a rewritable logic element, and the HW model 17 is a model that simulates hardware.
前記CPUモデル15は、例えば特許文献2に記載の技術を利用して動作速度向上を図る。すなわち、オブジェクトファイル13の実行コード131(実行ソフトウェア)を生成する際に、オブジェクトコードではなくアセンブラプログラムとして作成(アセンブラ命令語の文字列で記述)し、CPUモデル15には、アセンブラ命令語の文字列を解析する文字列解析機能部を設け、該文字列解析機能部で解析されたアセンブラ命令を実行するように構成する。
The CPU model 15 uses the technique described in
このように構成することにより、アセンブラ命令語の文字列解析は従来のビットパターン解析と比べて小規模に実現できるため、CPUモデルの処理速度の向上が期待できる。 By configuring in this way, the character string analysis of the assembler instruction word can be realized on a small scale as compared with 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) cooperate, and the waveform viewer 101 (waveform display function unit) is obtained as simulation result waveform data 18. Is displayed.
波形ビューア101には、シミュレーション前に、観測したい信号群を指定しておく。観測したい信号群には、CPUモデル15の実行アドレスを示すプログラマブルカウンタ(PC)を必ず指定し、シミュレーション期間内の全てのプログラマブルカウンタ(の値)を記録する。 In the waveform viewer 101, a signal group to be observed is designated before the simulation. For the signal group to be observed, a programmable counter (PC) indicating the execution address of the CPU model 15 is always specified, 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 position in the simulation (the position where the cursor of the waveform viewer 101 is placed) is acquired from the simulation result waveform data 18 by the function of the HDL simulator 10 and is stored in the PC → source file search function unit 19 together with the debug information 132. Input to (first search function unit).
前記デバッグ情報132は、図2に示すように、全命令分の各命令アドレスと、それに該当するソースファイル名および行番号の組で構成される。 As shown in FIG. 2, the debug information 132 is composed of a set of each instruction address for all instructions, and a corresponding source file name and line number.
PC→ソースファイル検索機能部19は図3のように、シミュレーション結果波形データ18から取得したプログラマブルカウンタ(取得PC)の値と、デバッグ情報132内のアドレスと一致するアドレスを検索し、一致したアドレスに該当するソースファイル名と行番号を出力する。 As shown in FIG. 3, the PC → 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, 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, since 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, the source file name of the matched address “D: ¥ WORK ¥ AAA.C” and line number “35” are output.
このようにして得られたソースファイル名と行番号を起動オプションとして汎用テキストエディタ20(第1のテキストエディタ機能部)を起動すると、該当ソースファイルを該当行番号箇所(カーソルがある行)で表示することができる。 When the general-purpose text editor 20 (first text editor function unit) is activated using the source file name and line number obtained in this way as activation options, the corresponding source file is displayed at the corresponding line number (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 cooperation 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 HDL simulator 10 simulates the test bench 14 and displays the simulation result on the built-in waveform viewer 101 as simulation result waveform data 18.
所望の動作箇所をカーソルで選択し、波形ビューア101に備わるカーソル位置の信号状態を取得する機能を使ってプログラマブルカウンタの値(PC値)を取得する。 A desired operation location is selected with the cursor, and the value (PC value) of the programmable counter is acquired using the function of acquiring the signal state at 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 that are essential in an 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. Interrupt operations and direct memory access operations occur 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 the value of the programmable counter at any location such as when an interrupt occurs or during DMA operation can be acquired, it is effective for debugging both hardware and software of an 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. For example, as shown in FIG. 3, 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, and the source file corresponding to the matched address. Print name and line number. When the general-
さらに、シミュレーション結果波形データ18の所望箇所のプログラマブルカウンタの値に該当するソフトウェアソースを表示後、波形ビューア101に備わる機能を使ってカーソルをプログラマブルカウンタ(PC)の次の変化点に移動させたとき、前述のカーソル位置の信号状態を取得する機能と、PC→ファイル検索機能部19とによって、新たな該当ソースファイル名と行番号を取得し、汎用テキストエディタ20の起動オプションとして再起動することで、表示位置(カーソル位置)を更新することができる。つまり、波形ビューア101のカーソル移動とソフトウェアソースの表示箇所が連動できる。
Furthermore, after displaying the software source corresponding to the value of the programmable counter at the desired location in the simulation result waveform data 18, the cursor is moved to the next change point of the programmable counter (PC) using the function provided in the waveform viewer 101. The new source file name and line number are acquired by the function for acquiring the signal state at the cursor position and the PC → file search function unit 19 and restarted as a startup option of 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) (address 1000) of the programmable counter (PC) to the change point (2) (address 1002), the general-
尚、PC→ソースファイル検索機能部19および汎用テキストエディタ20をHDLシミュレータ10に設けてもよい。好例として、汎用テキストエディタ20に、HDLシミュレータ10内蔵のテキストエディタ機能を使えば、波形ビューア101でのカーソル位置指定から、テキストエディタでのソフトウェアソース表示まで、HDLシミュレータ10内で完結することができる。
Note that the PC → source file search function unit 19 and the general-
以上によって、高価な論理エミュレータを必要とせず、且つシミュレーション結果波形データ18の任意の箇所のプログラマブルカウンタの値に該当するソフトウェアソースを表示することができる。 As described above, an expensive logic emulator is not required, and the software source corresponding to the value of the programmable counter at an arbitrary position of the simulation result waveform data 18 can be displayed.
本実施例2では、高価な論理エミュレータを必要とせず、HDLシミュレータでハードウェア/ソフトウェア協調検証を行うことができるとともに、実施例1とは逆に、ソフトウェアソースから、その任意箇所に該当するシミュレーション結果波形を特定して表示できるように構成した。 In the second embodiment, hardware / software co-verification can be performed with an HDL simulator without requiring an expensive logic emulator. In contrast to the first embodiment, a simulation corresponding to an arbitrary location from a software source is possible. The result waveform can be specified and displayed.
図5は、実施例2によるハードウェア/ソフトウェア協調検証装置300の構成を示しており、図1と同一部分は同一符号をもって示している。
FIG. 5 shows the configuration of the hardware /
図5において図1と異なる点は、図1のPC→ソースファイル検索機能部19に代えて、汎用テキストエディタ20(第2のテキストエディタ機能部)から取得した、表示ソースファイルのファイル名およびカーソル行番号と、デバッグ情報132内のファイル名および行番号の情報とを入力とし、デバッグ情報132内のファイル名および行番号と、汎用テキストエディタ20から取得した表示ソースファイルのファイル名およびカーソル行番号とが一致する箇所を検索し、一致箇所のアドレスを出力するソースファイル→PC検索機能部30(第2の検索機能部)を設けた点にある。 5 differs from FIG. 1 in that the file name and cursor of the display source file obtained from the general-purpose text editor 20 (second text editor function unit) instead of the PC → source file search function unit 19 in FIG. Using the line number and the file name and line number information in the debug information 132 as input, 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-purpose text editor 20 A source file → PC search function unit 30 (second search function unit) that searches for a location that matches and outputs an address of the match location is provided.
このソースファイル→PC検索機能部30から出力されたアドレスは、汎用テキストエディタ20に表示されたソースファイルのカーソル箇所に該当する、波形ビューア101のシミュレーション結果波形データ18に指定されたプログラマブルカウンタの値(該当PC値)を示すものである。
The address output from the source file → PC search function unit 30 corresponds to the cursor position of the source file displayed in the general-
波形ビューア101では、自身に備わる検索機能を使用して、波形ビューア101のカーソルを、シミュレーション結果波形データ18内のプログラマブルカウンタの値と、ソースファイル→PC検索機能部30の出力アドレスが示すプログラマブルカウンタの値とが一致する箇所に移動させ、そのシミュレーション結果波形を表示する。これによって、ソフトウェアソースから、その任意箇所に該当するシミュレーション結果波形を特定して表示することができる。 In the waveform viewer 101, the search function provided in itself is used to set the cursor of the waveform viewer 101 to the programmable counter value 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. The simulation result waveform is displayed by moving to a location where the value of the value matches. Thereby, it is possible to identify and display a simulation result waveform corresponding to the arbitrary location from the software source.
図5において、上記以外の部分は図1と同一に構成されている。すなわち、ソフトウェアソース群11をコンパイラ/リンカ12(コンパイルおよびリンクを実行するプログラム)でビルドして、実行コード131(実行ソフトウェア)と、図2に示すデバッグ情報132との2つの要素で構成されるオブジェクトファイル13が生成される。
In FIG. 5, the other parts are the same as those 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 HDL simulator 10, a CPU model 15 as a test bench 14, and an FPGA model 16 and an HW model 17 as hardware to be debugged are described. The CPU model 15 executes an execution code 131 to simulate actual software. The HDL simulator simulates the operation of the hardware to be debugged (FPGA model 16 and HW model 17), and the simulation result is an operation result in which the software operation and the operation of the hardware to be debugged cooperate with each other. Displayed on the viewer 101.
波形ビューア101では、観測したい信号群に、CPUモデル15の実行アドレスを示すプログラマブルカウンタ(PC)が指定され、シミュレーション期間中の全てのプログラマブルカウンタの値を記録する。 In the waveform viewer 101, a programmable counter (PC) indicating the execution address of the CPU model 15 is designated as a 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には、アセンブラ命令語の文字列を解析する文字列解析機能部を設け、該文字列解析機能部で解析されたアセンブラ命令を実行するように構成する。
As in the first embodiment, the CPU model 15 uses the technique described in
このように構成することにより、アセンブラ命令語の文字列解析は従来のビットパターン解析と比べて小規模に実現できるため、CPUモデルの処理速度の向上が期待できる。 By configuring in this way, the character string analysis of the assembler instruction word can be realized on a small scale as compared with 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 cooperation 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 an arbitrary 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…ハードウェア/ソフトウェア協調検証装置
DESCRIPTION OF SYMBOLS 10 ...
Claims (8)
CPUモデルは、ソフトウェアソース群から生成された実行ソフトウェアを実行して実機のソフトウェアをシミュレーションし、HDLシミュレータはデバッグ対象ハードウェアの動作をシミュレーションし、前記シミュレーション結果を波形表示機能部に表示し、
ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報と、前記表示されたシミュレーション結果波形データ中の任意箇所のプログラマブルカウンタの値を取得し、取得したプログラマブルカウンタの値とデバッグ情報中のアドレスと一致するアドレスを検索し、一致したアドレスに該当するソースファイル名および行番号を出力する第1の検索機能部と、
前記第1の検索機能部の出力によって起動され、前記該当するソースファイルを該当行番号箇所で表示する第1のテキストエディタ機能部と、
を備えたことを特徴とするハードウェア/ソフトウェア協調検証装置。 Display the CPU model equivalent to the actual machine that simulates the operation of the CPU described as the simulation environment, the hardware model that simulates the hardware to be debugged, and the simulation result waveform data of the preset observation signal group, and the observation A HDL simulator comprising a waveform display function unit that records a programmable counter value designated as a signal group and indicating an execution address of a CPU model 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 displays the simulation result on the waveform display function unit.
Acquires and acquires the debug information generated from the software source group, including the instruction address, the corresponding source file name and line number, and the value of the programmable counter at any location in the displayed simulation result waveform data. A first search function unit that searches for an address that matches the address 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;
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;
A hardware / software co-verification apparatus comprising:
CPUモデルは、ソフトウェアソース群から生成された実行ソフトウェアを実行して実機のソフトウェアをシミュレーションし、HDLシミュレータはデバッグ対象ハードウェアの動作をシミュレーションし、前記シミュレーション結果を波形表示機能部に表示し、
ソフトウェアソース群中の任意のソフトウェアソースを表示し、表示しているソースファイル名とカーソル行番号を取得する第2のテキストエディタ機能部と、
ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報を取得し、取得されたデバッグ情報内のソースファイル名および行番号と、前記第2のテキストエディタ機能部により取得されたソースファイル名およびカーソル行番号とが一致する箇所を検索し、一致箇所のアドレスを出力する第2の検索機能部とを備え、
前記波形表示機能部は、前記第2の検索機能部により出力されたアドレスに該当するプログラマブルカウンタの値と波形表示機能部に記録されたプログラマブルカウンタの値が一致する箇所のシミュレーション結果波形を表示することを特徴とするハードウェア/ソフトウェア協調検証装置。 Display the CPU model equivalent to the actual machine that simulates the operation of the CPU described as the simulation environment, the hardware model that simulates the hardware to be debugged, and the simulation result waveform data of the preset observation signal group, and the observation A HDL simulator comprising a waveform display function unit that records a programmable counter value designated as a signal group and indicating an execution address of a CPU model 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 displays the simulation result on the waveform display function unit.
A second text editor function unit for displaying an arbitrary software source in the software source group and acquiring the displayed source file name and cursor line number;
Debug information generated from the software source group, which includes an instruction address and a corresponding source file name and line number, is acquired, and the source file name and line number in the acquired debug information and the second text A second search function unit that searches for a location where the source file name and the cursor line number acquired by the editor function unit match and outputs the address of the match 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 matches the value of the programmable counter recorded in the waveform display function unit. A hardware / software co-verification apparatus characterized by the above.
前記CPUモデルは、アセンブラ命令語の文字列を解析する文字列解析機能部を備え、該文字列解析機能部で解析されたアセンブラ命令を実行することを特徴とする請求項1ないし4のいずれか1項に記載のハードウェア/ソフトウェア協調検証装置。 The execution software is described by a character string of an assembler instruction word,
5. The CPU model according to claim 1, wherein the CPU model includes a character string analysis function unit that analyzes a character string of an assembler instruction word, and executes the assembler instruction analyzed by the character string analysis function unit. 2. The hardware / software co-verification apparatus according to item 1.
前記HDLシミュレータは、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備え、
前記HDLシミュレータが、ソフトウェアソース群から生成された実行ソフトウェアをCPUモデルによって実行して実機のソフトウェアをシミュレーションするとともに、デバッグ対象ハードウェアの動作をシミュレーションするステップと、
前記波形表示機能部が、前記シミュレーション結果を表示するステップと、
ハードウェア/ソフトウェア協調検証装置の第1の検索機能部が、ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報と、前記表示されたシミュレーション結果波形データ中の任意箇所のプログラマブルカウンタの値を取得し、取得したプログラマブルカウンタの値とデバッグ情報中のアドレスと一致するアドレスを検索し、一致したアドレスに該当するソースファイル名および行番号を出力するステップと、
ハードウェア/ソフトウェア協調検証装置の第1のテキストエディタ機能部が、前記第1の検索機能部の出力によって起動し、前記該当するソースファイルを該当行番号箇所で表示するステップと、
を備えたことを特徴とするハードウェア/ソフトウェア協調検証方法。 A hardware / software co-verification method equipped with an HDL simulator,
The HDL simulator includes a CPU model that is described as a simulation environment and that is equivalent to a real 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. A waveform display function unit for displaying and recording a value of a programmable counter indicating an execution address of a 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 using the CPU model to simulate the actual software, and simulates the operation of the hardware to be debugged;
The waveform display function unit displaying the simulation result;
The first search function unit of the hardware / software co-verification apparatus generates debug information including a combination of an instruction address, a corresponding source file name, and a line number generated from the software source group, 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,
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 displays the corresponding source file at the corresponding line number;
A hardware / software co-verification method characterized by comprising:
前記HDLシミュレータは、シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備え、
前記HDLシミュレータが、ソフトウェアソース群から生成された実行ソフトウェアをCPUモデルによって実行して実機のソフトウェアをシミュレーションするとともに、デバッグ対象ハードウェアの動作をシミュレーションするステップと、
ハードウェア/ソフトウェア協調検証装置の第2のテキストエディタ機能部が、ソフトウェアソース群中の任意のソフトウェアソースを表示し、表示しているソースファイル名とカーソル行番号を取得するステップと、
ハードウェア/ソフトウェア協調検証装置の第2の検索機能部が、ソフトウェアソース群から生成された、命令アドレスとそれに該当するソースファイル名および行番号を組としたデバッグ情報を取得し、取得されたデバッグ情報内のソースファイル名および行番号と、前記第2のテキストエディタ機能部により取得されたソースファイル名およびカーソル行番号とが一致する箇所を検索し、一致箇所のアドレスを出力するステップと、
前記波形表示機能部が、前記第2の検索機能部により出力されたアドレスに該当するプログラマブルカウンタの値と波形表示機能部に記録されたプログラマブルカウンタの値が一致する箇所のシミュレーション結果波形を表示するステップと、
を備えたことを特徴とするハードウェア/ソフトウェア協調検証方法。 A hardware / software co-verification method equipped with an HDL simulator,
The HDL simulator includes a CPU model that is described as a simulation environment and that is equivalent to a real 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. A waveform display function unit for displaying and recording a value of a programmable counter indicating an execution address of a 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 using the CPU model to simulate the actual software, and simulates the operation of the hardware to be debugged;
A second text editor function unit of the hardware / software co-verification apparatus displaying an arbitrary software source in the software source group and acquiring the displayed source file name and cursor line number;
The second search function unit of the hardware / software co-verification apparatus acquires debug information generated from the software source group and including the instruction address, the corresponding source file name and the line number, and the acquired debug 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 programmable counter value corresponding to the address output by the second search function unit matches the programmable counter value recorded in the waveform display function unit. Steps,
A hardware / software co-verification method characterized by comprising:
前記CPUモデルの文字列解析機能部が、前記アセンブラ命令語の文字列を解析するステップと、
CPUモデルが前記解析されたアセンブラ命令を実行するステップと、
を備えたことを特徴とする請求項6又は7に記載のハードウェア/ソフトウェア協調検証方法。 The execution software is described by a character string of an assembler instruction word,
A step of analyzing a character string of the assembler instruction word by a character string analysis function unit of the CPU model;
A CPU model executing the analyzed assembler instruction;
The hardware / software co-verification method according to claim 6 or 7, further comprising:
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 true JP2017162130A (en) | 2017-09-14 |
JP6763153B2 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950212A (en) * | 2020-08-13 | 2020-11-17 | 湖南进芯电子科技有限公司 | Efficient multi-mode verification platform and method |
CN114936062A (en) * | 2021-12-09 | 2022-08-23 | 腾讯科技(深圳)有限公司 | Method, device, equipment, system and storage medium for automatically debugging equipment |
JP7209134B1 (en) * | 2021-12-28 | 2023-01-19 | 三菱電機ソフトウエア株式会社 | Operation verification system and operation verification device |
WO2023127185A1 (en) * | 2021-12-28 | 2023-07-06 | 三菱電機ソフトウエア株式会社 | Operation verification system and operation verification device |
-
2016
- 2016-03-09 JP JP2016045119A patent/JP6763153B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950212A (en) * | 2020-08-13 | 2020-11-17 | 湖南进芯电子科技有限公司 | Efficient multi-mode verification platform and method |
CN111950212B (en) * | 2020-08-13 | 2024-04-26 | 湖南进芯电子科技有限公司 | Efficient multi-mode verification platform and method |
CN114936062A (en) * | 2021-12-09 | 2022-08-23 | 腾讯科技(深圳)有限公司 | Method, device, equipment, system and storage medium for automatically debugging equipment |
CN114936062B (en) * | 2021-12-09 | 2024-01-30 | 腾讯科技(深圳)有限公司 | Method, device, equipment, system and storage medium for automatic debugging of equipment |
JP7209134B1 (en) * | 2021-12-28 | 2023-01-19 | 三菱電機ソフトウエア株式会社 | Operation verification system and operation verification device |
WO2023127185A1 (en) * | 2021-12-28 | 2023-07-06 | 三菱電機ソフトウエア株式会社 | Operation verification system and operation verification device |
Also Published As
Publication number | Publication date |
---|---|
JP6763153B2 (en) | 2020-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8522176B2 (en) | Method of recording and replaying call frames for the testbench | |
JP2795244B2 (en) | Program debugging system | |
EP3785124B1 (en) | Memory validity states in time-travel debugging | |
US10176078B1 (en) | Debugging process | |
US10019337B2 (en) | Class object handle tracking | |
JP6763153B2 (en) | Hardware / software co-verification device and hardware / software co-verification method | |
US7409602B2 (en) | Methodology for debugging RTL simulations of processor based system on chip | |
CN108664380A (en) | Software debugging system and adjustment method after a kind of execution shown with performance | |
CN104050069B (en) | A kind of automated testing method realizing MIPS processor correctness based on Mars judge Verilog | |
CN109726063B (en) | Automatic judgment method for Verilog-based MIPS processor | |
JP2017084082A (en) | Simulation device, test scenario file creation method, and test method using test scenario file | |
US20200074040A1 (en) | Hierarchical expression coverage clustering for design verification | |
JP7036814B2 (en) | Debugging system and method | |
US10802852B1 (en) | Method for interactive embedded software debugging through the control of simulation tracing components | |
US10579761B1 (en) | Method and system for reconstructing a graph presentation of a previously executed verification test | |
US9280627B1 (en) | GUI based verification at multiple abstraction levels | |
JP2009140388A (en) | Method for generating performance evaluation model, method for evaluating system performance, and device for generating performance evaluation model | |
US10816600B1 (en) | Protocol analysis and visualization during simulation | |
Goli et al. | Through the looking glass: Automated design understanding of SystemC-based VPs at the ESL | |
Hazott et al. | DSA monitoring framework for HW/SW partitioning of application kernels leveraging VPs | |
Rogin et al. | An integrated SystemC debugging environment | |
JP5120103B2 (en) | Debugging method and debugging program | |
JP2004326650A (en) | Logic verification program and recording medium | |
US10650174B1 (en) | System and method for visualizing event sequences for expressions using both hardware and software state information | |
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 |