JPS5969861A - デイジタル回路シミユレ−シヨン装置 - Google Patents
デイジタル回路シミユレ−シヨン装置Info
- Publication number
- JPS5969861A JPS5969861A JP57180931A JP18093182A JPS5969861A JP S5969861 A JPS5969861 A JP S5969861A JP 57180931 A JP57180931 A JP 57180931A JP 18093182 A JP18093182 A JP 18093182A JP S5969861 A JPS5969861 A JP S5969861A
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- circuit
- digital circuit
- circuit diagram
- 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
- 238000010586 diagram Methods 0.000 claims abstract description 145
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000004088 simulation Methods 0.000 claims abstract description 38
- 238000003860 storage Methods 0.000 claims abstract description 34
- 230000015654 memory Effects 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000000717 retained effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 19
- 230000008569 process Effects 0.000 abstract description 11
- 230000008878 coupling Effects 0.000 abstract description 9
- 238000010168 coupling process Methods 0.000 abstract description 9
- 238000005859 coupling reaction Methods 0.000 abstract description 9
- 238000013461 design Methods 0.000 abstract description 7
- 230000004044 response Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- WUBBRNOQWQTFEX-UHFFFAOYSA-N 4-aminosalicylic acid Chemical compound NC1=CC=C(C(O)=O)C(O)=C1 WUBBRNOQWQTFEX-UHFFFAOYSA-N 0.000 description 1
- 241001455214 Acinonyx jubatus Species 0.000 description 1
- 241000238413 Octopus Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 125000001475 halogen functional group Chemical group 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 231100000957 no side effect Toxicity 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- AHLBNYSZXLDEJQ-FWEHEUNISA-N orlistat Chemical compound CCCCCCCCCCC[C@H](OC(=O)[C@H](CC(C)C)NC=O)C[C@@H]1OC(=O)[C@H]1CCCCCC AHLBNYSZXLDEJQ-FWEHEUNISA-N 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 210000002784 stomach Anatomy 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
この発明はディジタル回路シミュレーション装置に関し
、特に、回路図に表現されたディジタル回路の論理また
は応答波形動作を計算してそのディジタル回路のシミュ
レーションを行なうような新規なシミュレーション装置
に関する。
、特に、回路図に表現されたディジタル回路の論理また
は応答波形動作を計算してそのディジタル回路のシミュ
レーションを行なうような新規なシミュレーション装置
に関する。
最近では、超LSIによって$J雑なディジタル回路を
集積化することにより、生産コストに対する性能性が以
航より比較的改善されてきている。
集積化することにより、生産コストに対する性能性が以
航より比較的改善されてきている。
ディジタル回路を超LSIによって集積化すると、Mf
[ffの小形化およびコストの低下を図ることができる
が、超LSI化するにあたって欠点がないわ(〕ではな
い。ず<fわら、超LSIによって回路集積度を向上し
てもその技術変化への対応力には限度があり、開光設計
から製造に至るまでに要する期間が長くなり、また設計
誤りを検出し訂正することが非常に困難になってきてい
る。設計誤りが存在した場合、以前にも増して多大の経
済的損失を伴うので、開発段階のできるだけ早い時期に
設計の検証を行なうことが望まれる。とりわけ、システ
ムの論理機OLを初期段階で完全に検証することが車装
である。なぜならば、設計の後期段階で論1!I!誤り
が児つかった場合、相当量無駄な物理曲回FQ11を必
要とするからである。
[ffの小形化およびコストの低下を図ることができる
が、超LSI化するにあたって欠点がないわ(〕ではな
い。ず<fわら、超LSIによって回路集積度を向上し
てもその技術変化への対応力には限度があり、開光設計
から製造に至るまでに要する期間が長くなり、また設計
誤りを検出し訂正することが非常に困難になってきてい
る。設計誤りが存在した場合、以前にも増して多大の経
済的損失を伴うので、開発段階のできるだけ早い時期に
設計の検証を行なうことが望まれる。とりわけ、システ
ムの論理機OLを初期段階で完全に検証することが車装
である。なぜならば、設計の後期段階で論1!I!誤り
が児つかった場合、相当量無駄な物理曲回FQ11を必
要とするからである。
このような回路検証のために、従来より汎用コンピュー
タを利用した回路シミュレーション方法がある。しかし
ながら、前述のごとく集積度が向上して、システムに含
まれる素子数が飛踵的に増加すると、汎用コンピュータ
を利用した方法ではプログラミングおよび実行処理に限
界が生じつつある。すなわち、検証しようとするシステ
ムが大規模になるにしたがって、検証に必要とするプロ
グラム閤、記憶容量、計算時間が大幅に増大づるからで
ある。これは、主として対象どなる論理回路の動作が並
列的であり、同時に回路の各部の入出力状態が変化する
のに対して、汎用コンピュータにおいては並列的な動作
をノイマン型の逐次的な処理に展開しなくてはならない
ことに起因する。
タを利用した回路シミュレーション方法がある。しかし
ながら、前述のごとく集積度が向上して、システムに含
まれる素子数が飛踵的に増加すると、汎用コンピュータ
を利用した方法ではプログラミングおよび実行処理に限
界が生じつつある。すなわち、検証しようとするシステ
ムが大規模になるにしたがって、検証に必要とするプロ
グラム閤、記憶容量、計算時間が大幅に増大づるからで
ある。これは、主として対象どなる論理回路の動作が並
列的であり、同時に回路の各部の入出力状態が変化する
のに対して、汎用コンピュータにおいては並列的な動作
をノイマン型の逐次的な処理に展開しなくてはならない
ことに起因する。
このような問題点を解消Jるために、並列処理方式ある
いはパイプライン方式によるハードウェア構成が提案さ
れ、これによって実行処理時間を短縮化することが可能
である。けれども、プログラミングの改善に対する配慮
は従来からほとんどなされていなかった。
いはパイプライン方式によるハードウェア構成が提案さ
れ、これによって実行処理時間を短縮化することが可能
である。けれども、プログラミングの改善に対する配慮
は従来からほとんどなされていなかった。
一方、従来のデータ逐次処理型アルゴリスムによっても
たらされる限界を打破づ−るものとして、データ駆動型
8’ Rが脚光を浴びるようになってき゛た。データ駆
動型言語は従来の逐次型アルゴリズムでは取扱うことの
できなかったデータ並列処理型アルゴリズムを記述し得
るものである。このような呂胎による実行処理は次のよ
うな特徴を有している。
たらされる限界を打破づ−るものとして、データ駆動型
8’ Rが脚光を浴びるようになってき゛た。データ駆
動型言語は従来の逐次型アルゴリズムでは取扱うことの
できなかったデータ並列処理型アルゴリズムを記述し得
るものである。このような呂胎による実行処理は次のよ
うな特徴を有している。
(1〉 実行処理はその処理に必要なデータが使用可能
となったとぎに実行される(データ駆動)(2) その
処理の実行結果は入力データのみによって決定され、そ
の回路に含まれる各素子の過去の履歴や仙の処理の実行
などに影響を受けない(副作用はない)。
となったとぎに実行される(データ駆動)(2) その
処理の実行結果は入力データのみによって決定され、そ
の回路に含まれる各素子の過去の履歴や仙の処理の実行
などに影響を受けない(副作用はない)。
したがって、データ駆動型言語によって記述されたプロ
グラムは、その実行制御がデータ従属性だ(Jによって
決定されるので、実行に伴う影響が局所的でありかつそ
の回路に含まれる並列性を自然な形で表ねりことができ
る。このように、回路シミュレーションにおいて、回路
自体の並列動作は上述のデータ駆動型言語により無理な
く対応付けられて表瑛することができる。しかし、上述
のデータ駆動型言語によるプログラム記述は、その局所
性の反面、検証しようとするシステムのm模が大きくな
ると、プログラム全体のつながりに対する見通しが必ず
しも良いとは右えない。さらに、データ駆動型言語によ
るプログラム記述では、処理の実行結果は入力データの
みによって決定されるため、たとえばノリツブフロップ
のようにある単位時間前の世代にお番プるデータに基づ
い−0次の世代のデータが決定されるような履歴依存性
を有する素子を!la理する場合には、うまく表現づ′
ることができなかった。したがって1東伯度の高い回路
あるいはMjI歴依存性を有する回路のシミュレーショ
ンをデータ駆ilI型言語を用い0行なう場合、充分な
処理効果を期待できないという問題点があった。
グラムは、その実行制御がデータ従属性だ(Jによって
決定されるので、実行に伴う影響が局所的でありかつそ
の回路に含まれる並列性を自然な形で表ねりことができ
る。このように、回路シミュレーションにおいて、回路
自体の並列動作は上述のデータ駆動型言語により無理な
く対応付けられて表瑛することができる。しかし、上述
のデータ駆動型言語によるプログラム記述は、その局所
性の反面、検証しようとするシステムのm模が大きくな
ると、プログラム全体のつながりに対する見通しが必ず
しも良いとは右えない。さらに、データ駆動型言語によ
るプログラム記述では、処理の実行結果は入力データの
みによって決定されるため、たとえばノリツブフロップ
のようにある単位時間前の世代にお番プるデータに基づ
い−0次の世代のデータが決定されるような履歴依存性
を有する素子を!la理する場合には、うまく表現づ′
ることができなかった。したがって1東伯度の高い回路
あるいはMjI歴依存性を有する回路のシミュレーショ
ンをデータ駆ilI型言語を用い0行なう場合、充分な
処理効果を期待できないという問題点があった。
それゆえに、この発明の主たる目的は、回路図データを
直接入力し、その回路図データを間約d語によっ−C処
理し、シミュレーションの経過を回路図とともに表示し
得るディジタル回路シミュレーション装置を提供するこ
とである。
直接入力し、その回路図データを間約d語によっ−C処
理し、シミュレーションの経過を回路図とともに表示し
得るディジタル回路シミュレーション装置を提供するこ
とである。
この発明はり約すれば、ディスプレイ装置とライ1〜ペ
ンとを用いてディジタル回路の回路図データを直接入力
し、入力された回路図データをア−り駆動形量的言語の
条件を満たすように変換し、変換したデータ駆動形図的
言語でディジタル回路の動作を実行させることによりそ
のディジタル回路のシミュレーション経過を回路図とと
もに表示して誤配線などを容易に発見できるように構成
し!、二ものである。
ンとを用いてディジタル回路の回路図データを直接入力
し、入力された回路図データをア−り駆動形量的言語の
条件を満たすように変換し、変換したデータ駆動形図的
言語でディジタル回路の動作を実行させることによりそ
のディジタル回路のシミュレーション経過を回路図とと
もに表示して誤配線などを容易に発見できるように構成
し!、二ものである。
この発明の上述の目的およびその他の目的と特徴は以下
に図面を参照して行なう詳細な説明から一層明らかどな
ろう。
に図面を参照して行なう詳細な説明から一層明らかどな
ろう。
第1図はこの発明が適用されるデータ1果勤型図的g
Rliの構成要素を示す図である。まず、第1図を参照
してデータ駆動型図的言語について説明する。与えられ
た問題すなわちシミュレー1〜しようとげるディジタル
回路は第1図(a)に示すブロックで表わされ、その内
容は第1図(1))ないしくp)に示すデータ駆動副図
式で表わすように定aされる。すなわち、第1図(b)
はデータの流れを示し、第1図<C>はコントロール信
号の流れを示し、第1図(d)はデータの分岐を表わす
コピーであり、第1図(e)はコントロール信号の分岐
を表わすコピーである。また、第1図(r)は合併を表
ねずマージであり、第1図(a )は始まりを表わすソ
ースであり、第1図(1))は緒りを示すシンクである
。さらに、第1図(i)はデ、fジタル回路に含まれる
NANDゲートやORゲートなどの素子を関数的に表わ
すためのブリミゾイブであり、入力コないしrに基づい
て関数の演■が行なわれ、そのv4粋結果の出力が導出
される。
Rliの構成要素を示す図である。まず、第1図を参照
してデータ駆動型図的言語について説明する。与えられ
た問題すなわちシミュレー1〜しようとげるディジタル
回路は第1図(a)に示すブロックで表わされ、その内
容は第1図(1))ないしくp)に示すデータ駆動副図
式で表わすように定aされる。すなわち、第1図(b)
はデータの流れを示し、第1図<C>はコントロール信
号の流れを示し、第1図(d)はデータの分岐を表わす
コピーであり、第1図(e)はコントロール信号の分岐
を表わすコピーである。また、第1図(r)は合併を表
ねずマージであり、第1図(a )は始まりを表わすソ
ースであり、第1図(1))は緒りを示すシンクである
。さらに、第1図(i)はデ、fジタル回路に含まれる
NANDゲートやORゲートなどの素子を関数的に表わ
すためのブリミゾイブであり、入力コないしrに基づい
て関数の演■が行なわれ、そのv4粋結果の出力が導出
される。
第1図(J )はコンl−ロール信号に応じて関数の演
隷を行へ′うブリミゾイブである。第1図(+()。
隷を行へ′うブリミゾイブである。第1図(+()。
1)は入力されたデータに基づいてコントロール信号を
出力するブレディケイ1〜である。第1図<m)、(n
)は入力されたデータに基づいてコントロール信号を選
択するセ;ノクタである。第1図(o)、 (p )
は入力された複数のデータに基づいて複数のデータを出
ノjするブロシジトである。
出力するブレディケイ1〜である。第1図<m)、(n
)は入力されたデータに基づいてコントロール信号を選
択するセ;ノクタである。第1図(o)、 (p )
は入力された複数のデータに基づいて複数のデータを出
ノjするブロシジトである。
第2図は回路図を第1図に示ずデータ駆動型図的言語で
表わした一例を示す図であり、第3A図および第3B図
はデレーを含む回路をデータ駆動型図的言語で表わした
一例を示す図であり、第4A図はNANDゲートを含む
ディジタル回路の一例を示す図であり、第4B図は第4
A図に示すNANDゲー]・をデータ駆動型間約言語で
表わした図である。
表わした一例を示す図であり、第3A図および第3B図
はデレーを含む回路をデータ駆動型図的言語で表わした
一例を示す図であり、第4A図はNANDゲートを含む
ディジタル回路の一例を示す図であり、第4B図は第4
A図に示すNANDゲー]・をデータ駆動型間約言語で
表わした図である。
前述の第1図に示したデータ駆動型図的8語によってデ
ィジタル回路を記述茗る場合には、シミュレートしJζ
うとするディジタル回路を@1図(a ”)に示す1つ
のブロックとして表わし、そのディジタル回路に含まれ
る各素子を第1図(b)ないしくp)に示すデータ駆動
側図式で記述する。
ィジタル回路を記述茗る場合には、シミュレートしJζ
うとするディジタル回路を@1図(a ”)に示す1つ
のブロックとして表わし、そのディジタル回路に含まれ
る各素子を第1図(b)ないしくp)に示すデータ駆動
側図式で記述する。
データ駆動側図式を記述づる場合において、未定義なプ
ロシジャを含む場合、それぞれを第1図(a )に示づ
1つのブロックとして表わし、その内容を再びデータ駆
動側図式で記)ホする。すべてのデータ駆動側図式が未
定義のプロシジャを含まない場合、与えられた問題の記
述は終了する。そうでない場合には、未定義のプロシジ
ャをブロックとして表わし、その内容をデータ駆動側図
式で記)ホする。その結果、第2図に示ずようなデータ
駆動図式ができあがる。第2図から明らかなように、デ
ィジタル回路をデータ駆動型図的古語で表わすことによ
り、そのディジタル回路が有している並列的に動作する
部分ずなわら並列性を実際のディジタル回路図に対応し
た自然な形で直接回向にe、川をすることができる。
ロシジャを含む場合、それぞれを第1図(a )に示づ
1つのブロックとして表わし、その内容を再びデータ駆
動側図式で記)ホする。すべてのデータ駆動側図式が未
定義のプロシジャを含まない場合、与えられた問題の記
述は終了する。そうでない場合には、未定義のプロシジ
ャをブロックとして表わし、その内容をデータ駆動側図
式で記)ホする。その結果、第2図に示ずようなデータ
駆動図式ができあがる。第2図から明らかなように、デ
ィジタル回路をデータ駆動型図的古語で表わすことによ
り、そのディジタル回路が有している並列的に動作する
部分ずなわら並列性を実際のディジタル回路図に対応し
た自然な形で直接回向にe、川をすることができる。
ところで、データ駆動の考え方では、その並列性を最大
限に引出すために、非同期に並列的に実行される各回路
間において一方の回路の処理が使方の回路の処IWに影
響を及ぼざないことが前提とされている。このために、
従来のデータ逐次処理型アルゴリズムのように複数の処
理によって共有されかつ更新が可能なメモリセルを設け
るという概念はなく、もとのデータを処理した結果は常
に新しいデータとして別に生成されなければならない。
限に引出すために、非同期に並列的に実行される各回路
間において一方の回路の処理が使方の回路の処IWに影
響を及ぼざないことが前提とされている。このために、
従来のデータ逐次処理型アルゴリズムのように複数の処
理によって共有されかつ更新が可能なメモリセルを設け
るという概念はなく、もとのデータを処理した結果は常
に新しいデータとして別に生成されなければならない。
このために、従来のデータ逐次処理型アルゴリズムにお
けるメモリセル中のデータの更新によって表現していた
履歴依存性を有する処理をデータ駆動の概念に基づいて
実行するためには、新たなデータを次々と生成し、その
生成順序を何らかの形で記憶しなければ/よらない。ま
た、配列などに代表される大ぎなデータ構造の一部の変
更に対しても大伍のデータ生成操作が必要となる。
けるメモリセル中のデータの更新によって表現していた
履歴依存性を有する処理をデータ駆動の概念に基づいて
実行するためには、新たなデータを次々と生成し、その
生成順序を何らかの形で記憶しなければ/よらない。ま
た、配列などに代表される大ぎなデータ構造の一部の変
更に対しても大伍のデータ生成操作が必要となる。
そこで、第3A図に示りように、デレーのようにあるψ
位時間耐の世代におCプるデータによって次の世代のデ
ータが決定されるような履歴依存性を有する素子につい
ては、データベース(DB)という概念を用いて表わす
ことができる。デレーは入力されたデータが所定の時間
経過後に出ノ〕される一bのであるため、第3B図に示
すようにデータベースDBには初期データが設定され、
初期状態にJりいてプリミティブ[2はデータベースD
Bからの初期データに基づいて動作を実行し、その11
2プリミテイブ「1C実行された結果とし−Cのデータ
がデータベースD B +、:転送される。データベー
スDBへのアクゼス順序は第2図および第3B図に示す
点線のコン1−ロール信号によって規定される。なおた
とえば、@4A図に示ずよう1こ、NANDグー[・の
出力端にコンデンサCが接続されているものとづれは、
これを第4B図のようなデータ駆動型図約言8Rで表わ
ずこともできる。寸なわち、第4B図から明らかなよう
に、コンデンサ−Cによる遅延量は遅延情報Cとして設
定され、入力信号Aと入力信号Bとに基づいて論期積演
算されて遅延を考慮した出力Xが導出される。
位時間耐の世代におCプるデータによって次の世代のデ
ータが決定されるような履歴依存性を有する素子につい
ては、データベース(DB)という概念を用いて表わす
ことができる。デレーは入力されたデータが所定の時間
経過後に出ノ〕される一bのであるため、第3B図に示
すようにデータベースDBには初期データが設定され、
初期状態にJりいてプリミティブ[2はデータベースD
Bからの初期データに基づいて動作を実行し、その11
2プリミテイブ「1C実行された結果とし−Cのデータ
がデータベースD B +、:転送される。データベー
スDBへのアクゼス順序は第2図および第3B図に示す
点線のコン1−ロール信号によって規定される。なおた
とえば、@4A図に示ずよう1こ、NANDグー[・の
出力端にコンデンサCが接続されているものとづれは、
これを第4B図のようなデータ駆動型図約言8Rで表わ
ずこともできる。寸なわち、第4B図から明らかなよう
に、コンデンサ−Cによる遅延量は遅延情報Cとして設
定され、入力信号Aと入力信号Bとに基づいて論期積演
算されて遅延を考慮した出力Xが導出される。
次に、具体的なディジタル回路を用いてシミル−1〜す
る方法に゛ついで詳細に説明引る。
る方法に゛ついで詳細に説明引る。
第5図はディジタル同期回路の一例を承り図であり、第
6図は第5図の各入出力にJ3ける波形図であり、第7
図は第5図に示−fディジタル同期回路をデータFAi
llJ型間約a語で表わした図である。
6図は第5図の各入出力にJ3ける波形図であり、第7
図は第5図に示−fディジタル同期回路をデータFAi
llJ型間約a語で表わした図である。
第5図に示す同期回路は入力端゛12.13とANDグ
ー1〜14とDタイプフリップフロップ1j5と出力端
16とN OT回路17となる。この同期回路の時間変
化の様子をシミュレートするために、データ駆動型図的
8 gFJで表わぜば第7図に示すこと(となる。すな
わち、第5図に示す同期回路の全体は第1E(a)に示
した70ツクで表わされ、各構成要素は第1図(b)な
いしくp)に示すデータ駆動側図式で表わされる。入力
端12と13はソース22と23で表わされ、ANDゲ
ート14はプリミティブ24で表わされ、NOT回路1
7はプリミティブ27で表わされる。ざらに、Dタイプ
フリップフロップ15は雇歴依存性を有するので、デー
タベース28.28に置換えられる。
ー1〜14とDタイプフリップフロップ1j5と出力端
16とN OT回路17となる。この同期回路の時間変
化の様子をシミュレートするために、データ駆動型図的
8 gFJで表わぜば第7図に示すこと(となる。すな
わち、第5図に示す同期回路の全体は第1E(a)に示
した70ツクで表わされ、各構成要素は第1図(b)な
いしくp)に示すデータ駆動側図式で表わされる。入力
端12と13はソース22と23で表わされ、ANDゲ
ート14はプリミティブ24で表わされ、NOT回路1
7はプリミティブ27で表わされる。ざらに、Dタイプ
フリップフロップ15は雇歴依存性を有するので、デー
タベース28.28に置換えられる。
データベース28はDタイプフリップフロップの初期状
態を表わずデータを有している。プリミティブ24は、
第5図のDタイプフリップフロップ15に最初のクロッ
クパルスが与えられたどぎの動作に対応して、データベ
ース28から初期データを読込み論理積演算を行なって
、その演算結果をプリミティブ27に送るとともにシン
ク26へ送る。プリミティブ27は否定の演算を行ない
、その結果をデータベース28に書込むとともにシンク
25へ送る。そして、データベース28に書込まれたデ
ータは次のクロックパルスの入力に対応してプリミティ
ブ24の演算を実行する際にデータベース28のデータ
として読込まれ、プリミティブ24に与えられる。この
結果、1世代のデータの流れの変化によって、1クロッ
ク周期内における入出力データの因果関係をシミュレー
トしたことになる。そして、必要なタロツク周期分に相
当する世代数のデータを入力すれば、出力の全期間の変
化をシミュレートできる。なお、第5図に示ず同期回路
において、人力波形の遅延および出力負荷条件を考慮す
れば、第6図に示すように各クロック周期における波形
のなまりを出力に反映させることも可能である。
態を表わずデータを有している。プリミティブ24は、
第5図のDタイプフリップフロップ15に最初のクロッ
クパルスが与えられたどぎの動作に対応して、データベ
ース28から初期データを読込み論理積演算を行なって
、その演算結果をプリミティブ27に送るとともにシン
ク26へ送る。プリミティブ27は否定の演算を行ない
、その結果をデータベース28に書込むとともにシンク
25へ送る。そして、データベース28に書込まれたデ
ータは次のクロックパルスの入力に対応してプリミティ
ブ24の演算を実行する際にデータベース28のデータ
として読込まれ、プリミティブ24に与えられる。この
結果、1世代のデータの流れの変化によって、1クロッ
ク周期内における入出力データの因果関係をシミュレー
トしたことになる。そして、必要なタロツク周期分に相
当する世代数のデータを入力すれば、出力の全期間の変
化をシミュレートできる。なお、第5図に示ず同期回路
において、人力波形の遅延および出力負荷条件を考慮す
れば、第6図に示すように各クロック周期における波形
のなまりを出力に反映させることも可能である。
第8A図はRSフリップフロップの一例を示り図であり
、第8B図は第8A図に示すRSノリツブフロップを展
開し“C示ず図であり、第9図は第8A図の波形図であ
り、第10図は第8A図の1(Sフリップフロップをデ
ータ駆動型図的言語で表わした図である。
、第8B図は第8A図に示すRSノリツブフロップを展
開し“C示ず図であり、第9図は第8A図の波形図であ
り、第10図は第8A図の1(Sフリップフロップをデ
ータ駆動型図的言語で表わした図である。
次に、第8八図ないし第10図を参照しC1非同期回路
の一例としてRSフリップフロップをシミュレーション
する場合について説明する。RSフリップ70ツブはM
8A図に示゛すようにNANDゲート18と19とから
1N成され、入力5−R−1のどきに以前の状態を保持
する機能を有しかつ一方のN AN Dゲート・18の
出力が他方のNANDゲート19の入力に帰還され、他
方のNANDゲート19の出力が一方のNANDゲート
18の入力に帰還されてループ構造を有してし\る。そ
こで、このようなRSフリップフロップをシミュレート
する場合、初期状態を予め定めておく必要がある。すな
わち、実際には第8B図に示すように、初期状態を入力
qとするような等価回路をシミスレー1−シなければな
らない。この第8B図に示す等価回路をデータ駆動型図
的古語で表わすと第10図に示ずごとくとなる。第10
図にお(、sでソース31から入力百が与えられ、ソー
ス32h〜ら入力Sが与えられ、ソース30から入力q
ht与えられる。入力Rとqはプリミティブ29iこ与
えられ、入力Sはプリミティブ28とPASS34に与
えられる。また、COMP33には入力qとプリミティ
ブ28の出力が与えられる。このCOMP33はプリミ
ティブ28の出力と初期入力qとの比較を行ない、一致
する場合は点線で示すコントロール信号によってPAS
S34を有効とする論理スイッチである。一方、PAS
S35はCOMP33からのコントロール信号によりデ
ータを通過させるゲー[・であって、保持状態と新しく
1人力とが同じときに選択される。他方、PASS34
は保持状態と新しい入力とが一致しないときその保持状
態を更新するために用いられる。ところが、保持状態を
更新する機能というのは、この第10図で示された図式
そのもので実現されているので、RSフリップフロップ
36の再帰呼出の形で書き表わすことができる。すなわ
ち、保持状態が更新されるときには、RSフリップ70
ツブ36の出力が新しい状態として、Th37,038
に出力され、また逆に状態が更新さないときに(よPA
SS35の出力が以前と同じ状態として出力される。こ
のようにして、R57リツプフロツブを再帰呼出の形で
記)ホしてシミュレーションすることができる。
の一例としてRSフリップフロップをシミュレーション
する場合について説明する。RSフリップ70ツブはM
8A図に示゛すようにNANDゲート18と19とから
1N成され、入力5−R−1のどきに以前の状態を保持
する機能を有しかつ一方のN AN Dゲート・18の
出力が他方のNANDゲート19の入力に帰還され、他
方のNANDゲート19の出力が一方のNANDゲート
18の入力に帰還されてループ構造を有してし\る。そ
こで、このようなRSフリップフロップをシミュレート
する場合、初期状態を予め定めておく必要がある。すな
わち、実際には第8B図に示すように、初期状態を入力
qとするような等価回路をシミスレー1−シなければな
らない。この第8B図に示す等価回路をデータ駆動型図
的古語で表わすと第10図に示ずごとくとなる。第10
図にお(、sでソース31から入力百が与えられ、ソー
ス32h〜ら入力Sが与えられ、ソース30から入力q
ht与えられる。入力Rとqはプリミティブ29iこ与
えられ、入力Sはプリミティブ28とPASS34に与
えられる。また、COMP33には入力qとプリミティ
ブ28の出力が与えられる。このCOMP33はプリミ
ティブ28の出力と初期入力qとの比較を行ない、一致
する場合は点線で示すコントロール信号によってPAS
S34を有効とする論理スイッチである。一方、PAS
S35はCOMP33からのコントロール信号によりデ
ータを通過させるゲー[・であって、保持状態と新しく
1人力とが同じときに選択される。他方、PASS34
は保持状態と新しい入力とが一致しないときその保持状
態を更新するために用いられる。ところが、保持状態を
更新する機能というのは、この第10図で示された図式
そのもので実現されているので、RSフリップフロップ
36の再帰呼出の形で書き表わすことができる。すなわ
ち、保持状態が更新されるときには、RSフリップ70
ツブ36の出力が新しい状態として、Th37,038
に出力され、また逆に状態が更新さないときに(よPA
SS35の出力が以前と同じ状態として出力される。こ
のようにして、R57リツプフロツブを再帰呼出の形で
記)ホしてシミュレーションすることができる。
次に、前述の第1図に示したデータ駆動型図的言語を用
いかつ第2図ないし第10図に示した原理に従ってディ
ジタル回路をシミュレートするシミュレーション装置に
ついて説明する。
いかつ第2図ないし第10図に示した原理に従ってディ
ジタル回路をシミュレートするシミュレーション装置に
ついて説明する。
第111゛?1はこの発明の一実論例のシミュレーショ
ン装置の概略ブロック図である。ます、第1図を参照し
てイに成について説明する。回路図入力部41はグラフ
ィックディスプレイ装置とライ1〜ペンにJ、り対話形
式でシミュレーションすべきディジタル回路図を入力す
るしのである。なお、シミュレーションされるべきディ
ジタル回路のうち頻繁に用いられる部分回路については
予めその詳細な回路図テークが部分回路記憶部42に記
憶されていて、回路図入力部41から回路図をへカゴる
ときにその入力を容易にしている。そして、回路図入力
部41から入力された回路図テークと部分回路記憶部4
2から読出された部分回路図テークは部分回路結合部4
3に与えられる。そしで、部分回路結合部43は部分回
路図データを主たる回路図データに結合させる。このよ
うにして結合された回路図データはループ構造変換部4
4と状態記憶素子分割部45とに与えられる。ループ構
造変換i1s 44は゛館迩の第8A、8B図で説明し
たように回路図データに含まれるループ構造たとえばR
Sフリップフロップを捜し、そのループを切断して再帰
構造部と状態記憶部に変換するものである。
ン装置の概略ブロック図である。ます、第1図を参照し
てイに成について説明する。回路図入力部41はグラフ
ィックディスプレイ装置とライ1〜ペンにJ、り対話形
式でシミュレーションすべきディジタル回路図を入力す
るしのである。なお、シミュレーションされるべきディ
ジタル回路のうち頻繁に用いられる部分回路については
予めその詳細な回路図テークが部分回路記憶部42に記
憶されていて、回路図入力部41から回路図をへカゴる
ときにその入力を容易にしている。そして、回路図入力
部41から入力された回路図テークと部分回路記憶部4
2から読出された部分回路図テークは部分回路結合部4
3に与えられる。そしで、部分回路結合部43は部分回
路図データを主たる回路図データに結合させる。このよ
うにして結合された回路図データはループ構造変換部4
4と状態記憶素子分割部45とに与えられる。ループ構
造変換i1s 44は゛館迩の第8A、8B図で説明し
たように回路図データに含まれるループ構造たとえばR
Sフリップフロップを捜し、そのループを切断して再帰
構造部と状態記憶部に変換するものである。
状態記憶素子分割部47は回路図データに含まれるたと
えばフリップフロップのような状態を記憶する素子を動
作部(動作部は第7図の例のように特に素子に対応する
関数を記述しないで表現できる場合がある。)と状態記
憶部に分割してt1n述のデータベースを設定するもの
である。ループ11℃造変換部44で変換された再帰構
造部と状態記憶部のデータならびに状態記憶素子分割部
45で分割された動作部と状態記憶部のデータはそれぞ
れデータ駆tlJ型処理部46に与えられる。このデー
タ駆動型処理部46はデータ駆動型回向苫詔に変換され
て入力された回路図データをデータ駆動方式で実行する
ものであって、たとえば処理部461と制御部462と
記憶部463どを含む。処理B111461 ハタトエ
LJ N A N D ケート’+’ OR’y’
I−などの素子単位に論理または波形入力からその論理
または波形応答を、素子の内部遅延や立上がり速度など
を考慮して計算する。この処理部461では複数個の素
子について同時に計算し並列処理が可能とされている。
えばフリップフロップのような状態を記憶する素子を動
作部(動作部は第7図の例のように特に素子に対応する
関数を記述しないで表現できる場合がある。)と状態記
憶部に分割してt1n述のデータベースを設定するもの
である。ループ11℃造変換部44で変換された再帰構
造部と状態記憶部のデータならびに状態記憶素子分割部
45で分割された動作部と状態記憶部のデータはそれぞ
れデータ駆tlJ型処理部46に与えられる。このデー
タ駆動型処理部46はデータ駆動型回向苫詔に変換され
て入力された回路図データをデータ駆動方式で実行する
ものであって、たとえば処理部461と制御部462と
記憶部463どを含む。処理B111461 ハタトエ
LJ N A N D ケート’+’ OR’y’
I−などの素子単位に論理または波形入力からその論理
または波形応答を、素子の内部遅延や立上がり速度など
を考慮して計算する。この処理部461では複数個の素
子について同時に計算し並列処理が可能とされている。
このために、処理部461はたとえば複数のマイクロプ
ロセッサを含む。記憶部463はループ構造変換部44
で変換された状態記憶部および状態記憶素子分割部45
で分割された状態記憶部に記憶すべき状態データを一時
記憶するものである。
ロセッサを含む。記憶部463はループ構造変換部44
で変換された状態記憶部および状態記憶素子分割部45
で分割された状態記憶部に記憶すべき状態データを一時
記憶するものである。
制御部462は入力データのすべてが揃った素子を捜し
、それぞれの入力データを処理部461に与える。また
、制御部462は処理部461でKl tJされた出力
データを受取り、その出力が接続されている素子の入力
データとして保管する。処理部461で8114された
データが状態記憶素子の状態である場合には、記憶部4
63へその状態データを与え、逆に記憶部463に記憶
されている状態データが必要なとぎは記憶部463から
そのデータを受取り、素子への入力データとともに処理
部461へ与える。外部データ入力部47はシミュレー
ションされるべきディジタル回路に与えるだめのデータ
を入力するものであり、Lことえばキーボードから入力
した論理値の変化時刻のデータを制御部462に与える
。表示部48はたとえばグラフィックディスプレイなど
によって構成され、予め指定しておいた素子の出力【こ
ついて、データ駆動型処理部46で論理応答計算が終っ
た時点でその出力を表示することにより、ディジタル回
路の動作を点検できるものである。また、表示部68は
未結線により論理応答計算が不可能な素子をグラフィッ
クディスプレイ上に表示した回路図において点滅させる
ことによって発見できるようにすることもできる。
、それぞれの入力データを処理部461に与える。また
、制御部462は処理部461でKl tJされた出力
データを受取り、その出力が接続されている素子の入力
データとして保管する。処理部461で8114された
データが状態記憶素子の状態である場合には、記憶部4
63へその状態データを与え、逆に記憶部463に記憶
されている状態データが必要なとぎは記憶部463から
そのデータを受取り、素子への入力データとともに処理
部461へ与える。外部データ入力部47はシミュレー
ションされるべきディジタル回路に与えるだめのデータ
を入力するものであり、Lことえばキーボードから入力
した論理値の変化時刻のデータを制御部462に与える
。表示部48はたとえばグラフィックディスプレイなど
によって構成され、予め指定しておいた素子の出力【こ
ついて、データ駆動型処理部46で論理応答計算が終っ
た時点でその出力を表示することにより、ディジタル回
路の動作を点検できるものである。また、表示部68は
未結線により論理応答計算が不可能な素子をグラフィッ
クディスプレイ上に表示した回路図において点滅させる
ことによって発見できるようにすることもできる。
第12A図および第12B図はシミュレーションされる
べきディジタル回路の一例を示す図であり、第13図は
第11図に示′1J′技置の具体的な動作を説明するた
めのフロー図であり、第14図は回路図データを入力す
る場合の操作手順を示づ一フロー図であり、第15A図
はDタイプフリップ70ツブを示す図であり、第158
図は第15A図のDタイプフリップフロップをデータ駆
動型図的巨詔で表わした図であり、第16図は第12A
図J5よび第128図に示したディジタル回路をデータ
駆動型回向古曲で表わした図であり、第17図は入力デ
ータの波形図であり、第18図はNAN[〕ゲートの入
力データおよび出力データの波形図であり、第19図は
この発明の一実施例におけるシミュレーション経過の表
示例を示す図であり、第20図はシミュレーションされ
たディジタル回路の入出力波形を示す図である。
べきディジタル回路の一例を示す図であり、第13図は
第11図に示′1J′技置の具体的な動作を説明するた
めのフロー図であり、第14図は回路図データを入力す
る場合の操作手順を示づ一フロー図であり、第15A図
はDタイプフリップ70ツブを示す図であり、第158
図は第15A図のDタイプフリップフロップをデータ駆
動型図的巨詔で表わした図であり、第16図は第12A
図J5よび第128図に示したディジタル回路をデータ
駆動型回向古曲で表わした図であり、第17図は入力デ
ータの波形図であり、第18図はNAN[〕ゲートの入
力データおよび出力データの波形図であり、第19図は
この発明の一実施例におけるシミュレーション経過の表
示例を示す図であり、第20図はシミュレーションされ
たディジタル回路の入出力波形を示す図である。
次に、第11図ないし第20図を参照して、この発明の
一実施例の動作について説明する。まず、ステップ(第
13図および第14図ではSPと略称する)SPlにお
いて第12A図に示す回路図データを入力する。この回
路図データの入力は第14図に示す手順に従って行なわ
れる。すなわち、グラフィックディスプレイ上に各種素
子の形状のシンボルが表示され、ステップ21において
その中の1つをライトベンにより選択する。ステップ2
]で選択した素子に応じて、ステップ22でその水子の
素子名と入力端子数と出力端子数とをキーボードから入
力する。ステップ23においてグラフィックディスプレ
イ画面上で、ステップ21で選択した素子を位置させた
い点にライトベンでカーソルを移動し、座標を入力する
。この時点において画面上にステップ21で選択した素
子がステップ23で指定した位置に表示され、その素子
に番号が付けられて登録される。ステップ24で表示す
るべき素子が残っているか否かを判断し、残っている場
合にはステップ2コないし23を繰返す。表示するべき
素子が残っていない場合には、ステップ25において接
続すべき素子と素子のうち出ノj側の素子の出力端子を
ライトベンで指定する。ステップ26において接続すべ
き素子と素子のうち人ノコ側の素子の入力端子をライト
ベンで指定する。この時点において画面上の2つの素子
の端子間が線で結ばれ、接続情報が素子の番号を用いて
登録される。接続すべき素子が残っているが否かをステ
ップ27で判断し、残っている場合にはステップ25お
よび26を繰返す。なお、第12A図に示す部分回路S
UBについてはステップ22において部分回路名SUB
が入力されかつこの部分回路SU8の入出力端子数が入
力され、ステップ23で部分回路SUBの位置が指定さ
れる。
一実施例の動作について説明する。まず、ステップ(第
13図および第14図ではSPと略称する)SPlにお
いて第12A図に示す回路図データを入力する。この回
路図データの入力は第14図に示す手順に従って行なわ
れる。すなわち、グラフィックディスプレイ上に各種素
子の形状のシンボルが表示され、ステップ21において
その中の1つをライトベンにより選択する。ステップ2
]で選択した素子に応じて、ステップ22でその水子の
素子名と入力端子数と出力端子数とをキーボードから入
力する。ステップ23においてグラフィックディスプレ
イ画面上で、ステップ21で選択した素子を位置させた
い点にライトベンでカーソルを移動し、座標を入力する
。この時点において画面上にステップ21で選択した素
子がステップ23で指定した位置に表示され、その素子
に番号が付けられて登録される。ステップ24で表示す
るべき素子が残っているか否かを判断し、残っている場
合にはステップ2コないし23を繰返す。表示するべき
素子が残っていない場合には、ステップ25において接
続すべき素子と素子のうち出ノj側の素子の出力端子を
ライトベンで指定する。ステップ26において接続すべ
き素子と素子のうち人ノコ側の素子の入力端子をライト
ベンで指定する。この時点において画面上の2つの素子
の端子間が線で結ばれ、接続情報が素子の番号を用いて
登録される。接続すべき素子が残っているが否かをステ
ップ27で判断し、残っている場合にはステップ25お
よび26を繰返す。なお、第12A図に示す部分回路S
UBについてはステップ22において部分回路名SUB
が入力されかつこの部分回路SU8の入出力端子数が入
力され、ステップ23で部分回路SUBの位置が指定さ
れる。
そして、ステップ25c15よび26において部分回路
SUBの出力端子および入力端子が指定される。
SUBの出力端子および入力端子が指定される。
上述の一連の操作によって第12A図に示す回路図デー
タづなわち各素子のデータおよび各水子間の接続データ
が部分回路結合部43に入力される。
タづなわち各素子のデータおよび各水子間の接続データ
が部分回路結合部43に入力される。
再び第13図を参照して、部分回路結合部43は動作を
実行する。すなわち、第12A図に示す部分回路SUB
は簡略表現されているので、予め部分回路記憶部42に
記憶されている第128図に示す部分回路SUBの詳細
な回路図データを回路図入力部41から入力された第1
2A図に示す回路図データに結合する。次に、ステップ
3においてループ構造変換部44の動作を実行する。但
し、第12A図においてループ構造は存在しないため、
この場合何も行なわない。このループ構造の変換につい
ては後で詳細に説明する。ステップ4において状態記憶
索子変換部45の動作を実行する。すなわち、第12A
図において2つのDタイプフリップフロップ51および
52が状態記憶素子に相当するので、状態記憶素子変換
部5はこれらのDタイプフリップフロップ51および5
2を第158図に示すように動作部(関数部り、 FF
)と状態記憶部〈データベースDB)とに分割する。こ
のどき、Dタイプフリップフロップ51および52の動
作の計算はクロックパルスの周期単位ごとに行なわれる
ため、クロックパルスは除去され、1クロツクパルス前
の状態とし゛C索fの初期状態のデータを記憶部463
に記憶する。上述のステップコないしステップ4の動作
にJ:す、第12A図に示す回路図データはデータ駆動
型図的WJ finの条件を満足し、その結果として第
16凶に示す回路図データが得られる。そして、↓ス下
の説明のようにして第16図に示す回路図データのシミ
ュレーション計算が行なわれる。
実行する。すなわち、第12A図に示す部分回路SUB
は簡略表現されているので、予め部分回路記憶部42に
記憶されている第128図に示す部分回路SUBの詳細
な回路図データを回路図入力部41から入力された第1
2A図に示す回路図データに結合する。次に、ステップ
3においてループ構造変換部44の動作を実行する。但
し、第12A図においてループ構造は存在しないため、
この場合何も行なわない。このループ構造の変換につい
ては後で詳細に説明する。ステップ4において状態記憶
索子変換部45の動作を実行する。すなわち、第12A
図において2つのDタイプフリップフロップ51および
52が状態記憶素子に相当するので、状態記憶素子変換
部5はこれらのDタイプフリップフロップ51および5
2を第158図に示すように動作部(関数部り、 FF
)と状態記憶部〈データベースDB)とに分割する。こ
のどき、Dタイプフリップフロップ51および52の動
作の計算はクロックパルスの周期単位ごとに行なわれる
ため、クロックパルスは除去され、1クロツクパルス前
の状態とし゛C索fの初期状態のデータを記憶部463
に記憶する。上述のステップコないしステップ4の動作
にJ:す、第12A図に示す回路図データはデータ駆動
型図的WJ finの条件を満足し、その結果として第
16凶に示す回路図データが得られる。そして、↓ス下
の説明のようにして第16図に示す回路図データのシミ
ュレーション計算が行なわれる。
まず、ステップ5においてシミュレーション経過を表示
したい素子をグラフィックディスプレイ上の回路図にお
いてライトベンを用いて指定する。
したい素子をグラフィックディスプレイ上の回路図にお
いてライトベンを用いて指定する。
続いて、ステップ6において計算の単位とされる1クロ
ックパルス周期分の回路の外部入力データを入ノjvる
。たとえば、第17図に示すような初期レベルI、前縁
の変化タイミングT、後縁の変化タイミングT′のデー
タが入力さ1れる。ステップ7において、データ駆動型
処理部46は各素子の中で入力がすべて揃っている水子
を1つ捜し出す。第16図では、2人力NANDグー1
−59とインバータ57.58.60がこれに相当し、
ここでは2人力NANDゲー1〜59が選択されたもの
とする。ステップ8において入力のすべて揃った水子が
ない場合はステップ9を実行する。ステップ8で入力の
すべて揃った素子が存在した場合は、ステップ1゛1を
実行する。すなわち、ステップ11では、ステップ7に
おいて捜し出された素子の入力がDタイプフリップフロ
ップ51の状態記憶部のデータであれば、記憶部463
から初期データを受取る。この場合、記憶部463から
のデータは2人力NANDゲート59の一方の入力端に
入力されるデータに相当する。ステップ12において、
NΔNDゲート59の入力データを処理部461に与え
る。同時に、処理部461では2人力NANDゲート5
9の論理または波形応答計算を開始する。ここで、処理
されるべぎ索子は2人力NANDゲートであるため、内
部遅延などを考慮して第18図に示すごとく、入力1と
入力2とに基づいて出力波形の演算を行なう。
ックパルス周期分の回路の外部入力データを入ノjvる
。たとえば、第17図に示すような初期レベルI、前縁
の変化タイミングT、後縁の変化タイミングT′のデー
タが入力さ1れる。ステップ7において、データ駆動型
処理部46は各素子の中で入力がすべて揃っている水子
を1つ捜し出す。第16図では、2人力NANDグー1
−59とインバータ57.58.60がこれに相当し、
ここでは2人力NANDゲー1〜59が選択されたもの
とする。ステップ8において入力のすべて揃った水子が
ない場合はステップ9を実行する。ステップ8で入力の
すべて揃った素子が存在した場合は、ステップ1゛1を
実行する。すなわち、ステップ11では、ステップ7に
おいて捜し出された素子の入力がDタイプフリップフロ
ップ51の状態記憶部のデータであれば、記憶部463
から初期データを受取る。この場合、記憶部463から
のデータは2人力NANDゲート59の一方の入力端に
入力されるデータに相当する。ステップ12において、
NΔNDゲート59の入力データを処理部461に与え
る。同時に、処理部461では2人力NANDゲート5
9の論理または波形応答計算を開始する。ここで、処理
されるべぎ索子は2人力NANDゲートであるため、内
部遅延などを考慮して第18図に示すごとく、入力1と
入力2とに基づいて出力波形の演算を行なう。
ステップ13において、処理部461で演算された出力
データがあれば制御部462がそのデータを受取り、次
に接続されている素子すなわち3人力NANDゲート6
2の1つの入力データとする。このとき、制御部462
で受取るデータは直航に処理部461に与えたデータに
対応する必要はない。今の場合、演算は終了していない
ものとする。ステップ13において得られたデータが状
態データである場合は、ステップ14においてその状態
データを記憶部463に記憶する。ステップ13におい
て得られた出力データの素子がステップ5において表示
を指示された素子であるかどうかをステップ15で判別
し、指定されていない素子であれば丙びステップ7の処
理を実行する。
データがあれば制御部462がそのデータを受取り、次
に接続されている素子すなわち3人力NANDゲート6
2の1つの入力データとする。このとき、制御部462
で受取るデータは直航に処理部461に与えたデータに
対応する必要はない。今の場合、演算は終了していない
ものとする。ステップ13において得られたデータが状
態データである場合は、ステップ14においてその状態
データを記憶部463に記憶する。ステップ13におい
て得られた出力データの素子がステップ5において表示
を指示された素子であるかどうかをステップ15で判別
し、指定されていない素子であれば丙びステップ7の処
理を実行する。
しかし、ステップ13で得られた出力データの素子が表
示を指示された素子であれば、出力データをグラフィッ
クディスプレイ上に表示する。モの表示結果は第19図
に示すように、回路図データとともに入出力波形が表示
されたものとなる。
示を指示された素子であれば、出力データをグラフィッ
クディスプレイ上に表示する。モの表示結果は第19図
に示すように、回路図データとともに入出力波形が表示
されたものとなる。
続いて、ステップ7の処理を実行する。そし−(、ステ
ップ8において回路図の中に存在しながら計算の行なわ
れなかった素子つまり入力端子にテ゛−タが入力されな
かった素子をステップ1つで検索し、存在すればそのf
1粋の行なわれなかった索子をグラフィックディスプレ
イ上の回路図において点滅させる。これによって誤配線
を知らせる。計算されなかった索子が存在しない場合に
は再びステップ6の処理を実行する。
ップ8において回路図の中に存在しながら計算の行なわ
れなかった素子つまり入力端子にテ゛−タが入力されな
かった素子をステップ1つで検索し、存在すればそのf
1粋の行なわれなかった索子をグラフィックディスプレ
イ上の回路図において点滅させる。これによって誤配線
を知らせる。計算されなかった索子が存在しない場合に
は再びステップ6の処理を実行する。
以下、同様にしてステップ6ないしステップ16の動作
を繰返し、第16図に示す各素子の論理または波形応答
を演算する。その結果、第20図に示すように、第12
A図に示すディジタル回路にクロックパルスと入力信号
Aと入力信号Bと入力信号Cとを与えた場合の出力信号
り、E、Fがそれぞれグラフィックディスプレイ上に表
示される。
を繰返し、第16図に示す各素子の論理または波形応答
を演算する。その結果、第20図に示すように、第12
A図に示すディジタル回路にクロックパルスと入力信号
Aと入力信号Bと入力信号Cとを与えた場合の出力信号
り、E、Fがそれぞれグラフィックディスプレイ上に表
示される。
上述のごとく、データ駆動型処理部46によって第12
A図に示すディジタル回路がデータ駆動型図的言語に変
換され、各素子の論理または波形応答を並列的に演算し
てシミュレーションを実行することができる。
A図に示すディジタル回路がデータ駆動型図的言語に変
換され、各素子の論理または波形応答を並列的に演算し
てシミュレーションを実行することができる。
第21図はこの発明の第2の実施例の概略ブロック図で
ある。この第21図はデータ駆動処理部46に処理部4
64と制御部465を新たに設けた以外は前述の第11
図と同じである。
ある。この第21図はデータ駆動処理部46に処理部4
64と制御部465を新たに設けた以外は前述の第11
図と同じである。
第22図は第21図に示すブロック図の動作を説明する
ためのフロー図であり、第23図は第21図に示すブロ
ック図によってシミュレーションされるべきディジタル
回路の一例を示ず図であり、第24図は第23図に含ま
れるRSフリップフロップを示す図であり、第25図お
よび第26図は第23図に示すディジタル回路をデータ
駆動型図的言語で表わした図であり、第27図および第
28図は表示水子の選択とその表示例を示す図である。
ためのフロー図であり、第23図は第21図に示すブロ
ック図によってシミュレーションされるべきディジタル
回路の一例を示ず図であり、第24図は第23図に含ま
れるRSフリップフロップを示す図であり、第25図お
よび第26図は第23図に示すディジタル回路をデータ
駆動型図的言語で表わした図であり、第27図および第
28図は表示水子の選択とその表示例を示す図である。
なお、第11図の実施例においても、第22図のフロー
図に従って第23図のディジタ回路をシミュレーション
することが可能である。
図に従って第23図のディジタ回路をシミュレーション
することが可能である。
次に、動作について説明する。ステップ1においてはA
U述の第14図に示したステップ21ないし27の操作
に従って第23図に示す回路図データが入力される。な
お、第23図にd3いてRSフリップフロップは簡略表
瑣されていて、第24図に示ずRSフリップフロップの
詳細な回路図データは部分回路記憶部42に記憶されて
いる。ぞして、ステップ2において第23図に示す回路
図データと第24図に示ず部分回路図データとが結合さ
れる。ステップ3におい−Cループ構造変模部44は第
23図および第24図のディジタル回路に含まれるルー
プ構造すなわち、NANDグー1〜63および64から
なるRSフリップフロップを児つけ第25図、第26図
に示すように再I/Fi14)4造部と状態記憶部に変
換りる。なお、第26図のRSフリッツブロップ部は、
前述の第10図に対応するものである。すなわち、CO
MP66は第10図のCOMP33.P67は第10図
のPASS34、P68は第10図のPAS35にそれ
ぞれ対応する。これらはソースqとともに状態記憶部を
構成することとなる。
U述の第14図に示したステップ21ないし27の操作
に従って第23図に示す回路図データが入力される。な
お、第23図にd3いてRSフリップフロップは簡略表
瑣されていて、第24図に示ずRSフリップフロップの
詳細な回路図データは部分回路記憶部42に記憶されて
いる。ぞして、ステップ2において第23図に示す回路
図データと第24図に示ず部分回路図データとが結合さ
れる。ステップ3におい−Cループ構造変模部44は第
23図および第24図のディジタル回路に含まれるルー
プ構造すなわち、NANDグー1〜63および64から
なるRSフリップフロップを児つけ第25図、第26図
に示すように再I/Fi14)4造部と状態記憶部に変
換りる。なお、第26図のRSフリッツブロップ部は、
前述の第10図に対応するものである。すなわち、CO
MP66は第10図のCOMP33.P67は第10図
のPASS34、P68は第10図のPAS35にそれ
ぞれ対応する。これらはソースqとともに状態記憶部を
構成することとなる。
一方、ステップ4において状態記憶素子分i!、11部
45は第23図に示′!J′Dタイプフリップフロップ
を前述の第15B図で説明したように動作部と状態記憶
部とに分割Lノで第26図に示すデータ駆動形言語で表
わす。ステップ15において、第23間の入力部に相当
するデータを入力する。前述の第13図に示すステップ
6では1クロツタ分の外部データを入力したが、この第
22図では第23図に示すディジタル回路が非同期回路
であるため、入力単位は1クロツタパルスの周期ではな
く1回の信号レベルの変化を含む任意の時間間隔とされ
る。その後、ステップ7において入力の揃った素子を捜
し、ステップ8において入力の揃った素子が存在するか
否かを判別する。存在していれば前述の第13図に示す
ステップ11ないし14の処理を行なう。但し、この実
施例では第21図に示すごとく制御部462と465お
よび処理部461と464のように2粗設けられいるた
め、2組の異なった時間間隔の入力データに対【ノて同
時に実行することが可能となる。もし、入力の揃った素
子が存在しなければステップ9にJ5いて計算されなか
った素子が存在するか判別され、ステップ10において
計算されなかった素子が表示される。
45は第23図に示′!J′Dタイプフリップフロップ
を前述の第15B図で説明したように動作部と状態記憶
部とに分割Lノで第26図に示すデータ駆動形言語で表
わす。ステップ15において、第23間の入力部に相当
するデータを入力する。前述の第13図に示すステップ
6では1クロツタ分の外部データを入力したが、この第
22図では第23図に示すディジタル回路が非同期回路
であるため、入力単位は1クロツタパルスの周期ではな
く1回の信号レベルの変化を含む任意の時間間隔とされ
る。その後、ステップ7において入力の揃った素子を捜
し、ステップ8において入力の揃った素子が存在するか
否かを判別する。存在していれば前述の第13図に示す
ステップ11ないし14の処理を行なう。但し、この実
施例では第21図に示すごとく制御部462と465お
よび処理部461と464のように2粗設けられいるた
め、2組の異なった時間間隔の入力データに対【ノて同
時に実行することが可能となる。もし、入力の揃った素
子が存在しなければステップ9にJ5いて計算されなか
った素子が存在するか判別され、ステップ10において
計算されなかった素子が表示される。
計算されなかった素子が存在しなければステップ16に
d−3いて1つの時間間隔についてすべての計算が終っ
た時点において第27図に示すようにディジタル回路に
含まれるいくつかの素子を表示のためにライトベンで選
択する。その結果、ステップ17において第28図に示
すように選択した素子の出力データがグラフィックディ
スプレイ上に表示される。グラフィックディスプレイに
出力データを表示している間、他方の制η11部463
はステップ7ないし14の処理によって別の時間fff
l隔について処理を行なう。このような一連の動作によ
って、第23図に示すディジタル回路の入出力波形が第
29図に示すような態様でグラフインクディスプレイ」
:に表示される。
d−3いて1つの時間間隔についてすべての計算が終っ
た時点において第27図に示すようにディジタル回路に
含まれるいくつかの素子を表示のためにライトベンで選
択する。その結果、ステップ17において第28図に示
すように選択した素子の出力データがグラフィックディ
スプレイ上に表示される。グラフィックディスプレイに
出力データを表示している間、他方の制η11部463
はステップ7ないし14の処理によって別の時間fff
l隔について処理を行なう。このような一連の動作によ
って、第23図に示すディジタル回路の入出力波形が第
29図に示すような態様でグラフインクディスプレイ」
:に表示される。
上)diのごとく、特にこの実施例にお1′、lるシミ
コレ−ジョン装b′では制御部と処理部とを2粗設(J
たので、ディジタル回路の並列性は゛かりでなく巽lJ
−っだ時間に対し・でも並列に実行を行なうことかでき
る。また、1つの時間間隔ごとに任意の素子の出力デー
タを点検できるため、回路膜81の誤りを容易に発見プ
ることができる。
コレ−ジョン装b′では制御部と処理部とを2粗設(J
たので、ディジタル回路の並列性は゛かりでなく巽lJ
−っだ時間に対し・でも並列に実行を行なうことかでき
る。また、1つの時間間隔ごとに任意の素子の出力デー
タを点検できるため、回路膜81の誤りを容易に発見プ
ることができる。
なお、回路図入力部41ではグラフィックティスプレィ
上で作成した回路ν1を直接入力するようにしたが、こ
れに限ることなく回路図データを一旦外部記憶装置に記
憶して+15き、必要なときにその外部記憶装置から回
路図データを読出して入力するようにしてもよい。
上で作成した回路ν1を直接入力するようにしたが、こ
れに限ることなく回路図データを一旦外部記憶装置に記
憶して+15き、必要なときにその外部記憶装置から回
路図データを読出して入力するようにしてもよい。
第30図はこの発明の他の実施例を示1概略ブロック図
であり、第31図は第30図に示す入出力サブシスデム
の概略ブロック図であり、第32図は第30図に示す実
行制御コニットの概略ブロック図である。まず、第30
図ないし第32図を参照して構成について説明する。こ
の例に示すシミュレーション装置は入出力力ブシスデム
7]と実行制御ユニット・72と機能メモリ73とから
構成される。そして、入出力ザブシステム71と実行i
11制御ユニツ1〜72ど機能メモリ73は共通バス8
0によって接続される。入出力ザブシステム71は第3
1図に示すように、シミュレーションされるべぴ・ディ
ジタル回路の入力数に対応したバケツ1〜群711ない
し713と、アービタ714と、ディジタル回路の出力
数に対応したパケット群715ないし717と、ディス
トリビュータ718とを含む。実行制御ユニット72は
第32図に示すように、共通バスに接続されるティスト
リビュータフ2コと複数のテンプレート722ないし7
24とアービタ725とALU726とから構成される
。テンプレート722ないし724は後述の第35図で
μm明するがディジタル回路に含まれる各素子名などを
記憶するものである。ALU726は基本的な素子を特
徴付ける演算機能ずなわちたとえばANDゲートであれ
ば論理積演算機能を有しており、素子特有の電気的特性
たとえば伝達遅延特性などを演算するものである。機能
メモリ73は前述の第15A図および第15B図で説明
したように、たとえばDタイプフリップフロップであれ
ば動作81(と状態記憶部としての状態データを記憶す
るものである。
であり、第31図は第30図に示す入出力サブシスデム
の概略ブロック図であり、第32図は第30図に示す実
行制御コニットの概略ブロック図である。まず、第30
図ないし第32図を参照して構成について説明する。こ
の例に示すシミュレーション装置は入出力力ブシスデム
7]と実行制御ユニット・72と機能メモリ73とから
構成される。そして、入出力ザブシステム71と実行i
11制御ユニツ1〜72ど機能メモリ73は共通バス8
0によって接続される。入出力ザブシステム71は第3
1図に示すように、シミュレーションされるべぴ・ディ
ジタル回路の入力数に対応したバケツ1〜群711ない
し713と、アービタ714と、ディジタル回路の出力
数に対応したパケット群715ないし717と、ディス
トリビュータ718とを含む。実行制御ユニット72は
第32図に示すように、共通バスに接続されるティスト
リビュータフ2コと複数のテンプレート722ないし7
24とアービタ725とALU726とから構成される
。テンプレート722ないし724は後述の第35図で
μm明するがディジタル回路に含まれる各素子名などを
記憶するものである。ALU726は基本的な素子を特
徴付ける演算機能ずなわちたとえばANDゲートであれ
ば論理積演算機能を有しており、素子特有の電気的特性
たとえば伝達遅延特性などを演算するものである。機能
メモリ73は前述の第15A図および第15B図で説明
したように、たとえばDタイプフリップフロップであれ
ば動作81(と状態記憶部としての状態データを記憶す
るものである。
第33図のディジタル回路を例にとって具体的に説明す
る、1第34図は第33図のディジタル回路図をデータ
駆動型図的言語で表ね(〕た図であり、第35図は第3
2図に示すテンブレー1〜および第30図に示す機能メ
モリに記憶されろデータを示す図である。
る、1第34図は第33図のディジタル回路図をデータ
駆動型図的言語で表ね(〕た図であり、第35図は第3
2図に示すテンブレー1〜および第30図に示す機能メ
モリに記憶されろデータを示す図である。
第33図に示すディジタル回路図はDタイプフリップフ
ロップ83を含むため、アーク駆動型図約言8Hで表わ
すと第34図に示づ−ごとくDターfブフリップフロツ
ブ83を動作部と状態記憶部とに分割して表現される。
ロップ83を含むため、アーク駆動型図約言8Hで表わ
すと第34図に示づ−ごとくDターfブフリップフロツ
ブ83を動作部と状態記憶部とに分割して表現される。
そして、ディジタル回路に含まれるNANDゲート81
に関するデータはテンプレート722に記憶される。す
な:l′)ち、テンプレート722にはNΔNDゲート
81が2人力NANDであり、そのテレ−Uと出力数1
と出力光がORゲー1−82の一方入力であることと、
2つの入力端に入力されるべきそれぞれのデータが記憶
される。同様にして、テンプレート723には2人力O
Rゲート82に関するデータが記憶される。、すらに、
テンプレート723にはDタイプフリップフロップ83
1こ関するデータが記憶される。使方、機能メモリ73
にはDタイプフリ・ンブフロツブ83の初期状態のデー
タが記憶される。
に関するデータはテンプレート722に記憶される。す
な:l′)ち、テンプレート722にはNΔNDゲート
81が2人力NANDであり、そのテレ−Uと出力数1
と出力光がORゲー1−82の一方入力であることと、
2つの入力端に入力されるべきそれぞれのデータが記憶
される。同様にして、テンプレート723には2人力O
Rゲート82に関するデータが記憶される。、すらに、
テンプレート723にはDタイプフリップフロップ83
1こ関するデータが記憶される。使方、機能メモリ73
にはDタイプフリ・ンブフロツブ83の初期状態のデー
タが記憶される。
11iJ′述のテンプレート722ないし723に記憶
される素子名やデレー量や出力数や出力光などのデータ
はたとえばグラフィックデイスブIノイとライ1〜ペン
を用いて、前述の第14図に示Eノだ操作手順に従って
入力される。また、データ1および2は入出力サブシス
テム71のパケツl−711ないし713から入力され
る。
される素子名やデレー量や出力数や出力光などのデータ
はたとえばグラフィックデイスブIノイとライ1〜ペン
を用いて、前述の第14図に示Eノだ操作手順に従って
入力される。また、データ1および2は入出力サブシス
テム71のパケツl−711ないし713から入力され
る。
次に、動作について説明する。第34図に示す入力1お
よび2に対応するデータは入出力サブシステム71に入
力される。入出力サブシステム71では入力1および2
に対応するパケットIN1おJ、び2を作成し、それを
ディストリごュータ714から共通バス80を介して実
行制御コニット72に与える。実行制御ユニット72で
はバケツ1〜INIのデータを受取ると、そのデータを
ディストリヒユータフ21によってテンプレート722
のチータコのエリアにセット1゛る。続いて、バケット
IN2のデータはIrm S+>にしてテンプレート7
22のデータ2のエリアと、テンプレート・723のデ
ータ1のエリアと、テンプレート723のデータ1のエ
リアにセラ1へされる。このようにして、テンプレート
722に必要なデータが−<jべてセット・されると、
テンプレート722はアクティブな状態になり、テンブ
レー1〜722にセットされたアークはアービタ725
を介してA L U 726に転送される。ΔLU72
6目テンブレー[・722にけットされ−Cいるデータ
に基づいて必要とされる演算を実行する。すなわら、テ
ンプレート722はrl A N Dゲート81に対応
する−1つのであるため、論理積演綽を実行し、NAN
Oグー1−81の出力に現われる論理およびデレー最を
演淳する。このilJ結果はテンプレート722にセッ
トされている出力光すなわちORゲート82に対応する
テンプレート723のデータ1のエリアにセラi〜され
る。
よび2に対応するデータは入出力サブシステム71に入
力される。入出力サブシステム71では入力1および2
に対応するパケットIN1おJ、び2を作成し、それを
ディストリごュータ714から共通バス80を介して実
行制御コニット72に与える。実行制御ユニット72で
はバケツ1〜INIのデータを受取ると、そのデータを
ディストリヒユータフ21によってテンプレート722
のチータコのエリアにセット1゛る。続いて、バケット
IN2のデータはIrm S+>にしてテンプレート7
22のデータ2のエリアと、テンプレート・723のデ
ータ1のエリアと、テンプレート723のデータ1のエ
リアにセラ1へされる。このようにして、テンプレート
722に必要なデータが−<jべてセット・されると、
テンプレート722はアクティブな状態になり、テンブ
レー1〜722にセットされたアークはアービタ725
を介してA L U 726に転送される。ΔLU72
6目テンブレー[・722にけットされ−Cいるデータ
に基づいて必要とされる演算を実行する。すなわら、テ
ンプレート722はrl A N Dゲート81に対応
する−1つのであるため、論理積演綽を実行し、NAN
Oグー1−81の出力に現われる論理およびデレー最を
演淳する。このilJ結果はテンプレート722にセッ
トされている出力光すなわちORゲート82に対応する
テンプレート723のデータ1のエリアにセラi〜され
る。
同様にして、アクティブになったテンプレート724に
レットされているデータはアービタ725を介してAL
U726に転送される。但し、テンブレー1〜724は
Dタイプノリツブフロップ83の動作状態のデータをセ
ットするものであるため、実際の演算を行なうのではな
くDタイプフリップノロツブ83の初期状態におけるデ
ータを機f+Iiメモリ73から読取る作業を行なう。
レットされているデータはアービタ725を介してAL
U726に転送される。但し、テンブレー1〜724は
Dタイプノリツブフロップ83の動作状態のデータをセ
ットするものであるため、実際の演算を行なうのではな
くDタイプフリップノロツブ83の初期状態におけるデ
ータを機f+Iiメモリ73から読取る作業を行なう。
すなわち、テンプレート724にセットされているDタ
イプノリツブフロップを表わす素子名のデータがAmU
726を介してディストリごニータフ21および共通バ
ス80を介して機能メモリ73に与えられる。それによ
って、機能メモリ73はDタイプフリップフロップ83
の初期状態におけるデータを、共通バス80を介して実
行制御ユニツト72に転送する。転送されたデータはデ
ィストリごニータフ21によってテンプレート724の
ステートのエリアにセットされる。続いて、タロツクパ
ルスに対応するパケットIN3のデータはテンプレート
724のデータ2のエリアにセットされる。
イプノリツブフロップを表わす素子名のデータがAmU
726を介してディストリごニータフ21および共通バ
ス80を介して機能メモリ73に与えられる。それによ
って、機能メモリ73はDタイプフリップフロップ83
の初期状態におけるデータを、共通バス80を介して実
行制御ユニツト72に転送する。転送されたデータはデ
ィストリごニータフ21によってテンプレート724の
ステートのエリアにセットされる。続いて、タロツクパ
ルスに対応するパケットIN3のデータはテンプレート
724のデータ2のエリアにセットされる。
テンプレート724はすべてのデータがセットされたこ
とによりアクティブとなり、このテンプレート724の
各データはアービタ725を介してALLI726に転
送され、そこで必要とされる演算が行なわれる。この演
算はDタイプフリップフロップ83の動作を決定するた
めの決算であって、機能メモリ73から与えられた初期
状態にお番ノるデータとD入力に対応するデータ1とク
ロックパルスに対応するデータ2とに基づいてDタイプ
ノリツブフロップ83の出力状態が決定される。このよ
うにして、演算されたDタイプフリップフロップ83の
出力データはテンプレート723のデータ2のエリアと
機能メモリ73のデータ1のエリアにセットされる。テ
ンブレー1〜723はデータ2のエリアにDタイプノリ
ツブフロップ83の出力データがセットされたことによ
りアクティブになり、之→Vな2A算すなわちテンプレ
ート723がORグー1−82に対応するものであるた
め論理和演μを行なう。そして演算された出力データは
ディス1〜りどニータフ21から共通バス80を介して
人出力サブシステム71に含まれるパケット0UT1に
出力される。
とによりアクティブとなり、このテンプレート724の
各データはアービタ725を介してALLI726に転
送され、そこで必要とされる演算が行なわれる。この演
算はDタイプフリップフロップ83の動作を決定するた
めの決算であって、機能メモリ73から与えられた初期
状態にお番ノるデータとD入力に対応するデータ1とク
ロックパルスに対応するデータ2とに基づいてDタイプ
ノリツブフロップ83の出力状態が決定される。このよ
うにして、演算されたDタイプフリップフロップ83の
出力データはテンプレート723のデータ2のエリアと
機能メモリ73のデータ1のエリアにセットされる。テ
ンブレー1〜723はデータ2のエリアにDタイプノリ
ツブフロップ83の出力データがセットされたことによ
りアクティブになり、之→Vな2A算すなわちテンプレ
ート723がORグー1−82に対応するものであるた
め論理和演μを行なう。そして演算された出力データは
ディス1〜りどニータフ21から共通バス80を介して
人出力サブシステム71に含まれるパケット0UT1に
出力される。
続いて、入出力ザブシステム71には次の単位時間にお
りる入力データが与えられ、上)本の動作を線返して各
単位時間におけるシミュレーションが行なわれる。この
場合、機能メモリ73のデータ1のエリアにはある世代
において動作したDタイプフリップフロップの出力デー
タがセットされているので、次の世代において人力2が
変化したデータが与えられれば、機能メモリ73からの
データを読込むことにより、Dタイプフリップフロップ
の出力データが演算される。
りる入力データが与えられ、上)本の動作を線返して各
単位時間におけるシミュレーションが行なわれる。この
場合、機能メモリ73のデータ1のエリアにはある世代
において動作したDタイプフリップフロップの出力デー
タがセットされているので、次の世代において人力2が
変化したデータが与えられれば、機能メモリ73からの
データを読込むことにより、Dタイプフリップフロップ
の出力データが演算される。
なa′3、ある世代の処理において、機能メモリ73に
セットされたデータ1に変化がなくかつその次の世代の
入力が直前の世代の入力と同じであれば、その次の世代
でDタイプフリップフロップ83の出力は変化しない。
セットされたデータ1に変化がなくかつその次の世代の
入力が直前の世代の入力と同じであれば、その次の世代
でDタイプフリップフロップ83の出力は変化しない。
したがって、このような場合には入出力サブシステム7
1はパケットの転送を行なわず、前の世代の出力パケッ
トのデータをそのまま出力するようにすれば、演算の必
要のない世代をスキップすることによって処理効率を上
げることができる。
1はパケットの転送を行なわず、前の世代の出力パケッ
トのデータをそのまま出力するようにすれば、演算の必
要のない世代をスキップすることによって処理効率を上
げることができる。
上述のごとく、シミュレーションされるべきディジタル
回路に含まれる各素子に関するデータを各素子ごとにテ
ンプレートにセントすることによって実行プログラムを
作成することができ、シミュレートされるべきディジタ
ル回路と実行ブ【コクラムとの整合性をとることができ
る。ぞして、各素子に対応する演算順序はテンプレート
にセットされるデータのみによって規定され、それ以外
の順序規定を不要にすることができる。
回路に含まれる各素子に関するデータを各素子ごとにテ
ンプレートにセントすることによって実行プログラムを
作成することができ、シミュレートされるべきディジタ
ル回路と実行ブ【コクラムとの整合性をとることができ
る。ぞして、各素子に対応する演算順序はテンプレート
にセットされるデータのみによって規定され、それ以外
の順序規定を不要にすることができる。
第36図はこの発明のその他の実施例を示す概略ブロッ
ク図である。この第36図は前述の第32図に示したA
LU726を演算装置74として実行副部ユニット72
とは分離して独立的に設けたものである。このようにa
ltl装@74を独立して設けることにより、実行制御
ユニット72を複数設けた場合であっても、演算装置7
4は各実行制御ユニットに含まれるテンプレートからの
データに旦づいて独立的に演算を行なうことかできると
いう利点がある。
ク図である。この第36図は前述の第32図に示したA
LU726を演算装置74として実行副部ユニット72
とは分離して独立的に設けたものである。このようにa
ltl装@74を独立して設けることにより、実行制御
ユニット72を複数設けた場合であっても、演算装置7
4は各実行制御ユニットに含まれるテンプレートからの
データに旦づいて独立的に演算を行なうことかできると
いう利点がある。
ざらに、シミュレーションされるべきディジタル回路が
複雑であれば、実行制御ユニット72および演算装置f
f174をそれぞれ複数並列的に設けるようにすればJ
:い。すなわち、実行制御ユニット72を複数設けてお
き、各実行制御ユニットのそれぞれに含まれるいずれか
のテンプレートにすべてのデータが同時にセットされる
と、演算装置74が1つしかない場合には、同時に各実
行制御ユニッhを並列始期することができない。しかし
、演練装置74を複数設けておけば、各実行制御ユニッ
トから同時にデータが出力されても、それぞれのデータ
を並列的に処理することができるので処理速度を向上す
ることができる。この場合、全く同じハードウェアによ
って構成された演算装置74を複数設けるだけでよいの
で、設計コストを低減できる。
複雑であれば、実行制御ユニット72および演算装置f
f174をそれぞれ複数並列的に設けるようにすればJ
:い。すなわち、実行制御ユニット72を複数設けてお
き、各実行制御ユニットのそれぞれに含まれるいずれか
のテンプレートにすべてのデータが同時にセットされる
と、演算装置74が1つしかない場合には、同時に各実
行制御ユニッhを並列始期することができない。しかし
、演練装置74を複数設けておけば、各実行制御ユニッ
トから同時にデータが出力されても、それぞれのデータ
を並列的に処理することができるので処理速度を向上す
ることができる。この場合、全く同じハードウェアによ
って構成された演算装置74を複数設けるだけでよいの
で、設計コストを低減できる。
第37図はシミュレーション装置のその仙の例を示す概
略ブロック図である。この第37図に示した例は実行制
御ユニツl−751と機能メモリ752とを結合して結
合ユニツ1−75を設けたものである。このように実行
1llll 011ユニツト751と機能メモリ752
とを結合することにより、前述の第36図のように機能
メモリ73を実行制御ユニット72から切離して共通バ
ス8oで接続する場合に比べて、データの伝送時間を大
幅に短縮することができる。特に、結合ユニット75を
複数設けた場合に、それぞれの結合ユニットに含まれる
実行制御ユニット751と機能メモリ752との伝送時
間を第36図に比べて大幅に短縮できるという利点があ
る。また、各世代の状態データをそれぞれの機能メモリ
752に記憶することにより、状態データが1個の機能
メモリに集中することがないので、機能メモリとの間に
おけるデータ伝送の際の待ち時間をyIi縮できる。そ
して、機能メモリとして1個の人容是メモリを用意する
必要がなく、小形のメモリを複数設ければよいのでコス
トを低減することかできる。
略ブロック図である。この第37図に示した例は実行制
御ユニツl−751と機能メモリ752とを結合して結
合ユニツ1−75を設けたものである。このように実行
1llll 011ユニツト751と機能メモリ752
とを結合することにより、前述の第36図のように機能
メモリ73を実行制御ユニット72から切離して共通バ
ス8oで接続する場合に比べて、データの伝送時間を大
幅に短縮することができる。特に、結合ユニット75を
複数設けた場合に、それぞれの結合ユニットに含まれる
実行制御ユニット751と機能メモリ752との伝送時
間を第36図に比べて大幅に短縮できるという利点があ
る。また、各世代の状態データをそれぞれの機能メモリ
752に記憶することにより、状態データが1個の機能
メモリに集中することがないので、機能メモリとの間に
おけるデータ伝送の際の待ち時間をyIi縮できる。そ
して、機能メモリとして1個の人容是メモリを用意する
必要がなく、小形のメモリを複数設ければよいのでコス
トを低減することかできる。
以上のように、この発明によれば、ディジタル回路の回
路図データを直接入力しその回路図データに含まれる素
子a5よびその接続関係を示ずデータをデータ駆動形量
的言語の条件を満たすように変模し、変換されたデータ
駆動形量的言語を用いて直接その動作を実行させること
によりシミュレーション経過を回路図とともに表示する
ようにしたので、ディジタル回路内に並列的に動作する
回路部分があってもそれらの動作を並列的に実行するこ
とができ、回路設計の誤りを容易に発見することができ
る。
路図データを直接入力しその回路図データに含まれる素
子a5よびその接続関係を示ずデータをデータ駆動形量
的言語の条件を満たすように変模し、変換されたデータ
駆動形量的言語を用いて直接その動作を実行させること
によりシミュレーション経過を回路図とともに表示する
ようにしたので、ディジタル回路内に並列的に動作する
回路部分があってもそれらの動作を並列的に実行するこ
とができ、回路設計の誤りを容易に発見することができ
る。
vJ1図はこの発明が適用されるデータ駆動型図的言語
の各構成要素を示す図である。第2図は回路図を第1図
に示すデータ駆動型図的言語で表わした一例を示ず図で
ある。第3A図はデレーを含む回路をデータ駆動型図的
言語で表わした一例を示す図である。第3B図は第3A
図を履歴依存性を有するデータ駆動型図的言語として表
わした図である。第4A図はNANDゲー1−を含むデ
ィジタル回路の一例を示す図である。第4B図は第4A
図に示すNANDゲートをデータ駆動型図的言語で表わ
した図である。第5図はディジタル同期回路の一例を示
す図である。第6図は第5図の各入出力における波形図
である。第7図は第5図に示すディジタル同期回路をデ
ータ駆動型図約言にnで表わした図である。第8A図は
RSフリップフロップの一例を示す図である。第8B図
は第8A図に示すRSフリップフロップを展開して示ず
図である。第9図は第8A図の各入出力波形図である。 第10図は第8A図のRSフリップフロップをデータ駆
動型図的言語で表わした図である。第11図はこの発明
の実施例の概略ブロック図である。第12A図はシミュ
レーション例を説明するためのディジタル回路図である
。第128図は第12A図に示す部分回路の詳細な回路
図である。 第13図は第11図の動作を説明するためのフロー図で
ある。第14図は第11図に示ず回路図入力部の動作を
説明するためのフロー図である。第15A図はDタイプ
フリップフロップを示す図である。第15B図は第15
A図のDターrブフリップフロツブをデータ駆動型図的
言語で表わした図である。第16図は第12A図に示す
ディジタル回路をデータ駆動型図的言語で表わした図で
ある。 第17図は入力データの波形図である。第18図はNA
NDゲートの入力データおよび出力データの波形図であ
る。第19図はシミュレーション装置によってシミュレ
ーションされた経過の表示例を示づ一図である。第20
図はシミュレーションされたディジタル回路の出力波彫
を示ず図である。 第21図はシミュレーション装置の他の例の概略ブロッ
ク図である。第22図は他の動作例を説明するためのフ
ロー図である。第23図はシミュレーション例を説明す
るだめの他のディジタル回路の一例を示ず図である。第
24図は第23図に示tR3・フリップフロップの具体
例を示す図である。 第25図および第26図は第23図に示すディジタル回
路をデータ駆動型図的言語で表わした図である。第27
図および第28図はシミュレーション装置における表示
素子の選択とその表示例を示す図である。第29図は、
第23図に示J−ディジタル回路のシミュレーション波
形図である。第30図はシミュレーション装置の他の例
を示す概略ブロック図である。第31図は第30図に示
す入出力サブシステムの概略ブロック図である。第32
図は第30図に示す実行制御ユニットの概略ブロック図
である。第33図はシミュレーション例を説明するさら
に他のディジタル回路図である。 第34図は第33図のディジタル回路図をデータ駆動型
図的言語で表わした図である。第35図は第32図に示
すテンプレートおよび機能メモリに記憶されるデータを
示ず図である。第36図はシミュレーション装置のその
他の例を示す概略ブロック図である。第37図はシミュ
レーション装置のさらに他の例を示す概略ブロック図で
ある。 図において、41は回路図入力部、42は部分回路記憶
部、43は部分回路結合部、44はループ構造変換部、
45は状態記憶素子分割部、46はデータ駆動型処理部
、47は外部データ入力部、48は表示部、71は入出
力サブシステム、72は実行制御ユニット、722ない
し724はテンブレー1〜.726はALU、73は機
能メモリ、74は演tig装置、75は結合ユニットを
示す。 特許出願人 松下電器産業株式会社 三洋電v1株式会社 三菱電機株式会社 シャープ株式会社 寡1(2) (a+ 4b)
tc) td+
(e)(it t;))+k)(/+(h
′fl)(〈ン1□) t
o+ tPン+9
+S I5
15男2町 昂3A閉 孫38図第4−A図
亮4B図頬5I2] クロックハロ1シス 第β図 環7酬 9 第9図 出力0 1F−□−ム!−−一一一−−廊
20口 λ力C 土奸 ゛ 第24図 825図 孫28図 禅29喝 率30区 挽ち3目 孫″35固 守口型京阪本通2下目18番地 0出 願 人 三菱電機株式会社 東京都千代田区丸の内2丁目2 番3号 ■出 願 人 シャープ株式会社 大阪市阿倍野区長池町22番22号
の各構成要素を示す図である。第2図は回路図を第1図
に示すデータ駆動型図的言語で表わした一例を示ず図で
ある。第3A図はデレーを含む回路をデータ駆動型図的
言語で表わした一例を示す図である。第3B図は第3A
図を履歴依存性を有するデータ駆動型図的言語として表
わした図である。第4A図はNANDゲー1−を含むデ
ィジタル回路の一例を示す図である。第4B図は第4A
図に示すNANDゲートをデータ駆動型図的言語で表わ
した図である。第5図はディジタル同期回路の一例を示
す図である。第6図は第5図の各入出力における波形図
である。第7図は第5図に示すディジタル同期回路をデ
ータ駆動型図約言にnで表わした図である。第8A図は
RSフリップフロップの一例を示す図である。第8B図
は第8A図に示すRSフリップフロップを展開して示ず
図である。第9図は第8A図の各入出力波形図である。 第10図は第8A図のRSフリップフロップをデータ駆
動型図的言語で表わした図である。第11図はこの発明
の実施例の概略ブロック図である。第12A図はシミュ
レーション例を説明するためのディジタル回路図である
。第128図は第12A図に示す部分回路の詳細な回路
図である。 第13図は第11図の動作を説明するためのフロー図で
ある。第14図は第11図に示ず回路図入力部の動作を
説明するためのフロー図である。第15A図はDタイプ
フリップフロップを示す図である。第15B図は第15
A図のDターrブフリップフロツブをデータ駆動型図的
言語で表わした図である。第16図は第12A図に示す
ディジタル回路をデータ駆動型図的言語で表わした図で
ある。 第17図は入力データの波形図である。第18図はNA
NDゲートの入力データおよび出力データの波形図であ
る。第19図はシミュレーション装置によってシミュレ
ーションされた経過の表示例を示づ一図である。第20
図はシミュレーションされたディジタル回路の出力波彫
を示ず図である。 第21図はシミュレーション装置の他の例の概略ブロッ
ク図である。第22図は他の動作例を説明するためのフ
ロー図である。第23図はシミュレーション例を説明す
るだめの他のディジタル回路の一例を示ず図である。第
24図は第23図に示tR3・フリップフロップの具体
例を示す図である。 第25図および第26図は第23図に示すディジタル回
路をデータ駆動型図的言語で表わした図である。第27
図および第28図はシミュレーション装置における表示
素子の選択とその表示例を示す図である。第29図は、
第23図に示J−ディジタル回路のシミュレーション波
形図である。第30図はシミュレーション装置の他の例
を示す概略ブロック図である。第31図は第30図に示
す入出力サブシステムの概略ブロック図である。第32
図は第30図に示す実行制御ユニットの概略ブロック図
である。第33図はシミュレーション例を説明するさら
に他のディジタル回路図である。 第34図は第33図のディジタル回路図をデータ駆動型
図的言語で表わした図である。第35図は第32図に示
すテンプレートおよび機能メモリに記憶されるデータを
示ず図である。第36図はシミュレーション装置のその
他の例を示す概略ブロック図である。第37図はシミュ
レーション装置のさらに他の例を示す概略ブロック図で
ある。 図において、41は回路図入力部、42は部分回路記憶
部、43は部分回路結合部、44はループ構造変換部、
45は状態記憶素子分割部、46はデータ駆動型処理部
、47は外部データ入力部、48は表示部、71は入出
力サブシステム、72は実行制御ユニット、722ない
し724はテンブレー1〜.726はALU、73は機
能メモリ、74は演tig装置、75は結合ユニットを
示す。 特許出願人 松下電器産業株式会社 三洋電v1株式会社 三菱電機株式会社 シャープ株式会社 寡1(2) (a+ 4b)
tc) td+
(e)(it t;))+k)(/+(h
′fl)(〈ン1□) t
o+ tPン+9
+S I5
15男2町 昂3A閉 孫38図第4−A図
亮4B図頬5I2] クロックハロ1シス 第β図 環7酬 9 第9図 出力0 1F−□−ム!−−一一一−−廊
20口 λ力C 土奸 ゛ 第24図 825図 孫28図 禅29喝 率30区 挽ち3目 孫″35固 守口型京阪本通2下目18番地 0出 願 人 三菱電機株式会社 東京都千代田区丸の内2丁目2 番3号 ■出 願 人 シャープ株式会社 大阪市阿倍野区長池町22番22号
Claims (5)
- (1) ディジタル回路をディスプレイ装置に表示し、
前記ディジタル回路に含まれる素子を回向HfiFIと
してその動作を実行させてシミュレーションするシミュ
レーション装置であって、前記ディジタル回路に含まれ
る素子と前記素子の接続状態とからなる回路図データを
入力するための入力手段、 前記入ツノ手段から入力された回路図データに含まれる
ルーブイj4造を再帰構造の回向言gHに変換するルー
プ(14造変換手段、 前記ディジタル回路に含まれる状態記憶素子を動作部と
前記状態を表わす量的言語とに分割する状態記憶素子変
換手段、 前記ループ414造変換手段と前記状態記憶素子変換手
段のそれぞれの出力に基づいて、前記入力手段から入力
された回路図データを回向=aとじててその動作を実行
し、前記ディジタル回路の論即または波形計綽を行なっ
てシミュレーションづ−る回向8語処理手段、および 前記回向言Ja処理手段によりシミュレートされた経過
を前記入力された回路図データとともに前記ディスプレ
イ装置に表示させる手段を備えた、ディジタル回路シミ
ュレーション装置。 - (2) 前記ループ構造は保持状態を有していて、 前記ループ構造変換手段は、 初期の保持状態を表ねず回向言z!iに変換する手段と
、 入力に応じて保持状態が更新されるが否かを比較するこ
とを表ねづ量的言語に変換する手段と、前記保持状態の
更新の判別に応じて、前記ループ構造を表わす量的言語
に再帰させることを表わす量的言語に変換する手段とを
含む、特許請求の範囲第1項記載のディジタル回路シミ
ュレーション装置。 - (3) 前記状態記憶素子は、予め定める単位時間前の
状態のデータを保持していて、次の単位時間経過後に出
力されるデータが前記保持されているデータを用いて決
定される素子を含み、前記状態記憶素子変換手段は、 前記予め定める単位時間前の状態を表わす回向言H!i
に変換する手段と、 次の単位時間経過後に前記予め定める単位時間前の状態
を表わすデータに基づいて、動作状態の決定を表わす間
約言語に変換する手段とを含む、特8′[請求の範囲第
1項記載のディジタル回路シミュレーション装置。 - (4) 前記ディスプレイ装置は前記ディジタル回路に
含まれる各素子を図形で表示する手段を含み、 前記入力手段は、 前記ディスプレイ装置の画面上に表示されたいずれかの
素子を指定するための指定手段、および 前記指定手段で指定された素子に関する少なくとも論理
機能と入力信号数とを表わすデータを入力するための手
段を含む、特許請求の範囲第1項記載のディジタル回路
シミュレーション装置。 - (5) 前記指定手段は、 前記指定した素子を前記ディスプレイ装置の画面上に表
示すべき任意の位置を指定するための手段と、 前記ディスプレイ装置の画面上に表示された各素子の接
続状態を表示するために各素子の入力と出力とを指定す
るための手段とを含む、特許請求の範囲第1項記載のデ
ィジタル回路シミュレーション装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57180931A JPS5969861A (ja) | 1982-10-14 | 1982-10-14 | デイジタル回路シミユレ−シヨン装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57180931A JPS5969861A (ja) | 1982-10-14 | 1982-10-14 | デイジタル回路シミユレ−シヨン装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5969861A true JPS5969861A (ja) | 1984-04-20 |
JPS6311715B2 JPS6311715B2 (ja) | 1988-03-15 |
Family
ID=16091776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57180931A Granted JPS5969861A (ja) | 1982-10-14 | 1982-10-14 | デイジタル回路シミユレ−シヨン装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5969861A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63271541A (ja) * | 1987-01-27 | 1988-11-09 | テクトロニックス・インコーポレイテッド | 電子機器制御方法 |
JPH0248265A (ja) * | 1988-08-08 | 1990-02-19 | Higashi Nippon Riyokaku Tetsudo Kk | 踏切シミュレーション装置 |
JP2014523569A (ja) * | 2011-06-14 | 2014-09-11 | モンタナ・システムズ・インコーポレーテッド | 拡張可能な並列プロセッサのためのシステム、方法、および、装置 |
-
1982
- 1982-10-14 JP JP57180931A patent/JPS5969861A/ja active Granted
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63271541A (ja) * | 1987-01-27 | 1988-11-09 | テクトロニックス・インコーポレイテッド | 電子機器制御方法 |
JPH0248265A (ja) * | 1988-08-08 | 1990-02-19 | Higashi Nippon Riyokaku Tetsudo Kk | 踏切シミュレーション装置 |
JP2014523569A (ja) * | 2011-06-14 | 2014-09-11 | モンタナ・システムズ・インコーポレーテッド | 拡張可能な並列プロセッサのためのシステム、方法、および、装置 |
Also Published As
Publication number | Publication date |
---|---|
JPS6311715B2 (ja) | 1988-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mateescu et al. | Formal languages: an introduction and a synopsis | |
JP2022536889A (ja) | 自然言語クエリから形式的データ・クエリへの変換 | |
JP2002149727A (ja) | テーブル形式パラダイムを使用するインターフェース・ベースの設計 | |
JPS62137663A (ja) | 論理シミュレーション方法 | |
JP3153403B2 (ja) | 半導体集積回路の遅延時間計算装置 | |
Campbell | Practical Programming: An Introduction to Computer Science Using Python 3.6 | |
WO2022091536A1 (ja) | 意味表現解析システム及び意味表現解析方法 | |
JP3179004B2 (ja) | 論理回路検証システムおよび方法 | |
De Mol et al. | Less is more in the fifties: Encounters between logical minimalism and computer design during the 1950s | |
KR100433678B1 (ko) | 이벤트 흐름 차트를 이용한 이산 이벤트 시스템의 모델링방법 | |
JPS5969861A (ja) | デイジタル回路シミユレ−シヨン装置 | |
Coyne et al. | Semantics and the organization of knowledge in design | |
Claessen et al. | A tutorial on Lava: A hardware description and verification system | |
JPS5969850A (ja) | 図的言語を用いた回路シミユレ−シヨン方法 | |
US4815016A (en) | High speed logical circuit simulator | |
JPH05250437A (ja) | 論理回路自動生成装置 | |
Upadhyay et al. | Turing Complete Transformers: Two Transformers Are More Powerful Than One | |
Sharp et al. | Rewriting with constraints in t-ruby | |
JPH03116277A (ja) | シミュレーション・システム及びシミュレーション方法 | |
JP2629955B2 (ja) | 専門家システム構築装置 | |
Starodoubstev et al. | Use of VHDL Enviroment for Interactive Synthesis of Asynchronous Circuits | |
Gunther et al. | WysiScript: Programming via direct syntax highlighting | |
Milden | An approach for selecting a language for computer hardware description and simulation | |
JPH10222550A (ja) | 論理合成方法及び装置並びに論理合成プログラムを記録した記録媒体 | |
US20040093569A1 (en) | HDL timing generator |