JPS6235699B2 - - Google Patents
Info
- Publication number
- JPS6235699B2 JPS6235699B2 JP18200082A JP18200082A JPS6235699B2 JP S6235699 B2 JPS6235699 B2 JP S6235699B2 JP 18200082 A JP18200082 A JP 18200082A JP 18200082 A JP18200082 A JP 18200082A JP S6235699 B2 JPS6235699 B2 JP S6235699B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- digital circuit
- history
- generation
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の詳細な説明】
この発明はデイジタル回路シミユレーシヨン装
置に関し、特に、並列的にデータが入力されたこ
とに応じて動作する論理素子を含むようなデイジ
タル回路のシミユレーシヨン装置に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a digital circuit simulation device, and more particularly to a digital circuit simulation device that includes logic elements that operate in response to input data in parallel.
最近では、超LSIによつて複雑なデイジタル回
路を集積化することにより、生産コストに対する
性能性が以前より比較的改善されてきている。デ
イジタル回路を超LSIによつて集積化すると、装
置の小形化およびコストの低下を図ることができ
るが、超LSI化するにあたつて欠点がないわけで
はない。すなわち、超LSIによつて回路集積度を
向上してもその技術変化への対応力には限度があ
り、開発設計から製造に至るまでに要する期間が
長くなり、また設計誤りを検出し訂正することが
非常に困難になつてきている。設計誤りが存在し
た場合、以前にも増して多大の経済的損失を伴う
ので、開発段階のできるだけ早い時期に設計の検
証を行なうことが望まれる。とりわけ、システム
の論理機能を初期段階で完全に検証することが重
要である。なぜならば、設計の後期段階で論理誤
りが見つかつた場合、相当量無駄な物理的再設計
を必要とするからである。 Recently, by integrating complex digital circuits using VLSI, performance relative to production costs has been relatively improved. When digital circuits are integrated using VLSI, it is possible to reduce the size and cost of the device, but this does not mean that there are drawbacks to VLSI. In other words, even if the degree of circuit integration is improved through VLSI, there is a limit to its ability to respond to technological changes, the time required from development design to manufacturing will be longer, and it will be difficult to detect and correct design errors. It's becoming very difficult. It is desirable to verify the design as early as possible in the development stage, as the existence of design errors will result in greater economic losses than before. Above all, it is important to thoroughly verify the logical functionality of the system at an early stage. This is because if a logical error is discovered at a late stage of design, a considerable amount of wasteful physical redesign is required.
このような回路検証のために、従来より汎用コ
ンピユータを利用した回路シミユレーシヨン方法
がある。しかしながら、前述のごとく集積度が向
上して、システムに含まれる素子数が飛躍的に増
加すると、汎用コンピユータを利用した方法では
プログラミングおよび実行処理に限界が生じつつ
ある。すなわち、検証しようとするシステムが大
規模になるにしたがつて、検証に必要とするプロ
グラム量、記憶容量、計算時間が大幅に増大する
からである。これは、主として対象となる論理回
路の動作が並列的であり、同時に回路の各部の入
出力状態が変化するのに対して、汎用コンピユー
タにおいては並列的な動作をノイマン型の逐次的
な処理に展開しなくてはならないことに起因す
る。このような問題点を解消するために、並列処
理方式あるいはパイプライン方式によるハードウ
エア構成が提案され、これによつて実行処理時間
を短縮化することが可能である。けれども、プロ
グラミングの改善に対する配慮は従来からほとん
どなされていなかつた。 For such circuit verification, there has conventionally been a circuit simulation method using a general-purpose computer. However, as the degree of integration increases as described above and the number of elements included in a system increases dramatically, there are limits to programming and execution processing using methods using general-purpose computers. That is, as the scale of the system to be verified increases, the amount of programs, storage capacity, and calculation time required for verification will increase significantly. This is because the operation of the target logic circuit is mainly parallel, and the input/output status of each part of the circuit changes at the same time, whereas general-purpose computers convert parallel operations into von Neumann-type sequential processing. This is due to the fact that it has to be expanded. In order to solve these problems, a hardware configuration using a parallel processing method or a pipeline method has been proposed, which makes it possible to shorten the execution processing time. However, until now little consideration has been given to improving programming.
それゆえに、この発明の主たる目的は、並列的
に動作する論理素子をそのまま並列的にシミユレ
ーシヨンすることができ、しかも比較的簡単な構
成であつて安価なデイジタル回路シミユレーシヨ
ン装置を提供することである。 Therefore, the main object of the present invention is to provide a digital circuit simulation device which can directly simulate logic elements operating in parallel in parallel, has a relatively simple configuration, and is inexpensive.
この発明は、要約すれば、デイジタル回路に含
まれる各素子に関するデータを各素子ごとに記憶
せしめると同時に、着目する世代より以前の世代
における履歴データを用いて次の世代のデータが
処理されるような履歴依存処理については或る着
目する世代前のデータを記憶しておき、各素子の
うち入力設定手段から入力データが設定されるか
あるいは入力データとともに履歴データが設定さ
れたことに応じて、そのデータの設定された素子
に関する演算を実行してシミユレーシヨンするよ
うに構成したものである。 In summary, this invention allows data regarding each element included in a digital circuit to be stored for each element, and at the same time allows data of the next generation to be processed using historical data of a generation earlier than the generation in question. For history-dependent processing, data from a certain previous generation of interest is stored, and in response to input data being set from the input setting means of each element, or history data being set together with the input data, The configuration is such that a simulation is performed by executing calculations regarding the elements to which the data has been set.
この発明の上述の目的および他の目的と特徴は
以下に図面を参照して行なう詳細な説明から一層
明らかとなろう。 The above objects and other objects and features of the present invention will become more apparent from the detailed description given below with reference to the drawings.
第1図はこの発明の一実施例の概略ブロツク図
であり、第2図は第1図に含まれる入出力サブシ
ステム1の概略ブロツク図であり、第3図は第1
図に示す実行制御ユニツト2の概略ブロツク図で
ある。 FIG. 1 is a schematic block diagram of an embodiment of the present invention, FIG. 2 is a schematic block diagram of an input/output subsystem 1 included in FIG. 1, and FIG.
FIG. 2 is a schematic block diagram of the execution control unit 2 shown in the figure.
まず、第1図ないし第3図を参照してこの発明
の一実施例の概略の構成について説明する。この
発明の一実施例におけるシミユレーシヨン装置は
入出力サブシステム1と実行制御ユニツト2と機
能メモリ3とから構成される。そして、入出力サ
ブシステム1と実行制御ユニツト2と機能メモリ
3は共通バス4によつて接続される。 First, a general configuration of an embodiment of the present invention will be described with reference to FIGS. 1 to 3. A simulation device in one embodiment of the present invention is comprised of an input/output subsystem 1, an execution control unit 2, and a functional memory 3. The input/output subsystem 1, execution control unit 2, and functional memory 3 are connected by a common bus 4.
入出力サブシステム1は第2図に示すように、
シミユレーシヨンされるべきデイジタル回路の入
力数に対応した入力パケツト群11ないし13
と、アービタ14と、デイジタル回路の出力数に
対応した出力パケツト群15ないし17と、デイ
ストリビユータ18とを含む。アービタ14は入
力パケツト群11ないし13のいずれかからのパ
ケツトを選択して共通バス4に与えるものであ
る。また、デイストリビユータ18は共通バス4
から与えられた出力パケツトを出力パケツト群1
5ないし17のいずれかに設定するためのもので
ある。 The input/output subsystem 1, as shown in FIG.
Input packet groups 11 to 13 corresponding to the number of inputs of the digital circuit to be simulated
, an arbiter 14 , output packet groups 15 to 17 corresponding to the number of outputs of the digital circuit, and a distributor 18 . The arbiter 14 selects a packet from one of the input packet groups 11 to 13 and supplies it to the common bus 4. In addition, the distributor 18 is connected to the common bus 4.
Output packets given by output packet group 1
This is for setting any one of 5 to 17.
実行制御ユニツト2は第3図に示すように、共
通バス4に接続されるデイストリビユータ21と
複数のテンプレート22ないし24と、アービタ
25と、ALU26とから構成される。デイスト
リビユータ21は共通バス4に接続され、入出力
サブシステム1あるいは機能メモリ3から与えら
れたデータをテンプレート22ないし24のいず
れかに設定したり、あるいはALU26で演算さ
れたデータを共通バス4に与えるためのものであ
る。テンプレート22ないし24は後述の第4図
で詳細に説明するが、シミユレーシヨンされるべ
きデイジタル回路に含まれる各素子に関するデー
タを記憶するものである。アービタ25はテンプ
レート22ないし24のいずれかから読出された
データをALU26に与えるものである。ALU2
6は基本的な素子を特徴付ける演算機能、すなわ
ちたとえばANDゲートであれば論理積演算機能
を有しており、素子特有の電気的特性たとえば伝
達遅延特性などを演算するものである。 As shown in FIG. 3, the execution control unit 2 is composed of a distributor 21 connected to a common bus 4, a plurality of templates 22 to 24, an arbiter 25, and an ALU 26. The distributor 21 is connected to the common bus 4 and is used to set data given from the input/output subsystem 1 or the functional memory 3 to any of the templates 22 to 24, or to send data calculated by the ALU 26 to the common bus 4. It is intended to be given to The templates 22 to 24, which will be explained in detail later in FIG. 4, store data regarding each element included in the digital circuit to be simulated. The arbiter 25 provides data read from one of the templates 22 to 24 to the ALU 26. ALU2
Reference numeral 6 has an arithmetic function that characterizes a basic element, ie, an AND gate in the case of an AND gate, and is used to calculate electrical characteristics peculiar to the element, such as transmission delay characteristics.
機能メモリ3は後述の第5図で詳細に説明する
が、たとえばDタイプフリツプフロツプのよう
に、着目する世代以前、すなわち、クロツクパル
スが入力されるまでの或る単位時間前の状態のデ
ータを保持していて、次のクロツクパルスが入力
されたとき、保持していたデータを用いてその出
力状態が決定されるような履歴依存素子における
初期状態のデータを記憶するものである。 As will be explained in detail in FIG. 5 below, the functional memory 3 stores data in a state before the generation of interest, that is, a certain unit time before a clock pulse is input, such as in a D-type flip-flop, for example. It stores initial state data in a history-dependent element such that when the next clock pulse is input, the held data is used to determine its output state.
第4図は第3図に示すテンプレート22ないし
24に記憶されるデータを示す図であり、第5図
は機能メモリ3に記憶されるデータを示す図であ
り、第6A図ないし第6C図は伝送されるパケツ
トの内容を示す図であり、第7図はこの発明の一
実施例によつてシミユレーシヨンされるべきデイ
ジタル回路の一例を示す図である。 4 is a diagram showing data stored in the templates 22 to 24 shown in FIG. 3, FIG. 5 is a diagram showing data stored in the functional memory 3, and FIGS. 6A to 6C are diagrams showing data stored in the templates 22 to 24 shown in FIG. FIG. 7 is a diagram showing the contents of a transmitted packet, and FIG. 7 is a diagram showing an example of a digital circuit to be simulated according to an embodiment of the present invention.
テンプレート22には第4図に示すように、た
とえば第7図に示すNANDゲート8に関するデー
タを記憶するためのエリアが設けられている。す
なわち、このテンプレート22にはNANDゲート
8が2入力NANDであることを表わすデータ、デ
レー量、出力数および出力先がORゲート10の
一方入力端であることを表わすデータがそれぞれ
予め記憶されている。また入力データの格納場所
としてデータ1、データ2のエリアが設けられて
いる。同様にして、テンプレート23にはORゲ
ート10に関する同種のデータが記憶され、テン
プレート24にはDタイプフリツプフロツプ9に
関する同種のデータが記憶されている。なお、テ
ンプレート24はDタイプフリツプフロツプ9の
動作に関するデータを記憶しているが、Dタイプ
フリツプフロツプ9の保持状態のデータは前述の
ごとく機能メモリ3に記憶されている。 As shown in FIG. 4, the template 22 is provided with an area for storing data regarding the NAND gate 8 shown in FIG. 7, for example. That is, this template 22 stores in advance data indicating that the NAND gate 8 is a two-input NAND, the amount of delay, the number of outputs, and data indicating that the output destination is one input terminal of the OR gate 10. . Also, data 1 and data 2 areas are provided as storage locations for input data. Similarly, the template 23 stores the same type of data regarding the OR gate 10, and the template 24 stores the same type of data regarding the D-type flip-flop 9. The template 24 stores data regarding the operation of the D-type flip-flop 9, and the data regarding the holding state of the D-type flip-flop 9 is stored in the functional memory 3 as described above.
すなわち、機能メモリ3は第5図に示すように
インターフエイス30と複数のフリツプフロツプ
に関するデータを記憶するためのエリア31ない
し33が設けられる。各エリアには要素名として
たとえばDタイプフリツプフロツプを表わすデー
タが、また世代内参照回路としてたとえばDタイ
プフリツプフロツプの出力結線数が予め書込まれ
ている。さらに、各エリアには世代番号、参照
数、データを1つのセツトとして記憶する欄が複
数設けられる。なお、第7図に示すシミユレーシ
ヨンされるべきデイジタル回路にはDタイプフリ
ツプフロツプが1つしか設けられていないので、
この実施例ではエリア31のみが用いられる。そ
して、初期状態においてエリア31には世代番号
として1、参照回数として世代内参照回数ここで
は1が設定されていて、データの項にはDタイプ
フリツプフロツプ9の初期状態における出力状態
が設定され、それ以外の項にはすべて0が書込ま
れている。 That is, as shown in FIG. 5, the functional memory 3 is provided with areas 31 to 33 for storing data regarding an interface 30 and a plurality of flip-flops. In each area, data representing, for example, a D-type flip-flop is written as an element name, and the number of output connections of, for example, a D-type flip-flop is written in advance as an intra-generation reference circuit. Furthermore, each area is provided with a plurality of columns in which generation numbers, reference numbers, and data are stored as one set. Incidentally, since the digital circuit to be simulated shown in FIG. 7 is provided with only one D-type flip-flop,
In this example only area 31 is used. In the initial state, the generation number is set to 1 in the area 31, the number of references within the generation is set to 1 as the number of references, and the output state of the D-type flip-flop 9 in the initial state is set in the data field. 0 is written in all other terms.
次に、第1図ないし第7図を参照してこの発明
の一実施例の具体的な動作について説明する。入
力1ないし2に対応するデータは入出力サブシス
テム1に与えられる。入出力サブシステム1で
は、入力1ないし2に対応するパケツトIN1な
いしIN2を作成し、それをアービタ14から共
通バス4を介して実行制御ユニツト2に与える。
実行制御ユニツト2では、パケツトIN1のデー
タを受取ると、そのデータをデイストリビユータ
21によつてテンプレート22のデータ1のエリ
アにセツトする。続いて、パケツトIN2のデー
タは同様にしてテンプレート22のデータ2のエ
リアと、テンプレート24のデータ1のエリアに
セツトされる。このようにして、テンプレート2
2に必要なデータがすべてセツトされると、テン
プレート22はアクテイブな状態になり、テンプ
レート22にセツトされたデータはアービタ25
を介してALU26に転送される。ALU26はテ
ンプレート22にセツトされているデータに基づ
いて必要とされる演算を実行する。すなわち、テ
ンプレート22はNANDゲート8に対応するもの
であるため、論理積演算を実行し、NANDゲート
8の出力に現われる論理およびデレー量を演算す
る。この演算結果はテンプレート22にセツトさ
れている出力先すなわちORゲート10に対応す
るテンプレート23のデータ1のエリアにセツト
される。 Next, the specific operation of one embodiment of the present invention will be described with reference to FIGS. 1 to 7. Data corresponding to inputs 1-2 are provided to input/output subsystem 1. The input/output subsystem 1 creates packets IN1 and IN2 corresponding to inputs 1 and 2, and provides them from the arbiter 14 to the execution control unit 2 via the common bus 4.
When the execution control unit 2 receives the data of the packet IN1, the distributor 21 sets the data in the data 1 area of the template 22. Subsequently, the data of packet IN2 is similarly set in the data 2 area of template 22 and the data 1 area of template 24. In this way, template 2
When all the data necessary for arbiter 25 is set, template 22 becomes active, and the data set in template 22 is transferred to arbiter 25.
It is transferred to the ALU 26 via. ALU 26 performs the required operations based on the data set in template 22. That is, since the template 22 corresponds to the NAND gate 8, an AND operation is performed to calculate the logic and delay amount appearing in the output of the NAND gate 8. The result of this calculation is set in the data 1 area of the template 23 corresponding to the output destination set in the template 22, that is, the OR gate 10.
一方テンプレート24は、データ1のエリアは
セツトされたがステータスのエリアはまだセツト
されていない状態にある。このエリアにセツトさ
れるべきデータはDタイプフリツプフロツプの初
期状態のデータであり、機能メモリ3に記憶され
ている。テンプレート24をアクテイブにするた
めにはこのデータを機能メモリ3から読み取る作
業が必要であるが、この作業はテンプレート24
にデータ1が到着することがトリガーとなつて開
始される。すなわち、実行制御ユニツト2は第6
A図に示す読出要求パケツト5を機能メモリ3に
与える。この読出要求パケツト5には回路要素名
としてDタイプフリツプフロツプ、世代番号とし
て1および読出されたデータの行先としてテンプ
レート24がそれぞれ情報として含まれている。
機能メモリ3に含まれるインターフエイス30は
読出要求パケツト5を受取ると、その読出要求パ
ケツトに含まれる回路要素名に一致するエリア3
1からデータを読出す。すなわち、世代番号1に
一致するエリアからDタイプフリツプフロツプ9
の初期状態におけるデータを読出すとともに、デ
ータを1回読出したことを示すために参照回数を
1だけ減少させる。エリア31から読出されたデ
ータはインターフエイス30によつて第6B図に
示すようなパケツト6として構成され、このパケ
ツト6が共通バス4を介して実行制御ユニツト2
に転送される。実行制御ユニツト2では機能メモ
リ3から送られたパケツト6に基づいて、データ
行先がテンプレート24であることを判別して、
テンプレート24のステータスのエリアに読出デ
ータを書込む。 On the other hand, in the template 24, the data 1 area has been set, but the status area has not yet been set. The data to be set in this area is the initial state data of the D type flip-flop and is stored in the functional memory 3. In order to activate the template 24, it is necessary to read this data from the function memory 3, but this work is not necessary for the template 24.
It is triggered by the arrival of data 1 at . That is, the execution control unit 2
A read request packet 5 shown in FIG. A is given to the functional memory 3. This read request packet 5 includes information such as a D type flip-flop as the circuit element name, 1 as the generation number, and template 24 as the destination of the read data.
When the interface 30 included in the functional memory 3 receives the read request packet 5, it selects the area 3 corresponding to the circuit element name included in the read request packet.
Read data from 1. That is, from the area corresponding to generation number 1, the D type flip-flop 9
The data in the initial state is read, and the reference count is decreased by 1 to indicate that the data has been read once. The data read from the area 31 is configured by the interface 30 as a packet 6 as shown in FIG. 6B, and this packet 6 is sent to the execution control unit 2 via the common bus 4.
will be forwarded to. The execution control unit 2 determines that the data destination is the template 24 based on the packet 6 sent from the functional memory 3, and
Write read data to the status area of the template 24.
このようにして、テンプレート24はすべての
データがセツトされたことによりアクテイブとな
り、各データはアービタ25を介してALU26
に転送され、そこで必要とされる演算が行なわれ
る。この演算はDタイプフリツプフロツプ9の動
作を決定するための演算であつて、機能メモリ3
から与えられた初期状態におけるデータと、D入
力に対応するデータ1とに基づいて、Dタイプフ
リツプフロツプ9の出力状態が決定される。この
ようにして、演算されたDタイプフリツプフロツ
プ9の出力データはテンプレート23のデータ2
のエリアにセツトされる。さらに、実行制御ユニ
ツト2は演算したDタイプフリツプフロツプ9の
出力データを機能メモリ3に書込むための処理を
行なう。 In this way, the template 24 becomes active with all data set, and each data is sent to the ALU 26 via the arbiter 25.
The data is transferred to , where the necessary calculations are performed. This calculation is for determining the operation of the D-type flip-flop 9, and is a calculation for determining the operation of the D type flip-flop 9.
The output state of the D-type flip-flop 9 is determined based on the data in the initial state given from the D-type flip-flop 9 and the data 1 corresponding to the D input. In this way, the calculated output data of the D type flip-flop 9 is the data 2 of the template 23.
area. Further, the execution control unit 2 performs processing for writing the calculated output data of the D type flip-flop 9 into the functional memory 3.
すなわち、実行制御ユニツト2は第6C図に示
す書込要求パケツト7を作成する。この書込要求
パケツト7には、機能メモリ3のエリア31を指
定するために回路要素名としてDタイプフリツプ
フロツプ、世代番号として1ならびに演算したD
タイプフリツプフロツプ9の出力データが書込デ
ータとして含まれている。機能メモリ3のインタ
ーフエイス30は書込要求パケツト7を受取る
と、書込要求パケツト7に含まれている回路要素
名に一致するエリア31のうち参照回数が0の欄
を捜し、その欄の世代番号の項には入力パケツト
の世代番号より1だけ大きい数を、参照回数の項
には世代内参照回数を、データの項には書込デー
タを書込む。 That is, the execution control unit 2 creates a write request packet 7 shown in FIG. 6C. This write request packet 7 includes a D type flip-flop as the circuit element name, 1 as the generation number, and the calculated D type in order to specify the area 31 of the functional memory 3.
The output data of type flip-flop 9 is included as write data. When the interface 30 of the functional memory 3 receives the write request packet 7, it searches for a column in which the number of references is 0 in the area 31 that matches the circuit element name included in the write request packet 7, and determines the generation of that column. A number that is 1 larger than the generation number of the input packet is written in the number field, the number of references within the generation is written in the reference number field, and write data is written in the data field.
他方、テンプレート23はデータ2のエリアに
Dタイプフリツプフロツプ9の出力データがセツ
トされたことによりアクテイブな状態になり、必
要な演算すなわちテンプレート23がORゲート
10に対応するものであるため、論理和演算を行
なう。そして、演算されたデータはデイストリビ
ユータ21から共通バス4を介して入出力サブシ
ステム1に含まれるパケツトOUT1に出力され
る。 On the other hand, the template 23 becomes active because the output data of the D-type flip-flop 9 is set in the data 2 area, and the necessary operation, that is, the template 23 corresponds to the OR gate 10, Performs a logical sum operation. The calculated data is then output from the distributor 21 to the packet OUT1 included in the input/output subsystem 1 via the common bus 4.
続いて、入出力サブシステム1には、次のクロ
ツクパルスに対応する次の単位時間における入力
データが与えられ、上述の動作を繰返して各単位
時間におけるシミユレーシヨンが行なわれる。こ
の場合、機能メモリ3のエリア31のデータの項
には前述のごとく或る世代において動作したDタ
イプフリツプフロツプ9の出力データがセツトさ
れているので、次の世代において入力2が変化し
たデータが与えられれば、機能メモリ3からのデ
ータを読込むことにより、Dタイプフリツプフロ
ツプ9の出力データが演算される。 Subsequently, input data for the next unit time corresponding to the next clock pulse is given to the input/output subsystem 1, and the above-described operation is repeated to perform a simulation for each unit time. In this case, the output data of the D-type flip-flop 9 that operated in a certain generation is set in the data section of the area 31 of the functional memory 3, so that if the input 2 changes in the next generation, If the data is given, the output data of the D type flip-flop 9 is calculated by reading the data from the functional memory 3.
上述のごとく、シミユレーシヨンされるべきデ
イジタル回路に含まれる各素子に関するデータを
各素子ごとにテンプレートにセツトすることによ
つて実行プログラムを作成することができ、シミ
ユレーシヨンされるべきデイジタル回路と実行プ
ログラムとの整合性をとることができる。そし
て、各素子に対応する演算順序はテンプレートに
セツトされるデータのみによつて規定され、それ
以外の順序規定を不要にすることができる。ま
た、機能メモリ3に複数のフリツプフロツプのよ
うな履歴依存系素子に関するデータを記憶するた
めのエリアを個別的に設けたので、シミユレーシ
ヨンされるべきデイジタル回路に複数のフリツプ
フロツプが設けられていても、それぞれのフリツ
プフロツプについて実行制御ユニツト2から機能
メモリ3をアクセスすることが可能となる。 As mentioned above, an execution program can be created by setting data regarding each element included in the digital circuit to be simulated in a template for each element, and the relationship between the digital circuit to be simulated and the execution program can be created. It is possible to maintain consistency. The calculation order corresponding to each element is defined only by the data set in the template, and other order definitions can be made unnecessary. Furthermore, since the functional memory 3 is provided with individual areas for storing data related to history-dependent elements such as multiple flip-flops, even if multiple flip-flops are provided in the digital circuit to be simulated, each It becomes possible to access the functional memory 3 from the execution control unit 2 for the flip-flops.
なお、或る世代の処理において、機能メモリ3
にセツトされた書込データに変化がなくかつその
次の世代の入力が直前の世代の入力と同じであれ
ば、その次の世代でDタイプフリツプフロツプ9
の出力は変化しない。したがつて、このような場
合には、入出力サブシステム1は入力パケツトの
転送を行なわずに、前の世代の出力パケツトのデ
ータをそのまま出力するようにすれば、演算の必
要のない世代をスキツプすることができ、処理効
率を高めることができる。また、実行制御ユニツ
ト2を複数設け、各世代ごとに各実行制御ユニツ
ト2を割当てるようにすれば、たとえ複雑なデイ
ジタル回路であつても、各実行制御ユニツト2が
演算を均等に分担することができる。その結果、
シミユレーシヨンされるべきデイジタル回路に含
まれる並列処理部分がたとえ多くても極めて高速
に処理することができる。 Note that in a certain generation of processing, the functional memory 3
If there is no change in the write data set in , and the input of the next generation is the same as the input of the immediately previous generation, the D type flip-flop 9 will be activated in the next generation.
The output of does not change. Therefore, in such a case, if the input/output subsystem 1 outputs the data of the output packet of the previous generation as it is without forwarding the input packet, the generation that does not require calculation can be saved. can be skipped, improving processing efficiency. Furthermore, by providing a plurality of execution control units 2 and assigning each execution control unit 2 to each generation, each execution control unit 2 can equally share the calculations even in a complex digital circuit. can. the result,
Even if the digital circuit to be simulated includes many parallel processing parts, it can be processed at extremely high speed.
さらに、上述の実施例では、実行制御ユニツト
2内に複数のテンプレート22ないし24と
ALU26とを設けたが、ALU26を分離して演
算装置として複数設け、実行制御ユニツト2も複
数設けるようにしてもよい。そうすれば、複数の
並列回路を同時に処理できるため、高速なシミユ
レーシヨンを可能にできる。 Furthermore, in the embodiment described above, the execution control unit 2 includes a plurality of templates 22 to 24.
Although the ALU 26 is provided, a plurality of ALUs 26 may be separated and provided as arithmetic units, and a plurality of execution control units 2 may also be provided. In this way, multiple parallel circuits can be processed simultaneously, making high-speed simulation possible.
以上のように、この発明によれば、デイジタル
回路に含まれる各素子に関するデータを記憶して
おくとともに、履歴依存素子については着目する
世代より以前の世代のデータを記憶しておき、各
素子について入力データが設定されるかあるいは
履歴依存素子に関して入力データとともに履歴デ
ータが設定されたことに応じてデータの設定され
た素子に関する演算を実行するようにしたので、
シミユレートされるべきデイジタル回路に対応す
る実行プログラムを作成することができる。そし
て、シミユレーシヨンの実行順序は各素子に関す
るデータがすべて設定されているか否かによつて
規定され、それ以外の順序規定を不要にすること
ができる。したがつて、並列性を有するデイジタ
ル回路のシミユレーシヨンを比較的簡単な構成で
実行することができる。 As described above, according to the present invention, data regarding each element included in a digital circuit is stored, and for history-dependent elements, data of a generation earlier than the generation of interest is stored. In response to input data being set or history data being set together with input data for a history-dependent element, operations are performed on the element for which data has been set.
An executable program can be created that corresponds to the digital circuit to be simulated. The simulation execution order is determined depending on whether all data regarding each element has been set, and other order regulations can be made unnecessary. Therefore, simulation of a parallel digital circuit can be performed with a relatively simple configuration.
第1図はこの発明の一実施例の概略ブロツク図
である。第2図は第1図に示す入出力サブシステ
ムの概略ブロツク図である。第3図は第1図に示
す実行制御ユニツトの概略ブロツク図である。第
4図は実行制御ユニツトに含まれるテンプレート
に記憶されるデータを示す図である。第5図は第
1図に示す機能メモリに記憶されるデータを示す
図である。第6A図ないし第6C図はパケツトを
示す図である。第7図はこの発明の一実施例によ
つてシミユレーシヨンされるべきデイジタル回路
の一例を示す図である。
図において、1は入出力サブシステム、11な
いし13は入力パケツト、14はアービタ、15
ないし17は出力パケツト、18はデイストリビ
ユータ、2は実行制御ユニツト、21はデイスト
リビユータ、22ないし24はテンプレート、2
5はアービタ、26はALU、3は機能メモリ、
8はNANDゲート、9はDタイプフリツプフロツ
プ、10はORゲートを示す。
FIG. 1 is a schematic block diagram of one embodiment of the present invention. FIG. 2 is a schematic block diagram of the input/output subsystem shown in FIG. FIG. 3 is a schematic block diagram of the execution control unit shown in FIG. 1. FIG. 4 is a diagram showing data stored in a template included in the execution control unit. FIG. 5 is a diagram showing data stored in the functional memory shown in FIG. 1. Figures 6A to 6C are diagrams showing packets. FIG. 7 is a diagram showing an example of a digital circuit to be simulated according to an embodiment of the present invention. In the figure, 1 is an input/output subsystem, 11 to 13 are input packets, 14 is an arbiter, and 15 is an input/output subsystem.
1 to 17 are output packets, 18 is a distributor, 2 is an execution control unit, 21 is a distributor, 22 to 24 are templates, 2
5 is the arbiter, 26 is the ALU, 3 is the functional memory,
8 is a NAND gate, 9 is a D-type flip-flop, and 10 is an OR gate.
Claims (1)
るデータを用いて次の世代のデータが処理される
ような履歴依存素子とを含むデイジタル回路をシ
ミユレートするデイジタル回路シミユレーシヨン
装置であつて、 前記各素子に入力されるべき入力データを設定
するための入力設定手段、 前記履歴依存素子の前記或る処理実行以前の世
代の履歴データを記憶する履歴データ記憶手段、 前記各素子に関するデータを各論理素子ごとに
記憶する複数の素子データ記憶手段、および 前記複数の素子データ記憶手段のいずれかに前
記入力設定手段から入力データが設定されるかあ
るいは前記入力データとともに前記履歴データ記
憶手段からのデータが設定されたことに応じて、
データの設定された素子に関する演算を実行する
実行制御手段を備えた、デイジタル回路シミユレ
ーシヨン装置。 2 前記実行制御手段は前記演算の実行によつて
得られた結果のデータを当該素子の出力が接続さ
れる素子に対応する素子データ記憶手段に設定す
るための手段を含む、特許請求の範囲第1項記載
のデイジタル回路シミユレーシヨン装置。 3 前記実行制御手段は、前記履歴依存素子の次
の世代における演算の実行によつて得られた結果
のデータを前記履歴データ記憶手段の前記或る実
行世代前のデータに代えて記憶させる手段を含
む、特許請求の範囲第1項記載のデイジタル回路
シミユレーシヨン装置。[Scope of Claims] 1. A digital circuit simulation device that simulates a digital circuit including a logic element and a history-dependent element in which data of the next generation is processed using data of a generation before execution of a certain process. Input setting means for setting input data to be input to each of the elements; history data storage means for storing history data of a generation before execution of the certain process of the history-dependent element; and information regarding each of the elements. a plurality of element data storage means for storing data for each logic element; and input data is set from the input setting means to any of the plurality of element data storage means, or the history data storage means is set together with the input data. Depending on the data set from
A digital circuit simulation device comprising execution control means for executing calculations regarding elements for which data has been set. 2. The execution control means includes means for setting data resulting from the execution of the calculation into an element data storage means corresponding to an element to which the output of the element is connected. The digital circuit simulation device according to item 1. 3. The execution control means includes means for storing result data obtained by execution of the calculation in the next generation of the history-dependent element in place of the data of the certain execution generation previous in the history data storage means. A digital circuit simulation device as claimed in claim 1.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57182000A JPS5971553A (en) | 1982-10-15 | 1982-10-15 | Simulation device for digital circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57182000A JPS5971553A (en) | 1982-10-15 | 1982-10-15 | Simulation device for digital circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5971553A JPS5971553A (en) | 1984-04-23 |
| JPS6235699B2 true JPS6235699B2 (en) | 1987-08-03 |
Family
ID=16110566
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57182000A Granted JPS5971553A (en) | 1982-10-15 | 1982-10-15 | Simulation device for digital circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5971553A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02122893A (en) * | 1988-10-31 | 1990-05-10 | Meidensha Corp | Anaerobic treatment equipment |
-
1982
- 1982-10-15 JP JP57182000A patent/JPS5971553A/en active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02122893A (en) * | 1988-10-31 | 1990-05-10 | Meidensha Corp | Anaerobic treatment equipment |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5971553A (en) | 1984-04-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Nanya et al. | TITAC: Design of a quasi-delay-insensitive microprocessor | |
| US4868735A (en) | Interruptible structured microprogrammed sixteen-bit address sequence controller | |
| JPH0516054B2 (en) | ||
| JPH0738202B2 (en) | Full event trace gatherer for logic simulation machines | |
| US4584642A (en) | Logic simulation apparatus | |
| WO1983001133A1 (en) | Microprocessor with memory having interleaved address inputs and interleaved instruction and data outputs | |
| US6901359B1 (en) | High speed software driven emulator comprised of a plurality of emulation processors with a method to allow high speed bulk read/write operation synchronous DRAM while refreshing the memory | |
| JPS6235699B2 (en) | ||
| US5245549A (en) | Gate addressing system for logic simulation machine | |
| US3238508A (en) | Logical manipulator | |
| JP2638613B2 (en) | Programmable accelerator and method thereof | |
| US7516059B2 (en) | Logical simulation device | |
| Bayliss et al. | The interface processor for the Intel VLSI 432 32-bit computer | |
| US7043417B1 (en) | High speed software driven emulator comprised of a plurality of emulation processors with improved multiplexed data memory | |
| JPS6235700B2 (en) | ||
| US9721048B1 (en) | Multiprocessing subsystem with FIFO/buffer modes for flexible input/output processing in an emulation system | |
| JPS60173483A (en) | Logical circuit simulation system | |
| US7089538B1 (en) | High speed software driven emulator comprised of a plurality of emulation processors with a method to allow memory read/writes without interrupting the emulation | |
| JP2717850B2 (en) | Parallel computer with high-speed communication mechanism | |
| JPS6244843A (en) | Simulator | |
| JP2729061B2 (en) | Zero-delay operation processing method for simulation equipment | |
| JP2581214B2 (en) | Logic simulator | |
| JP2797128B2 (en) | Logic simulator | |
| JP2755646B2 (en) | Data driven data processor | |
| JPH04225475A (en) | Logic simulation machine and processing method |