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
English (en)
Other versions
JPS593652A (ja
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/ja
Publication of JPS593652A publication Critical patent/JPS593652A/ja
Publication of JPH0458070B2 publication Critical patent/JPH0458070B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 (1) 発明の技術分野 本発明はハード論理シミユレータ装置、特に多
数のゲートの組合せからなる論理装置の動作のシ
ミユレートを専用のハードウエアによつて処理す
ることを可能としたハード論理シミユレータ装置
に関するものである。
(2) 背景と問題点 例えばLSIなどの多数のゲートを有する新たな
論理装置を設計した場合には、その設計された論
理装置が正常に動作するがどうか、また所望の機
能を有しているかどうかなどのチエツクのため
に、実際に製造する前にコンピユータ上でその論
理装置の動作をシミユレート(模擬)することが
行われている。従来、この論理シミユレーシヨン
は、ソフトウエアによるプログラムによつて、各
ゲートに対する入力の変化(以下、イベントとい
う)により、ゲートの出力の信号線(以下、ネツ
トという)の状態がどう変化するかを、順次演算
し、求めていくようにして行われていた。しか
し、汎用のコンピユータを用いてソフトウエアで
処理していく場合、各ネツトの状態変化を並列的
に処理して求めることはできず、遂次、命令をフ
エツチしては1命令ずつ実行して処理するように
されるため、シミユレートに非常に長い処理時間
を要するという問題があつた。特に、近年のよう
に論理装置の多機能化、集積化が進んでくると、
上記処理時間の問題は顕著になつてきている。
(3) 発明の目的 本発明は上記問題点の解決を図り、論理シミユ
レータの専用マシンのアーキテクチヤを提供し、
論理シミユレーシヨンに要する処理時間を大幅に
向上させることを目的としている。
(4) 発明の構成 上記目的達成のため、本発明はシミユレートさ
れる論理装置の各ゲートの入出力の状態変化など
を記憶する各種メモリへのアクセスを並列化し、
処理のパイプライン化を施すことに着目したもの
で、本発明のハード論理シミユレータ装置は、多
数のゲートの組合せからなる論理装置の動作をシ
ミユレートする装置において、少なくともイベン
ト・ネツトとそのネツトの新しい状態とが登録さ
れるニユー・イベント・メモリと、上記各ゲート
対応にそのゲートの出力状態が記憶されるニユ
ー・ステータス・メモリと、上記各ゲート対応に
フアンアウトのゲート・アドレスが格納されてい
るフアンアウト・メモリと、上記ニユー・ステー
タス・メモリの上記各ゲート毎にそのゲートへの
入力状態が格納されるインプツト・ベクタ・メモ
リと、シミユレーシヨンの対象とされるゲートの
種類毎に、そのゲートに対する各入力値に応じた
論理演算に係る出力状態値が定義されている辞書
メモリと、該辞書メモリにおける各ゲートの種類
に応じた出力状態値が定義されている位置のアド
レス情報であつて、上記インプツト・ベクタ・メ
モリの内容とあわせて上記辞書メモリの参照に使
用されるアドレス情報が、上記ニユー・ステータ
ス・、メモリにおけるゲートの並びに対応して格
納されている辞書アドレス・メモリとをそなえ、
上記各メモリは並列的にアクセス可能に構成され
るとともに、上記ニユー・イベント・メモリの内
容にもとづいて上記ニユー・ステータス・メモリ
および上記フアンアウト・メモリの参照がなさ
れ、上記インプツト・ベクタ・メモリの内容が上
記ニユー・ステータス・メモリおよび上記フアン
アウト・メモリの情報によつて更新されるよう構
成され、上記インプツト・ベクタ・メモリおよび
対応する上記辞書アドレス・メモリの内容によつ
て決定される上記辞書メモリの内容が、新たなゲ
ート出力となるようにしてシミユレートするよう
に構成されたことを特徴としている。以下図面を
参照しつつ実施例にもとづいて説明する。
(5) 発明の実施例 第1図は本発明の一実施例の論理データ構造説
明図、第2図および第3図は第1図図示データ構
造を説明するための図、第4図は本発明の一実施
例構成ブロツク図、第5図ないし第8図は本発明
の一実施例動作説明図を示す。
図中、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)回路を表わす。
第1図において、NEM1,NSM4,IVM5,
NOT6,BEA7,EVM9,FOP10,FOM1
1などの各メモリは、例えばランダム・アクセ
ス・メモリ(RAM)で構成される。
NEM1は、イベント・ネツトすなわち状態変
化があつた信号線に関するゲート情報とその新し
い状態情報とが対応づけられて登録されるメモリ
である。例えば、ゲート数が最大4096個まで処理
可能であるとすると、イベント・ネツトのエリア
は12ビツトを単位として最大イベント数(例えば
1024個)分用意される。各ネツトの状態は「0」
(Lレベル)の状態、「1」(Hレベル)の状態、
「X」(「1」か「0」か定まらない)状態、また
は「Z」(ハイ・インピーダンス)の状態のいず
れかをとるので、各々2ビツトで表わされる。現
在アクテイブなイベント・ネツトの先頭アドレス
(Nhead)は、レジスタ2によつて示され、最終
アドレス(Ntail)は、レジスタ3によつて示さ
れる。
NSM4は、シミユレーシヨンの対象となつて
いる論理装置の全ゲートの状態を記憶し保持する
メモリである。任意に付与されたゲート番号の順
に2ビツトずつ割当てられ、各ゲートの出力状態
を示す。IVM5は、NSM4に示される各ゲート
に対応して、その各ゲートへの入力状態が格納さ
れるメモリである。各ゲートへの入力が7入力ま
で可能であるとすると、各々14(=7×2)ビツ
ト用意される。
NOT6は、後に説明するEVM9を半分に節約
するために、各ゲート対応に1ビツトずつ設けら
れるメモリである。例えば、第3図イ図示のゲー
ト17の入力と第3図ロ図示のゲート17′の入
力とが同じであれば、それらの出力は必ず反転し
た関係にあるような場合、すなわち例えばAND
ゲートとNANDゲートのような関係にある場合
に、一方の出力状態値のみをEVM9に定義して
おくためのものである。NOT6の値が「0」で
ある場合にはEVM9の内容はそのまま利用され、
NOT6の値が「1」である場合には、EVM9の
内容は反転して利用される。
BEA7は、各ゲート毎にそのゲートの属性に
よつて定まるアドレス値が格納されているメモリ
であつて、そのアドレス値はEVM9についての
そのゲートのすべての出力状態値が格納されてい
る領域の先頭アドレスを示す。
EVM9は、ゲートの属性毎に各ゲートへの入
力によつて定まる出力状態を定義したメモリであ
つて、各ゲートに対応するBEA7の内容とIVM
5の内容とが、加算器8によつて加算され、その
出力結果によつて求まるアドレスによつて参照さ
れるようになつているものである。
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
によつて示される。
さて、論理シミユレーシヨンの計算手順につい
て、簡単に説明する。本論理シミユレータは、イ
ベント法というアルゴリズムを採用し、遅延モデ
ルについては、ゲートの入力に発生したイベント
(信号の変化)が出力に伝わるのに1単位時間を
要するという単位遅延を採用している。
論理シミユレータが行うべきことは、 (1) ある時刻における信号線の状態変化(イベン
ト)をNEM1より取り出し(以下、処理(1)と
いう)、 (2) その信号線の状態を保持しているNSM4の
内容を新しい状態に更新すること(以下、処理
(2)という)。
(3) その変化を入力として持つゲート(変化した
先にあるゲートを、FOP10とFOM11を用
いて取り出し(以下、処理(3)という)、 (4) ゲートの入力値を保持するIVM5の内容を
更新して新しい入力値とし、そのゲートを一旦
EGB12のバツフアに格納して溜めること
(以下、処理(4)という)。
(5) 入力に発生した信号線の状態変化が出力に伝
播するかどうかの判定をするために、EGB1
2からそのようなゲートを読み出し、IVM5
の新入力値、NOT6の出力値反転情報、EVM
9の真理値表、BEA7の真理値表へのアクセ
スのオフセツト情報を用いて行い(以下、処理
(5)という)、 (6) もし、変化が起きるならば、それを次時刻の
新しいイベントとしてNEM1に登録すること
(以下、処理(6)という)である。
全体のブロツク構成は第4図図示の如くにな
る。第4図において、シミユレーシヨンの開始
は、まずNEM1のイベント・ネツトをポイント
するレジスタ2およびレジスタ3の内容による
NEM1の参照によつて行われる。NEM1に格
納されたイベント・ネツトおよびそのネツトに与
えられた状態値は、それぞれレジスタ20および
レジスタ21に読み出される。レジスタ20の内
容によつてFOP10が参照されるとともに、
NSM4がアクセスされ、その対応するゲートの
出力状態として、レジスタ21の内容がNSM4
に設定される。
ここで、第4図に示すNEM1、レジスタ
Nhead2、Ntail13は、それぞれ第1図に示す
NEM1、Nhead2、Ntail3に対応している。
前述したように、NEM1は、状態変化があつた
信号線に関するゲート情報とその新しい状態情報
を保持しており、保持している範囲は、NEM1
にアドレスを与えるレジスタNhead2からNtail
3と示されている。
この範囲にあるデータが読み出されて、ゲート
情報(イベント・ネツト)がレジスタenet20
に、新状態値がレジスタnews21に順次設定さ
れる。この処理が、論理シミユレータが行うべき
こととして前述した処理(1)である。
このenet20の値をアドレスとして、NSM4
にnews21の内容を書き込むことにより、前述
の処理(2)を実行する。
また、enet20の値は、FOP10に対するア
ドレスともなつており、前述の処理(3)が開始され
る。
FOP10の内容が「0」であるときには、フ
アンアウトはないことを示すが、通常はいくつか
のフアンアウトが存在するので、その内容はレジ
スタ22に読み出されて、FOM11が参照され
る。FOM11の内容であるチエツク・ビツトは
レジスタ23に、入力番号はレジスタ24に、ゲ
ート・アドレスはレジスタ25にセツトされるこ
とになる。レジスタ25にセツトされたゲート情
報は、後のアクセスのために、レジスタ14の内
容に「1」を加算した後の値が指すEGB12の
アドレス位置に記憶される。一方、レジスタ25
の内容によつて、その内容が示すゲートについて
のIVM5に、レジスタ24の入力番号にもとづ
いて、レジスタ21の状態情報がセツトされる。
このときレジスタ23の内容すなわちチエツク・
ビツトが0であれば、レジスタ22に「1」加算
され、同様にFOM11が参照され、チエツク・
ビツトが「1」になつて、すべてのフアンアウト
の処理が終了するまでの処理が繰返される。な
お、レジスタ23のチエツク・ビツトが1になつ
た段階で、次のイベント・ネツトの処理が開始さ
れ、同様に並列処理によつて処理される。
「ここで、第4図に示すFOP10とFOM11
は、それぞれ、第1図に示すFOP10とFOM1
1に対応している。これらは、第1図に従つて説
明したような内容を保持しているので、第4図を
用いてここで説明した動作により前述の処理(3)を
実行する。
同様に、第4図に示すIVM5、EGB12、
ehead13、etail14は第1図に示す同名のもの
に対応している。EGB12に格納されているデ
ータの有効範囲は、EGB12にアドレスを与え
るehead13からetail14と示されている。IVM
5とEGB12に対して、前述の処理(4)が実行さ
れる。また、前述の処理(5)と処理(6)についても、
次のように実行される。
EGB12に記憶された」。ゲート・アドレスが
先頭を示すように初期設定されたレジスタ13か
らのポイントによつて順次レジスタ25に読み出
される。レジスタ25の内容によつてIVM5の
内容がレジスタ27に読み出され、また対応する
BEA7の内容がレジスタ26に読み出される。
また、レジスタ25によつて対応するNSM4の
内容がレジスタ29に読み出されるとともに、レ
ジスタ25の内容はレジスタ32−1に転送され
る。
次にレジスタ26とレジスタ27の内容とが、
加算器8によつて加算され、結果がレジスタ28
にセツトされる。そのときに、レジスタ32−1
の内容はレジスタ32−2に転送される。レジス
タ32−1ないしレジスタ32−5は、並列処理
の同期をとるためのものである。以下各タイミン
グ毎に内容が順次レジスタ32−2からレジスタ
32−5まで転送されることになる。
レジスタ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に登録されたことになる。
同様にEGB12に記憶されたゲートについて
の処理を繰返す。さらにNEM1に新たに登録さ
れたイベント・ネツトについても同様に処理を繰
返せば、設計した論理装置が正しく動作している
かどうかNEM1の内容によつて容易に判別でき
ることとなる。
次に第5図を参照して、サイクル・タイムとの
関係において、第1のフエーズについての動作を
説明する。
(o) 初期設定としてサイクル0○では、レジスタ2
およびレジスタ14に「−1」を設定する。
() サイクルでレジスタ2に「1」加算す
る。この動作は、レジスタ23の内容が「0」
から「1」になるときに開始される。
() サイクルにおいて、レジスタ2の内容
で示されるNEM1のイベント・ネツトおよび
その状態がレジスタ20および21に読み出さ
れる。なお、レジスタ3には予めイベント・ネ
ツトの最終位置が格納されており、該処理はレ
ジスタ2とレジスタ3との値が一致していない
ときに行われる。
() サイクルにおいて、レジスタ20によ
つてFOP10が参照されFOM11のアドレス
がレジスタ22に読み出される。また、NSM
4の処理対象のゲートの位置にレジスタ21の
新しい状態情報が書き込まれる。レジスタ23
は「0」に設定される。
() 次のサイクルでは、レジスタ22の内
容が「0」でないときにFOM11へのアクセ
スが行われ、レジスタ23,24および25に
対応する情報が読み出される。レジスタ14に
は「1」加算される。
() サイクルにおいては、レジスタ25の
示すIVM5の位置にレジスタ21の内容が書
き込まれる。なお、レジスタ24の出力はチツ
プ・セレクト信号として用いられ、入力端子の
位置を決定する。レジスタ14の示すEGB1
2の位置へレジスタ25の内容が記憶される。
レジスタ23の値が「0」であれば、レジスタ
22に「1」加算される。
上記処理()および処理()は、レジスタ
23の内容が「1」に変化するまで繰返される。
なお、レジスタ23の内容が「1」に変化する
と、処理()が開始され、次のイベント・ネツ
トについての処理が並列的に行われるようにされ
る。すなわち、第6図図示の如く、サイクル,
の処理は、フアンアウトの数だけ繰返され、最
終のものについては、サイクル,の処理と並
列的に処理され、処理時間の短縮が行われる。
次に第7図によつて、第2のフエーズについて
説明する。
() サイクルにおいて、レジスタ3および
レジスタ13に「−1」を設定する。
() サイクルでレジスタ13に「1」加算
する。
() 次のサイクルでレジスタ13とレジス
タ14との値が一致していないことを条件とし
て、レジスタ13の値をもとにEGB12の内
容がレジスタ25に読み出される。レジスタ1
3の内容には「1」加算される。
() サイクルにおいて、レジスタ25の内
容をもとに、IVM5およびBEA7の内容がそ
れぞれレジスタ27およびレジスタ26に読み
出される。また、NSM4の前の状態情報が、
レジスタ29に退避される。レジスタ25の内
容は、レジスタ32−1へ転送される。
() サイクルにおいて、レジスタ27およ
びレジスタ26の加算が加算器8によつて行わ
れ、EVM9へのアドレスがレジスタ28に格
納される。レジスタ32−1の内容はレジスタ
32−2へ転送される。
(xi) サイクルにおいて、EVM9が参照さ
れ、新しい出力状態情報がレジスタ21に設定
される。レジスタ32−2の内容はレジスタ3
2−3へシフトされる。
(xii) サイクルでは、レジスタ21とレジス
タ29との内容が、EOR回路33で比較され、
結果がレジスタ30にセツトされる。レジスタ
21の内容はレジスタ31−1へ、レジスタ3
2−3の内容はレジスタ32−4へシフトされ
る。
() サイクルにおいて、レジスタ30の
値が「0」でないときに、レジスタ3の内容が
「1」カウント・アツプされ、レジスタ32−
4の内容はレジスタ32−5へ、レジスタ31
−1の内容はレジスタ31−2へシフトされ
る。
() サイクルにおいて、レジスタ3の示
すNEM1の位置へレジスタ32−5およびレ
ジスタ31−2の内容が格納される。
EGB12に記憶された次のイベントの処理は
第8図図示の如く、最初のイベントがサイクル
に入つた段階で、処理()から並列して処理す
るようにされ、EGB12に記憶されたすべての
イベントについての処理が完了するまで、処理
()から処理()までの処理が繰返される。
特に、第2のフエーズにおいては、並列処理の多
重度が大きく従来ソフトウエアで直列的に処理し
ていた場合に比べて極めて高速に処理できること
となる。
「次に、第9図ないし第11図に従つて、具体
的な回路についてのシミユレーシヨンの例を説明
する。
例えば、第9図に示すような論理回路の動作を
シミユレーシヨンするものとする。第9図におい
て、g1〜g7はゲートであつて、特にg1〜g
3はバツフア(BUF)、g4はインバータ
(INV)、g5,g6はアンドゲート(AND)、
g7はオアゲート(OR)である。
EVM9には、あらかじめ第10図に示すよう
な情報が格納されている。
すなわち、インバータ、アンド、オア等といつ
たゲートの種類毎に、その真理値表が格納されて
いる。この例では、インバータについては、
EVM9の200番地から、アンドについては、
EVM9の300番地から格納されている。
入力および出力の各状態値は、各々2ビツトで
表され、「0」(Lレベル)は“00”、「1」(Hレ
ベル)は“11”、「X」(未定値)は“01”、「Z」
(ハイ・インピーダンス)は“10”で表される。
例えば、インバータの場合、真理値表は第10
図のロに示すように、入力が0に対して、出力が
1、入力が1に対して出力が0、入力がXおよび
Zに対して出力がXとなるので、EVM9におけ
るインバータの真理値表格納部には、入力値に応
じて、1,X,X,0が出力の状態値として格納
される。
第9図に示す各ゲートg1〜g7のフアン・ア
ウトに関する情報は、第11図のイに示すよう
に、FOP10とFOM11によつて管理される。
ゲートg1の出力先は、g5の第0番の入力端子
と、g4の第0番の入力端子である。チエツク・
ビツト(Check Bit)は、「1」が各ゲート毎に
フアン・アウトの終りを示す。g2の出力先は、
g5の第1番の入力端子である。他も同様にフア
ン・アウト情報が設定されている。
今、ゲートg1,g2,g3の出力値が、そ
れぞれ0,0,1であるときに、g1にイベン
ト(0→1)が発生した状態を考える。
NEM1には、第11図のロに示すように、
g1が1になつたと記入されている。
第11図のニに示すように、NSM4のアド
レスg1で示されるエントリー部分を、0から
1にアツプデートする。
同時に、g1のイベントによつてFOP10
とFOM11を経由し、EGB12には、第11
図のハに示すように、g1のフアン・アウト・
ゲートであるg5とg4が格納される。
また、IVM5におけるg5とg4の入力ベ
クトルの値が、それぞれ00→10,0→1に変更
される。
この処理が終わると、EGB12からg5と
g4の情報が読み出される。例えば、g4に対
する処理では、BEA7として、インバータ
(INV)の真理値表の格納してある開始アドレ
ス200を読み出す。IVM5からは、新しい値
「1(2ビツトの状態表示では“11”)」を読み出
す。これらの値から、参照すべきEVM9のア
ドレスは、200+(信号値1を表す値)=200+3
(“11”のこと)=203番地となる。ここをアクセ
スすると、入力「1」に対する出力「0」を得
る。一方、g4の古い値「1」がNSM4に書
かれているため、イベントの発生を認識する。
g4が「0」になつたというイベントが
NEM1に書き込まれ、これに対するシミユレ
ーシヨンが続けられる。
以上にように、シミユレーシヨンが実行される
ことになる。」。
(6) 発明の効果 以上説明した如く本発明によれば、論理シミユ
レーシヨンを専用マシンによつて極めて高速に実
行し、処理することが可能になる。論理シミユレ
ーシヨンにおいては、処理の95%以上はRAMア
クセスに費され、処理スピードは素子スピードと
処理の並列性に依存することとなる。RAMアク
セス時間をやや低速な200ナノ秒として計算する
と以下の通りとなる。
イベントの数をe、平均フアンアウトの数をf
とする。第6図図示の如く、第1のフエーズにお
いては、最終フアンアウトのサイクル,と、
次のゲートのサイクル,とが並列的に処理可
能であるので、処理時間T1は次の通りになる。
T1=1+(5+(f−1)×2−2)e+2=e
(f+1)+3 また、第2のフエーズにおいては、第8図図示
の如く、サイクル〜とサイクル〜とが、
並列に処理されることとなるので、処理時間T2
は、次のようになる。
T2=3ef+5 従つて全体の処理時間Tは、 T=T1+T2=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倍
の性能に相当し、処理の高速化に大きな効果を有
する。
【図面の簡単な説明】
第1図は本発明の一実施例の論理データ構造説
明図、第2図および第3図は第1図図示データ構
造を説明するための図、第4図は本発明の一実施
例構成ブロツク図、第5図ないし第8図は本発明
の一実施例動作説明図を「、第9図はシミユレー
シヨンの動作を説明するための回路例、第10図
は本発明の実施例に係る辞書メモリ(EVM)の
構成例、第11図は本発明の実施例による動作状
態説明図を示す。」。 図中、1はニユー・イベント・メモリ、4はニ
ユー・ステータス・メモリ、5はインプツト・ベ
クタ・メモリ、7は辞書アドレス・メモリ、8は
加算器、9は辞書メモリ、11はフアンアウト・
メモリを表わす。

Claims (1)

  1. 【特許請求の範囲】 1 多数のゲートの組合せからなる論理装置の動
    作をシミユレートする装置において、 少なくともイベント・ネツトとそのネツトの新
    しい状態とが登録されるニユー・イベント・メモ
    リと、 上記各ゲート対応にそのゲートの出力状態が記
    憶されるニユー・ステータス・メモリと、 上記各ゲート対応にフアンアウトのゲート・ア
    ドレスが格納されているフアンアウト・メモリ
    と、 上記ニユー・ステータス・メモリの上記各ゲー
    ト毎にそのゲートへの入力状態が格納されるイン
    プツト・ベクタ・メモリと、 シミユレーシヨンの対象とされるゲートの種類
    毎に、そのゲートに対する各入力値に応じた論理
    演算に係る出力状態値が定義されている辞書メモ
    リと、 該辞書メモリにおける各ゲートの種類に応じた
    出力状態値が定義されている位置のアドレス情報
    であつて、上記インプツト・ベクタ・メモリの内
    容とあわせて上記辞書メモリの参照に使用される
    アドレス情報が、上記ニユー・ステータス・メモ
    リにおけるゲートの並びに対応して格納されてい
    る辞書アドレス・メモリとをそなえ、 上記各メモリは並列的にアクセス可能に構成さ
    れるとともに、上記ニユー・イベント・メモリの
    内容にもとづいて上記ニユー・ステータス・メモ
    リおよび上記フアンアウト・メモリの参照がなさ
    れ、上記インプツト・ベクタ・メモリの内容が上
    記ニユー・ステータス・メモリおよび上記フアン
    アウト・メモリの情報によつて更新されるよう構
    成され、 上記インプツト・ベクタ・メモリおよび対応す
    る上記辞書アドレス・メモリの内容によつて決定
    される上記辞書メモリの内容が、新たなゲート出
    力となるようにしてシミユレートするように構成
    されたことを特徴とするハード論理シミユレータ
    装置。
JP57113320A 1982-06-30 1982-06-30 ハ−ド論理シミユレ−タ装置 Granted JPS593652A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57113320A JPS593652A (ja) 1982-06-30 1982-06-30 ハ−ド論理シミユレ−タ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57113320A JPS593652A (ja) 1982-06-30 1982-06-30 ハ−ド論理シミユレ−タ装置

Publications (2)

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

Family

ID=14609240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57113320A Granted JPS593652A (ja) 1982-06-30 1982-06-30 ハ−ド論理シミユレ−タ装置

Country Status (1)

Country Link
JP (1) JPS593652A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6142040A (ja) * 1984-08-03 1986-02-28 Nec Corp 論理シミユレ−タ
JPS63124141A (ja) * 1986-11-13 1988-05-27 Nec Corp シミユレ−タ
JPS63204441A (ja) * 1987-02-20 1988-08-24 Fujitsu Ltd 論理シミユレ−シヨン専用プロセツサの処理方式
EP0440553B1 (en) * 1990-01-29 2001-10-17 Fujitsu Limited Gate addressing system for logic simulation machine

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5939044B2 (ja) * 1978-08-21 1984-09-20 オムロン株式会社 イニシヤル・プログラム・ロ−ド方式

Also Published As

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

Similar Documents

Publication Publication Date Title
US6023568A (en) Extracting accurate and efficient timing models of latch-based designs
JPS633344B2 (ja)
JP2003502736A (ja) 動的なパーティショニングおよびオンデマンド評価を使用した回路シミュレーション
Drechsler et al. Gatecomp: Equivalence checking of digital circuits in an industrial environment
JPH0458070B2 (ja)
JPS6141017B2 (ja)
US5761488A (en) Logic translation method for increasing simulation emulation efficiency
JP2000057203A (ja) ネットリスト変換の使用によるレベル化コンパイル済みコ―ドのシミュレ―ション方法
US9659142B1 (en) Methods, systems, and articles of manufacture for trace warping for electronic designs
US6668359B1 (en) Verilog to vital translator
US20030046053A1 (en) Logic simulation
US11106846B1 (en) Systems and methods for emulation data array compaction
US7689400B2 (en) Reconstruction of data from simulation models
JP2835567B2 (ja) 対象の動作を時系列的に検証するシミュレータのためのバックトラッキング方式及びバックトラッキング方法
CN113806431A (zh) 一种传输仿真数据的方法、电子系统及存储介质
JPS61201347A (ja) 論理シミユレ−シヨン装置
US11048843B1 (en) Dynamic netlist modification of compacted data arrays in an emulation system
JP2924968B2 (ja) 時間双方向シミュレーション装置
JPS6311715B2 (ja)
Yakovlev et al. Petri nets and asynchronous circuit design
JPH0472269B2 (ja)
JPH0385636A (ja) 命令先行制御装置
JP2797128B2 (ja) 論理シミュレータ
JP2924222B2 (ja) 論理シミュレータ
JPH0589195A (ja) Lsi設計システム