JPH077428B2 - 論理回路シミュレータとそのスパイク検出方法 - Google Patents

論理回路シミュレータとそのスパイク検出方法

Info

Publication number
JPH077428B2
JPH077428B2 JP2160086A JP16008690A JPH077428B2 JP H077428 B2 JPH077428 B2 JP H077428B2 JP 2160086 A JP2160086 A JP 2160086A JP 16008690 A JP16008690 A JP 16008690A JP H077428 B2 JPH077428 B2 JP H077428B2
Authority
JP
Japan
Prior art keywords
gate
time
event
spike
logic circuit
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
JP2160086A
Other languages
English (en)
Other versions
JPH03116382A (ja
Inventor
アグローワル プラシマ
Original Assignee
アメリカン テレフォン アンド テレグラフ カムパニー
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 アメリカン テレフォン アンド テレグラフ カムパニー filed Critical アメリカン テレフォン アンド テレグラフ カムパニー
Publication of JPH03116382A publication Critical patent/JPH03116382A/ja
Publication of JPH077428B2 publication Critical patent/JPH077428B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、理論回路シミュレーションの分野に関し、さ
らに詳細には、シミュレーション対象の回路素子に対す
る入力信号が素子の伝播遅延時間より短い期間に変化す
る場合に起こるこの素子の出力におけるスパイクの発生
を検出すること、およびその対策の問題に関する。
〔従来の技術〕
論理回路の設計において、ある条件の下では論理素子の
出力が短い期間ではあるが不明の状態をとることが知ら
れている。例えば、ある理論ゲートの出力の遅れが立ち
上がりと立ち下がりとで異なる場合、この出力にはスパ
イク(信号の正への瞬間的な突出)またはグリッチ(信
号の負への瞬間的な突出)が含まれる可能性があり望ま
しくない。これのようなことが起こるのは、例えば、ゲ
ートの出力パルスが、素子を通る慣性的な遅れの伝播よ
り早い入力信号の変化に起因する場合である。この問題
は、論理回路のシミュレーション分野においてかなり前
から知られていた。論理シミュレータでスパイクの解析
を与えることは、実行時のオーバーヘッド(相対的な処
理量)の点から実に負担が大きかった。ほとんどの場
合、この問題は、2つの方法の何れかで処理されてい
る。1つの解析方法は、この問題を無視することであ
る。この場合、この問題はシミュレーション中には起こ
らないのである。この解決方法は、スパイクが実際に起
こってもシミュレーション中はその危険の兆候が全くな
いという甚だ楽観的なシミュレーションを招き、結果と
して、潜在的に問題のある設計となる。もう1つの解決
方法は、入力パルスの持続時間に関わらず、すべての各
インパルスに応じて、完全に展開された出力パルスが素
子の出力に発生すると見なすことである。この解決方法
は、あまりにも悲観的である。これらの2つの方法は、
それぞれシミュレーションのパルス抑制モードおよびパ
ルス通過モードと、称することがある。
前記のように、スパイクの解析を行う必要性および方法
は、論理シミュレーション分野で、かなり前から知られ
ていた。ネイ(Nei)他の米国特許第4,787,062号におい
て、ハードウェア・シミュレーションとの関連で1つの
方法が論じられている。その特許においてスパイクの解
析を行うために用いられている方法を簡単に言えば、次
のようになる。即ち、素子に対し1つの入力事象が計画
されているときに、スパイク解析モードが有効であるな
らば、事象の待ち行列を探して、さらに、その素子に対
する事象の待ち行列に他にも計画されている事象がある
場合、適当な出力レジスタを「不明」と定義された状態
にする、と言うものである。しかし、前記のように、こ
のスパイク解析を行うシミュレーション時間の点から、
オーバーヘッドが極めて大きくなる可能性がある。
〔発明の概要〕
シミュレーション対象のゲート出力のスパイク状態を、
実行速度の点で実質的なオーバーヘッドを加えることな
く、検出するように構成された論理回路シミュレータに
ついて、技術的な改良を行う。スパイク状態が発生する
のは、ゲートの出力パルスが、素子の慣性遅延伝播時間
より早く起こる入力の変化に起因して現れる場合であ
る。シミュレータは、並列動作ができるように配列され
た複数の自立的な素子からなり、各素子は、全体的なシ
ミュレーション機能の一部のみを行うように設計されて
いる。これらの素子の中には、ゲートの入力刺激を表す
信号、およびゲートの伝播遅延時間のデータに応じて、
主としてスパイク解析機能を果たすものが1つある。
好ましい実施例において、第1の素子は、ゲートの入力
刺激に応じてゲートの出力信号を計画する機能を果た
し、その信号を含むメッセージをスパイク解析を行う素
子に送る。信号を計画する素子とスパイクを解析する素
子は共に全体のシミュレーションのそれぞれ指定された
機能を果たすようにプログラムされたプログラム可能な
プロセッサである。また、好ましい実施例では、それら
の複数の素子は、直列に接続されパイプライン状に配列
される。スパイクを解析する素子がスパイク状態を検出
すると、問題のゲート上に不明な出力事象を計画してい
ることを示す信号をパイプラインに送り込む。
前記の内容を達成するために、信号を計画する素子およ
びスパイクを解析する素子は、共に別々の時間割り盤を
維持する。各時間割り盤には、ゲートの出力事象の発生
の予定時間を格納する複数の時間区分を含む。特に、ス
パイクを解析する素子は、ゲート出力のスパイク状態を
それが検出したことを表す計画された不明な状態の入力
事象を、その時間割り盤に格納している。
スパイク状態は、ゲートの入力信号の間の時間を算出し
て、この結果をゲートの伝播遅延時間を表す記憶されて
いるデータと比較することによって、判断される。立ち
上がり時間と立ち下がり時間の両方が記憶されている。
問題のゲート出力事象によって適切な立ち上がりまたは
立ち下がりの遅れを参照することにおり、事象発生の予
定時間を判断入して、スパイクの解析が行われる。スパ
イク解析の感応レベルは、ユーザが管理することが可能
である。立ち上がりと立ち下がりの重みを付けた遅れを
設定するために、ゲートの立ち上がりと立ち下がりの見
かけ上の遅れに乗じるのに使用されるスパイク因数をユ
ーザに指定できるようにすることによって、前記のこと
が達成される。この因数は、0と1の間で変化させるこ
とができる。これは、同様にスパイク解析を行う従来技
術のシステムのいわゆるパルス抑制モードとパルス通過
モードとの間にあるユーザの楽観性ないし悲観性を表す
遅延評定値の接続体に相当する。
〔実施例〕
第1図に、多重遅延論理シミュレータのハードウェア概
念構造を表す。事象の計画、取消、スパイク、およびそ
の他の解析モードのためのタイミング解析アルゴリズム
が、パイプライン状に配列された再構成可能な1組の処
理要素のうえに実現されている。このハードウェアは、
クロック周期の度に再構成可能なクロスバ・スイッチに
よって接続された処理要素(PE=processing element)
のクラスタ(集合体)を備えている。この構成のクロス
バ・スイッチおよびその他の詳細は、「マイクロプログ
ラム可能なハードウェア加速装置(MICROPROGRAMMABLE
HARDWARE ACCELERATOR)」と題する共同係属中の米国特
許出願番号第066,921号に説明がある。各PEは、メッセ
ージの受け渡し、リストおよび表の操作、およびビット
単位の処理に対し特徴を有する16ビットのマイクロプロ
グラムされたプロセッサである。各PEは、それぞれ独自
のメモリを有する。PEどうしの間の通信は、完全にメッ
セージの受け渡しによって行われる。
論理シミュレーションは、クラスタ内のPEにシミュレー
ション・アルゴリズムを分配することによって行われ
る。この分配は、PE間の負担が均等に釣り合うように、
そして以前は利用できなかった性能特性とシミュレーシ
ョン精度を達成するように行われる。PEの各メモリに
は、シミュレーション下の回路の接続状態およびその他
の関係する情報が入っている。実施例のシミュレータ
は、64,536個の4入力ゲート分の回路処理能力を有す
る。シミュレーション中の各素子の出力状態に対し、
0、1、XまたはUの4つの値のうち1つが生成され
る。Xは、不明な出力状態を表すが、スパイク発生時の
状態も含む。Uは、シミュレーション中のゲートの使用
されていないピンの状態を表す。また、Uは、伝送ゲー
トやバスのような素子の高インピーダンス状態とも解釈
される。
第1図において、管理装置102は、パイプラインの個々
のPEと相互に作用し合ってシミュレーション処理を管理
する。管理装置102は、任意の数の汎用コンピュータ、
マイクロコンピュータまたはワークステーションによっ
て実現することができる。この実施例に限って言えば、
SUN3のモデル160または260である。シミュレーションの
開始時に、管理装置102により、回路のデータおよびPE
が果たす特定の機能に対応する適切なマイクロプログラ
ムが、各PEのメモリにロードされる。マイクロコードに
より、シミュレーションのアルゴリズムが記述され、デ
ータにより、シミュレーション下にある回路の分配され
たデータ構造が表される。このデータ構造は、ファンア
ウトのポインタ、ファンアウトのリスト、ゲートの種
類、遅れの表、種々の論理基関数に対応する真理値表、
およびシミュレーションされる回路の各ゲートの入力状
態を記述する入力表からなる。さらに、管理装置102に
より、シミュレーション時に実行するべきステップの総
数を信号スケジュラ(SS)PE104に指示し、ベクトル周
期をパイプラインの出力記録(OL)段に指示する。ベク
トル周期は、外部検査入力の新たな組がシミュレーショ
ン中の回路の初段のゲートに加えられる頻度を反映する
一定の間隔である。シミュレーションの間、管理装置
は、出力バッファの充満、信号の発振、またはシミュレ
ーションの終了(入力バッファが空になったこと)を示
すPEからの割り込みに応答する。
SSPE104は、4069区分の時間割り盤を組み込んだ多重遅
延スケジュラである。SSPEは、ゲート出力の推移状況の
状態と時間を記憶されているゲートの立ち上がり時間、
立ち下がり時間、およびゲートの入力刺激によって評価
した結果として、他のPEから得たゲート事象の計画およ
び取り消しを行う。SSPEは、この情報をゲート記録の結
合リストに入れ、さらに、その時間割り盤の適切な時間
区分にポインタを入れることにより、その情報を指し示
す。以下の説明のように、所与の時間区分に、あるゲー
トにおいて、1つの事象に加え、さらに1つ以上の出力
事象が起こることが計画されている場合、事象の取消が
起こる。
スパイク・アナライザ(SA)106では、入力信号間の時
間を動的に算出し、その結果を適切なゲート遅延情報と
比較することにより、スパイクの解析が行われる。発振
検出(OD=oscillation detector)PE108では、現在の
時間区分の間に各信号が状態を変更した回数を数え、そ
の数が設定値を越えた場合、管理装置に割り込みを行う
ことによって、ゼロ遅延発振が検出される。出力記録
(OL=output log)PE110では、シミュレーション中の
回路のユーザが指定した出力点の変化が記録される。こ
れらの変化は、受信された通りにバッファ内に記録され
る。このバッファが一杯になると、OLPE110は、管理装
置に割り込みを掛けて、バッファを空にさせる。このPE
のメモリにある2つのバッファ領域は、信号の変化を記
録するために使用される。これらのバッファは、OLによ
る要求があった場合、管理装置によって空にされる。フ
ァンアウト・リスト(FL)PE114には、シミュレーショ
ン対象の回路における各ゲートのファンアウト・リスト
が含まれる。ポインタ・リスト(PL)PE112には、FL114
における各ゲートのファンアウト・リストのポインタが
含まれる。各ゲートの動作は、ゲート・タイプ(IT-G
T)PE118のデータ構造、真理値表(TT)PE122、および
遅延表(DT)PE130によって表される。入力ベクトル(I
V)PE134により、初段入力の信号変化を表す検査ベクト
ルが、SS104で始まるパイプラインに導入される。入力
ベクトルは、IVPE134に格納され、SS104の時間割り盤の
適切な時間区分に予定されている。さらに、ゲートのフ
ァンアウトによるゲート出力の変化もSS104において予
定に入れる必要がある。このため、事象検出(ED)PE13
2によって、ファンアウト・ゲートの出力状態の変化を
検出し、出力ゲートの値を変化させる事象に限って、IV
PE134を介してSS104に渡す。また、ED132により、それ
らの事象に対してDT130から得られる適切な立ち上がり
のゲート遅れまたは立ち下がりのゲート遅れも送る。IV
PE134において、これらの遅れを現在の時間(SS104より
得る)に加えて、これをさらに処理するために再びSS10
4に送る。
従来の事象駆動型の論理シミュレータでは、ファンアウ
トの更新および評価の段階が2段階で行われる。本発明
のシミュレータでは、これらの段階が1つの段階に結合
される。入力信号が変化すると、ED132によりゲートが
直ちに評価され、その評価を表すメッセージが、直ちに
パイプラインに送り込まれる。従って、同時に多数の入
力が変化すると、1つのゲートが、一度のステップに数
回評価されることになる。しかし、評価はパイプライン
の別個の段(部位)によって行われので、ゲートの評価
によって、このパイプラインで処理されるべき事象に要
する時間が、延びることはない。多数のゲートの評価か
ら生成される見かけの事象は後述の事象取り消しアルゴ
リズムを用いて取り消される。
本シミュレータの概念的な構造を簡単に述べたので、こ
こで、事象の取消およびスパイクの解析に関する問題を
さらに詳細に論ずる。シミュレーションが行われる素子
が別々の立ち上がりと立ち下がりの遅れを有するような
多重遅延シミュレータにおいては、ゲート出力に、未完
の事象が起こることを予定する前に、新たな事象を予定
することが可能である。このような場合は、その未完の
事象を取り消さなければならない。第2図に示した例を
考察する。ANDゲート20は、立ち上がりの遅れと立ち下
がりの遅れが、それぞれ10と4であると仮定する。時刻
5において、立ち上がりの事象が、検出されると、時刻
15に予定される。この事象が起こる前に、立ち下がりの
事象が時刻8に到着すると、時刻12に予定される。時刻
15に予定された事象は取り消す必要がある。さもない
と、Bが低、Cが高となり、回路が不正な定常状態にな
るからである。正しい回路シミュレーションのために
は、一番最後に予定された未完の事象以外は、すべて取
り消す必要がある。例として、ここで、第3図の回路を
考察する。時刻5に幅6のパルスをゲート40の入力Bに
加える。通常の事象取り消し方法では、15に発生予定の
最初の出力事象を取り消し、時刻19に予定された2番目
の出力事象を濾過して、出力パルスを全く生成しない。
実際には、ゲート40の慣性的な遅れとゲート出力の変化
が起こる時間との相互依存性のため、時刻15から時刻19
まで(スパイク期間)のゲート出力は、決定することが
不可能であり、不明状態(X)と設定するべきである。
シミュレータにおいてXと予定するか否かを判断するた
めに、0と1の範囲をとるスパイク因数Sを導入する。
ゲートの立ち上がりパルス・エッジまたは立ち下がりパ
ルス・エッジに対する重み付きの遅れTdは、それぞれTd
=TrxSまたはTd=TfxSであり、TrおよびTrは、それぞ
れ、ゲートの立ち上がり時間および立ち下がり時間であ
る。入力信号の分離間隔がTdより大きい場合は、スパイ
ク期間中は、必ず不明状態Xが予定される。Tdより小さ
い分離間隔は無視される。このスパイク因数により、ユ
ーザはシミュレーションにおける楽観の度合いを制御す
ることができる。S=1ならば、重み付きの遅れは立ち
上がり/立ち下がりの遅れに等しく、(事象の取り消し
の場合のように)スパイクは常に無視される。これは、
従来に技術で周知のパルス抑制シミュレーション・モー
ドに似ている。S=0ならば、重み付きの遅れはゼロで
あり、事象は常に予定に入れられる。これは、周知の従
来の技術のパルス通過シミュレーション・モードと同様
である。
ここで、SS104およびSA106の動作の詳細を説明する。SS
104のデータ構造を第4図に示す。時間割り盤400には、
4,069の時間区分の記録事項が入る。時間割り盤の各時
間区分の記録事項には、事象リスト402の結合リストの
先頭へのポインタが入る。この事象リスト402は、第5
図に示すように、各時間区分に対して事象が予定される
先のゲートの番号に結合リストである。サイクル・カウ
ント404には、回路のシミュレーションを行うべきステ
ップ回数を指定する管理装置からの数がロードされる。
ゲート記録406は、事象リスト402から得たゲート番号、
またはIVPE134から来る事象メッセージから得たゲート
番号によってインデックスが与えられる。ゲート記録40
6の各記録事項によって、事象リスト402に予定されてい
る事象に関する追加情報が示される。例えば、時間の項
目408には、問題のゲートの最後に予定された出力事象
の時間が記録される。値のフィールドには、未完の状態
変化の最終的な出力状態が入る。フラグ410は、以下で
説明する。
SA106のデータ構造は、第6図に示すが、SS104のデータ
構造に似ている。例えば、SS104のものと同じ時間割り
盤600および事象リスト602がある。それに加えて、SA10
6のデータ構造には、シミュレーションが行われる回路
のゲートに対する立ち上がり時間と立ち下がり時間に前
記の因数Sを乗じたものを、それぞれのフィールド622
および624に入れて備えた重み付き遅延表も含まれる。
それぞれのゲート記録には、フィールドPREV_CUR_TIME6
20、そのゲートにおいて最後の入力変化が起こった時間
区分が入るフィールドPREV_SCH_TIME612、値のフィール
ド614、および2つのフラグPE_FLAG(616)およびX_FLA
G(618)が含まれる。フィールドCUR_TIMEおよびPREV_S
CH_TIMEの意味は、第2図および第3図に示してある。
これらのフィールドは、第2図および第3図に示したよ
うなPREV_CUR_TIMEおよびSCH_TIMEと共に、入力信号の
間隔の幅を示すのに使用される。未完事象フラグPE_FLA
Gにより、そのゲート上に予定されている未完の事象の
有無を示す。X_FLAGは、そのゲート上にスパイク状態が
予定されていることを示す。時間割り盤600は、スパイ
ク状態を予定しなければならない場合には、0または1
から不明を示す値Xへの転換を必ず行う事象の管理役で
ある。
SS104およびSA106は、基本的に次のように動作する。ま
ず、受信モードでは、SS104は、IVPE134からメッセージ
を受信する。このメッセージには、ゲートの出力事象が
予定されているゲート番号と時間、さらに、ED132によ
って検出された各事象またはIVPE134によってパイプラ
インに導入された入力検査ベクトル事象に対する出力状
態の値が含まれる。SS104は、その事象リスト402および
ゲート記録406を更新し、最後の受信モードの実行以来I
VPE134から受信した各事象に対して時間割り盤の中に事
象の予定を入れる。また、SS104も、そのような新たな
事象のそれぞれに対するメッセージを、やはり受信モー
ドにあるSA106に送り、それに従って、SA106がそのデー
タ構造を更新できるようにする。SS104が情報を更新し
ている間、そのゲート上に未完の事象が既にある場合、
SA106は、スパイクの解析を行う。スパイクの解析は、S
S104の受信モードの処理と同時にSA106によって別々
に、行われる。次に、SS104は、送信モードに入って、
現在の時間区分に起こる予定の記録事項を処理する。SS
104は、この処理を始める前に、SA106にメッセージを送
って、これを送信モードにさせる。SS104は、現在予定
されている事象が見かけの事象であれば、そのゲート記
録402にある見かけのゲート事象を取り消すし、現在予
定されている事象が有効な事象であれば、対応する定型
的な事象のメッセージをSA106に送る。送信モードには
いると、SA106は、最初に、現在の時間区分に対して予
定されている事象リスト上の全事象の1つ1つに対して
分かったスパイク状態(Xstate)を示すメッセージをOD
108に送る。そして、SA106は、SS104が送信モードを処
理している間にSS104から受信した定型的なメッセージ
をOD108に単に渡す。
ここで、SS104およびSA106の前記の動作のさらに詳細な
説明を付録AおよびBを参照しながら行う。これらの付
録には、SS104およびSA106の動作の疑似コードを示す。
この疑似コードは、周知のCプログラミング言語の文法
と同様の文法を用いて書いてある。この言語では、演算
子!は「not」を意味し、!=は「not equal」を意味
し、演算子‖は論理OR演算を示す。付録Aは、SS104の
先に要約した動作を制御する疑似コード・リストであ
る。付録Bは、SA106に対する疑似コードを示す。付録
Aにおいて、RECEIVE_eventは、SS104が受信モードの場
合に、SS104によって実行される。このモードにおい
て、新たなゲート出力事象が、すべて処理される。ゲー
ト記録の更新は、新たな事象の各々に対し、フラグ410
を「1」に、時間408をその事象のさらに予定された時
間に、そして値412をそのゲートの予定された出力状態
に設定することによって行われる。次に、事象リストが
更新される。予定された時間を用いて、時間割り盤400
の中の正しい時間区分を選択し、この時間区分に関係付
けられた結合リストを、そのゲート番号で更新する。最
後に、新たな各事象に対し、408のさらに予定された時
間、および値412をSA106に送る。
付録BにおけるRECEIVE_MODEは、SA106のアルゴリズム
で、受信モードにおいてSS104から受信したメッセージ
を処理する部分である。SS104から受信した各メッセー
ジに対し、SA106は、そのゲート記録から、前の現在時
刻PREV_CUR_TIME(第2図参照)、前の予定時刻PREV_SC
H_TIME、およびPE_FLAGを含む情報を取り出す。次に、
ゲート記録を更新して、新たな記録事項PREV_SCH_TIME
およびPREV_CUR_TIMEとして、現在の予定時刻および現
在時刻を記録し、問題のゲートに関係付けられたPE_FLA
Gを調べる。PE_FLAGが設定されていない場合、このゲー
トには現在予定されている事象がないことになり、PE_F
LAGを設定して、次のメッセージがあれば、これを処理
する。メッセージの受信時にPE_FLAGが設定されてい
て、スパイク状態が全く検出されておらず、(!X_FLA
G)、SCH_TIMEの内容がPREV_SCH_TIMEの内容より大きい
場合、スパイクの解析が行われる。最初に、入力の変化
が起こった現在の時刻(CUR_TIME)から前の変化が起こ
った前の時刻(PREV_CURR_TIME)を引くことによって、
入力信号の間隔を決定する。入力信号の間隔が622また
は624からの重み付きの遅れより小さい場合、スパイク
状態は存在せず、その事象は無視される。そうでない場
合、時間割り盤600におけるゲート記録から得た前の予
定時刻にX_eventを入れることによって、不明な出力状
態(X)を予定する。使用される重み付きの遅れは、出
力パルスの変化の方向に依存する。この変化が、「0」
から「1」、または「0」から「X」ならば、フィール
ド622の重み付き遅れが使用される。その他の場合は、
フィールド624の重み付き遅れが使用される。X_FLAG
は、1つのゲートにおける多数の変化を扱うのに使用さ
れる。このフラグにより、X_eventが既に予定されてい
るかどうかが示される。既に予定されている場合、SA10
6は、それ以上何もしない。この結果は、X状態の持続
時間を延長することのみである。
SS104は、受信モードを終えると、送信モードを実行す
る。即ち、SS104は、事象リスト402(event_list)に現
在の時間区分に対する見かけの事象があれば、これを取
り消し、なければ、現在の時間区分に対する事象の情報
をSA106に渡す。これを付録AにTRANSMIT_eventとして
示した。ゲート記録406において現在の時間区分に対し
て予定された各記録事項に対し、その事象が取り消され
るか、または現在時刻が408に記憶された予定時刻に等
しくない場合には、事象のメッセージがSA106に送られ
る。これは、この事象が仮に事象リストに前に入れられ
たものであっても、次の事象によって上書きされている
からである。従って、事象のメッセージが送られるの
は、現在時刻がゲート記録のフィールドSCH_TIMEに入っ
ている時間と同じで、かつ1ビットのフラグ410がセッ
トされている場合であり、この場合に限られる。このフ
ラグは、前に送らなければならない有効な未完の事象が
あることを意味する。フラグ410は、有効な事象の送信
時にリセットされる。これを使用することにより、その
ゲートに同時に発生する入力変化によって起こり得る多
数の余分なメッセージを送ることが避けられる。
TRNSMIT_ODは、SA106のアルゴリズムのうち、受信モー
ドの終了後にOD108にメッセージを送る部分である。こ
の送信モードにおいて、SA106は、まずSS104から現在時
刻を受信する。スパイクの解析の結果SAの時間割り盤60
0に置かれた未完のX事象は、すべて、最初にOD108に送
られる。次に、SA106は、SS140が送信モードの間にSS10
4から受信した定型的な事象のメッセージをすべてOD108
に送る。なお、Xから0または1への変化を表す定型的
な事象のメッセージはSA106で扱う必要がないことに注
意を要する。これは、入力に変化があれば、SS104が常
にそのゲートの値を更新するからである。SSの事象リス
トのLIFO配列作用により、ゲート出力の最後の事象は、
必ずパイプラインに送り込まれる。従って、それらのSS
から受信した定型的な事象は、すべて正当な(取り消し
を許さない)事象である。最後に、新たな事象の受信に
備えて、PE_FLAGおよびX_FLAGをリセットする。第3図
を例にとれば、SA106は、時刻15におけるゲート40上で
の0からXへの事象変化を生成して送る一方、Xから0
への変化に対応する事象についてはSS104から直接OD108
へ受け渡しするだけである。
前記の構造は、単に本発明の原理の応用例を示したもの
であり、当業者であれば、本発明の主旨および範囲から
逸脱することなく、他の構造を考えることができる。
【図面の簡単な説明】
第1図は、パイプライン状に接続された複数のプロセッ
サを備え、うち1つは一般的な信号を計画し、他の1つ
はスパイクの解析を行い、それぞれが全体的なシミュレ
ーション機能の指定された部分を果たすようにプログラ
ムされたシミュレータの実例を示すブロック図、 第2図は、第1図の信号を計画するプロセッサにおける
事象の解消をもたらすゲート入力のパルス・パタンを示
す図、 第3図は、第1図のスパイクを解析するプロセッサによ
るスパイク状態の検出および計画をもたらすゲート入力
のパルス・パタンを示す図、 第4図は、計画を定める複数の時間区分からなる時間割
り盤を含む、信号を計画するプロセッサのデータ構造の
実例を示す図、 第5図は、第4図のデータ構造をさらに詳細に示す図、 第6図は、スパイク出力の事象の計画を定める時間割り
盤を含む、第1図のスパイクを解析するプロセッサのデ
ータ構造の実例を示す図である。

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】シミュレートされるゲートの出力において
    ゲートの伝播遅延時間より短い期間に変化するゲートの
    入力信号に起因する出力パルスであるスパイク状態を検
    出するように構成された論理回路シミュレータにおい
    て、このシミュレータが、全体的なシミュレーション機
    能の一部を実行するように設計され並列動作するように
    配列された複数の自立型の素子からなり、その素子のう
    ちの1つが、ゲートの入力刺激の発生時刻を表す信号と
    ゲートの伝播遅延データとに応じて主にスパイク状態の
    解析機能を実行するスパイク解析素子であることを特徴
    とする論理回路シミュレータ。
  2. 【請求項2】前記素子のうちの1つが、ゲートの入力刺
    激に応じてゲートの出力信号を予定する機能を実行し、
    その信号を入れたメッセージを前記スパイク解析素子に
    送る信号予定素子であることを特徴とする請求項1の論
    理回路シミュレータ。
  3. 【請求項3】前記信号予定素子と前記スパイク解析素子
    とが、全体的なシミュレーション機能のうちそれぞれが
    指定された機能を実行するようにプログラムされたプロ
    グラム可能なプロセッサであることを特徴とする請求項
    2の論理回路シミュレータ。
  4. 【請求項4】前記素子が、直列接続されたパイプライン
    状に構成されていることを特徴とする請求項2または3
    の論理回路シミュレータ。
  5. 【請求項5】前記スパイク解析素子が、前記スパイク状
    態を検出した場合、これに応じて、ゲート出力が不明で
    あるという事象を予定したことを示す信号を前記パイプ
    ラインに送り込む手段をさらに有することを特徴とする
    請求項4の論理回路シミュレータ。
  6. 【請求項6】前記信号予定素子と前記スパイク解析素子
    との内部に別個の時間割り盤をさらに備え、各時間割り
    盤が、前記のゲート入力刺激に応じたゲート出力事象の
    発生の予定時刻を記憶するための複数の時間区分を有す
    ることを特徴とする請求項2または3の論理回路シミュ
    レータ。
  7. 【請求項7】前記スパイク解析素子が、 前記信号予定素子から予定されたゲート出力事象を受信
    し、これに応じて、自らの時間割り盤の適切な時間区分
    に前記事象の予定を入れる第1の手段と、 ある出力事象が、そのゲートに既に予定されているかど
    うかを判断する第2の手段と、 第2の手段に応じて、既に予定されている事象と現在の
    事象とが、そのゲートの伝播遅延時間より短い持続時間
    の1つの出力パルスの原因となるかどうかを判断する手
    段とをさらに有することを特徴とする請求項6の論理回
    路シミュレータ。
  8. 【請求項8】前記スパイク解析素子が、ゲートの伝播遅
    延時間を変数によって重み付けされた遅延時間として記
    憶する記憶手段をさらに有することを特徴とする請求項
    7の論理回路シミュレータ。
  9. 【請求項9】前記記憶手段が、 ゲートの立ち上がりの重み付き遅延時間とゲートの立ち
    下がりの重み付き遅延時間とを別々に記憶する手段と、 スパイク状態の解析を行うために、予定の出力パルスの
    変化の方向に応じて、前記の立ち上がりの遅延時間と前
    記の立ち下がりの遅延時間のうちの適切なほうにアクセ
    スする手段とをさらに有することを特徴とする請求項8
    の論理回路シミュレータ。
  10. 【請求項10】並列動作するように配列された複数の自
    立型の素子を備え、その各素子が全体的なシミュレーシ
    ョン機能の一部を実行するように設計されている論理回
    路シミュレータにおいて、シミュレートされるゲートの
    出力においてゲートの伝播遅延時間より短い期間に変化
    するゲートの入力信号に起因する出力パルスであるスパ
    イク状態を検出する方法において、 第1素子において、回路の入力刺激に応じてゲート出力
    の変化を予定するステップと、 第2素子において、前記第1素子からの信号に応じてス
    パイク状態検出機能を実行するステップとからなること
    を特徴とする論理回路シミュレータのスパイク検出方
    法。
  11. 【請求項11】前記第2素子において、出力事象を指定
    する前記第1素子からの信号に応じて、別の出力事象が
    既に前記ゲートに予定されているかどうかを判断し、そ
    れらの2つの事象が原因となって前記ゲートの伝播遅延
    時間より短い時間にゲート入力が変化するようになるか
    どうかを判断し、変化することになる場合、最初に予定
    された事象の時刻に始まるゲート出力が不明な状態とな
    る事象の予定を前記第2素子の時間割り盤に入れるステ
    ップをさらに有することを特徴とする請求項10の方法。
  12. 【請求項12】それぞれが複数の時間区分を有する別個
    の時間割り盤を前記第1素子と前記第2素子の中で維持
    するステップと、 前記のゲート入力刺激に応じて、ゲート出力事象の発生
    の予定時刻を、前記第1素子の時間割り盤に記憶するス
    テップと、 予定のスパイク状態を前記第2素子の時間割り盤に記憶
    するステップとをさらに有することを特徴とする請求項
    11の方法。
  13. 【請求項13】前記第1素子と前記第2素子における時
    間割り盤の時間区分を順次アクセスするステップと、 前記時間割り盤のそれぞれに予定されている他の素子の
    ゲート事象に、適切な時刻に信号を送るステップとをさ
    らに有することを特徴とする請求項12の方法。
  14. 【請求項14】スパイク状態を検出するために、ゲート
    の伝播遅延時間を、変数によって重みを付けた遅延時間
    として前記第2素子に記憶する記憶ステップをさらに有
    することを特徴とする請求項13の方法。
  15. 【請求項15】前記記憶ステップが、ゲートの立ち上が
    りの重み付き遅延時間とゲートの立ち下がりの重み付き
    遅延時間とを別々に記憶するステップをさらに有し、 前記方法は、前記第2素子が、スパイク状態の解析を行
    うために、予定の出力パルスの変化の方向に応じて、前
    記の立ち上がりの遅延時間と前記の立ち下がりの遅延時
    間のうちの適切なほうにアクセスするステップをさらに
    有することを特徴とする請求項14の方法。
JP2160086A 1989-06-23 1990-06-20 論理回路シミュレータとそのスパイク検出方法 Expired - Lifetime JPH077428B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US370934 1989-06-23
US07/370,934 US5091872A (en) 1989-06-23 1989-06-23 Apparatus and method for performing spike analysis in a logic simulator

Publications (2)

Publication Number Publication Date
JPH03116382A JPH03116382A (ja) 1991-05-17
JPH077428B2 true JPH077428B2 (ja) 1995-01-30

Family

ID=23461795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2160086A Expired - Lifetime JPH077428B2 (ja) 1989-06-23 1990-06-20 論理回路シミュレータとそのスパイク検出方法

Country Status (4)

Country Link
US (1) US5091872A (ja)
EP (1) EP0404444B1 (ja)
JP (1) JPH077428B2 (ja)
DE (1) DE69021788T2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572708A (en) * 1989-02-28 1996-11-05 Nec Corporation Hardware simulator capable of dealing with a description of a functional level
JP2847310B2 (ja) * 1990-01-12 1999-01-20 東京エレクトロン株式会社 論理シミュレーション方法
KR0158887B1 (ko) * 1990-01-12 1999-02-18 이노우에 키요시 논리 모의실험기
US5500808A (en) * 1991-01-24 1996-03-19 Synopsys, Inc. Apparatus and method for estimating time delays using unmapped combinational logic networks
JP2680947B2 (ja) * 1991-09-12 1997-11-19 三菱電機株式会社 テストタイミングプログラム自動生成装置
EP0598149B1 (en) * 1992-11-12 2000-01-19 Fujitsu Limited Hardware logic simulator
WO1994023388A1 (en) * 1993-03-31 1994-10-13 Alcatel N.V. Method for solving asynchronisms in digital logic simulators
US5422891A (en) * 1993-07-23 1995-06-06 Rutgers University Robust delay fault built-in self-testing method and apparatus
US5428626A (en) * 1993-10-18 1995-06-27 Tektronix, Inc. Timing analyzer for embedded testing
US5519848A (en) * 1993-11-18 1996-05-21 Motorola, Inc. Method of cell characterization in a distributed simulation system
FR2759826B1 (fr) * 1997-02-14 1999-12-17 Sgs Thomson Microelectronics Procede de simulation precise de circuits logiques
US6195628B1 (en) 1997-03-13 2001-02-27 International Business Machines Corporation Waveform manipulation in time warp simulation
US6141631A (en) * 1998-03-25 2000-10-31 Lsi Logic Corporation Pulse rejection circuit model program and technique in VHDL
GB9808609D0 (en) 1998-04-22 1998-06-24 Automatic Parallel Designs Ltd Method and apparatus for designing sequential circuits
US6718479B1 (en) * 2000-09-08 2004-04-06 International Business Machines Corporation Method, system, program, and data structures for managing hierarchical timing wheels
US7007252B2 (en) * 2003-04-09 2006-02-28 Synopsys, Inc. Method and apparatus for characterizing the propagation of noise through a cell in an integrated circuit
US7231336B2 (en) * 2003-08-25 2007-06-12 Legend Design Technology, Inc. Glitch and metastability checks using signal characteristics
US7542880B2 (en) * 2006-04-06 2009-06-02 Advanced Micro Devices, Inc. Time weighted moving average filter
US8909576B2 (en) * 2011-09-16 2014-12-09 International Business Machines Corporation Neuromorphic event-driven neural computing architecture in a scalable neural network
US9558443B2 (en) 2013-08-02 2017-01-31 International Business Machines Corporation Dual deterministic and stochastic neurosynaptic core circuit

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3715573A (en) * 1971-04-14 1973-02-06 Ibm Failure activity determination technique in fault simulation
US4306286A (en) * 1979-06-29 1981-12-15 International Business Machines Corporation Logic simulation machine
US4656580A (en) * 1982-06-11 1987-04-07 International Business Machines Corporation Logic simulation machine
US4787061A (en) * 1986-06-25 1988-11-22 Ikos Systems, Inc. Dual delay mode pipelined logic simulator
US4787062A (en) * 1986-06-26 1988-11-22 Ikos Systems, Inc. Glitch detection by forcing the output of a simulated logic device to an undefined state
JPS63204441A (ja) * 1987-02-20 1988-08-24 Fujitsu Ltd 論理シミユレ−シヨン専用プロセツサの処理方式
US4827427A (en) * 1987-03-05 1989-05-02 Hyduke Stanley M Instantaneous incremental compiler for producing logic circuit designs

Also Published As

Publication number Publication date
US5091872A (en) 1992-02-25
EP0404444B1 (en) 1995-08-23
EP0404444A1 (en) 1990-12-27
DE69021788D1 (de) 1995-09-28
JPH03116382A (ja) 1991-05-17
DE69021788T2 (de) 1996-01-04

Similar Documents

Publication Publication Date Title
JPH077428B2 (ja) 論理回路シミュレータとそのスパイク検出方法
Tyszer Object-oriented computer simulation of discrete-event systems
US5157620A (en) Method for simulating a logic system
US6097885A (en) Digital system simulation
US6466898B1 (en) Multithreaded, mixed hardware description languages logic simulation on engineering workstations
Russell Building simulation models with SIMSCRIPT II. 5
US5490266A (en) Process oriented logic simulation having stability checking
EP0096176A2 (en) Method of logic simulation and logic simulation machine
US5517629A (en) Methods for analyzing computer program performance
US5272651A (en) Circuit simulation system with wake-up latency
Bernardo et al. Performance measure sensitive congruences for Markovian process algebras
Haghdoost et al. On the Accuracy and Scalability of Intensive {I/O} Workload Replay
JP3366475B2 (ja) データ処理速度の評価方法
Hagmann et al. Performance analysis of several back-end database architectures
Ulrich et al. High-speed concurrent fault simulation with vectors and scalars
Kerola et al. Monit: A performance monitoring tool for parallel and pseudo-parallel programs
US7627462B2 (en) Hardware simulation using a test scenario manager
Estrin et al. Modeling, measurement and computer power
Ulrich et al. Fault-test analysis techniques based on logic simulation
Edmunds et al. Technical Design Report for the Level 2 global processor
US5410673A (en) Method and apparatus for simulating a logic circuit having a plurality of interconnect logic blocks
US7630875B2 (en) Automatic time warp for electronic system simulation
Girona Turell Performance Prediction and Evaluation Tools
Anderson et al. Graph models of computer systems: Application to performance evaluation of an operating system
Catlin et al. Hardware acceleration of logic simulation using a data flow microarchitecture

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080130

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090130

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090130

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100130

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110130

Year of fee payment: 16

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110130

Year of fee payment: 16