JPH03209570A - 論理シミュレータ - Google Patents
論理シミュレータInfo
- Publication number
- JPH03209570A JPH03209570A JP2004927A JP492790A JPH03209570A JP H03209570 A JPH03209570 A JP H03209570A JP 2004927 A JP2004927 A JP 2004927A JP 492790 A JP492790 A JP 492790A JP H03209570 A JPH03209570 A JP H03209570A
- Authority
- JP
- Japan
- Prior art keywords
- event
- simulation
- logic
- output
- cells
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004088 simulation Methods 0.000 claims abstract description 46
- 238000012360 testing method Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 abstract description 38
- 238000012545 processing Methods 0.000 abstract description 9
- 239000013598 vector Substances 0.000 description 12
- 238000000034 method Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Tests Of Electronic Circuits (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
本発明は、論理シミュレータに関する。
(従来の技術)
一般に、半導体デバイスは多数の基本機能素子からなる
論理回路によって構成されるが、例えば新しい半導体デ
バイスを設計する際においては、設計した論理回路が期
待通りの動作を行うか否か等を予め論理シミュレータに
よりシミュレーションしている。このような論理シミュ
レータは、従来汎用コンピュータ等を用いて、ソフトウ
ェアによって構成されていた。
論理回路によって構成されるが、例えば新しい半導体デ
バイスを設計する際においては、設計した論理回路が期
待通りの動作を行うか否か等を予め論理シミュレータに
よりシミュレーションしている。このような論理シミュ
レータは、従来汎用コンピュータ等を用いて、ソフトウ
ェアによって構成されていた。
また、このような論理シミュレータにおける論理シミュ
レーションの高速化を図るため、例えば特開昭59−3
652号公報、特開昭63−257841号公報等にお
いて、上述したような論理シミュレータのソフトウェア
の一部を、ハードウェアに置き換えた論理シミュレータ
が提案されている。
レーションの高速化を図るため、例えば特開昭59−3
652号公報、特開昭63−257841号公報等にお
いて、上述したような論理シミュレータのソフトウェア
の一部を、ハードウェアに置き換えた論理シミュレータ
が提案されている。
(発明が解決しようとする課題)
しかしながら、近年半導体デバイスは高集積化される傾
向にあり、これに伴い、論理シミュレタによってシミュ
レーションすべきロジック回路も、大規模化、複雑化す
る傾向にある。このため、上述した従来のソフトウェア
の一部を、ハードウェアに置き換えた論理ンミュレータ
においても、シミュレーションに数時間あるいは数十時
間を要する場合があり、さらに論理シミュレーションの
高速化を図ることが求められている。
向にあり、これに伴い、論理シミュレタによってシミュ
レーションすべきロジック回路も、大規模化、複雑化す
る傾向にある。このため、上述した従来のソフトウェア
の一部を、ハードウェアに置き換えた論理ンミュレータ
においても、シミュレーションに数時間あるいは数十時
間を要する場合があり、さらに論理シミュレーションの
高速化を図ることが求められている。
本発明は、かかる従来の事情に対処してなされたもので
、従来に較べて高速にシミュレーションを行うことので
きる論理ンミュレータを提供しようとするものである。
、従来に較べて高速にシミュレーションを行うことので
きる論理ンミュレータを提供しようとするものである。
[発明の構成コ
(課題を解決するだめの手段)
すなわち本発明の論理シミュレータは、多数のセルとこ
れらのセルを接続する多数のネットから構成されるロジ
ック回路の動作をシミュレーションする論理シミュレー
タであって、少なくとも、入出力装置から入力された前
記ロジック回路の構成に関するデータと、該ロジック回
路の動作をテストするためのテストパターンに関するデ
ータと、シミュレーション結果とを格納する複数のRA
Mと、前記RAMとの応答により、自走で前記ロジック
回路の状態をシミュレーションするシミュレーションチ
ップとを具備し、前記シミュレーションチップは、前記
ロジック回路を構成するセルのうち、多出力のセルにつ
いて、一出力毎に分割された複数のセルとして取り扱い
、前記シミュレーションを行うことを特徴とする。
れらのセルを接続する多数のネットから構成されるロジ
ック回路の動作をシミュレーションする論理シミュレー
タであって、少なくとも、入出力装置から入力された前
記ロジック回路の構成に関するデータと、該ロジック回
路の動作をテストするためのテストパターンに関するデ
ータと、シミュレーション結果とを格納する複数のRA
Mと、前記RAMとの応答により、自走で前記ロジック
回路の状態をシミュレーションするシミュレーションチ
ップとを具備し、前記シミュレーションチップは、前記
ロジック回路を構成するセルのうち、多出力のセルにつ
いて、一出力毎に分割された複数のセルとして取り扱い
、前記シミュレーションを行うことを特徴とする。
(作 用)
本発明の論理シミュレータでは、少なくとも、シミュレ
ーションを行うロジックの構成に関するデータと、該ロ
ジックの動作をテストするためのテストパターンに関す
るデータと、シミュレーション結果とを格納する複数の
RAMとの応答により、シミュレーションチップが、自
走で被シミユレーシヨンロジックの状態をシミュレーシ
ョンする。
ーションを行うロジックの構成に関するデータと、該ロ
ジックの動作をテストするためのテストパターンに関す
るデータと、シミュレーション結果とを格納する複数の
RAMとの応答により、シミュレーションチップが、自
走で被シミユレーシヨンロジックの状態をシミュレーシ
ョンする。
また、上記シミュレーションチップは、ロジックを構成
するセルのうち、例えばフリップフロップ、カウンタ等
の多出力のメモリーセルについて、一出力毎に分割され
た複数のセルとして取り扱い、シミュレーションを行う
。なお、メモリーセルには、必要に応じて出力側から入
力端へフィードバックをかけるネットを追加する。
するセルのうち、例えばフリップフロップ、カウンタ等
の多出力のメモリーセルについて、一出力毎に分割され
た複数のセルとして取り扱い、シミュレーションを行う
。なお、メモリーセルには、必要に応じて出力側から入
力端へフィードバックをかけるネットを追加する。
したがって、複雑なゲート構成を有するメモリーセルで
あっても、その遅延時間算出及び出力論理値決定等が通
常のセルと同様に行うことができ、シミュレーション途
中で汎用コンピュータと応答を行わずに、シミュレーシ
ョンチップ内の演算処理で、正確にシミュレーションを
実行することができる。
あっても、その遅延時間算出及び出力論理値決定等が通
常のセルと同様に行うことができ、シミュレーション途
中で汎用コンピュータと応答を行わずに、シミュレーシ
ョンチップ内の演算処理で、正確にシミュレーションを
実行することができる。
このため、従来に較べて大幅にシミュレーション速度の
高速化を図ることができる。
高速化を図ることができる。
(実施例)
以下、本発明の一実施例の論理シミュレータを図面を参
照して説明する。
照して説明する。
第1図に示すように、この実施例の論理シミュレータは
、 lチップ上に形成されたハードウェアから構成され
るシミュレーションチップ1と、例えば複数のRAMか
ら構成されるデータ収容部2と、入出力装置としてのエ
ンジニアリング・ワーク・ステーション(以下EWSと
いう)3とからその主要部が構成されている。
、 lチップ上に形成されたハードウェアから構成され
るシミュレーションチップ1と、例えば複数のRAMか
ら構成されるデータ収容部2と、入出力装置としてのエ
ンジニアリング・ワーク・ステーション(以下EWSと
いう)3とからその主要部が構成されている。
また、上記シミュレーションチップ1は、タイムホイー
ル部(以下TWUという)11と、アキュムレータ部(
以下ACUという)12と、ファンクションロジック部
(以下FDUという)13とから構成されている。
ル部(以下TWUという)11と、アキュムレータ部(
以下ACUという)12と、ファンクションロジック部
(以下FDUという)13とから構成されている。
一方、データ収容部2は、コンデイションステートメモ
リー(以下COMという)21、テストベクタメモリー
(以下TVMという)22、タイムホイールメモリー(
以下TWMという)23、イベントテーブルメモリー(
以下ETMという)24、ネットインフォメーションメ
モリー(以下NIMという)25、結果格納用メモリー
(以下R3Mという)26、セルスペックメモリー(以
下C3Mという)27、ネットシグナルステートメモリ
ー(以下STMという)28等から構成されている。
リー(以下COMという)21、テストベクタメモリー
(以下TVMという)22、タイムホイールメモリー(
以下TWMという)23、イベントテーブルメモリー(
以下ETMという)24、ネットインフォメーションメ
モリー(以下NIMという)25、結果格納用メモリー
(以下R3Mという)26、セルスペックメモリー(以
下C3Mという)27、ネットシグナルステートメモリ
ー(以下STMという)28等から構成されている。
上記シミュレーションチップ1とデータ収容部2は、外
部バス(外部データバス、外部アドレスバス)4を介し
て接続されている。
部バス(外部データバス、外部アドレスバス)4を介し
て接続されている。
また、ロジック部1内のTWUII、ACUl2、FD
UlBは内部バス(内部データバス、内部アドレスバス
)14を介して接続されている。
UlBは内部バス(内部データバス、内部アドレスバス
)14を介して接続されている。
さらに、複数のメモリーのうちSTM28だけは、専用
のステートバス(ステートデータバス、ステートアドレ
スバス)30を介してACU 12に接続されている。
のステートバス(ステートデータバス、ステートアドレ
スバス)30を介してACU 12に接続されている。
シミュIノージョンに必要なデータは、EWS3によっ
て入力され、データ収容部2に転送され、必要に応じて
シミュレーションチップ1に取り込まれるが、データ収
容部2のメモリーのうち、C0M21には、EWS3と
の応答時に必要なデータが収容される。
て入力され、データ収容部2に転送され、必要に応じて
シミュレーションチップ1に取り込まれるが、データ収
容部2のメモリーのうち、C0M21には、EWS3と
の応答時に必要なデータが収容される。
シミュレーションに必要なデータとしては、ロジックの
構成に関するデータすなわち各セル(論理素子)の接続
状態に関するネットインフオメションデータおよび各セ
ルのスペックに関するセルスペックデータと、シミュレ
ーション用の入力信号に関するテスト豐ベクタ等がある
が、これらは、シミュレーションに先立って予めEWS
3からTVM22、N1M25、C3M27内に書き
込まれる。
構成に関するデータすなわち各セル(論理素子)の接続
状態に関するネットインフオメションデータおよび各セ
ルのスペックに関するセルスペックデータと、シミュレ
ーション用の入力信号に関するテスト豐ベクタ等がある
が、これらは、シミュレーションに先立って予めEWS
3からTVM22、N1M25、C3M27内に書き
込まれる。
なお、TVM22に格納されるテスト・ベクタには、例
えば入力信号の立ち上り、立ち下がり等の変化(以下イ
ベントという)の種類と、イベントの発生したネット名
に関する情報が発生時刻順に記載されている。また、そ
れぞれのイベントには、イベントの発生順を示すイベン
トゲートフラグが付されている。
えば入力信号の立ち上り、立ち下がり等の変化(以下イ
ベントという)の種類と、イベントの発生したネット名
に関する情報が発生時刻順に記載されている。また、そ
れぞれのイベントには、イベントの発生順を示すイベン
トゲートフラグが付されている。
また、N1M25に格納されるネットインフォメーショ
ンデータは、第4図に示すように例えばあるセルの出力
側のネットがどのセルに接続されているかを示すネット
次段メモリー(以下NNMという)25aおよび拡張ネ
ット次段メモリー(以下ENNMという)25bと、あ
るセルの入力側にどのネットが接続されているかを示す
ネット前段メモリー(以下NBMという)25Cおよび
拡張ネット前段メモリー(以下E N B Mという)
25dとに分けられている。また、このネットインフォ
メーションデータには、セル種(例えばANDゲートで
あるかORゲートであるか等)に関する情報およびセル
のファンアウト(負荷容量)に関する情報が含まれてい
る。また、C3M27内に格納されるセルスペックデー
タは、各セルのホールドタイム、セットアツプタイム等
のタイミングエラーおよびファンアウトによる遅延時間
を算出するのに必要となる性能を示すものである。
ンデータは、第4図に示すように例えばあるセルの出力
側のネットがどのセルに接続されているかを示すネット
次段メモリー(以下NNMという)25aおよび拡張ネ
ット次段メモリー(以下ENNMという)25bと、あ
るセルの入力側にどのネットが接続されているかを示す
ネット前段メモリー(以下NBMという)25Cおよび
拡張ネット前段メモリー(以下E N B Mという)
25dとに分けられている。また、このネットインフォ
メーションデータには、セル種(例えばANDゲートで
あるかORゲートであるか等)に関する情報およびセル
のファンアウト(負荷容量)に関する情報が含まれてい
る。また、C3M27内に格納されるセルスペックデー
タは、各セルのホールドタイム、セットアツプタイム等
のタイミングエラーおよびファンアウトによる遅延時間
を算出するのに必要となる性能を示すものである。
上記ロジックの構成に関するネットインフォメーション
データのうち、例えば第2図(a)に示すような複数の
出力QA−QDを有する多出力のメモリーセルは、第2
図(b)に示すように、各出力QA、QB、QCSQD
毎に分割された複数(この場合4つ)の−出力セルとし
て取り扱う。
データのうち、例えば第2図(a)に示すような複数の
出力QA−QDを有する多出力のメモリーセルは、第2
図(b)に示すように、各出力QA、QB、QCSQD
毎に分割された複数(この場合4つ)の−出力セルとし
て取り扱う。
また、図中点線で示す如く、必要に応じて各セルに出力
側からフィードバックをかけるネットを追加する。
側からフィードバックをかけるネットを追加する。
このように多出力のメモリーセルを分割して取り扱うこ
とにより、ロジック部1でシミュレーションを行う際に
、分割した各セルについて一出力のみに上目して処理す
ることができる。このため、多出力のメモリーセルを、
他のANDゲートやORゲート等の通常のセルと同様に
取り扱うことが可、能となる。つまり、メモリーセルの
内部が複雑なゲート構成であっても遅延時間算出および
出力論理値決定等を容易に行うことができる。
とにより、ロジック部1でシミュレーションを行う際に
、分割した各セルについて一出力のみに上目して処理す
ることができる。このため、多出力のメモリーセルを、
他のANDゲートやORゲート等の通常のセルと同様に
取り扱うことが可、能となる。つまり、メモリーセルの
内部が複雑なゲート構成であっても遅延時間算出および
出力論理値決定等を容易に行うことができる。
次に、 ■チップ上に形成されたハードウェアから構成
されるロジック部1の構成および動作についてTWUl
1、ACUl 2、FDUlBの順に説明する。
されるロジック部1の構成および動作についてTWUl
1、ACUl 2、FDUlBの順に説明する。
TWUIIは、例えば第3図に示す如く構成されている
。
。
TWUl 1においては、EWS3からTVM22に書
き込まれたテスト・ベクタを順次読み込み、TWM23
とETM24に展開するとともに、新しく発生したイベ
ントを発生時刻順にこれらのテスト・ベクタ間に書き込
む。
き込まれたテスト・ベクタを順次読み込み、TWM23
とETM24に展開するとともに、新しく発生したイベ
ントを発生時刻順にこれらのテスト・ベクタ間に書き込
む。
すなわち、上記TWM23は、イベントを管理するメモ
リーであって、アドレスを絶対時間で持ち、データとし
てイベン!・の発生ネット名、イベント値等のイベント
に関するデータを格納したETM24内のアドレス値(
ポインター)、次のイベントの発生時間(TWMのアド
レス:ポインター)等を格納する。また、ETM24は
、デル夕としである時間に発生したイベントの発生ネッ
ト名、イベント値を持ち、さらに同時間に発生した別の
イベントデータが格納されているETMのアドレス値(
ポインター)等を持つ。
リーであって、アドレスを絶対時間で持ち、データとし
てイベン!・の発生ネット名、イベント値等のイベント
に関するデータを格納したETM24内のアドレス値(
ポインター)、次のイベントの発生時間(TWMのアド
レス:ポインター)等を格納する。また、ETM24は
、デル夕としである時間に発生したイベントの発生ネッ
ト名、イベント値を持ち、さらに同時間に発生した別の
イベントデータが格納されているETMのアドレス値(
ポインター)等を持つ。
TWUIIのデータバスレジスタ40は、内部バスと外
部バスとをつなぐ双方向レジスタである。
部バスとをつなぐ双方向レジスタである。
また、コンパレイティプロシック41は、同時間に発生
するイベントかどうかを判断するものであり、データチ
エツクロジック42は、新しく発生したイベントやロー
ドしてきたイベントがポインターを切断するかどうか(
ポインターのチェーンをつなぎ直す必要があるか)また
は、メモリーの書き込みが禁止でないかどうか等を判断
する。また、加算ロジック43は、現在の絶対時間とデ
イレ−値から新しく発生したイベントの絶対時間を算出
する。
するイベントかどうかを判断するものであり、データチ
エツクロジック42は、新しく発生したイベントやロー
ドしてきたイベントがポインターを切断するかどうか(
ポインターのチェーンをつなぎ直す必要があるか)また
は、メモリーの書き込みが禁止でないかどうか等を判断
する。また、加算ロジック43は、現在の絶対時間とデ
イレ−値から新しく発生したイベントの絶対時間を算出
する。
また、TVMカウンタ44は、TVM22のテスト・ベ
クタをTWMにロードするためのものであり、TWMカ
ウンタ45は、TWM23のアドレスとなる絶対時間を
、ETMカウンタ46は、ETM24のアドレスを示す
。
クタをTWMにロードするためのものであり、TWMカ
ウンタ45は、TWM23のアドレスとなる絶対時間を
、ETMカウンタ46は、ETM24のアドレスを示す
。
また、ビフォーイベントレジスタ(以下BEレジスタと
いう)47は、現時間のTWM23のデータを示す。ネ
クストイベントレジスタ(以下NEレジスタという)4
8は、TVM22からロードされたデータや新しく発生
したイベントデータを格納し処理する。
いう)47は、現時間のTWM23のデータを示す。ネ
クストイベントレジスタ(以下NEレジスタという)4
8は、TVM22からロードされたデータや新しく発生
したイベントデータを格納し処理する。
また、TWUコントロールロジック49は、TWUII
の動作を制御する。
の動作を制御する。
次にTWUIIの動作を説明する。
まず、TWUl 1は、17M22内に収容されたシミ
ュレーションを行うテスト・ベクターを、TWM23に
ロードする。(但し、TWM23の示す時間範囲のみロ
ード)。
ュレーションを行うテスト・ベクターを、TWM23に
ロードする。(但し、TWM23の示す時間範囲のみロ
ード)。
上記動作で、同時間に発生するイベントがあれば、その
イベントの発生ネット名、イベント値をETM24に書
き込み、このE’l”M24のアドレスをTWM23の
ポインターとして書き込む。なお、この動作は、BEレ
ジスタ47と、NEレジスタ48を用いて行う。また、
ロードしたイベントが先にロードしたイベントを越え、
TWM2Bの次の発生時間を示すポインターを更新する
(ポインターのチェーンをつなぎ直す)必要があればポ
インタの更新を行う。
イベントの発生ネット名、イベント値をETM24に書
き込み、このE’l”M24のアドレスをTWM23の
ポインターとして書き込む。なお、この動作は、BEレ
ジスタ47と、NEレジスタ48を用いて行う。また、
ロードしたイベントが先にロードしたイベントを越え、
TWM2Bの次の発生時間を示すポインターを更新する
(ポインターのチェーンをつなぎ直す)必要があればポ
インタの更新を行う。
上述のようにしてTVM22からTWM2Bへのテスト
・ベクターのロードが終了すると、ACU12からのイ
ベント読み出し要求信号(ACUリクエスト)を受けて
順次イベントをTWM2BからACU12へと読み出す
。
・ベクターのロードが終了すると、ACU12からのイ
ベント読み出し要求信号(ACUリクエスト)を受けて
順次イベントをTWM2BからACU12へと読み出す
。
データを送り出すと、外部バス4の使用権はACU12
に移り、TWU 11は、FDUlBから来る新しく発
生したイベント書き込み要求信号またはACU12から
のACUリクエストが来るまて待機状態となる。
に移り、TWU 11は、FDUlBから来る新しく発
生したイベント書き込み要求信号またはACU12から
のACUリクエストが来るまて待機状態となる。
そして、ACUリクエストが来ると、再び、順次イベン
トをTWM23からACU12へと読み出す。
トをTWM23からACU12へと読み出す。
FDUlBからイベント書き込み要求信号が発生したと
き、内部データバス14には新しく発生したイベントの
発生ネット名、イベント値とデイレ−値が送られて来て
いる。TWUIIは、このデータをデータバスレジスタ
40でラッチした後、加算器ロジック43で現在の絶対
時間とデイレ−値から新しく発生したイベントの絶対時
間を算出してT、WM23に書き込む。この時、TWM
23の次のイベント発生時間を示すポインターを更新す
る(ポインターのチェーンをつなぎ直す)必要があれば
ポインターの更新を行う。
き、内部データバス14には新しく発生したイベントの
発生ネット名、イベント値とデイレ−値が送られて来て
いる。TWUIIは、このデータをデータバスレジスタ
40でラッチした後、加算器ロジック43で現在の絶対
時間とデイレ−値から新しく発生したイベントの絶対時
間を算出してT、WM23に書き込む。この時、TWM
23の次のイベント発生時間を示すポインターを更新す
る(ポインターのチェーンをつなぎ直す)必要があれば
ポインターの更新を行う。
この後、まだTWM2B内にイベントがあれば上述した
ように、TWM23からACU12へとイベントを読み
出し、同様な処理を行う。また、TWM23内にイベン
トがなければ、次の時間範囲のテスト・ベクターを、T
VM22からTWM23にロードし、上述した処理を繰
り返す。そして、17M22にあるシミュレーションを
行うテスト・ベクターを全てロードして処理し、それに
よって発生するイベントも全て処理したならば、動作を
終了する。
ように、TWM23からACU12へとイベントを読み
出し、同様な処理を行う。また、TWM23内にイベン
トがなければ、次の時間範囲のテスト・ベクターを、T
VM22からTWM23にロードし、上述した処理を繰
り返す。そして、17M22にあるシミュレーションを
行うテスト・ベクターを全てロードして処理し、それに
よって発生するイベントも全て処理したならば、動作を
終了する。
なお、第3図に示す例では、各メモリーとしてSRAM
を用いているが、DRAMを用いる場合は、DRAMコ
ントローラ回路を追加する必要がある。
を用いているが、DRAMを用いる場合は、DRAMコ
ントローラ回路を追加する必要がある。
次に第4図を参照してACU12について説明する。
ACU12では、まずACUコントロールロジック60
からACUリクエストを出し、TWUllからTWアク
ノリッジ信号に同期して内部バス上に出力されたイベン
トデータを、I BUSレジスタ61にラッチする。A
CU12は、TWアクノリッジ信号を受けると外部バス
4の占有権を得、イベントデータをラッチしてイベント
読み出し要求信号を”L”にすることで内部動作に入る
。
からACUリクエストを出し、TWUllからTWアク
ノリッジ信号に同期して内部バス上に出力されたイベン
トデータを、I BUSレジスタ61にラッチする。A
CU12は、TWアクノリッジ信号を受けると外部バス
4の占有権を得、イベントデータをラッチしてイベント
読み出し要求信号を”L”にすることで内部動作に入る
。
そして、IBUSレジスタ61にラッチしたイベントの
発生ネット名(アドレス)によってSTM 28をアク
セスし、イベントの発生したネットの現状態(論理値)
と、イベントゲートフラグをステータスレジスタ62に
格納する。
発生ネット名(アドレス)によってSTM 28をアク
セスし、イベントの発生したネットの現状態(論理値)
と、イベントゲートフラグをステータスレジスタ62に
格納する。
この後、IBUSレジスタ61に格納されているTWU
IIからのイベントゲートフラグと、ステータスレジス
タ62に格納されている57M28からのイベントゲー
トフラグとを、ALU6Bで比較演算することで、カレ
ントイベントが有効なイベントであるのか、無効なイベ
ントであるのか、または不確定なイベントであるとして
、論理値”E“にリプレースしなければならないのかを
判断する。
IIからのイベントゲートフラグと、ステータスレジス
タ62に格納されている57M28からのイベントゲー
トフラグとを、ALU6Bで比較演算することで、カレ
ントイベントが有効なイベントであるのか、無効なイベ
ントであるのか、または不確定なイベントであるとして
、論理値”E“にリプレースしなければならないのかを
判断する。
上記判断において、カレントイベントが無効であると判
断された場合は、次のTWtJ 11からのイベントデ
ータの計算に備えて、I BUSレジスタ61のイベン
トゲートフラグを57M28に書き込んで、カレントイ
ベントの処理を終了する。
断された場合は、次のTWtJ 11からのイベントデ
ータの計算に備えて、I BUSレジスタ61のイベン
トゲートフラグを57M28に書き込んで、カレントイ
ベントの処理を終了する。
一方、上記判断において、カレントイベントが有効ある
いは不確定と判断された場合は、IBUSレジスタ61
のイベントゲートフラグを57M28に書き込み、その
後、データセレクター64を介してR3M26にカレン
トイベントの内容を書き残す。この際、カレントイベン
トが書き込まれるアドレスは、R3M書き込みアドレス
カウンタ65によって、”0000”から順次“PFP
F“までインクリメントしていく。
いは不確定と判断された場合は、IBUSレジスタ61
のイベントゲートフラグを57M28に書き込み、その
後、データセレクター64を介してR3M26にカレン
トイベントの内容を書き残す。この際、カレントイベン
トが書き込まれるアドレスは、R3M書き込みアドレス
カウンタ65によって、”0000”から順次“PFP
F“までインクリメントしていく。
なお、シミュレーションの結果は、−旦TWM23また
はETM24に書き込まれ、デイレ−時間の後、これら
のメモリーから読み出され、イベントゲートフラグの検
査をした後に始めてバストイベントとなりR8M26に
書き込まれる。
はETM24に書き込まれ、デイレ−時間の後、これら
のメモリーから読み出され、イベントゲートフラグの検
査をした後に始めてバストイベントとなりR8M26に
書き込まれる。
次に、ACU12は、カレントイベントによって発生す
る次段セルの出力変化(次段イベント)を求める作業に
入る。
る次段セルの出力変化(次段イベント)を求める作業に
入る。
まず、IBUSレジスタ61にラッチしているイベント
の発生したネット名(アドレス)によってN1M25中
のNNM25 aをアクセスし、次段イベントの発生す
る可能性のあるネット名(アドレス)、セル種、ファン
アウトをNNレジスタ66に格納する。ここで、次段イ
ベントの発生する可能性のあるネットが2以上ある場合
Cよ、2番口以降については次段ネ・ントアドレス同士
をつなぐポインターのみ読みだしておき、最初の次段ネ
ットを処理した後、ポインターによって次の次段ネット
を順次読み出し処理していく。
の発生したネット名(アドレス)によってN1M25中
のNNM25 aをアクセスし、次段イベントの発生す
る可能性のあるネット名(アドレス)、セル種、ファン
アウトをNNレジスタ66に格納する。ここで、次段イ
ベントの発生する可能性のあるネットが2以上ある場合
Cよ、2番口以降については次段ネ・ントアドレス同士
をつなぐポインターのみ読みだしておき、最初の次段ネ
ットを処理した後、ポインターによって次の次段ネット
を順次読み出し処理していく。
次に、NNレジスタ66に格納した次段ネ・ソトのアド
レスによって、N1M25中のN8M25Cをアクセス
し、次段ネ・ットに影響を与える入力ネットのアドレス
、およびその入力ピンコード(クロ゛ツク、クリアー、
データイネーブル、ロード等)をNBレジスタ67に格
納する。入カネ・ソトのアドレスが2以上ある場合は、
次段ネ・ソトの場合と同様に、ポインターを用いて1人
力ずつ読み出していく。また、並列処理により、NNN
Nジスタ66格納した次段ネットのアドレスによって、
57M28をアクセスし、次段ネ・ソトの現状態(論理
値)とイベントゲートフラグをステータスレジスタ62
に格納する。
レスによって、N1M25中のN8M25Cをアクセス
し、次段ネ・ットに影響を与える入力ネットのアドレス
、およびその入力ピンコード(クロ゛ツク、クリアー、
データイネーブル、ロード等)をNBレジスタ67に格
納する。入カネ・ソトのアドレスが2以上ある場合は、
次段ネ・ソトの場合と同様に、ポインターを用いて1人
力ずつ読み出していく。また、並列処理により、NNN
Nジスタ66格納した次段ネットのアドレスによって、
57M28をアクセスし、次段ネ・ソトの現状態(論理
値)とイベントゲートフラグをステータスレジスタ62
に格納する。
この後、NBレジスタ67に格納した入カネツトのアド
レスによって、81M28をアクセスし、入力ネットの
現状態(論理値)をステータスレジスタ62に格納する
。また、NBレジスタ67に格納した入力ネットのアド
レスをつなぐポインターによって、ENBM25dをア
クセスし、他の入力ネットのアドレスをNBレジスタ6
7に格納する。そして、ステータスレジスタ62、NN
レジスタ66、NBレジスタ67に格納した次段ネット
、入力ネット、ビンコード、セル種、ファンアウト等に
関する情報を、ステータスレジスタ62を書き換える毎
に、データセレクター68から内部バス14を経由して
FDU13の入力レジスタに転送する。
レスによって、81M28をアクセスし、入力ネットの
現状態(論理値)をステータスレジスタ62に格納する
。また、NBレジスタ67に格納した入力ネットのアド
レスをつなぐポインターによって、ENBM25dをア
クセスし、他の入力ネットのアドレスをNBレジスタ6
7に格納する。そして、ステータスレジスタ62、NN
レジスタ66、NBレジスタ67に格納した次段ネット
、入力ネット、ビンコード、セル種、ファンアウト等に
関する情報を、ステータスレジスタ62を書き換える毎
に、データセレクター68から内部バス14を経由して
FDU13の入力レジスタに転送する。
全ての情報をFDU 13に転送し終わると、ACUコ
ントロールロジック60からACUコンティニューか、
ACUリクエストを出して外部バス4の占有権をFDU
13に渡す。
ントロールロジック60からACUコンティニューか、
ACUリクエストを出して外部バス4の占有権をFDU
13に渡す。
すなわち、次段ネットが複数ある場合は、ACUコンテ
ィニュー信号を出してFDU13、TWUllの処理が
終了するのを待ち、TWアクノリッジがあれば次の次段
ネットについて、」1記処理を繰り返す。また、次の次
段ネットがない場合は、内部のNNレジスタ66、NB
レジスタ67、ステータスレジスタ62を全てクリアし
、次のカレントイベントがTWUIIから内部バス14
上に出力され、TWアクノリッジがあるまでACUリク
エストを出して待機する。
ィニュー信号を出してFDU13、TWUllの処理が
終了するのを待ち、TWアクノリッジがあれば次の次段
ネットについて、」1記処理を繰り返す。また、次の次
段ネットがない場合は、内部のNNレジスタ66、NB
レジスタ67、ステータスレジスタ62を全てクリアし
、次のカレントイベントがTWUIIから内部バス14
上に出力され、TWアクノリッジがあるまでACUリク
エストを出して待機する。
次に第5図を参照してFDU13について説明する。
まず、FDU13は、上述のようにしてACU12から
転送されたデータをラッチする。そして、各論理ブロッ
クにおいて、入力端子論理値から出力論理値を決定し、
セル種データにより、指定セルの出力論理値を選択する
。
転送されたデータをラッチする。そして、各論理ブロッ
クにおいて、入力端子論理値から出力論理値を決定し、
セル種データにより、指定セルの出力論理値を選択する
。
次に、この選択された出力論理値と、現出力論理値との
比較を行い、イベントの発生(変化の有無)を判断する
。また、イベントピン(イベントが発生したビン)以外
の入力データにより出力が決定される場合は、イベント
の発生無しと判定する。
比較を行い、イベントの発生(変化の有無)を判断する
。また、イベントピン(イベントが発生したビン)以外
の入力データにより出力が決定される場合は、イベント
の発生無しと判定する。
イベントの発生が無い場合は、内部バス14にイベント
の発生無しの信号を送り、FDU13の処理を終了する
。
の発生無しの信号を送り、FDU13の処理を終了する
。
一方、イベントの発生がある場合は、現出力論理値と、
上記選択された出力論理値より、イベントの立ち上り/
立ち下り変化を判断し、セル種、入力ビン名、出力ビン
名により、C3M27のアドレスを作成し、C3M27
から入力したデータと、ファンアウトデータから遅延時
間を計算して、ネットアドレス、イベントの有無、論理
値とともに内部バス14に送り出し、FDU13の処理
を終了する。
上記選択された出力論理値より、イベントの立ち上り/
立ち下り変化を判断し、セル種、入力ビン名、出力ビン
名により、C3M27のアドレスを作成し、C3M27
から入力したデータと、ファンアウトデータから遅延時
間を計算して、ネットアドレス、イベントの有無、論理
値とともに内部バス14に送り出し、FDU13の処理
を終了する。
こうして、ある時刻において発生したイベントに基づく
被シミユレーシヨンロジックの状態がシミュレーション
されることになる。なお、前述した如く、多出力のメモ
リーセルについては、各出力毎に分割された複数の一出
力セルとして順次与分割されたセルの状態がシミュレー
ションされる。
被シミユレーシヨンロジックの状態がシミュレーション
されることになる。なお、前述した如く、多出力のメモ
リーセルについては、各出力毎に分割された複数の一出
力セルとして順次与分割されたセルの状態がシミュレー
ションされる。
そして、このような、TWUII、ACU12、FDU
13による処理を繰り返すことにより、TVM22内の
テスト・ベクタに応じた被シミユレーシヨンロジックの
時間的な変化を、シミュレーション途中でEWS 3と
の応答を行うことなく、順次シミュレーションする。
13による処理を繰り返すことにより、TVM22内の
テスト・ベクタに応じた被シミユレーシヨンロジックの
時間的な変化を、シミュレーション途中でEWS 3と
の応答を行うことなく、順次シミュレーションする。
すなわち、この実施例の論理シミュレータでは、メモリ
ー以外のロジック部分が全てIチップ上にハードウェア
として形成されており、このハードウェア単独でシミュ
レーションを行うことができる。また、多出力のメモリ
ーセルについては、各出力毎に分割された複数の一出力
セルとして取り扱い、必要に応じて各セルに出力側から
フィードバックをかけるネットを追加することにより、
他のANDゲートやORゲート等の通常のセルと同様に
シミュレーションを行う。つまり、メモリセルの内部が
複雑なゲート構成であっても遅延時間算出および出力論
理値決定等を容易に行うことができる。
ー以外のロジック部分が全てIチップ上にハードウェア
として形成されており、このハードウェア単独でシミュ
レーションを行うことができる。また、多出力のメモリ
ーセルについては、各出力毎に分割された複数の一出力
セルとして取り扱い、必要に応じて各セルに出力側から
フィードバックをかけるネットを追加することにより、
他のANDゲートやORゲート等の通常のセルと同様に
シミュレーションを行う。つまり、メモリセルの内部が
複雑なゲート構成であっても遅延時間算出および出力論
理値決定等を容易に行うことができる。
したがって、従来の論理シミュレータの如くシミュレー
ション途中でハードウェア部分(シミュレーションチッ
プ1)とソフトウェア部分(EWS3)とが応答を行う
必要がない。このため、このような応答に要する時間を
削除することができ、従来に較べて大幅にシミュレーシ
ョン速度を高速化することができる。
ション途中でハードウェア部分(シミュレーションチッ
プ1)とソフトウェア部分(EWS3)とが応答を行う
必要がない。このため、このような応答に要する時間を
削除することができ、従来に較べて大幅にシミュレーシ
ョン速度を高速化することができる。
なお、上記実施例では、■チップ上にTWU 11と、
ACU12と、FDU13とを設けた例について説明し
たが、これらは必ずしも 1チツプ上に設ける必要はな
く、複数例えば2〜3チツプ上に分割して設けCもよい
。このように構成した場合、各部の構成の変更等は容易
になるが、シミュレーション速度は、 ■チップ上に設
けた場合より若干遅くなる。
ACU12と、FDU13とを設けた例について説明し
たが、これらは必ずしも 1チツプ上に設ける必要はな
く、複数例えば2〜3チツプ上に分割して設けCもよい
。このように構成した場合、各部の構成の変更等は容易
になるが、シミュレーション速度は、 ■チップ上に設
けた場合より若干遅くなる。
[発明の効果]
以上説明したように、本発明の論理シミュレータによれ
ば、従来に較べてシミュレーション速度の大幅な高速化
を図ることができる。
ば、従来に較べてシミュレーション速度の大幅な高速化
を図ることができる。
第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・・・
・・ステー!・バス。
成を示す図、第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・・・
・・ステー!・バス。
Claims (1)
- (1)多数のセルとこれらのセルを接続する多数のネッ
トから構成されるロジック回路の動作をシミュレーショ
ンする論理シミュレータであって、少なくとも、入出力
装置から入力された前記ロジック回路の構成に関するデ
ータと、該ロジック回路の動作をテストするためのテス
トパターンに関するデータと、シミュレーション結果と
を格納する複数のRAMと、 前記RAMとの応答により、自走で前記ロジック回路の
状態をシミュレーションするシミュレーションチップと
を具備し、 前記シミュレーションチップは、前記ロジック回路を構
成するセルのうち、多出力のセルについて、一出力毎に
分割された複数のセルとして取り扱い、前記シミュレー
ションを行うことを特徴とする論理シミュレータ。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004927A JP2797127B2 (ja) | 1990-01-12 | 1990-01-12 | 論理シミュレータ |
KR1019910000393A KR0158887B1 (ko) | 1990-01-12 | 1991-01-12 | 논리 모의실험기 |
US08/185,153 US5613062A (en) | 1990-01-12 | 1994-01-24 | Logic simulator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004927A JP2797127B2 (ja) | 1990-01-12 | 1990-01-12 | 論理シミュレータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03209570A true JPH03209570A (ja) | 1991-09-12 |
JP2797127B2 JP2797127B2 (ja) | 1998-09-17 |
Family
ID=11597230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004927A Expired - Fee Related JP2797127B2 (ja) | 1990-01-12 | 1990-01-12 | 論理シミュレータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2797127B2 (ja) |
-
1990
- 1990-01-12 JP JP2004927A patent/JP2797127B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2797127B2 (ja) | 1998-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4937770A (en) | Simulation system | |
JPS5948424B2 (ja) | 並列計算システム | |
US5613062A (en) | Logic simulator | |
JPH03209569A (ja) | 論理シミュレーション方法 | |
Carter et al. | Restricted symbolic evaluation is fast and useful | |
JPH03209570A (ja) | 論理シミュレータ | |
US11106846B1 (en) | Systems and methods for emulation data array compaction | |
JP3004670B2 (ja) | 論理シミュレータ | |
JP2797128B2 (ja) | 論理シミュレータ | |
JP3004669B2 (ja) | 論理シミュレータ | |
JPH03209566A (ja) | 論理シミュレータ | |
JP2832738B2 (ja) | 論理シミュレータ | |
US5245549A (en) | Gate addressing system for logic simulation machine | |
Saab | Parallel-concurrent fault simulation | |
Hahanov et al. | «Quantum» processor for digital systems analysis | |
Anderson | Simulation and analysis of barrier synchronization methods | |
JPH0345580B2 (ja) | ||
Koike et al. | HAL: A high-speed logic simulation machine | |
Hayrapetyan et al. | Implementation of memory static, coupling and dynamic fault models at the register transfer level | |
US11740288B1 (en) | Localization of multiple scan chain defects per scan chain | |
EP0231948A2 (en) | Simulation system | |
US11048843B1 (en) | Dynamic netlist modification of compacted data arrays in an emulation system | |
JP2557128B2 (ja) | スキャン・フリップフロップの初期化方式 | |
Huttenhoff et al. | Arithmetic unit of a computing element in a global, highly parallel computer | |
JPH0429425Y2 (ja) |
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 |