[go: up one dir, main page]

JP3004670B2 - Logic simulator - Google Patents

Logic simulator

Info

Publication number
JP3004670B2
JP3004670B2 JP2004929A JP492990A JP3004670B2 JP 3004670 B2 JP3004670 B2 JP 3004670B2 JP 2004929 A JP2004929 A JP 2004929A JP 492990 A JP492990 A JP 492990A JP 3004670 B2 JP3004670 B2 JP 3004670B2
Authority
JP
Japan
Prior art keywords
event
logic
simulation
net
cell
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
JP2004929A
Other languages
Japanese (ja)
Other versions
JPH03209572A (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
Application filed by Tokyo Electron Ltd filed Critical Tokyo Electron Ltd
Priority to JP2004929A priority Critical patent/JP3004670B2/en
Publication of JPH03209572A publication Critical patent/JPH03209572A/en
Application granted granted Critical
Publication of JP3004670B2 publication Critical patent/JP3004670B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (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, the simulation may take several hours or tens of hours, and it is necessary to further speed up the logic simulation. ing.

また、近年シミュレーションすべき対象も、例えばワ
イヤードロジックにおける多値(例えば12値)シミュレ
ーション等多様化する傾向にあり、論理シミュレータに
おいては、このような多様化に対応することのできる多
機能化も求められている。
In addition, in recent years, objects to be simulated tend to be diversified, for example, multi-valued (for example, 12-valued) simulations in wired logic. Have been.

本発明は、かかる従来の事情に対処してなされたもの
で、従来に較べて高速なシミュレーションが可能であ
り、かつ多機能な論理シミュレータを提供しようとする
ものである。
SUMMARY OF THE INVENTION The present invention has been made in view of such a conventional situation, and an object thereof is to provide a multi-functional logic simulator capable of performing a simulation at a higher speed than in the past.

[発明の構成] (課題を解決するための手段) すなわち請求項1の発明は、多数のセルと、これらの
セルを接続する多数のネットから構成されるロジック回
路の動作をシミュレーションする論理シミュレータであ
って、 少なくとも、入出力装置から入力された前記ロジック
回路の構成に関するデータと、該ロジック回路の動作を
テストするためのテストパターンに関するデータと、シ
ミュレーション結果とを格納する複数のRAMと、 前記RAMとの応答により、自走で前記ロジック回路の
状態をシミュレーションするシミュレーションチップと
を具備し、 かつ、前記シミュレーションチップは、 シミュレーション用の入力信号のイベントの種類とイ
ベントの発生したネット名に関する情報が発生時刻順に
記載されているテスト・ベクタを前記RAMから順次読み
込んでメモリに展開するとともに、新しく発生したイベ
ントを発生時刻順にこれらのテスト・ベクタ間に書き込
み、かつ、次のイベントの発生時間がポインターによっ
て示されるタイムホイール部と、 前記タイムホイール部から、順次前記イベントの情報
を読込んで、各ネットにおけるシミュレーションを実行
するアキュムレータ部と、 前記アキュムレータ部からのシミュレーション結果を
受け取って、各論理ブロックにおけるイベントの発生状
態を判定し、判定結果を出力するファンクションロジッ
ク部とを備え、 前記ロジック回路を構成する前記セルの出力ネット同
士の結線部分を、出力レベルを判定するセルとして取り
扱い、前記シミュレーションを実施可能に構成されてい
ることを特徴とする。
[Structure of the Invention] (Means for Solving the Problems) That is, the invention of claim 1 is a logic simulator for simulating the operation of a logic circuit composed of a large number of cells and a large number of nets connecting these cells. A plurality of RAMs storing at least data relating to the configuration of the logic circuit input from the input / output device, data relating to a test pattern for testing the operation of the logic circuit, and a simulation result; and A simulation chip that simulates the state of the logic circuit in a self-running manner, and the simulation chip generates information on the type of the event of the simulation input signal and the name of the net where the event has occurred. The test vectors described in chronological order are stored in the RAM. From the test wheel, and a newly generated event is written between these test vectors in the order of the time of occurrence, and the time of occurrence of the next event is indicated by a pointer. An accumulator unit that sequentially reads the event information and executes a simulation in each net; and a function that receives a simulation result from the accumulator unit, determines an event occurrence state in each logical block, and outputs a determination result. A logic portion, wherein a connection portion between output nets of the cells constituting the logic circuit is treated as a cell for determining an output level, and the simulation can be performed.

また、請求項2の発明は、請求項1記載の論理シミュ
レータにおいて、 前記タイムホイール部では、必要に応じて前記ポイン
ターを更新することによりポインターのチェーンをつな
ぎ直すことを特徴とする。
According to a second aspect of the present invention, in the logic simulator according to the first aspect, in the time wheel unit, the pointer chains are reconnected by updating the pointers as necessary.

(作用) 本発明の論理シミュレータでは、少なくとも、シミュ
レーションを行うロジック回路の構成に関するデータ
と、該ロジック回路の動作をテストするためのテストパ
ターンに関するデータと、シミュレーション結果とを格
納する複数のRAMとの応答により、シミュレーションチ
ップが、シミュレーション途中で汎用コンピュータと応
答を行わずに、自走(シミュレーションチップ内の演算
処理)で、高速にシミュレーションを実行することがで
きる。
(Operation) In the logic simulator of the present invention, at least data on the configuration of a logic circuit to be simulated, data on a test pattern for testing the operation of the logic circuit, and a plurality of RAMs storing simulation results are stored. The response allows the simulation chip to execute the simulation at high speed by self-running (operation processing in the simulation chip) without responding to the general-purpose computer during the simulation.

また、シミュレーションチップは、ロジック回路を構
成するセルの出力ネット同士の結線部分を、出力レベル
を判定するセルとして取り扱い、シミュレーションを実
施可能に構成されているので、例えばワイヤードロジッ
クにおける多値のシミュレーション等に対応することが
できる。
In addition, the simulation chip treats a connection portion between output nets of cells constituting a logic circuit as a cell for determining an output level, and is configured to be capable of performing a simulation. Can be handled.

(実施例) 以下、本発明の一実施例の論理シミュレータを図面を
参照して説明する。
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、ネット
シグナルステートメモリー(以下STMという)28等から
構成されている。
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, a cell specification memory (hereinafter referred to as CSM) 27, a net signal state memory (hereinafter referred to as STM) 28, and the like.

上記シミュレーションチップ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 pre-net 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 pre-stage memory (hereinafter referred to as ENBM) 25d are shown. ing. Also,
The net information data includes information on a cell type (for example, an AND gate, an OR gate, a cell for determining a level, which will be described later), and information on a fan-out (load capacity) of the cell. The cell specification data stored in the CSM 27 indicates the performance required to calculate a delay time due to a fan-out and a timing error such as a hold time and a setup time of each cell.

ここで、例えばワイヤードロジックの多値(例えば12
値)シミュレーションを行う場合は、NIM25に格納され
るネットインフォメーションデータは、次のように取り
扱われる。
Here, for example, multi-valued wired logic (eg, 12
Value) When performing a simulation, the net information data stored in the NIM 25 is handled as follows.

すなわち、シミュレーション対象が、例えば第2図
(a)に示すように、3つのセル101〜103の出力ネット
104〜106が、結線部(ドット)107で結線されてセル108
に入力されるような場合、第2図(b)に示すように、
上記結線部107に、3つのセル101〜103の出力の状態に
より例えば12種類のレベル値として、結線部107の出力
レベルを判定するセル109が設けられているものとして
取り扱う。
That is, as shown in FIG. 2 (a), for example, the simulation target is the output net of three cells 101 to 103.
104 to 106 are connected at a connection portion (dot) 107 to form a cell 108
, As shown in FIG. 2 (b),
It is assumed that the connection unit 107 is provided with a cell 109 for determining the output level of the connection unit 107 as, for example, 12 types of level values depending on the output state of the three cells 101 to 103.

このように、結線部107の出力レベルを判定するセル1
09が設けられているものとして取り扱うことにより、後
述するロジック部1では、通常のANDゲート等と同様に
このセル109(結線部107)を取り扱い、通常のシミュレ
ーションと同様に、多値シミュレーションを行うことが
可能となる。
Thus, the cell 1 for determining the output level of the connection unit 107
By treating the cell 109 as being provided, the logic unit 1 described later handles the cell 109 (connection unit 107) in the same manner as a normal AND gate or the like, and performs a multi-valued simulation in the same manner as in a normal simulation. It becomes possible.

次に、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レジスタ47と、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 47 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 with the event net name (address) latched in the IBUS register 61, and the current state (theoretical value) of the net where the event has occurred 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のイベントゲートフラグ
をSTM28に書き込んで、カレントイベントの処理を終了
する。
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 28 in preparation for the calculation of the event data from the next TWU 11, and the processing of the current event ends. .

一方、上記判断において、カレントイベントが有効あ
るいは不確定と判断された場合は、IBUSレジスタ61のイ
ベントゲートフラグをSTM28に書き込み、その後、デー
タセレクター64を介してRSM26にカレントイベントの内
容を書き残す。この際、カレントイベントが書き込まれ
るアドレスは、RSM書き込みアドレスカウンタ65によっ
て、“0000"から順次“FFFF"までインクリメントしてい
く。
On the other hand, if it is determined in the above determination that the current event is valid or indefinite, the event gate flag of the IBUS register 61 is written to the STM 28, 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) at which the event occurred,
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に格納した次段ネッ
トのアドレスによって、STM28をアクセスし、次段ネッ
トの現状態(理論値)とイベントゲートフラグをステー
タスレジスタ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, the address of the input net that affects 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 28 is accessed based on the address of the next-stage net stored in the NN register 66, and the current state (theoretical value) of the next-stage net and the event gate flag are stored in the status register 62.

この後、NBレジスタ67に格納した入力ネットのアドレ
スによって、STM28をアクセスし、入力ネットの現状態
(論理値)をステータスレジスタ62に格納する。また、
NBレジスタ67に格納した入力ネットのアドレスをつなぐ
ポインターによって、ENBM25dをアクセスし、他の入力
ネットのアドレスをNBレジスタ67に格納する。そして、
ステータスレジスタ62、NNレジスタ66、NBレジスタ67に
格納した次段ネット、入力ネット、ピンコード、セル
種、ファンアウト等に関する情報を、ステータスレジス
タ62を書き換える毎に、データセレクター68から内部バ
ス14を経由してFDU13の入力レジスタに転送する。
Thereafter, the STM 28 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から転送され
たデータをラッチする。そして、各論理ブロックにおい
て、入力端子論理値から出力論理値を決定し、セル種デ
ータにより、指定セルの出力論理値を選択する。なお、
この時前述した出力レベルを判定するためのセルについ
ては、セルの出力論理値が、多値(例えば12値)で表さ
れる。
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. In addition,
At this time, with respect to the cell for determining the output level described above, the output logic value of the cell is represented by multiple values (for example, 12 values).

次に、この選択された出力論理値と、現出力論理値と
の比較を行い、イベントの発生(変化の有無)を判断す
る。また、イベントピン(イベントが発生したピン)以
外の入力データにより出力が決定される場合は、イベン
トの発生無しと判定する。
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 current output logical value
From the output logic value selected above, the rising edge of the event /
Judgment of falling change, create CSM27 address based on cell type, input pin name, output pin name, calculate delay time from data input from CSM27 and fan-out data, net address, presence / absence of event Are sent to the internal bus 14 together with the logical value, and the processing of the FDU 13 ends.

こうして、ある時刻において発生したイベントに基づ
く被シミュレーションロジックの状態がシミュレーショ
ンされることになる。なお、前述した如く、多値シミュ
レーションを行う場合は、出力レベルを判定するための
セルの出力として、結線部の出力レベルが多値(例えば
12値)でシミュレーションされる。そして、このよう
な、TWU11、ACU12、FDU13による処理を繰り返すことに
より、TVM22内のテスト・ベクタに応じた被シミュレー
ションロジックの時間的な変化を、シミュレーション途
中でEWS3との応答を行うことなく、順次シミュレーショ
ンする。
Thus, the state of the simulated logic based on the event that has occurred at a certain time is simulated. As described above, when performing a multi-value simulation, the output level of the connection portion is multi-valued (for example, as the output of the cell for determining the output level).
12 values). By repeating such processing by the TWU 11, the ACU 12, and the FDU 13, the temporal change of the simulated logic according to the test vector in the TVM 22 can be sequentially performed without responding to the EWS 3 during the simulation. Simulate.

すなわち、この実施例の論理シミュレータでは、メモ
リー以外のロジック部分が全て1チツプ上にハードウエ
アとして形成されており、このハードウエア単独でシミ
ュレーションを行うことができる。したがって、従来の
論理シミュレータの如くシミュレーション途中でハード
ウエア部分(シミュレーションチップ1)とソフトウエ
ア部分(EWS3)とが応答を行う必要がない。このため、
このような応答に要する時間を削除することができ、従
来に較べて大幅にシミュレーション速度を高速化するこ
とができる。
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. Therefore, 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.

また、セルの出力ネット同士の結線部分を、出力レベ
ルを判定するセルとして取り扱うことにより、通常のシ
ミュレーションと同様に、ワイヤードロジックの多値シ
ミュレーションを行うことができる。
Also, by treating the connection portion between the output nets of the cells as a cell for determining the output level, a multi-valued simulation of wired logic can be performed in the same manner as a normal simulation.

なお、上記実施例では、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.

[発明の効果] 以上説明したように、本発明の論理シミュレータによ
れば、従来に較べて高速なシミュレーションが可能であ
り、また、例えばワイヤードロジックにおける多値シミ
ュレーション等に対応することができる。
[Effects of the Invention] As described above, according to the logic simulator of the present invention, it is possible to perform a simulation at a higher speed than in the past, and it is possible to cope with, for example, a multi-value simulation in wired logic.

【図面の簡単な説明】[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……ネットシグナルステートメモリー、30……ス
テートバス。
FIG. 1 is a diagram showing the overall configuration of a logic simulator according to one embodiment of the present invention, FIG. 2 is a diagram for explaining the handling of connection portions during multi-value simulation in wired logic, and FIG. 3 is FIG. FIG. 4 is a diagram showing a configuration of a time wheel unit of the logic simulator of FIG. 1, FIG. 4 is a diagram showing a configuration of an accumulator unit of the logic simulator of FIG. 1, and FIG.
FIG. 3 is a diagram illustrating 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… Net signal state memory, 30… State bus.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭59−90152(JP,A) 特開 昭54−75251(JP,A) 特開 昭63−95579(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-59-90152 (JP, A) JP-A-54-75251 (JP, A) JP-A-63-95579 (JP, A) (58) Field (Int.Cl. 7 , DB name) G06F 17/50

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】多数のセルと、これらのセルを接続する多
数のネットから構成されるロジック回路の動作をシミュ
レーションする論理シミュレータであって、 少なくとも、入出力装置から入力された前記ロジック回
路の構成に関するデータと、該ロジック回路の動作をテ
ストするためのテストパターンに関するデータと、シミ
ュレーション結果とを格納する複数のRAMと、 前記RAMとの応答により、自走で前記ロジック回路の状
態をシミュレーションするシミュレーションチップとを
具備し、 かつ、前記シミュレーションチップは、 シミュレーション用の入力信号のイベントの種類とイベ
ントの発生したネット名に関する情報が発生時刻順に記
載されているテスト・ベクタを前記RAMから順次読み込
んでメモリに展開するとともに、新しく発生したイベン
トを発生時刻順にこれらのテスト・ベクタ間に書き込
み、かつ、次のイベントの発生時間がポインターによっ
て示されるタイムホイール部と、 前記タイムホイール部から、順次前記イベントの情報を
読込んで、各ネットにおけるシミュレーションを実行す
るアキュムレータ部と、 前記アキュムレータ部からのシミュレーション結果を受
け取って、各論理ブロックにおけるイベントの発生状態
を判定し、判定結果を出力するファンクションロジック
部とを備え、 前記ロジック回路を構成する前記セルの出力ネット同士
の結線部分を、出力レベルを判定するセルとして取り扱
い、前記シミュレーションを実施可能に構成されている
ことを特徴とする論理シミュレータ。
1. A logic simulator for simulating the operation of a logic circuit comprising a large number of cells and a large number of nets connecting these cells, wherein at least the configuration of the logic circuit inputted from an input / output device And a plurality of RAMs for storing data relating to test patterns for testing the operation of the logic circuit, and a plurality of RAMs for storing simulation results. The simulation chip sequentially reads, from the RAM, test vectors in which information on the type of event of a simulation input signal and the name of the net in which the event has occurred are described in order of occurrence time, And newly generated An event is written between these test vectors in the order of occurrence time, and information of the event is sequentially read from the time wheel unit where the occurrence time of the next event is indicated by a pointer. An accumulator unit for executing a simulation, 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, and configures the logic circuit. A logic simulator characterized in that a connection portion between output nets of a cell is treated as a cell for determining an output level, and the simulation can be performed.
【請求項2】請求項1記載の論理シミュレータにおい
て、 前記タイムホイール部では、必要に応じて前記ポインタ
ーを更新することによりポインターのチェーンをつなぎ
直すことを特徴とする論理シミュレータ。
2. The logic simulator according to claim 1, wherein the time wheel unit reconnects the pointer chain by updating the pointer as needed.
JP2004929A 1990-01-12 1990-01-12 Logic simulator Expired - Fee Related JP3004670B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004929A JP3004670B2 (en) 1990-01-12 1990-01-12 Logic simulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004929A JP3004670B2 (en) 1990-01-12 1990-01-12 Logic simulator

Publications (2)

Publication Number Publication Date
JPH03209572A JPH03209572A (en) 1991-09-12
JP3004670B2 true JP3004670B2 (en) 2000-01-31

Family

ID=11597284

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP3004670B2 (en)

Also Published As

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

Similar Documents

Publication Publication Date Title
US5513339A (en) Concurrent fault simulation of circuits with both logic elements and functional circuits
JP3995751B2 (en) System and method for emulating memory
US4819150A (en) Array for simulating computer functions for large computer systems
JPH0122652B2 (en)
US5613062A (en) Logic simulator
JP2847310B2 (en) Logic simulation method
JP3004670B2 (en) Logic simulator
JP2797128B2 (en) Logic simulator
JP2797127B2 (en) Logic simulator
JPS6141017B2 (en)
JP3004669B2 (en) Logic simulator
JP3004668B2 (en) Logic simulator
JP2832738B2 (en) Logic simulator
JPH0345580B2 (en)
JPS593652A (en) Hard logic simulator device
JP2811580B2 (en) LSI memory test method
JPS6159548A (en) Logic simulation processor
JP2729061B2 (en) Zero-delay operation processing method for simulation equipment
JPS6244843A (en) Simulator
JPS6221138B2 (en)
JPH0472269B2 (en)
Bose et al. Concurrent fault simulation on message passing multicomputers
JPS6235699B2 (en)
Nojumi A Hardwired Discrete Simulation Algorithm
JP2000276510A (en) Circuit design apparatus and circuit design program storage medium

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