[go: up one dir, main page]

JPH0458070B2 - - Google Patents

Info

Publication number
JPH0458070B2
JPH0458070B2 JP57113320A JP11332082A JPH0458070B2 JP H0458070 B2 JPH0458070 B2 JP H0458070B2 JP 57113320 A JP57113320 A JP 57113320A JP 11332082 A JP11332082 A JP 11332082A JP H0458070 B2 JPH0458070 B2 JP H0458070B2
Authority
JP
Japan
Prior art keywords
memory
register
gate
contents
new
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.)
Expired - Lifetime
Application number
JP57113320A
Other languages
Japanese (ja)
Other versions
JPS593652A (en
Inventor
Fumyasu Hirose
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP57113320A priority Critical patent/JPS593652A/en
Publication of JPS593652A publication Critical patent/JPS593652A/en
Publication of JPH0458070B2 publication Critical patent/JPH0458070B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

【発明の詳細な説明】 (1) 発明の技術分野 本発明はハード論理シミユレータ装置、特に多
数のゲートの組合せからなる論理装置の動作のシ
ミユレートを専用のハードウエアによつて処理す
ることを可能としたハード論理シミユレータ装置
に関するものである。
[Detailed Description of the Invention] (1) Technical Field of the Invention The present invention makes it possible to simulate the operation of a hard logic simulator device, particularly a logic device consisting of a combination of a large number of gates, using dedicated hardware. This invention relates to a hard logic simulator device.

(2) 背景と問題点 例えばLSIなどの多数のゲートを有する新たな
論理装置を設計した場合には、その設計された論
理装置が正常に動作するがどうか、また所望の機
能を有しているかどうかなどのチエツクのため
に、実際に製造する前にコンピユータ上でその論
理装置の動作をシミユレート(模擬)することが
行われている。従来、この論理シミユレーシヨン
は、ソフトウエアによるプログラムによつて、各
ゲートに対する入力の変化(以下、イベントとい
う)により、ゲートの出力の信号線(以下、ネツ
トという)の状態がどう変化するかを、順次演算
し、求めていくようにして行われていた。しか
し、汎用のコンピユータを用いてソフトウエアで
処理していく場合、各ネツトの状態変化を並列的
に処理して求めることはできず、遂次、命令をフ
エツチしては1命令ずつ実行して処理するように
されるため、シミユレートに非常に長い処理時間
を要するという問題があつた。特に、近年のよう
に論理装置の多機能化、集積化が進んでくると、
上記処理時間の問題は顕著になつてきている。
(2) Background and issues When designing a new logic device with a large number of gates, such as an LSI, it is important to check whether the designed logic device operates normally and whether it has the desired functionality. In order to check whether the device is working or not, the operation of the logic device is simulated on a computer before it is actually manufactured. Conventionally, this logic simulation uses a software program to calculate how the state of a gate output signal line (hereinafter referred to as a net) changes due to a change in the input to each gate (hereinafter referred to as an event). This was done by performing calculations in sequence. However, when processing is performed by software using a general-purpose computer, it is not possible to process and obtain the state changes of each net in parallel, and the commands must be fetched one after another and executed one by one. Therefore, there was a problem in that the simulation required a very long processing time. In particular, as logic devices become more multifunctional and integrated in recent years,
The above-mentioned processing time problem is becoming more prominent.

(3) 発明の目的 本発明は上記問題点の解決を図り、論理シミユ
レータの専用マシンのアーキテクチヤを提供し、
論理シミユレーシヨンに要する処理時間を大幅に
向上させることを目的としている。
(3) Purpose of the invention The present invention aims to solve the above problems and provides an architecture for a dedicated machine for a logic simulator.
The aim is to significantly improve the processing time required for logical simulation.

(4) 発明の構成 上記目的達成のため、本発明はシミユレートさ
れる論理装置の各ゲートの入出力の状態変化など
を記憶する各種メモリへのアクセスを並列化し、
処理のパイプライン化を施すことに着目したもの
で、本発明のハード論理シミユレータ装置は、多
数のゲートの組合せからなる論理装置の動作をシ
ミユレートする装置において、少なくともイベン
ト・ネツトとそのネツトの新しい状態とが登録さ
れるニユー・イベント・メモリと、上記各ゲート
対応にそのゲートの出力状態が記憶されるニユ
ー・ステータス・メモリと、上記各ゲート対応に
フアンアウトのゲート・アドレスが格納されてい
るフアンアウト・メモリと、上記ニユー・ステー
タス・メモリの上記各ゲート毎にそのゲートへの
入力状態が格納されるインプツト・ベクタ・メモ
リと、シミユレーシヨンの対象とされるゲートの
種類毎に、そのゲートに対する各入力値に応じた
論理演算に係る出力状態値が定義されている辞書
メモリと、該辞書メモリにおける各ゲートの種類
に応じた出力状態値が定義されている位置のアド
レス情報であつて、上記インプツト・ベクタ・メ
モリの内容とあわせて上記辞書メモリの参照に使
用されるアドレス情報が、上記ニユー・ステータ
ス・、メモリにおけるゲートの並びに対応して格
納されている辞書アドレス・メモリとをそなえ、
上記各メモリは並列的にアクセス可能に構成され
るとともに、上記ニユー・イベント・メモリの内
容にもとづいて上記ニユー・ステータス・メモリ
および上記フアンアウト・メモリの参照がなさ
れ、上記インプツト・ベクタ・メモリの内容が上
記ニユー・ステータス・メモリおよび上記フアン
アウト・メモリの情報によつて更新されるよう構
成され、上記インプツト・ベクタ・メモリおよび
対応する上記辞書アドレス・メモリの内容によつ
て決定される上記辞書メモリの内容が、新たなゲ
ート出力となるようにしてシミユレートするよう
に構成されたことを特徴としている。以下図面を
参照しつつ実施例にもとづいて説明する。
(4) Structure of the Invention In order to achieve the above object, the present invention parallelizes access to various memories that store input/output state changes of each gate of a simulated logic device,
The hard logic simulator device of the present invention focuses on pipelining processing, and the hard logic simulator device of the present invention is a device that simulates the operation of a logic device consisting of a combination of a large number of gates. a new event memory in which is registered, a new status memory in which the output state of the gate is stored corresponding to each of the above gates, and a fan out gate address in which the fanout gate address is stored in correspondence to each of the above gates. an input vector memory in which the input state to each gate is stored for each gate in the new status memory; A dictionary memory in which an output state value related to a logical operation according to an input value is defined, and address information of a position in the dictionary memory where an output state value according to the type of each gate is defined, - The address information used for referencing the dictionary memory together with the contents of the vector memory includes the new status and a dictionary address memory stored corresponding to the arrangement of gates in the memory,
Each of the above memories is configured to be accessible in parallel, and the new status memory and the fanout memory are referenced based on the contents of the new event memory, and the input vector memory is referenced based on the contents of the new event memory. said dictionary, the contents of which are configured to be updated by information in said new status memory and said fanout memory, and determined by the contents of said input vector memory and a corresponding said dictionary address memory; It is characterized in that it is configured to simulate the contents of the memory as a new gate output. Embodiments will be described below with reference to the drawings.

(5) 発明の実施例 第1図は本発明の一実施例の論理データ構造説
明図、第2図および第3図は第1図図示データ構
造を説明するための図、第4図は本発明の一実施
例構成ブロツク図、第5図ないし第8図は本発明
の一実施例動作説明図を示す。
(5) Embodiments of the Invention Figure 1 is a diagram for explaining the logical data structure of an embodiment of the present invention, Figures 2 and 3 are diagrams for explaining the data structure shown in Figure 1, and Figure 4 is a diagram for explaining the data structure shown in Figure 1. A block diagram of the structure of an embodiment of the present invention, and FIGS. 5 to 8 are diagrams illustrating the operation of an embodiment of the present invention.

図中、1はニユー・イベント・メモリ
(NEM)2および3はレジスタ、4はニユー・
ステータス・メモリ(NSM)、5はインプツト・
ベクタ・メモリ(IVM)、6はノツト・メモリ
(NOT)7は辞書アドレス・メモリ(BEA)、8
は加算器、9は辞書メモリ(EVM)、10はフア
ンアウト・ポインタ・メモリ(FOP)、11はフ
アンアウト・メモリ(FOM)、12はイベント・
ゲート・バツフア(EGB)、13および14はレ
ジスタを表わす。第2図および第3図中、16お
よび17はゲートを表わす。また第4図中、20
ないし32はレジスタ、33ないし34は排他的
論理和(EOR)回路を表わす。
In the figure, 1 is the new event memory (NEM), 2 and 3 are registers, and 4 is the new event memory (NEM).
Status memory (NSM), 5 is input
Vector memory (IVM), 6 is not memory (NOT), 7 is dictionary address memory (BEA), 8
is an adder, 9 is a dictionary memory (EVM), 10 is a fan-out pointer memory (FOP), 11 is a fan-out memory (FOM), and 12 is an event memory.
Gate buffers (EGB), 13 and 14 represent registers. In FIGS. 2 and 3, 16 and 17 represent gates. Also, in Figure 4, 20
32 to 32 are registers, and 33 to 34 are exclusive OR (EOR) circuits.

第1図において、NEM1,NSM4,IVM5,
NOT6,BEA7,EVM9,FOP10,FOM1
1などの各メモリは、例えばランダム・アクセ
ス・メモリ(RAM)で構成される。
In Figure 1, NEM1, NSM4, IVM5,
NOT6, BEA7, EVM9, FOP10, FOM1
Each memory, such as 1, is comprised of, for example, a random access memory (RAM).

NEM1は、イベント・ネツトすなわち状態変
化があつた信号線に関するゲート情報とその新し
い状態情報とが対応づけられて登録されるメモリ
である。例えば、ゲート数が最大4096個まで処理
可能であるとすると、イベント・ネツトのエリア
は12ビツトを単位として最大イベント数(例えば
1024個)分用意される。各ネツトの状態は「0」
(Lレベル)の状態、「1」(Hレベル)の状態、
「X」(「1」か「0」か定まらない)状態、また
は「Z」(ハイ・インピーダンス)の状態のいず
れかをとるので、各々2ビツトで表わされる。現
在アクテイブなイベント・ネツトの先頭アドレス
(Nhead)は、レジスタ2によつて示され、最終
アドレス(Ntail)は、レジスタ3によつて示さ
れる。
NEM1 is a memory in which gate information regarding an event net, that is, a signal line whose state has changed, and its new state information are registered in association with each other. For example, if the number of gates can be processed up to 4096, the event net area will be divided into 12-bit units and the maximum number of events (for example,
1024 pieces) will be prepared. The status of each net is "0"
(L level) state, “1” (H level) state,
Since it takes either the "X" state (undefined as "1" or "0") or the "Z" state (high impedance), each state is represented by 2 bits. The start address (Nhead) of the currently active event net is indicated by register 2, and the end address (Ntail) is indicated by register 3.

NSM4は、シミユレーシヨンの対象となつて
いる論理装置の全ゲートの状態を記憶し保持する
メモリである。任意に付与されたゲート番号の順
に2ビツトずつ割当てられ、各ゲートの出力状態
を示す。IVM5は、NSM4に示される各ゲート
に対応して、その各ゲートへの入力状態が格納さ
れるメモリである。各ゲートへの入力が7入力ま
で可能であるとすると、各々14(=7×2)ビツ
ト用意される。
The NSM 4 is a memory that stores and holds the states of all gates of the logic device that is the subject of simulation. Two bits are assigned to each gate in the order of arbitrarily assigned gate numbers to indicate the output state of each gate. The IVM 5 is a memory that stores the input state to each gate corresponding to each gate shown in the NSM 4. Assuming that up to seven inputs are possible for each gate, 14 (=7×2) bits are prepared for each gate.

NOT6は、後に説明するEVM9を半分に節約
するために、各ゲート対応に1ビツトずつ設けら
れるメモリである。例えば、第3図イ図示のゲー
ト17の入力と第3図ロ図示のゲート17′の入
力とが同じであれば、それらの出力は必ず反転し
た関係にあるような場合、すなわち例えばAND
ゲートとNANDゲートのような関係にある場合
に、一方の出力状態値のみをEVM9に定義して
おくためのものである。NOT6の値が「0」で
ある場合にはEVM9の内容はそのまま利用され、
NOT6の値が「1」である場合には、EVM9の
内容は反転して利用される。
NOT6 is a memory provided with one bit for each gate in order to save EVM9 to be explained later by half. For example, if the input of the gate 17 shown in FIG. 3A and the input of the gate 17' shown in FIG.
This is to define only one output state value in the EVM 9 when there is a relationship such as a gate and a NAND gate. If the value of NOT6 is "0", the contents of EVM9 are used as is,
When the value of NOT6 is "1", the contents of EVM9 are inverted and used.

BEA7は、各ゲート毎にそのゲートの属性に
よつて定まるアドレス値が格納されているメモリ
であつて、そのアドレス値はEVM9についての
そのゲートのすべての出力状態値が格納されてい
る領域の先頭アドレスを示す。
BEA7 is a memory in which an address value determined by the attribute of each gate is stored for each gate, and the address value is the beginning of the area where all output state values of that gate for EVM9 are stored. Indicates an address.

EVM9は、ゲートの属性毎に各ゲートへの入
力によつて定まる出力状態を定義したメモリであ
つて、各ゲートに対応するBEA7の内容とIVM
5の内容とが、加算器8によつて加算され、その
出力結果によつて求まるアドレスによつて参照さ
れるようになつているものである。
EVM9 is a memory that defines the output state determined by the input to each gate for each gate attribute, and contains the contents of BEA7 corresponding to each gate and the IVM
5 are added by the adder 8, and referenced by the address determined by the output result.

FOP10は、NSM4の各ゲートに対応してそ
のゲートの出力先のゲート情報が格納された
FOM11内のアドレスを保持してポイントする
メモリである。FOM11は、FOP10によつて
参照される。FOM11には、各ゲート毎にその
ゲートのフアンアウトとなるゲートについてのゲ
ート・アドレス、すなわちNSM4におけるゲー
ト番号と、出力が出力先ゲートのどの入力端子に
入力されるかの入力番号情報とが格納されてい
る。この入力番号情報は、IVM5のビツト位置
に対応しているものである。各ゲートのフアンア
ウトの平均値が例えば「3」であるとすると、ゲ
ート数の3倍のエントリが設けられ、12288個
(=4096×3)のエントリが用意される。1個の
ゲートについてのフアンアウトの終りは、各エン
トリの先頭1ビツトのチエツク・ビツトによつて
示される。このビツトが「1」である場合には、
終りを示す。例えば、第2図図示の如きゲート接
続がなされている場合、ゲート16のフアンアウ
トは4であり、その出力先のゲート・アドレス
は、FOP10からポイントされるFOM11によ
つて認知できるようにされる。例えば3番目に出
力ゲート17Cについてみると、ゲート16の出
力はゲート17Cの第2番目の入力端子に入力さ
れることがFOM11によつてわかる。EGB12
は、FOM11が第1の処理フエーズで参照され
た場合に、処理の対象となつたゲート情報を
FOM11からコピーして、第2の処理フエーズ
で用いるために記憶するメモリである。記憶され
た有効なゲート・アドレスの先頭および最終の位
置は、それぞれレジスタ13およびレジスタ14
によつて示される。
FOP10 stores the output destination gate information for each gate of NSM4.
This is a memory that holds and points to addresses within the FOM11. FOM11 is referenced by FOP10. For each gate, FOM11 stores the gate address for the gate that becomes the fanout of that gate, that is, the gate number in NSM4, and input number information indicating which input terminal of the output destination gate the output is input to. has been done. This input number information corresponds to the bit position of IVM5. Assuming that the average value of the fan-out of each gate is, for example, "3", three times as many entries as the number of gates are provided, and 12288 (=4096×3) entries are prepared. The end of fanout for one gate is indicated by the first check bit of each entry. If this bit is “1”,
Indicates the end. For example, when the gate connections are as shown in FIG. 2, the fanout of the gate 16 is 4, and the gate address of the output destination is made known by the FOM 11 pointed from the FOP 10. . For example, looking at the third output gate 17C, it can be seen from the FOM 11 that the output of the gate 16 is input to the second input terminal of the gate 17C. EGB12
is the gate information to be processed when FOM11 is referenced in the first processing phase.
This is a memory that is copied from the FOM 11 and stored for use in the second processing phase. The starting and ending locations of the stored valid gate addresses are in register 13 and register 14, respectively.
It is shown by.

さて、論理シミユレーシヨンの計算手順につい
て、簡単に説明する。本論理シミユレータは、イ
ベント法というアルゴリズムを採用し、遅延モデ
ルについては、ゲートの入力に発生したイベント
(信号の変化)が出力に伝わるのに1単位時間を
要するという単位遅延を採用している。
Now, the calculation procedure of the logical simulation will be briefly explained. This logic simulator uses an algorithm called the event method, and uses a unit delay model in which it takes one unit time for an event (change in signal) that occurs at the input of a gate to be transmitted to the output.

論理シミユレータが行うべきことは、 (1) ある時刻における信号線の状態変化(イベン
ト)をNEM1より取り出し(以下、処理(1)と
いう)、 (2) その信号線の状態を保持しているNSM4の
内容を新しい状態に更新すること(以下、処理
(2)という)。
What the logic simulator should do is (1) extract the state change (event) of a signal line at a certain time from NEM1 (hereinafter referred to as processing (1)), and (2) extract the state change (event) of the signal line from NEM4, which maintains the state of the signal line. to update the contents of the file to a new state (hereinafter referred to as processing
(2)).

(3) その変化を入力として持つゲート(変化した
先にあるゲートを、FOP10とFOM11を用
いて取り出し(以下、処理(3)という)、 (4) ゲートの入力値を保持するIVM5の内容を
更新して新しい入力値とし、そのゲートを一旦
EGB12のバツフアに格納して溜めること
(以下、処理(4)という)。
(3) A gate that has the change as an input (the gate after the change is extracted using FOP10 and FOM11 (hereinafter referred to as processing (3)), (4) the contents of IVM5 that holds the input value of the gate are Update it to a new input value, and then open that gate once.
Storing and accumulating in the buffer of EGB12 (hereinafter referred to as process (4)).

(5) 入力に発生した信号線の状態変化が出力に伝
播するかどうかの判定をするために、EGB1
2からそのようなゲートを読み出し、IVM5
の新入力値、NOT6の出力値反転情報、EVM
9の真理値表、BEA7の真理値表へのアクセ
スのオフセツト情報を用いて行い(以下、処理
(5)という)、 (6) もし、変化が起きるならば、それを次時刻の
新しいイベントとしてNEM1に登録すること
(以下、処理(6)という)である。
(5) In order to determine whether the state change of the signal line that occurs at the input propagates to the output
Read such gate from 2 and IVM5
new input value, NOT6 output value inversion information, EVM
This is done using offset information for accessing the truth table of 9 and the truth table of BEA7 (hereinafter referred to as processing).
(5)), (6) If a change occurs, it is registered in NEM1 as a new event at the next time (hereinafter referred to as process (6)).

全体のブロツク構成は第4図図示の如くにな
る。第4図において、シミユレーシヨンの開始
は、まずNEM1のイベント・ネツトをポイント
するレジスタ2およびレジスタ3の内容による
NEM1の参照によつて行われる。NEM1に格
納されたイベント・ネツトおよびそのネツトに与
えられた状態値は、それぞれレジスタ20および
レジスタ21に読み出される。レジスタ20の内
容によつてFOP10が参照されるとともに、
NSM4がアクセスされ、その対応するゲートの
出力状態として、レジスタ21の内容がNSM4
に設定される。
The overall block configuration is as shown in FIG. In Figure 4, the start of the simulation is first determined by the contents of registers 2 and 3, which point to the event net of NEM1.
This is done by reference to NEM1. The event net stored in NEM1 and the state value given to that net are read into register 20 and register 21, respectively. The FOP 10 is referenced by the contents of the register 20, and
When NSM4 is accessed, the contents of register 21 are set to NSM4 as the output state of its corresponding gate.
is set to

ここで、第4図に示すNEM1、レジスタ
Nhead2、Ntail13は、それぞれ第1図に示す
NEM1、Nhead2、Ntail3に対応している。
前述したように、NEM1は、状態変化があつた
信号線に関するゲート情報とその新しい状態情報
を保持しており、保持している範囲は、NEM1
にアドレスを与えるレジスタNhead2からNtail
3と示されている。
Here, NEM1 shown in Figure 4, register
Nhead2 and Ntail13 are shown in Figure 1, respectively.
Compatible with NEM1, Nhead2, and Ntail3.
As mentioned above, NEM1 holds the gate information regarding the signal line whose state has changed and its new state information, and the range that it holds is NEM1.
Registers Nhead2 to Ntail that give addresses to
It is shown as 3.

この範囲にあるデータが読み出されて、ゲート
情報(イベント・ネツト)がレジスタenet20
に、新状態値がレジスタnews21に順次設定さ
れる。この処理が、論理シミユレータが行うべき
こととして前述した処理(1)である。
Data in this range is read and gate information (event net) is stored in register enet20.
Then, new status values are sequentially set in the register news21. This process is the process (1) described above as what the logic simulator should perform.

このenet20の値をアドレスとして、NSM4
にnews21の内容を書き込むことにより、前述
の処理(2)を実行する。
Using this enet20 value as an address, NSM4
By writing the contents of news21 into , the above-mentioned process (2) is executed.

また、enet20の値は、FOP10に対するア
ドレスともなつており、前述の処理(3)が開始され
る。
The value of enet20 also serves as the address for FOP10, and the above-mentioned process (3) is started.

FOP10の内容が「0」であるときには、フ
アンアウトはないことを示すが、通常はいくつか
のフアンアウトが存在するので、その内容はレジ
スタ22に読み出されて、FOM11が参照され
る。FOM11の内容であるチエツク・ビツトは
レジスタ23に、入力番号はレジスタ24に、ゲ
ート・アドレスはレジスタ25にセツトされるこ
とになる。レジスタ25にセツトされたゲート情
報は、後のアクセスのために、レジスタ14の内
容に「1」を加算した後の値が指すEGB12の
アドレス位置に記憶される。一方、レジスタ25
の内容によつて、その内容が示すゲートについて
のIVM5に、レジスタ24の入力番号にもとづ
いて、レジスタ21の状態情報がセツトされる。
このときレジスタ23の内容すなわちチエツク・
ビツトが0であれば、レジスタ22に「1」加算
され、同様にFOM11が参照され、チエツク・
ビツトが「1」になつて、すべてのフアンアウト
の処理が終了するまでの処理が繰返される。な
お、レジスタ23のチエツク・ビツトが1になつ
た段階で、次のイベント・ネツトの処理が開始さ
れ、同様に並列処理によつて処理される。
When the content of FOP10 is "0", it indicates that there is no fanout, but since there are usually several fanouts, the content is read to register 22 and FOM11 is referred to. The check bit, which is the contents of FOM 11, is set in register 23, the input number is set in register 24, and the gate address is set in register 25. The gate information set in the register 25 is stored for later access at the address location of the EGB 12 pointed to by the value obtained by adding "1" to the contents of the register 14. On the other hand, register 25
According to the contents of , the status information of the register 21 is set in the IVM 5 for the gate indicated by the contents, based on the input number of the register 24.
At this time, the contents of the register 23, that is, the check
If the bit is 0, "1" is added to register 22, FOM11 is similarly referred to, and check is performed.
The processing is repeated until the bit becomes "1" and all fan-out processing is completed. Note that when the check bit in the register 23 becomes 1, processing of the next event net is started and is similarly processed in parallel.

「ここで、第4図に示すFOP10とFOM11
は、それぞれ、第1図に示すFOP10とFOM1
1に対応している。これらは、第1図に従つて説
明したような内容を保持しているので、第4図を
用いてここで説明した動作により前述の処理(3)を
実行する。
“Here, FOP10 and FOM11 shown in Figure 4
are FOP10 and FOM1 shown in Figure 1, respectively.
It corresponds to 1. Since these hold the contents as explained according to FIG. 1, the above-mentioned process (3) is executed by the operation explained here using FIG.

同様に、第4図に示すIVM5、EGB12、
ehead13、etail14は第1図に示す同名のもの
に対応している。EGB12に格納されているデ
ータの有効範囲は、EGB12にアドレスを与え
るehead13からetail14と示されている。IVM
5とEGB12に対して、前述の処理(4)が実行さ
れる。また、前述の処理(5)と処理(6)についても、
次のように実行される。
Similarly, IVM5, EGB12 shown in FIG.
ehead 13 and etail 14 correspond to those with the same name shown in FIG. The valid range of data stored in the EGB 12 is shown as ehead 13, which gives an address to the EGB 12, to etail 14. IVM
The above-mentioned process (4) is executed for EGB 5 and EGB 12. Also, regarding process (5) and process (6) above,
It is executed as follows.

EGB12に記憶された」。ゲート・アドレスが
先頭を示すように初期設定されたレジスタ13か
らのポイントによつて順次レジスタ25に読み出
される。レジスタ25の内容によつてIVM5の
内容がレジスタ27に読み出され、また対応する
BEA7の内容がレジスタ26に読み出される。
また、レジスタ25によつて対応するNSM4の
内容がレジスタ29に読み出されるとともに、レ
ジスタ25の内容はレジスタ32−1に転送され
る。
It was memorized in EGB12." The points from the register 13, which are initialized so that the gate address indicates the beginning, are sequentially read into the register 25. The contents of IVM5 are read to register 27 according to the contents of register 25, and the corresponding
The contents of BEA7 are read into register 26.
Further, the contents of the corresponding NSM4 are read to the register 29 by the register 25, and the contents of the register 25 are transferred to the register 32-1.

次にレジスタ26とレジスタ27の内容とが、
加算器8によつて加算され、結果がレジスタ28
にセツトされる。そのときに、レジスタ32−1
の内容はレジスタ32−2に転送される。レジス
タ32−1ないしレジスタ32−5は、並列処理
の同期をとるためのものである。以下各タイミン
グ毎に内容が順次レジスタ32−2からレジスタ
32−5まで転送されることになる。
Next, the contents of register 26 and register 27 are
Adder 8 adds the result, and the result is stored in register 28.
is set to . At that time, register 32-1
The contents of are transferred to register 32-2. Registers 32-1 to 32-5 are for synchronizing parallel processing. Thereafter, the contents are sequentially transferred from register 32-2 to register 32-5 at each timing.

レジスタ28の内容によつてEVM9が参照さ
れ、現在処理対象のゲートの新たな出力状態が決
定される。なお、NOT6が「1」を示していれ
ば、EOR回路34によつて結果が反転するよう
にされ、結果はレジスタ21に設定される。次に
レジスタ21とレジスタ29の内容がEOR回路
33によつて比較される。すなわち、NSM4の
ゲート出力に変化があつたかどうか比較され、結
果がレジスタ30に格納される。一方、レジスタ
21に内容はレジスタ31−1へ、レジスタ32
−3の内容はレジスタ32−4へ転送される。レ
ジスタ30の内容が0でない場合、すなわちゲー
トの出力に変化があつた場合には、レジスタ3の
内容に「1」加算するとともに、レジスタ32−
4の内容をレジスタ32−5へ、またレジスタ3
1−1の内容をレジスタ31−2へ転送する。そ
して、レジスタ3の示すNEM1の位置にレジス
タ32−5の内容とレジスタ31−2の内容とを
書き込む。すなわち、新しいイベント・ネツトと
その状態とがNEM1に登録されたことになる。
The EVM 9 is referenced based on the contents of the register 28, and a new output state of the gate currently being processed is determined. Note that if NOT6 indicates "1", the result is inverted by the EOR circuit 34, and the result is set in the register 21. Next, the contents of register 21 and register 29 are compared by EOR circuit 33. That is, a comparison is made to see if there has been a change in the gate output of the NSM 4, and the result is stored in the register 30. On the other hand, the contents of register 21 are transferred to register 31-1 and register 32 is transferred to register 31-1.
The contents of -3 are transferred to register 32-4. When the contents of register 30 are not 0, that is, when there is a change in the output of the gate, "1" is added to the contents of register 3, and register 32-
4 to register 32-5, and register 3
The contents of 1-1 are transferred to register 31-2. Then, the contents of the register 32-5 and the contents of the register 31-2 are written to the position of NEM1 indicated by the register 3. In other words, a new event net and its status have been registered in NEM1.

同様にEGB12に記憶されたゲートについて
の処理を繰返す。さらにNEM1に新たに登録さ
れたイベント・ネツトについても同様に処理を繰
返せば、設計した論理装置が正しく動作している
かどうかNEM1の内容によつて容易に判別でき
ることとなる。
Similarly, the process for the gates stored in the EGB 12 is repeated. Furthermore, by repeating the same process for event nets newly registered in NEM1, it will be possible to easily determine whether the designed logical device is operating correctly based on the contents of NEM1.

次に第5図を参照して、サイクル・タイムとの
関係において、第1のフエーズについての動作を
説明する。
Next, referring to FIG. 5, the operation of the first phase will be described in relation to cycle time.

(o) 初期設定としてサイクル0○では、レジスタ2
およびレジスタ14に「−1」を設定する。
(o) As an initial setting, in cycle 0○, register 2
and sets "-1" in register 14.

() サイクルでレジスタ2に「1」加算す
る。この動作は、レジスタ23の内容が「0」
から「1」になるときに開始される。
Add "1" to register 2 in the () cycle. In this operation, the contents of register 23 are "0".
It starts when the value changes from 1 to 1.

() サイクルにおいて、レジスタ2の内容
で示されるNEM1のイベント・ネツトおよび
その状態がレジスタ20および21に読み出さ
れる。なお、レジスタ3には予めイベント・ネ
ツトの最終位置が格納されており、該処理はレ
ジスタ2とレジスタ3との値が一致していない
ときに行われる。
In the () cycle, the event net of NEM1 and its state indicated by the contents of register 2 are read into registers 20 and 21. Note that the final position of the event net is stored in advance in register 3, and this processing is performed when the values in register 2 and register 3 do not match.

() サイクルにおいて、レジスタ20によ
つてFOP10が参照されFOM11のアドレス
がレジスタ22に読み出される。また、NSM
4の処理対象のゲートの位置にレジスタ21の
新しい状態情報が書き込まれる。レジスタ23
は「0」に設定される。
In the () cycle, the FOP 10 is referenced by the register 20 and the address of the FOM 11 is read into the register 22. Also, N.S.M.
The new state information of the register 21 is written to the position of the gate to be processed No. 4. register 23
is set to "0".

() 次のサイクルでは、レジスタ22の内
容が「0」でないときにFOM11へのアクセ
スが行われ、レジスタ23,24および25に
対応する情報が読み出される。レジスタ14に
は「1」加算される。
() In the next cycle, when the contents of the register 22 are not "0", the FOM 11 is accessed and the information corresponding to the registers 23, 24 and 25 is read. “1” is added to the register 14.

() サイクルにおいては、レジスタ25の
示すIVM5の位置にレジスタ21の内容が書
き込まれる。なお、レジスタ24の出力はチツ
プ・セレクト信号として用いられ、入力端子の
位置を決定する。レジスタ14の示すEGB1
2の位置へレジスタ25の内容が記憶される。
レジスタ23の値が「0」であれば、レジスタ
22に「1」加算される。
In the () cycle, the contents of the register 21 are written to the position of IVM5 indicated by the register 25. Note that the output of the register 24 is used as a chip select signal to determine the position of the input terminal. EGB1 indicated by register 14
The contents of register 25 are stored in position 2.
If the value of the register 23 is "0", "1" is added to the register 22.

上記処理()および処理()は、レジスタ
23の内容が「1」に変化するまで繰返される。
なお、レジスタ23の内容が「1」に変化する
と、処理()が開始され、次のイベント・ネツ
トについての処理が並列的に行われるようにされ
る。すなわち、第6図図示の如く、サイクル,
の処理は、フアンアウトの数だけ繰返され、最
終のものについては、サイクル,の処理と並
列的に処理され、処理時間の短縮が行われる。
The above processing () and processing () are repeated until the contents of the register 23 change to "1".
Note that when the contents of the register 23 change to "1", processing () is started, and processing for the next event net is performed in parallel. That is, as shown in FIG.
The process of is repeated by the number of fanouts, and the final one is processed in parallel with the process of cycle , thereby reducing the processing time.

次に第7図によつて、第2のフエーズについて
説明する。
Next, the second phase will be explained with reference to FIG.

() サイクルにおいて、レジスタ3および
レジスタ13に「−1」を設定する。
() In the cycle, register 3 and register 13 are set to "-1".

() サイクルでレジスタ13に「1」加算
する。
Add "1" to register 13 in () cycle.

() 次のサイクルでレジスタ13とレジス
タ14との値が一致していないことを条件とし
て、レジスタ13の値をもとにEGB12の内
容がレジスタ25に読み出される。レジスタ1
3の内容には「1」加算される。
() In the next cycle, the contents of EGB 12 are read to register 25 based on the value of register 13, provided that the values of register 13 and register 14 do not match. register 1
``1'' is added to the contents of 3.

() サイクルにおいて、レジスタ25の内
容をもとに、IVM5およびBEA7の内容がそ
れぞれレジスタ27およびレジスタ26に読み
出される。また、NSM4の前の状態情報が、
レジスタ29に退避される。レジスタ25の内
容は、レジスタ32−1へ転送される。
In the () cycle, based on the contents of the register 25, the contents of the IVM5 and BEA7 are read into the register 27 and the register 26, respectively. Also, the state information before NSM4 is
It is saved in the register 29. The contents of register 25 are transferred to register 32-1.

() サイクルにおいて、レジスタ27およ
びレジスタ26の加算が加算器8によつて行わ
れ、EVM9へのアドレスがレジスタ28に格
納される。レジスタ32−1の内容はレジスタ
32−2へ転送される。
In the () cycle, addition of registers 27 and 26 is performed by adder 8, and the address to EVM 9 is stored in register 28. The contents of register 32-1 are transferred to register 32-2.

(xi) サイクルにおいて、EVM9が参照さ
れ、新しい出力状態情報がレジスタ21に設定
される。レジスタ32−2の内容はレジスタ3
2−3へシフトされる。
In the (xi) cycle, EVM9 is referenced and new output status information is set in register 21. The contents of register 32-2 are register 3
Shifted to 2-3.

(xii) サイクルでは、レジスタ21とレジス
タ29との内容が、EOR回路33で比較され、
結果がレジスタ30にセツトされる。レジスタ
21の内容はレジスタ31−1へ、レジスタ3
2−3の内容はレジスタ32−4へシフトされ
る。
(xii) In the cycle, the contents of register 21 and register 29 are compared in EOR circuit 33,
The result is set in register 30. The contents of register 21 are transferred to register 31-1, register 3
The contents of 2-3 are shifted into register 32-4.

() サイクルにおいて、レジスタ30の
値が「0」でないときに、レジスタ3の内容が
「1」カウント・アツプされ、レジスタ32−
4の内容はレジスタ32−5へ、レジスタ31
−1の内容はレジスタ31−2へシフトされ
る。
() In the cycle, when the value of register 30 is not "0", the contents of register 3 are counted up by "1", and register 32-
The contents of 4 are sent to register 32-5 and register 31
The contents of -1 are shifted to register 31-2.

() サイクルにおいて、レジスタ3の示
すNEM1の位置へレジスタ32−5およびレ
ジスタ31−2の内容が格納される。
In the () cycle, the contents of register 32-5 and register 31-2 are stored in the location of NEM1 indicated by register 3.

EGB12に記憶された次のイベントの処理は
第8図図示の如く、最初のイベントがサイクル
に入つた段階で、処理()から並列して処理す
るようにされ、EGB12に記憶されたすべての
イベントについての処理が完了するまで、処理
()から処理()までの処理が繰返される。
特に、第2のフエーズにおいては、並列処理の多
重度が大きく従来ソフトウエアで直列的に処理し
ていた場合に比べて極めて高速に処理できること
となる。
As shown in FIG. 8, the processing of the next event stored in the EGB 12 is started in parallel from process() when the first event enters the cycle, and all events stored in the EGB 12 are processed in parallel. The processes from process() to process() are repeated until the process for is completed.
In particular, in the second phase, the degree of multiplicity of parallel processing is large, and processing can be performed at extremely high speed compared to the case where processing was performed serially using conventional software.

「次に、第9図ないし第11図に従つて、具体
的な回路についてのシミユレーシヨンの例を説明
する。
``Next, a simulation example of a specific circuit will be explained according to FIGS. 9 to 11.

例えば、第9図に示すような論理回路の動作を
シミユレーシヨンするものとする。第9図におい
て、g1〜g7はゲートであつて、特にg1〜g
3はバツフア(BUF)、g4はインバータ
(INV)、g5,g6はアンドゲート(AND)、
g7はオアゲート(OR)である。
For example, assume that the operation of a logic circuit as shown in FIG. 9 is simulated. In FIG. 9, g1 to g7 are gates, especially g1 to g
3 is buffer (BUF), g4 is inverter (INV), g5 and g6 are and gate (AND),
g7 is an or gate (OR).

EVM9には、あらかじめ第10図に示すよう
な情報が格納されている。
The EVM 9 stores information as shown in FIG. 10 in advance.

すなわち、インバータ、アンド、オア等といつ
たゲートの種類毎に、その真理値表が格納されて
いる。この例では、インバータについては、
EVM9の200番地から、アンドについては、
EVM9の300番地から格納されている。
That is, a truth table is stored for each type of gate such as inverter, AND, OR, etc. In this example, for the inverter,
From address 200 of EVM9, regarding and,
Stored starting from address 300 of EVM9.

入力および出力の各状態値は、各々2ビツトで
表され、「0」(Lレベル)は“00”、「1」(Hレ
ベル)は“11”、「X」(未定値)は“01”、「Z」
(ハイ・インピーダンス)は“10”で表される。
Each input and output status value is represented by 2 bits, and “0” (L level) is “00”, “1” (H level) is “11”, and “X” (undefined value) is “01”. ”, “Z”
(high impedance) is represented by “10”.

例えば、インバータの場合、真理値表は第10
図のロに示すように、入力が0に対して、出力が
1、入力が1に対して出力が0、入力がXおよび
Zに対して出力がXとなるので、EVM9におけ
るインバータの真理値表格納部には、入力値に応
じて、1,X,X,0が出力の状態値として格納
される。
For example, in the case of an inverter, the truth table is the 10th
As shown in the figure (b), when the input is 0, the output is 1, when the input is 1, the output is 0, and when the input is X and Z, the output is X, so the truth value of the inverter in EVM9 In the table storage section, 1, X, X, and 0 are stored as output state values according to the input value.

第9図に示す各ゲートg1〜g7のフアン・ア
ウトに関する情報は、第11図のイに示すよう
に、FOP10とFOM11によつて管理される。
ゲートg1の出力先は、g5の第0番の入力端子
と、g4の第0番の入力端子である。チエツク・
ビツト(Check Bit)は、「1」が各ゲート毎に
フアン・アウトの終りを示す。g2の出力先は、
g5の第1番の入力端子である。他も同様にフア
ン・アウト情報が設定されている。
Information regarding the fan-out of each gate g1 to g7 shown in FIG. 9 is managed by the FOP 10 and FOM 11, as shown in FIG. 11A.
The output destinations of the gate g1 are the No. 0 input terminal of g5 and the No. 0 input terminal of g4. Check
A check bit of "1" indicates the end of fan-out for each gate. The output destination of g2 is
This is the first input terminal of g5. Fan-out information is similarly set for the others.

今、ゲートg1,g2,g3の出力値が、そ
れぞれ0,0,1であるときに、g1にイベン
ト(0→1)が発生した状態を考える。
Now, consider a state in which an event (0→1) occurs at g1 when the output values of gates g1, g2, and g3 are 0, 0, and 1, respectively.

NEM1には、第11図のロに示すように、
g1が1になつたと記入されている。
In NEM1, as shown in Figure 11,
It is written that g1 has become 1.

第11図のニに示すように、NSM4のアド
レスg1で示されるエントリー部分を、0から
1にアツプデートする。
As shown in FIG. 11D, the entry portion indicated by address g1 of NSM4 is updated from 0 to 1.

同時に、g1のイベントによつてFOP10
とFOM11を経由し、EGB12には、第11
図のハに示すように、g1のフアン・アウト・
ゲートであるg5とg4が格納される。
At the same time, the event of g1 causes FOP10 to
and FOM11, and EGB12 has the 11th
As shown in Figure C, the fan out of g1
Gates g5 and g4 are stored.

また、IVM5におけるg5とg4の入力ベ
クトルの値が、それぞれ00→10,0→1に変更
される。
Furthermore, the values of the input vectors g5 and g4 in IVM5 are changed from 00 to 10 and from 0 to 1, respectively.

この処理が終わると、EGB12からg5と
g4の情報が読み出される。例えば、g4に対
する処理では、BEA7として、インバータ
(INV)の真理値表の格納してある開始アドレ
ス200を読み出す。IVM5からは、新しい値
「1(2ビツトの状態表示では“11”)」を読み出
す。これらの値から、参照すべきEVM9のア
ドレスは、200+(信号値1を表す値)=200+3
(“11”のこと)=203番地となる。ここをアクセ
スすると、入力「1」に対する出力「0」を得
る。一方、g4の古い値「1」がNSM4に書
かれているため、イベントの発生を認識する。
When this process is finished, information on g5 and g4 is read from the EGB 12. For example, in the process for g4, BEA7 reads out the start address 200 where the truth table of the inverter (INV) is stored. A new value "1 ("11" in 2-bit status display)" is read from IVM5. From these values, the address of EVM9 to be referenced is 200 + (value representing signal value 1) = 200 + 3
(referring to “11”) = address 203. If you access this, you will get an output of "0" for an input of "1". On the other hand, since the old value "1" of g4 is written in NSM4, the occurrence of the event is recognized.

g4が「0」になつたというイベントが
NEM1に書き込まれ、これに対するシミユレ
ーシヨンが続けられる。
The event that g4 became "0"
It is written to NEM1 and the simulation continues for this.

以上にように、シミユレーシヨンが実行される
ことになる。」。
As described above, the simulation will be executed. ”.

(6) 発明の効果 以上説明した如く本発明によれば、論理シミユ
レーシヨンを専用マシンによつて極めて高速に実
行し、処理することが可能になる。論理シミユレ
ーシヨンにおいては、処理の95%以上はRAMア
クセスに費され、処理スピードは素子スピードと
処理の並列性に依存することとなる。RAMアク
セス時間をやや低速な200ナノ秒として計算する
と以下の通りとなる。
(6) Effects of the Invention As explained above, according to the present invention, logic simulation can be executed and processed at extremely high speed by a dedicated machine. In logic simulation, more than 95% of processing is spent on RAM access, and processing speed depends on element speed and processing parallelism. If we calculate the RAM access time as a slightly slower 200 nanoseconds, we get the following.

イベントの数をe、平均フアンアウトの数をf
とする。第6図図示の如く、第1のフエーズにお
いては、最終フアンアウトのサイクル,と、
次のゲートのサイクル,とが並列的に処理可
能であるので、処理時間T1は次の通りになる。
The number of events is e, and the average number of fanouts is f.
shall be. As shown in FIG. 6, in the first phase, the final fan-out cycle,
Since the next gate cycle can be processed in parallel, the processing time T1 is as follows.

T1=1+(5+(f−1)×2−2)e+2=e
(f+1)+3 また、第2のフエーズにおいては、第8図図示
の如く、サイクル〜とサイクル〜とが、
並列に処理されることとなるので、処理時間T2
は、次のようになる。
T 1 =1+(5+(f-1)×2-2)e+2=e
(f+1)+3 Also, in the second phase, as shown in FIG. 8, cycle ~ and cycle ~ are
Since it will be processed in parallel, the processing time T 2
becomes as follows.

T2=3ef+5 従つて全体の処理時間Tは、 T=T1+T2=e(f+1)+3+3ef+5 =e(4f+1)+8 となる。 T 2 =3ef+5 Therefore, the entire processing time T is: T=T 1 +T 2 =e(f+1)+3+3ef+5 =e(4f+1)+8.

1イベントについての処理時間は、 T/e=4f+1+8/e≒4f+1 となり、平均フアンアウトの数fを3,RAMア
クセス・スピードを200ナノ秒とすると、1イベ
ントを処理するのに、約2.6マイクロ秒かかるこ
とになる。これは、例えば大型の汎用コンピユー
タによつて、ソフトウエアで処理する場合の10倍
の性能に相当し、処理の高速化に大きな効果を有
する。
The processing time for one event is T/e=4f+1+8/e≒4f+1, and if the average number of fanouts f is 3 and the RAM access speed is 200 nanoseconds, it takes about 2.6 microseconds to process one event. It will take seconds. This corresponds to 10 times the performance of processing using software on a large general-purpose computer, for example, and has a significant effect on speeding up processing.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例の論理データ構造説
明図、第2図および第3図は第1図図示データ構
造を説明するための図、第4図は本発明の一実施
例構成ブロツク図、第5図ないし第8図は本発明
の一実施例動作説明図を「、第9図はシミユレー
シヨンの動作を説明するための回路例、第10図
は本発明の実施例に係る辞書メモリ(EVM)の
構成例、第11図は本発明の実施例による動作状
態説明図を示す。」。 図中、1はニユー・イベント・メモリ、4はニ
ユー・ステータス・メモリ、5はインプツト・ベ
クタ・メモリ、7は辞書アドレス・メモリ、8は
加算器、9は辞書メモリ、11はフアンアウト・
メモリを表わす。
FIG. 1 is a diagram for explaining the logical data structure of one embodiment of the present invention, FIGS. 2 and 3 are diagrams for explaining the data structure shown in FIG. 1, and FIG. 4 is a configuration block diagram of one embodiment of the present invention. 5 to 8 are diagrams for explaining the operation of an embodiment of the present invention, FIG. 9 is an example of a circuit for explaining the operation of the simulation, and FIG. 10 is a dictionary memory according to an embodiment of the present invention. (EVM) configuration example, FIG. 11 shows an explanatory diagram of the operating state according to the embodiment of the present invention. In the figure, 1 is a new event memory, 4 is a new status memory, 5 is an input vector memory, 7 is a dictionary address memory, 8 is an adder, 9 is a dictionary memory, and 11 is a fanout memory.
Represents memory.

Claims (1)

【特許請求の範囲】 1 多数のゲートの組合せからなる論理装置の動
作をシミユレートする装置において、 少なくともイベント・ネツトとそのネツトの新
しい状態とが登録されるニユー・イベント・メモ
リと、 上記各ゲート対応にそのゲートの出力状態が記
憶されるニユー・ステータス・メモリと、 上記各ゲート対応にフアンアウトのゲート・ア
ドレスが格納されているフアンアウト・メモリ
と、 上記ニユー・ステータス・メモリの上記各ゲー
ト毎にそのゲートへの入力状態が格納されるイン
プツト・ベクタ・メモリと、 シミユレーシヨンの対象とされるゲートの種類
毎に、そのゲートに対する各入力値に応じた論理
演算に係る出力状態値が定義されている辞書メモ
リと、 該辞書メモリにおける各ゲートの種類に応じた
出力状態値が定義されている位置のアドレス情報
であつて、上記インプツト・ベクタ・メモリの内
容とあわせて上記辞書メモリの参照に使用される
アドレス情報が、上記ニユー・ステータス・メモ
リにおけるゲートの並びに対応して格納されてい
る辞書アドレス・メモリとをそなえ、 上記各メモリは並列的にアクセス可能に構成さ
れるとともに、上記ニユー・イベント・メモリの
内容にもとづいて上記ニユー・ステータス・メモ
リおよび上記フアンアウト・メモリの参照がなさ
れ、上記インプツト・ベクタ・メモリの内容が上
記ニユー・ステータス・メモリおよび上記フアン
アウト・メモリの情報によつて更新されるよう構
成され、 上記インプツト・ベクタ・メモリおよび対応す
る上記辞書アドレス・メモリの内容によつて決定
される上記辞書メモリの内容が、新たなゲート出
力となるようにしてシミユレートするように構成
されたことを特徴とするハード論理シミユレータ
装置。
[Scope of Claims] 1. A device for simulating the operation of a logic device consisting of a combination of a large number of gates, including a new event memory in which at least an event net and a new state of the net are registered, and a memory corresponding to each of the above gates. a new status memory in which the output state of the gate is stored; a fanout memory in which the gate address of the fanout is stored corresponding to each of the above gates; An input vector memory stores the input state to the gate, and for each type of gate to be simulated, the output state value associated with the logical operation corresponding to each input value to that gate is defined. Address information of the dictionary memory where the input vector memory is located and the location where the output state value corresponding to the type of each gate in the dictionary memory is defined, and is used to refer to the dictionary memory together with the contents of the input vector memory. and a dictionary address memory in which address information to be displayed is stored in correspondence with the gate arrangement in the new status memory, and each of the memories is configured to be accessible in parallel, and the new event - The new status memory and the fanout memory are referenced based on the contents of the memory, and the contents of the input vector memory are determined based on the information in the new status memory and the fanout memory. configured to be updated, and configured to simulate the contents of the dictionary memory determined by the contents of the input vector memory and the corresponding dictionary address memory as a new gate output. A hard logic simulator device characterized by:
JP57113320A 1982-06-30 1982-06-30 Hard logic simulator device Granted JPS593652A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57113320A JPS593652A (en) 1982-06-30 1982-06-30 Hard logic simulator device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57113320A JPS593652A (en) 1982-06-30 1982-06-30 Hard logic simulator device

Publications (2)

Publication Number Publication Date
JPS593652A JPS593652A (en) 1984-01-10
JPH0458070B2 true JPH0458070B2 (en) 1992-09-16

Family

ID=14609240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57113320A Granted JPS593652A (en) 1982-06-30 1982-06-30 Hard logic simulator device

Country Status (1)

Country Link
JP (1) JPS593652A (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6142040A (en) * 1984-08-03 1986-02-28 Nec Corp Logical simulator
JPS63124141A (en) * 1986-11-13 1988-05-27 Nec Corp Simulator
JPS63204441A (en) * 1987-02-20 1988-08-24 Fujitsu Ltd Processing method of processor dedicated to logic simulation
EP1187043A2 (en) * 1990-01-29 2002-03-13 Fujitsu Limited Gate addressing system for logic simulation machine

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5528194A (en) * 1978-08-21 1980-02-28 Omron Tateisi Electronics Co Initial program load system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5528194A (en) * 1978-08-21 1980-02-28 Omron Tateisi Electronics Co Initial program load system

Also Published As

Publication number Publication date
JPS593652A (en) 1984-01-10

Similar Documents

Publication Publication Date Title
JP4994393B2 (en) System and method for generating multiple models at different levels of abstraction from a single master model
US6023568A (en) Extracting accurate and efficient timing models of latch-based designs
JPS633344B2 (en)
Beer et al. RuleBase: Model checking at IBM
WO2022116642A1 (en) Memory parameter extraction method, apparatus and device, and readable storage medium
Drechsler et al. Gatecomp: Equivalence checking of digital circuits in an industrial environment
JPH0458070B2 (en)
US5880975A (en) Method of producing simplified code from a circuit compiler
JPS6141017B2 (en)
US5761488A (en) Logic translation method for increasing simulation emulation efficiency
US7130784B2 (en) Logic simulation
US9659142B1 (en) Methods, systems, and articles of manufacture for trace warping for electronic designs
US11106846B1 (en) Systems and methods for emulation data array compaction
JP2000057203A (en) Simulation method for leveling compiled code by net list conversion use
US7689400B2 (en) Reconstruction of data from simulation models
US6668359B1 (en) Verilog to vital translator
US11048843B1 (en) Dynamic netlist modification of compacted data arrays in an emulation system
JPS61201347A (en) Logical simulation device
JP2924968B2 (en) Time interactive simulation device
JPS6311715B2 (en)
Yakovlev et al. Petri nets and asynchronous circuit design
JPH0472269B2 (en)
JPH0385636A (en) Instruction advance control device
JP2797128B2 (en) Logic simulator
JP2924222B2 (en) Logic simulator