JPH0696151A - Logic simulator - Google Patents
Logic simulatorInfo
- Publication number
- JPH0696151A JPH0696151A JP4243755A JP24375592A JPH0696151A JP H0696151 A JPH0696151 A JP H0696151A JP 4243755 A JP4243755 A JP 4243755A JP 24375592 A JP24375592 A JP 24375592A JP H0696151 A JPH0696151 A JP H0696151A
- Authority
- JP
- Japan
- Prior art keywords
- emulation
- input
- circuit
- output
- output interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、論理回路のシミュレー
ションに用いられるロジックシミュレーション装置に関
するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a logic simulation device used for simulating a logic circuit.
【0002】[0002]
【従来の技術】最近、論理回路を使用したディジタルシ
ステムの設計においては、システムの開発期間の短縮
と、高い完成度を満足するために、論理回路をシミュレ
ーションすることが欠かせない要素になっている。2. Description of the Related Art Recently, in designing a digital system using a logic circuit, simulating the logic circuit has become an indispensable element for shortening the system development period and satisfying a high degree of completion. There is.
【0003】しかして、従来、論理回路をソフトウェア
によってシミュレートすることが考えられているが、こ
の方法では、その膨大な計算量のために長時間の計算を
必要とし、シミュレーションのターンアラウンドタイム
に長時間を要していた。Conventionally, it has been considered that a logic circuit is simulated by software. However, this method requires a long calculation due to its enormous amount of calculation, resulting in a simulation turnaround time. It took a long time.
【0004】そこで、このようなシミュレーションを簡
単に行うために、シミュレーションを専門に行なうハー
ドウェアシミュレーションエンジンが開発されている。Therefore, in order to perform such a simulation easily, a hardware simulation engine specialized in the simulation has been developed.
【0005】シミュレーションエンジンは、次のように
二つのタイプに大別される。一つは、論理回路中のイベ
ントを専用のシミュレーションプロセッサによって処理
し、シミュレーションを行なうイベントドリブン型のシ
ミュレーションエンジンであり、もう一つは、論理回路
をフィールドプログラムゲートアレイなどのプログラム
可能な素子にマッピングしてエミュレーションを行なう
エミュレータである。このエミュレータの技術は、例え
ば特開平2−245831号公報に示されている。Simulation engines are roughly classified into the following two types. One is an event-driven simulation engine that processes and simulates events in a logic circuit by a dedicated simulation processor. The other is mapping the logic circuit to programmable elements such as field program gate arrays. It is an emulator that performs emulation by doing. The technique of this emulator is disclosed, for example, in Japanese Patent Laid-Open No. 2-245831.
【0006】[0006]
【発明が解決しようとする課題】ところが、前者のイベ
ントドリブン型のシミュレーションエンジンは、大規模
な回路が扱えるが、もともとシミュレーション対象に存
在していた並列性をプロセスッサの数に制限してしまう
ために高速化が難しいと言う問題点があり、後者のエミ
ュレータは、対象の並列度がそのまま生かされるため高
速化は得られるものの、回路規模がエミュレータの規模
に制限されるため、大規模な回路が扱えないという問題
点があった。However, the former event-driven simulation engine can handle a large-scale circuit, but the parallelism originally present in the simulation target is limited to the number of process processors. There is a problem that it is difficult to speed up.The latter emulator can obtain high speed because the target parallelism is used as it is, but the circuit scale is limited by the size of the emulator, so large scale circuits can not be handled. There was a problem that it did not exist.
【0007】本発明は、上記事情に鑑みてなされたもの
で、エミュレータの持つ高い並列度を生かしながら、大
規模な回路を扱うこともできるロジックシミュレーショ
ン装置を提供することを目的とする。The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a logic simulation apparatus capable of handling a large-scale circuit while taking advantage of the high parallelism of the emulator.
【0008】[0008]
【課題を解決するための手段】本発明のロジックシミュ
レーション装置は、ホスト計算機と、入出力インタフェ
ースと、プログラム可能なエミュレーションチップおよ
びこのエミュレーションチップと前記入出力インタフェ
ースを接続するプログラム可能なネットワークを有する
エミュレーション装置とから構成され、前記ホスト計算
機はシミュレーション対象の複数に分割された回路に対
応するプログラム情報の各々を前記エミュレーション装
置に内蔵されたメモリに複数存在するバンクの各々に対
して設定し、前記エミュレーション装置は前記バンクの
切り替えにより前記エミュレーションチップの内部接続
を変更するとともに、前記ネットワークの接続を設定し
て所定回路に構成することにより、これら回路に前記シ
ミュレーション対象の分割した回路をマッピングし、そ
のエミュレーション結果を前記入出力インタフェースに
記憶するとともに、該入出力インタフェースの記憶内容
を前記シミュレーション対象の分割した他の回路のマッ
ピングにより再構成される当該エミュレーション装置の
回路に与えられるように構成されている。A logic simulation apparatus of the present invention is an emulation having a host computer, an input / output interface, a programmable emulation chip, and a programmable network connecting the emulation chip and the input / output interface. The emulation device, the host computer sets each of program information corresponding to a plurality of divided circuits to be simulated to each of a plurality of banks existing in a memory built in the emulation device, The device changes the internal connection of the emulation chip by switching the bank, and sets the connection of the network into a predetermined circuit so that these circuits can be connected to the simulation pair. Of the divided circuit, the emulation result is stored in the input / output interface, and the memory content of the input / output interface is reconfigured by mapping the divided other circuit of the simulation target. Is configured to be given to.
【0009】[0009]
【作用】この結果、本発明によればホスト計算機からい
ちいち信号を入力して回路構成を変えるのでなく、エミ
ュレーション装置に内蔵されたメモリのバンクにいっぺ
んに各回路の構成を表すプログラム情報をいれておき、
シミュレーション時には、ホストの介入なしにバンクを
切り換えるだけで構成変更するようにできるので、シミ
ュレーション対象のエミュレータをに時分割で実行する
ことができ、同じ規模のプログラム素子で、エミュレー
ション装置の持つ高い並列度を生かしながら、大規模の
シミュレーション対象を取り扱うことができるようにな
る。As a result, according to the present invention, instead of inputting a signal from the host computer one by one to change the circuit configuration, the program information representing the configuration of each circuit is put in the bank of the memory built in the emulation device at once. ,
During simulation, the configuration can be changed simply by switching banks without host intervention, so the emulator to be simulated can be executed in a time-sharing manner, and with the same scale of program elements, the high parallelism of the emulation device can be achieved. It becomes possible to handle a large-scale simulation target while making the most of.
【0010】[0010]
【実施例】以下、本発明の一実施例を図面に従い説明す
る。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.
【0011】図1は、装置全体の概略構成を示してい
る。同装置は、ホスト計算機1、入出力インタフェース
2、ホストインタフェース3、エミュレーション装置4
により構成されている。ここでのエミュレーション装置
4は、ネットワーク5、複数のエミュレーションチップ
6、メモリモジュール7およびエミュレーションコント
ローラ8よりなっている。FIG. 1 shows a schematic configuration of the entire apparatus. The device includes a host computer 1, an input / output interface 2, a host interface 3, and an emulation device 4.
It is composed by. The emulation device 4 here includes a network 5, a plurality of emulation chips 6, a memory module 7, and an emulation controller 8.
【0012】この場合、エミュレーション装置4を構成
する複数のエミュレーションチップ6には、シミュレー
ション対象がマッピングされるようになるが、これらエ
ミュレーションチップ6は、プリミティブと呼ばれる万
能関数により構成されることから、シミュレーション対
象をプリミティブに変換し、プリミティブネットリスト
を生成して、マッピングを行うようになる。In this case, the simulation target is mapped to the plurality of emulation chips 6 forming the emulation device 4. Since these emulation chips 6 are composed of universal functions called primitives, the simulation is performed. The target is converted into a primitive, a primitive netlist is generated, and mapping is performed.
【0013】この状態で、ホスト計算機1からホストイ
ンタフェース3、エミュレーションコントローラ8を通
じてエミュレーション装置4のネットワーク5、エミュ
レーションチップ6、およびメモリモジュール7にマッ
ピングの情報がダウンロードされる。ここでのエミュレ
ーションチップ6とメモリモジュール7は、ネットワー
ク5によって相互に接続され、シミュレーション対象を
エミュレートするようになる。In this state, mapping information is downloaded from the host computer 1 through the host interface 3 and the emulation controller 8 to the network 5, emulation chip 6 and memory module 7 of the emulation device 4. The emulation chip 6 and the memory module 7 here are connected to each other by the network 5 and emulate a simulation target.
【0014】そして、ホスト計算機1から入出力インタ
フェース2を介しエミュレーション装置4に対してシミ
ュレーション対象への入力ベクタ(入力パターン)を与
えると、エミュレーション装置4では、ホストインタフ
ェース3を介して与えられる実行条件でシミュレーショ
ン対象のエミュレーションを行ない、その結果を出力ベ
クタとして入出力インタフェース2を介して出力する。
ここで、エミュレーションチップ6のバンク切替えとネ
ットワークの切替は、エミュレーションコントローラ8
が制御する。また、メモリモジュール7はシミュレーシ
ョン対象のメモリ部分をエミュレートするために用いら
れる。また、エミュレーションチップ6のバンク切替え
とネットワークの切替は、エミュレーションコントロー
ラ8が制御する。When an input vector (input pattern) to the simulation target is given from the host computer 1 to the emulation device 4 via the input / output interface 2, the emulation device 4 executes the execution condition given via the host interface 3. Emulates the simulation target and outputs the result as an output vector via the input / output interface 2.
Here, the bank switching of the emulation chip 6 and the network switching are performed by the emulation controller 8
Controlled by. Further, the memory module 7 is used to emulate a memory portion to be simulated. Further, the emulation controller 8 controls the bank switching of the emulation chip 6 and the network switching.
【0015】入出力インタフェース2はシミュレーショ
ン対象の記憶素子をエミュレートし、後述する次のフェ
ーズに値を与えるのに使用される。また、ホストインタ
フェース3は、エミュレーション装置4の内部状態をホ
スト計算機1から観測、制御するために用いられる。The input / output interface 2 is used to emulate a storage element to be simulated and give a value to the next phase described later. The host interface 3 is used to observe and control the internal state of the emulation device 4 from the host computer 1.
【0016】図2はエミュレーションチップ6の概略構
成を示すもので、複数のプリミティブ61と、クロスバ
ースイッチ62により構成されている。この場合、信号
は図の左の入力から入って右の出力に出る。また、クロ
スバースイッチ62、プリミティブ61ともに、その構
成は複数のバンクの記憶素子から与えられ、バンク信号
で各バンクを切替えられるようになっている。FIG. 2 shows a schematic structure of the emulation chip 6, which is composed of a plurality of primitives 61 and a crossbar switch 62. In this case, the signal comes in at the left input and goes out at the right output. Further, both the crossbar switch 62 and the primitive 61 have their configurations given from storage elements of a plurality of banks, and each bank can be switched by a bank signal.
【0017】図3はプリミティブ61の概略構成を示す
もので、入力A、B、C、Dはバンク信号ととともに、
関数メモリ611のアドレスとなって与えられる。関数
メモリ611は、関数の出力として1ビットのデータを
出力するようにしている。ここでの関数メモリ611の
情報はバンク設定用パスを用いて設定される。FIG. 3 shows a schematic configuration of the primitive 61. The inputs A, B, C and D together with the bank signal are
It is given as an address of the function memory 611. The function memory 611 outputs 1-bit data as the output of the function. The information of the function memory 611 here is set using the bank setting path.
【0018】図4はエミュレーションチップ6のクロス
バースイッチ62の概略構成を示している。同図では、
6入力2出力のものを示しているが、その拡張はマルチ
プレクサ621の入力数とマルチプレクサ621の数を
増やすことで行なわれる。マルチプレクサ621の切替
えは、出力切替えメモリ622からのデータで行なわれ
るが、バンク信号が出力切替えメモリ622のバンクを
指定している。バンク設定用パスは出力切替えメモリ6
22にダウンロードされる。FIG. 4 shows a schematic structure of the crossbar switch 62 of the emulation chip 6. In the figure,
Although it has 6 inputs and 2 outputs, the expansion is performed by increasing the number of inputs of the multiplexer 621 and the number of the multiplexers 621. The switching of the multiplexer 621 is performed by the data from the output switching memory 622, and the bank signal specifies the bank of the output switching memory 622. The bank setting path is the output switching memory 6
22 is downloaded.
【0019】図5はネットワーク5の概略構成を示して
いる。ネットワーク5はエミュレーションチップ6とメ
モリモジュール7をクロスバースイッチ51を介して多
段に接続したものである。そして、入出力インタフェー
ス52を介してホスト計算機1から入力がネットワーク
5に伝えられると、ネットワーク5からの出力をホスト
計算機1に伝えるようにしている。この場合、入出力イ
ンタフェース52は多段構成の最終段の出力から初段の
入力に信号を戻すようになる。また、ネットワーク5の
クロスバースイッチ51は、図4で述べたクロスバース
イッチ62の構成と同様にバンク信号によって選択され
たメモリバンクの内容で接続が決定される。このメモリ
バンクにはホスト計算機1からバンク設定用パスで接続
の情報がダウンロードされる。FIG. 5 shows a schematic configuration of the network 5. The network 5 is formed by connecting emulation chips 6 and memory modules 7 in multiple stages via crossbar switches 51. When the input from the host computer 1 is transmitted to the network 5 via the input / output interface 52, the output from the network 5 is transmitted to the host computer 1. In this case, the input / output interface 52 returns the signal from the output of the final stage of the multi-stage configuration to the input of the first stage. Further, the connection of the crossbar switch 51 of the network 5 is determined by the contents of the memory bank selected by the bank signal, similarly to the configuration of the crossbar switch 62 described in FIG. Connection information is downloaded from the host computer 1 to this memory bank through a bank setting path.
【0020】図6は入出力インタフェース52の概略構
成を示している。この場合、入出力インタフェース52
は、nビット分の出力ベクトルレジスタ521、サイク
ルレジスタ522、出力コントロールメモリ523から
構成している。出力ベクトルレジスタ521は、ネット
ワーク最終段からの出力を保持し、ホストリード信号で
ホストへ読み出される。また、出力ベクトルレジスタ5
21の各ビットは出力コントロールメモリ523によっ
てイネーブルが制御され、必要なフェーズの値を保持す
る。FIG. 6 shows a schematic configuration of the input / output interface 52. In this case, the input / output interface 52
Is composed of an output vector register 521 for n bits, a cycle register 522, and an output control memory 523. The output vector register 521 holds the output from the final stage of the network and is read to the host by the host read signal. Also, output vector register 5
The enable of each bit of 21 is controlled by the output control memory 523 and holds the value of the required phase.
【0021】ここで、フェーズとは、図7に示すように
時分割されたシミュレーション対象の一つの分割した部
分を実行することを表している。Here, the phase means executing one divided part of the simulation object which is time-divided as shown in FIG.
【0022】図8はサイクルレジスタ522の1ビット
分の構成を示している。この場合、サイクルレジスタ5
22は、(a)ホスト計算機1からの入力ベクトルの保
持、(2)各フェーズのシミュレーション対象の記憶素
子の値の保持、そして(3)ひとつのフェーズから他の
フェーズへの値の受け渡しの三つの目的で使用される。
サイクルレジスタ522はサイクル信号で切替えられる
2セットのレジスタ、つまりサイクル0レジスタ522
1とサイクル1レジスタ5222で構成され、これら
は、シミュレーション対象のシミュレーションクロック
一回ごとに交互に切替えられるサイクル信号により切り
替わるようにしている。FIG. 8 shows the structure of one bit of the cycle register 522. In this case, cycle register 5
Reference numeral 22 denotes three functions of (a) holding the input vector from the host computer 1, (2) holding the value of the storage element to be simulated in each phase, and (3) passing the value from one phase to another phase. Used for one purpose.
The cycle register 522 has two sets of registers which are switched by a cycle signal, that is, the cycle 0 register 522
1 and a cycle 1 register 5222, which are switched by a cycle signal which is switched alternately for each simulation clock of the simulation object.
【0023】この場合、サイクル信号が1のときサイク
ル1レジスタ5222にエミュレーション装置4からの
出力が蓄積され、同時にサイクル0レジスタ5221か
らエミュレーション装置4に入力が与えられる。シミュ
レーションクロックが一つ進むと、サイクル信号は0に
なり、前と逆にサイクル1レジスタ5222からエミュ
レーション装置4に入力が与えられ、エミュレーション
装置4からの出力がサイクル0レジスタ5221に蓄積
される。このように、二つのサイクルレジスタ522
1、5222が交互に働くことで、シミュレーション対
象の記憶素子の値を保持する。これら2セットのサイク
ルレジスタ5221、5222は、深さがmのシフトレ
ジスタを構成しており、時分割されたそれぞれのフェー
ズに1段が対応しており、シフトレジスタの任意の段か
らマルチプレクサを通じて値が取り出せるようにしてい
る。このことから、任意のフェーズでシミュレーション
対象の記憶素子の値がエミュレーション装置4に与えら
れる。In this case, when the cycle signal is 1, the output from the emulation device 4 is accumulated in the cycle 1 register 5222, and at the same time, the input is given from the cycle 0 register 5221 to the emulation device 4. When the simulation clock advances by one, the cycle signal becomes 0, the input from the cycle 1 register 5222 is given to the emulation device 4 contrary to the previous case, and the output from the emulation device 4 is accumulated in the cycle 0 register 5221. Thus, the two cycle registers 522
By alternately operating 1 and 5222, the value of the memory element to be simulated is held. These two sets of cycle registers 5221 and 5222 constitute a shift register having a depth of m, and one stage corresponds to each time-divided phase, and a value is output from any stage of the shift register through a multiplexer. So that it can be taken out. Therefore, the value of the storage element to be simulated is given to the emulation device 4 in an arbitrary phase.
【0024】サイクルレジスタ522でホスト計算機1
からの入力ベクトルを保持するためには、入力のマルチ
プレクサ5223をホストライト信号により切替え、サ
イクル信号を0にしてエミュレーションクロックにより
サイクル0レジスタ5221に書き込まれる。次にサイ
クル0レジスタの出力は入力コントロールメモリ522
4にあらかじめ書かれた値によってマルチプレクサ52
23が切替えられ、さらにサイクル信号を1にしてデー
タ出力からネットワークの初段の入力に加えられる。The host computer 1 is connected to the cycle register 522.
In order to hold the input vector from, the input multiplexer 5223 is switched by the host write signal, the cycle signal is set to 0, and it is written in the cycle 0 register 5221 by the emulation clock. Next, the output of the cycle 0 register is the input control memory 522.
According to the value previously written in 4, the multiplexer 52
23 is switched, and the cycle signal is set to 1 to be applied from the data output to the input of the first stage of the network.
【0025】一つのフェーズから次のフェーズに値を伝
えるのは、フェーズフォワードFF5225によって行
なわれる。フェーズフォワードFF5225には、前の
フェーズの信号がエミュレーションクロックでラッチさ
れ、出力のマルチプレクサ5226を切替えてデータ出
力からエミュレーション装置4に与えられる。フェーズ
フォワードFF5225を深さmのシフトレジスタ構成
とすることにより、以前のフェーズの値ならばどのフェ
ーズの値でも使用できるようになっている。どのフェー
ズの値を使用するかは、フェーズフォワードメモリ52
27に予めオホスト計算機からダウンロードされた値が
使用される。Transmission of a value from one phase to the next is performed by the phase forward FF 5225. In the phase forward FF 5225, the signal of the previous phase is latched by the emulation clock, the output multiplexer 5226 is switched, and the data output is given to the emulation device 4. By making the phase-forward FF 5225 a shift register having a depth of m, any value of the previous phase can be used as long as it is the value of the previous phase. The phase forward memory 52 determines which phase value is used.
The value previously downloaded from the host computer is used for 27.
【0026】サイクルレジスタ522の出力は、予めホ
スト計算機1よりロードされていた入力コントロールメ
モリ5224によって選択される。入力コントロールメ
モリ5224のアドレスは、現在とのフェーズを実行し
ているかを示すバンク信号である。The output of the cycle register 522 is selected by the input control memory 5224 loaded in advance from the host computer 1. The address of the input control memory 5224 is a bank signal indicating whether the current phase is being executed.
【0027】ここで、時分割のシミュレーションは、次
の手順で行なわれる。Here, the time division simulation is performed in the following procedure.
【0028】(1)サイクル信号0(1)の場合。(1) In the case of cycle signal 0 (1).
【0029】(2)サイクル1(0)レジスタ5222
(5221)のあるフェーズのFF、またはフェーズフ
ォワードFF5225からネットワーク5の初段に値が
与えられる。(2) Cycle 1 (0) register 5222
A value is given to the first stage of the network 5 from the FF of a certain phase of (5221) or the phase forward FF 5225.
【0030】(3)ネットワーク5とエミュレーション
チップ6に信号が伝達される。(3) A signal is transmitted to the network 5 and the emulation chip 6.
【0031】(4)ネットワーク5とエミュレーション
チップ6からの信号がサイクル0(1)レジスタ522
1(5222)にエミュレーションクロックでシフトイ
ンする。同時に、フェーズフォワードFF5225にも
ラッチされる。(4) Signals from the network 5 and the emulation chip 6 are cycle 0 (1) register 522.
1 (5222) is shifted in by the emulation clock. At the same time, it is also latched in the phase forward FF 5225.
【0032】(5)バンク信号を切替えて次のフェーズ
用に接続を切替える。(5) The bank signal is switched to switch the connection for the next phase.
【0033】(6)必要なフェーズの数だけ(2)から
(5)を繰り返す。(6) Repeat (2) to (5) for the required number of phases.
【0034】(7)全てのフェーズが終了したら一つの
シミュレーションサイクルが終了する。サイクル信号を
切替え次のサイクルを実行する。(7) One simulation cycle is completed when all the phases are completed. The cycle signal is switched to execute the next cycle.
【0035】最後に、エミュレーション装置4の出力は
最終段から入出力インタフェース52に加えられるが、
エミュレーションクロックによって出力ベクトルレジス
タにラッチされ、ホストリード信号でホスト計算機1に
与えられる。出力ベクトルは各フェーズから与えられる
ので、各フェーズの適当な値をとらえるように、ビット
ごとのクロックイネーブルが出力コントロールメモリか
ら与えられる。Finally, the output of the emulation device 4 is added to the input / output interface 52 from the final stage.
It is latched in the output vector register by the emulation clock and given to the host computer 1 by the host read signal. Since the output vector is given from each phase, a bit-wise clock enable is given from the output control memory to capture the appropriate value for each phase.
【0036】シミュレーション対象のデバックを行なう
には、サイクル0レジスタ5221、サイクル1レジス
タ5222にデバッグ用のスキャンパスを用意する。デ
バッグ用のスキャンパスをホスト計算機からアクセスす
ることで、シミュレーション対象の記憶素子の値を知る
ことができる。In order to debug the simulation target, a scan path for debugging is prepared in the cycle 0 register 5221 and the cycle 1 register 5222. By accessing the scan path for debugging from the host computer, the value of the storage element to be simulated can be known.
【0037】図9はメモリモジュール7の概略構成を示
している。メモリモジュールはRAM71と周辺回路に
よって構成される。メモリモジュール7からの読み出し
は、あるフェーズで与えられるアドレスとCS信号をR
AMに与え、次のフェーズでデータアウトに出力信号が
出る。メモリモジュールへ7の書き込みは、あるフェー
ズで与えられるアドレス、データ、CS信号、WE信号
をRAM71に与え、書き込みが行なわれる。フェーズ
クロックでメモリモジュールの入出力信号をラッチして
いるのは、メモリモジュール7のRAM71の入出力を
安定させるためである。FIG. 9 shows a schematic configuration of the memory module 7. The memory module is composed of the RAM 71 and peripheral circuits. When reading from the memory module 7, the address given in a certain phase and the CS signal are read by the R
The output signal is output to the data output in the next phase. Writing to the memory module 7 is performed by supplying the address, data, CS signal, and WE signal given in a certain phase to the RAM 71. The input / output signal of the memory module is latched by the phase clock in order to stabilize the input / output of the RAM 71 of the memory module 7.
【0038】このように構成された装置によるシミュレ
ーション対象のプリミティブ変換とマッピングは、図1
0に示すソフトウェアにより実行される。The primitive conversion and mapping of the simulation target by the device configured as described above are shown in FIG.
It is executed by the software shown in 0.
【0039】この場合、シミュレーション対象101を
プリミティブに変換し(図示102)、プリミティブネ
ットリストを生成する(図示103)。そして、マッピ
ングソフトウェア104を用いてプリミティブをエミュ
レーション装置4にどのようにマッピングするかを決定
する。ここでのマッピングソフトウェア104は、どの
プリミティブを、どのエミュレーションチップのどの部
分に割り当てるか、また、エミュレーションチップ6内
の接続、ネットワーク5の接続、入出力インタフェース
2の接続を、シミュレーション対象の時分割でどのよう
に割り当てるかなどを決定して、エミュレーションチッ
プ6とネットワーク5と入出力インタフェース2のメモ
リの各バンクにロードするデータをマッピングデータと
して生成する(図示105)。In this case, the simulation target 101 is converted into a primitive (shown in 102) and a primitive netlist is generated (shown in 103). The mapping software 104 is then used to determine how to map the primitives to the emulation device 4. The mapping software 104 here assigns which primitive to which part of which emulation chip, and the connection in the emulation chip 6, the connection of the network 5, and the connection of the input / output interface 2 in a time-division target of simulation. How to allocate is determined, and data to be loaded in each bank of the emulation chip 6, the network 5, and the memory of the input / output interface 2 is generated as mapping data (illustration 105).
【0040】そして、このマッピングデータを、エミュ
レータ制御ソフトウェア106により、エミュレーショ
ン装置4にロードする。また、エミュレータ制御ソフト
ウェア106は、コンソール107からの入力や入力ベ
クタ108をエミュレーション装置4に与え、エミュレ
ーション装置4を制御しながら出力ベクタ109を得、
これをコンソール107に表示する。Then, this mapping data is loaded into the emulation device 4 by the emulator control software 106. Further, the emulator control software 106 gives an input from the console 107 and an input vector 108 to the emulation device 4, obtains an output vector 109 while controlling the emulation device 4,
This is displayed on the console 107.
【0041】図11はシミュレーション対象をプリミテ
ィブに変換する場合の概念を表したものである。この場
合、各プリミティブは、入力数を4、出力数を1として
いる。そして、図11(a)に示すように5つの素子が
使われる場合に、同図(b)に示すように4入力のプリ
ミティブを使用し、それぞれの関数F、Gとすれば、2
個のプリミティブで実現できることになる。FIG. 11 shows the concept of converting a simulation target into a primitive. In this case, each primitive has four inputs and one output. Then, if five elements are used as shown in FIG. 11A, a 4-input primitive is used as shown in FIG.
It can be realized with individual primitives.
【0042】なお、複数の素子をプリミティブにまとめ
るには種々の方法が存在するが、一例として、以下の方
法が知られている。There are various methods for collecting a plurality of elements into a primitive, but the following method is known as an example.
【0043】(1)出力の一本を選択し、そのノードに
出力する素子をプリミティブとする。ここでプリミティ
ブが5以上の入力を持つ時は、4以下の入力になるよう
に多段に分割する。(1) One of the outputs is selected and the element to be output to that node is used as a primitive. Here, when the primitive has 5 or more inputs, it is divided into multiple stages so that the number of inputs is 4 or less.
【0044】(2)プリミティブの入力数が4未満の時
は、プリミティブの入力のうち一本を選択し、その入力
に出力する素子をプリミティブに含めて入力が4以下に
なるかをチェックする。(2) When the number of inputs of the primitive is less than 4, one of the inputs of the primitive is selected and the element output to the input is included in the primitive to check whether the number of inputs is 4 or less.
【0045】(3)プリミティブの入力が4を越える
と、その入力に出力する素子をプリミティブに含めるの
をやめてプリミティブとして登録する。(3) When the number of inputs of a primitive exceeds 4, the element output to that input is stopped from being included in the primitive and registered as a primitive.
【0046】(4)プリミティブの入力が4未満の時は
(2)からの動作を繰り返す。(4) When the input of the primitive is less than 4, the operation from (2) is repeated.
【0047】このような方法を用いてプリミティブにま
とめ、出力から始めて全ての素子がプリミティブに含ま
れるようにする。Using such a method, the primitives are put together so that all the elements are included in the primitive starting from the output.
【0048】なお、この方法は一つの例であって、効率
的なプリミティブの利用にはこの方法と、いくつかの発
見的手法を適用すれば良い。Note that this method is just an example, and this method and some heuristics may be applied for efficient use of primitives.
【0049】こうしてプリミティブネットリストに変換
されたシミュレーション対象は、エミュレーション装置
4に対してマッピングが行なわれるが、ここでのプリミ
ティブネットリストのエミュレーション装置4へのマッ
ピングは、次の手順で行なわれる。The simulation object thus converted into the primitive netlist is mapped to the emulation device 4, and the mapping of the primitive netlist to the emulation device 4 is performed in the following procedure.
【0050】(1)プリミティブネットリストをオール
ドウエーブフロントとして登録する。(1) Register the primitive netlist as an old wave front.
【0051】(2)オールドウエーブフロントをエミュ
レーション装置4の初段に設定し、ネットリストからプ
リミティブを一つずつ取りだし、エミュレーション装置
4のエミュレーションチップ内のプリミティブに割り当
てる。同時にウエーブフロントを進める。(2) The old wave front is set in the first stage of the emulation device 4, and the primitives are taken out one by one from the netlist and assigned to the primitives in the emulation chip of the emulation device 4. At the same time, advance the wave front.
【0052】(3)割り当てられなくなったら、信号を
エミュレーション装置の最後段まで伝達するようにす
る。(3) When the allocation is stopped, the signal is transmitted to the last stage of the emulation device.
【0053】(4)ウエーブフロントが出力の全てと、
シミュレーション対象の全てを通過したら終了。終了で
ない場合、ウエーブフロントをオールドウエーブフロン
トとして(2)から繰り返す。(4) The wave front is all of the output,
It ends when all the simulation targets are passed. If it is not finished, the wave front is repeated as the old wave front from (2).
【0054】上で示した手順では、ウエーブフロントの
信号線の数が、エミュレーション装置4の出力の信号線
の数を越える場合がある。その場合には、ウエーブフロ
ントをさらに複数に分割して時分割で進める。In the procedure shown above, the number of wavefront signal lines may exceed the number of output signal lines of the emulation device 4. In that case, the wave front is further divided into a plurality of sections and the division is carried out in a time division manner.
【0055】次に、論理回路をマッピングする具体例を
説明する。Next, a specific example of mapping the logic circuit will be described.
【0056】ここで、用いられるのは、10進カウンタ
「TEXAS INSTRUMENT製型番SN74A
LS168」である。Here, the decimal counter "TEXAS INSTRUMENT model number SN74A" is used.
LS168 ".
【0057】図12は、かかる10進カウンタの内部等
価回路を示している。この回路をプリミティブ変換する
ことにより図13(a)〜(d)に示すプリミティブネ
ットリストが生成される。FIG. 12 shows an internal equivalent circuit of such a decimal counter. By performing primitive conversion on this circuit, the primitive netlists shown in FIGS. 13A to 13D are generated.
【0058】そして、この回路を図14に示すような4
つのプリミティブ131が1つのチップ132に収めら
れ、これらチップ132が3個単位でクロスバースイッ
チ133〜135により多段に接続され、入出力インタ
フェー130を介してホスト計算機から入力が伝えられ
る合計6個のチップで構成されるエミュレーション装置
にマッピングする場合を説明する。Then, this circuit is used as shown in FIG.
One primitive 131 is accommodated in one chip 132, these chips 132 are connected in multiple stages by three crossbar switches 133 to 135, and a total of 6 inputs are transmitted from the host computer via the input / output interface 130. The case of mapping to an emulation device composed of chips will be described.
【0059】まず、図13(a)に示すRCO信号を作
る回路がフェーズ1としてエミュレーション装置にマッ
ピングされる(図15)。この場合、入力の制約によ
り、これ以上ウエーブフロントを進めることができな
い。First, the circuit for producing the RCO signal shown in FIG. 13A is mapped to the emulation device as phase 1 (FIG. 15). In this case, the wave front cannot be further advanced due to the input restriction.
【0060】次に、フェーズを切替えて図16に示すフ
ェーズ2とする。この場合、ウエーブフロントを図12
のQ、Sまで進めて、途中の信号T1 ,T2 を得、これ
らの信号は、フェーズフォワードFFを通じて次のフェ
ーズに回される。Next, the phases are switched to phase 2 shown in FIG. In this case, the wave front is shown in Figure 12.
To Q and S to obtain intermediate signals T1 and T2, and these signals are passed to the next phase through the phase forward FF.
【0061】図17に示すフェーズ3では、T1 、T2
をPで作ってN8'を出力し、同時にN6'が作られる。さ
らに、図18に示すフェーズ4、図19に示すフェーズ
5でN7'が作られ、最後に図20に示すフェーズ6、図
21に示すフェーズ7でN5'が作られる。In phase 3 shown in FIG. 17, T1, T2
Is made with P and N8 'is output, and N6' is made at the same time. Further, N7 'is created in phase 4 shown in FIG. 18 and phase 5 shown in FIG. 19, and finally N5' is created in phase 6 shown in FIG. 20 and phase 7 shown in FIG.
【0062】このようにして、各フェーズを切替えなが
ら、7つのフェーズでウエーブフロントが全ての出力と
シミュレーション対象の記憶素子(FF)をカバーする
ことができるようになる。In this way, the wavefront can cover all the outputs and the memory element (FF) to be simulated in seven phases while switching each phase.
【0063】[0063]
【発明の効果】本発明によれば、ホスト計算機からいち
いち信号を入力して回路構成を変えるのでなく、エミュ
レーション装置に内蔵されたメモリのバンクにいっぺん
に各回路の構成を表すプログラム情報をいれておき、シ
ミュレーション時には、ホストの介入なしにバンクを切
り換えるだけで構成変更できるようにしたので、シミュ
レーション対象のエミュレータをに時分割で実行するこ
とができるようになり、同じ規模のプログラム素子で、
エミュレーション装置の持つ高い並列度を生かしなが
ら、大規模のシミュレーション対象を取り扱うことがで
きる。According to the present invention, instead of inputting a signal from the host computer to change the circuit configuration, the program information representing the configuration of each circuit is put in the bank of the memory built in the emulation device at once. , At the time of simulation, the configuration can be changed simply by switching the bank without intervention of the host, so that the emulator to be simulated can be executed in a time-sharing manner, and with the same size program element,
It is possible to handle large-scale simulation targets while taking advantage of the high parallelism of the emulation device.
【図1】本発明の一実施例の概略構成を示す図。FIG. 1 is a diagram showing a schematic configuration of an embodiment of the present invention.
【図2】一実施例のエミュレーションチップの概略構成
を示す図FIG. 2 is a diagram showing a schematic configuration of an emulation chip of one embodiment.
【図3】一実施例のプリミティブの概略構成を示す図。FIG. 3 is a diagram showing a schematic configuration of a primitive according to an embodiment.
【図4】一実施例のクロスバースイッチの概略構成を示
す図。FIG. 4 is a diagram showing a schematic configuration of a crossbar switch according to an embodiment.
【図5】一実施例のネットワークの概略構成を示す図。FIG. 5 is a diagram showing a schematic configuration of a network according to an embodiment.
【図6】一実施例の入出力インタフェースの概略構成を
示す図。FIG. 6 is a diagram showing a schematic configuration of an input / output interface according to an embodiment.
【図7】一実施例のフェーズを説明するための図。FIG. 7 is a diagram for explaining a phase of an embodiment.
【図8】一実施例のサイクルレジスタの概略構成を示す
図。FIG. 8 is a diagram showing a schematic configuration of a cycle register of one embodiment.
【図9】一実施例のメモリモジュールの概略構成を示す
図。FIG. 9 is a diagram showing a schematic configuration of a memory module of one embodiment.
【図10】一実施例のソフトウェアの全体構成を示す
図。FIG. 10 is a diagram showing an overall configuration of software according to an embodiment.
【図11】一実施例のプリミティブ変換の概念を説明す
るための図。FIG. 11 is a diagram for explaining the concept of primitive conversion according to an embodiment.
【図12】論理回路のマッピングを説明する具体回路例
を示すの図。FIG. 12 is a diagram showing an example of a specific circuit for explaining mapping of a logic circuit.
【図13】図12の具体例のプリミティブネットリスト
示す図。FIG. 13 is a diagram showing a primitive net list of the specific example of FIG. 12;
【図14】図12の具体例に用いられるエミュレーショ
ン装置を示す図。14 is a diagram showing an emulation device used in the specific example of FIG.
【図15】図12の具体例のフェーズを示す図。FIG. 15 is a diagram showing phases of the specific example of FIG. 12;
【図16】図12の具体例のフェーズを示す図。FIG. 16 is a diagram showing phases of the specific example of FIG. 12;
【図17】図12の具体例のフェーズを示す図。FIG. 17 is a diagram showing phases of the specific example of FIG. 12;
【図18】図12の具体例のフェーズを示す図。FIG. 18 is a diagram showing phases of the specific example of FIG. 12;
【図19】図12の具体例のフェーズを示す図。FIG. 19 is a diagram showing phases of the specific example of FIG. 12;
【図20】図12の具体例のフェーズを示す図。FIG. 20 is a diagram showing a phase of the specific example of FIG. 12;
【図21】図12の具体例のフェーズを示す図。FIG. 21 is a diagram showing phases of the specific example of FIG. 12;
1…ホスト計算機、2…入出力インタフェース、3…ホ
ストインタフェース、4…エミュレーション装置、5…
ネットワーク、6…複数のエミュレーションチップ、7
…メモリモジュール、8…エミュレーションコントロー
ラ、61…プリミティブ、62…クロスバースイッチ、
51…クロスバースイッチ、52…入出力インタフェー
ス、521…出力ベクトルレジスタ、522…サイクル
レジスタ、523…サイクルコントロールメモリ、52
21…サイクル0レジスタ、5222…サイクル1レジ
スタ、5223…マルチプレクサ、5224…入力コン
トロールメモリ、5225…フェーズフォワードFF、
5226…マルチプレクサ、611…関数メモリ、62
1…マルチプレクサ、622…出力切替えメモリ、71
…RAM。1 ... Host computer, 2 ... Input / output interface, 3 ... Host interface, 4 ... Emulation device, 5 ...
Network, 6 ... Multiple emulation chips, 7
... memory module, 8 ... emulation controller, 61 ... primitive, 62 ... crossbar switch,
51 ... Crossbar switch, 52 ... Input / output interface, 521 ... Output vector register, 522 ... Cycle register, 523 ... Cycle control memory, 52
21 ... Cycle 0 register, 5222 ... Cycle 1 register, 5223 ... Multiplexer, 5224 ... Input control memory, 5225 ... Phase forward FF,
5226 ... Multiplexer, 611 ... Function memory, 62
1 ... Multiplexer, 622 ... Output switching memory, 71
... RAM.
Claims (1)
と、プログラム可能なエミュレーションチップおよびこ
のエミュレーションチップと前記入出力インタフェース
を接続するプログラム可能なネットワークを有するエミ
ュレーション装置とから構成され、 前記ホスト計算機はシミュレーション対象の複数に分割
された回路に対応するプログラム情報の各々を前記エミ
ュレーション装置に内蔵されたメモリに複数存在するバ
ンクの各々に対して設定し、 前記エミュレーション装置は前記バンクの切り替えによ
り前記エミュレーションチップの内部接続を変更すると
ともに、前記ネットワークの接続を設定して所定回路に
構成することにより、これら回路に前記シミュレーショ
ン対象の分割した回路をマッピングし、そのエミュレー
ション結果を前記入出力インタフェースに記憶するとと
もに、該入出力インタフェースの記憶内容を前記シミュ
レーション対象の分割した他の回路のマッピングにより
再構成される当該エミュレーション装置の回路に与えら
れることを特徴とするロジックシミュレーション装置。1. A host computer, an input / output interface, an emulation device having a programmable emulation chip and a programmable network connecting the emulation chip and the input / output interface, and the host computer is a simulation target. Each of the program information corresponding to the plurality of divided circuits is set for each of a plurality of banks existing in the memory built in the emulation device, and the emulation device switches the inside of the emulation chip by switching the bank. By changing the connection and setting the connection of the network and configuring it into a predetermined circuit, the divided circuit to be simulated is mapped to these circuits and the emulation connection thereof is performed. Is stored in the input / output interface, and the storage content of the input / output interface is given to a circuit of the emulation device reconfigured by mapping of the divided other circuit of the simulation target. .
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24375592A JP3212709B2 (en) | 1992-09-11 | 1992-09-11 | Logic simulation device |
US08/120,220 US5572710A (en) | 1992-09-11 | 1993-09-13 | High speed logic simulation system using time division emulation suitable for large scale logic circuits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24375592A JP3212709B2 (en) | 1992-09-11 | 1992-09-11 | Logic simulation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0696151A true JPH0696151A (en) | 1994-04-08 |
JP3212709B2 JP3212709B2 (en) | 2001-09-25 |
Family
ID=17108506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24375592A Expired - Lifetime JP3212709B2 (en) | 1992-09-11 | 1992-09-11 | Logic simulation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3212709B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030071176A (en) * | 2002-02-28 | 2003-09-03 | 김희석 | A Visual Pin map Editor for Programmable Devices |
KR100400481B1 (en) * | 2000-06-23 | 2003-10-01 | 이문기 | Electronic Commerce system and method for semiconductor design models |
KR20030092503A (en) * | 2002-05-30 | 2003-12-06 | 기장근 | Electronic Circuit Design System Using Internet |
KR20030092505A (en) * | 2002-05-30 | 2003-12-06 | 기장근 | Breadboard System for Semiconductor Experiment |
WO2010151072A2 (en) * | 2009-06-26 | 2010-12-29 | 한국산업기술대학교산학협력단 | Emulator interface device and method thereof |
-
1992
- 1992-09-11 JP JP24375592A patent/JP3212709B2/en not_active Expired - Lifetime
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100400481B1 (en) * | 2000-06-23 | 2003-10-01 | 이문기 | Electronic Commerce system and method for semiconductor design models |
KR20030071176A (en) * | 2002-02-28 | 2003-09-03 | 김희석 | A Visual Pin map Editor for Programmable Devices |
KR20030092503A (en) * | 2002-05-30 | 2003-12-06 | 기장근 | Electronic Circuit Design System Using Internet |
KR20030092505A (en) * | 2002-05-30 | 2003-12-06 | 기장근 | Breadboard System for Semiconductor Experiment |
WO2010151072A2 (en) * | 2009-06-26 | 2010-12-29 | 한국산업기술대학교산학협력단 | Emulator interface device and method thereof |
WO2010151072A3 (en) * | 2009-06-26 | 2011-04-21 | 한국산업기술대학교산학협력단 | Emulator interface device and method thereof |
US8352239B2 (en) | 2009-06-26 | 2013-01-08 | Korea Polytechnic University Industry Academic Cooperation Foundation | Emulator interface device and method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP3212709B2 (en) | 2001-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0021404B1 (en) | Computing system for the simulation of logic operations | |
CN109783954B (en) | IES (information engineering System) combined FPGA (field programmable Gate array) hardware simulation acceleration system | |
US6993469B1 (en) | Method and apparatus for unified simulation | |
JP3131177B2 (en) | Method and apparatus for design verification using emulation and simulation | |
Iseli et al. | Spyder: A reconfigurable VLIW processor using FPGAs | |
US8108729B2 (en) | Memory-based trigger generation scheme in an emulation environment | |
US20040123258A1 (en) | Logic multiprocessor for FPGA implementation | |
JP3896177B2 (en) | Emulation system | |
US7050958B1 (en) | Method and apparatus for accelerating hardware simulation | |
JPH04233040A (en) | Simulation system for executing computer program | |
JP3212709B2 (en) | Logic simulation device | |
US7228513B2 (en) | Circuit operation verification device and method | |
Shang et al. | Asynchronous system synthesis based on direct mapping using VHDL and Petri nets | |
JP2006268873A (en) | Hardware acceleration system for functional simulation | |
Jerraya et al. | SYCO—a silicon compiler for VLSI ASICs specified by algorithms | |
JP2845032B2 (en) | Logic simulation equipment | |
JPS60173483A (en) | Logical circuit simulation system | |
Kent et al. | Rapid prototyping of a co-designed Java virtual machine | |
EP0969394A1 (en) | Design of an application specific processor (ASP) | |
WO2004061722A1 (en) | Logical simulation apparatus | |
Kwiat et al. | Modeling a versatile FPGA for prototyping adaptive systems | |
Wilkes et al. | Application of high level interface-based design to telecommunications system hardware | |
JPS6311715B2 (en) | ||
JPH0784754A (en) | Electronic computer | |
JP2729061B2 (en) | Zero-delay operation processing method for simulation equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080719 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090719 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090719 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100719 Year of fee payment: 9 |