JP2003242193A - Logic verifying device for reproducing and executing cooperation simulation - Google Patents

Logic verifying device for reproducing and executing cooperation simulation

Info

Publication number
JP2003242193A
JP2003242193A JP2002036103A JP2002036103A JP2003242193A JP 2003242193 A JP2003242193 A JP 2003242193A JP 2002036103 A JP2002036103 A JP 2002036103A JP 2002036103 A JP2002036103 A JP 2002036103A JP 2003242193 A JP2003242193 A JP 2003242193A
Authority
JP
Japan
Prior art keywords
request
emulator
response command
emulation
command
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.)
Pending
Application number
JP2002036103A
Other languages
Japanese (ja)
Inventor
Kuniharu Hashimoto
訓治 橋本
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2002036103A priority Critical patent/JP2003242193A/en
Publication of JP2003242193A publication Critical patent/JP2003242193A/en
Pending legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To completely reproduce a cooperation simulation when a failure is found in a verification design in a logic verifying device by the cooperation simulation. <P>SOLUTION: In a tracer 200, a command trace part 201 receives an execution status of a clock for emulation and a request/response command from an emulator input/output part 121, calculates a count number of the clock for emulation, prepares execution trace information for making the request/response command and the count number of the clock for emulation correspond to each other, and records the information in a trace buffer 202. A comparator 203 compares the execution trace information from the command trace part 201 and reproduction trace information from the trace buffer 202 and decides coincidence/ noncoincidence. A synchronous control part 204 decides the comparison result from the comparator 203 and delivers a command to reproduce the cooperation emulation to a transfer control part 122. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は協調シミュレーショ
ンの再現実行を行う論理検証装置に関し、特にエミュレ
ータおよび論理シミュレータを用いた協調シミュレーシ
ョンの再現実行を行う論理検証装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a logic verification device for reproducing and executing co-simulation, and more particularly to a logic verification device for reproducing and executing co-simulation using an emulator and a logic simulator.

【0002】[0002]

【従来の技術】コンピュータ等の論理回路設計では、設
計した論理回路の動作を検証する手段が必須である。検
証手法の1つとして、再構成可能な論理IC(Inte
grated Circuit)で構成されたエミュレ
ータがある。エミュレータ上に論理検証の対象となる設
計回路(以下、検証デザインと表記する)を構成し、そ
れ以外の物はエミュレータへ実際のハードウェアを接続
する手法が最も一般的なものである。しかし、実際のハ
ードウェアを使わず、エミュレータとは別のマシンでソ
フトウェアによる論理シミュレータを動かし、エミュレ
ータと協調して論理検証を行う手法(ターゲットレスの
協調シミュレーション手法)も確立されている。
2. Description of the Related Art In designing a logic circuit of a computer or the like, a means for verifying the operation of the designed logic circuit is essential. As one of verification methods, a reconfigurable logic IC (Inte
There is an emulator composed of a grated circuit). The most common method is to configure a design circuit to be the target of logic verification (hereinafter referred to as verification design) on the emulator, and to connect the actual hardware to the emulator other than that. However, a method of running a logic simulator by software on a machine different from the emulator without using actual hardware and performing logic verification in cooperation with the emulator (targetless co-simulation method) has also been established.

【0003】例として、MPU(Micro―Proc
essing Unit),メモリ,およびI/O(I
nput/Output)装置から構成されるマシンを
設計し、MPUを検証デザイン、I/O装置は論理シミ
ュレータの仮想I/Oプロセスとして論理検証を行う場
合を取り上げる。このような構成の場合、MPUとメモ
リ間は頻繁にデータをやり取りし、I/O装置は、MP
UからのI/O要求を受けてメモリとの間でデータを転
送することになる。データ転送方法には、MPUを介し
たプログラムI/O転送(PI/O転送)と、直接メモ
リに転送するDMA(Direct Memory A
ccess)転送との2通りがあるが、一般にDMA転
送の方が高速であるために使用されている。
As an example, MPU (Micro-Proc
essing Unit), memory, and I / O (I
A case will be taken up in which a machine configured from an nput / output device is designed, an MPU is used for verification design, and an I / O device is used as a virtual I / O process of a logic simulator to perform logic verification. In such a configuration, data is frequently exchanged between the MPU and the memory, and the I / O device uses the MP
Upon receiving an I / O request from the U, data will be transferred to and from the memory. The data transfer method includes program I / O transfer (PI / O transfer) via the MPU and DMA (Direct Memory A) for direct transfer to the memory.
access), but DMA transfer is generally used because it is faster.

【0004】図11は、本願発明者がすでに提案した先
行技術の協調シミュレーションによる論理検証装置の構
成を示す回路ブロック図である(特願2001−006
081参照)。この先行技術の協調シミュレーションに
よる論理検証装置の構成および動作については、後述す
る発明の実施の形態の欄で、第1の実施の形態の一部と
して詳述するので、ここでは詳述しないが、以下のよう
な効果が得られる。
FIG. 11 is a circuit block diagram showing a configuration of a logic verification device by prior art co-simulation, which has been proposed by the inventor of the present application (Japanese Patent Application No. 2001-006).
081). The configuration and operation of the logic verification device by the co-simulation of this prior art will be described in detail as a part of the first embodiment in the section of the embodiment of the invention described later, so it will not be described here in detail. The following effects can be obtained.

【0005】仮想I/Oプロセス110と実装メモリ1
25間のデータ転送をDMA転送で行うことにより、エ
ミュレーションとI/O動作とが同時に進行していくた
め、協調シミュレーションの効果が最大限に発揮され
る。
Virtual I / O process 110 and mounted memory 1
By performing the data transfer between 25 by the DMA transfer, the emulation and the I / O operation proceed at the same time, so that the effect of the co-simulation is maximized.

【0006】また、エミュレータ100と仮想I/Oプ
ロセス110間の協調シミュレーションにおいて、エミ
ュレーション用クロックの制御をメモリボード120の
ハードウェア制御に委ねることにより、ソフトウェア制
御よりも容易かつ高速な制御が行える。
Further, in the co-simulation between the emulator 100 and the virtual I / O process 110, the control of the emulation clock is entrusted to the hardware control of the memory board 120, which allows easier and faster control than software control.

【0007】さらに、エミュレータ100のトリガを頻
繁に切り替える必要がなくなり、トリガの切り替えに伴
うエミュレーション速度の低下が解消される。
Further, it is not necessary to frequently switch the trigger of the emulator 100, and the reduction of the emulation speed due to the switching of the trigger is eliminated.

【0008】さらにまた、エミュレータ100に搭載さ
れているメモリの実装容量とは無関係に大容量の実装メ
モリ125を使った検証が可能となる。
Furthermore, the verification using the large-capacity mounted memory 125 can be performed regardless of the mounted capacity of the memory mounted on the emulator 100.

【0009】[0009]

【発明が解決しようとする課題】しかしながら、上述し
た先行技術の協調シミュレーションによる論理検証装置
では、協調シミュレーションにおいて検証デザインに欠
陥が発見された場合、それを再実行によって完全に再現
できない場合が生じていた。これは、以下の点が再現さ
れていないためである。
However, in the above-described logic verification device by the co-simulation of the prior art, when a defect is found in the verification design in the co-simulation, there is a case where it cannot be completely reproduced by re-execution. It was This is because the following points have not been reproduced.

【0010】全ての制御がオンデマンドのため、全く同
じ内容の協調シミュレーションであっても、実行時に依
存するメモリリフレッシュや信号の調停タイミングが変
化する。そのため、エミュレータへの入力に対応する応
答信号のタイミングとエミュレーション用クロックカウ
ント数とを、前回の協調シミュレーションと厳密に一致
させて再現させることができない。
Since all controls are on-demand, even in the co-simulation with exactly the same contents, the memory refresh and signal arbitration timing depending on the execution time change. Therefore, the timing of the response signal corresponding to the input to the emulator and the emulation clock count number cannot be exactly reproduced from the previous co-simulation.

【0011】仮想I/Oプロセス110は、UNIX
(登録商標)等のオペレーティングシステム上で動作し
ているため、その動作速度はオペレーティングシステム
が稼働しているマシンの負荷によって変動し、応答時間
が予測できない。
The virtual I / O process 110 is a UNIX
Since it operates on an operating system such as (registered trademark), its operating speed fluctuates depending on the load of the machine on which the operating system operates, and the response time cannot be predicted.

【0012】本発明の目的は、先行技術の協調シミュレ
ーションによる論理検証装置において、検証デザインに
不具合が発見された場合における協調シミュレーション
を完全に再現する協調シミュレーションの再現実行を行
う論理検証装置を提供することにある。
An object of the present invention is to provide a logic verification device for co-simulation in the prior art which reproduces and executes co-simulation that completely reproduces co-simulation when a defect is found in the verification design. Especially.

【0013】[0013]

【課題を解決するための手段】本発明の協調シミュレー
ションの再現実行を行う論理検証装置は、エミュレータ
と論理シミュレータとにより協調シミュレーションを行
う論理検証装置において、協調シミュレーションの実行
中に発生した要求・応答コマンドおよび該要求・応答コ
マンドが発生したエミュレーション用クロックカウント
数を記録し、前回の協調シミュレーションを再現する際
には、再現実行中の要求・応答コマンドおよび該要求・
応答コマンドが発生したエミュレーション用クロックカ
ウント数と記録していた要求・応答コマンドおよびエミ
ュレーション用クロックカウント数とを比較し、エミュ
レーション用クロックカウント数および要求・応答コマ
ンドがともに不一致の場合には比較を続け、エミュレー
ション用クロックカウント数および要求・応答コマンド
が一致した場合には該要求・応答コマンドの実行を指令
し、エミュレーション用クロックカウント数だけが一致
した場合にはエミュレーション用クロックの停止を指令
し、要求・応答コマンドだけが一致した場合には該要求
・応答コマンドの保留を指令するトレーサを有すること
を特徴とする。
A logic verification apparatus for reproducing and executing co-simulation according to the present invention is a logic verification apparatus for performing co-simulation by an emulator and a logic simulator. The command and the clock count number for emulation in which the request / response command is generated are recorded, and when the previous co-simulation is reproduced, the request / response command and the request / response command being reproduced are reproduced.
Compares the emulation clock count generated by the response command with the recorded request / response command and emulation clock count. If the emulation clock count and the request / response command do not match, continue the comparison. , If the emulation clock count number and the request / response command match, command the execution of the request / response command, and if only the emulation clock count number matches, command the stop of the emulation clock and request. -It is characterized by having a tracer for instructing suspension of the request / response command when only the response command matches.

【0014】また、本発明の協調シミュレーションの再
現実行を行う論理検証装置は、論理検証を行う回路をモ
デリングした検証デザイン,該検証デザインにエミュレ
ーション用クロックを供給するクロック供給回路,およ
び該クロック供給回路に対するエミュレーション用クロ
ックの供給を制御するエミュレータ制御部を備えるエミ
ュレータと、前記検証デザインからのI/O要求に応じ
て実装メモリとの間でDMA転送を行う仮想I/Oプロ
セスと、前記実装メモリ,前記エミュレータより供給さ
れる前記検証デザインのエミュレーション用クロックに
同期してデータの送受信を行うエミュレータ入出力部,
前記仮想I/Oプロセスと通信を行い前記エミュレータ
とは独立して前記実装メモリをアクセスするDMA転送
部,前記実装メモリの制御部であって前記エミュレータ
入出力部からのメモリアクセス要求,前記DMA転送部
からのDMA要求およびメモリリフレッシュ要求の調停
を行うメモリコントローラ,ならびに前記エミュレータ
および前記仮想I/Oプロセスと協調して自メモリボー
ドが動作するようにコントロールを行う転送制御部を備
えるメモリボードと、前記エミュレータ入出力部からエ
ミュレーション用クロックおよび要求・応答コマンドの
実行ステータスを受け取り、エミュレーション用クロッ
クカウント数を算出して、要求・応答コマンドとエミュ
レーション用クロックカウント数とを対応付けた実行ト
レース情報を作成するコマンドトレース部,前記コマン
ドトレース部からの実行トレース情報を記録するととも
に記録した実行トレース情報を再現トレース情報として
供給するトレースバッファ,前記コマンドトレース部か
らの実行トレース情報と前記トレースバッファからの再
現トレース情報とを比較する比較器,ならびに前記比較
器からの比較結果に基づいて、エミュレーション用クロ
ックカウント数および要求・応答コマンドがともに不一
致の場合には比較を続け、エミュレーション用クロック
カウント数および要求・応答コマンドが一致した場合に
は該要求・応答コマンドの実行を前記転送制御部に指令
し、エミュレーション用クロックカウント数だけが一致
した場合には前記エミュレータのエミュレーション用ク
ロックの停止を前記転送制御部に指令し、要求・応答コ
マンドだけが一致した場合には該要求・応答コマンドの
保留を前記転送制御部に指令する同期制御部とを備える
トレーサとを有することを特徴とする。
Further, the logic verification apparatus for reproducing and executing the co-simulation of the present invention is a verification design in which a circuit for logic verification is modeled, a clock supply circuit for supplying an emulation clock to the verification design, and the clock supply circuit. A virtual I / O process for performing a DMA transfer between an emulator having an emulator control unit for controlling the supply of an emulation clock to the embedded memory, and a mounted memory in response to an I / O request from the verification design; An emulator input / output unit that transmits and receives data in synchronization with the emulation clock of the verification design supplied from the emulator,
A DMA transfer unit that communicates with the virtual I / O process to access the mounted memory independently of the emulator, a memory access request from the emulator input / output unit that is a controller of the mounted memory, and the DMA transfer A memory controller that arbitrates a DMA request and a memory refresh request from a memory unit, and a memory board that includes a transfer controller that controls the own memory board to operate in cooperation with the emulator and the virtual I / O process; Receives the emulation clock and the execution status of the request / response command from the emulator input / output unit, calculates the emulation clock count number, and creates execution trace information that associates the request / response command with the emulation clock count number. Command trace section, a trace buffer for recording execution trace information from the command trace section and supplying the recorded execution trace information as reproduction trace information, execution trace information from the command trace section and reproduction trace from the trace buffer If the emulation clock count number and the request / response command do not match based on the comparator that compares the information and the comparison result from the comparator, the comparison is continued, and the emulation clock count number and the request / response command When the commands match, the transfer control unit is instructed to execute the request / response command, and when only the emulation clock count numbers match, the transfer control unit is instructed to stop the emulation clock of the emulator. And, if only request-response command matches is characterized by having a tracer and a synchronization control unit for commanding holding of the request-response command to the transfer controller.

【0015】さらに、本発明の協調シミュレーションの
再現実行を行う論理検証装置は、論理検証を行う回路を
モデリングした検証デザイン,該検証デザインにエミュ
レーション用クロックを供給するクロック供給回路,お
よび該クロック供給回路に対するエミュレーション用ク
ロックの供給を制御するエミュレータ制御部を備えるエ
ミュレータと、前記検証デザインからのI/O要求に応
じて実装メモリとの間でDMA転送を行うI/O装置
と、前記実装メモリ,前記エミュレータより供給される
前記検証デザインのエミュレーション用クロックに同期
してデータの送受信を行うエミュレータ入出力部,前記
I/O装置と通信を行い前記エミュレータとは独立して
前記実装メモリをアクセスするI/O装置制御部,前記
実装メモリの制御部であって前記エミュレータ入出力部
からのメモリアクセス要求,前記I/O装置制御部から
のDMA要求およびメモリリフレッシュ要求の調停を行
うメモリコントローラ,ならびに前記エミュレータおよ
び前記I/O装置と協調して自メモリボードが動作する
ようにコントロールを行う転送制御部を備えるメモリボ
ードと、前記エミュレータ入出力部からエミュレーショ
ン用クロックおよび要求・応答コマンドの実行ステータ
スを受け取り、エミュレーション用クロックカウント数
を算出して、要求・応答コマンドとエミュレーション用
クロックカウント数とを対応付けた実行トレース情報を
作成するコマンドトレース部,前記コマンドトレース部
からの実行トレース情報を記録するとともに記録した実
行トレース情報を再現トレース情報として供給するトレ
ースバッファ,前記コマンドトレース部からの実行トレ
ース情報と前記トレースバッファからの再現トレース情
報とを比較する比較器,ならびに前記比較器からの比較
結果に基づいて、エミュレーション用クロックカウント
数および要求・応答コマンドがともに不一致の場合には
比較を続け、エミュレーション用クロックカウント数お
よび要求・応答コマンドが一致した場合には該要求・応
答コマンドの実行を前記転送制御部に指令し、エミュレ
ーション用クロックカウント数だけが一致した場合には
前記エミュレータのエミュレーション用クロックの停止
を前記転送制御部に指令し、要求・応答コマンドだけが
一致した場合には該要求・応答コマンドの保留を前記転
送制御部に指令する同期制御部とを備えるトレーサとを
有することを特徴とする。
Further, the logic verification apparatus for reproducing and executing the co-simulation of the present invention is a verification design in which a circuit for logic verification is modeled, a clock supply circuit for supplying an emulation clock to the verification design, and the clock supply circuit. An emulator having an emulator control unit for controlling supply of an emulation clock to the I / O device, an I / O device for performing DMA transfer between the mounted memory in response to an I / O request from the verification design, the mounted memory, the An emulator input / output unit that transmits and receives data in synchronization with the emulation clock of the verification design supplied from the emulator, communicates with the I / O device, and accesses the mounted memory independently of the emulator. O device control unit, control unit of the mounting memory A memory controller that arbitrates a memory access request from the emulator input / output unit, a DMA request and a memory refresh request from the I / O device control unit, and its own memory in cooperation with the emulator and the I / O device. A memory board having a transfer control unit that controls the board to operate, and an emulation clock and an execution status of a request / response command from the emulator input / output unit are received, and an emulation clock count number is calculated to make a request / request. A command trace section for creating execution trace information in which a response command and an emulation clock count number are associated with each other, the execution trace information from the command trace section is recorded, and the recorded execution trace information is referred to as reproduction trace information. Based on the comparison result from the comparator, and the trace buffer supplied as a trace buffer, the execution trace information from the command trace section and the reproduction trace information from the trace buffer, and the request count and request for emulation. If the response commands do not match, the comparison is continued. If the emulation clock count number and the request / response command match, the transfer control unit is instructed to execute the request / response command, and the emulation clock count. When only the numbers match, the transfer control unit is instructed to stop the emulation clock of the emulator, and when only the request / response commands match, the transfer control unit is instructed to hold the request / response command. And a tracer having a synchronization control unit for It is characterized by doing.

【0016】さらにまた、本発明の協調シミュレーショ
ンの再現実行を行う論理検証装置は、論理検証を行う回
路をモデリングした検証デザイン,該検証デザインにエ
ミュレーション用クロックを供給するクロック供給回
路,および該クロック供給回路に対するエミュレーショ
ン用クロックの供給を制御するエミュレータ制御部を備
えるエミュレータと、前記検証デザインからのI/O要
求に応じて実装メモリとの間でDMA転送を行う仮想I
/Oプロセスと、仮想的なMPUとして動作する仮想M
PUプロセスと、前記実装メモリ,前記エミュレータよ
り供給される前記検証デザインのエミュレーション用ク
ロックに同期してデータの送受信を行うエミュレータ入
出力部,前記仮想I/Oプロセスと通信を行い前記エミ
ュレータとは独立して前記実装メモリをアクセスするD
MA転送部,前記実装メモリの制御部であって前記エミ
ュレータ入出力部からのメモリアクセス要求,前記DM
A転送部からのDMA要求,およびメモリリフレッシュ
要求の調停を行うメモリコントローラ,前記エミュレー
タおよび前記仮想I/Oプロセスと協調して自メモリボ
ードが動作するようにコントロールを行う転送制御部,
ならびに前記仮想MPUプロセスとデータの送受信を行
う仮想MPU入出力部を備えるメモリボードと、前記エ
ミュレータ入出力部からエミュレーション用クロックお
よび要求・応答コマンドの実行ステータスを受け取り、
エミュレーション用クロックカウント数を算出して、要
求・応答コマンドとエミュレーション用クロックカウン
ト数とを対応付けた実行トレース情報を作成するコマン
ドトレース部,前記コマンドトレース部からの実行トレ
ース情報を記録するとともに記録した実行トレース情報
を再現トレース情報として供給するトレースバッファ,
前記コマンドトレース部からの実行トレース情報と前記
トレースバッファからの再現トレース情報とを比較する
比較器,ならびに前記比較器からの比較結果に基づい
て、エミュレーション用クロックカウント数および要求
・応答コマンドがともに不一致の場合には比較を続け、
エミュレーション用クロックカウント数および要求・応
答コマンドが一致した場合には該要求・応答コマンドの
実行を前記転送制御部に指令し、エミュレーション用ク
ロックカウント数だけが一致した場合には前記エミュレ
ータのエミュレーション用クロックの停止を前記転送制
御部に指令し、要求・応答コマンドだけが一致した場合
には該要求・応答コマンドの保留を前記転送制御部に指
令する同期制御部とを備えるトレーサとを有することを
特徴とする。
Furthermore, the logic verification apparatus for reproducing and executing the co-simulation according to the present invention is a verification design in which a circuit for logic verification is modeled, a clock supply circuit for supplying an emulation clock to the verification design, and the clock supply. A virtual I that performs DMA transfer between an emulator that includes an emulator control unit that controls the supply of an emulation clock to a circuit and a mounted memory in response to an I / O request from the verification design.
/ O process and virtual M that operates as a virtual MPU
The PU process, the mounted memory, the emulator input / output unit that transmits and receives data in synchronization with the verification design emulation clock supplied from the emulator, communicates with the virtual I / O process, and is independent of the emulator. To access the mounted memory by D
MA transfer unit, control unit of the mounted memory, memory access request from the emulator input / output unit, DM
A memory controller that arbitrates the DMA request and the memory refresh request from the A transfer unit, a transfer control unit that controls the own memory board to operate in cooperation with the emulator and the virtual I / O process,
And a memory board having a virtual MPU input / output unit for transmitting / receiving data to / from the virtual MPU process, and an emulation clock and execution status of request / response commands from the emulator input / output unit
A command trace unit that calculates the emulation clock count number and creates execution trace information that associates the request / response command with the emulation clock count number, and records the execution trace information from the command trace unit. A trace buffer that supplies execution trace information as reproduction trace information,
A comparator that compares the execution trace information from the command trace unit with the reproduction trace information from the trace buffer, and the emulation clock count number and the request / response command do not match based on the comparison result from the comparator. If, continue to compare,
When the emulation clock count number and the request / response command match, the transfer control unit is instructed to execute the request / response command, and when only the emulation clock count number matches, the emulator emulation clock And a tracer having a synchronization control unit for instructing the transfer control unit to hold the request / response command when only the request / response commands match. And

【0017】また、本発明の協調シミュレーションの再
現実行を行う論理検証装置は、論理検証を行う回路をモ
デリングした検証デザイン,該検証デザインにエミュレ
ーション用クロックを供給するクロック供給回路,およ
び該クロック供給回路に対するエミュレーション用クロ
ックの供給を制御するエミュレータ制御部を備えるエミ
ュレータと、前記検証デザインからのI/O要求に応じ
て実装メモリとの間でDMA転送を行うI/O装置と、
仮想的なMPUとして動作する仮想MPUプロセスと、
前記実装メモリ,前記エミュレータより供給される前記
検証デザインのエミュレーション用クロックに同期して
データの送受信を行うエミュレータ入出力部,前記I/
O装置と通信を行い前記エミュレータとは独立して前記
実装メモリをアクセスするDMA転送部,前記実装メモ
リの制御部であって前記エミュレータ入出力部からのメ
モリアクセス要求,前記DMA転送部からのDMA要
求,およびメモリリフレッシュ要求の調停を行うメモリ
コントローラ,前記エミュレータおよび前記I/O装置
と協調して自メモリボードが動作するようにコントロー
ルを行う転送制御部,ならびに前記仮想MPUプロセス
とデータの送受信を行う仮想MPU入出力部を備えるメ
モリボードと、前記エミュレータ入出力部からエミュレ
ーション用クロックおよび要求・応答コマンドの実行ス
テータスを受け取り、エミュレーション用クロックカウ
ント数を算出して、要求・応答コマンドとエミュレーシ
ョン用クロックカウント数とを対応付けた実行トレース
情報を作成するコマンドトレース部,前記コマンドトレ
ース部からの実行トレース情報を記録するとともに記録
した実行トレース情報を再現トレース情報として供給す
るトレースバッファ,前記コマンドトレース部からの実
行トレース情報と前記トレースバッファからの再現トレ
ース情報とを比較する比較器,ならびに前記比較器から
の比較結果に基づいて、エミュレーション用クロックカ
ウント数および要求・応答コマンドがともに不一致の場
合には比較を続け、エミュレーション用クロックカウン
ト数および要求・応答コマンドが一致した場合には該要
求・応答コマンドの実行を前記転送制御部に指令し、エ
ミュレーション用クロックカウント数だけが一致した場
合には前記エミュレータのエミュレーション用クロック
の停止を前記転送制御部に指令し、要求・応答コマンド
だけが一致した場合には該要求・応答コマンドの保留を
前記転送制御部に指令する同期制御部とを備えるトレー
サとを有することを特徴とする。
Further, the logic verification apparatus for reproducing and executing the co-simulation according to the present invention is a verification design in which a circuit for logic verification is modeled, a clock supply circuit for supplying an emulation clock to the verification design, and the clock supply circuit. An emulator having an emulator control unit for controlling the supply of an emulation clock to the I / O device, and an I / O device for performing DMA transfer between the mounted memory in response to the I / O request from the verification design.
A virtual MPU process that operates as a virtual MPU,
The mounted memory, an emulator input / output unit that transmits and receives data in synchronization with an emulation clock of the verification design supplied from the emulator, and the I / O
A DMA transfer unit that communicates with the O device to access the mounted memory independently of the emulator, a memory access request from the emulator input / output unit that is a controller of the mounted memory, and a DMA from the DMA transfer unit. Requests, and a memory controller that arbitrates memory refresh requests, a transfer controller that controls the own memory board to operate in cooperation with the emulator and the I / O device, and data transmission / reception with the virtual MPU process. A memory board having a virtual MPU input / output unit to be executed and an emulation clock and an execution status of a request / response command from the emulator input / output unit are received, and an emulation clock count is calculated to calculate the request / response command and the emulation clock. Cow Command trace section that creates execution trace information in association with the number of traces, a trace buffer that records the execution trace information from the command trace section and supplies the recorded execution trace information as reproduction trace information, and the command trace section Comparing the execution trace information of the above with the trace information reproduced from the trace buffer, and based on the comparison result from the comparator, if the emulation clock count number and the request / response command do not match, a comparison is made. If the emulation clock count number and the request / response command match, the transfer control unit is instructed to execute the request / response command, and if only the emulation clock count number matches, the emulator Emulation And a synchronization control unit for instructing the transfer control unit to suspend the request clock and, when only the request / response commands match, to suspend the request / response command to the transfer control unit. It is characterized by having.

【0018】さらに、本発明の協調シミュレーションの
再現実行を行う論理検証装置は、前記要求・応答コマン
ドが、前記エミュレータから前記仮想I/Oプロセスへ
のデータ転送要求コマンド,前記仮想I/Oプロセスか
ら前記エミュレータへのデータ転送終了応答コマンド,
前記エミュレータから前記メモリボードへのアクセス要
求コマンド,および前記メモリボードから前記エミュレ
ータへのアクセス応答コマンドの4種類であることを特
徴とする。
Further, in the logic verification apparatus for reproducing and executing the co-simulation of the present invention, the request / response command is a data transfer request command from the emulator to the virtual I / O process, or the virtual I / O process. Data transfer end response command to the emulator,
There are four types of commands, an access request command from the emulator to the memory board and an access response command from the memory board to the emulator.

【0019】さらにまた、本発明の協調シミュレーショ
ンの再現実行を行う論理検証装置は、前記メモリボード
が、前記検証デザインとは独立した高速のクロックで稼
動することを特徴とする。
Furthermore, the logic verification device for reproducing and executing the co-simulation of the present invention is characterized in that the memory board operates at a high-speed clock independent of the verification design.

【0020】また、本発明の協調シミュレーションの再
現実行を行う論理検証装置は、前記検証デザインとして
一方のMPUをモデリングし、前記仮想MPUプロセス
として他方のMPUを構成することにより、2つのMP
Uからなるマルチプロセッサの論理検証を行うことを特
徴とする。
Further, the logic verification apparatus for reproducing and executing the co-simulation according to the present invention models two MPUs as the verification design and configures the other MPU as the virtual MPU process to construct two MPUs.
It is characterized in that logic verification of a multiprocessor consisting of U is performed.

【0021】さらに、本発明の協調シミュレーションの
再現実行を行う論理検証装置は、前記仮想MPUプロセ
スとして市販MPUモデルを動かし、前記検証デザイン
として前記MPUに接続するチップセットをモデリング
することにより、前記チップセットの論理検証を行うこ
とを特徴とする。
Further, the logic verification apparatus for reproducing and executing the co-simulation according to the present invention operates the commercial MPU model as the virtual MPU process, and models the chipset connected to the MPU as the verification design to obtain the chip. It is characterized by performing logical verification of the set.

【0022】一方、本発明の協調シミュレーションの再
現実行を行う論理検証装置での協調シミュレーションの
再現実行方法は、エミュレータと論理シミュレータとに
より協調シミュレーションを行う論理検証装置での協調
シミュレーションの再現実行方法であって、協調シミュ
レーションの実行中に発生した要求・応答コマンドおよ
び該要求・応答コマンドが発生したエミュレーション用
クロックカウント数を記録し、前回の協調シミュレーシ
ョンを再現する際には、再現実行中の要求・応答コマン
ドおよび該要求・応答コマンドが発生したエミュレーシ
ョン用クロックカウント数と記録していた要求・応答コ
マンドおよびエミュレーション用クロックカウント数と
を比較し、エミュレーション用クロックカウント数およ
び要求・応答コマンドがともに不一致の場合には比較を
続け、エミュレーション用クロックカウント数および要
求・応答コマンドが一致した場合には該要求・応答コマ
ンドを実行し、エミュレーション用クロックカウント数
だけが一致した場合にはエミュレーション用クロックを
停止し、要求・応答コマンドだけが一致した場合には該
要求・応答コマンドを保留することを特徴とする。
On the other hand, the co-simulation reproduction / execution method in the logic verification device for executing co-simulation reproduction / execution according to the present invention is the co-simulation reproduction / execution method in the logic verification device for co-simulation by the emulator and the logic simulator. Therefore, the request / response command generated during the execution of the co-simulation and the emulation clock count number generated by the request / response command are recorded. The response command and the emulation clock count number generated by the request / response command are compared with the recorded request / response command and emulation clock count number, and the emulation clock count number and the request / response frame are compared. If both codes do not match, the comparison is continued. If the emulation clock count number and the request / response command match, the request / response command is executed. If only the emulation clock count number matches, the emulation The clock is stopped, and when only the request / response command matches, the request / response command is held.

【0023】本発明においては、協調シミュレーション
の再現性を解決し、なおかつ、最適な協調シミュレーシ
ョンを実現するために、先行技術の協調シミュレーショ
ンによる論理検証装置に対してトレーサのブロックを追
加し、再現性を保証する仕組を搭載した。トレーサは、
協調シミュレーションの実行中に発生した要求・応答コ
マンドおよび該要求・応答コマンドが発生したエミュレ
ーション用クロックカウント数を記録し、前回の協調シ
ミュレーションを再現する際には、再現実行中の要求・
応答コマンドおよび該要求・応答コマンドが発生したエ
ミュレーション用クロックカウント数と記録していた要
求・応答コマンドおよびエミュレーション用クロックカ
ウント数とを比較し、エミュレーション用クロックカウ
ント数および要求・応答コマンドがともに不一致の場合
には比較を続け、エミュレーション用クロックカウント
数および要求・応答コマンドが一致した場合には該要求
・応答コマンドの実行を指令し、エミュレーション用ク
ロックカウント数だけが一致した場合にはエミュレーシ
ョン用クロックの停止を指令し、要求・応答コマンドだ
けが一致した場合には該要求・応答コマンドの保留を指
令する。このトレーサの機能により、前回と完全にタイ
ミングが一致した協調シミュレーションを再現できる。
In the present invention, in order to solve the reproducibility of the co-simulation and to realize the optimum co-simulation, a tracer block is added to the logic verification device by the co-simulation of the prior art, and the reproducibility is improved. Equipped with a mechanism to guarantee. Tracer
The request / response command generated during the execution of the co-simulation and the emulation clock count number generated by the request / response command are recorded.
The response command and the emulation clock count number generated by the request / response command are compared with the recorded request / response command and emulation clock count numbers, and the emulation clock count number and the request / response command do not match. If the emulation clock count number and the request / response command match, the execution of the request / response command is instructed. If only the emulation clock count number matches, the emulation clock count The stop is instructed, and when only the request / response commands match, the request / response command is suspended. The function of this tracer makes it possible to reproduce a co-simulation whose timing is exactly the same as the previous time.

【0024】[0024]

【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

【0025】[第1の実施の形態]図1は、本発明の第
1の実施の形態に係る協調シミュレーションの再現実行
を行う論理検証装置の構成を示すブロック図である。本
実施の形態に係る協調シミュレーションの再現実行を行
う論理検証装置は、エミュレータ100と、仮想I/O
プロセス110と、メモリボード120と、トレーサ2
00とから、その主要部が構成されている。
[First Embodiment] FIG. 1 is a block diagram showing the arrangement of a logic verification apparatus for reproducing and executing a co-simulation according to the first embodiment of the present invention. The logic verification device for reproducing and executing the co-simulation according to the present embodiment includes an emulator 100 and a virtual I / O.
Process 110, memory board 120, tracer 2
00 and the main parts thereof are configured.

【0026】エミュレータ100は、実際の論理検証を
行う回路をモデリングした検証デザイン101と、検証
デザイン101にエミュレーション用クロックを供給す
るクロック供給回路103と、クロック供給回路103
に対するエミュレーション用クロックの供給を制御する
エミュレータ制御部102とから構成される。
The emulator 100 includes a verification design 101 in which a circuit for performing actual logic verification is modeled, a clock supply circuit 103 for supplying an emulation clock to the verification design 101, and a clock supply circuit 103.
And an emulator control unit 102 for controlling the supply of the emulation clock to the.

【0027】仮想I/Oプロセス110は、検証デザイ
ン101からのI/O要求に応じてデータを実装メモリ
125との間でDMA転送する。
The virtual I / O process 110 DMA-transfers data to and from the mounting memory 125 in response to an I / O request from the verification design 101.

【0028】メモリボード120は、エミュレータ入出
力部121と、転送制御部122と、DMA転送部12
3と、メモリコントローラ124と、実装メモリ125
とから構成される。 メモリボード120は、検証デザ
イン101とは独立した高速のクロック(以下、内部ク
ロックという)、たとえば検証デザイン101が数MH
zのクロックで動くのに対して、1桁上の数十MHzで
稼働する。
The memory board 120 includes an emulator input / output unit 121, a transfer control unit 122, and a DMA transfer unit 12.
3, memory controller 124, and mounted memory 125
Composed of and. The memory board 120 has a high-speed clock independent of the verification design 101 (hereinafter referred to as an internal clock), for example, the verification design 101 has several MH.
It operates with a clock of z, but operates at tens of MHz, which is one digit higher.

【0029】エミュレータ入出力部121は、エミュレ
ータ100より供給される検証デザイン101のエミュ
レーション用クロックに同期してデータの送受信を行
う。
The emulator input / output unit 121 transmits / receives data in synchronization with the emulation clock of the verification design 101 supplied from the emulator 100.

【0030】DMA転送部123は、仮想I/Oプロセ
ス110と通信を行い、エミュレータ100とは独立し
てメモリコントローラ124を介して実装メモリ125
をアクセスする。
The DMA transfer unit 123 communicates with the virtual I / O process 110, and independently of the emulator 100, the mounted memory 125 via the memory controller 124.
To access.

【0031】転送制御部122は、エミュレータ100
および仮想I/Oプロセス110と協調してメモリボー
ド120が動作するようにコントロールを行う。また、
トレーサ200と信号を交換し、コマンド要求および再
現条件に応じて検証デザイン101のエミュレーション
を停止・再開するために、エミュレータ100中のクロ
ック供給回路103に対して指示を行う機能を備える。
The transfer control unit 122 uses the emulator 100.
Also, control is performed so that the memory board 120 operates in cooperation with the virtual I / O process 110. Also,
It has a function of exchanging signals with the tracer 200 and giving an instruction to the clock supply circuit 103 in the emulator 100 in order to stop / restart the emulation of the verification design 101 according to a command request and a reproduction condition.

【0032】メモリコントローラ124は、実装メモリ
125の制御部であり、実装メモリ125と実際にデー
タを読み書きするブロックである。また、メモリリフレ
ッシュ動作を司る。メモリコントローラ124は、最大
3ヵ所からのメモリアクセス要求、すなわちメモリリフ
レッシュ要求,エミュレータ入出力部121からのメモ
リアクセス要求,およびDMA転送部123からのDM
A要求が重なる場合は、転送制御部122とメモリアク
セス要求の調停を行い、同期タイミングを算出してメモ
リアクセス要求の優先順位を決定する。そして、決定し
た順番で実装メモリ125をアクセスし、結果をそれぞ
れの要求元に送る。
The memory controller 124 is a control unit of the mounting memory 125, and is a block that actually reads and writes data from the mounting memory 125. It also controls the memory refresh operation. The memory controller 124 has memory access requests from three locations at maximum, that is, a memory refresh request, a memory access request from the emulator input / output unit 121, and a DM from the DMA transfer unit 123.
When the A requests overlap, the transfer control unit 122 and the memory access request are arbitrated, the synchronization timing is calculated, and the priority order of the memory access request is determined. Then, the mounting memory 125 is accessed in the determined order, and the result is sent to each request source.

【0033】トレーサ200は、協調シミュレーション
を完全に再現するためのブロックであり、コマンドトレ
ース部201と、トレースバッファ202と、比較器2
03と、同期制御部204とから構成される。
The tracer 200 is a block for completely reproducing the co-simulation, and includes a command trace section 201, a trace buffer 202, and a comparator 2.
03 and a synchronization control unit 204.

【0034】コマンドトレース部201は、エミュレー
タ入出力部121からエミュレーション用クロックおよ
びデータ送受信等の要求・応答コマンドの実行ステータ
スを受け取り、現在のエミュレーション用クロックカウ
ント数を算出して、要求・応答コマンドとエミュレーシ
ョン用クロックカウント数とを対応付けた実行トレース
情報を作成する。ただし、実行トレース情報が作成され
る要求・応答コマンドは、エミュレータ100から仮想
I/Oプロセス110へのデータ転送要求コマンド,仮
想I/Oプロセス110からエミュレータ100へのデ
ータ転送終了応答コマンド,エミュレータ100からメ
モリボード120へのアクセス要求コマンド,およびメ
モリボード120からエミュレータ100へのアクセス
応答コマンドの4種類である。これらの要求・応答コマ
ンド以外のメモリボード120および仮想I/Oプロセ
ス110で閉じる要求・応答コマンドは、エミュレータ
100のエミュレーション用クロックと同期をとる必要
がなく、また、これらの動作は同期をとる必要のある要
求・応答コマンドの背後で処理されるべきものであるた
めに実行トレース情報が作成されない。
The command trace section 201 receives from the emulator input / output section 121 the emulation clock and the execution status of request / response commands such as data transmission / reception, calculates the current emulation clock count number, and outputs the request / response commands. Create execution trace information that correlates with the clock count for emulation. However, the request / response command for creating the execution trace information is a data transfer request command from the emulator 100 to the virtual I / O process 110, a data transfer end response command from the virtual I / O process 110 to the emulator 100, or the emulator 100. From the memory board 120 to the memory board 120 and an access response command from the memory board 120 to the emulator 100. Request / response commands other than these request / response commands that are closed by the memory board 120 and virtual I / O process 110 need not be synchronized with the emulation clock of the emulator 100, and these operations need to be synchronized. Execution trace information is not created because it should be processed behind a certain request / response command.

【0035】トレースバッファ202は、コマンドトレ
ース部201からの実行トレース情報を記録する。ま
た、記録した実行トレース情報を協調エミュレーション
を再現するための再現トレース情報として比較器203
に供給する。
The trace buffer 202 records the execution trace information from the command trace unit 201. In addition, the comparator 203 uses the recorded execution trace information as reproduction trace information for reproducing the co-emulation.
Supply to.

【0036】比較器203は、コマンドトレース部20
1からの実行トレース情報とトレースバッファ202か
らの再現トレース情報とを比較し、一致/不一致を判定
する。
The comparator 203 includes a command trace unit 20.
The execution trace information from 1 and the reproduction trace information from the trace buffer 202 are compared to determine a match / mismatch.

【0037】同期制御部204は、転送制御部122か
らエミュレーション用クロックと内部クロックとの同期
信号に同期して比較器203からの比較結果を判定し、
転送制御部122に対して協調エミュレーションを再現
するための指令を送る。指令には、要求・応答コマンド
の保留指示/指示解除およびエミュレーション用クロッ
クの停止指示/指示解除がある。
The synchronization control unit 204 determines the comparison result from the comparator 203 in synchronization with the synchronization signal of the emulation clock and the internal clock from the transfer control unit 122,
A command for reproducing the cooperative emulation is sent to the transfer control unit 122. The commands include a request / response command suspension instruction / instruction cancellation and an emulation clock stop instruction / instruction cancellation.

【0038】図2を参照すると、エミュレータ100の
処理は、エミュレーション実行環境セットアップステッ
プS101と、エミュレーション用クロック供給開始ス
テップS102と、エミュレーションステップS103
と、エミュレーション用クロック供給停止判定ステップ
S104と、エミュレーション用クロック供給停止ステ
ップS105と、再開要求検出ステップS106と、エ
ミュレーション用クロック供給再開ステップS107と
からなる。
Referring to FIG. 2, the process of the emulator 100 is emulation execution environment setup step S101, emulation clock supply start step S102, and emulation step S103.
An emulation clock supply stop determination step S104, an emulation clock supply stop step S105, a restart request detection step S106, and an emulation clock supply restart step S107.

【0039】図3を参照すると、仮想I/Oプロセス1
10の処理は、協調シミュレーション準備ステップS1
11と、I/O要求判定ステップS112と、DMA転
送ステップS113と、DMA転送終了判定ステップS
114とからなる。
Referring to FIG. 3, virtual I / O process 1
The process of 10 is the co-simulation preparation step S1.
11, I / O request determination step S112, DMA transfer step S113, and DMA transfer end determination step S112.
And 114.

【0040】図4を参照すると、メモリボード120の
処理は、初期化・エミュレーション設定ステップS12
1と、要求検出ステップS122と、メモリリフレッシ
ュステップS123と、実装メモリへのアクセスステッ
プS124と、DMA転送部へのI/O要求指令ステッ
プS125と、DMA転送終了通知ステップS126と
からなる。
Referring to FIG. 4, the process of the memory board 120 includes initialization / emulation setting step S12.
1, a request detection step S122, a memory refresh step S123, a mounted memory access step S124, an I / O request command step S125 to the DMA transfer unit, and a DMA transfer end notification step S126.

【0041】図5を参照すると、DMA転送部123の
処理は、初期化・エミュレーション設定ステップS13
1と、I/O要求判定ステップS132と、DMA転送
準備ステップS133と、仮想I/OプロセスへのI/
O要求発行ステップS134と、DMA転送実行ステッ
プS135と、転送終了判定ステップS136と、DM
A転送終了通知ステップS137とからなる。
Referring to FIG. 5, the processing of the DMA transfer unit 123 is performed by initialization / emulation setting step S13.
1, I / O request determination step S132, DMA transfer preparation step S133, and I / O to the virtual I / O process.
O request issuing step S134, DMA transfer executing step S135, transfer end determining step S136, DM
A transfer end notification step S137.

【0042】図6を参照すると、トレーサ200のトレ
ースモードでの処理は、トレースバッファ初期化ステッ
プS201と、初期化・エミュレーション設定ステップ
S202と、要求・応答コマンド有無判定ステップS2
03と、要求・応答コマンドおよびエミュレーション用
クロックカウント数記録ステップS204と、要求・応
答コマンド実行ステップS205とからなる。
Referring to FIG. 6, the processing in the trace mode of the tracer 200 includes a trace buffer initialization step S201, an initialization / emulation setting step S202, and a request / response command presence / absence determination step S2.
03, a request / response command and emulation clock count number recording step S204, and a request / response command execution step S205.

【0043】図7を参照すると、トレーサ200の再現
モードでの処理は、再現トレース情報ロードステップS
301と、初期化・エミュレーション設定ステップS3
02と、再現トレース情報読み出しステップS303
と、比較結果判定ステップS304と、要求・応答コマ
ンド実行ステップS305と、エミュレーション用クロ
ック停止および要求・応答コマンド保留解除ステップS
306と、要求・応答コマンド一致判定ステップS31
1と、エミュレーション用クロック停止ステップS31
2と、エミュレーション用クロックカウント数一致判定
ステップS321と、要求・応答コマンド保留ステップ
322とからなる。
Referring to FIG. 7, the process of the tracer 200 in the reproduction mode is the reproduction trace information loading step S.
301 and initialization / emulation setting step S3
02 and reproduction trace information reading step S303
A comparison result determination step S304, a request / response command execution step S305, an emulation clock stop and a request / response command hold release step S
306 and request / response command match determination step S31
1 and emulation clock stop step S31
2, an emulation clock count number coincidence determination step S321, and a request / response command suspension step 322.

【0044】次に、このように構成された第1の実施の
形態に係る協調シミュレーションの再現実行を行う論理
検証装置の動作について説明する。
Next, the operation of the logic verification device configured to reproduce and execute the co-simulation according to the first embodiment will be described.

【0045】本実施の形態では、1回のI/O要求毎に
必ず検証デザイン101へのエミュレーション用クロッ
クを停止・再開する必要はない。検証デザイン101へ
のエミュレーション用クロックを停止するのは、エミュ
レータ100や仮想I/Oプロセス110の処理時間が
実機と異なる場合の待ち合わせ,検証デザイン101が
実行している検証ジョブの例外処理等の限られた場合で
ある。本実施の形態の各ブロックは協調して動作してい
るので、ブロック毎の動作を説明する。実際には全ブロ
ックの動作を管理する上位プロセスがあるが、上位プロ
セスの処理は全体の管理および起動・終了が主な役割で
あり、本発明の要旨には関係ないので、ここでは割愛す
る。
In this embodiment, it is not always necessary to stop / restart the emulation clock for the verification design 101 for each I / O request. The emulation clock to the verification design 101 is stopped only when the processing time of the emulator 100 or the virtual I / O process 110 is different from that of the actual machine, and when exception processing of the verification job executed by the verification design 101 is performed. It is the case. Since each block of this embodiment operates in cooperation with each other, the operation of each block will be described. Actually, there is a higher-level process that manages the operations of all blocks, but the processing of the higher-level process is mainly responsible for overall management and activation / termination, and is omitted here because it is not related to the gist of the present invention.

【0046】まず、エミュレータ100の動作を説明す
る。
First, the operation of the emulator 100 will be described.

【0047】ステップS101:エミュレータ100に
検証デザイン101のモデルデータをロードし、エミュ
レーションが実行できる環境をセットアップする。
Step S101: The model data of the verification design 101 is loaded into the emulator 100 to set up an environment in which emulation can be executed.

【0048】ステップS102:次に、エミュレータ制
御部102は、クロック供給回路103にエミュレーシ
ョン用クロックの供給開始を指令する。これにより、ク
ロック供給回路103は、検証デザイン101に対する
エミュレーション用クロックの供給を開始し、検証デザ
イン101は、エミュレーションを開始する。検証デザ
イン101は、エミュレーション用クロックを同期化の
ためにメモリボード120にも供給する。
Step S102: Next, the emulator control section 102 commands the clock supply circuit 103 to start the supply of the emulation clock. As a result, the clock supply circuit 103 starts supplying the emulation clock to the verification design 101, and the verification design 101 starts emulation. The verification design 101 also supplies the emulation clock to the memory board 120 for synchronization.

【0049】ステップS103:エミュレーションが進
行し、検証デザイン101からI/O要求が発行される
と、検証デザイン101は、このI/O要求をエミュレ
ータ制御部102へのトリガとはせずに、そのままメモ
リボード120のエミュレータ入出力部121を経由し
て転送制御部122に送る。I/O要求は、転送制御部
122で処理される。検証デザイン101は、エミュレ
ーションをそのまま続ける。
Step S103: When the emulation progresses and an I / O request is issued from the verification design 101, the verification design 101 does not use this I / O request as a trigger for the emulator control unit 102, but directly. It is sent to the transfer control unit 122 via the emulator input / output unit 121 of the memory board 120. The I / O request is processed by the transfer control unit 122. The verification design 101 continues the emulation as it is.

【0050】ステップS104,S105:クロック供
給回路103が転送制御部122からのエミュレーショ
ン用クロックの停止要求を受け付けた場合には、クロッ
ク供給回路103はエミュレーション用クロックの供給
を停止し、検証デザイン101はエミュレーションを停
止する。
Steps S104 and S105: When the clock supply circuit 103 receives a request for stopping the emulation clock from the transfer control unit 122, the clock supply circuit 103 stops the supply of the emulation clock and the verification design 101 Stop emulation.

【0051】ステップS106,S107:クロック供
給回路103が転送制御部122からのエミュレーショ
ン用クロックの再開要求を受け付けた場合には、クロッ
ク供給回路103はエミュレーション用クロックの供給
を再開し、検証デザイン101はエミュレーションを再
開する。
Steps S106 and S107: When the clock supply circuit 103 receives a request for restarting the emulation clock from the transfer control unit 122, the clock supply circuit 103 restarts the supply of the emulation clock and the verification design 101 Restart emulation.

【0052】転送制御部122がDMA転送終了通知を
エミュレータ入出力部121を通して検証デザイン10
1に対して送ってきたならば、検証デザイン101は、
それをエミュレーションによって処理する。
The transfer controller 122 sends a DMA transfer end notification to the verification design 10 through the emulator input / output unit 121.
If you send it to 1, the verification design 101,
It is processed by emulation.

【0053】次に、仮想I/Oプロセス110の動作を
説明する。
Next, the operation of the virtual I / O process 110 will be described.

【0054】ステップS111:まず、仮想I/Oプロ
セス110は、最初に必要な初期設定等を行い、協調シ
ミュレーションの準備をする。
Step S111: First, the virtual I / O process 110 first makes necessary initial settings and the like to prepare for co-simulation.

【0055】ステップS112:次に、仮想I/Oプロ
セス110は、検証デザイン101からのI/O要求を
待つ(ウェイト状態)。このI/O要求は、実際にはエ
ミュレータ入出力部121から転送制御部122で受け
付けられ、DMA転送部123を経由して仮想I/Oプ
ロセス110に届く。
Step S112: Next, the virtual I / O process 110 waits for an I / O request from the verification design 101 (wait state). This I / O request is actually received from the emulator input / output unit 121 by the transfer control unit 122 and reaches the virtual I / O process 110 via the DMA transfer unit 123.

【0056】ステップS113:I/O要求があると、
仮想I/Oプロセス110は、メモリボード120とデ
ータを送信・受信する。データはDMA転送部122と
の通信によりDMA転送される。
Step S113: When there is an I / O request,
The virtual I / O process 110 transmits / receives data to / from the memory board 120. The data is DMA-transferred by communication with the DMA transfer unit 122.

【0057】ステップS114:I/O要求に基づくD
MA転送が終わると、仮想I/Oプロセス110は、そ
の旨をメモリボード120に伝える。あるいは、メモリ
ボード120側で最後のデータ転送が終わったことを検
出する。この後、仮想I/Oプロセス110は、DMA
転送を終了し、ステップS112に制御を戻してウェイ
ト状態に返る。
Step S114: D based on I / O request
When the MA transfer is completed, the virtual I / O process 110 notifies the memory board 120 to that effect. Alternatively, the end of the last data transfer is detected on the memory board 120 side. After this, the virtual I / O process 110 executes the DMA
The transfer is ended, and the control is returned to step S112 to return to the wait state.

【0058】次に、メモリボード120の動作を説明す
る。メモリボード120は、エミュレータ100とは独
立した高速のクロックで動作しており、実装メモリ12
5に対する要求が競合(衝突)した場合でも、エミュレ
ータ100または仮想I/Oプロセス110との応答に
影響しない調停を行うことが可能である。この調停機能
により、メモリボード120は、同時に複数の要求およ
びDMA転送を受け付け、処理することが可能となって
いる。
Next, the operation of the memory board 120 will be described. The memory board 120 operates with a high-speed clock independent of the emulator 100, and
Even if the requests for 5 conflict (collide), it is possible to perform arbitration without affecting the response to the emulator 100 or the virtual I / O process 110. This arbitration function enables the memory board 120 to simultaneously accept and process a plurality of requests and DMA transfers.

【0059】ステップS121:最初に、上位プロセス
により、メモリボード120に初期化およびエミュレー
ションに必要な設定を行う。実装メモリ125がメモリ
リフレッシュ動作を必要とするDRAM(Dynami
c Random Access Memory)等の
モジュールの場合、リフレッシュコントロールを有効に
し、規定のサイクルに従ってメモリリフレッシュ動作を
行うように設定がされる。
Step S121: First, the upper process sets the memory board 120 for initialization and emulation. A DRAM (Dynami) whose mounted memory 125 requires a memory refresh operation.
In the case of a module such as c Random Access Memory), refresh control is enabled, and a memory refresh operation is set according to a specified cycle.

【0060】ステップS122:検証デザイン101か
らメモリボード120への要求があると、エミュレータ
入出力部121で受け付け、転送制御部122に対して
要求が上がる。転送制御部122は、要求の内容を判定
し、メモリアクセス要求またはI/O要求をメモリコン
トローラ124またはDMA転送部123へ発行する。
また、メモリボード120の内部処理のための要求が、
転送制御部122自体によってメモリコントローラ12
4へ発行される。
Step S122: When there is a request from the verification design 101 to the memory board 120, the emulator input / output unit 121 accepts the request, and the request is sent to the transfer control unit 122. The transfer control unit 122 determines the content of the request and issues a memory access request or an I / O request to the memory controller 124 or the DMA transfer unit 123.
Further, a request for internal processing of the memory board 120 is
The memory controller 12 is controlled by the transfer control unit 122 itself.
Issued to 4.

【0061】メモリコントローラ124は、各要求が競
合する場合、要求の調停を行い、それぞれの処理を実施
する。
When the requests conflict with each other, the memory controller 124 arbitrates the requests and executes the respective processes.

【0062】ステップS123:リフレッシュ要求の場
合は、メモリコントローラ124は、実装メモリ125
のリフレッシュ処理を行う。
Step S123: In the case of a refresh request, the memory controller 124 determines the mounted memory 125.
Refresh process.

【0063】ステップS124:メモリアクセス要求の
場合は、メモリコントローラ124は、実装メモリ12
5に対してデータを読み書きし、エミュレータ入出力部
121とデータを送受信する。エミュレータ入出力部1
21は、検証デザイン101より供給されるエミュレー
ション用クロックに同期して、データを転送する。
Step S124: In the case of a memory access request, the memory controller 124 causes the mounted memory 12
5 to read / write data and to / from the emulator input / output unit 121. Emulator input / output section 1
Reference numeral 21 transfers data in synchronization with the emulation clock supplied from the verification design 101.

【0064】ステップS125:I/O要求の場合は、
DMA転送部123に対してDMA転送の準備,および
仮想I/Oプロセス110へのI/O要求の発行を指令
する。指令を受けたDMA転送部123は、後述するス
テップS133〜S137の処理を実施する。転送制御
部122は、I/O要求を発行したことを記憶し、次の
要求を受け付けるためにステップS122に制御を戻
す。
Step S125: In case of I / O request,
The DMA transfer unit 123 is instructed to prepare for DMA transfer and issue an I / O request to the virtual I / O process 110. The DMA transfer unit 123 that has received the instruction executes the processes of steps S133 to S137 described below. The transfer control unit 122 stores that the I / O request has been issued, and returns the control to step S122 to accept the next request.

【0065】ステップS126:DMA転送部123が
DMA転送を終了してステップS137で転送制御部1
22に送った転送終了通知を受け取り、記憶していたI
/O要求の終了処理、すなわち、DMA転送終了の通知
をエミュレータ入出力部121経由で検証デザイン10
1に行う。
Step S126: The DMA transfer unit 123 finishes the DMA transfer, and the transfer control unit 1 is sent in Step S137.
I received the transfer end notification sent to 22 and memorized it
I / O request termination processing, that is, notification of DMA transfer termination via the emulator I / O unit 121.
Go to 1.

【0066】転送制御部122は、上記に示す動作の
他、メモリボード120と他ブロック間の協調シミュレ
ーションに必要な制御を行う。検証デザイン101への
エミュレーション用クロックを制御する必要がある場合
は、クロック供給回路103にエミュレーション用クロ
ックの停止および再開を要求する。
In addition to the operation described above, the transfer control unit 122 performs control necessary for co-simulation between the memory board 120 and other blocks. When it is necessary to control the emulation clock to the verification design 101, the clock supply circuit 103 is requested to stop and restart the emulation clock.

【0067】次に、DMA転送部123が行うDMA転
送処理について説明する。
Next, the DMA transfer processing performed by the DMA transfer unit 123 will be described.

【0068】DMA転送部123は、仮想I/Oプロセ
ス110と通信を行い、I/O要求の通知,および仮想
I/Oプロセス110と実装メモリ125との間のDM
A転送を司る。
The DMA transfer unit 123 communicates with the virtual I / O process 110 to notify the I / O request and DM between the virtual I / O process 110 and the mounted memory 125.
Control A transfer.

【0069】ステップS131:ステップS121と同
時にDMA転送部123が初期化され、エミュレーショ
ンの設定が行われる。
Step S131: Simultaneously with step S121, the DMA transfer section 123 is initialized and the emulation is set.

【0070】ステップS132:DMA転送部123
は、転送制御部122からのI/O要求指令を待つ。
Step S132: DMA transfer section 123
Waits for an I / O request command from the transfer control unit 122.

【0071】ステップS133:DMA転送部123
は、I/O要求指令を受けて、DMA転送の準備を行
う。
Step S133: DMA transfer section 123
Receives an I / O request command and prepares for DMA transfer.

【0072】ステップS134:DMA転送部123
は、仮想I/Oプロセス110に対してI/O要求の発
行を行う。
Step S134: DMA transfer section 123
Issues an I / O request to the virtual I / O process 110.

【0073】ステップS135,S136:DMA転送
部123が仲介して、仮想I/Oプロセス110と実装
メモリ125とのDMA転送を実施する。この間、メモ
リコントローラ124は、DMA転送と他の要求が競合
した場合は調停を行い、適切なタイミングでデータを実
装メモリ125に読み書きする。
Steps S135 and S136: The DMA transfer section 123 mediates the DMA transfer between the virtual I / O process 110 and the mounted memory 125. During this time, the memory controller 124 performs arbitration when the DMA transfer conflicts with another request, and reads / writes data from / to the mounting memory 125 at an appropriate timing.

【0074】ステップS137:I/O要求に基づく最
後のDMA転送が終了すると、DMA転送部123は、
その旨を転送制御部122に通知し、ステップS132
に制御を戻して次の指令を待つ。
Step S137: When the final DMA transfer based on the I / O request is completed, the DMA transfer section 123
This is notified to the transfer control unit 122, and step S132
Return control to and wait for the next command.

【0075】次に、トレーサ200の動作について説明
する。
Next, the operation of the tracer 200 will be described.

【0076】トレーサ200は、2種類の動作モードを
備えている。一つは、エミュレータ100の動作を再現
するための記録を行うトレースモードであり、もう一つ
は、前回の協調エミュレーションを再現する再現モード
である。トレースモードにおいて、トレーサ200は、
協調シミュレーションの実行中に再現のために同期を行
う要求・応答コマンドと該要求・応答コマンドが発生し
たエミュレーション用クロックカウント数とを対にした
実行トレース情報を記録する。再現モードでは、トレー
サ200は、記録された実行トレース情報を再現トレー
ス情報として利用して、前回の協調シミュレーションと
再現される協調シミュレーションとの同期化を図る。
The tracer 200 has two kinds of operation modes. One is a trace mode in which recording is performed to reproduce the operation of the emulator 100, and the other is a reproduction mode in which the previous cooperative emulation is reproduced. In the trace mode, the tracer 200
Execution trace information is recorded which is a pair of a request / response command that is synchronized for reproduction during execution of the co-simulation and a number of emulation clock counts generated by the request / response command. In the reproduction mode, the tracer 200 uses the recorded execution trace information as reproduction trace information to synchronize the previous co-simulation with the reproduced co-simulation.

【0077】まず、トレースモードについて説明する
(図6参照)。
First, the trace mode will be described (see FIG. 6).

【0078】ステップS201:上位プロセスにより、
トレースバッファ202の内容が初期化され、書き込み
が許可される。
Step S201: By the upper process,
The contents of the trace buffer 202 are initialized and writing is permitted.

【0079】ステップS202:上位プロセスにより、
初期化およびエミュレーションに必要な設定が行われ
る。
Step S202: By the upper process,
Settings required for initialization and emulation are made.

【0080】ステップS203:コマンドトレース部2
01は、エミュレータ入出力部121からエミュレータ
100およびメモリボード120が実行している要求・
応答コマンドを示す実行ステータスが常に送られてお
り、実行トレース情報を記録すべき前記4種類の要求・
応答コマンドをチェックする。実行トレース情報を記録
すべき要求・応答コマンドが発生した場合は、ステップ
S204に制御を移す。
Step S203: Command trace unit 2
01 indicates a request executed by the emulator 100 and the memory board 120 from the emulator input / output unit 121.
The execution status indicating the response command is always sent, and the four types of requests for recording execution trace information
Check the response command. When a request / response command for recording execution trace information is generated, control is passed to step S204.

【0081】ステップS204:コマンドトレース部2
01から出力された要求・応答コマンドとエミュレーシ
ョン用クロックカウント数とが対応されて実行トレース
情報としてトレースバッファ202に記録される。要求
・応答コマンドと該要求・応答コマンドが発生したエミ
ュレーション用クロックカウント数とが一組の実行トレ
ース情報として記録される。同一のエミュレーション用
クロックカウント数で複数の要求・応答コマンドが発生
した場合は、エミュレーション用クロックカウント数に
対して起こった全ての要求・応答コマンドの論理和が記
録される。
Step S204: Command trace unit 2
The request / response command output from 01 is associated with the emulation clock count number and recorded in the trace buffer 202 as execution trace information. The request / response command and the emulation clock count number at which the request / response command is generated are recorded as a set of execution trace information. When a plurality of request / response commands are generated with the same emulation clock count number, the logical sum of all request / response commands generated with respect to the emulation clock count number is recorded.

【0082】ステップS205:要求・応答コマンドを
実行させる。詳しくは、同期制御部204が、要求・応
答コマンドの保留を解除する指令を転送制御部122に
送出し、転送制御部122がエミュレータ入出力部12
1またはDMA転送部123に要求・応答コマンドの保
留解除を指示することにより、要求・応答コマンドが実
行される。この後、ステップS203に制御を戻す。
Step S205: The request / response command is executed. Specifically, the synchronization control unit 204 sends a command for canceling the hold of the request / response command to the transfer control unit 122, and the transfer control unit 122 causes the emulator input / output unit 12 to operate.
1 or by instructing the DMA transfer unit 123 to release the hold of the request / response command, the request / response command is executed. Then, control is returned to step S203.

【0083】次に、再現モードについて説明する(図7
参照)。
Next, the reproduction mode will be described (see FIG. 7).
reference).

【0084】前回の協調シミュレーションを再現する際
には、トレーサ200では、再現実行中の要求・応答コ
マンドおよび該要求・応答コマンドが発生したエミュレ
ーション用クロックカウント数からなる実行トレース情
報と、記録していた要求・応答コマンドおよびエミュレ
ーション用クロックカウント数からなる再現トレース情
報とを比較器203が比較し、比較結果に基づいて同期
制御部204が、エミュレーション用クロックカウント
数および要求・応答コマンドがともに不一致の場合には
比較を続け、エミュレーション用クロックカウント数お
よび要求・応答コマンドが一致した場合には該要求・応
答コマンドの実行を転送制御部122に指令し、エミュ
レーション用クロックカウント数だけが一致した場合に
はエミュレーション用クロックの停止を転送制御部12
2に指令し、要求・応答コマンドだけが一致した場合に
は該要求・応答コマンドの保留を転送制御部122に指
令する。このトレーサ200の機能により、前回と完全
にタイミングが一致した協調シミュレーションを再現で
きる。
When reproducing the previous co-simulation, the tracer 200 records execution trace information consisting of the request / response command being reproduced and the emulation clock count number at which the request / response command is generated. The comparator 203 compares the reproduced trace information including the request / response command and the emulation clock count number, and based on the comparison result, the synchronization control unit 204 determines that the emulation clock count number and the request / response command do not match. If the emulation clock count number and the request / response command match, the transfer control unit 122 is instructed to execute the request / response command, and if the emulation clock count number only matches. Emulation Transfer control unit to stop the use clock 12
2, and if only the request / response command matches, the transfer control unit 122 is instructed to hold the request / response command. With the function of the tracer 200, it is possible to reproduce a co-simulation whose timing is exactly the same as the previous time.

【0085】ステップS301:上位プロセスにより、
前回の協調シミュレーション時にトレースモードで記録
された再現トレース情報が保存したファイル等から取り
出され、トレースバッファ202に設定されて読み出し
が許可される。
Step S301: By the upper process,
The reproduction trace information recorded in the trace mode at the time of the previous co-simulation is taken out from the saved file or the like, set in the trace buffer 202, and the reading is permitted.

【0086】ステップS302:上位プロセスにより、
初期化およびエミュレーションに必要な設定が行われ
る。
Step S302: By the upper process,
Settings required for initialization and emulation are made.

【0087】ステップS303:トレースバッファ20
2から比較対象となる再現トレース情報が読み出され、
比較器203に供給される。読み出される再現トレース
情報の順番は、記録されたエミュレーション用クロック
カウント数の順で決定される。
Step S303: Trace buffer 20
The reproduction trace information to be compared is read from 2,
It is supplied to the comparator 203. The order of the reproduced trace information to be read is determined in the order of the recorded emulation clock count number.

【0088】ステップS304:比較器203は、コマ
ンドトレース部201から送られる実行トレース情報と
トレースバッファ202から送られる再現トレース情報
とを比較する。エミュレーション用クロックカウント数
および要求・応答コマンドの両方とも不一致の場合は比
較を続ける。エミュレーション用クロックカウント数だ
けが一致した場合、ステップS311に制御を移す。要
求・応答コマンドだけが一致した場合は、ステップS3
21に制御を移す。
Step S304: The comparator 203 compares the execution trace information sent from the command trace unit 201 with the reproduction trace information sent from the trace buffer 202. If both the emulation clock count and the request / response command do not match, the comparison continues. If only the emulation clock count numbers match, control is passed to step S311. If only the request / response commands match, step S3
Control is transferred to 21.

【0089】ステップS311:実行トレース情報の要
求・応答コマンドと再現トレース情報の要求・応答コマ
ンドとを比較する。一致した場合はステップS305に
制御を移す。一致しない場合、これ以上エミュレーショ
ン用クロックの供給を続けると同期がとれなくなるた
め、ステップS312に制御を移す。
Step S311: The execution trace information request / response command is compared with the reproduction trace information request / response command. If they match, control is passed to step S305. If they do not match, if the supply of the emulation clock is further continued, the synchronization will not be established, so the control is shifted to step S312.

【0090】ステップS312:同期制御部204は、
エミュレータ100のエミュレーション用クロックの停
止を転送制御部122に指令し、転送制御部122によ
りクロック供給回路103からのエミュレーション用ク
ロックの送出を停止させる。
Step S312: The synchronization control unit 204
The transfer control unit 122 is instructed to stop the emulation clock of the emulator 100, and the transfer control unit 122 stops the transmission of the emulation clock from the clock supply circuit 103.

【0091】ステップS321:実行トレース情報のエ
ミュレーション用クロックカウント数と再現トレース情
報のエミュレーション用クロックカウント数とを比較す
る。一致した場合はステップS305に制御を移す。一
致しない場合は同期がとれなくなるため、ステップS3
22に制御を移す。
Step S321: The emulation clock count number of the execution trace information is compared with the emulation clock count number of the reproduction trace information. If they match, control is passed to step S305. If they do not match, synchronization cannot be achieved, so step S3
Control is transferred to 22.

【0092】ステップS322:同期制御部204が要
求・応答コマンドを保留する指令を転送制御部122に
送出し、転送制御部122がエミュレータ入出力部12
1およびDMA転送部123に出す要求・応答コマンド
の実行指示を保留する。これにより、エミュレーション
用クロックカウント数が一致するまで要求・応答コマン
ドを保留状態にする。
Step S322: The synchronization control unit 204 sends a command to hold the request / response command to the transfer control unit 122, and the transfer control unit 122 causes the emulator input / output unit 12 to operate.
1 and the execution instruction of the request / response command issued to the DMA transfer unit 123 is suspended. As a result, the request / response command is put on hold until the emulation clock count numbers match.

【0093】ステップS305:要求・応答コマンドを
実行させる。詳しくは、同期制御部204が、要求・応
答コマンドの保留を解除する指令を転送制御部122に
送出し、転送制御部122がエミュレータ入出力部12
1またはDMA転送部123に要求・応答コマンドの保
留解除を指示することにより、要求・応答コマンドが実
行される。
Step S305: The request / response command is executed. Specifically, the synchronization control unit 204 sends a command for canceling the hold of the request / response command to the transfer control unit 122, and the transfer control unit 122 causes the emulator input / output unit 12 to operate.
1 or by instructing the DMA transfer unit 123 to release the hold of the request / response command, the request / response command is executed.

【0094】ステップS306:ステップS312にお
けるエミュレーション用クロックの停止またはステップ
S322における要求・応答コマンドの保留がある場
合、エミュレーション用クロックの停止または要求・応
答コマンドの保留を解除してステップS303に戻り、
次の比較対象の処理に制御を移す。
Step S306: If the emulation clock is stopped in step S312 or the request / response command is suspended in step S322, the emulation clock is suspended or the request / response command is suspended, and the process returns to step S303.
Control is transferred to the next process to be compared.

【0095】以上の再現モードにより、前回の協調シミ
ュレーションの実行記録である再現トレース情報と完全
に一致したタイミングでエミュレータ100が動作し、
協調シミュレーション結果が再現される。
With the above-described reproduction mode, the emulator 100 operates at the timing completely matching the reproduction trace information which is the execution record of the previous co-simulation,
Co-simulation results are reproduced.

【0096】第1の実施の形態によれば、協調シミュレ
ーションにおける検証デザイン101のエミュレータ1
00上の動作の完全な再現性を保証することにより、エ
ミュレータ100上で動作している検証デザイン101
で発現した動作タイミングに依存する欠陥を速やかに特
定することが可能となり、より効果的な論理検証を実現
できる。
According to the first embodiment, the emulator 1 of the verification design 101 in the co-simulation is used.
Design 101 running on emulator 100 by ensuring complete reproducibility of operation on
It becomes possible to promptly identify the defect depending on the operation timing, which has occurred in step 1, and to realize more effective logic verification.

【0097】[第2の実施の形態]図8は、本発明の第
2の実施の形態に係る協調シミュレーションの再現実行
を行う論理検証装置の構成を示す回路ブロック図であ
る。本実施の形態に係る協調シミュレーションの再現実
行を行う論理検証装置は、図1に示した第1の実施の形
態に係る協調シミュレーションの再現実行を行う論理検
証装置における仮想I/Oプロセス110に代わって、
実際のI/O装置130を用いている。このため、DM
A転送部123はI/O装置制御部126に置換されて
いるが、機能的にはDMA転送部123の機能を包含す
るものである。また、I/O装置130によっては検証
デザイン101からI/O要求以外のコマンドを受ける
必要があるため、その判定機能がメモリボード120に
追加される。
[Second Embodiment] FIG. 8 is a circuit block diagram showing the structure of a logic verification device for reproducing and executing a co-simulation according to a second embodiment of the present invention. The logic verification apparatus for reproducing and executing the co-simulation according to the present embodiment replaces the virtual I / O process 110 in the logic verification apparatus for reproducing and executing the co-simulation according to the first embodiment shown in FIG. hand,
The actual I / O device 130 is used. Therefore, DM
The A transfer unit 123 is replaced with the I / O device control unit 126, but functionally includes the function of the DMA transfer unit 123. Further, since the I / O device 130 needs to receive a command other than the I / O request from the verification design 101, the determination function is added to the memory board 120.

【0098】次に、このように構成された第2の実施の
形態に係る協調シミュレーションの再現実行を行う論理
検証装置の動作について説明する。なお、図1に示した
第1の実施の形態に係る協調シミュレーションの再現実
行を行う論理検証装置と同様な動作を行う部分の説明に
ついては省略する。
Next, the operation of the logic verification device configured to reproduce and execute the co-simulation according to the second embodiment will be described. It should be noted that the description of the part that performs the same operation as the logic verification device that executes the reproduction of the co-simulation according to the first embodiment shown in FIG. 1 will be omitted.

【0099】検証デザイン101からの要求をエミュレ
ータ入出力部121で受け付け、転送制御部122の制
御に従って処理する。通常のメモリアクセス要求の場合
は、そのままメモリコントローラ124にメモリアクセ
ス要求を上げ、データを実装メモリ125に対して読み
書きする。I/O装置130へのコマンドまたはI/O
要求の場合は、転送制御部122は、それを判断し、I
/O装置制御部126に対してコマンドまたはI/O要
求を指令する。
A request from the verification design 101 is accepted by the emulator input / output unit 121 and processed under the control of the transfer control unit 122. In the case of a normal memory access request, the memory access request is sent to the memory controller 124 as it is, and the data is read / written from / to the mounting memory 125. Command or I / O to I / O device 130
If it is a request, the transfer control unit 122 judges it and
A command or I / O request is issued to the I / O device control unit 126.

【0100】I/O装置制御部126は、I/O装置1
30をコントロールし、コマンドまたはI/O要求の処
理を実行する。実行が終了すると、その旨を転送制御部
122に通知する。
The I / O device controller 126 controls the I / O device 1
30 to control the command or I / O request processing. When the execution is completed, the transfer control unit 122 is notified of that fact.

【0101】転送制御部122は、コマンドまたはI/
O要求の実行終了をエミュレータ入出力部121経由で
検証デザイン101に通知する。
The transfer control unit 122 uses the command or I /
The verification design 101 is notified of the completion of the execution of the O request via the emulator input / output unit 121.

【0102】また、転送制御部122は、検証デザイン
101へのエミュレーション用クロックを制御する必要
がある場合は、クロック供給回路103にエミュレーシ
ョン用クロックの停止および再開を要求する。
When it is necessary to control the emulation clock for the verification design 101, the transfer control unit 122 requests the clock supply circuit 103 to stop and restart the emulation clock.

【0103】このように、第2の実施の形態によれば、
I/O装置130と実装メモリ125間のデータ転送を
DMA転送で行うことにより、エミュレーションとI/
O動作とが同時に進行していくため、協調シミュレーシ
ョンの効果が最大限に発揮される。
As described above, according to the second embodiment,
By performing data transfer between the I / O device 130 and the mounted memory 125 by DMA transfer, emulation and I / O
Since the O operation and the O operation proceed at the same time, the effect of the co-simulation is maximized.

【0104】また、エミュレータ100とI/O装置1
30間の協調シミュレーションにおいて、エミュレーシ
ョン用クロックの制御をメモリボード120のハードウ
ェア制御に委ねることにより、ソフトウェア制御よりも
容易かつ高速な制御が行える。
Further, the emulator 100 and the I / O device 1
In the co-simulation between 30, the control of the emulation clock is entrusted to the hardware control of the memory board 120, so that the control can be performed easier and faster than the software control.

【0105】さらに、エミュレータ100のトリガを頻
繁に切り替える必要がなくなり、トリガの切り替えに伴
うエミュレーション速度の低下が解消される。
Further, it is not necessary to frequently switch the trigger of the emulator 100, and the reduction of the emulation speed due to the switching of the trigger is eliminated.

【0106】さらにまた、エミュレータ100に搭載さ
れているメモリの実装容量とは無関係に大容量の実装メ
モリ125を使った検証が可能となる。
Furthermore, it is possible to perform verification using the large-capacity mounted memory 125 regardless of the mounted capacity of the memory mounted on the emulator 100.

【0107】[第3の実施の形態]図9は、本発明の第
3の実施の形態に係る協調シミュレーションの再現実行
を行う論理検証装置の構成を示すブロック図である。第
3の実施の形態に係る協調シミュレーションの再現実行
を行う論理検証装置は、図1に示した第1の実施の形態
に係る協調シミュレーションの再現実行を行う論理検証
装置に対して、仮想MPUプロセス140を追加したも
のである。仮想MPUプロセス140には、仮想MPU
入出力部128がエミュレータ入出力部121に代わっ
て接続される。
[Third Embodiment] FIG. 9 is a block diagram showing the configuration of a logic verification apparatus for reproducing and executing co-simulation according to a third embodiment of the present invention. The logical verification device for reproducing and executing the co-simulation according to the third embodiment is different from the logical verification device for executing and reproducing the co-simulation according to the first embodiment shown in FIG. 140 is added. The virtual MPU process 140 includes a virtual MPU.
The input / output unit 128 is connected instead of the emulator input / output unit 121.

【0108】このように構成された第3の実施の形態に
係る協調シミュレーションの再現実行を行う論理検証装
置では、仮想MPUプロセス140は、検証デザイン1
01と並列に、仮想的なMPUとしての動作を行い、仮
想MPU入出力部128は、検証デザイン101に対す
るエミュレータ入出力部121と同等の動作を、仮想M
PUプロセス140に対して行う。したがって、それら
の詳しい動作の説明は割愛する。
In the logic verification apparatus configured to reproduce and execute the co-simulation according to the third embodiment, the virtual MPU process 140 has the verification design 1
01 in parallel, the virtual MPU input / output unit 128 performs the same operation as the emulator input / output unit 121 for the verification design 101 by performing the virtual MPU operation.
This is performed for the PU process 140. Therefore, detailed description of those operations is omitted.

【0109】このような第3の実施の形態に係る協調シ
ミュレーションの再現実行を行う論理検証装置では、2
通りの運用例が考えられる。
In the logic verification device that executes the reproduction of the co-simulation according to the third embodiment as described above,
The following operational examples are possible.

【0110】1つは、マルチプロセッサの論理検証であ
る。エミュレータ100上に2つのMPUをモデリング
する容量がない場合、一方のMPUを検証デザイン10
1としてモデリングし、もう一方を仮想MPUプロセス
140として構成し、論理検証を実施する。
One is the logic verification of the multiprocessor. If the emulator 100 does not have the capacity to model two MPUs, one MPU can be verified by the verification design 10
Modeling as 1 and configuring the other as a virtual MPU process 140 to perform logic verification.

【0111】もう1つは、市販MPUモデルを仮想MP
Uプロセス140として動かし、MPUに接続するチッ
プセットを検証デザイン101にモデリングして、チッ
プセットの論理検証を行う運用である。
The other is to use a commercially available MPU model as a virtual MP.
It is an operation in which the chip set connected to the MPU is modeled in the verification design 101 as the U process 140 and the logic verification of the chip set is performed.

【0112】第3の実施の形態に係る協調シミュレーシ
ョンの再現実行を行う論理検証装置においても、第1お
よび第2の実施の形態に係る協調シミュレーションの再
現実行を行う論理検証装置におけるのと同等の効果が得
られることはいうまでもない。
The logic verification device for reproducing and executing the co-simulation according to the third embodiment is also equivalent to the logic verification device for executing and reproducing the co-simulation according to the first and second embodiments. It goes without saying that the effect can be obtained.

【0113】[第4の実施の形態]図10は、本発明の
第4の実施の形態に係る協調シミュレーションの再現実
行を行う論理検証装置の構成を示すブロック図である。
第4の実施の形態に係る協調シミュレーションの再現実
行を行う論理検証装置は、図8に示した第2の実施の形
態に係る協調シミュレーションの再現実行を行う論理検
証装置に対して、仮想MPUプロセス140を追加した
ものである。仮想MPUプロセス140には、仮想MP
U入出力部128がエミュレータ入出力部121に代わ
って接続される。
[Fourth Embodiment] FIG. 10 is a block diagram showing the configuration of a logic verification device for reproducing and executing co-simulation according to a fourth embodiment of the present invention.
The logical verification device for reproducing and executing the co-simulation according to the fourth embodiment is different from the logical verification device for reproducing and executing the co-simulation according to the second embodiment shown in FIG. 8 in the virtual MPU process. 140 is added. The virtual MPU process 140 has a virtual MP
The U input / output unit 128 is connected instead of the emulator input / output unit 121.

【0114】このように構成された第4の実施の形態に
係る協調シミュレーションの再現実行を行う論理検証装
置では、図9に示した第3の実施の形態に係る協調シミ
ュレーションの再現実行を行う論理検証装置におけるの
と同様に、仮想MPUプロセス140は、検証デザイン
101と並列に、仮想的なMPUの動作を行い、仮想M
PU入出力部128は、検証デザイン101に対するエ
ミュレータ入出力部121と同等の動作を、仮想MPU
プロセス140に対して行う。したがって、それらの詳
しい動作の説明は割愛する。
In the logic verification apparatus configured as described above for reproducing and executing the co-simulation according to the fourth embodiment, the logic for executing and executing the co-simulation according to the third embodiment shown in FIG. As in the verification device, the virtual MPU process 140 operates the virtual MPU in parallel with the verification design 101 to generate a virtual MPU.
The PU input / output unit 128 performs the same operation as that of the emulator input / output unit 121 for the verification design 101 and the virtual MPU.
Perform on process 140. Therefore, detailed description of those operations is omitted.

【0115】第4の実施の形態に係る協調シミュレーシ
ョンの再現実行を行う論理検証装置においても、第1な
いし第3の実施の形態に係る協調シミュレーションの再
現実行を行う論理検証装置におけるのと同等の効果が得
られることはいうまでもない。
The logic verification device for reproducing and executing the co-simulation according to the fourth embodiment is also equivalent to the logic verification device for reproducing and executing the co-simulation according to the first to third embodiments. It goes without saying that the effect can be obtained.

【0116】[0116]

【発明の効果】本発明により得られる効果は、以下の通
りである。
The effects obtained by the present invention are as follows.

【0117】第1の効果は、協調シミュレーションにお
ける検証デザインのエミュレータ上の動作の完全な再現
性を保証することにより、エミュレータ上で動作してい
る検証デザインで発現した動作タイミングに依存する欠
陥を速やかに特定することが可能となり、より効果的な
論理検証を実現できる。その理由は、トレーサが、再現
実行中の要求・応答コマンドおよび該要求・応答コマン
ドが発生したエミュレーション用クロックカウント数
と、記録していた要求・応答コマンドおよびエミュレー
ション用クロックカウント数とを比較し、比較結果に基
づいて、エミュレーション用クロックカウント数および
要求・応答コマンドがともに不一致の場合には比較を続
け、エミュレーション用クロックカウント数および要求
・応答コマンドが一致した場合には該要求・応答コマン
ドの実行を指令し、エミュレーション用クロックカウン
ト数だけが一致した場合にはエミュレーション用クロッ
クの停止を指令し、要求・応答コマンドだけが一致した
場合には該要求・応答コマンドの保留を指令するように
したからである。
The first effect is to guarantee the complete reproducibility of the operation of the verification design on the emulator in the co-simulation, so that the defect depending on the operation timing generated by the verification design operating on the emulator can be promptly confirmed. It is possible to specify the above, and more effective logic verification can be realized. The reason is that the tracer compares the request / response command being reproduced and the emulation clock count generated by the request / response command with the recorded request / response command and emulation clock count, Based on the comparison result, if the emulation clock count number and the request / response command do not match, the comparison is continued, and if the emulation clock count number and the request / response command match, the request / response command is executed. Command is issued, and if only the emulation clock counts match, the emulation clock is stopped. If only the request / response commands match, the request / response command is suspended. Is.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の第1の実施の形態に係る協調シミュレ
ーションの再現実行を行う論理検証装置の構成を示す回
路ブロック図である。
FIG. 1 is a circuit block diagram showing a configuration of a logic verification device for reproducing and executing co-simulation according to a first embodiment of the present invention.

【図2】図1中のエミュレータの処理を示すフローチャ
ートである。
FIG. 2 is a flowchart showing a process of an emulator in FIG.

【図3】図1中の仮想I/Oプロセスの処理を示すフロ
ーチャートである。
3 is a flowchart showing processing of a virtual I / O process in FIG.

【図4】図1中のメモリボードの処理を示すフローチャ
ートである。
FIG. 4 is a flowchart showing a process of a memory board in FIG.

【図5】図1中のDMA転送部の処理を示すフローチャ
ートである。
5 is a flowchart showing a process of a DMA transfer unit in FIG.

【図6】図1中のトレーサのトレースモードでの処理を
示すフローチャートである。
FIG. 6 is a flowchart showing processing in the trace mode of the tracer in FIG.

【図7】図1中のトレーサの再現モードでの処理を示す
フローチャートである。
FIG. 7 is a flowchart showing processing in the reproduction mode of the tracer in FIG.

【図8】本発明の第2の実施の形態に係る協調シミュレ
ーションの再現実行を行う論理検証装置の構成を示す回
路ブロック図である。
FIG. 8 is a circuit block diagram showing a configuration of a logic verification device for reproducing and executing a co-simulation according to a second embodiment of the present invention.

【図9】本発明の第3の実施の形態に係る協調シミュレ
ーションの再現実行を行う論理検証装置の構成を示す回
路ブロック図である。
FIG. 9 is a circuit block diagram showing a configuration of a logic verification device for reproducing and executing co-simulation according to a third embodiment of the present invention.

【図10】本発明の第4の実施の形態に係る協調シミュ
レーションの再現実行を行う論理検証装置の構成を示す
回路ブロック図である。
FIG. 10 is a circuit block diagram showing a configuration of a logic verification device for reproducing and executing co-simulation according to a fourth embodiment of the present invention.

【図11】先行技術の協調シミュレーションによる論理
検証装置の構成を示す回路ブロック図である。
FIG. 11 is a circuit block diagram showing a configuration of a logic verification device based on prior art co-simulation.

【符号の説明】[Explanation of symbols]

100 エミュレータ 101 検証デザイン 102 エミュレータ制御部 103 クロック供給回路 110 仮想I/Oプロセス 120 メモリボード 121 エミュレータ入出力部 122 転送制御部 123 DMA転送部 124 メモリコントローラ 125 実装メモリ 126 I/O装置制御部 128 仮想MPU入出力部 130 I/O装置 140 仮想MPUプロセス 200 トレーサ 201 コマンドトレース部 202 トレースバッファ 203 比較器 204 同期制御部 100 emulator 101 Verification design 102 Emulator control unit 103 clock supply circuit 110 Virtual I / O process 120 memory board 121 Emulator input / output section 122 Transfer control unit 123 DMA transfer unit 124 memory controller 125 mounted memory 126 I / O device controller 128 Virtual MPU input / output unit 130 I / O device 140 Virtual MPU process 200 Tracer 201 Command trace part 202 trace buffer 203 comparator 204 synchronization control unit

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】エミュレータと論理シミュレータとにより
協調シミュレーションを行う論理検証装置において、協
調シミュレーションの実行中に発生した要求・応答コマ
ンドおよび該要求・応答コマンドが発生したエミュレー
ション用クロックカウント数を記録し、前回の協調シミ
ュレーションを再現する際には、再現実行中の要求・応
答コマンドおよび該要求・応答コマンドが発生したエミ
ュレーション用クロックカウント数と記録していた要求
・応答コマンドおよびエミュレーション用クロックカウ
ント数とを比較し、エミュレーション用クロックカウン
ト数および要求・応答コマンドがともに不一致の場合に
は比較を続け、エミュレーション用クロックカウント数
および要求・応答コマンドが一致した場合には該要求・
応答コマンドの実行を指令し、エミュレーション用クロ
ックカウント数だけが一致した場合にはエミュレーショ
ン用クロックの停止を指令し、要求・応答コマンドだけ
が一致した場合には該要求・応答コマンドの保留を指令
するトレーサを有することを特徴とする協調シミュレー
ションの再現実行を行う論理検証装置。
1. A logic verification device for performing a co-simulation by an emulator and a logic simulator, recording a request / response command generated during execution of the co-simulation and an emulation clock count number generated by the request / response command, When reproducing the previous co-simulation, the request / response command being reproduced and the number of emulation clocks generated by the request / response command and the recorded request / response command and the number of emulation clock counts were recorded. If the emulation clock count number and the request / response command do not match, the comparison is continued. If the emulation clock count number and the request / response command match, the request / response command is compared.
Command the execution of a response command, command the stop of the emulation clock when only the number of emulation clock counts matches, and command the suspension of the request / response command when only the request / response command matches. A logic verification device having a tracer for reproducing and executing co-simulation.
【請求項2】論理検証を行う回路をモデリングした検証
デザイン,該検証デザインにエミュレーション用クロッ
クを供給するクロック供給回路,および該クロック供給
回路に対するエミュレーション用クロックの供給を制御
するエミュレータ制御部を備えるエミュレータと、前記
検証デザインからのI/O要求に応じて実装メモリとの
間でDMA転送を行う仮想I/Oプロセスと、前記実装
メモリ,前記エミュレータより供給される前記検証デザ
インのエミュレーション用クロックに同期してデータの
送受信を行うエミュレータ入出力部,前記仮想I/Oプ
ロセスと通信を行い前記エミュレータとは独立して前記
実装メモリをアクセスするDMA転送部,前記実装メモ
リの制御部であって前記エミュレータ入出力部からのメ
モリアクセス要求,前記DMA転送部からのDMA要求
およびメモリリフレッシュ要求の調停を行うメモリコン
トローラ,ならびに前記エミュレータおよび前記仮想I
/Oプロセスと協調して自メモリボードが動作するよう
にコントロールを行う転送制御部を備えるメモリボード
と、前記エミュレータ入出力部からエミュレーション用
クロックおよび要求・応答コマンドの実行ステータスを
受け取り、エミュレーション用クロックカウント数を算
出して、要求・応答コマンドとエミュレーション用クロ
ックカウント数とを対応付けた実行トレース情報を作成
するコマンドトレース部,前記コマンドトレース部から
の実行トレース情報を記録するとともに記録した実行ト
レース情報を再現トレース情報として供給するトレース
バッファ,前記コマンドトレース部からの実行トレース
情報と前記トレースバッファからの再現トレース情報と
を比較する比較器,ならびに前記比較器からの比較結果
に基づいて、エミュレーション用クロックカウント数お
よび要求・応答コマンドがともに不一致の場合には比較
を続け、エミュレーション用クロックカウント数および
要求・応答コマンドが一致した場合には該要求・応答コ
マンドの実行を前記転送制御部に指令し、エミュレーシ
ョン用クロックカウント数だけが一致した場合には前記
エミュレータのエミュレーション用クロックの停止を前
記転送制御部に指令し、要求・応答コマンドだけが一致
した場合には該要求・応答コマンドの保留を前記転送制
御部に指令する同期制御部とを備えるトレーサとを有す
ることを特徴とする協調シミュレーションの再現実行を
行う論理検証装置。
2. An emulator comprising a verification design that models a circuit for performing logic verification, a clock supply circuit that supplies an emulation clock to the verification design, and an emulator control unit that controls the supply of the emulation clock to the clock supply circuit. And a virtual I / O process for performing DMA transfer with a mounted memory in response to an I / O request from the verification design, the mounted memory, and synchronization with the emulation clock of the verification design supplied from the emulator. An emulator input / output unit for transmitting and receiving data, a DMA transfer unit for communicating with the virtual I / O process and accessing the mounted memory independently of the emulator, and a controller for the mounted memory, which is the emulator. Memory access request from I / O unit Memory controller performs DMA request and arbitration memory refresh requests from the DMA transfer unit, and the emulator and the virtual I
Memory board including a transfer control unit that controls the own memory board to operate in cooperation with the I / O process, and an emulation clock that receives the emulation clock and the execution status of request / response commands from the emulator input / output unit. A command trace unit that calculates the count number and creates execution trace information in which the request / response command and the emulation clock count number are associated with each other, and records the execution trace information from the command trace unit and the recorded execution trace information. Based on the comparison result from the comparator, and a trace buffer that supplies the execution trace information from the command trace unit with the reproduction trace information from the trace buffer. If the clock count for synchronization and the request / response command do not match, the comparison is continued. If the clock count for emulation and the request / response command match, the request / response command is executed to the transfer control unit. Command, and if only the number of emulation clock counts matches, commands the transfer control unit to stop the emulation clock of the emulator, and if only request / response commands match, holds the request / response command And a tracer having a synchronization control unit for instructing the transfer control unit to execute the co-simulation reproduction execution.
【請求項3】論理検証を行う回路をモデリングした検証
デザイン,該検証デザインにエミュレーション用クロッ
クを供給するクロック供給回路,および該クロック供給
回路に対するエミュレーション用クロックの供給を制御
するエミュレータ制御部を備えるエミュレータと、前記
検証デザインからのI/O要求に応じて実装メモリとの
間でDMA転送を行うI/O装置と、前記実装メモリ,
前記エミュレータより供給される前記検証デザインのエ
ミュレーション用クロックに同期してデータの送受信を
行うエミュレータ入出力部,前記I/O装置と通信を行
い前記エミュレータとは独立して前記実装メモリをアク
セスするI/O装置制御部,前記実装メモリの制御部で
あって前記エミュレータ入出力部からのメモリアクセス
要求,前記I/O装置制御部からのDMA要求およびメ
モリリフレッシュ要求の調停を行うメモリコントロー
ラ,ならびに前記エミュレータおよび前記I/O装置と
協調して自メモリボードが動作するようにコントロール
を行う転送制御部を備えるメモリボードと、前記エミュ
レータ入出力部からエミュレーション用クロックおよび
要求・応答コマンドの実行ステータスを受け取り、エミ
ュレーション用クロックカウント数を算出して、要求・
応答コマンドとエミュレーション用クロックカウント数
とを対応付けた実行トレース情報を作成するコマンドト
レース部,前記コマンドトレース部からの実行トレース
情報を記録するとともに記録した実行トレース情報を再
現トレース情報として供給するトレースバッファ,前記
コマンドトレース部からの実行トレース情報と前記トレ
ースバッファからの再現トレース情報とを比較する比較
器,ならびに前記比較器からの比較結果に基づいて、エ
ミュレーション用クロックカウント数および要求・応答
コマンドがともに不一致の場合には比較を続け、エミュ
レーション用クロックカウント数および要求・応答コマ
ンドが一致した場合には該要求・応答コマンドの実行を
前記転送制御部に指令し、エミュレーション用クロック
カウント数だけが一致した場合には前記エミュレータの
エミュレーション用クロックの停止を前記転送制御部に
指令し、要求・応答コマンドだけが一致した場合には該
要求・応答コマンドの保留を前記転送制御部に指令する
同期制御部とを備えるトレーサとを有することを特徴と
する協調シミュレーションの再現実行を行う論理検証装
置。
3. An emulator comprising a verification design that models a circuit for performing logic verification, a clock supply circuit that supplies an emulation clock to the verification design, and an emulator control unit that controls the supply of the emulation clock to the clock supply circuit. And an I / O device that performs DMA transfer with the mounted memory in response to an I / O request from the verification design, the mounted memory,
An emulator input / output unit that transmits and receives data in synchronization with the emulation clock of the verification design supplied from the emulator, communicates with the I / O device, and accesses the mounted memory independently of the emulator. / O device control unit, a controller of the mounted memory, which arbitrates memory access requests from the emulator input / output unit, DMA requests and memory refresh requests from the I / O device control unit, and A memory board having a transfer control unit that controls the own memory board to operate in cooperation with the emulator and the I / O device, and receives an emulation clock and execution status of request / response commands from the emulator input / output unit. , Emulation black To calculate the number of clock count, request -
A command trace section for creating execution trace information in which a response command and an emulation clock count number are associated with each other, and a trace buffer for recording the execution trace information from the command trace section and supplying the recorded execution trace information as reproduction trace information. , A comparator that compares the execution trace information from the command trace unit with the reproduction trace information from the trace buffer, and the emulation clock count number and the request / response command are both based on the comparison result from the comparator. If they do not match, the comparison is continued, and if the emulation clock count number and the request / response command match, the transfer control unit is instructed to execute the request / response command. In case of failure, the synchronous control for instructing the transfer control unit to stop the emulator emulation clock, and for instructing the transfer control unit to hold the request / response command when only the request / response command matches. And a tracer having a unit. A logic verification device for reproducing and executing a co-simulation.
【請求項4】論理検証を行う回路をモデリングした検証
デザイン,該検証デザインにエミュレーション用クロッ
クを供給するクロック供給回路,および該クロック供給
回路に対するエミュレーション用クロックの供給を制御
するエミュレータ制御部を備えるエミュレータと、前記
検証デザインからのI/O要求に応じて実装メモリとの
間でDMA転送を行う仮想I/Oプロセスと、仮想的な
MPUとして動作する仮想MPUプロセスと、前記実装
メモリ,前記エミュレータより供給される前記検証デザ
インのエミュレーション用クロックに同期してデータの
送受信を行うエミュレータ入出力部,前記仮想I/Oプ
ロセスと通信を行い前記エミュレータとは独立して前記
実装メモリをアクセスするDMA転送部,前記実装メモ
リの制御部であって前記エミュレータ入出力部からのメ
モリアクセス要求,前記DMA転送部からのDMA要
求,およびメモリリフレッシュ要求の調停を行うメモリ
コントローラ,前記エミュレータおよび前記仮想I/O
プロセスと協調して自メモリボードが動作するようにコ
ントロールを行う転送制御部,ならびに前記仮想MPU
プロセスとデータの送受信を行う仮想MPU入出力部を
備えるメモリボードと、前記エミュレータ入出力部から
エミュレーション用クロックおよび要求・応答コマンド
の実行ステータスを受け取り、エミュレーション用クロ
ックカウント数を算出して、要求・応答コマンドとエミ
ュレーション用クロックカウント数とを対応付けた実行
トレース情報を作成するコマンドトレース部,前記コマ
ンドトレース部からの実行トレース情報を記録するとと
もに記録した実行トレース情報を再現トレース情報とし
て供給するトレースバッファ,前記コマンドトレース部
からの実行トレース情報と前記トレースバッファからの
再現トレース情報とを比較する比較器,ならびに前記比
較器からの比較結果に基づいて、エミュレーション用ク
ロックカウント数および要求・応答コマンドがともに不
一致の場合には比較を続け、エミュレーション用クロッ
クカウント数および要求・応答コマンドが一致した場合
には該要求・応答コマンドの実行を前記転送制御部に指
令し、エミュレーション用クロックカウント数だけが一
致した場合には前記エミュレータのエミュレーション用
クロックの停止を前記転送制御部に指令し、要求・応答
コマンドだけが一致した場合には該要求・応答コマンド
の保留を前記転送制御部に指令する同期制御部とを備え
るトレーサとを有することを特徴とする協調シミュレー
ションの再現実行を行う論理検証装置。
4. An emulator comprising a verification design that models a circuit for performing logic verification, a clock supply circuit that supplies an emulation clock to the verification design, and an emulator control unit that controls the supply of the emulation clock to the clock supply circuit. And a virtual I / O process for performing a DMA transfer with a mounted memory in response to an I / O request from the verification design, a virtual MPU process operating as a virtual MPU, the mounted memory, and the emulator. An emulator input / output unit that transmits and receives data in synchronization with the supplied verification design emulation clock, and a DMA transfer unit that communicates with the virtual I / O process and accesses the mounted memory independently of the emulator. , Is the control unit of the mounting memory Memory access request from the emulator input and output unit, DMA requests from the DMA transfer unit, and a memory controller for arbitrating memory refresh request, the emulator and the virtual I / O
A transfer control unit that controls the own memory board to operate in cooperation with a process, and the virtual MPU
A memory board having a virtual MPU input / output unit for transmitting and receiving data to and from a process, and an emulation clock and an execution status of a request / response command from the emulator input / output unit are received, and an emulation clock count number is calculated to make a request / request. A command trace section for creating execution trace information in which a response command and an emulation clock count number are associated with each other, and a trace buffer for recording the execution trace information from the command trace section and supplying the recorded execution trace information as reproduction trace information. , A comparator for comparing the execution trace information from the command trace unit with the reproduction trace information from the trace buffer, and the emulation clock count based on the comparison result from the comparator And the request / response command do not match, the comparison is continued. If the clock count number for emulation and the request / response command match, the transfer control unit is instructed to execute the request / response command to perform emulation. When only the clock count numbers match, the transfer control unit is instructed to stop the emulation clock of the emulator, and when only the request / response commands match, the transfer control unit suspends the request / response command. And a tracer having a synchronous control unit for instructing to the logic verification device for reproducing and executing the co-simulation.
【請求項5】論理検証を行う回路をモデリングした検証
デザイン,該検証デザインにエミュレーション用クロッ
クを供給するクロック供給回路,および該クロック供給
回路に対するエミュレーション用クロックの供給を制御
するエミュレータ制御部を備えるエミュレータと、前記
検証デザインからのI/O要求に応じて実装メモリとの
間でDMA転送を行うI/O装置と、仮想的なMPUと
して動作する仮想MPUプロセスと、前記実装メモリ,
前記エミュレータより供給される前記検証デザインのエ
ミュレーション用クロックに同期してデータの送受信を
行うエミュレータ入出力部,前記I/O装置と通信を行
い前記エミュレータとは独立して前記実装メモリをアク
セスするDMA転送部,前記実装メモリの制御部であっ
て前記エミュレータ入出力部からのメモリアクセス要
求,前記DMA転送部からのDMA要求,およびメモリ
リフレッシュ要求の調停を行うメモリコントローラ,前
記エミュレータおよび前記I/O装置と協調して自メモ
リボードが動作するようにコントロールを行う転送制御
部,ならびに前記仮想MPUプロセスとデータの送受信
を行う仮想MPU入出力部を備えるメモリボードと、前
記エミュレータ入出力部からエミュレーション用クロッ
クおよび要求・応答コマンドの実行ステータスを受け取
り、エミュレーション用クロックカウント数を算出し
て、要求・応答コマンドとエミュレーション用クロック
カウント数とを対応付けた実行トレース情報を作成する
コマンドトレース部,前記コマンドトレース部からの実
行トレース情報を記録するとともに記録した実行トレー
ス情報を再現トレース情報として供給するトレースバッ
ファ,前記コマンドトレース部からの実行トレース情報
と前記トレースバッファからの再現トレース情報とを比
較する比較器,ならびに前記比較器からの比較結果に基
づいて、エミュレーション用クロックカウント数および
要求・応答コマンドがともに不一致の場合には比較を続
け、エミュレーション用クロックカウント数および要求
・応答コマンドが一致した場合には該要求・応答コマン
ドの実行を前記転送制御部に指令し、エミュレーション
用クロックカウント数だけが一致した場合には前記エミ
ュレータのエミュレーション用クロックの停止を前記転
送制御部に指令し、要求・応答コマンドだけが一致した
場合には該要求・応答コマンドの保留を前記転送制御部
に指令する同期制御部とを備えるトレーサとを有するこ
とを特徴とする協調シミュレーションの再現実行を行う
論理検証装置。
5. An emulator comprising a verification design that models a circuit for performing logic verification, a clock supply circuit that supplies an emulation clock to the verification design, and an emulator control unit that controls the supply of the emulation clock to the clock supply circuit. An I / O device that performs DMA transfer with the mounted memory in response to an I / O request from the verification design, a virtual MPU process that operates as a virtual MPU, the mounted memory,
An emulator input / output unit that transmits and receives data in synchronization with the verification design emulation clock supplied from the emulator, and a DMA that communicates with the I / O device and accesses the mounted memory independently of the emulator. A transfer unit, a control unit of the mounted memory, a memory controller that arbitrates a memory access request from the emulator input / output unit, a DMA request from the DMA transfer unit, and a memory refresh request, the emulator, and the I / O A memory controller including a transfer control unit that controls the own memory board to operate in cooperation with the device, a virtual MPU input / output unit that transmits / receives data to / from the virtual MPU process, and an emulator input / output unit for emulation Clock and request / response Command trace section that receives the command execution status, calculates the emulation clock count number, and creates execution trace information in which the request / response command and the emulation clock count number are associated, and the execution trace from the command trace section A trace buffer that records information and supplies the recorded execution trace information as reproduction trace information, a comparator that compares the execution trace information from the command trace unit with the reproduction trace information from the trace buffer, and the comparator If the emulation clock count number and the request / response command do not match, the comparison is continued based on the result of the comparison, and if the emulation clock count number and the request / response command match, the comparison is completed. -If the transfer control unit is instructed to execute a response command and only the emulation clock counts match, the transfer control unit is instructed to stop the emulator emulation clock, and only the request / response commands match. And a tracer having a synchronous control unit for instructing the transfer control unit to hold the request / response command in the case of performing the above.
【請求項6】前記要求・応答コマンドが、前記エミュレ
ータから前記仮想I/Oプロセスへのデータ転送要求コ
マンド,前記仮想I/Oプロセスから前記エミュレータ
へのデータ転送終了応答コマンド,前記エミュレータか
ら前記メモリボードへのアクセス要求コマンド,および
前記メモリボードから前記エミュレータへのアクセス応
答コマンドの4種類であることを特徴とする請求項2,
請求項3,請求項4または請求項5記載の協調シミュレ
ーションの再現実行を行う論理検証装置。
6. The request / response command includes a data transfer request command from the emulator to the virtual I / O process, a data transfer end response command from the virtual I / O process to the emulator, and the memory from the emulator. 4. There are four types of access request commands to the board and access response commands from the memory board to the emulator.
A logic verification device for reproducing and executing the co-simulation according to claim 3, claim 4, or claim 5.
【請求項7】前記メモリボードが、前記検証デザインと
は独立した高速のクロックで稼動することを特徴とする
請求項2,請求項3,請求項4または請求項5記載の協
調シミュレーションの再現実行を行う論理検証装置。
7. The reproduction execution of the co-simulation according to claim 2, claim 3, claim 4, or claim 5, wherein the memory board operates with a high-speed clock independent of the verification design. A logic verification device that performs.
【請求項8】前記検証デザインとして一方のMPUをモ
デリングし、前記仮想MPUプロセスとして他方のMP
Uを構成することにより、2つのMPUからなるマルチ
プロセッサの論理検証を行うことを特徴とする請求項4
または請求項5記載の協調シミュレーションの再現実行
を行う論理検証装置。
8. One MPU is modeled as the verification design, and the other MPU is modeled as the virtual MPU process.
5. The logical verification of a multiprocessor composed of two MPUs is performed by configuring U. 5.
Alternatively, a logic verification device that executes the reproduction of the co-simulation according to claim 5.
【請求項9】前記仮想MPUプロセスとして市販MPU
モデルを動かし、前記検証デザインとして前記MPUに
接続するチップセットをモデリングすることにより、前
記チップセットの論理検証を行うことを特徴とする請求
項4または請求項5記載の協調シミュレーションの再現
実行を行う論理検証装置。
9. A commercial MPU as the virtual MPU process
6. The logic simulation of the chipset is performed by moving a model and modeling a chipset connected to the MPU as the verification design. Reproduction execution of the co-simulation according to claim 4 or 5, is performed. Logic verification device.
【請求項10】エミュレータと論理シミュレータとによ
り協調シミュレーションを行う論理検証装置での協調シ
ミュレーションの再現実行方法であって、協調シミュレ
ーションの実行中に発生した要求・応答コマンドおよび
該要求・応答コマンドが発生したエミュレーション用ク
ロックカウント数を記録し、前回の協調シミュレーショ
ンを再現する際には、再現実行中の要求・応答コマンド
および該要求・応答コマンドが発生したエミュレーショ
ン用クロックカウント数と記録していた要求・応答コマ
ンドおよびエミュレーション用クロックカウント数とを
比較し、エミュレーション用クロックカウント数および
要求・応答コマンドがともに不一致の場合には比較を続
け、エミュレーション用クロックカウント数および要求
・応答コマンドが一致した場合には該要求・応答コマン
ドを実行し、エミュレーション用クロックカウント数だ
けが一致した場合にはエミュレーション用クロックを停
止し、要求・応答コマンドだけが一致した場合には該要
求・応答コマンドを保留することを特徴とする協調シミ
ュレーションの再現実行方法。
10. A reproduction / execution method of co-simulation in a logic verification device which performs co-simulation by an emulator and a logic simulator, wherein a request / response command generated during execution of the co-simulation and the request / response command are generated. When the previous co-simulation is reproduced, the request / response command being reproduced and the emulation clock count generated by the request / response command and the recorded request / response command are recorded. The response command and the emulation clock count number are compared. If the emulation clock count number and the request / response command do not match, the comparison is continued. If so, the request / response command is executed. If only the emulation clock count numbers match, the emulation clock is stopped. If only the request / response command matches, the request / response command is executed. Reproduction and execution method of co-simulation characterized by holding.
JP2002036103A 2002-02-14 2002-02-14 Logic verifying device for reproducing and executing cooperation simulation Pending JP2003242193A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002036103A JP2003242193A (en) 2002-02-14 2002-02-14 Logic verifying device for reproducing and executing cooperation simulation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002036103A JP2003242193A (en) 2002-02-14 2002-02-14 Logic verifying device for reproducing and executing cooperation simulation

Publications (1)

Publication Number Publication Date
JP2003242193A true JP2003242193A (en) 2003-08-29

Family

ID=27778081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002036103A Pending JP2003242193A (en) 2002-02-14 2002-02-14 Logic verifying device for reproducing and executing cooperation simulation

Country Status (1)

Country Link
JP (1) JP2003242193A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305137A (en) * 2006-05-12 2007-11-22 Samsung Electronics Co Ltd Distributed simultaneous simulation
JP2008282308A (en) * 2007-05-14 2008-11-20 Nec Electronics Corp Cooperation verification device, cooperation verification method, and cooperation verification program
JP2011232914A (en) * 2010-04-27 2011-11-17 Nippon Telegr & Teleph Corp <Ntt> Simulation device, and control method and program of simulation device
CN111553122A (en) * 2020-05-15 2020-08-18 深圳探科技术有限公司 Method, module, storage medium and system for integrated circuit simulation synchronous processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215418A (en) * 2001-01-15 2002-08-02 Nec Corp Logic verifying device by cooperation simulation
JP2002236594A (en) * 2001-02-13 2002-08-23 Fujitsu Ltd Emulation system and emulator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215418A (en) * 2001-01-15 2002-08-02 Nec Corp Logic verifying device by cooperation simulation
JP2002236594A (en) * 2001-02-13 2002-08-23 Fujitsu Ltd Emulation system and emulator

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305137A (en) * 2006-05-12 2007-11-22 Samsung Electronics Co Ltd Distributed simultaneous simulation
JP2008282308A (en) * 2007-05-14 2008-11-20 Nec Electronics Corp Cooperation verification device, cooperation verification method, and cooperation verification program
JP2011232914A (en) * 2010-04-27 2011-11-17 Nippon Telegr & Teleph Corp <Ntt> Simulation device, and control method and program of simulation device
CN111553122A (en) * 2020-05-15 2020-08-18 深圳探科技术有限公司 Method, module, storage medium and system for integrated circuit simulation synchronous processing

Similar Documents

Publication Publication Date Title
US6145099A (en) Debugging system
US6883102B2 (en) Apparatus and method for performing power management functions
WO2016106935A1 (en) Flash memory controller and control method for flash memory controller
JP2000332205A (en) Semiconductor integrated circuit with built-in processor
CA2530018A1 (en) Securing time for identifying cause of asynchronism in fault-tolerant computer
CN108062234B (en) System and method for realizing server host to access BMC FLASH through mailbox protocol
CN112559267A (en) Inter-integrated circuit bus I2C slave and I2C controller test method
CN102567149B (en) SOC system Authentication method
US20060265523A1 (en) Data transfer circuit and data transfer method
JP2003242193A (en) Logic verifying device for reproducing and executing cooperation simulation
US9329998B2 (en) Information processing apparatus and scheduling method
JP2846760B2 (en) Programmable controller
JP2002215418A (en) Logic verifying device by cooperation simulation
JP4484417B2 (en) Debug system
JPH02291039A (en) Memory control system
JP2639927B2 (en) Test method for control device in data processing system
JP2638078B2 (en) Information processing device
JPS6057609B2 (en) Power outage processing control method for electronic equipment
CN116502574A (en) Verification platform for NVMe controller verification
JP3033722B2 (en) TOD matching controller in multiprocessor system
JPH0452746A (en) Input/output command issuing system for information processing system
JPH08147184A (en) Emulator
JPH0628052B2 (en) Shared memory control method
JPH01263763A (en) Instruction execution control system
JPH02730B2 (en)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040426

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050124

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050323

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070320

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070710