JPH0743733B2 - 論理シミュレーション方法 - Google Patents
論理シミュレーション方法Info
- Publication number
- JPH0743733B2 JPH0743733B2 JP27676185A JP27676185A JPH0743733B2 JP H0743733 B2 JPH0743733 B2 JP H0743733B2 JP 27676185 A JP27676185 A JP 27676185A JP 27676185 A JP27676185 A JP 27676185A JP H0743733 B2 JPH0743733 B2 JP H0743733B2
- Authority
- JP
- Japan
- Prior art keywords
- signal value
- output signal
- logic
- clock
- event
- 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
Links
- 238000004088 simulation Methods 0.000 title claims description 57
- 238000000034 method Methods 0.000 title claims description 38
- 238000012545 processing Methods 0.000 claims description 53
- 230000000630 rising effect Effects 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims 8
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 7
- 230000000644 propagated effect Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 102100030462 Pleckstrin homology domain-containing family B member 1 Human genes 0.000 description 2
- 101150031793 Plekhb1 gene Proteins 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 101100173726 Arabidopsis thaliana OR23 gene Proteins 0.000 description 1
- 101100534512 Homo sapiens STMN1 gene Proteins 0.000 description 1
- 102100024237 Stathmin Human genes 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31705—Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3173—Marginal testing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明は、デイジタル論理回路の論理シミユレーシヨン
装置に係り、特に大規模論理回路の論理動作を高速に検
証するに好適な論理シミユレーシヨン装置に関する。
装置に係り、特に大規模論理回路の論理動作を高速に検
証するに好適な論理シミユレーシヨン装置に関する。
大型計算機やVLSI等の設計時には、同期型論理設計方式
を採用する例が多い。同期型論理設計方式とは、クロツ
クをフリツプフロツプのセツト,リセツト条件に必ず用
いて、一定時刻でフリツプフロツプを動作させつつフリ
ツプフロツプ間の組合せ回路で論理動作を行い情報加工
を行う設計方式である。
を採用する例が多い。同期型論理設計方式とは、クロツ
クをフリツプフロツプのセツト,リセツト条件に必ず用
いて、一定時刻でフリツプフロツプを動作させつつフリ
ツプフロツプ間の組合せ回路で論理動作を行い情報加工
を行う設計方式である。
このような同期型論理設計方式の特徴を利用して、次の
ような論理シミユレーシヨン手法が開発されている(例
えば特願昭59−28536号59年20日出願)。即ち、フリツ
プフロツプで囲まれる組合せ回路を、回路遅延時間ゼロ
を前提としてイベント駆動方式に基づいて計算して行
く。そして、組合せ回路からの最終のイベントがフリツ
プフロツプに達した場合のみ、そのフリツプフロツプの
クロツク位相を考慮してシミユレーシヨンするものであ
る。
ような論理シミユレーシヨン手法が開発されている(例
えば特願昭59−28536号59年20日出願)。即ち、フリツ
プフロツプで囲まれる組合せ回路を、回路遅延時間ゼロ
を前提としてイベント駆動方式に基づいて計算して行
く。そして、組合せ回路からの最終のイベントがフリツ
プフロツプに達した場合のみ、そのフリツプフロツプの
クロツク位相を考慮してシミユレーシヨンするものであ
る。
上記シミユレーシヨン手法に基づいたシミユレーシヨン
を実施して見ると、クロツク信号に関するイベントが数
多く発生する。これは、同期型論理設計に於ける論理動
作がクロツク信号を入力したラツチ間のデータ転送によ
り行なわれていることに起因している。
を実施して見ると、クロツク信号に関するイベントが数
多く発生する。これは、同期型論理設計に於ける論理動
作がクロツク信号を入力したラツチ間のデータ転送によ
り行なわれていることに起因している。
例えば、第1図のような論理回路を考える。図中、IN,C
LK,CONSTは入力端子、g1はORゲート、g2はANDゲート、l
1はラツチ(フリツプフロツプとも呼ぶ)である。ここ
でCLK端子にはクロツク信号が印加されるものとする。
クロツク信号とは第2図に示すように、論理装置内の基
本動作を実行する時間(マシンサイクルと呼ぶ)内を、
1つ以上の処理時間区分に(0,1,2…,n−1)に分割し
た場合、その処理時間区分の時刻を規定するものであ
る。
LK,CONSTは入力端子、g1はORゲート、g2はANDゲート、l
1はラツチ(フリツプフロツプとも呼ぶ)である。ここ
でCLK端子にはクロツク信号が印加されるものとする。
クロツク信号とは第2図に示すように、論理装置内の基
本動作を実行する時間(マシンサイクルと呼ぶ)内を、
1つ以上の処理時間区分に(0,1,2…,n−1)に分割し
た場合、その処理時間区分の時刻を規定するものであ
る。
そして、各時間区分に対応するクロツク信号を順にクロ
ツク相番号0〜n−1のクロツク信号と呼び、簡単のた
めに、C0〜Cn-1と記述することとする。第2図の例題で
はC0〜C3を示している。
ツク相番号0〜n−1のクロツク信号と呼び、簡単のた
めに、C0〜Cn-1と記述することとする。第2図の例題で
はC0〜C3を示している。
例えば、クロツク信号C0をCLK端子に印加した場合を考
えると、第3図に示すようにゲートg1,ゲートg2,ゲー
トl1の順に、クロツク信号C0の‘0'→‘1',‘1'→‘0'
の変化に伴つてイベントの発生頻度が多くなる。
えると、第3図に示すようにゲートg1,ゲートg2,ゲー
トl1の順に、クロツク信号C0の‘0'→‘1',‘1'→‘0'
の変化に伴つてイベントの発生頻度が多くなる。
ここでイベントとは、ゲートあるいはラツチ(これらを
合せて素子と呼ぶ)の入力信号が変化した場合を言い、
この場合は変化した入力信号値に基づき素子の評価(具
体的には入力信号値から出力信号値を計算するための論
理演算)が必要となる。なお、入力信号値が変化しなけ
れば素子の評価となり、以前の出力信号値をそのまま参
照すれば良い。
合せて素子と呼ぶ)の入力信号が変化した場合を言い、
この場合は変化した入力信号値に基づき素子の評価(具
体的には入力信号値から出力信号値を計算するための論
理演算)が必要となる。なお、入力信号値が変化しなけ
れば素子の評価となり、以前の出力信号値をそのまま参
照すれば良い。
このようなイベントは、1マシンサイクル当りクロツク
信号の‘0'→‘1'の立上りと、‘1'→‘0'の立下りの2
回は必ず起り、無効なイベントが多数発生する。ここ
で、無効なイベントとは実際の論理動作に影響を与えな
い無駄なイベントを言う。
信号の‘0'→‘1'の立上りと、‘1'→‘0'の立下りの2
回は必ず起り、無効なイベントが多数発生する。ここ
で、無効なイベントとは実際の論理動作に影響を与えな
い無駄なイベントを言う。
例えば、第3図に於いては、図中のクロツクの立ち上
りとのクロツクの立上りによつてはラツチl1が影響さ
れず、図中〜の素子の評価は無駄となる。
りとのクロツクの立上りによつてはラツチl1が影響さ
れず、図中〜の素子の評価は無駄となる。
そこで、クロツク信号の立上り/立下りによつて発生す
るイベントのうち、無駄なイベントを極力抑止できれば
論理シミユレーシヨン処理速度が大巾に向上することが
期待できる。
るイベントのうち、無駄なイベントを極力抑止できれば
論理シミユレーシヨン処理速度が大巾に向上することが
期待できる。
本発明の第1の目的はフリツプフロツプのセツト、リセ
ツト条件にクロツク信号を用い、一定時刻でフリツプフ
ロツプを動作させつつフリツプフロツプ間の組合せ回路
の論理動作をシミユレートするクロツク同期シミユレー
シヨン方式と、フリツプフロツプで囲まれる組合せ回路
を回路遅延時間ゼロを前提とした遅延時間ゼロイベント
駆動方式に基づいてデイジタル論理回路の動作を論理的
にシミユレーシヨンする論理シミユレーシヨン装置であ
つて、クロツク信号の立上り/立下りに伴つて発生する
イベントのうち、実際の論理動作に影響を与えない無効
なイベント発生を極力抑止させることにより、デイジタ
ル論理回路の論理シミユレーシヨン処理速度を大巾に向
上できる論理シミユレーシヨン装置を提供することにあ
る。
ツト条件にクロツク信号を用い、一定時刻でフリツプフ
ロツプを動作させつつフリツプフロツプ間の組合せ回路
の論理動作をシミユレートするクロツク同期シミユレー
シヨン方式と、フリツプフロツプで囲まれる組合せ回路
を回路遅延時間ゼロを前提とした遅延時間ゼロイベント
駆動方式に基づいてデイジタル論理回路の動作を論理的
にシミユレーシヨンする論理シミユレーシヨン装置であ
つて、クロツク信号の立上り/立下りに伴つて発生する
イベントのうち、実際の論理動作に影響を与えない無効
なイベント発生を極力抑止させることにより、デイジタ
ル論理回路の論理シミユレーシヨン処理速度を大巾に向
上できる論理シミユレーシヨン装置を提供することにあ
る。
また、第2の目的は上記と同様にクロツク同期シミユレ
ーシヨン方式と、遅延時間ゼロイベント駆動方式に基づ
いた論理シミユレーシヨン処理装置であつて、HITAC S
−810のようなベクトルプロセツサを利用し、ベクトル
処理によつて一括高速処理することにより、デイジタル
論理回路の論理シミユレーシヨン処理速度を大巾に向上
できる論理シミユレーシヨン装置を提供することにあ
る。
ーシヨン方式と、遅延時間ゼロイベント駆動方式に基づ
いた論理シミユレーシヨン処理装置であつて、HITAC S
−810のようなベクトルプロセツサを利用し、ベクトル
処理によつて一括高速処理することにより、デイジタル
論理回路の論理シミユレーシヨン処理速度を大巾に向上
できる論理シミユレーシヨン装置を提供することにあ
る。
本発明の詳細な実施例を説明する前に、本発明で導入す
るクロツク信号値とその利用方法について記す。
るクロツク信号値とその利用方法について記す。
従来は第2図に示すように、クロツク信号をある定つた
時刻から一定時間の間、信号値を‘0'にしたり‘1'にす
ることによつて定義していたが、本発明では一括してク
ロツク信号値‘C1’と定義する。ここで、iはクロツク
の相番号を表わすものとする。
時刻から一定時間の間、信号値を‘0'にしたり‘1'にす
ることによつて定義していたが、本発明では一括してク
ロツク信号値‘C1’と定義する。ここで、iはクロツク
の相番号を表わすものとする。
最初、初期設定時にCLK端子に例えばクロツク信号値‘C
0’を印加して伝播可能な部分まで‘C0’を伝播させて
おく。なお、第1図に於いては、ゲートgiの出力までは
‘C0’が伝播するが、ゲートg2の出力に伝播するかどう
かはIN端子の条件による。即ち、例えば、ゲートg2をAN
DゲートとすればIN端子が‘1'のときゲートg2の出力に
‘C0’を伝播できるが、IN端子が‘0'のときは伝播でき
ない。今、仮にIN端子が‘0'とすれば初期設定完了後の
ゲートg1,ゲートg2,ラツチl1の値は第4図の図中の
時点での値となる。
0’を印加して伝播可能な部分まで‘C0’を伝播させて
おく。なお、第1図に於いては、ゲートgiの出力までは
‘C0’が伝播するが、ゲートg2の出力に伝播するかどう
かはIN端子の条件による。即ち、例えば、ゲートg2をAN
DゲートとすればIN端子が‘1'のときゲートg2の出力に
‘C0’を伝播できるが、IN端子が‘0'のときは伝播でき
ない。今、仮にIN端子が‘0'とすれば初期設定完了後の
ゲートg1,ゲートg2,ラツチl1の値は第4図の図中の
時点での値となる。
次に、マシンサイクルを進めながらシミユレーシヨンを
開始するが、この時、少なくともゲートg1の入力値は
‘C0’ままでありイベントは発生しない。
開始するが、この時、少なくともゲートg1の入力値は
‘C0’ままでありイベントは発生しない。
ゲートg2についてIN端子の値が変化したときのみイベン
トが発生する(もう一方の入力値は常に‘C0’まま)。
また、ラツチl1はg2の出力値が変化した時のイベントが
発生してラツチを評価する必要がある。
トが発生する(もう一方の入力値は常に‘C0’まま)。
また、ラツチl1はg2の出力値が変化した時のイベントが
発生してラツチを評価する必要がある。
この際、ゲートg2の出力値は‘C0’あるいは‘0'を取り
得るが、‘C0’の値はそのシミユレーシヨン時点でのク
ロツクの状態(一般的には、クロツク相番号と立上り/
立下りの情報)に基づき‘0'あるいは‘1'に変換後、ラ
ツチl1の評価を行うことになる。
得るが、‘C0’の値はそのシミユレーシヨン時点でのク
ロツクの状態(一般的には、クロツク相番号と立上り/
立下りの情報)に基づき‘0'あるいは‘1'に変換後、ラ
ツチl1の評価を行うことになる。
このように一度、クロツク信号値‘C0’を確保してしま
うと、クロツク伝達経過に関連するゲートあるいはラツ
チの無効なイベント発生を大巾に抑止できる。
うと、クロツク伝達経過に関連するゲートあるいはラツ
チの無効なイベント発生を大巾に抑止できる。
第5図は本発明の概略処理手順を示す図である。以下、
簡単に処理概要を記す。初期設定ではゲートあるいはラ
ツチの初期値のセツト、あるいは、前述したクロツク信
号値の伝播等の処理を行う。次に、クロツク相番号mと
サイクルカウントqをリセツトする。その後、クロツク
相番号mを0〜MAXCLK No.(マシンサイクル当りの相番
号の最大)まで進めて第1サイクルのシミユレーシヨン
を行い、この一連の処理をMAXCYC No.で指定したサイク
ル数だけ順次繰返して行う。
簡単に処理概要を記す。初期設定ではゲートあるいはラ
ツチの初期値のセツト、あるいは、前述したクロツク信
号値の伝播等の処理を行う。次に、クロツク相番号mと
サイクルカウントqをリセツトする。その後、クロツク
相番号mを0〜MAXCLK No.(マシンサイクル当りの相番
号の最大)まで進めて第1サイクルのシミユレーシヨン
を行い、この一連の処理をMAXCYC No.で指定したサイク
ル数だけ順次繰返して行う。
あるクロツク相番号mに対する概略処理内容は次の通り
である。
である。
ステツプ1:相番号mのクロツクを立上げる(図中の10
2)。
2)。
ステツプ2:外部入力をセツトする。
ステツプ3:多重クロツクゲートイベントのシミユレーシ
ヨン(図中の104)を行う。
ヨン(図中の104)を行う。
ここで、多重クロックイベントとは、その複数の入力値
が互いに異なるクロック相番号を持つクロック信号値で
あるゲートイベントである。
が互いに異なるクロック相番号を持つクロック信号値で
あるゲートイベントである。
ステツプ4:ゲートイベントシミユレーシヨン(図中の10
5)を行う。
5)を行う。
ステツプ5:ラツチイベントのシミユレーシヨン(図中の
106)を行う。
106)を行う。
ステツプ6:ラツチイベントのシミユレーシヨン(図中の
107)を行う。
107)を行う。
ステツプ7:相番号mのクロツクを立下げる。(図中の10
8)。
8)。
ステツプ8:ゲートイベントのシミユレーシヨン(図中の
109)を行う。
109)を行う。
ステツプ9:ラツチイベントのシミユレーシヨン(図中の
110)を行う。
110)を行う。
次に、第6図を用いて、上記ステツプ1〜9の詳細な処
理手順を記すが、その前に、ゲート/ラツチ接続テーブ
ル(GLTBL)を説明する。本テーブルの各エントリの構
成を第7図(a)に示す。各エントリのデータ巾は16B
であり、4Bずつの4つのフイールドで構成される。第1
のフイールドは第7図(b)に示すようにラツチあるい
はゲートの機能,フラグ,信号値(出力値を表わす)か
ら構成される。
理手順を記すが、その前に、ゲート/ラツチ接続テーブ
ル(GLTBL)を説明する。本テーブルの各エントリの構
成を第7図(a)に示す。各エントリのデータ巾は16B
であり、4Bずつの4つのフイールドで構成される。第1
のフイールドは第7図(b)に示すようにラツチあるい
はゲートの機能,フラグ,信号値(出力値を表わす)か
ら構成される。
信号値(VAL)は8ビツトで構成され、第7図(c)に
示すように値を定義する。前述したクロツク信号値はVA
L0が1で、VAL1はクロツク信号の極性の反転の有無を、
VAL2〜7がクロツク相番号を示す。例えば、クロツク信
号値‘C1’はVAL0を1,VAL1を0,VAL2〜7を相番号i(2
進表示で最大64ケース)とする。また、‘−CiはVAL0を
1,VAL11,VAL2〜7を相番号iとする。一方、従来から用
いている信号値‘0'はVAL0〜7を全て0,信号値‘1'はVAL
7のみを1とする。なお、不定値‘X'あるいはハイイン
ピーダンス値‘Z'等の導入が考えられるが、本実施例で
は簡単化のために省略するものとする。
示すように値を定義する。前述したクロツク信号値はVA
L0が1で、VAL1はクロツク信号の極性の反転の有無を、
VAL2〜7がクロツク相番号を示す。例えば、クロツク信
号値‘C1’はVAL0を1,VAL1を0,VAL2〜7を相番号i(2
進表示で最大64ケース)とする。また、‘−CiはVAL0を
1,VAL11,VAL2〜7を相番号iとする。一方、従来から用
いている信号値‘0'はVAL0〜7を全て0,信号値‘1'はVAL
7のみを1とする。なお、不定値‘X'あるいはハイイン
ピーダンス値‘Z'等の導入が考えられるが、本実施例で
は簡単化のために省略するものとする。
フラグ(FL)は第7図(d)に示すように5ビツトで構
成され、各ビツトの意味は図に示す通りであるが、各ビ
ツトの使用目的および使用方法については後で詳しく説
明する。
成され、各ビツトの意味は図に示す通りであるが、各ビ
ツトの使用目的および使用方法については後で詳しく説
明する。
機能(FN)は4ビツトで構成され、第7図(e)に示す
ようにラツチあるいはゲートのオペレーシヨンを指定す
るものとする。例えば、ゲートの代表的なオペレーシヨ
ンであるAND,OR,EOR(排化的OR),NOTに於いて、入力値
に対する出力値の関係がどうなるかを第13図に示す。図
中のカレントクロツクとは、シミユレーシヨンを実行し
ていく過程で現在どの相番号のクロツクをシミユレーシ
ヨンしているかを表わすものとする。
ようにラツチあるいはゲートのオペレーシヨンを指定す
るものとする。例えば、ゲートの代表的なオペレーシヨ
ンであるAND,OR,EOR(排化的OR),NOTに於いて、入力値
に対する出力値の関係がどうなるかを第13図に示す。図
中のカレントクロツクとは、シミユレーシヨンを実行し
ていく過程で現在どの相番号のクロツクをシミユレーシ
ヨンしているかを表わすものとする。
次に、ラツチのオペレーシヨンであるが、本実施例では
ラツチの入力値にクロツク信号値がある場合には、第14
図に示すように、クロツク信号値をカレントクロツクに
基づいて値‘0'あるいは値‘1'に変換して出力値を算出
するものとする。
ラツチの入力値にクロツク信号値がある場合には、第14
図に示すように、クロツク信号値をカレントクロツクに
基づいて値‘0'あるいは値‘1'に変換して出力値を算出
するものとする。
なお、機能,フラグ,信号値のデータ巾は、インプリメ
ントに依存するものであり、本実施例のデータ巾に限定
されるものではない。
ントに依存するものであり、本実施例のデータ巾に限定
されるものではない。
第7図(a)の第2と第3のフイールドは、自ゲートあ
るいは自ラツチの入力となるゲートあるいはラツチがゲ
ート/ラツチ接続デーブルのどのエントリにあるかのア
ドレスを示すものとする。なお、ゲート/ラツチ接続テ
ーブルはシミユレーシヨン実行前に論理コンパイラによ
り生成され、実行時に主記憶上に格納されるものとす
る。また、第4フイールドは、自ゲートあるいは自ラツ
チの出力を入力とするゲートあるいはラツチがゲート/
ラツチ接続テーブルのどのエントリにあるかのアドレス
を示すものとする。なお、本実施例では簡単のために2
入力1出力のゲートおよびラツチを基本素子としている
が、更に多入力,多出力に拡張することが容易に可能で
ある。
るいは自ラツチの入力となるゲートあるいはラツチがゲ
ート/ラツチ接続デーブルのどのエントリにあるかのア
ドレスを示すものとする。なお、ゲート/ラツチ接続テ
ーブルはシミユレーシヨン実行前に論理コンパイラによ
り生成され、実行時に主記憶上に格納されるものとす
る。また、第4フイールドは、自ゲートあるいは自ラツ
チの出力を入力とするゲートあるいはラツチがゲート/
ラツチ接続テーブルのどのエントリにあるかのアドレス
を示すものとする。なお、本実施例では簡単のために2
入力1出力のゲートおよびラツチを基本素子としている
が、更に多入力,多出力に拡張することが容易に可能で
ある。
第8図にゲート/ラツチ接続テーブルの一例を示す。第
8図は、第1図は示した論理回路に基づいて論理コイパ
イラが作成するテーブルである。CONST,CLK,INは入力端
子であり、機能(FN)は無効なオペレーシヨンを示す
‘NOP'となつている。また、CONSTは定数値‘1'である
ことから信号値(VAL)は‘1'に設定される。
8図は、第1図は示した論理回路に基づいて論理コイパ
イラが作成するテーブルである。CONST,CLK,INは入力端
子であり、機能(FN)は無効なオペレーシヨンを示す
‘NOP'となつている。また、CONSTは定数値‘1'である
ことから信号値(VAL)は‘1'に設定される。
第9図(a)は、第8図で作成したテーブルを基に、第
5図で示した初期設定100の処理を終了した時点での様
子(第8図の第1フイールドのみ)を示したものであ
り、第4図のの時点に対応している。入力端子のCLK,
INには各々、信号値‘C0',‘0'がセツトされる。そし
て、入力端子CLKにセツトされた信号値‘C0’がゲートg
1に伝播されてゲートg1の信号値は、‘C0’にセツトさ
れるが、ゲートg2へは伝播されず(INが‘0'のため)ゲ
ートg2の信号値は‘0'にセツトされる。従つて、‘C0’
の伝播はそれ以後不要となる。また、ラツチl1の信号値
は‘0'に初期セツトされる。第9図(b)は第4図の
の時点に対応している。クロツクの立上げ後に、外部入
力のセツトにより入力端子INに値‘1'がセツトされ、ゲ
ートシミユレーシヨンによつてイベントがゲートg2に伝
播してゲートg2の値が‘C0’になり、更に、イベントが
ラツチl1に伝播する。そして、次のラツチシミユレーシ
ヨンに於いて、ラツチl1のクロツク端子CK(第1図参
照)の入力値が‘C0’であるが、カレントクロツクと同
じであるため第14図に示したように値‘1'に変換されて
ラツチl1の信号値は‘1'となる。
5図で示した初期設定100の処理を終了した時点での様
子(第8図の第1フイールドのみ)を示したものであ
り、第4図のの時点に対応している。入力端子のCLK,
INには各々、信号値‘C0',‘0'がセツトされる。そし
て、入力端子CLKにセツトされた信号値‘C0’がゲートg
1に伝播されてゲートg1の信号値は、‘C0’にセツトさ
れるが、ゲートg2へは伝播されず(INが‘0'のため)ゲ
ートg2の信号値は‘0'にセツトされる。従つて、‘C0’
の伝播はそれ以後不要となる。また、ラツチl1の信号値
は‘0'に初期セツトされる。第9図(b)は第4図の
の時点に対応している。クロツクの立上げ後に、外部入
力のセツトにより入力端子INに値‘1'がセツトされ、ゲ
ートシミユレーシヨンによつてイベントがゲートg2に伝
播してゲートg2の値が‘C0’になり、更に、イベントが
ラツチl1に伝播する。そして、次のラツチシミユレーシ
ヨンに於いて、ラツチl1のクロツク端子CK(第1図参
照)の入力値が‘C0’であるが、カレントクロツクと同
じであるため第14図に示したように値‘1'に変換されて
ラツチl1の信号値は‘1'となる。
第6図を用いて、前述のステツプ1〜9の詳細な処理手
順を記す。
順を記す。
ステツプ1:相番号mのクロツクの立上げ カレントクロツク125に、第7図(c)に示したような
クロツク相番号m,クロツク反転無しのクロツク信号値を
セツトする。
クロツク相番号m,クロツク反転無しのクロツク信号値を
セツトする。
ステツプ2:外部入力のセツト(図中103) 外部入力(例えば、第1図の外部入力端子IN)はシミユ
レーシヨン実行前に、どのサイクル数のどのクロツク相
番号のときにどのような値になるかの情報(詳細は省
略)があらかじめ設定される。従つて、この情報に基づ
き指定された値が変化した場合に、ラツチ/ゲート接続
テーブル124の対応するエントリのVALにその値をセツト
する。そして、この値を入力とするゲートのテーブル12
4のエントリアドレス、即ち、第7図(a)に示した出
力先アドレスをゲートイベントテーブル(GEVT2)120−
2へ書込む。ゲートイベントテーブルは2面用意し、書
込みは120−2のGETV2に対して行い、これを120−1のG
EVT1に移して読出すものとする。後述するネクストラツ
チイベントテーブルと多重クロツクゲートイベントテー
ブルへの書込みおよび読出しも同様に行うものとする。
なお、2面のうち、書込みと読出しを交互に行うように
制御することも可能である。
レーシヨン実行前に、どのサイクル数のどのクロツク相
番号のときにどのような値になるかの情報(詳細は省
略)があらかじめ設定される。従つて、この情報に基づ
き指定された値が変化した場合に、ラツチ/ゲート接続
テーブル124の対応するエントリのVALにその値をセツト
する。そして、この値を入力とするゲートのテーブル12
4のエントリアドレス、即ち、第7図(a)に示した出
力先アドレスをゲートイベントテーブル(GEVT2)120−
2へ書込む。ゲートイベントテーブルは2面用意し、書
込みは120−2のGETV2に対して行い、これを120−1のG
EVT1に移して読出すものとする。後述するネクストラツ
チイベントテーブルと多重クロツクゲートイベントテー
ブルへの書込みおよび読出しも同様に行うものとする。
なお、2面のうち、書込みと読出しを交互に行うように
制御することも可能である。
なお、第6図に於いて、イベントテーブル内の破線は参
照関係を示し、とは、2面のテーブルのうちどちら
をアクセスするかを示す。
照関係を示し、とは、2面のテーブルのうちどちら
をアクセスするかを示す。
また、各種のイベントテーブルにイベントが書込まれ、
その後、読出されるが、このような場合に用いるイベン
トとは、入力値が変化したゲートあるいはラツチに対応
するテーブル124のエントリのアドレスを意味するもの
とする。
その後、読出されるが、このような場合に用いるイベン
トとは、入力値が変化したゲートあるいはラツチに対応
するテーブル124のエントリのアドレスを意味するもの
とする。
ステツプ3:多重クロツクゲートイベントシミユレーシヨ
ン(図中104) 多重クロツクゲートイベントとは入力値として異なるク
ロツク相番号のクロツク信号値を2個もつゲートイベン
トである。第13図に示したように、例えば、ANDオペレ
ーシヨンに於いて、相番号が異なるクロツク信号値‘−
Cp’と‘Cm’が2つ入力される場合(ここでmはカレン
トクロツクの相番号と同じであり、m≠pとする)、出
力値は‘Cm’となり、‘−Cp’は消えてしまう。このた
め、カレントクロツクの相番号が後でpに切り変つたと
きには値‘−Cp’が出力値に反映されなければならず、
本イベントを以後も保存する必要がある。従つて、この
ように多重クロツクゲートイベントについては特別な処
理を要するため専用に多重クロツクゲートイベントテー
ブル(CEVT1/2)123−1〜2を設ける。
ン(図中104) 多重クロツクゲートイベントとは入力値として異なるク
ロツク相番号のクロツク信号値を2個もつゲートイベン
トである。第13図に示したように、例えば、ANDオペレ
ーシヨンに於いて、相番号が異なるクロツク信号値‘−
Cp’と‘Cm’が2つ入力される場合(ここでmはカレン
トクロツクの相番号と同じであり、m≠pとする)、出
力値は‘Cm’となり、‘−Cp’は消えてしまう。このた
め、カレントクロツクの相番号が後でpに切り変つたと
きには値‘−Cp’が出力値に反映されなければならず、
本イベントを以後も保存する必要がある。従つて、この
ように多重クロツクゲートイベントについては特別な処
理を要するため専用に多重クロツクゲートイベントテー
ブル(CEVT1/2)123−1〜2を設ける。
多重クロツクゲートイベントシミユレーシヨンの処理手
順は以下の通りである。
順は以下の通りである。
(1)CEVT2のイベントをCEVT1に移す。
(2)CEVT1からイベントを取出し、対応する値を読出
す。
す。
(3)ゲートの論理演算を行う。
(4)出力値が変化したら新しい出力値をテーブル124
に書込み、さらに、出力先アドレスをGEVT2へ書込む。
に書込み、さらに、出力先アドレスをGEVT2へ書込む。
(5)入力値に異なるクロツク相番号のクロツク信号値
が2個あれば、再度、本イベントをCEVT2へ書込む。
が2個あれば、再度、本イベントをCEVT2へ書込む。
(6)上記(2)〜(5)の一連の処理をCEVTR1のイベ
ントが空になるまで繰返す。
ントが空になるまで繰返す。
ステツプ4:ゲートイベントシミユレーシヨン(図中の10
5) 第10図にゲートイベントシミユレーシヨンの処理フロー
を示す。まず、120−2のGEVT2のイベントを120−1のG
EVT1へ移す。そして、GEVT1からイベントを取出し、こ
れを基にテーブル124から対応するエントリを読出す。
そして、ラツチイベントとゲートイベントを分離する
(後述するが、一時的にラツチイベントもゲートテーブ
ルイベントに格納される)。ラツチイベントであればラ
ツチ演算処理をしないでそのまま自イベントを121−2
のラツチイベントテーブルLEVT1へ書込む。
5) 第10図にゲートイベントシミユレーシヨンの処理フロー
を示す。まず、120−2のGEVT2のイベントを120−1のG
EVT1へ移す。そして、GEVT1からイベントを取出し、こ
れを基にテーブル124から対応するエントリを読出す。
そして、ラツチイベントとゲートイベントを分離する
(後述するが、一時的にラツチイベントもゲートテーブ
ルイベントに格納される)。ラツチイベントであればラ
ツチ演算処理をしないでそのまま自イベントを121−2
のラツチイベントテーブルLEVT1へ書込む。
ゲートイベントであれば、第1および第2入力先アドレ
スを基にテーブル124から入力値を読出してゲートの論
理演算を行う。そして、出力値が変化すれば、新しい値
をテーブル124に書込み、更に、出力先アドレスをGEVT2
へ書込む。また、出力信号値の変化に関係無く、入力値
に相番号が異なるクロツク信号値が2個ある場合は、自
イベントをCEVT2へ書込む。なお、このCEVT2へ書込まれ
たイベントの処理はその後前述のステツプ3で行われ
る。
スを基にテーブル124から入力値を読出してゲートの論
理演算を行う。そして、出力値が変化すれば、新しい値
をテーブル124に書込み、更に、出力先アドレスをGEVT2
へ書込む。また、出力信号値の変化に関係無く、入力値
に相番号が異なるクロツク信号値が2個ある場合は、自
イベントをCEVT2へ書込む。なお、このCEVT2へ書込まれ
たイベントの処理はその後前述のステツプ3で行われ
る。
GEVT1のイベントが空になると、GEVT2のイベントを調
べ、空であれば処理を終了し、空でなければGEVT2のイ
ベントをGEVT1に移した後、同様の手順で処理を行う。
即ち、GEVT2への新しいイベントの書込みが無くなるま
で繰返すことになるが、これは、ラツチ間の組合せ回路
(ゲートの集り)をイベント駆動方式でシミユレーシヨ
ンして行き、イベントの伝播が全てラツチに到着したこ
とを意味している。なお、このとき、ラツチイベントも
一時的にGEVT2に書込まれるが、前述したようにラツチ
イベントはラツチイベントテーブルLEVT2へはき出され
る。
べ、空であれば処理を終了し、空でなければGEVT2のイ
ベントをGEVT1に移した後、同様の手順で処理を行う。
即ち、GEVT2への新しいイベントの書込みが無くなるま
で繰返すことになるが、これは、ラツチ間の組合せ回路
(ゲートの集り)をイベント駆動方式でシミユレーシヨ
ンして行き、イベントの伝播が全てラツチに到着したこ
とを意味している。なお、このとき、ラツチイベントも
一時的にGEVT2に書込まれるが、前述したようにラツチ
イベントはラツチイベントテーブルLEVT2へはき出され
る。
ステツプ5:ラツチイベントシミユレーシヨン(図中の10
6) 第11図に処理フローを示す。本シミユレーシヨンはネク
ストラツチイベントテーブルNLEVT2に書込まれたイベン
トの処理を行うが、このイベントは次の場合に書込まれ
る。ラツチの論理演算を行う時、第14図に示したよう
に、入力にクロツク信号値がある場合には信号値‘0'あ
るいは‘1'に変換する。そして、変換後の値でラツチの
論理演算を行うが、カレントクロツクの相番号と異なる
クロツク信号値が入力にある場合には、その後も出力信
号値が変り得るのでNLEVT2へ書込み特別に管理する。
6) 第11図に処理フローを示す。本シミユレーシヨンはネク
ストラツチイベントテーブルNLEVT2に書込まれたイベン
トの処理を行うが、このイベントは次の場合に書込まれ
る。ラツチの論理演算を行う時、第14図に示したよう
に、入力にクロツク信号値がある場合には信号値‘0'あ
るいは‘1'に変換する。そして、変換後の値でラツチの
論理演算を行うが、カレントクロツクの相番号と異なる
クロツク信号値が入力にある場合には、その後も出力信
号値が変り得るのでNLEVT2へ書込み特別に管理する。
まず、122−2のNLEVT2のイベントを122−1のNLEVT1へ
移す。そして、NLEVT1からイベントを取出し、これを基
にテーブル124から対応するエントリを読出す。そし
て、第1と第2入力先アドレスをもとにテーブル124か
ら入力値を読出し、入力値がクロツク信号値であれば第
14図に示したように値‘0'あるいは‘1'に変換後、ラツ
チの論理演算を行う。
移す。そして、NLEVT1からイベントを取出し、これを基
にテーブル124から対応するエントリを読出す。そし
て、第1と第2入力先アドレスをもとにテーブル124か
ら入力値を読出し、入力値がクロツク信号値であれば第
14図に示したように値‘0'あるいは‘1'に変換後、ラツ
チの論理演算を行う。
出力値が変化すれば、新しい値をテーブル124に書込
み、更に、出力先アドレスをGEVT2へ書込む。
み、更に、出力先アドレスをGEVT2へ書込む。
次に、出力値が変化しない場合で、かつカレントクロツ
クの相番号と同じクロツク信号値が入力にある場合は自
イベントをLEVT2へ書込む。これは、カレントクロツク
の立上げによつて出力値が変わる可能性があるため、LE
VT2へ書込んでおきステツプ9で再度評価する。次に、
出力値の変化に関係なく、カレントクロツクの相番号と
異なるクロツク信号値が入力にある場合は再び自イベン
トをNLEVT2へ書き込む。
クの相番号と同じクロツク信号値が入力にある場合は自
イベントをLEVT2へ書込む。これは、カレントクロツク
の立上げによつて出力値が変わる可能性があるため、LE
VT2へ書込んでおきステツプ9で再度評価する。次に、
出力値の変化に関係なく、カレントクロツクの相番号と
異なるクロツク信号値が入力にある場合は再び自イベン
トをNLEVT2へ書き込む。
そして、NLEVT1が空になるまで上記一連の処理を繰返し
て終了する。
て終了する。
ステツプ6:ラツチイベントのシミユレーシヨン(図中の
107) ステツプ5で用いた第11図の処理フローと同様である
が、以下の点が異なる。即ち、第11図に於いて、図中の
170と171が不要となり、172〜173のNLEVT1がLEVT1とな
る。
107) ステツプ5で用いた第11図の処理フローと同様である
が、以下の点が異なる。即ち、第11図に於いて、図中の
170と171が不要となり、172〜173のNLEVT1がLEVT1とな
る。
ステツプ7:相番号mのクロツクの立下げ カレントクロツク125に、第7図(c)に示したような
クロツク相番号m,クロツク反転有りのクロツク信号値を
セツトする。
クロツク相番号m,クロツク反転有りのクロツク信号値を
セツトする。
ステツプ8:ゲートシミユレーシヨン(図中の109) ステツプ4で用いた第10図の処理フローと同様である
が、以下の点が異なる。即ち、第10図の156のLEVT1がLE
VT2となる。
が、以下の点が異なる。即ち、第10図の156のLEVT1がLE
VT2となる。
ステツプ9:ラツチシミユレーシヨン(図中の110) 第12図に処理フローを示すが、第11図と基本的に同じで
あり、以下の点が異なる。即ち、第12図ではイベントテ
ーブル間でのイベントの移動がなく、LEVT2から直接イ
ベントを取出す。また、第11図の178と179の処理はカレ
ントクロツクの相番号mの立上げと立下げを終了したの
で不要となる。
あり、以下の点が異なる。即ち、第12図ではイベントテ
ーブル間でのイベントの移動がなく、LEVT2から直接イ
ベントを取出す。また、第11図の178と179の処理はカレ
ントクロツクの相番号mの立上げと立下げを終了したの
で不要となる。
次に、上記ステツプ1〜9のうち、代表的な処理である
ステツプ4のゲートイベントシミユレーシヨンの処理を
ベクトル処理によつて一括高速処理する場合の一実施例
を詳細に説明する。
ステツプ4のゲートイベントシミユレーシヨンの処理を
ベクトル処理によつて一括高速処理する場合の一実施例
を詳細に説明する。
第15図は本発明の一実施例であるハードウエア構成の概
要を示す。図中、1は主記憶、2はスカラ処理装置、3
はベクトル処理装置、4はバツフア記憶、5は命令バツ
フア、6は命令デコーダ、7は演算処理部、7−1は汎
用レジスタ、7−2は浮動小数点レジスタ、8は命令制
御部、8−1は命令バツフア、8−2は命令デコーダ、
9はアクセス制御部、9−1は主記憶1へアクセスする
際のアドレス情報を格納するアドレスレジスタ群、9−
2はロード処理部、9−3はストア処理部、10はベクト
ルレジスタ部、10−1はスカラレジスタ群、10−2はベ
クトルレジスタ群、10−2はマスクレジスタ群、11は演
算処理部、11−1は演算器群、11−2はシミユレーシヨ
ン専用演算器である。
要を示す。図中、1は主記憶、2はスカラ処理装置、3
はベクトル処理装置、4はバツフア記憶、5は命令バツ
フア、6は命令デコーダ、7は演算処理部、7−1は汎
用レジスタ、7−2は浮動小数点レジスタ、8は命令制
御部、8−1は命令バツフア、8−2は命令デコーダ、
9はアクセス制御部、9−1は主記憶1へアクセスする
際のアドレス情報を格納するアドレスレジスタ群、9−
2はロード処理部、9−3はストア処理部、10はベクト
ルレジスタ部、10−1はスカラレジスタ群、10−2はベ
クトルレジスタ群、10−2はマスクレジスタ群、11は演
算処理部、11−1は演算器群、11−2はシミユレーシヨ
ン専用演算器である。
第16図はベクトル命令の処理の流れを示す図であり、第
15図は関連させ処理の流れを説明する。ベクトル命令を
実行するための前処理をスカラ命令を用いて行う。この
前処理としては、汎用レジスタ7−1を介したアドレス
レジスタ群9−1へのアドレス情報のセツト、また、浮
動小数点レジスタ7−2を介したスカラレジスタ群10−
1へのスカラデータのセツト等がある。
15図は関連させ処理の流れを説明する。ベクトル命令を
実行するための前処理をスカラ命令を用いて行う。この
前処理としては、汎用レジスタ7−1を介したアドレス
レジスタ群9−1へのアドレス情報のセツト、また、浮
動小数点レジスタ7−2を介したスカラレジスタ群10−
1へのスカラデータのセツト等がある。
次に、命令デコーダ6がEXVP命令を解読すると、命令制
御部8にベクトル命令列の処理開始の起動をかける。命
令制御8は、EXVP命令で指定されたベクトル命令列をバ
ツフア記憶を介して命令バツフア8−1に読出す。そし
て、命令バツフア8−1からベクトル命令を順次読出し
て命令デコーダ8−2で解読し、主記憶1からのベクト
ルデータの読出し/書込み処理を行うアクセス制御部9,
ベクトルレジスタ,スカラレジスタ,マスクレジスタへ
のデータの書込み/読出しを行うベクトルレジスタ部1
0,ベクトルレジスタ部10から供給されるデータに対して
演算を施す演算処理部11へ必要な解読情報を転送してベ
クトル命令を処理する。
御部8にベクトル命令列の処理開始の起動をかける。命
令制御8は、EXVP命令で指定されたベクトル命令列をバ
ツフア記憶を介して命令バツフア8−1に読出す。そし
て、命令バツフア8−1からベクトル命令を順次読出し
て命令デコーダ8−2で解読し、主記憶1からのベクト
ルデータの読出し/書込み処理を行うアクセス制御部9,
ベクトルレジスタ,スカラレジスタ,マスクレジスタへ
のデータの書込み/読出しを行うベクトルレジスタ部1
0,ベクトルレジスタ部10から供給されるデータに対して
演算を施す演算処理部11へ必要な解読情報を転送してベ
クトル命令を処理する。
なお、ベクトル命令はベクトル処理装置3で実行し、ス
カラ命令はスカラ処理装置2で実行し、ベクトル命令を
ベクトル処理装置3で実行している間に、スカラ処理装
置2は独立にスカラ命令を実行できる。
カラ命令はスカラ処理装置2で実行し、ベクトル命令を
ベクトル処理装置3で実行している間に、スカラ処理装
置2は独立にスカラ命令を実行できる。
第17図は、第15図のハードウエア構成に基づき、前述の
ステツプ4のゲートイベントシミユレーシヨンの処理を
第10図の処理フローに基づきベクトル命令に展開した場
合を示している。図中、1は主記憶、120−1〜2はゲ
ートイベントテーブル、121−1はラツチイベントテー
ブル、123−2は多重クロツクゲートイベントテーブ
ル、124はゲート/ラツチ接続テーブル、OP1〜OP23の各
々はベクトル命令に対応するベクトル演算、VR0〜VR12
はベクトルレジスタ0番〜12番、SR0〜SR1はスカラレジ
スタ0番〜1番、MSR0〜MSR5はマスクレジスタ0番〜5
番である。
ステツプ4のゲートイベントシミユレーシヨンの処理を
第10図の処理フローに基づきベクトル命令に展開した場
合を示している。図中、1は主記憶、120−1〜2はゲ
ートイベントテーブル、121−1はラツチイベントテー
ブル、123−2は多重クロツクゲートイベントテーブ
ル、124はゲート/ラツチ接続テーブル、OP1〜OP23の各
々はベクトル命令に対応するベクトル演算、VR0〜VR12
はベクトルレジスタ0番〜12番、SR0〜SR1はスカラレジ
スタ0番〜1番、MSR0〜MSR5はマスクレジスタ0番〜5
番である。
以下に処理手順に記す。なお、スカラ処理装置2がベク
トル命令前処理(第16図参照)で、スカラレジスタSR0,
SR1へのスカラデータのセツト、および、アドレスレジ
スタ群9−1へのアドレス情報のセツトを済ませ、EXVP
命令によりOR1〜OR23に対応するベクトル命令列の実行
が開始されるものとする。また、処理するベクトルデー
タの要素数、即ち、GEVT1に書込まれているイベントの
数は前もつて計算されており上記EXVP命令で指定される
ものとする。
トル命令前処理(第16図参照)で、スカラレジスタSR0,
SR1へのスカラデータのセツト、および、アドレスレジ
スタ群9−1へのアドレス情報のセツトを済ませ、EXVP
命令によりOR1〜OR23に対応するベクトル命令列の実行
が開始されるものとする。また、処理するベクトルデー
タの要素数、即ち、GEVT1に書込まれているイベントの
数は前もつて計算されており上記EXVP命令で指定される
ものとする。
まず、OP1でゲートイベントテーブル120−1からゲート
イベントのアドレス(即ちテーブル124の中で自ゲート
イベントに対応するエントリアドレス)を主記憶1から
VR0に指定された要素数だけ順次ロードし、OP2とOP3で
このアドレスをインデツクスとしてテーブル124から対
応する機能・フラグ・信号値、第1と第2の入力先アド
レス,出力先アドレスをVR1〜VR2にロードする。
イベントのアドレス(即ちテーブル124の中で自ゲート
イベントに対応するエントリアドレス)を主記憶1から
VR0に指定された要素数だけ順次ロードし、OP2とOP3で
このアドレスをインデツクスとしてテーブル124から対
応する機能・フラグ・信号値、第1と第2の入力先アド
レス,出力先アドレスをVR1〜VR2にロードする。
次に、OP4とOP5で第1と第2入力先アドレスをインデツ
クスとしてテーブル124から第1と第2入力値を各々、V
R3,VR4にロードする。
クスとしてテーブル124から第1と第2入力値を各々、V
R3,VR4にロードする。
また、OP6でVR1の内容を4ビツト左シフト(即ち、第7
図に示したようにラツチオペレーシヨンであることを示
すF No.のビツトが再左端に現われる)してVR5に書込
み、OP7がVR5のデータの最左端(先頭)ビツトを調べ、
‘1'ならばMSROの対応する要素を‘1',‘0'ならばMSRO
の対応する要素を‘0'とするマスク情報を生成する。そ
して、OP8でこのMSROのマスク情報をもとにVR0のゲート
イベントアドレスをラツチイベントテーブル121−1に
圧縮ストアする。なお、ここでの圧縮ストアとは、MSRO
で‘1'となつている要素に対応するVSROのゲートイベン
トアドレスのみを主記憶1に規則的に圧縮してストアす
ることである。従つて、OP8でラツチイベントのみが
(前述したように一時的にラツチイベントがゲートイベ
ントテーブルに格納される)ラツチイベントテーブル12
1−1にストアできる。
図に示したようにラツチオペレーシヨンであることを示
すF No.のビツトが再左端に現われる)してVR5に書込
み、OP7がVR5のデータの最左端(先頭)ビツトを調べ、
‘1'ならばMSROの対応する要素を‘1',‘0'ならばMSRO
の対応する要素を‘0'とするマスク情報を生成する。そ
して、OP8でこのMSROのマスク情報をもとにVR0のゲート
イベントアドレスをラツチイベントテーブル121−1に
圧縮ストアする。なお、ここでの圧縮ストアとは、MSRO
で‘1'となつている要素に対応するVSROのゲートイベン
トアドレスのみを主記憶1に規則的に圧縮してストアす
ることである。従つて、OP8でラツチイベントのみが
(前述したように一時的にラツチイベントがゲートイベ
ントテーブルに格納される)ラツチイベントテーブル12
1−1にストアできる。
引続いて、OP9とOP10により、最終的にVR7の左4Bに機能
・フラグ・信号値、右4BにSR0のカレントクロツクをセ
ツトし、OP11とOP12により、最終的にVR9の左4Bに第1
入力値、右4Bに第2入力値をセツトする。そして、上記
でセツトしたVR7とVR9のデータを用いてOP13でゲート演
算をし、結果をVR10へセツトする。
・フラグ・信号値、右4BにSR0のカレントクロツクをセ
ツトし、OP11とOP12により、最終的にVR9の左4Bに第1
入力値、右4Bに第2入力値をセツトする。そして、上記
でセツトしたVR7とVR9のデータを用いてOP13でゲート演
算をし、結果をVR10へセツトする。
なお、このゲート演算は本発明の特徴であるシミユレー
シヨン専用演算器で実行するが、この演算器については
後で詳細に説明する。
シヨン専用演算器で実行するが、この演算器については
後で詳細に説明する。
次に、OP14〜OP17を用いて最終的に、出力値が変化し、
かつ、ゲートイベント(ゲート演算をした真のゲートイ
ベント)である要素に対応したマスクが‘1'、その他の
場合のマスクが‘0'となるマスク情報をMSR3にセツトす
る。そしてOP18で、このMSR3のマスク情報をもとに、VR
0のゲートイベントアドレスをインデツクスとしてVR10
の左4Bにセツトした機能・フラグ・信号値(変化した新
しい値)をテーブル124にストアする。なお、マスクの
値が‘0'に対応した要素のストアは抑止する。次に、OP
19で、MSR3のマスク情報をもとに、VR2の右4Bの出力先
アドレスをゲートイベントテーブル120−2に圧縮スト
アする。
かつ、ゲートイベント(ゲート演算をした真のゲートイ
ベント)である要素に対応したマスクが‘1'、その他の
場合のマスクが‘0'となるマスク情報をMSR3にセツトす
る。そしてOP18で、このMSR3のマスク情報をもとに、VR
0のゲートイベントアドレスをインデツクスとしてVR10
の左4Bにセツトした機能・フラグ・信号値(変化した新
しい値)をテーブル124にストアする。なお、マスクの
値が‘0'に対応した要素のストアは抑止する。次に、OP
19で、MSR3のマスク情報をもとに、VR2の右4Bの出力先
アドレスをゲートイベントテーブル120−2に圧縮スト
アする。
引続いて、OP20〜OP23を用いて、最終的に、入力にクロ
ツク信号値が2個あり、かつ、ゲートイベント(ゲート
演算をした真のゲートイベント)である場合に対応する
要素の、VR0のゲートイベントアドレスのみを、多重ク
ロツクゲートイベントテーブル123−2へ圧縮ストアす
る。以上でOP1〜OP23に対応したベクトル命令列の処理
が終了する。
ツク信号値が2個あり、かつ、ゲートイベント(ゲート
演算をした真のゲートイベント)である場合に対応する
要素の、VR0のゲートイベントアドレスのみを、多重ク
ロツクゲートイベントテーブル123−2へ圧縮ストアす
る。以上でOP1〜OP23に対応したベクトル命令列の処理
が終了する。
第18図はシミユレーシヨン専用演算器の構成図である。
図中、300,301,307〜312,317はレジスタ、302はゲート
演算回路、303〜304は信号値変換回路、305はラツチ演
算回路、306はフラグ(FL0〜2)作成回路、313,316はセ
レクタ、314は比較回路、315はANDゲートである。2つ
のベクトルレジスタVRからデータをパイプライン制御に
基づき順次読出して入力レジスタにセツトする。レジス
タ300のうち、、FNは第7図(e)で示した機能、FLは
第7図(d)で示したフラグ、VALは第7図(c)で示
した信号値、CCは第7図(c)で示したクロツク信号値
と同一形式で表現されるカレントクロツクであり、ま
た、レジスタ301の第1入力値,第2入力値はともに第
7図(c)で示した信号値と同一形式で表現されるもの
とする。ゲート演算回路302へは第1入力値,第2入力
値,カレントクロツクCC,機能FNのうちFN1〜3を入力
し、FN1〜3で指定されるオペレーシヨンを行い、結果
(即ちゲートの出力値)を第7図(c)で示した信号値
と同一形式でレジスタ310に出力する。基本的なオペレ
ーシヨンの例としては第13図に示したようなものがあ
る。
図中、300,301,307〜312,317はレジスタ、302はゲート
演算回路、303〜304は信号値変換回路、305はラツチ演
算回路、306はフラグ(FL0〜2)作成回路、313,316はセ
レクタ、314は比較回路、315はANDゲートである。2つ
のベクトルレジスタVRからデータをパイプライン制御に
基づき順次読出して入力レジスタにセツトする。レジス
タ300のうち、、FNは第7図(e)で示した機能、FLは
第7図(d)で示したフラグ、VALは第7図(c)で示
した信号値、CCは第7図(c)で示したクロツク信号値
と同一形式で表現されるカレントクロツクであり、ま
た、レジスタ301の第1入力値,第2入力値はともに第
7図(c)で示した信号値と同一形式で表現されるもの
とする。ゲート演算回路302へは第1入力値,第2入力
値,カレントクロツクCC,機能FNのうちFN1〜3を入力
し、FN1〜3で指定されるオペレーシヨンを行い、結果
(即ちゲートの出力値)を第7図(c)で示した信号値
と同一形式でレジスタ310に出力する。基本的なオペレ
ーシヨンの例としては第13図に示したようなものがあ
る。
信号値変換回路303,304へは、各々第1入力値,第2入
力値と、カレントクロツクCCを入力し、第14図で示した
ように、クロツク信号値をもつ入力値を信号値‘0'ある
いは‘1'に変換してラツチ演算回路305へ出力する。ラ
ツチ演算回路311は変換回路303,304の出力とFN1〜3を入
力し、FN1〜3で指定されるオペレーシヨンを行い、結果
(即ちゲートの出力値)を第7図(c)で示した信号値
と同一形式でレジスタ311に出力する。
力値と、カレントクロツクCCを入力し、第14図で示した
ように、クロツク信号値をもつ入力値を信号値‘0'ある
いは‘1'に変換してラツチ演算回路305へ出力する。ラ
ツチ演算回路311は変換回路303,304の出力とFN1〜3を入
力し、FN1〜3で指定されるオペレーシヨンを行い、結果
(即ちゲートの出力値)を第7図(c)で示した信号値
と同一形式でレジスタ311に出力する。
フラグ作成回路306は、フラグのFN0〜2を作成する回路
であり、第1,第2入力値とカレントクロツクCCを入力
し、第7図(d)に示したように値を決定し、結果をレ
ジスタ312へ出力する。
であり、第1,第2入力値とカレントクロツクCCを入力
し、第7図(d)に示したように値を決定し、結果をレ
ジスタ312へ出力する。
また、FN0〜3,FL3,VAL0〜7を、各々、レジスタ307〜3
09へセツトする。以上がステージ1の処理であり、ステ
ージ2の処理は以下のようになる。セレクタ313によ
り、レジスタ307の先頭ビツト(即ち、‘1'の時ラツチ
オペレーシヨン、‘0'のときゲートオペレーシヨン)の
値を選択信号として、レジスタ310にセツトされたゲー
トの出力値とレジスタ311にセツトされたラツチの出力
値のどちらか一方を選択して比較回路314に入力し、ま
た、比較回路314のもう一方の入力に、レジスタ309にセ
ツトされた演算前の信号値(出力値)を入力し、両者の
値を比較して不一致ならば‘1'をANDゲート315へ出力す
る。ANDゲート315のもう一方の入力にはレジスタ308の
値(即ち、信号値の更新の可/否を指定し、‘1'のとき
更新可、‘0'のとき更新不可)を入力し、両者の値が共
に‘1'であれば、ANDゲート315から‘1'を出力し、セレ
クタ316を介してセレクタ313から出力される演算後の新
しい信号値を317のVALへセツトする。両者の値が共に
‘1'でなければ、レジスタ309へセツトされている演算
前の信号値をレジスタ317のVALへセツトする。並行し
て、レジスタ307,308,312の値を各々、そのままレジス
タ317のFN,FL,FL3,FL0-2へセツトし、また、ANDゲート
315の出力をFLのFL4にセツトする。なお、フラグFL3の
使用目的は、論理回路の中のある特定の素子を入力値に
関係なく特定の値に設定したいような処理(例えば、論
理の診断シミユレーシヨン等)のためである。本演算器
の実施例では2つのステージに分割した場合を示した
が、これに限ることはない。一般的には多数のステージ
に分割して各ステージ毎にパイプライン処理が可能なよ
うに構成することが望ましい。
09へセツトする。以上がステージ1の処理であり、ステ
ージ2の処理は以下のようになる。セレクタ313によ
り、レジスタ307の先頭ビツト(即ち、‘1'の時ラツチ
オペレーシヨン、‘0'のときゲートオペレーシヨン)の
値を選択信号として、レジスタ310にセツトされたゲー
トの出力値とレジスタ311にセツトされたラツチの出力
値のどちらか一方を選択して比較回路314に入力し、ま
た、比較回路314のもう一方の入力に、レジスタ309にセ
ツトされた演算前の信号値(出力値)を入力し、両者の
値を比較して不一致ならば‘1'をANDゲート315へ出力す
る。ANDゲート315のもう一方の入力にはレジスタ308の
値(即ち、信号値の更新の可/否を指定し、‘1'のとき
更新可、‘0'のとき更新不可)を入力し、両者の値が共
に‘1'であれば、ANDゲート315から‘1'を出力し、セレ
クタ316を介してセレクタ313から出力される演算後の新
しい信号値を317のVALへセツトする。両者の値が共に
‘1'でなければ、レジスタ309へセツトされている演算
前の信号値をレジスタ317のVALへセツトする。並行し
て、レジスタ307,308,312の値を各々、そのままレジス
タ317のFN,FL,FL3,FL0-2へセツトし、また、ANDゲート
315の出力をFLのFL4にセツトする。なお、フラグFL3の
使用目的は、論理回路の中のある特定の素子を入力値に
関係なく特定の値に設定したいような処理(例えば、論
理の診断シミユレーシヨン等)のためである。本演算器
の実施例では2つのステージに分割した場合を示した
が、これに限ることはない。一般的には多数のステージ
に分割して各ステージ毎にパイプライン処理が可能なよ
うに構成することが望ましい。
以上説明したように、本発明によれば、クロツク同期・
遅延時間ゼロのイベント駆動方式に基づく論理シミユレ
ーシヨン処理に於いて、クロツク信号の立上り/立下り
に伴つて発生するイベントのうち、実際の論理動作に影
響を与えない無効なイベント発生を極力抑止させること
によつて、さらに、上記の論理シミユレーシヨン処理を
高度にベクトル処理化し、論理シミユレーシヨン特有の
処理部分を専用に行う専用ベクトル命令を新設して既存
ベクトル命令列に混在させて処理させることによつて、
論理シミユレーシヨンを効率良く高速化することが可能
であり、汎用プロセツサ(スカラプロセツサ)を利用す
る現存のソフトウエア論理シミユレーシヨンよりもはる
かに早いシミユレーシヨン速度を実現できる。
遅延時間ゼロのイベント駆動方式に基づく論理シミユレ
ーシヨン処理に於いて、クロツク信号の立上り/立下り
に伴つて発生するイベントのうち、実際の論理動作に影
響を与えない無効なイベント発生を極力抑止させること
によつて、さらに、上記の論理シミユレーシヨン処理を
高度にベクトル処理化し、論理シミユレーシヨン特有の
処理部分を専用に行う専用ベクトル命令を新設して既存
ベクトル命令列に混在させて処理させることによつて、
論理シミユレーシヨンを効率良く高速化することが可能
であり、汎用プロセツサ(スカラプロセツサ)を利用す
る現存のソフトウエア論理シミユレーシヨンよりもはる
かに早いシミユレーシヨン速度を実現できる。
第1図は論理回路の例を示す図、第2図はクロツク信号
のタイムチヤート図、第3図は第1図の論理回路を従来
のシミユレーシヨン方式で行つた場合のイベント発生状
況図、第4図は本発明の特徴であるクロツクイベント抑
止を行つた場合のイベント発生状況部、第5図,第6図
は本発明に基づくシミユレーシヨン処理を説明するため
の概略処理フロー図、第7(a)〜(e)図は、本発明
で用いるゲート/ラツチ接続テーブルの各構成要素の例
を示す図、第8図,第9(a)〜(b)図は、第1図の
論理回例に対応するゲート/クラツチ接続テーブルを示
す図、第10図は第5図に示す本発明に基づくシミユレー
シヨン処理のうち、ゲートイベントの詳細な処理フロー
図、第11〜第12図はラツチイベントの詳細な処理フロー
図、第13図は本発明の特徴であるクロツク信号値を用い
たゲート演算例を示す図、第14図は本発明の特徴である
クロツク信号値を用いたラツチ演算の前処理で行う入力
値変換を示す図、第15図は本発明の論理シミユレーシヨ
ン装置の一実施例を示す構成図、第16図は第15図の構成
に基づく一般的なベクトル処理の流れ図、第17−1図,
第17−2図は組み合わさつて第15図の構成に基づいて第
10図のゲートイベントの詳細な処理フローをベクトル命
令に展開した図、第18図は本発明の特徴であるシミユレ
ーシヨン専用演算器の構成図である。
のタイムチヤート図、第3図は第1図の論理回路を従来
のシミユレーシヨン方式で行つた場合のイベント発生状
況図、第4図は本発明の特徴であるクロツクイベント抑
止を行つた場合のイベント発生状況部、第5図,第6図
は本発明に基づくシミユレーシヨン処理を説明するため
の概略処理フロー図、第7(a)〜(e)図は、本発明
で用いるゲート/ラツチ接続テーブルの各構成要素の例
を示す図、第8図,第9(a)〜(b)図は、第1図の
論理回例に対応するゲート/クラツチ接続テーブルを示
す図、第10図は第5図に示す本発明に基づくシミユレー
シヨン処理のうち、ゲートイベントの詳細な処理フロー
図、第11〜第12図はラツチイベントの詳細な処理フロー
図、第13図は本発明の特徴であるクロツク信号値を用い
たゲート演算例を示す図、第14図は本発明の特徴である
クロツク信号値を用いたラツチ演算の前処理で行う入力
値変換を示す図、第15図は本発明の論理シミユレーシヨ
ン装置の一実施例を示す構成図、第16図は第15図の構成
に基づく一般的なベクトル処理の流れ図、第17−1図,
第17−2図は組み合わさつて第15図の構成に基づいて第
10図のゲートイベントの詳細な処理フローをベクトル命
令に展開した図、第18図は本発明の特徴であるシミユレ
ーシヨン専用演算器の構成図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ▲高▼嶺 美夫 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 長島 重夫 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 三善 正之 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (72)発明者 風間 芳春 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (72)発明者 木下 佳明 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内
Claims (5)
- 【請求項1】計算機を用いて論理回路を論理的にシミュ
レートとする論理シミュレーション方法において、 前記論理回路を構成する複数の素子のそれぞれに対応し
て、前記複数の素子の出力信号値が周期的に変化するク
ロック信号i(i=0,1,…n)である場合に、前記出力
信号値をクロック信号値‘Ci'と表現し保持することを
特徴とする論理シミュレーション方法。 - 【請求項2】請求項1に記載された論理シミュレーショ
ン方法において、 (1)前記各素子に対応した論理動作を表す機能、出力
値、前記各素子間の入出力の接続状況、および、前記各
素子のうち入力信号値が変化した素子を示すイベントを
保持し、 (2)前記イベントに基づいて、前記接続状態から入力
先素子、出力先素子、機能、および、出力値を読み出
し、 (3)前記ステップ(2)で読み出された前記入力先素
子に基づいて前記接続状況から前記イベントの入力信号
値を読み出し、 (4)前記ステップ(3)で読み出された前記入力信号
値、前記クロック信号値、および、前記ステップ(2)
で読み出された前記機能に基づいて新しい出力信号値を
求め、 (5)前記ステップ(2)で読み出された出力信号値
と、前記ステップ(4)で読み出された出力信号値とを
比較し、 (6)前記ステップ(5)の比較結果に基づいて、前記
ステップ(2)で読み出された前記出力先素子をイベン
トとして前記イベントに書き込み、 (7)前記ステップ(5)の比較結果に基づいて、前記
ステップ(4)で求められた信号値を前記イベントに対
応する前記出力信号値に書き込むことを特徴とする論理
シミュレーション方法。 - 【請求項3】請求項1に記載された論理シミュレーショ
ン方法において、 前記論理回路が、フリップフロップ、または、ラッチを
有し、前記フリップフロップ、または、ラッチのセット
/リセット条件にクロック信号iを用いたクロック同期
回路であって、前記フリップフロップ、または、ラッチ
で囲まれる組み合わせ回路の素子の遅延時間をゼロに設
定して論理的にシミュレートすることを特徴とする論理
シミュレーション方法。 - 【請求項4】複数の論理ゲートを有する組み合わせ回路
を含み、少なくとも1つの入力信号と、異なった位相の
複数のクロック信号とが入力されるクロック同期回路で
あって、 前記複数のクロック信号の立ち上がりまたは立ち下がり
に同期して前記組み合わせ回路の出力信号値を保持する
複数のラッチを有するクロック同期回路における、前記
少なくとも1つのラッチの出力の変化を計算機を用いて
計算する論理シミュレーション方法において、 (1)前記複数のクロック信号の極性および位相を決定
し、前記入力信号の初期値、前記複数の論理ゲートのそ
れぞれの論理的な機能、および、前記複数の論理ゲート
のそれぞれと他の論理ゲートまたは複数のクロック信号
源との接続情報とに基づいて、前記複数の論理ゲートの
出力信号値をそれぞれ0、1、複数のクロック信号値の
いずれか1つに決定し、 (2)第1相のクロック信号の立ち上がりまたは立ち下
がりに同期する前記複数の論理ゲートのそれぞれの出力
信号値を計算し、その際、複数のクロック信号の立ち上
がりまたは立ち下がり時に対応する複数のサンプリング
時刻中の今回のサンプリング時刻と、前回のサンプリン
グ時刻との間に前記入力信号が変化したかどうかを判定
し、かつ、前記入力信号の変化により影響される可能性
がある論理ゲートのそれぞれについて前記出力信号値を
計算し、 (3)前記複数のサンプリング時刻のそれぞれにおける
前記少なくとも1つのラッチの出力を、前記少なくとも
1つのラッチに入力される前記ステップ(2)で計算さ
れた少なくとも1つの論理ゲートの出力信号値から計算
し、その際、前記出力信号値が、前記複数のクロック信
号値の1つである場合に、今回のサンプリング時刻にお
けるクロック信号に基づいて、前記出力信号値を0また
は1の値に変換し、かつ、前記少なくとも1つのラッチ
の機能に基づき、前記少なくとも1つのラッチの出力を
計算し、 (4)異なる位相のクロック信号にそれぞれ応答して、
前記ステップ(2)およびステップ(3)を繰り返し、 (5)さらに、複数のマシンサイクルにわたって、前記
ステップ(1)、ステップ(2)およびステップ(3)
を繰り返すことを特徴とする論理シミュレーション方
法。 - 【請求項5】請求項4に記載された論理シミュレーショ
ン方法において、 前記ステップ(2)は、さらに、 (5)前記入力信号が与えられる前記複数の論理ゲート
の第1の論理ゲートの出力信号値を計算し、かつ、当該
出力信号値を前回のサンプリング時刻に計算された出力
信号値と比較し、 (6)前記ステップ(5)の比較結果として不一致が検
出された場合に、 前記第1の論理ゲートの出力信号値が入力として与えら
れる前記複数の論理ゲートの第2の論理ゲートの出力信
号値を計算し、かつ、当該出力信号値を前回のサンプリ
ング時刻に計算された出力信号値と比較し、 (7)前記ステップ(6)の比較結果として不一致が検
出された場合に、 前記第2の論理ゲートの出力信号値が入力として与えら
れる前記複数の論理ゲートの第3の論理ゲートの出力信
号値を計算し、かつ、当該出力信号値を前回のサンプリ
ング時刻に計算された出力信号値と比較し、 (8)前記ステップ(7)の比較結果として不一致が検
出される度に、次の前記論理ゲートに対する同様な処理
を続けて実行し、 (9)前記ステップ(5),(6)および(7)のそれ
ぞれの比較の際に不一致が検出されなかった場合に、前
記ステップ(6),(7)および(8)の実行を中断す
ることを特徴とする論理シミュレーション方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27676185A JPH0743733B2 (ja) | 1985-12-11 | 1985-12-11 | 論理シミュレーション方法 |
US06/940,539 US4899273A (en) | 1985-12-11 | 1986-12-10 | Circuit simulation method with clock event suppression for debugging LSI circuits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27676185A JPH0743733B2 (ja) | 1985-12-11 | 1985-12-11 | 論理シミュレーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62137663A JPS62137663A (ja) | 1987-06-20 |
JPH0743733B2 true JPH0743733B2 (ja) | 1995-05-15 |
Family
ID=17573981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27676185A Expired - Lifetime JPH0743733B2 (ja) | 1985-12-11 | 1985-12-11 | 論理シミュレーション方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4899273A (ja) |
JP (1) | JPH0743733B2 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2809631B2 (ja) * | 1987-09-22 | 1998-10-15 | 株式会社東芝 | 回路ネット抽出方法 |
US6304987B1 (en) * | 1995-06-07 | 2001-10-16 | Texas Instruments Incorporated | Integrated test circuit |
US5483518A (en) | 1992-06-17 | 1996-01-09 | Texas Instruments Incorporated | Addressable shadow port and protocol for serial bus networks |
US5056094A (en) * | 1989-06-09 | 1991-10-08 | Texas Instruments Incorporated | Delay fault testing method and apparatus |
JP3005250B2 (ja) * | 1989-06-30 | 2000-01-31 | テキサス インスツルメンツ インコーポレイテツド | バスモニター集積回路 |
EP1187043A2 (en) * | 1990-01-29 | 2002-03-13 | Fujitsu Limited | Gate addressing system for logic simulation machine |
US6675333B1 (en) | 1990-03-30 | 2004-01-06 | Texas Instruments Incorporated | Integrated circuit with serial I/O controller |
JP2781081B2 (ja) * | 1991-06-12 | 1998-07-30 | 株式会社日立製作所 | 並列演算機構による論理演算方法 |
EP0600608B1 (en) * | 1992-10-29 | 1999-12-22 | Altera Corporation | Design verification method for programmable logic design |
US5694579A (en) * | 1993-02-18 | 1997-12-02 | Digital Equipment Corporation | Using pre-analysis and a 2-state optimistic model to reduce computation in transistor circuit simulation |
US5566097A (en) * | 1993-03-05 | 1996-10-15 | International Business Machines Corporation | System for optimal electronic debugging and verification employing scheduled cutover of alternative logic simulations |
US5345450A (en) * | 1993-03-26 | 1994-09-06 | Vlsi Technology, Inc. | Method of compressing and decompressing simulation data for generating a test program for testing a logic device |
US5680583A (en) * | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
US5548797A (en) * | 1994-10-03 | 1996-08-20 | International Business Machines Corporation | Digital clock pulse positioning circuit for delaying a signal input by a fist time duration and a second time duration to provide a positioned clock signal |
US5721695A (en) * | 1994-10-17 | 1998-02-24 | Advanced Micro Devices, Inc. | Simulation by emulating level sensitive latches with edge trigger latches |
US5630100A (en) * | 1994-10-17 | 1997-05-13 | Advanced Micro Devices, Inc. | Simulating multi-phase clock designs using a single clock edge based system |
US5969538A (en) | 1996-10-31 | 1999-10-19 | Texas Instruments Incorporated | Semiconductor wafer with interconnect between dies for testing and a process of testing |
US5886904A (en) * | 1996-09-23 | 1999-03-23 | Quickturn Design Systems, Inc. | Latch optimization in hardware logic emulation systems |
US6195628B1 (en) | 1997-03-13 | 2001-02-27 | International Business Machines Corporation | Waveform manipulation in time warp simulation |
US5970240A (en) * | 1997-06-25 | 1999-10-19 | Quickturn Design Systems, Inc. | Method and apparatus for configurable memory emulation |
US6408413B1 (en) | 1998-02-18 | 2002-06-18 | Texas Instruments Incorporated | Hierarchical access of test access ports in embedded core integrated circuits |
US6405335B1 (en) | 1998-02-25 | 2002-06-11 | Texas Instruments Incorporated | Position independent testing of circuits |
US7058862B2 (en) * | 2000-05-26 | 2006-06-06 | Texas Instruments Incorporated | Selecting different 1149.1 TAP domains from update-IR state |
US6728915B2 (en) | 2000-01-10 | 2004-04-27 | Texas Instruments Incorporated | IC with shared scan cells selectively connected in scan path |
US6769080B2 (en) | 2000-03-09 | 2004-07-27 | Texas Instruments Incorporated | Scan circuit low power adapter with counter |
US20030018462A1 (en) * | 2001-07-16 | 2003-01-23 | Liang T. Chen | Multi-clock system simulation |
US8036873B2 (en) * | 2005-02-28 | 2011-10-11 | Synopsys, Inc. | Efficient clock models and their use in simulation |
US7555424B2 (en) | 2006-03-16 | 2009-06-30 | Quickturn Design Systems, Inc. | Method and apparatus for rewinding emulated memory circuits |
US8837657B1 (en) * | 2012-07-18 | 2014-09-16 | Cypress Semiconductor Corporation | Multi-phase sampling circuits and methods |
DK3105718T3 (da) * | 2014-02-12 | 2020-08-03 | Microsoft Technology Licensing Llc | Forbedret kredsløb til kemisimulering |
US10755014B2 (en) * | 2018-03-14 | 2020-08-25 | Montana Systems Inc. | Event-driven design simulation |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2159150A1 (ja) * | 1972-11-30 | 1973-06-15 | Materiel Telephonique | |
US3961250A (en) * | 1974-05-08 | 1976-06-01 | International Business Machines Corporation | Logic network test system with simulator oriented fault test generator |
JPS55153054A (en) * | 1979-05-15 | 1980-11-28 | Hitachi Ltd | Logic circuit simulation system |
US4306286A (en) * | 1979-06-29 | 1981-12-15 | International Business Machines Corporation | Logic simulation machine |
US4635218A (en) * | 1983-05-09 | 1987-01-06 | Valid Logic Systems | Method for simulating system operation of static and dynamic circuit devices |
FR2568015B1 (fr) * | 1984-07-18 | 1986-08-08 | Commissariat Energie Atomique | Systeme de test de la defaillance ou du bon fonctionnement d'un circuit a composants logiques |
US4654851A (en) * | 1984-12-24 | 1987-03-31 | Rockwell International Corporation | Multiple data path simulator |
JPS61226844A (ja) * | 1985-03-30 | 1986-10-08 | Nec Corp | 論理回路のシミユレ−シヨン制御方法 |
-
1985
- 1985-12-11 JP JP27676185A patent/JPH0743733B2/ja not_active Expired - Lifetime
-
1986
- 1986-12-10 US US06/940,539 patent/US4899273A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US4899273A (en) | 1990-02-06 |
JPS62137663A (ja) | 1987-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0743733B2 (ja) | 論理シミュレーション方法 | |
JPH10232779A (ja) | 命令並列処理方法及び装置 | |
US5265258A (en) | Partial-sized priority encoder circuit having look-ahead capability | |
JPH0412503B2 (ja) | ||
JPH0444970B2 (ja) | ||
JPS6381567A (ja) | 論理シミユレ−シヨン処理装置 | |
JPH04233040A (ja) | コンピュータプログラム実行シミュレーションシステム | |
JPH07104784B2 (ja) | デジタルデータ処理装置 | |
Reichenbach et al. | RISC-V3: A RISC-V compatible CPU with a data path based on redundant number systems | |
Reaz et al. | A single clock cycle MIPS RISC processor design using VHDL | |
US5265204A (en) | Method and apparatus for bit operational process | |
TW202403544A (zh) | 向量擷取及合併指令 | |
JPH0363092B2 (ja) | ||
Rani et al. | Novel design of 32-bit asynchronous (RISC) microprocessor & its implementation on FPGA | |
EP0936537A1 (en) | Cyclic redundancy check in a computer system | |
EP0374598A2 (en) | Control store addressing from multiple sources | |
JPH02176938A (ja) | 機械語命令最適化方式 | |
JPS59211146A (ja) | スキヤンイン方法 | |
JPS6311715B2 (ja) | ||
JPS60140441A (ja) | 論理シミユレ−シヨン処理装置 | |
Maurer | Optimization of the Parallel Technique for Compiled Unit-Delay Simulation. | |
JPH1173301A (ja) | 情報処理装置 | |
Arsenin | Architectural choices for the Columbia 0.8 Teraflops machine | |
JP2667810B2 (ja) | ベクトル処理装置 | |
Siers | Design and implementation of an asynchronous version of the MIPS R3000 microprocessor |