JP2797128B2 - Logic simulator - Google Patents

Logic simulator

Info

Publication number
JP2797128B2
JP2797128B2 JP2004928A JP492890A JP2797128B2 JP 2797128 B2 JP2797128 B2 JP 2797128B2 JP 2004928 A JP2004928 A JP 2004928A JP 492890 A JP492890 A JP 492890A JP 2797128 B2 JP2797128 B2 JP 2797128B2
Authority
JP
Japan
Prior art keywords
event
simulation
logic
memory
data
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 - Fee Related
Application number
JP2004928A
Other languages
Japanese (ja)
Other versions
JPH03209571A (en
Inventor
鉄也 長谷部
博昭 林
一樹 篠田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Electron Ltd
Original Assignee
Tokyo Electron 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=11597258&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2797128(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Tokyo Electron Ltd filed Critical Tokyo Electron Ltd
Priority to JP2004928A priority Critical patent/JP2797128B2/en
Priority to KR1019910000393A priority patent/KR0158887B1/en
Publication of JPH03209571A publication Critical patent/JPH03209571A/en
Priority to US08/185,153 priority patent/US5613062A/en
Application granted granted Critical
Publication of JP2797128B2 publication Critical patent/JP2797128B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、論理シミュレータに関する。DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Field of Industrial Application) The present invention relates to a logic simulator.

(従来の技術) 一般に、半導体デバイスは多数の基本機能素子からな
る論理回路によって構成されるが、例えば新しい半導体
デバイスを設計する際においては、設計した論理回路が
期待通りの動作を行うか否か等を予め論理シミュレータ
によりシミュレーションしている。このような論理シミ
ュレータは、従来汎用コンピュータ等を用いて、ソフト
ウエアによって構成されていた。
(Prior Art) In general, a semiconductor device is configured by a logic circuit including a large number of basic functional elements. For example, when designing a new semiconductor device, whether or not the designed logic circuit operates as expected is performed. Are simulated in advance by a logic simulator. Conventionally, such a logic simulator has been configured by software using a general-purpose computer or the like.

また、このような論理シミュレータにおける論理シミ
ュレーションの高速化を図るため、例えば特開昭59−36
52号公報、特開昭63−257841号公報等において、上述し
たような論理シミュレータのソフトウエアの一部を、ハ
ードウエアに置き換えた論理シミュレータが提案されて
いる。
In order to speed up the logic simulation in such a logic simulator, Japanese Patent Laid-Open No.
No. 52, JP-A-63-257841, and the like propose a logic simulator in which a part of the software of the logic simulator as described above is replaced with hardware.

(発明が解決しようとする課題) しかしながら、近年半導体デバイスは高集積化される
傾向にあり、これに伴い、論理シミュレータによってシ
ミュレーションすべきロジック回路も、大規模化、複雑
化する傾向にある。このため、上述した従来のソフトウ
エアの一部を、ハードウエアに置き換えた論理シミュレ
ータにおいても、シミュレーションに数時間あるいは数
十時間を要する場合があり、さらにシミュレーションの
高速化を図ることが求められている。
(Problems to be Solved by the Invention) However, in recent years, semiconductor devices tend to be highly integrated, and accordingly, logic circuits to be simulated by a logic simulator also tend to be large-scale and complicated. For this reason, even in a logic simulator in which a part of the conventional software described above is replaced with hardware, it may take several hours or tens of hours for the simulation, and it is required to further speed up the simulation. I have.

特に、シミュレーションすべきロジック回路が、RAM
およびROM等のメモリーを有し、シミュレーション中に
これらのメモリーにアクセスしてデータの読み出し、ま
た、書き込みを行うような場合、従来の論理シミュレー
タでは、ハードウエアとソフトウエアとの間での応答を
必要とするため、シミュレーション速度が遅くなるとい
う問題があった。
In particular, the logic circuit to be simulated is RAM
In the case of reading and writing data by accessing these memories during simulation, conventional logic simulators have to respond between hardware and software. This necessitates a problem that the simulation speed is reduced.

本発明は、かかる従来の事情に対処してなされたもの
で、RAMおよびROM等のメモリーを有するロジック回路で
あっても、従来に較べて高速にシミュレーションを行う
ことのできる論理シミュレータを提供しようとするもの
である。
The present invention has been made in view of such a conventional situation, and aims to provide a logic simulator that can perform a simulation at a higher speed than a conventional one even for a logic circuit having a memory such as a RAM and a ROM. Is what you do.

[発明の構成] (課題を解決するための手段) すなわち本発明の論理シミュレーショは、入出力装置
と、少なくとも、前記入出力装置から入力された被シミ
ュレーションロジック回路の構成に関するデータと、該
ロジック回路の動作をテストするためのテストパターン
に関するデータと、該ロジック回路内のメモリーに格納
されたデータと、シミュレーション結果とを格納する複
数のRAMと、前記RAMとの応答により、自走で前記ロジッ
ク回路の状態をシミュレーションするシミュレーション
チップであって、前記ロジック回路内のメモリーを多入
力一出力の複数のセルとして取り扱うとともに、必要に
応じて前記RAM内から該メモリーに格納されたデータを
読み出すシミュレーションチップとを具備したことを特
徴とする。
[Structure of the Invention] (Means for Solving the Problems) That is, a logic simulation according to the present invention comprises an input / output device, at least data on the configuration of a simulated logic circuit input from the input / output device, and the logic A plurality of RAMs for storing data relating to a test pattern for testing the operation of the circuit, data stored in a memory in the logic circuit, and a simulation result; A simulation chip for simulating the state of a circuit, wherein a memory chip in the logic circuit is treated as a plurality of cells having multiple inputs and one output, and data stored in the memory is read from the RAM as necessary. And characterized in that:

また、請求項2の発明は、請求項1記載の論理シミュ
レータにおいて、 前記シミュレーションチップは、 シミュレーション用の入力信号のイベントの種類とイ
ベントの発生したネット名に関する情報が発生時刻順に
記載されているテスト・ベクタを前記RAMから順次読み
込んでメモリに展開するとともに、新しく発生したイベ
ントを発生時刻順にこれらのテスト・ベクタ間に書き込
むタイムホイール部と、 前記タイムホイール部から、順次前記イベントの情報
を読込んで、各ネットにおけるシミュレーションを実行
するアキュムレータ部と、 前記アキュムレータ部からのシミュレーション結果を
受け取って、各論理ブロックにおけるイベントの発生状
態を判定し、判定結果を出力するファンクションロジッ
ク部と を具備したことを特徴とする。
According to a second aspect of the present invention, in the logic simulator according to the first aspect, the simulation chip has a test in which information on an event type of a simulation input signal and a net name where the event has occurred are described in order of occurrence time. A vector sequentially reading from the RAM and expanding it in the memory, and a time wheel unit for writing a newly generated event between these test vectors in the order of occurrence time; and reading the information of the event sequentially from the time wheel unit. An accumulator unit that executes a simulation in each net; and a function logic unit that receives a simulation result from the accumulator unit, determines an occurrence state of an event in each logic block, and outputs a determination result. Toss .

(作 用) 本発明の論理シミュレータでは、少なくとも、シミュ
レーションを行うロジックの構成に関するデータと、該
ロジックの動作をテストするためのテストパターンに関
するデータと、該ロジック回路内のメモリーに格納され
たデータと、シミュレーション結果とを格納する複数の
RAMを有する。そして、これらのRAMとの応答により、シ
ミュレーションチップが、自走(シミュレーションチッ
プ内の演算処理のみ)で被シミュレーションロジック回
路の状態をシミュレーションする。
(Operation) In the logic simulator of the present invention, at least data relating to a configuration of a logic to be simulated, data relating to a test pattern for testing the operation of the logic, and data stored in a memory in the logic circuit are provided. Store multiple simulation results,
Has RAM. Then, the simulation chip simulates the state of the logic circuit to be simulated by self-running (only the arithmetic processing in the simulation chip) in response to the RAM.

また、被シミュレーションロジック回路を構成するメ
モリー(RAMおよびROM)に格納されたデータは、予め論
理シミュレータ内の専用のRAM(RAM,ROMデータメモリ
ー)に格納しておく。そして、シミュレーションチップ
は、上記メモリーを多入力−出力の複数のセルとして取
り扱うとともに、必要に応じて前記専用のRAM内からデ
ータを読み出し、また書き込みを行う。
The data stored in the memories (RAM and ROM) constituting the logic circuit to be simulated is stored in advance in a dedicated RAM (RAM, ROM data memory) in the logic simulator. Then, the simulation chip treats the memory as a plurality of cells having multiple inputs and outputs, and reads and writes data from the dedicated RAM as needed.

したがって、RAMおよびROM等のメモリーを有するロジ
ック回路であっても、シミュレーション途中で汎用コン
ピュータと応答を行わずに、シミュレーションを実行す
ることができる。
Therefore, even a logic circuit having a memory such as a RAM and a ROM can execute a simulation without responding to a general-purpose computer during the simulation.

このため、従来に較べて大幅にシミュレーション速度
の高速化を図ることができる。
For this reason, the simulation speed can be significantly increased as compared with the related art.

(実施例) 以下、本発明の一実施例の論理シミュレータを図面を
参照して説明する。
Embodiment Hereinafter, a logic simulator according to one embodiment of the present invention will be described with reference to the drawings.

第1図に示すように、この実施例の論理シミュレータ
は、1チップ上に形成されたハードウエアから構成され
るシミュレーションチップ1と、例えば複数のRAMから
構成されるデータ収容部2と、入出力装置としてのエン
ジニアリング・ワーク・ステーション(以下EWSとい
う)3とからその主要部が構成されている。
As shown in FIG. 1, a logic simulator of this embodiment includes a simulation chip 1 composed of hardware formed on one chip, a data storage unit 2 composed of, for example, a plurality of RAMs, An engineering work station (hereinafter, referred to as EWS) 3 as an apparatus constitutes a main part thereof.

また、上記シミュレーションチップ1は、タイムホイ
ール部(以下TWUという)11と、アキュムレータ部(以
下ACUという)12と、ファンクションロジック部(以下F
DUという)13とから構成されている。
The simulation chip 1 includes a time wheel unit (hereinafter, TWU) 11, an accumulator unit (hereinafter, ACU) 12, a function logic unit (hereinafter, FWU).
DU) 13.

一方、データ収容部2は、コンディションステートメ
モリー(以下COMという)21と、テストベクタメモリー
(以下TVMという)22、タイムホイールメモリー(以下T
WMという)23、イベントテーブルメモリー(以下ETMと
いう)24、ネットインフォメーションメモリー(以下NI
Mという)25、結果格納用メモリー(以下RSMという)2
6、セルスペックメモリー(以下CSMという)27、RAM,RO
Mデータメモリー28(以下RRMという)28、ネットシグナ
ルステートメモリー(以下STMという)29等から構成さ
れている。
On the other hand, the data storage unit 2 includes a condition state memory (hereinafter, referred to as COM) 21, a test vector memory (hereinafter, referred to as TVM) 22, a time wheel memory (hereinafter, referred to as T).
WM) 23, event table memory (hereinafter ETM) 24, net information memory (hereafter NI)
M) 25, result storage memory (RSM) 2
6, Cell Spec Memory (hereinafter CSM) 27, RAM, RO
An M data memory (hereinafter referred to as RRM) 28, a net signal state memory (hereinafter referred to as STM) 29 and the like are provided.

上記シミュレーションチップ1とデータ収容部2は、
外部バス(外部データバス、外部アドレスバス)4を介
して接続されている。
The simulation chip 1 and the data storage unit 2
It is connected via an external bus (external data bus, external address bus) 4.

また、ロジック部1内のTWU11、ACU12、FDU13は内部
バス(内部データバス、内部アドレスバス)14を介して
接続されている。
The TWU 11, ACU 12, and FDU 13 in the logic unit 1 are connected via an internal bus (internal data bus, internal address bus) 14.

さらに、複数のメモリーのうちSTM28だけは、専用の
ステートバス(ステートデータバス、ステートアドレス
バス)30を介してACU12に接続されている。
Further, of the plurality of memories, only the STM 28 is connected to the ACU 12 via a dedicated state bus (state data bus, state address bus) 30.

シミュレーションに必要なデータは、EWS3によって入
力され、データ収容部2に転送され、必要に応じてシミ
ュレーションチップ1に取り込まれるが、データ収容部
2のメモリーのうち、COM21には、EWS3との応答時に必
要なデータが収容される。
The data required for the simulation is input by the EWS3, transferred to the data storage unit 2, and taken into the simulation chip 1 as necessary. Necessary data is stored.

シミュレーションに必要なデータとしては、ロジック
の構成に関するデータすなわち各セル(論理素子)の接
続状態に関するネットインフォメーションデータおよび
各セルのスペックに関するセルスペックデータと、シミ
ュレーション用の入力信号に関するテスト・ベクタ等が
あるが、これらは、シミュレーションに先立って予めEW
S3からTVM22、NIM25、CSM27内に書き込まれる。
The data necessary for the simulation include data related to the configuration of the logic, that is, net information data related to the connection state of each cell (logic element), cell specification data related to the specification of each cell, and test vectors related to the input signal for the simulation. However, these are pre-EW
It is written from S3 into TVM22, NIM25, CSM27.

なお、TVM22に格納されるテスト・ベクタには、例え
ば入力信号の立ち上り、立ち下がり等の変化(以下イベ
ントという)の種類と、イベントの発生したネット名に
関する情報が発生時刻順に記載されている。また、それ
ぞれのイベントには、イベントの発生順を示すイベント
ゲートフラグが付されている。
The test vector stored in the TVM 22 describes, for example, the type of a change (hereinafter, referred to as an event) such as rising or falling of an input signal, and information on a net name where the event has occurred, in the order of occurrence time. Further, each event is provided with an event gate flag indicating the order of occurrence of the event.

また、NIM25に格納されるネットインフォメーション
データは、第4図に示すように例えばあるセルの出力側
のネットがどのセルに接続されているかを示すネット次
段メモリー(以下NNMという)25aおよび拡張ネット次段
メモリー(以下ENNMという)25bと、あるセルの入力側
にどのネットが接続されているかを示すネット前段メモ
リー(以下NBMという)25cおよび拡張ネット前段メモリ
ー(以下ENBMという)25dとに分けられている。また、
このネットインフォメーションデータには、セル種(例
えばANDゲートであるかORゲートであるか等)に関する
情報およびセルのファンアウト(負荷容量)に関する情
報が含まれている。また、CSM27内に格納されるセルス
ペックデータは、各セルのホールドタイム、セットアッ
プタイム等のタイミングエラーおよびファンアウトによ
る遅延時間を算出するのに必要となる性能を示すもの等
である。
As shown in FIG. 4, the net information data stored in the NIM 25 includes, for example, a net next-stage memory (hereinafter referred to as NNM) 25a indicating which cell the output-side net of a certain cell is connected to, and an extended net. The next stage memory (hereinafter referred to as ENNM) 25b, the net front stage memory (hereinafter referred to as NBM) 25c which indicates which net is connected to the input side of a certain cell, and the extended net front stage memory (hereinafter referred to as ENBM) 25d are provided. ing. Also,
This net information data includes information on the cell type (for example, whether it is an AND gate or an OR gate) and information on the fan-out (load capacity) of the cell. In addition, the cell specification data stored in the CSM 27 indicates performance required for calculating a delay time due to a fan-out and a timing error such as a hold time and a setup time of each cell.

上記ロジックの構成に関するネットインフォメーショ
ンデータのうち、RAMおよびROM等のメモリーに関して
は、例えば第2図(a)に示すように、複数の入力101a
〜101zと、複数の出力102a〜102zを有するセル103と考
え、これらを第2図(b)に示すように、各出力102a〜
102z毎に分割された複数の一出力セル103a〜103zとして
取り扱う。
Of the net information data relating to the above-described logic configuration, as for memories such as RAM and ROM, for example, as shown in FIG.
101101z and a cell 103 having a plurality of outputs 102a〜102z, and as shown in FIG.
This is handled as a plurality of one output cells 103a to 103z divided for each 102z.

このようにRAMおよびROMを1出力毎に分割して取り扱
うことにより、ロジック部1でシミュレーションを行う
際に、分割した各セルについて一出力のみに着目して処
理することができる。このため、RAMおよびROMを、他の
ANDゲートやORゲート等の通常のセルと同様に取り扱う
ことが可能となる。
In this way, by dividing the RAM and the ROM for each output and handling them, when performing a simulation in the logic unit 1, it is possible to process each divided cell by focusing on only one output. For this reason, RAM and ROM
It can be handled in the same way as ordinary cells such as AND gates and OR gates.

また、上記RAMおよびROM内に格納されている実際のデ
ータは、そのアドレスにしたがって、RRM28内に格納さ
れており、必要に応じてこのRRM28をアクセスすること
により、データの読み出し、書き込み等を行う。
The actual data stored in the RAM and ROM is stored in the RRM 28 according to the address, and the data is read and written by accessing the RRM 28 as necessary. .

次に、1チップ上に形成されたハードウエアから構成
されるロジック部1の構成および動作についてTWU11、A
CU12、FDU13の順に説明する。
Next, regarding the configuration and operation of the logic unit 1 composed of hardware formed on one chip, TWU11, A
CU12 and FDU13 will be described in this order.

TWU11は、例えば第3図に示す如く構成されている。 The TWU 11 is configured, for example, as shown in FIG.

TWU11においては、EWS3からTVM22に書き込まれたテス
ト・ベクタを順次読み込み、TWM23とETM24に展開すると
ともに、新しく発生したイベントを発生時刻順にこれら
のテスト・ベクタ間に書き込む。
In the TWU 11, the test vectors written in the TVM 22 from the EWS 3 are sequentially read, expanded to the TWM 23 and the ETM 24, and a newly generated event is written between these test vectors in the order of the occurrence time.

すなわち、上記TWM23は、イベントを管理するメモリ
ーであって、アドレスを絶対時間で持ち、データとして
イベントの発生ネット名、イベント値等のイベントに関
するデータを格納したETM24内のアドレス値(ポインタ
ー)、次のイベントの発生時間(TWMのアドレス:ポイ
ンター)等を格納する。また、ETM24は、データとして
ある時間に発生したイベントの発生ネット名、イベント
値を持ち、さらに同時間に発生した別のイベントデータ
が格納されているETMのアドレス値(ポインター)等を
持つ。
That is, the TWM 23 is a memory for managing an event, has an address in absolute time, and stores, as data, an event value (pointer) in the ETM 24 which stores event-related data such as an event occurrence net name and an event value. The event occurrence time (TWM address: pointer) and the like are stored. The ETM 24 has, as data, an occurrence net name and an event value of an event that has occurred at a certain time, and further has an ETM address value (pointer) in which another event data that has occurred at the same time is stored.

TWU11のデータバスレジスタ40は、内部バスと外部バ
スとをつなぐ双方向レジスタである。また、コンパレイ
ティブロジック41は、同時間に発生するイベントかどう
かを判断するものであり、データチェックロジック42
は、新しく発生したイベントやロードしてきたイベント
がポインターを切断するかどうか(ポインターのチェー
ンをつなぎ直す必要があるか)または、メモリーの書き
込みが禁止でないかどうか等を判断する。また、加算ロ
ジック43は、現在の絶対時間とデイレー値から新しく発
生したイベントの絶対時間を算出する。
The data bus register 40 of the TWU 11 is a bidirectional register that connects an internal bus and an external bus. Further, the comparator logic 41 determines whether or not the event occurs at the same time.
Determines whether a newly generated event or an event that has been loaded disconnects the pointer (whether it is necessary to reconnect the chain of pointers), or whether memory writing is not prohibited. The addition logic 43 calculates the absolute time of a newly generated event from the current absolute time and the delay value.

また、TVMカウンタ44は、TVM22のテスト・ベクタをTW
Mにロードするためのものであり、TWMカウンタ45は、TW
M23のアドレスとなる絶対時間を、ETMカウンタ46は、ET
M24のアドレスを示す。
In addition, the TVM counter 44 sets the test vector of the TVM 22 to TW
TWM counter 45 is for loading into M
The ETM counter 46 determines the absolute time of the address of M23 as ET.
Indicates the address of M24.

また、ビフォーイベントレジスタ(以下BEレジスタと
いう)47は、現時間のTWM23のデータを示す。ネクスト
イベントレジスタ(以下NEレジスタという)48は、TVM2
2からロードされたデータや新しく発生したイベントデ
ータを格納し処理する。
A before event register (hereinafter, referred to as a BE register) 47 indicates data of the TWM 23 at the current time. The next event register (hereinafter referred to as the NE register) 48 is the TVM2
Stores and processes data loaded from step 2 and newly generated event data.

また、TWUコントロールロジック49は、TWU11の動作を
制御する。
The TWU control logic 49 controls the operation of the TWU 11.

次にTWU11の動作を説明する。 Next, the operation of the TWU 11 will be described.

まず、TWU11は、TVM22内に収容されたシミュレーショ
ンを行うテスト・ベクターを、TWM23にロードする。
(但し、TWM23の示す時間範囲のみロード)。
First, the TWU 11 loads, into the TWM 23, a test vector for performing a simulation accommodated in the TVM 22.
(However, only the time range indicated by TWM23 is loaded.)

上記動作で、同時間に発生するイベントがあれば、そ
のイベントの発生ネット名、イベント値をETM24に書き
込み、このETM24のアドレスをTWM23のポインターとして
書き込む。なお、この動作は、BEレジスタ48と、NEレジ
スタ48を用いて行う。また、ロードしたイベントが先に
ロードしたイベントを越え、TWM23の次の発生時間を示
すポインターを更新する(ポインターのチェーンをつな
ぎ直す)必要があればポインタの更新を行う。
In the above operation, if there is an event that occurs at the same time, the net name and event value of the event are written to the ETM 24, and the address of the ETM 24 is written as a pointer of the TWM 23. This operation is performed using the BE register 48 and the NE register 48. If the loaded event exceeds the previously loaded event and it is necessary to update the pointer indicating the next occurrence time of the TWM 23 (reconnect the pointer chain), the pointer is updated.

上述のようにしてTVM22からTWM23へのテスト・ベクタ
ーのロードが終了すると、ACU12からのイベント読み出
し要求信号(ACUリクエスト)を受けて順次イベントをT
WM23からACU12へと読み出す。
When the loading of the test vector from the TVM 22 to the TWM 23 is completed as described above, the events are sequentially received in response to the event read request signal (ACU request) from the ACU 12.
Read from WM23 to ACU12.

データを送り出すと、外部バス4の使用権はACU12に
移り、TWU11は、FDU13から来る新しく発生したイベント
書き込み要求信号またはACU12からのACUリクエストが来
るまで待機状態となる。
When the data is transmitted, the right to use the external bus 4 is transferred to the ACU 12, and the TWU 11 is in a standby state until a newly generated event write request signal coming from the FDU 13 or an ACU request from the ACU 12 comes.

そして、ACUリクエストが来ると、再び、順次イベン
トをTWM23からACU12へと読み出す。
Then, when the ACU request comes, the event is sequentially read from the TWM 23 to the ACU 12 again.

FDU13からイベント書き込み要求信号が発生したと
き、内部データバス14には新しく発生したイベントの発
生ネット名、イベント値とディレー値が送られて来てい
る。TWU11は、このデータをデータバスレジスタ40でラ
ッチした後、加算器ロジック43で現在の絶対時間とディ
レー値から新しく発生したイベントの絶対時間を算出し
てTWM23に書き込む。この時、TWM23の次のイベント発生
時間を示すポインターを更新する(ポインターのチェー
ンをつなぎ直す)必要があればポインターの更新を行
う。
When an event write request signal is generated from the FDU 13, the net name, event value and delay value of the newly generated event are sent to the internal data bus 14. After latching this data in the data bus register 40, the TWU 11 calculates the absolute time of the newly generated event from the current absolute time and the delay value in the adder logic 43 and writes the calculated absolute time in the TWM 23. At this time, if it is necessary to update the pointer indicating the next event occurrence time of the TWM 23 (reconnect the pointer chain), the pointer is updated.

この後、まだTWM23内にイベントがあれば上述したよ
うに、TWM23からACU12へとイベントを読み出し、同様な
処理を行う。また、TWM23内にイベントがなければ、次
の時間範囲のテスト・ベクターを、TVM22からTWM23にロ
ードし、上述した処理を繰り返す。そして、TVM22にあ
るシミュレーションを行うテスト・ベクターを全てロー
ドして処理し、それによって発生するイベントも全て処
理したならば、動作を終了する。
Thereafter, if there is still an event in the TWM 23, the event is read from the TWM 23 to the ACU 12 as described above, and the same processing is performed. If no event exists in the TWM 23, a test vector in the next time range is loaded from the TVM 22 to the TWM 23, and the above processing is repeated. Then, all the test vectors for performing the simulation in the TVM 22 are loaded and processed, and if all the events generated thereby are processed, the operation is terminated.

なお、第3図に示す例では、各メモリーとしてSRAMを
用いているが、DRAMを用いる場合は、DRAMコントローラ
回路を追加する必要がある。
In the example shown in FIG. 3, SRAM is used as each memory. However, when DRAM is used, it is necessary to add a DRAM controller circuit.

次に第4図を参照してACU12について説明する。 Next, the ACU 12 will be described with reference to FIG.

ACU12では、まずACUコントロールロジック60からACU
リクエストを出し、TWU11からTWアクノリッジ信号に同
期して内部バス上に出力されたイベントデータを、IBUS
レジスタ61にラッチする。ACU12は、TWアクノリッジ信
号を受けると外部バス4の占有権を得、イベントデータ
をラッチしてイベント読み出し要求信号を“L"にするこ
とで内部動作に入る。
In ACU12, first, ACU control logic 60 starts ACU
A request is issued, and the event data output on the internal bus in synchronization with the TW acknowledge signal from TWU11 is
Latch into register 61. Upon receiving the TW acknowledge signal, the ACU 12 obtains the occupation right of the external bus 4, latches the event data, and sets the event read request signal to "L" to enter the internal operation.

そして、IBUSレジスタ61にラッチしたイベントの発生
ネット名(アドレス)によってSTM28をアクセスし、イ
ベントの発生したネットの現状態(論理値)と、イベン
トゲートフラグをステータスレジスタ62に格納する。
Then, the STM 28 is accessed using the event occurrence net name (address) latched in the IBUS register 61, and the current state (logical value) of the event occurrence net and the event gate flag are stored in the status register 62.

この後、IBUSレジスタ61に格納されているTWU11から
のイベントゲートフラグと、ステータスレジスタ62に格
納されているSTM28からのイベントゲートフラグとを、A
LU63で比較演算することで、カレントイベントが有効な
イベントであるのか、無効なイベントであるのか、また
は不確定なイベントであるとして、論理値“E"にリプレ
ースしなければならないのかを判断する。
Thereafter, the event gate flag from the TWU 11 stored in the IBUS register 61 and the event gate flag from the STM 28 stored in the status register 62 are
By performing a comparison operation in the LU 63, it is determined whether the current event is a valid event, an invalid event, or an uncertain event and has to be replaced with the logical value “E”.

上記判断において、カレントイベントが無効であると
判断された場合は、次のTWU11からのイベントデータの
計算に備えて、IBUSレジスタ61のイベントゲートフラグ
をSTM29に書き込んで、カレントイベントの処理を終了
する。
If it is determined in the above determination that the current event is invalid, the event gate flag of the IBUS register 61 is written to the STM 29 in preparation for the calculation of the event data from the next TWU 11, and the processing of the current event ends. .

一方、上記判断においては、カレントイベントが有効
あるいは不確定と判断された場合は、IBUSレジスタ61の
イベントゲートフラグをSTM29に書き込み、その後、デ
ータセレクター64を介してRSM26にカレントイベントの
内容を書き残す。この際、カレントイベントが書き込ま
れるアドレスは、RSM書き込みアドレスカウンタ65によ
って、“0000"から順次“FFFF"までインクリメントして
いく。
On the other hand, in the above determination, when it is determined that the current event is valid or indefinite, the event gate flag of the IBUS register 61 is written to the STM 29, and then the contents of the current event are written and left in the RSM 26 via the data selector 64. At this time, the address at which the current event is written is sequentially incremented from “0000” to “FFFF” by the RSM write address counter 65.

なお、シミュレーションの結果は、一旦TWM23またはE
TM24に書き込まれ、ディレー時間の後、これらのメモリ
ーから読み出され、イベントゲートフラグの検査をした
後に始めてパストイベントとなりRSM26に書き込まれ
る。
Note that the simulation result is once TWM23 or EWM
It is written to TM24, read from these memories after the delay time, becomes a past event only after checking the event gate flag, and is written to RSM26.

次に、ACU12は、カレントイベントによって発生する
次段セルの出力変化(次段イベント)を求める作業に入
る。
Next, the ACU 12 enters a task of finding an output change (next-stage event) of the next-stage cell caused by the current event.

まず、IBUSレジスタ61にラッチしているイベントの発
生したネット名(アドレス)によってNIM25中のNNM25a
をアクセスし、次段イベントの発生する可能性のあるネ
ット名(アドレス)、セル種、ファンアウトをNNレジス
タ66に格納する。ここで、次段イベントの発生する可能
性のあるネットが2以上ある場合は、2番目以降につい
ては次段ネットアドレス同士をつなぐポインターのみ読
みだしておき、最初の次段ネットを処理した後、ポイン
ターによって次の次段ネットを順次読み出し処理してい
く。
First, the NNM 25a in the NIM 25 is identified by the net name (address) where the event occurred, which is latched in the IBUS register 61.
And stores the net name (address), cell type, and fan-out in which the next event may occur in the NN register 66. Here, if there are two or more nets where the next-stage event may occur, only the pointers connecting the next-stage net addresses are read for the second and subsequent nets, and after processing the first next-stage net, The next next net is sequentially read out by the pointer and processed.

次に、NNレジスタ66に格納された次段ネットのアドレ
スによって、NIM25中のNBM25cをアクセスし、次段ネッ
トに影響を与える入力ネットのアドレス、およびその入
力ピンコード(クロック、クリアー、データイネーブ
ル、ロード等)をNBレジスタ67に格納する。入力ネット
のアドレスが2以上ある場合は、次段ネットの場合と同
様に、ポインターを用いて1入力ずつ読み出していく。
また、並列処理により、NNレジスタ66に格納した次段ネ
ットのアドレスによって、STM29をアクセスし、次段ネ
ットの現状態(論理値)とイベントゲートフラグをステ
ータスレジスタ62に格納する。
Next, the NBM 25c in the NIM 25 is accessed by the address of the next-stage net stored in the NN register 66, and the address of the input net affecting the next-stage net and its input pin code (clock, clear, data enable, Load) is stored in the NB register 67. When there are two or more addresses of the input net, as in the case of the next-stage net, the input is read out one by one using the pointer.
Further, by parallel processing, the STM 29 is accessed with the address of the next-stage net stored in the NN register 66, and the current state (logical value) of the next-stage net and the event gate flag are stored in the status register 62.

この後、NBレジスタ67に格納した入力ネットのアドレ
スによって、STM29をアクセスし、入力ネットの現状態
(論理値)をステータスレジスタ62に格納する。また、
NBレジスタ67に格納した入力ネットのアドレスをつなぐ
ポインターによって、ENBM25dをアクセスし、他の入力
ネットのアドレスをNBレジスタ67に格納する。そして、
ステータスレジスタ62、NNレジスタ66、NBレジスタ67に
格納した次段ネット、入力ネット、ピンコード、セル
種、ファンアウト等に関する情報を、ステータスレジス
タ62を書き換える毎に、データセレクター68から内部バ
ス14を経由してFDU13の入力レジスタに転送する。
Thereafter, the STM 29 is accessed using the address of the input net stored in the NB register 67, and the current state (logical value) of the input net is stored in the status register 62. Also,
The ENBM 25d is accessed by a pointer connecting the address of the input net stored in the NB register 67, and the address of another input net is stored in the NB register 67. And
The information on the next stage net, input net, pin code, cell type, fan-out, etc. stored in the status register 62, the NN register 66, and the NB register 67 is transferred from the data selector 68 to the internal bus 14 every time the status register 62 is rewritten. Transfer to the input register of FDU13 via

全ての情報をFDU13に転送し終わると、ACUコントロー
ルロジック60からACUコンティニューか、ACUリクエスト
を出して外部バス4の占有権をFDU13に渡す。
When all the information has been transferred to the FDU 13, the ACU control logic 60 issues an ACU continue or an ACU request to pass the occupation right of the external bus 4 to the FDU 13.

すなわち、次段ネットが複数ある場合は、ACUコンテ
ィニュー信号を出してFDU13、TWU11の処理が終了するの
を待ち、TWアクノリッジがあれば次の次段ネットについ
て、上記処理を繰り返す。また、次の次段ネットがない
場合は、内部のNNレジスタ66、NBレジスタ67、ステータ
スレジスタ62を全てクリアし、次のカレントイベントが
TWU11から内部バス14上に出力され、TWアクノリッジが
あるまでACUリクエストを出して待機する。
That is, when there are a plurality of next-stage nets, an ACU continuation signal is output and the processing of the FDU 13 and the TWU 11 is waited for, and if there is a TW acknowledge, the above process is repeated for the next next-stage net. If there is no next net, the NN register 66, NB register 67, and status register 62 are all cleared, and the next current event is cleared.
It is output from the TWU 11 onto the internal bus 14, issues an ACU request and waits until a TW acknowledgment is received.

次に第5図を参照してFDU13について説明する。 Next, the FDU 13 will be described with reference to FIG.

まず、FDU13は、上述のようにしてACU12から転送され
たデータをラッチする。そして、各論理ブロックにおい
て、入力端子論理値から出力論理値を決定し、セル種デ
ータにより、指定セルの出力論理値を選択する。
First, the FDU 13 latches the data transferred from the ACU 12 as described above. Then, in each logic block, the output logic value is determined from the input terminal logic value, and the output logic value of the designated cell is selected based on the cell type data.

次に、この選択された出力論理値と、現出力論理値と
の比較を行い、イベントの発生(変化の有無)を判断す
る。また、イベントピン(イベントが発生したピン)以
外の入力データにより出力が決定される場合は、イベン
トの発生無しと判定する。
Next, the selected output logic value is compared with the current output logic value to determine occurrence of an event (presence or absence of a change). When the output is determined by input data other than the event pin (the pin where the event has occurred), it is determined that no event has occurred.

イベントの発生が無い場合は、内部バス14にイベント
の発生無しの信号を送り、FDU13の処理を終了する。
If no event has occurred, a signal indicating that no event has occurred is sent to the internal bus 14 and the processing of the FDU 13 ends.

一方、イベントの発生がある場合は、現出力論理値
と、上記選択された出力論理値より、イベントの立ち上
り/立ち下り変化を判断し、セル種、入力ピン名、出力
ピン名により、CSM27のアドレスを作成し、CSM27から入
力したデータと、ファンアウトデータから遅延時間を計
算して、ネットアドレス、イベントの有無、論理値とと
もに内部バス14に送り出し、FDU13の処理を終了する。
On the other hand, if an event occurs, the rising / falling change of the event is determined from the current output logic value and the selected output logic value, and the CSM 27 is determined based on the cell type, input pin name, and output pin name. The address is created, the delay time is calculated from the data input from the CSM 27 and the fan-out data, sent to the internal bus 14 together with the net address, the presence / absence of an event, and the logical value, and the processing of the FDU 13 is completed.

こうして、ある時刻において発生したイベントに基づ
く被シミュレーションロジックの状態がシミュレーショ
ンされることになる。
Thus, the state of the simulated logic based on the event that has occurred at a certain time is simulated.

なお、前述した如く、被シミュレーションロジック回
路のRAM、ROM等のメモリーについては、各出力毎に分割
された複数の一出力セルとして順次各分割されたセルの
状態がシミュレーションされる。また、これらのメモリ
ー内に格納されたデータは、RRM28内に展開されている
ので、必要に応じてRRM28内から読み出し、RRM28内に書
き込みをしてシミュレーションを行う。
As described above, with respect to memories such as RAM and ROM of the logic circuit to be simulated, the state of each divided cell is sequentially simulated as a plurality of one output cells divided for each output. Further, since the data stored in these memories is expanded in the RRM 28, the simulation is performed by reading from the RRM 28 and writing into the RRM 28 as necessary.

そして、このような、TWU11、ACU12、FDU13による処
理を繰り返すことにより、TVM22内のテスト・ベクタに
応じた被シミュレーションロジックの時間的な変化を、
シミュレーション途中でEWS3との応答を行うことなく、
順次シミュレーションする。
By repeating the processing by the TWU 11, the ACU 12, and the FDU 13, the temporal change of the logic to be simulated according to the test vector in the TVM 22 is obtained.
Without responding to EWS3 during the simulation,
Simulate sequentially.

すなわち、この実施例の論理シミュレータでは、メモ
リー以外のロジック部分が全て1チツプ上にハードウエ
アとして形成されており、このハードウエア単独でシミ
ュレーションを行うことができる。また、被シミュレー
ションロジック回路のRAM、ROM等のメモリーは、各出力
毎に分割された複数の一出力セルとして取り扱い、例え
ば他のANDゲートやORゲート等の通常のセルと同様にシ
ミュレーションを行う。さらに、被シミュレーションロ
ジック回路のRAM、ROM等のメモリー内に格納されたデー
タは、予め専用のRRM28内に展開しておき、必要に応じ
てRRM28内から読み出し、RRM28内へ書き込みをしてシミ
ュレーションを行う。
That is, in the logic simulator of this embodiment, all the logic parts other than the memory are formed as hardware on one chip, and the simulation can be performed by this hardware alone. In addition, memories such as a RAM and a ROM of the logic circuit to be simulated are treated as a plurality of output cells divided for each output, and a simulation is performed in the same manner as a normal cell such as another AND gate or an OR gate. Furthermore, the data stored in the memory such as the RAM and ROM of the logic circuit to be simulated is previously expanded in the dedicated RRM 28, read out from the RRM 28 as needed, and written into the RRM 28 to perform the simulation. Do.

したがって、例えばRAM、ROM等のメモリーを有するロ
ジック回路のシミュレーションを行う場合であっても、
従来の論理シミュレータの如くシミュレーション途中で
ハードウエア部分(シミュレーションチップ1)とソフ
トウエア部分(EWS3)とが応答を行う必要がない。この
ため、このような応答に要する時間を削除することがで
き、従来に較べて大幅にシミュレーション速度を高速化
することができる。
Therefore, for example, even when performing a simulation of a logic circuit having a memory such as a RAM and a ROM,
There is no need for the hardware part (simulation chip 1) and the software part (EWS3) to respond during the simulation as in the conventional logic simulator. For this reason, the time required for such a response can be eliminated, and the simulation speed can be significantly increased as compared with the related art.

なお、上記実施例では、1チツプ上にTWU11と、ACU12
と、FDU13とを設けた例について説明したが、これらは
必ずしも1チツプ上に設ける必要はなく、複数例えば2
〜3チツプ上に分割して設けてもよい。このように構成
した場合、各部の構成の変更等は容易になるが、シミュ
レーション速度は、1チツプ上に設けた場合より若干遅
くなる。
In the above embodiment, the TWU 11 and the ACU 12
And an example in which the FDU 13 is provided, it is not always necessary to provide them on one chip.
Alternatively, it may be provided on three to three chips separately. With such a configuration, it is easy to change the configuration of each unit, but the simulation speed is slightly slower than when it is provided on one chip.

[発明の効果] 以上説明したように、本発明の論理シミュレータによ
れば、RAMおよびROM等のメモリーを有するロジック回路
のシミュレーションであっても、従来に較べて高速にシ
ミュレーションを行うことができる。
[Effects of the Invention] As described above, according to the logic simulator of the present invention, even a simulation of a logic circuit having a memory such as a RAM and a ROM can be performed at a higher speed than in the past.

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

第1図は本発明の一実施例の論理シミュレータの全体構
成を示す図、第2図はメモリーの取り扱いを説明するた
めの図、第3図は第1図の論理シミュレータのタイムホ
イール部の構成を示す図、第4図は第1図の論理シミュ
レータのアキュムレータ部の構成を示す図、第5図は第
1図の論理シミュレータのファンクションロジック部の
構成を示す図である。 1……シミュレーションチップ、2……データ収容部
(RAM)、3……エンジニアリング・ワーク・ステーシ
ョン(入出力装置)、4……外部バス、11……タイムホ
イール部、12……アキュムレータ部、13……ファンクシ
ョンロジック部、14……内部バス、21……コンディショ
ンステートメモリー、22……テストベクタメモリー、23
……タイムホイールメモリー、24……イベントテーブル
メモリー、25……ネットインフォメーションメモリー、
26……結果格納用メモリー、27……セルスペックメモリ
ー、28……RAM,ROMデータメモリー、29……ネットシグ
ナルステートメモリー、30……ステートバス。
FIG. 1 is a diagram showing an overall configuration of a logic simulator according to one embodiment of the present invention, FIG. 2 is a diagram for explaining handling of a memory, and FIG. 3 is a configuration of a time wheel unit of the logic simulator of FIG. FIG. 4 is a diagram showing a configuration of an accumulator unit of the logic simulator of FIG. 1, and FIG. 5 is a diagram showing a configuration of a function logic unit of the logic simulator of FIG. 1 simulation chip 2 data storage unit (RAM) 3 engineering work station (input / output device) 4 external bus 11 time wheel unit 12 accumulator unit 13 ... Function logic part, 14 ... Internal bus, 21 ... Condition state memory, 22 ... Test vector memory, 23
…… Time wheel memory, 24 …… Event table memory, 25 …… Net information memory,
26 …… Result storage memory, 27… Cell spec memory, 28… RAM, ROM data memory, 29… Net signal state memory, 30… State bus.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−226240(JP,A) 特開 平2−176945(JP,A) 特開 平2−309270(JP,A) 特開 平2−308373(JP,A) 特開 昭59−90152(JP,A) 特開 昭54−75251(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 JICSTファイル(JOIS)──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-62-226240 (JP, A) JP-A-2-176945 (JP, A) JP-A-2-309270 (JP, A) JP-A-2- 308373 (JP, A) JP-A-59-90152 (JP, A) JP-A-54-75251 (JP, A) (58) Fields investigated (Int. Cl. 6 , DB name) G06F 17/50 JICST file (JOIS)

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】入出力装置と、 少なくとも、前記入出力装置から入力された被シミュレ
ーションロジック回路の構成に関するデータと、該ロジ
ック回路の動作をテストするためのテストパターンに関
するデータと、該ロジック回路内のメモリーに格納され
たデータと、シミュレーション結果とを格納する複数の
RAMと、 前記RAMとの応答により、自走で前記ロジック回路の状
態をシミュレーションするシミュレーションチップであ
って、前記ロジック回路内のメモリーを多入力一出力の
複数のセルとして取り扱うとともに、必要に応じて前記
RAM内から該メモリーに格納されたデータを読み出し、
書き込みをするシミュレーションチップと を具備したことを特徴とする論理シミュレータ。
An input / output device, at least data relating to a configuration of a simulated logic circuit input from the input / output device, data relating to a test pattern for testing the operation of the logic circuit, and The data stored in the memory and the simulation results
RAM, a simulation chip that simulates the state of the logic circuit in a self-running manner by responding to the RAM, and treats the memory in the logic circuit as a plurality of cells having multiple inputs and one output. Said
Read the data stored in the memory from the RAM,
A logic simulator, comprising: a simulation chip for writing.
【請求項2】請求項1記載の論理シミュレータにおい
て、 前記シミュレーションチップは、 シミュレーション用の入力信号のイベントの種類とイベ
ントの発生したネット名に関する情報が発生時刻順に記
載されているテスト・ベクタを前記RAMから順次読み込
んでメモリに展開するとともに、新しく発生したイベン
トを発生時刻順にこれらのテスト・ベクタ間に書き込む
タイムホイール部と、 前記タイムホイール部から、順次前記イベントの情報を
読込んで、各ネットにおけるシミュレーションを実行す
るアキュムレータ部と、 前記アキュムレータ部からのシミュレーション結果を受
け取って、各論理ブロックにおけるイベントの発生状態
を判定し、判定結果を出力するファンクションロジック
部と を具備したことを特徴とする論理シミュレータ。
2. The logic simulator according to claim 1, wherein the simulation chip includes a test vector in which information on an event type of a simulation input signal and a net name where the event has occurred are described in order of occurrence time. A time wheel unit that sequentially reads from the RAM and expands the memory, and writes a newly generated event between these test vectors in the order of occurrence time, and sequentially reads information of the event from the time wheel unit, and A logic simulator comprising: an accumulator unit for executing a simulation; and a function logic unit for receiving a simulation result from the accumulator unit, determining an occurrence state of an event in each logical block, and outputting a determination result. Over data.
JP2004928A 1990-01-12 1990-01-12 Logic simulator Expired - Fee Related JP2797128B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004928A JP2797128B2 (en) 1990-01-12 1990-01-12 Logic simulator
KR1019910000393A KR0158887B1 (en) 1990-01-12 1991-01-12 Logie simmulator
US08/185,153 US5613062A (en) 1990-01-12 1994-01-24 Logic simulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004928A JP2797128B2 (en) 1990-01-12 1990-01-12 Logic simulator

Publications (2)

Publication Number Publication Date
JPH03209571A JPH03209571A (en) 1991-09-12
JP2797128B2 true JP2797128B2 (en) 1998-09-17

Family

ID=11597258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004928A Expired - Fee Related JP2797128B2 (en) 1990-01-12 1990-01-12 Logic simulator

Country Status (1)

Country Link
JP (1) JP2797128B2 (en)

Also Published As

Publication number Publication date
JPH03209571A (en) 1991-09-12

Similar Documents

Publication Publication Date Title
US5513339A (en) Concurrent fault simulation of circuits with both logic elements and functional circuits
US4937770A (en) Simulation system
JPS6142040A (en) Logical simulator
US4584642A (en) Logic simulation apparatus
US5613062A (en) Logic simulator
JP2847310B2 (en) Logic simulation method
JP2797128B2 (en) Logic simulator
JP2797127B2 (en) Logic simulator
JP3004669B2 (en) Logic simulator
JP3004668B2 (en) Logic simulator
JP3004670B2 (en) Logic simulator
JP2832738B2 (en) Logic simulator
JPS6141017B2 (en)
JPH0345580B2 (en)
EP1187043A2 (en) Gate addressing system for logic simulation machine
JPS593652A (en) Hardware logical simulator
EP0231948A2 (en) Simulation system
JP2811580B2 (en) LSI memory test method
JPS6029865A (en) Logical simulation system by history registration
JPS6159548A (en) Logic simulation processor
JPH0429425Y2 (en)
JPS6221138B2 (en)
JP2926951B2 (en) Save / restore register address generation circuit
JPS6235699B2 (en)
Bose et al. Concurrent fault simulation on message passing multicomputers

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees