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 PDF

Info

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
Application number
JP2016045119A
Other languages
Japanese (ja)
Other versions
JP2017162130A (en
Inventor
森 文彦
文彦 森
有 船津
有 船津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meidensha Corp
Original Assignee
Meidensha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Meidensha Corp filed Critical Meidensha Corp
Priority to JP2016045119A priority Critical patent/JP6763153B2/en
Publication of JP2017162130A publication Critical patent/JP2017162130A/en
Application granted granted Critical
Publication of JP6763153B2 publication Critical patent/JP6763153B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Patent Document 1.

また、本発明で利用する、実行ソフトウェアに記述されたアセンブラ命令語の文字列を解析する技術は特許文献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 Patent Document 2.

特許第5120103号公報Japanese Patent No. 5120103 特開2014−78087号公報Japanese Unexamined Patent Publication No. 2014-78087

論理エミュレータを使う協調エミュレーションは、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)レベルのものを使うため、動作速度低下の一因になる。 Patent Document 1 is a method of cooperative emulation in which all hardware circuits including a CPU are incorporated into 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 operating speed.

ハードウェア/ソフトウェア協調検証は、文字通りハードウェアの動作とソフトウェアの動作を協調してデバッグを行う。それぞれの協調した動作は波形ビューアで観測できるが、実行箇所のソフトウェアソースは見ることができない。 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, Patent Document 1 described above has a mechanism for specifying the execution location of the software source from the value of the programmable counter (PC) of the CPU model that executes the software and displaying the software source at the specific location.

しかし特許文献1は、プログラマブルカウンタの値の取得をブレークポイントなどイベント時に限定されているため、任意の箇所のソース表示はできない。 However, in Patent Document 1, since the acquisition of the value of the programmable counter is limited to the event such as a breakpoint, the source cannot be displayed at any place.

また逆に、ソフトウェアソースから、ハードウェアの動作とソフトウェア動作の協調した動作波形を特定し表示する仕組みは有していない。 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 claim 1 for solving the above problems simulates a CPU model equivalent to an actual machine that simulates CPU operation described as a simulation environment and hardware to be debugged. A waveform display that displays the simulation result waveform data of the hardware model and 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. It has a functional unit and an HDL simulator equipped 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 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 claim 2 is characterized in that, in claim 1, the first search function unit and the first text editor function unit are provided in the HDL simulator. It is supposed to be.

また、請求項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 claims 1, 2 and 5 , the part of the arbitrary simulation result waveform displayed in the waveform display function unit by the operation of the first search function unit and the first text editor function unit. The software source corresponding to the value of the programmable counter can be displayed.

また、請求項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 claim 2, the process from the designation of an arbitrary part in the simulation result waveform data displayed by the waveform display function to the display of the source file can be completed in the HDL simulator.

また、請求項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 claims 1 to 6 , hardware / software co-verification can be performed with an HDL simulator without the need for an expensive logic emulator. In addition, the operating speed can be improved.
(2) Further, according to the invention of claims 1, 2 and 5, the software source corresponding to the value of the programmable counter at the place of the arbitrary simulation result waveform displayed on the waveform display function unit is displayed. Can be done.
(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 claim 2, it is possible to complete from the designation of an arbitrary part in the simulation result waveform data displayed in the waveform display function to the display of the source file in the HDL simulator. ..
(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 .

本発明の実施例1の全体を示す構成図。The block diagram which shows the whole of Example 1 of this invention. 本発明の実施例におけるデバッグ情報を示す説明図。The explanatory view which shows the debug information in the Example of this invention. 本発明の実施例1の要部構成を示す説明図。Explanatory drawing which shows the main part structure of Example 1 of this invention. 本発明の実施例1の変形例を示す説明図。Explanatory drawing which shows the modification of Example 1 of this invention. 本発明の実施例2の全体を示す構成図。The block diagram which shows the whole of Example 2 of this invention. 本発明の実施例2の要部構成を示す説明図。Explanatory drawing which shows the main part structure of Example 2 of this invention.

本発明のハードウェア/ソフトウェア協調検証は、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 cooperative verification device 200 according to the first embodiment of the present invention. A software source group 11 described in C language or assembler language (also referred to as assembly language) is built by a compiler / linker 12 (a program that executes compilation and linking), and an object file 13 is generated. The object file 13 is composed of two elements, an execution code 131 (execution software) and debug information 132.

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, which are hardware to be debugged, are described as a test bench 14 (simulation environment for verification). ing.

25は、CPUモデル15、FPGAモデル16、HWモデル17を接続するバスモデルである。 Reference numeral 25 denotes a bus model that connects the CPU model 15, the FPGA model 16, and the HW model 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 Patent Document 2. That is, when the execution code 131 (execution software) of the object file 13 is generated, it is created as an assembler program instead of the object code (described by the character string of the assembler instruction word), and the characters of the assembler instruction word are described in the CPU model 15. A character string analysis function unit that analyzes a column is provided, and an assembler instruction analyzed by the character string analysis function unit is executed.

このように構成することにより、アセンブラ命令語の文字列解析は従来のビットパターン解析と比べて小規模に実現できるため、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 HDL simulator 10, and the debug information 132 and the PC → source file search function unit 19 Enter in (1st search function unit).

前記デバッグ情報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 / software co-verification device 200 configured as described above is composed of, for example, a computer, and has hardware resources of a normal computer, such as ROM, RAM, CPU, input device, output device, communication interface, hard disk, and recording. It includes a medium and its drive device.

このハードウェアリソースとソフトウェアリソース(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 / software co-verification device 200 has the compiler / linker 12, the HDL simulator 10, the PC → the source file, as shown in FIG. The search function unit 19 and the general-purpose text editor 20 are implemented.

次に、上記のように構成されたハードウェア/ソフトウェア協調検証装置200の動作を説明する。 Next, the operation of the hardware / software co-verification device 200 configured as described above will be described.

HDLシミュレータ10はテストベンチ14をシミュレーションし、シミュレーション結果をシミュレーション結果波形データ18として、内蔵の波形ビューア101に表示する。 The HDL simulator 10 simulates the test bench 14 and displays the simulation result as the simulation result waveform data 18 on the built-in waveform viewer 101.

所望の動作箇所をカーソルで選択し、波形ビューア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-purpose text editor 20 is started with the obtained source file name and line number as start options, the corresponding source file can be displayed at the corresponding line number (the line where the cursor is).

さらに、シミュレーション結果波形データ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-purpose text editor 20 is restarted as a start option. , The display position (cursor position) can be updated. That is, the cursor movement of the waveform viewer 101 and the display location of the software source can be linked.

一連の動作例を図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-purpose text editor 20 is linked accordingly. The cursor moves from the source location at address 1000 to the source location at address 1002.

尚、PC→ソースファイル検索機能部19および汎用テキストエディタ20をHDLシミュレータ10に設けてもよい。好例として、汎用テキストエディタ20に、HDLシミュレータ10内蔵のテキストエディタ機能を使えば、波形ビューア101でのカーソル位置指定から、テキストエディタでのソフトウェアソース表示まで、HDLシミュレータ10内で完結することができる。 The PC → source file search function unit 19 and the general-purpose text editor 20 may be provided in the HDL simulator 10. As a good example, if the text editor function built into the HDL simulator 10 is used in the general-purpose text editor 20, the process from specifying the cursor position in the waveform viewer 101 to displaying the software source in the text editor can be completed in the HDL simulator 10. ..

以上によって、高価な論理エミュレータを必要とせず、且つシミュレーション結果波形データ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 cooperative verification device 300 according to the second embodiment, and the same parts as those in FIG. 1 are indicated by the same reference numerals.

図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-purpose text editor 20. A source file that searches for a location that matches with and outputs the address of the matching location → A PC search function unit 30 (second search function unit) is provided.

このソースファイル→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-purpose text editor 20. (Corresponding PC value) is shown.

波形ビューア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 software source group 11 is built by the compiler / linker 12 (the program that executes compilation and linking), and is composed of two elements: the execution code 131 (execution software) and the debug information 132 shown in FIG. The object file 13 is generated.

HDLシミュレータ10には、テストベンチ14としてCPUモデル15と、デバッグ対象ハードウェアであるFPGAモデル16およびHWモデル17が記述され、CPUモデル15が、実行コード131を実行して実機のソフトウェアをシミュレーションし、HDLシミュレータがデバッグ対象ハードウェア(FPGAモデル16、HWモデル17)の動作をシミュレーションし、そのシミュレーション結果がソフトウェア動作とデバッグ対象ハードウェアの動作が協調した動作結果となり、シミュレーション結果波形データ18として波形ビューア101に表示される。 In the HDL simulator 10, the CPU model 15 and the hardware to be debugged, the FPGA model 16 and the HW model 17, are described as the test bench 14, and the CPU model 15 executes the execution code 131 to simulate the software of the actual machine. , The HDL simulator simulates the operation of the hardware to be debugged (FPGA model 16 and HW model 17), and the simulation result becomes the operation result in which the software operation and the operation of the hardware to be debugged are coordinated, and the simulation result waveform data 18 is used as the waveform. It is 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 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 Patent Document 2. That is, when the execution code 131 (execution software) of the object file 13 is generated, it is created as an assembler program (described by the character string of the assembler instruction word), and the CPU model 15 analyzes the character string of the assembler instruction word. A character string analysis function unit is provided, and the assembler instruction analyzed by the character string analysis function unit is executed.

このように構成することにより、アセンブラ命令語の文字列解析は従来のビットパターン解析と比べて小規模に実現できるため、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 / software co-verification device 300 configured as described above is composed of, for example, a computer, and has hardware resources of a normal computer, such as ROM, RAM, CPU, input device, output device, communication interface, hard disk, and recording. It includes a medium and its drive device.

このハードウェアリソースとソフトウェアリソース(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 / software co-verification device 300 includes the compiler / linker 12, the HDL simulator 10, and the general-purpose text editor 20 as shown in FIG. , Source file → Implement the PC search function unit 30.

また、汎用テキストエディタ20およびソースファイル→PC検索機能部30をHDLシミュレータ10に設けてもよい。好例として、汎用テキストエディタ20に、HDLシミュレータ10内蔵のテキストエディタ機能を使えば、テキストエディタでのカーソル位置指定から、波形ビューア101での該当箇所の波形表示まで、HDLシミュレータ10内で完結することができる。 Further, the general-purpose text editor 20 and the source file → PC search function unit 30 may be provided in the HDL simulator 10. As a good example, if the text editor function built into the HDL simulator 10 is used in the general-purpose text editor 20, the process from specifying the cursor position in the text editor to displaying the waveform of the corresponding part in the waveform viewer 101 can be completed in the HDL simulator 10. Can be done.

以上によって、高価な論理エミュレータを必要とせず、且つ汎用テキストエディタ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-purpose text editor 20 without the need for an expensive logic emulator.

10…HDLシミュレータ
11…ソフトウェアソース群
12…コンパイラ/リンカ
13…オブジェクトファイル
14…テストベンチ
15…CPUモデル
16…FPGAモデル
17…HWモデル
18…シミュレーション結果波形データ
19…PC→ソースファイル検索機能部
20…汎用テキストエディタ
30…ソースファイル→PC検索機能部
101…波形ビューア
131…実行コード
132…デバッグ情報
200、300…ハードウェア/ソフトウェア協調検証装置
10 ... HDL simulator 11 ... Software source group 12 ... Compiler / linker 13 ... Object file 14 ... Test bench 15 ... CPU model 16 ... FPGA model 17 ... HW model 18 ... Simulation result waveform data 19 ... PC → Source file search function 20 … General-purpose text editor 30… Source file → PC search function 101… Waveform viewer 131… Execution code 132… Debugging information 200, 300… Hardware / software co-verification device

Claims (6)

シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備えたHDLシミュレータを有し、
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 .
前記第1の検索機能部および第1のテキストエディタ機能部は、前記HDLシミュレータに設けられていることを特徴とする請求項1に記載のハードウェア/ソフトウェア協調検証装置。 The hardware / software cooperative verification device according to claim 1, wherein the first search function unit and the first text editor function unit are provided in the HDL simulator. シミュレーション環境として記述された、CPUの動作を模擬する実機と等価なCPUモデルと、デバッグ対象ハードウェアを模擬したハードウェアモデルと、予め設定した観測信号群のシミュレーション結果波形データを表示し、前記観測信号群に指定された、CPUモデルの実行アドレスを示すプログラマブルカウンタの値を、全シミュレーション期間中記録する波形表示機能部と、を備えたHDLシミュレータを有し、
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.
前記第2の検索機能部および第2のテキストエディタ機能部は、前記HDLシミュレータに設けられていることを特徴とする請求項3に記載のハードウェア/ソフトウェア協調検証装置。 The hardware / software cooperative verification device according to claim 3, wherein the second search function unit and the second text editor function unit are provided in the HDL simulator. HDLシミュレータを備えたハードウェア/ソフトウェア協調検証方法であって、
前記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シミュレータを備えたハードウェア/ソフトウェア協調検証方法であって、
前記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 .
JP2016045119A 2016-03-09 2016-03-09 Hardware / software co-verification device and hardware / software co-verification method Active JP6763153B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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