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 PDF

Info

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
Application number
JP2016045119A
Other languages
Japanese (ja)
Other versions
JP6763153B2 (en
Inventor
森 文彦
Fumihiko Mori
文彦 森
有 船津
Tamotsu Funatsu
有 船津
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
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
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, Meidensha Electric Manufacturing Co Ltd 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

Abstract

PROBLEM TO BE SOLVED: To allow a HDL simulation to conduct hardware/software cooperative verification without requiring expensive logic emulators.SOLUTION: A hardware/software cooperative verification device comprises: an HDL simulator 10 that has a CPU model 15, and FPGA model 16 and HW model 17 simulating debag object hardware described in a test bench 14 of the HDL simulator 10, and displays a simulated result of the test bench 14 on a waveform viewer 101; a PC→source file retrieval function unit 19 that retrieves an address in which a value (value indicative of an execution address of the CPU model 15) of a programmable counter of an arbitrary part in waveform data 18 on the displayed simulation result coincides with an address in debag information 132, and outputs a source file name and line number corresponding to the coincided address; and a general-purpose text editor 20 that displays the corresponding source file at a part of the corresponding line number.SELECTED DRAWING: Figure 1

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

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

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

論理エミュレータを使う協調エミュレーションは、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 Patent Document 1 has a mechanism for specifying a software source execution location from the value of a programmable counter (PC) of a CPU model that executes software and displaying the software source at the specific location.

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

また逆に、ソフトウェアソースから、ハードウェアの動作とソフトウェア動作の協調した動作波形を特定し表示する仕組みは有していない。   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 claim 1 for solving the above-described problem simulates a CPU model described as a simulation environment and equivalent to a real machine that simulates the operation of the CPU, and hardware to be debugged. Waveform display that displays the hardware model and simulation result waveform data of the observation signal group set in advance, and records the value of the programmable counter specified for the observation signal group and indicating the execution address of the CPU model during the entire simulation period An HDL simulator having a functional unit,
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 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 said.

また、請求項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 claims 1 to 4, wherein the execution software is described by a character string of an assembler instruction word, and the CPU model is an assembler instruction A character string analysis function unit that analyzes a character string of a word is provided, and an assembler instruction analyzed by the character string analysis function unit is executed.

また、請求項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 Claim 1, 2, 6, the location of the arbitrary simulation result waveform currently displayed on the waveform display function part by operation | movement of a 1st search function part and a 1st text editor function part. The software source corresponding to the value of the programmable counter can be displayed.

また、請求項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 claim 2, it is possible to complete in the HDL simulator from designation of an arbitrary location in the simulation result waveform data displayed in the waveform display function to display of the source file.

また、請求項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 claims 1, 2, and 6, the software source corresponding to the value of the programmable counter at the location of the arbitrary simulation result waveform displayed in the waveform display function unit is displayed. Can do.
(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 claim 2, from the designation of an arbitrary position in the simulation result waveform data displayed in the waveform display function to the display of the source file can be completed in the HDL simulator. .
(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.

本発明の実施例1の全体を示す構成図。BRIEF DESCRIPTION OF THE DRAWINGS The block diagram which shows the whole Example 1 of this invention. 本発明の実施例におけるデバッグ情報を示す説明図。Explanatory drawing which shows the debug information in the Example of this invention. 本発明の実施例1の要部構成を示す説明図。Explanatory drawing which shows the principal 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 Example 2 of this invention. 本発明の実施例2の要部構成を示す説明図。Explanatory drawing which shows the principal 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. 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 / software co-verification apparatus 200 according to the first embodiment of the present invention. A software source group 11 described in a C language or an assembler language (also referred to as an assembly language) is built with a compiler / linker 12 (a program for executing compiling and linking) to generate an object file 13. The object file 13 includes 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 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 bus model 25 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 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 Patent Document 2, for example, to improve the operation speed. That is, when the execution code 131 (execution software) of the object file 13 is generated, it is created not as an object code but as an assembler program (described by a character string of an assembler instruction word), and the CPU model 15 stores characters of the assembler instruction word. A character string analysis function unit for analyzing a string is provided, and an assembler instruction analyzed by the character string analysis function unit is executed.

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

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

次に、上記のように構成されたハードウェア/ソフトウェア協調検証装置200の動作を説明する。   Next, the operation of the hardware / software co-verification apparatus 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 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-purpose text editor 20 is activated using the obtained source file name and line number as activation options, the corresponding source file can be displayed at the corresponding line number (line where the cursor is).

さらに、シミュレーション結果波形データ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-purpose text editor 20. 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) (address 1000) of the programmable counter (PC) to the change point (2) (address 1002), the general-purpose text editor 20 is linked with it. 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内で完結することができる。   Note that 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 incorporated in the HDL simulator 10 is used for the general-purpose text editor 20, the process from the cursor position designation in the waveform viewer 101 to the software source display in the text editor can be completed in the HDL simulator 10. .

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

図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-purpose text editor 20, and is the value of the programmable counter designated in the simulation result waveform data 18 of the waveform viewer 101. (Corresponding PC value).

波形ビューア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 software source group 11 is built by the compiler / linker 12 (a program for executing compilation and linking), and is composed of two elements: an execution code 131 (execution software) and debug information 132 shown in FIG. An 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, 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 Patent Document 2, for example, to improve the operation speed. That is, when the execution code 131 (execution software) of the object file 13 is generated, it is created as an assembler program (described in 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 an assembler instruction analyzed by the character string analysis function unit is executed.

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

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

また、汎用テキストエディタ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 in the HDL simulator 10 is used for the general-purpose text editor 20, the process from the cursor position designation in the text editor to the waveform display of the corresponding part in the waveform viewer 101 is completed in the HDL simulator 10. Can do.

以上によって、高価な論理エミュレータを必要とせず、且つ汎用テキストエディタ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-purpose text editor 20 without requiring 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…ハードウェア/ソフトウェア協調検証装置
DESCRIPTION OF SYMBOLS 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 part 20 ... General-purpose text editor 30 ... Source file → PC search function unit 101 ... Waveform viewer 131 ... Execution code 132 ... Debug information 200, 300 ... Hardware / software co-verification device

Claims (8)

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

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

Cited By (6)

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