JP2000105780A - Logical simulation system - Google Patents

Logical simulation system

Info

Publication number
JP2000105780A
JP2000105780A JP10274896A JP27489698A JP2000105780A JP 2000105780 A JP2000105780 A JP 2000105780A JP 10274896 A JP10274896 A JP 10274896A JP 27489698 A JP27489698 A JP 27489698A JP 2000105780 A JP2000105780 A JP 2000105780A
Authority
JP
Japan
Prior art keywords
value
gate
simulation
input
values
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.)
Pending
Application number
JP10274896A
Other languages
Japanese (ja)
Inventor
Takashi Yamauchi
尚 山内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP10274896A priority Critical patent/JP2000105780A/en
Publication of JP2000105780A publication Critical patent/JP2000105780A/en
Pending legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a logical simulation system for executing a quaternary simulation at a high speed. SOLUTION: The reading processing of circuit information is performed (a step 102), and a part to which it is necessary to perform an arithmetic operation is limited by using a high impudence value Z (a step 103). In this step, a gate, whose input values are the Z value and an indefinite value X and whose output values are the same, is retrieved, and a logic for converting the input of the gate from the Z value into the X value is inserted, and ternary simulation is operated to the gate, and quaternary simulation is operated to the other gates. Afterwards, a simulation code is generated (a step 105). The quaternary simulation is expressed by using each one bit of two words, and plural patterns are made correspond to each bit.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は論理シミュレーショ
ン方式に係り、特に4値を使用した論理シミュレーショ
ン方式に関する。
The present invention relates to a logic simulation system, and more particularly, to a logic simulation system using four values.

【0002】[0002]

【従来の技術】論理設計した大規模半導体集積回路(L
SI)が、設計したように正常に動作するかどうかなど
を試験するために、LSIを実際に製造する前に論理シ
ミュレーションを行うことが従来より行われている。こ
の論理シミュレーションにおいては、近年益々高密度
化、多機能化しているLSIの動作試験や機能試験にあ
って、特に高速演算処理できることが望まれている。
2. Description of the Related Art Logic-designed large-scale semiconductor integrated circuits (L
Conventionally, a logic simulation is performed before actually manufacturing an LSI in order to test whether the SI operates normally as designed. In this logic simulation, it is desired to be able to perform particularly high-speed arithmetic processing in the operation test and the function test of an LSI which has been increasing in density and becoming multifunctional in recent years.

【0003】そこで、シミュレートされる論理装置の各
ゲートの入出力の状態変化などを記憶する各種メモリへ
のアクセスを並列化し、処理のパイプラインを施すよう
にした論理シミュレーション方式が従来より知られてい
る(特開昭59−3652号公報)。この従来の論理シ
ミュレーション方式では、ニュー・イベント・メモリ
と、ニュー・ステータス・メモリと、ファンアウト・メ
モリと、ニュー・ステータス・メモリの各ゲート毎にそ
のゲートへの入力状態が格納されるインプット・ベクタ
・メモリと、アドレス・メモリ、ゲートの属性によって
定まる相対値がニュー・ステータス・メモリの各ゲート
毎に格納されている辞書アドレスメモリと、インプット
・ベクタ・メモリ及び辞書アドレスメモリの内容によっ
て定まる位置にそのゲートの新たな出力状態が定義され
ている辞書メモリとを備え、各メモリを並列的にアクセ
ス可能に構成すると共に、ニュー・イベント・メモリの
内容に基づいてニュー・ステータス・メモリ及びファン
アウト・メモリの参照がされ、インプット・ベクタ・メ
モリの内容がニュー・ステータス・メモリ及びファンア
ウト・メモリの情報によって更新され、インプット・ベ
クタ・メモリ及び対応する辞書アドレスメモリの内容に
よって決定される辞書メモリの内容が、新たなゲート出
力となるようにしてシミュレートする構成である。
[0003] Therefore, a logic simulation method has been conventionally known in which accesses to various memories for storing state changes of input / output of each gate of a logic device to be simulated are parallelized and a processing pipeline is applied. (JP-A-59-3652). In this conventional logic simulation method, a new event memory, a new status memory, a fan-out memory, and an input state in which an input state to each gate of the new status memory is stored for each gate. A dictionary address memory in which relative values determined by the attributes of the vector memory, the address memory, and the gate are stored for each gate of the new status memory, and a position determined by the contents of the input vector memory and the dictionary address memory. And a dictionary memory in which a new output state of the gate is defined. Each of the memories is configured to be accessible in parallel, and a new status memory and a fan-out based on the contents of the new event memory are provided.・ Memory is referenced and input vector memo The contents of the dictionary memory determined by the contents of the input vector memory and the corresponding dictionary address memory become new gate outputs. This is a configuration to simulate.

【0004】また、特に4値をシミュレーションする論
理シミュレーション方式としては、従来は図14(A)
や(B)に示す方法が通常使用されている。すなわち、
0と1の2値のみを用いたシミュレーションの場合は、
例えば回路をアセンブラーコードに落とす方式の場合、
ANDゲートはそのままAND命令に変換する等、直接
的変換でシミュレートすることが可能であった。しか
し、4値の演算を正確に行うためには、ANDゲート1
つをモデル化するにも非常に複雑となっているため、通
常は図14(A)や(B)に示す方法、あるいはこれを
アセンブラー化する方法により4値をシミュレーション
している。
[0004] In particular, as a logic simulation method for simulating quaternary values, FIG.
And (B) are usually used. That is,
In the case of a simulation using only two values of 0 and 1,
For example, in the case where the circuit is dropped into assembler code,
The AND gate could be simulated by direct conversion, such as by directly converting it to an AND instruction. However, in order to perform the quaternary operation accurately, the AND gate 1
Since it is very complicated to model one, four values are usually simulated by the method shown in FIGS. 14A and 14B or the method of assembling the same.

【0005】図14(A)は、答がなるべく早くでるよ
うに条件判定をし、答を求める方法である。図14
(B)は信号aとbのコードを表す値を各演算のベース
アドレスに加算して、その入力論理に対する出力をテー
ブルから求める方法である。図14(B)に示す論理シ
ミュレーション方式では、コードは0、1、X及びZに
対し、それぞれ00、01、10及び11が使用されて
おり、同図中、右のテーブルの一番左の数字はアドレ
ス、真ん中は入力のコードをコンカチネートしたときの
表現、一番右の数字が答を示す。ここでは、0から15
アドレスまでがANDゲートの真理値表で、16以降が
ORゲートの真理値表を示す。
FIG. 14A shows a method of determining a condition so that an answer is obtained as soon as possible, and obtaining an answer. FIG.
(B) shows a method in which the values representing the codes of the signals a and b are added to the base address of each operation, and the output corresponding to the input logic is obtained from a table. In the logic simulation method shown in FIG. 14B, 00, 01, 10 and 11 are used for codes 0, 1, X and Z, respectively. The number is the address, the middle is the expression when the input code is concatenated, and the rightmost number indicates the answer. Here, 0 to 15
The truth table of the AND gate is shown up to the address, and the truth table of the OR gate is shown after 16.

【0006】[0006]

【発明が解決しようとする課題】しかるに、通常、直接
的にANDゲートの演算をAND命令に変換する手法
は、2値しか扱えないので、仮に4値シミュレーション
を行うために4値のすべての組み合わせに対応して正し
い演算が行えるようにコード生成をしたとしても、非常
に演算が複雑なものとなり、あまり大きなシミュレーシ
ョン速度の改善は得られない。また、図14(A)に示
した従来の論理シミュレーション方式では、ビット値の
比較を行っているため、1ワードのビット数を用いた並
列シミュレーションが不可能であり、また、命令コード
が多く、ビットの値を使用した分岐を使用しているの
で、パイプラインCPUでの演算に向かず、更に演算数
も多く、その結果、シミュレーション速度が向上しない
という問題がある。
However, since the method of directly converting the operation of the AND gate into the AND instruction can only handle binary values, all combinations of the four values are required to perform a four-value simulation. However, even if code is generated so that a correct operation can be performed, the operation becomes very complicated, and a significant improvement in simulation speed cannot be obtained. Further, in the conventional logic simulation method shown in FIG. 14A, since bit values are compared, parallel simulation using the number of bits of one word is impossible, and there are many instruction codes. Since the branch using the value of the bit is used, there is a problem that it is not suitable for the operation in the pipeline CPU, the number of operations is large, and as a result, the simulation speed is not improved.

【0007】更に、図14(B)に示した従来の論理シ
ミュレーション方式では、ビットの値を利用してテーブ
ルを検索しているので、1ワードのビット数を用いた並
列シミュレーションが不可能であり、また、最も効率良
くアセンブラー化した場合も、シフト演算と論理和演算
と和演算とメモリロードの4命令以上を必要とする。
Further, in the conventional logic simulation method shown in FIG. 14B, since a table is searched using bit values, parallel simulation using the number of bits of one word is impossible. In addition, even in the case where assembling is performed most efficiently, four or more instructions of a shift operation, an OR operation, a sum operation, and a memory load are required.

【0008】また、特開昭59−3652号公報記載の
従来の論理シミュレーション方式では、インプットベク
タメモリと辞書アドレスメモリの内容によってゲート出
力を決定するために、予めテーブルに格納しておいた答
を、入力値に対応させたアドレスの位置から求める方法
であるため、プロセッサやシミュレーション部分や演算
部分が複数存在し、それを使用しての並列処理は可能で
あるが、図14(B)に示した従来方法と同様に、コン
ピュータが持っている1つの演算部のみを使用した(1
ワードのビット数を用いた)並列シミュレーションが不
可能である。
In the conventional logic simulation method described in Japanese Patent Application Laid-Open No. 59-3652, an answer previously stored in a table is determined in order to determine a gate output based on the contents of an input vector memory and a dictionary address memory. Since this is a method of obtaining from an address position corresponding to an input value, there are a plurality of processors, simulation parts, and calculation parts, and parallel processing using them is possible, as shown in FIG. In the same manner as in the conventional method, only one operation unit of the computer is used (1.
Parallel simulation (using the number of bits in a word) is not possible.

【0009】本発明は以上の点に鑑みなされたもので、
高速に4値のシミュレーションを実行し得る論理シミュ
レーション方式を提供することを目的とする。
[0009] The present invention has been made in view of the above points,
It is an object of the present invention to provide a logic simulation method capable of executing a four-valued simulation at high speed.

【0010】また、本発明の他の目的は、1つの演算部
のみを使用した並列処理が可能な論理シミュレーション
方式を提供することにある。
Another object of the present invention is to provide a logic simulation system capable of performing parallel processing using only one operation unit.

【0011】[0011]

【課題を解決するための手段】上記の目的を達成するた
め、本発明は4値シミュレーションをする回路の情報を
読み込む第1のステップと、読み込んだ回路の情報に基
づき、回路を4値シミュレーションをする回路部と3値
シミュレーションをする回路部とに切り分ける第2のス
テップと、第2のステップにより切り分けた回路部のそ
れぞれに関するシミュレーションコードを生成する第3
のステップとを含むことを特徴とする。この発明では、
すべての回路部を4値シミュレーションするのではな
く、3値シミュレーション可能な回路部は3値シミュレ
ーションを行う。
In order to achieve the above object, the present invention provides a first step of reading information of a circuit to be quaternary-simulated, and a step of executing a quaternary simulation based on the read information of the circuit. A second step of separating into a circuit section to perform the three-value simulation and a third step of generating a simulation code for each of the circuit sections separated by the second step.
And a step of: In the present invention,
Rather than performing four-value simulation on all circuit units, circuit units capable of three-value simulation perform three-value simulation.

【0012】また、本発明は、上記の第2のステップ
は、入力値としてハイインピーダンス値を持ち、かつ、
ハイインピーダンス値の入力と不定値の入力が等価であ
るゲートを、0と1と不定値の3値が入力されるゲート
とし、3値シミュレーションをする回路部とすることを
特徴とする。
In the present invention, the second step has a high impedance value as an input value, and
A gate in which the input of the high impedance value and the input of the indefinite value are equivalent is a gate to which ternary values of 0, 1, and the indefinite value are input, and is a circuit unit for performing a ternary simulation.

【0013】本発明は、4値を用いた0遅延あるいはサ
イクルベースシミュレーションを、入力値としてハイイ
ンピーダンス値を無視してシミュレーション可能な部分
に対し、0と1不定値の3値に限定した場合に有効な演
算を使用する。
The present invention relates to a case where a 0-delay or cycle-based simulation using four values is limited to three values of 0 and 1 indefinite values for a portion that can be simulated ignoring a high impedance value as an input value. Use a valid operation.

【0014】本発明は、上記の目的を達成するため、上
記の第2のステップを、ハイインピーダンス値を出力に
持つ可能性のある第1のゲートを検索する第1の検索ス
テップと、第1のゲートのファンアウト先に第1のフラ
グを設定する第1のフラグ設定ステップと、入力に第1
のフラグが設定されている第2のゲートを検索する第2
のステップと、第2のゲートのうち入力値がハイインピ
ーダンス値と不定値とで出力値が同じ第3のゲートを検
索する第3の検索ステップと、第3のゲートの入力をハ
イインピーダンス値から不定値に変換する論理を挿入す
る挿入ステップと、第3のゲートとして検索されない第
2のゲートに4値シミュレーションをするゲートである
ことを示す第2のフラグを設定する第2のフラグ設定ス
テップとを含み、第3のゲートに対して3値シミュレー
ションを行い、それ以外のゲートに対しては4値シミュ
レーションを行うことを特徴とする。
According to the present invention, in order to achieve the above object, the second step includes a first searching step of searching for a first gate which may have a high impedance value as an output, A first flag setting step of setting a first flag to a fan-out destination of the gate of
Search for a second gate with the flag set
And a third search step of searching for a third gate having the same output value as the input value of the high impedance value and the indefinite value of the second gate, and inputting the third gate from the high impedance value An insertion step of inserting logic for converting to an indefinite value, and a second flag setting step of setting a second flag indicating that the second gate which is not searched as a third gate is a gate for quaternary simulation. And a ternary simulation is performed on the third gate, and a quaternary simulation is performed on the other gates.

【0015】また、上記の目的を達成するため、本発明
は、シミュレーションコードを、シミュレーションで使
用する4値を、第1のワードと第2のワードの同一位置
の各1ビットからなる計2ビットで表現して生成される
ことを特徴とする。この発明は、すべての回路部を4値
シミュレーションするのではなく、3値シミュレーショ
ン可能な回路部は3値シミュレーションを行うことと併
せて、演算を非常に簡単にできる。
Further, in order to achieve the above object, the present invention provides a simulation code, wherein four values used in a simulation are converted into a total of two bits each consisting of one bit at the same position of a first word and a second word. It is characterized by being generated by being expressed by. According to the present invention, not all the circuit units are quaternary-simulated, but the circuit unit capable of ternary simulation can perform the ternary simulation, and the operation can be extremely simplified.

【0016】また、本発明は上記の目的を達成するた
め、それぞれNビット(Nは2以上の整数)からなる第
1及び第2のワードのM番目(M=0,1,...N−
1)の各1ビットからなる計2ビットにより、N個のパ
ターン系列のうちM番目のパターン系列の値を表現して
論理シミュレーションを行うことを特徴とする。この発
明では、使用するコンピュータの1ワードに複数パター
ンの値を入れ、1命令の実行で複数パターンのシミュレ
ーションを同時に実行できる。
Further, according to the present invention, in order to achieve the above object, the M-th (M = 0, 1,... N) of the first and second words each consisting of N bits (N is an integer of 2 or more). −
The logic simulation is performed by expressing the value of the M-th pattern sequence among the N pattern sequences by using a total of 2 bits including 1 bit of 1). According to the present invention, the values of a plurality of patterns are put in one word of a computer to be used, and the simulation of a plurality of patterns can be executed simultaneously by executing one instruction.

【0017】また、本発明は、N個のパターン系列はそ
れぞれLパターン(Lは2以上の整数)を有し、Lパタ
ーンのそれぞれについて、第1及び第2のワードのM番
目の各1ビットからなる計2ビットにより、N個のパタ
ーン系列のうちM番目のパターン系列の値を表現して論
理シミュレーションを並列に行うことを特徴とする。
Further, according to the present invention, each of the N pattern sequences has an L pattern (L is an integer of 2 or more), and for each of the L patterns, the M-th one bit of each of the first and second words. The logic simulation is performed in parallel by expressing the value of the M-th pattern sequence among the N pattern sequences using a total of 2 bits consisting of

【0018】[0018]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面と共に説明する。図1は本発明になる論理シミュ
レーション方式の一実施の形態の全体処理のフローチャ
ートを示す。同図において、処理の開始後(ステップ1
01)、まず、回路情報の読み込み処理を行い(ステッ
プ102)、続いてハイインピーダンス値Zを使用して
演算を行う必要のある部分を限定する(ステップ10
3)。回路中で4値のうち、ハイインピーダンス値Zを
使用して演算を行わなければならない部分は限られてい
ることから、Zを考慮してシミュレーションを行う部分
を限定するのである。
Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 shows a flowchart of the whole process of one embodiment of the logic simulation system according to the present invention. In the figure, after the start of the processing (step 1
01) First, a circuit information reading process is performed (step 102), and a portion that needs to be operated using the high impedance value Z is limited (step 10).
3). Of the four values in the circuit, the portion where the operation must be performed using the high impedance value Z is limited, so the portion for performing the simulation in consideration of Z is limited.

【0019】続いて、オプションとして回路最適化処理
を行い、シミュレーションに使用する演算コードを最適
化する(ステップ104)。そして、シミュレーション
コードを生成して(ステップ105)、処理を終了する
(ステップ106)。
Subsequently, an optional circuit optimization process is performed to optimize the operation code used for the simulation (step 104). Then, a simulation code is generated (step 105), and the process ends (step 106).

【0020】次に、ステップ103のZ演算必要部の限
定処理の詳細について、図2のフローチャートと共に説
明する。図2において、Z演算必要部の限定処理の開始
後(ステップ201)、まず、全ゲート検索済かどうか
判定し(ステップ202)、検索済でなければ、処理対
象のゲートが値Zを出力値として持つ可能性のあるゲー
トか否か判定し(ステップ203)、値Zを出力値とし
て持つ可能性のある処理対象のゲートについては、その
ゲートのファンアウト(F/O)先、つまり出力先の入
力にフラグを設定する処理を行う(ステップ204)。
値Zを出力値として持つ可能性のあるゲートとは、例え
ば、ワイヤードやトランスファーゲート等をいい、場合
によっては外部入力端子も該当する。
Next, the details of the process for limiting the Z operation necessary portion in step 103 will be described with reference to the flowchart of FIG. In FIG. 2, after the start of the limiting process for the Z operation necessary part (step 201), it is first determined whether all gates have been searched (step 202). If not, the gate to be processed outputs the value Z as the output value. It is determined whether or not the gate has the possibility of having the value Z (step 203). For the gate to be processed which may have the value Z as the output value, the fan-out (F / O) destination of the gate, that is, the output destination A process of setting a flag for the input is performed (step 204).
A gate that may have the value Z as an output value refers to, for example, a wired or transfer gate, and in some cases, an external input terminal.

【0021】処理対象の全ゲートについて、値Zを出力
値として持つ可能性のあるゲートか否かの判定及び値Z
を出力値として持つ可能性のある処理対象のゲートにつ
いては、そのゲートのファンアウト先の入力にフラグを
設定する処理を行うと、続いて全ゲート検索済かどうか
判定し(ステップ205)、検索済でなければ、処理対
象のゲートがステップ204でフラグが入力に設定され
ているゲートであるかどうか判定する(ステップ20
6)。
For all the gates to be processed, it is determined whether or not the gate may have the value Z as an output value.
When a process is performed to set a flag for the input of the fan-out destination of the gate for a processing target gate which may have the output value of “1”, it is then determined whether all gates have been searched (step 205). If not, it is determined whether or not the gate to be processed is the gate for which the flag is set to input in step 204 (step 20).
6).

【0022】フラグが入力に設定されているゲートであ
れば(この場合、その入力にZ値が伝搬することを意味
している)、そのゲートが入力にZが与えられた場合と
不定値Xとが与えられた場合で演算結果が等価か否かの
判定が行われる(ステップ207)。例えば、CMOS
構成のANDゲートにZの入力が入った場合、他の入力
の値によって大きな貫通電流が流れる可能性があるもの
の、通常、その真理値表は図4(A)のようになり、Z
をXに置き換えても演算結果は全く等価である。よっ
て、このような部分の入力には、ZからXに値を変換す
る論理(ZX変換器)を挿入する(ステップ209)。
これにより、この部分は3値のみを考慮したシミュレー
ションで十分となる。
If the gate is a flag whose input is set (in this case, it means that the Z value is propagated to the input), the gate is determined whether the input Z is applied to the input or the indefinite value X Is given, it is determined whether or not the calculation results are equivalent (step 207). For example, CMOS
When a Z input is input to the AND gate of the configuration, a large through current may flow depending on the value of another input. However, the truth table is usually as shown in FIG.
Is replaced by X, the operation result is completely equivalent. Therefore, a logic (ZX converter) for converting a value from Z to X is inserted into the input of such a portion (step 209).
As a result, a simulation considering only three values is sufficient for this part.

【0023】しかしながら、Z入力の演算とそれを不定
値Xに置き換えた場合の演算が異なる場合には、このゲ
ートは4値を対象としてシミュレーションする必要があ
るため、ゲートにそれを示すフラグを設定する(ステッ
プ208)。この処理を全ゲートに対して繰り返し、全
ゲートの処理が終わっていると判定されると(ステップ
205)、Z演算必要部の限定処理を終了する(ステッ
プ210)。
However, if the operation of the Z input is different from the operation when the Z input is replaced with an indefinite value X, the gate needs to be simulated with four values, so that a flag indicating this is set in the gate. (Step 208). This process is repeated for all the gates, and when it is determined that the process for all the gates has been completed (step 205), the limitation process of the Z operation necessary part is ended (step 210).

【0024】このように、この実施の形態では、4値の
シミュレーションを4値すべてが入力されることを前提
に演算を準備しておくのではなく、3値の入力しか現れ
ない部分については3値の演算をすることにより、演算
処理を高速化している。
As described above, in the present embodiment, a quaternary simulation is not prepared on the assumption that all four values are input, but a part where only ternary inputs appear is used. By performing the value calculation, the calculation process is speeded up.

【0025】次に、本発明方式による適用結果につい
て、図3の回路図と共に説明する。同図中、入力端子3
01〜305はそれぞれバッファ306〜310に接続
されている。バッファ306と307は2入力AND回
路311を介してD型フリップフロップ(以下、DFF
と記す)312のデータ入力端子に接続されている。バ
ッファ307、308の出力端子はDFF313、31
4のデータ入力端子に接続されている。DFF312及
び313の各Q出力端子は、トライステートバッファ3
16及び317を別々に介してワイヤード318で接続
され2入力ANDゲート319の一方の入力端子に接続
されている。
Next, the result of application according to the method of the present invention will be described with reference to the circuit diagram of FIG. In the figure, input terminal 3
01 to 305 are connected to buffers 306 to 310, respectively. Buffers 306 and 307 are connected to a D-type flip-flop (hereinafter referred to as DFF) via a two-input AND circuit 311.
312) is connected to the data input terminal 312. Output terminals of the buffers 307 and 308 are DFFs 313 and 31
4 data input terminals. Each Q output terminal of the DFFs 312 and 313 is connected to the tristate buffer 3
16 and 317 are separately connected by a wired 318 and are connected to one input terminal of a two-input AND gate 319.

【0026】DFF314のQ出力端子はANDゲート
319の他方の入力端子と2入力ANDゲート320の
一方の入力端子に接続される一方、インバータ321を
介してDFF324のデータ入力端子に接続されてい
る。ANDゲート319、320の出力端子はDFF3
22、323のデータ入力端子に接続されている。DF
F322及び323の両Q出力端子は2入力ANDゲー
ト327を介してDFF329のデータ入力端子に接続
され、DFF322及び324の両Q出力端子は2入力
ORゲート326を介してDFF331のデータ入力端
子に接続されている。また、DFF322のQ出力端子
はインバータ325に接続されており、インバータ32
5とORゲート326の両出力端子は2入力ANDゲー
ト328を介してDFF330のデータ入力端子に接続
されている。
The Q output terminal of the DFF 314 is connected to the other input terminal of the AND gate 319 and one input terminal of the two-input AND gate 320, while being connected to the data input terminal of the DFF 324 via the inverter 321. The output terminals of the AND gates 319 and 320 are DFF3
22 and 323 are connected to the data input terminals. DF
Both Q output terminals of F322 and 323 are connected to the data input terminal of DFF 329 via a 2-input AND gate 327, and both Q output terminals of DFF 322 and 324 are connected to the data input terminal of DFF 331 via a 2-input OR gate 326. Have been. The Q output terminal of the DFF 322 is connected to the inverter 325,
5 and both output terminals of the OR gate 326 are connected to the data input terminal of the DFF 330 via a two-input AND gate 328.

【0027】DFF329、330及び331の各Q出
力端子は、バッファ332、333及び334を介して
出力端子335、336及び337に接続されている。
また、バッファ309の出力端子は、DFF312、3
13、314、322、323、324、329、33
0及び331の各クロック入力端子に共通接続されてい
る。更に、バッファ310の出力端子は、トライステー
トバッファ316の制御端子及びANDゲート320の
他方の入力端子に接続される一方、インバータ315を
介してトライステートバッファ317及び334の各制
御端子にそれぞれ接続されている。
The Q output terminals of the DFFs 329, 330 and 331 are connected to output terminals 335, 336 and 337 via buffers 332, 333 and 334.
The output terminals of the buffer 309 are DFF 312, 3
13, 314, 322, 323, 324, 329, 33
0 and 331 are commonly connected to respective clock input terminals. Further, the output terminal of the buffer 310 is connected to the control terminal of the tri-state buffer 316 and the other input terminal of the AND gate 320, while being connected to the control terminals of the tri-state buffers 317 and 334 via the inverter 315, respectively. ing.

【0028】ここで、外部入力端子301〜305に
は、ハイインピーダンス値Zが設定されていないものと
すると、通常のCMOS系の構成の場合、出力にZ値を
持つゲートは、図3の回路では、トライステートバッフ
ァ316、317及び334のみである。また、通常、
シミュレーション時には、複数の出力信号が配線をドラ
イブしている場合は、その配線上にワイヤード等のシミ
ュレーション上の演算子が必要である。よって、シミュ
レーション上は更にワイヤード318がZ値を持つ。
Here, assuming that the high impedance value Z is not set to the external input terminals 301 to 305, in the case of a normal CMOS system configuration, the gate having the Z value at the output is the circuit shown in FIG. Here, only the tri-state buffers 316, 317 and 334 are provided. Also, usually
At the time of the simulation, if a plurality of output signals drive the wiring, a simulation operator such as wired is required on the wiring. Therefore, in the simulation, the wired 318 further has a Z value.

【0029】よって、この回路では、トライステートバ
ッファ316、317及び334とワイヤード318で
4値の演算が必要であり、そのファンアウト先にもZ値
は伝搬し、ANDゲート319及び出力端子337にも
Z値が伝搬するが、ANDゲート319は、通常は図5
(B)に示すような演算となり、入力値としてハイイン
ピーダンス値Zが与えられた場合の演算結果は、不定値
Xが与えられた場合の演算結果と同じであるため、Z値
をX値に変換する演算子をANDゲート319の間に挿
入することにより、ANDゲート319は3値のみを対
象としたAND演算を行ってもよいことになる。
Therefore, in this circuit, a 4-value operation is required by the tri-state buffers 316, 317 and 334 and the wired 318, and the Z value is propagated to the fan-out destination, and the Z value is transmitted to the AND gate 319 and the output terminal 337. Although the Z value also propagates, the AND gate 319 normally operates as shown in FIG.
(B), the calculation result when the high impedance value Z is given as the input value is the same as the calculation result when the indefinite value X is given. By inserting the operator to be converted between the AND gates 319, the AND gate 319 may perform an AND operation on only three values.

【0030】従って、この回路においては、一応、トラ
イステートバッファ316、317及び334とワイヤ
ード318と出力端子337で4値の演算が必要で、そ
の他の部分は、3値のみで演算可能であるということに
なる。外部入力端子に2値が入力される可能性がある場
合は、更に外部入力端子の後ろにZ値からX値への変換
演算子を挿入する必要がある。ただし、後述するが、ト
ライステートバッファにおいても、出力としてはZ値は
区別して持つ必要があるものの、通常は入力値のZ値は
X値と等価に扱っても問題がない。このため、この回路
では、入力値としてもZ値を使用する必要がある部分
は、通常の場合、ワイヤード318に限定される。
Therefore, in this circuit, it is necessary to calculate four values in the tristate buffers 316, 317 and 334, the wired 318 and the output terminal 337, and the other parts can be calculated only in three values. Will be. If there is a possibility that a binary value will be input to the external input terminal, it is necessary to further insert a conversion operator from the Z value to the X value after the external input terminal. However, as will be described later, in the tri-state buffer as well, although it is necessary to distinguish the Z value as an output, there is usually no problem even if the Z value of the input value is treated equivalently to the X value. For this reason, in this circuit, the portion that needs to use the Z value as the input value is usually limited to the wired 318.

【0031】次に、演算時のコードの対応のさせ方と演
算について説明する。この実施の形態では、4値を1ワ
ードの2ビットを使用して表現するのではなく、別々の
2ワードの1ビットずつを使用して表現し、演算を行う
ことを特徴とする。各信号に対する値は、メモリ領域あ
るいはレジスタで表現して、以下のように表して説明す
ることとする。
Next, a description will be given of how the codes are made to correspond to each other at the time of calculation and the calculation. This embodiment is characterized in that a quaternary value is not expressed using two bits of one word, but is expressed using one bit of two separate words, and an operation is performed. The value for each signal is represented by a memory area or a register and described as follows.

【0032】値の表現は、第1ワードと第2ワードに分
けて表現する。例えば、図4(A)の対応を使用した場
合、第1ワードa1の第0ビットと第2ワードa2の第
0ビットの2つで値を表し、a1とa2がそれぞれ0と
0のとき論理値0を表し、a1とa2がそれぞれ1と1
のとき論理値1を表し、a1とa2がそれぞれ0と1の
とき不定値Xを表し、a1とa2がそれぞれ1と0のと
きハイインピーダンス値Zを表す。詳細は後述するが、
2パターン系列の並列処理をする場合は、一例として、
a1の0ビット目とa2の0ビット目で第1のパターン
系列の値を表し、a1の1ビット目とa2の1ビット目
で第2のパターン系列の値を表すこととなる。
The value is expressed by dividing it into a first word and a second word. For example, when the correspondence shown in FIG. 4A is used, the value is represented by two bits, that is, the 0th bit of the first word a1 and the 0th bit of the second word a2, and the logic is obtained when a1 and a2 are 0 and 0, respectively. Represents the value 0 and a1 and a2 are 1 and 1 respectively
Represents a logical value 1, a1 and a2 represent an indefinite value X when 0 and 1, respectively, and a1 and a2 represent a high impedance value Z when a1 and a2 respectively represent 1 and 0. Details will be described later,
When performing parallel processing of two pattern sequences, for example,
The 0th bit of a1 and the 0th bit of a2 represent the value of the first pattern sequence, and the 1st bit of a1 and the 1st bit of a2 represent the value of the second pattern sequence.

【0033】つまり、第1のパターン系列の値は、第1
ワードa1の第0ビットと第2ワードa2の第0ビット
の2ビットで表し、a1とa2がそれぞれ0と0のとき
論理値0を表し、a1とa2がそれぞれ1と1のとき論
理値1を表し、a1とa2がそれぞれ0と1のとき不定
値Xを表し、a1とa2がそれぞれ1と0のときハイイ
ンピーダンス値Zを表す。また、第2のパターン系列の
値は、第1ワードa1の第1ビットと第2ワードa2の
第1ビットの2ビットで表し、a1とa2がそれぞれ0
と0のとき論理値0を表し、a1とa2がそれぞれ1と
1のとき論理値1を表し、a1とa2がそれぞれ0と1
のとき不定値Xを表し、a1とa2がそれぞれ1と0の
ときハイインピーダンス値Zを表す。このように、表現
した場合、Z値の現れない回路の部分では、各演算は以
下のように簡単化することが可能である。
That is, the value of the first pattern series is
It is represented by two bits, that is, the 0th bit of the word a1 and the 0th bit of the second word a2. When a1 and a2 are 0 and 0, respectively, the logical value is 0. When a1 and a2 are 1 and 1, respectively, the logical value is 1. When a1 and a2 are 0 and 1, respectively, it represents an indefinite value X, and when a1 and a2 are 1 and 0, respectively, it represents a high impedance value Z. The value of the second pattern sequence is represented by two bits, that is, the first bit of the first word a1 and the first bit of the second word a2.
And 0 represent a logical value 0, a1 and a2 represent a logical value 1 when they are 1 and 1, respectively, and a1 and a2 represent 0 and 1 respectively.
Represents an indefinite value X, and a1 and a2 represent a high impedance value Z when they are 1 and 0, respectively. In this way, when expressed, in the portion of the circuit where the Z value does not appear, each operation can be simplified as follows.

【0034】AND演算の場合、図5(A)のようにす
ることができる。すなわち、図5(A)は4値シミュレ
ーション時に3値のみを対象としてAND演算を行うと
きの演算を示したもので、 c1=a1 AND b1 c2=a2 AND b2 で表される。本表記では、c1はa1とb1のAND演
算結果であり、c2はa2とb2のAND演算結果であ
ることを示している。
In the case of an AND operation, the operation can be performed as shown in FIG. That is, FIG. 5A shows an operation when an AND operation is performed on only three values in a four-value simulation, and is represented by c1 = a1 AND b1 c2 = a2 AND b2. In this notation, c1 indicates the result of the AND operation of a1 and b1, and c2 indicates the result of the AND operation of a2 and b2.

【0035】つまり、通常のANDゲートの真理値表は
図5(B)に示す通りであるが、図5(A)に示す演算
を行うと、図5(C)に示すような演算結果が得られ
る。図5(C)において、aに関する表記は、左側がa
1を表し、右側がa2を表すものとしている。また、b
に関しても、左側がb1を表し、右側がb2を表すもの
としている。また、演算結果に関しても、左側がc1を
表し 右側がc2を表すものとしている。以後、後出の
同類の表に関しては、表記法は本表と同様である。
That is, the truth table of the ordinary AND gate is as shown in FIG. 5B, but when the operation shown in FIG. 5A is performed, the operation result as shown in FIG. can get. In FIG. 5 (C), the notation regarding a
1 and a2 on the right side. Also, b
As for, the left side represents b1 and the right side represents b2. As for the calculation result, the left side indicates c1 and the right side indicates c2. Hereinafter, the notation is the same as that of this table for the following similar tables.

【0036】図5(C)に示す演算結果を論理値の表現
に直すと、図5(D)に示される。この図5(D)に示
す演算結果を図5(A)に示した通常のANDゲートの
真理値表と比較すると、Z入力に対する演算結果は不正
確であるが、0、1及びXの3値の入力に限定した演算
に対しては正確な演算結果が得られることが分かる。
When the operation result shown in FIG. 5C is converted into a logical value, it is shown in FIG. 5D. When the operation result shown in FIG. 5D is compared with the truth table of the ordinary AND gate shown in FIG. 5A, the operation result for the Z input is inaccurate, but 0, 1, and 3 of X It can be seen that an accurate operation result can be obtained for the operation limited to the input of the value.

【0037】コードの対応のさせ方は、図4(B)のよ
うにXとZをこの方法とは反対に対応させても、同様の
結果が得られる。また、図4(C)や図4(D)のよう
にシミュレーション値の0と1を図4(A)や図4
(B)のように反対に対応させる場合は、演算にORを
使用する必要が生じるが、演算の数は2のままとなる。
例えば、図4(D)の対応を使用した場合は、Zを含ま
ない3値でのAND演算は以下のようになる c1=a1 OR b1 c2=a2 OR b2 本表記では、c1はa1とb1のOR演算結果であり、
c2はa2とb2のOR演算結果であることを示してい
る。
As for the correspondence between the codes, the same result can be obtained even if X and Z correspond to each other in the opposite manner as shown in FIG. 4B. Also, as shown in FIG. 4C and FIG.
In the case of the opposite correspondence as in (B), it is necessary to use OR for the operation, but the number of operations remains two.
For example, when the correspondence of FIG. 4D is used, an AND operation with three values not including Z is as follows. C1 = a1 OR b1 c2 = a2 OR b2 In this notation, c1 is a1 and b1 OR operation result of
c2 indicates the result of the OR operation of a2 and b2.

【0038】値の対応として、図4(A)、図4
(B)、図4(C)及び図4(D)以外を使用すること
も可能である。例えば、一般的に使用されている方式と
して、第1ワードに値を入れ、第2ワードが0の時確定
値を表し、1の時は第1ワードの値に従って、XかZを
表す方式の場合、例えば図4(E)の対応を使用した場
合に、3値のAND演算を行う場合は、多少複雑となる
が、例えば、以下のように定義可能である。
FIG. 4A and FIG.
It is also possible to use other than (B), FIG. 4 (C) and FIG. 4 (D). For example, a commonly used method is to put a value in the first word, and when the second word is 0, it represents a fixed value, and when it is 1, it represents X or Z according to the value of the first word. In this case, for example, when the ternary AND operation is performed in the case where the correspondence of FIG. 4E is used, it is slightly complicated, but, for example, can be defined as follows.

【0039】c1= a1 AND b1 c2=(a1 EXOR b1) OR (a2 AN
D b2) 本表記では、c1はa1とb1のANDの演算結果であ
り、c2に関しては、a1とb1の排他的論理和をとっ
たものとa2とb2のANDをとったもののORの演算
結果であることを示している。基本的に、本発明は、い
かなるコード対応に対しても使用可能であるが、以下で
は、図4(A)の対応を用いて行うこととする。
C1 = a1 AND b1 c2 = (a1 EXOR b1) OR (a2 AN
D b2) In this notation, c1 is an AND operation result of a1 and b1, and c2 is an OR operation result of an exclusive OR of a1 and b1 and an AND of a2 and b2. Is shown. Basically, the present invention can be used for any code correspondence, but in the following, it will be performed using the correspondence of FIG.

【0040】OR演算の場合は、図4(A)の対応を用
いる場合は、図6(A)のようにすることができる。す
なわち、図6(A)は4値シミュレーション時に3値の
みを対象としてOR演算を行うときの演算を示したもの
で、 c1=a1 OR b1 c2=a2 OR b2 で表される。本表記では、c1はa1とb1のOR演算
結果であり、c2はa2とb2のOR演算結果であるこ
とを示している。
In the case of the OR operation, when the correspondence of FIG. 4A is used, the operation can be as shown in FIG. 6A. That is, FIG. 6A shows an operation when an OR operation is performed on only three values in a four-value simulation, and is represented by c1 = a1 OR b1 c2 = a2 OR b2. In this notation, c1 is the result of the OR operation of a1 and b1, and c2 is the result of the OR operation of a2 and b2.

【0041】つまり、通常のORゲートの真理値表は図
6(B)に示す通りであるが、図6(A)に示す演算を
行うと、図6(C)に示すような演算結果が得られる。
That is, the truth table of the ordinary OR gate is as shown in FIG. 6B, but when the operation shown in FIG. 6A is performed, the operation result as shown in FIG. can get.

【0042】図6(C)に示す演算結果を論理値の表現
に直すと、図6(D)に示される。この図6(D)に示
す演算結果を図6(A)に示した通常のORゲートの真
理値表と比較すると、Z入力に対する演算結果は不正確
であるが、0、1及びXの3値の入力に限定した演算に
対しては正確な演算結果が得られることが分かる。
When the operation result shown in FIG. 6C is converted into a logical value expression, it is shown in FIG. 6D. When the operation result shown in FIG. 6 (D) is compared with the truth table of the ordinary OR gate shown in FIG. 6 (A), the operation result for the Z input is inaccurate, but 0, 1, and 3 of X It can be seen that an accurate operation result can be obtained for the operation limited to the input of the value.

【0043】反転演算NOT、つまりインバータに対す
る演算は、例えば、図7(A)に示すように行うことが
できる。すなわち、図7(A)は4値シミュレーション
時に3値のみを対象としてNOT演算、つまりインバー
タに対する演算を行うときの演算式を示したもので、 c1=NOT a2 c2=NOT a1 となる。これは、入力の第2ワードa2の値の反転を出
力の第1ワードc1にあてがい、入力の第1ワードa1
の反転を出力の第2ワードc2にあてがうことを表して
いる。本表記では、c1はa2の否定演算結果であり、
c2はa1の否定演算結果であることを示している。
The inversion operation NOT, that is, the operation for the inverter, can be performed, for example, as shown in FIG. That is, FIG. 7A shows an arithmetic expression for performing NOT operation on only three values in a four-value simulation, that is, an operation for an inverter, where c1 = NOT a2 c2 = NOT a1. This applies the inversion of the value of the second word a2 of the input to the first word c1 of the output and the first word a1 of the input.
Is applied to the second word c2 of the output. In this notation, c1 is a negative operation result of a2,
c2 indicates that the result is the negative operation of a1.

【0044】基本的には、このように3値でシミュレー
ション可能な部分に対しては、前述した、3値のみを対
象とした演算を適用することにより、非常に簡単な演算
で、回路全体として4値を対象としたシミュレーション
が可能となる。
Basically, by applying the above-described operation targeting only the three values to the part that can be simulated with the three values, a very simple operation can be performed, and the entire circuit can be realized. Simulation for four values can be performed.

【0045】次に、本発明の並列処理の実施の形態につ
いて説明する。1つのパターンの演算に対する値は、2
つのワードに分けて、例えば、同一のビット位置で表現
する。例えば、第1パターンの値は、第1ワードa1の
0ビット目と第2ワードa2の0ビット目で表現し、第
2パターンの値は、第1ワードa1の1ビット目と第2
ワードa2の1ビット目で表現し、第3のパターンの値
は、第1ワードa1の2ビット目と第2ワードa2の2
ビット目で表現する。同様に表現し、最大では、ワード
を構成するビット数分のパターンを2ワードを使用して
表現する。
Next, an embodiment of the parallel processing according to the present invention will be described. The value for one pattern operation is 2
Each word is represented by, for example, the same bit position. For example, the value of the first pattern is represented by the 0th bit of the first word a1 and the 0th bit of the second word a2, and the value of the second pattern is represented by the 1st bit of the first word a1 and the second bit.
Expressed by the first bit of word a2, the value of the third pattern is the second bit of first word a1 and the second bit of second word a2.
Expressed in bits. Expressed in the same way, at the maximum, a pattern corresponding to the number of bits constituting a word is expressed using two words.

【0046】適用回路として、図8(A)に示す回路を
例にとる。同図(A)において、入力端子801(A)
はインバータ804(D)を介して2入力ANDゲート
806(F)の一方の入力端子に接続され、入力端子8
02(B)及び803(C)は2入力ORゲート805
(E)を介してANDゲート806(F)の他方の入力
端子に接続され、ANDゲート806(F)の出力端子
が出力端子807(G)に接続されている。
The circuit shown in FIG. 8A is taken as an example of the application circuit. In FIG. 9A, an input terminal 801 (A)
Is connected to one input terminal of a two-input AND gate 806 (F) via an inverter 804 (D).
02 (B) and 803 (C) are 2-input OR gates 805
(E) is connected to the other input terminal of the AND gate 806 (F), and the output terminal of the AND gate 806 (F) is connected to the output terminal 807 (G).

【0047】また、適用パターンとして図8(B)に示
すような4系列のパターンを考える。パターン長は異な
ってもよいが、ここでは、いずれも2である。今、値保
存時のメモリ上の表現と演算時のレジスタの値上の表現
はともに、2ワードを用いて表現されるものとする。ま
た、シミュレーションで使用する値とコンピュータ内部
での演算時のコードの対応のさせ方は図4(A)に示し
た例を用いるものとする。
Also, consider a four-series pattern as shown in FIG. 8B as an application pattern. The pattern length may be different, but in this case, it is 2 in each case. Now, it is assumed that the expression on the memory at the time of storing the value and the expression on the value of the register at the time of the operation are both expressed using two words. In addition, the way of associating the values used in the simulation with the codes at the time of calculation in the computer uses the example shown in FIG.

【0048】この場合、第1パターンに対する内部の値
のもち方と演算結果は、図8(C)に示される。図8
(C)では、左側をLSBとしており、0ビット目に第
1系列の値、1ビット目に第2系列の値、2ビット目に
第3系列の値、3ビット目に第4系列の値を対応させて
おり、表記上4ビット目以降は省略している。複数のゲ
ートの演算をまとめてレジスタ上で演算した方が効率的
であるが、ここでは、1つのゲートに対する演算毎に内
部の値を示している。端子Aの演算時の内部の表現形式
は831、Bの内部表現形式は832、Cの内部表現形
式は833で表されている。
In this case, the manner of retaining the internal value for the first pattern and the calculation result are shown in FIG. FIG.
In (C), the LSB is on the left side, the value of the first sequence at bit 0, the value of the second sequence at bit 1, the value of the third sequence at bit 2, and the value of the fourth sequence at bit 3. And the fourth and subsequent bits are omitted from the notation. It is more efficient to collectively perform the operations of a plurality of gates on the register. Here, the internal values are shown for each operation for one gate. The internal representation of the terminal A at the time of calculation is represented by 831, the internal representation of B is represented by 832, and the internal representation of C is represented by 833.

【0049】例えば、端子Aに対する第1パターン目の
値は、系列1が0、系列2が0、系列3が1、系列4が
Xであるが、これらは、1ワード目と2ワード目の値の
2ビットで左を1ビット目、右を2ビット目と表現する
と、図4(A)より、それぞれ、第1系列が00、第2
系列が00、第3系列が11、第4系列が01となる
が、図8(C)のAの値は831に示すように、A1に
各系列の第1ビット目の値のみを左から順に格納し、A
2に第2ビット目の値のみを左から順に格納した形にな
っている。
For example, the values of the first pattern with respect to the terminal A are 0 for series 1, 0 for series 2, 1 for series 3, and X for series 4. These values are the first and second words. When the left is expressed as the first bit and the right is expressed as the second bit in the two bits of the value, the first stream is 00 and the second stream is the second stream from FIG.
Although the sequence is 00, the third sequence is 11, and the fourth sequence is 01, the value of A in FIG. Stored in order, A
2, only the value of the second bit is stored in order from the left.

【0050】各ゲート毎に演算結果を求める場合のイン
バータDとORゲートEの演算結果の内部表現はそれぞ
れ、834、835に示されている。ANDゲートFに
より得られる最終的な演算結果の内部表現は836で表
されている。なお、Gの値はFと同様のため表記上省略
した。ここで、831−836において、各値はそれそ
れ、A、B、C、Dの演算結果、Eの演算結果、Fの演
算結果に対し、それぞれ、A1とA2、B1とB2、C
1とC2、D1とD2、E1とE2、F1とF2の2ワ
ードを使用して表現している。この値表現のもと、イン
バータ804(D)に対し図7(A)、ORゲート80
5(E)に対し図6(A)、ANDゲート806(F)
に対し図5(A)の演算を適用したものである。
The internal expressions of the operation results of the inverter D and the OR gate E when the operation result is obtained for each gate are shown by 834 and 835, respectively. The internal representation of the final operation result obtained by the AND gate F is represented by 836. Since the value of G is the same as that of F, it is omitted in the notation. Here, in 831-836, the respective values are A1 and A2, B1 and B2, and C, respectively, for the calculation results of A, B, C, and D, the calculation result of E, and the calculation result of F.
1 and C2, D1 and D2, E1 and E2, and F1 and F2. Based on this value representation, the inverter 804 (D) is connected to the OR gate 80 (FIG. 7A).
FIG. 6 (A), AND gate 806 (F) for 5 (E)
5 is applied to the calculation of FIG.

【0051】これらの演算は具体的には、以下のように
行われる。例えば、ANDゲート806(F)の演算
は、図5(A)に示すように、 F1=D1 AND E1 F2=D2 AND E2 で行われ、これらは第1パターン目では、 F1=1100 AND 0101 F2=1101 AND 0111 のように、各ワードに対し1回の演算で求められ、図8
(C)に936で示すように、 F1=0100 F2=0101 となる。
These operations are specifically performed as follows. For example, as shown in FIG. 5A, the operation of the AND gate 806 (F) is performed with F1 = D1 AND E1 F2 = D2 AND E2. In the first pattern, F1 = 1100 AND 0101 F2 = 11101 AND 0111 is obtained by one operation for each word.
As shown by 936 in (C), F1 = 0100 and F2 = 0101.

【0052】このように、本実施の形態では、4系列の
パターンに対し4回演算を行うのではなく、各ゲートに
対し1回演算を行うだけで、所望の演算結果が求められ
る。第2パターンに対する演算結果と内部の値の値の表
現は、同様に、図8(D)に示している。
As described above, in the present embodiment, a desired operation result can be obtained only by performing the operation once for each gate instead of performing the operation four times for a pattern of four sequences. Similarly, the expression of the calculation result and the internal value of the second pattern is shown in FIG.

【0053】実際には、中間ゲートの値を求める必要は
ないため、Gの演算結果を与える論理全体で、1つの演
算単位とし、レジスタ上で演算を継続することが可能で
ある。通常の論理は、図8(E)に示されるが、この表
現は、基本的に、G1に対しては、A2、B1、C1を
変数とみたときのブール演算であり、G2に対しては、
A1、B2、C2を変数とみたときのブール演算である
ため、これらを、ブール式の最適化手法を使用して、式
を変形しても、正確な答えを得ることが可能である。
Actually, since it is not necessary to obtain the value of the intermediate gate, it is possible to use the entire logic for providing the G operation result as one operation unit and continue the operation on the register. The normal logic is shown in FIG. 8 (E), and this expression is basically a Boolean operation when A2, B1, and C1 are regarded as variables for G1, and for G2. ,
Since A1, B2, and C2 are Boolean operations when viewed as variables, an accurate answer can be obtained even if these are transformed using an optimization method of a Boolean expression.

【0054】また、さらに、CPUによっては、AND
をとるときに片方の入力を反転させてANDをとるとい
う演算が1インストラクションで実行可能なものもあ
る。この例として、Sparcアーキテクチャに基づい
たCPUがある。そのようなインストラクションを使用
すると、式がさらに簡単化される場合がある。Gに対し
そのような演算を使用して簡単化したものを図8(F)
に示す。図中、「ANDN」は、左オペランドの値を反
転した後にANDをとる演算として表記した。
Further, depending on the CPU, AND
In some cases, the operation of inverting one of the inputs and taking the AND can be executed in one instruction. An example of this is a CPU based on the Spark architecture. Using such instructions may further simplify the formula. FIG. 8F shows a simplified version of G using such an operation.
Shown in In the figure, “ANDN” is described as an operation that takes AND after inverting the value of the left operand.

【0055】次に、4値を付いてシミュレーションを行
う必要がある部分に関する扱いについて説明する。4値
を扱う必要のある部分は、これまで説明してきた、AN
DやORやNOTの演算とは別に、従来手法のような演
算手法を適用することも可能であるが、以下にこれまで
に述べてきた、ANDやORやNOTの演算と同様に、
コンピュータのインストラクションに直接対応させる例
を述べる。
Next, a description will be given of how to handle a part that needs to be simulated with four values. The part that needs to handle quaternary values is the
Apart from the D, OR, and NOT operations, it is also possible to apply an operation method such as the conventional method. However, like the AND, OR, and NOT operations described below,
An example in which the instruction directly corresponds to the instruction of the computer will be described.

【0056】図9(A)、図9(B)及び図9(C)は
ワイヤード素子の演算、図10(A)、図10(B)、
図10(C)、図10(D)及び図10(E)はトライ
ステートバッファの演算、図11(A)、図11(B)
及び図11(C)は、4値の出力を持つ素子と3値の入
力を対象とした演算を持つ素子とを接続する場合に、そ
の間に挿入すべき、Z値からX値への変換器の演算を示
している。また、図12(A)、図12(B)は、4値
を用いた演算と3値を用いた演算を組み合わせて、全体
的に4値のシミュレーションを実現する例である。更
に、図13(A)、図13(B)及び図13(C)は、
4値を用いた演算と3値を用いた演算を組み合わて表現
した回路モデルを並列に処理をする場合の例を示す図で
ある。
9 (A), 9 (B) and 9 (C) show operations of wired elements, FIGS. 10 (A), 10 (B),
FIGS. 10C, 10D, and 10E show tristate buffer operations, and FIGS. 11A and 11B.
And FIG. 11C shows a Z-value to X-value converter to be inserted between an element having a quaternary output and an element having an operation for ternary input. Is shown. FIGS. 12A and 12B show an example in which a quaternary simulation is realized as a whole by combining a calculation using quaternary values and a calculation using ternary values. 13 (A), 13 (B) and 13 (C)
FIG. 9 is a diagram illustrating an example of a case where circuit models expressing combinations of operations using quaternary values and operations using ternary values are processed in parallel.

【0057】例えば、通常のCMOS系のワイヤードの
演算は、図9(B)に示される。これは完全に4値の演
算を必要とし、2ビットのコードで表した場合、図9
(C)となるが、これは図9(A)のように c1=a1 AND b1 c2=a2 OR b2 の演算に置き換えることができる。
For example, an ordinary CMOS wired operation is shown in FIG. This requires a complete four-value operation, and when represented by a 2-bit code,
(C), which can be replaced by the operation of c1 = a1 AND b1 c2 = a2 OR b2 as shown in FIG. 9 (A).

【0058】次に、トライステートバッファの演算につ
いて説明する。トライステートバッファに対し、図10
(A)に示すように、データ入力をaとし、イネーブル
入力をbとし、出力をcとした場合の演算は、通常は図
10(C)のように表すことが可能である。この場合
は、出力は4値の表現になっているが、入力に関して
は、aに対してZ値をX値に置き換えても演算結果は同
じであり、bに対しても、Z値をX値に置き換えても演
算結果は同じであるため、入力値としては、3値を使用
した演算で代用することも可能であり、例えば、図10
(B)のように、 c1=(a1 AND b1) OR (NOT(b1
OR b2)) c2=(a1 AND b2) OR ((NOT b
1) AND b2) の演算で表すことが可能である。この場合の演算結果
は、図10(D)のようになり、4値の表現にすると図
10(E)のようになる。この図10(D)に示す演算
結果は、同図(C)に示した本来の演算結果と比較する
と、入力としての値Zに関して無視をすれば、入力0、
1及びXの3値に関しては正しい演算結果を得ているこ
とがわかる。
Next, the operation of the tri-state buffer will be described. For a tristate buffer, FIG.
As shown in FIG. 10A, when the data input is set to a, the enable input is set to b, and the output is set to c, the calculation can be usually represented as shown in FIG. In this case, the output is expressed in four values. For the input, even if the Z value is replaced with the X value for a, the operation result is the same. Since the operation result is the same even if the value is replaced with the value, it is also possible to substitute an operation using three values as the input value.
As shown in (B), c1 = (a1 AND b1) OR (NOT (b1
OR b2)) c2 = (a1 AND b2) OR ((NOT b
1) AND b2). The calculation result in this case is as shown in FIG. 10D, and when expressed in four values, as shown in FIG. 10E. The operation result shown in FIG. 10 (D) is compared with the original operation result shown in FIG. 10 (C).
It can be seen that correct calculation results are obtained for the three values of 1 and X.

【0059】次に、ZからXへの変換器の演算について
説明する。この変換器では、図11(B)に示す演算に
なる必要があるが、これは、図11(C)のように表現
される。この演算は、図11(A)に示すように c1=a1 AND a2 c2=a1 OR a2 の演算で表現することが可能である。
Next, the operation of the converter from Z to X will be described. In this converter, the operation shown in FIG. 11B needs to be performed, which is expressed as shown in FIG. 11C. This operation can be represented by the operation of c1 = a1 AND a2 c2 = a1 OR a2 as shown in FIG.

【0060】次に、4値を用いた演算と3値を用いた演
算を組み合わせて、全体的に4値のシミュレーションを
実現する例について、図12(A)の回路を用いて説明
する。図12(A)中、入力端子1201、1203
は、トライステートバッファ1206、1207の入力
端子に接続され、入力端子1202、1204は120
8はトライステートバッファ1206、1207のイネ
ーブル端子に接続されている。また、入力端子1205
は2入力ANDゲート1210の一方の入力端子に接続
されている。
Next, an example of realizing a quaternary simulation by combining a calculation using quaternary values and a calculation using ternary values will be described with reference to the circuit of FIG. In FIG. 12A, input terminals 1201 and 1203 are shown.
Are connected to input terminals of tri-state buffers 1206 and 1207, and input terminals 1202 and 1204 are connected to
Reference numeral 8 is connected to the enable terminals of the tri-state buffers 1206 and 1207. Also, the input terminal 1205
Is connected to one input terminal of a two-input AND gate 1210.

【0061】また、トライステートバッファ1206及
び1207の各出力端子はワイヤード1208と変換器
1209を介してANDゲート1210の他方の入力端
子に接続されている。ここで、変換器1209は入力さ
れた回路には実在しないが、3値シミュレーションで4
値シミュレーションを実現するために必要となる、シミ
ュレーションモデル上に挿入されたZからXへの変換器
である。
The output terminals of the tri-state buffers 1206 and 1207 are connected to the other input terminal of the AND gate 1210 via a wired 1208 and a converter 1209. Here, the converter 1209 does not actually exist in the input circuit,
This is a Z-to-X converter inserted on the simulation model, which is required to realize a value simulation.

【0062】基本的に本演算は、図12(B)に示され
る。端子の横に示された値は、それぞれ、上から順に、
入力端子1201〜1205に対応した入力値である。
その他に関しては、それぞれの素子の右上にその演算結
果を示している。つまり、この入力では、2つのトライ
ステートバッファ1206及び1207の出力はともに
Zとなり、ワイヤード1208の出力もZとなる。この
ワイヤード1208の出力であるZ値は、3値演算の行
われるANDゲート1210の入力側で、ZからXへの
変換器1209によってX値に変換され、その結果AN
Dゲート1210は入力端子1205よりの値1とX値
のAND演算を行うこととなり、ANDゲート1210
の出力値および出力端子1211の値はXとなる。
Basically, this operation is shown in FIG. The values shown next to the terminals are
These are input values corresponding to the input terminals 1201 to 1205.
For other elements, the calculation results are shown at the upper right of each element. That is, at this input, the outputs of the two tri-state buffers 1206 and 1207 are both Z, and the output of the wired 1208 is also Z. The Z value output from the wired 1208 is converted to an X value by a Z-to-X converter 1209 at an input side of an AND gate 1210 where a ternary operation is performed.
The D gate 1210 performs an AND operation of the value 1 and the X value from the input terminal 1205, and the AND gate 1210
And the value of the output terminal 1211 are X.

【0063】次に、図13(A)、図13(B)、図1
3(C)を用いて、本発明方式による4値を用いた演算
と3値を用いた演算を組み合わせて表現した回路モデル
に対して並列処理をする場合について説明する。適用回
路モデルは、図12(A)に示す回路と等価な回路を用
いるものとする。図13(B)、(C)中、記号A,
B,C,D,E,F,G,H,J,K,Lは、それぞ
れ、図12(A)中の1201、1202、1203、
1204、1205、1206、1207、1208、
1209、1210、1211と同一構成部分を表す。
Next, FIG. 13 (A), FIG. 13 (B), FIG.
3 (C), a case will be described in which parallel processing is performed on a circuit model expressed by combining the operation using quaternary values and the operation using ternary values according to the method of the present invention. As an applied circuit model, a circuit equivalent to the circuit illustrated in FIG. In FIGS. 13B and 13C, symbols A,
B, C, D, E, F, G, H, J, K, and L are, respectively, 1201, 1202, and 1203 in FIG.
1204, 1205, 1206, 1207, 1208,
1209, 1210, and 1211 represent the same components.

【0064】図13(A)は適用するパターン系列を示
す。適用するパターン系列は4系列とし、各系列は2パ
ターンずつで構成されているものとする。第1パターン
目のシミュレーションの様子を図13(B)に、第2パ
ターン目のシミュレーションの様子を図13(C)に示
す。
FIG. 13A shows a pattern sequence to be applied. It is assumed that there are four pattern sequences to be applied, and each sequence is composed of two patterns. FIG. 13B shows the state of the simulation of the first pattern, and FIG. 13C shows the state of the simulation of the second pattern.

【0065】図13(B)と図13(C)の中で、各要
素を示す記号に1と2の数字についたものは、ぞれぞ
れ、その素子のシミュレーション値の1ワード目と2ワ
ード目を示す。例えば、A1はAの1ワード目の値、A
2はAの2ワード目の値を示す。各ワードの値は、左か
ら系列1の値、系列2の値、系列3の値、系列4の値を
示している。また、シミュレーションで使用する値とコ
ンピュータ内部での演算時のコードの対応のさせ方は図
4(A)に示した例を用いるものとする。
In FIG. 13B and FIG. 13C, the symbols indicating the elements and the numbers 1 and 2 are the first word and the second word of the simulation value of the element, respectively. Indicates the word. For example, A1 is the value of the first word of A, A
2 indicates the value of the second word of A. The value of each word indicates the value of series 1, the value of series 2, the value of series 3, and the value of series 4 from the left. In addition, the way of associating the values used in the simulation with the codes at the time of calculation in the computer uses the example shown in FIG.

【0066】また、演算は、ANDゲートKに対し図5
(A)、ワイヤードHに対し図9(A)、トライステー
トバッファF、Gに対し図10(B)、ZからXへの変
換器Jに対し図11(A)を適用するものとする。これ
らの演算は、すべてワード単位に行われるため、このよ
うに各系列の値を各ワードのビットに対応させることに
より、各素子に対する演算は、Z値をシミュレーション
値として扱う必要のある回路においても、4系列同時に
シミュレーションされることとなる。
The operation is performed with respect to the AND gate K in FIG.
(A), FIG. 9 (A) for wired H, FIG. 10 (B) for tri-state buffers F and G, and FIG. 11 (A) for converter J from Z to X. Since all of these operations are performed in units of words, by associating the values of each series with the bits of each word in this way, the operation for each element can be performed even in a circuit that needs to treat the Z value as a simulation value. , Four series are simulated simultaneously.

【0067】従って、この実施の形態によれば、同一の
回路に対してコンピュータが持っている1つの演算部の
みを使用して(つまり、従来のように回路や演算部分を
複数存在させて並列処理するのではなく)、2ワードを
使用して4値のシミュレーションの並列処理ができる。
Therefore, according to the present embodiment, only one arithmetic unit of the computer is used for the same circuit (that is, a plurality of circuits and arithmetic parts are provided in parallel as in the conventional case). (Instead of processing), parallel processing of quaternary simulation using two words is possible.

【0068】[0068]

【発明の効果】以上説明したように、本発明によれば、
すべての回路部を4値シミュレーションするのではな
く、3値シミュレーション可能な回路部は3値シミュレ
ーションを行うようにしたため、最適化することが困難
で通常極めて時間がかかっていた4値シミュレーション
を、回路構成にもよるが、通常の構成では演算処理本体
を2値シミュレーションの2倍程度の時間に抑えること
ができ、演算処理を高速化できる。
As described above, according to the present invention,
Instead of performing four-valued simulations on all circuit parts, circuit parts capable of three-valued simulation perform three-valued simulation. Although depending on the configuration, in a normal configuration, the arithmetic processing body can be suppressed to about twice as long as the binary simulation, and the arithmetic processing can be speeded up.

【0069】また、本発明によれば、4値を1ワードの
2ビット使用して表現するのではなく、別々の第1及び
第2のワードの各1ビットを使用して表現し、演算を行
うようにしたため、すべての回路部を4値シミュレーシ
ョンするのではなく、3値シミュレーション可能な回路
部は3値シミュレーションを行うことと併せて、演算を
非常に簡単にでき、演算処理をより一層高速化できる。
Further, according to the present invention, instead of expressing the quaternary value using two bits of one word, the four values are expressed using one bit of each of the first and second words, and the operation is performed. Since all the circuit sections are not quaternary-simulated, the circuit section capable of ternary simulation can not only perform the ternary simulation, but also can greatly simplify the arithmetic operation, and the arithmetic processing can be further accelerated. Can be

【0070】更に、本発明によれば、それぞれNビット
(Nは2以上の整数)からなる第1及び第2のワードの
M番目(M=0,1,...N−1)の各1ビットから
なる計2ビットにより、N個のパターン系列のうちM番
目のパターン系列の値を表現して論理シミュレーション
を行うことにより、使用するコンピュータの1ワードに
複数パターンの値を入れ、1命令の実行で複数パターン
のシミュレーションを同時に実行できるようにしたた
め、同一の回路に対して1つの演算部で複数のパターン
を並列処理することができ、よって例えば32ビットの
コンピュータで32パターンの処理が一度にでき、従来
に比べて32倍の高速性が得られる。
Further, according to the present invention, each of the M-th (M = 0, 1,... N−1) of the first and second words, each consisting of N bits (N is an integer of 2 or more), By performing a logic simulation by expressing the value of the M-th pattern sequence of the N pattern sequences with a total of two bits consisting of one bit, the values of a plurality of patterns are put in one word of a computer to be used, and one instruction is executed. , Simulations of a plurality of patterns can be executed at the same time, so that a plurality of patterns can be processed in parallel by one arithmetic unit for the same circuit. , And a speed 32 times higher than in the past can be obtained.

【0071】また、本発明によれば、N個のパターン系
列はそれぞれLパターン(Lは2以上の整数)を有し、
Lパターンのそれぞれについて、第1及び第2のワード
のM番目の各1ビットからなる計2ビットにより、N個
のパターン系列のうちM番目のパターン系列の値を表現
して論理シミュレーションを並列に行うようにしたた
め、プロセッサや演算部分を分割することなく、同一の
回路に対して1ワードのビット数を用いた4値の並列シ
ミュレーションができる。
Further, according to the present invention, each of the N pattern sequences has L patterns (L is an integer of 2 or more),
For each of the L patterns, the value of the M-th pattern sequence among the N-pattern sequences is expressed by a total of two bits each consisting of the M-th one bit of the first and second words, and the logic simulation is performed in parallel. Since the processing is performed, it is possible to perform a four-value parallel simulation using the number of bits of one word for the same circuit without dividing the processor and the operation part.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の全体処理の一実施の形態のフローチャ
ートである。
FIG. 1 is a flowchart of an embodiment of the entire process of the present invention.

【図2】図1のZ演算必要部の限定処理の詳細説明用フ
ローチャートである。
FIG. 2 is a flowchart for explaining in detail a limiting process of a Z operation necessary section in FIG. 1;

【図3】本発明の適用結果を説明するための一例の回路
図である。
FIG. 3 is a circuit diagram of an example for explaining an application result of the present invention.

【図4】本発明のシミュレーションで使用する値とコン
ピュータ内部での演算字のコードの対応のさせ方の各例
の説明図である。
FIG. 4 is an explanatory diagram of each example of a method of associating a value used in a simulation of the present invention with a code of an arithmetic character in a computer.

【図5】本発明の4値シミュレーション時に3値のみを
対象としてAND演算を行うときの演算説明図である。
FIG. 5 is an explanatory diagram of an arithmetic operation when an AND operation is performed on only three values in a four-value simulation according to the present invention.

【図6】本発明の4値シミュレーション時に3値のみを
対象としてOR演算を行うときの演算説明図である。
FIG. 6 is an explanatory diagram of an operation when performing an OR operation on only three values during a four-value simulation according to the present invention.

【図7】本発明の4値シミュレーション時に3値のみを
対象として否定演算を行うときの演算説明図である。
FIG. 7 is an explanatory diagram of a calculation when a negation operation is performed only on three values in a four-value simulation according to the present invention.

【図8】本発明による並列処理時の適用回路の一例と適
用パターン例等を示す図である。
FIG. 8 is a diagram illustrating an example of an applied circuit and an applied pattern example during parallel processing according to the present invention.

【図9】本発明の4値シミュレーション時に4値を対象
としてワイヤード演算を行うときの演算説明図である。
FIG. 9 is an explanatory diagram of a calculation when a wired calculation is performed on four values during a four-value simulation according to the present invention.

【図10】本発明の4値シミュレーション時に4値を対
象としてトライステートバッファ演算を行うときの演算
説明図である。
FIG. 10 is an explanatory diagram of a calculation when a tristate buffer calculation is performed on four values in a four-value simulation according to the present invention.

【図11】本発明の4値シミュレーション時におけるZ
値からX値への変換演算の説明図である。
FIG. 11 is a graph showing Z in a four-value simulation according to the present invention;
FIG. 9 is an explanatory diagram of a conversion operation from a value to an X value.

【図12】4値を用いた演算と3値を用いた演算を組み
合わせて、全体的に4値のシミュレーションを実現する
例を示す図である。
FIG. 12 is a diagram showing an example in which a four-value simulation is realized as a whole by combining a calculation using four values and a calculation using three values.

【図13】4値を用いた演算と3値を用いた演算を組み
合わせて表現した回路モデルの一例を並列処理する場合
の説明図である。
FIG. 13 is an explanatory diagram in the case of parallel processing of an example of a circuit model expressed by combining an operation using four values and an operation using three values.

【図14】従来の4値シミュレーション方式の各例の説
明図である。
FIG. 14 is an explanatory diagram of each example of a conventional four-value simulation method.

【符号の説明】[Explanation of symbols]

301〜305、801〜803、1201〜1205
入力端子 306〜310、332、333 バッファ 311、319、320、327、328、806、1
210 2入力ANDゲート 312、313、314、322、323、324、3
29、330、331D型フリップフロップ(DFF) 315、321、325、804 インバータ 316、317、334、1206、1207 トライ
ステートバッファ 318、1208 ワイヤード 326、805 2入力ORゲート 335〜337、807、1211 出力端子 1209 ZX変換器
301-305, 801-803, 1201-1205
Input terminals 306 to 310, 332, 333 Buffers 311, 319, 320, 327, 328, 806, 1
210 2-input AND gates 312, 313, 314, 322, 323, 324, 3
29, 330, 331D flip-flop (DFF) 315, 321, 325, 804 Inverter 316, 317, 334, 1206, 1207 Tri-state buffer 318, 1208 Wired 326, 805 2-input OR gate 335-337, 807, 1211 Output Terminal 1209 ZX converter

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 4値シミュレーションをする回路の情報
を読み込む第1のステップと、 読み込んだ前記回路の情報に基づき、該回路を4値シミ
ュレーションをする回路部と3値シミュレーションをす
る回路部とに切り分ける第2のステップと、 前記第2のステップにより切り分けた回路部のそれぞれ
に関するシミュレーションコードを生成する第3のステ
ップと を含むことを特徴とする論理シミュレーション方式。
A first step of reading information of a circuit for performing a quaternary simulation; and a circuit unit for performing a four-value simulation and a circuit unit for performing a three-value simulation of the circuit based on the read information of the circuit. A logic simulation method, comprising: a second step of separating; and a third step of generating a simulation code for each of the circuit sections separated by the second step.
【請求項2】 前記第2のステップは、入力値としてハ
イインピーダンス値を持ち、かつ、ハイインピーダンス
値の入力と不定値の入力が等価であるゲートを、0と1
と不定値の3値が入力されるゲートとし、前記3値シミ
ュレーションをする回路部とすることを特徴とする請求
項1記載の論理シミュレーション方式。
2. The method according to claim 1, wherein the second step is to set a gate having a high impedance value as an input value and having a high impedance value input and an indefinite value input equivalent to 0 and 1 gates.
2. The logic simulation method according to claim 1, wherein a gate to which a ternary value is input is provided as a circuit unit for performing the ternary simulation.
【請求項3】 前記第2のステップは、ハイインピーダ
ンス値を出力に持つ可能性のある第1のゲートを検索す
る第1の検索ステップと、該第1のゲートのファンアウ
ト先に第1のフラグを設定する第1のフラグ設定ステッ
プと、入力に前記第1のフラグが設定されている第2の
ゲートを検索する第2のステップと、前記第2のゲート
のうち入力値がハイインピーダンス値と不定値とで出力
値が同じ第3のゲートを検索する第3の検索ステップ
と、前記第3のゲートの入力をハイインピーダンス値か
ら不定値に変換する論理を挿入する挿入ステップと、前
記第3のゲートとして検索されない前記第2のゲートに
4値シミュレーションをするゲートであることを示す第
2のフラグを設定する第2のフラグ設定ステップとを含
み、前記第3のゲートに対して3値シミュレーションを
行い、それ以外のゲートに対しては4値シミュレーショ
ンを行うことを特徴とする請求項1又は2記載の論理シ
ミュレーション方式。
3. The second step includes: a first search step of searching for a first gate which may have a high impedance value as an output; and a first gate in a fan-out destination of the first gate. A first flag setting step of setting a flag, a second step of searching for a second gate whose input has the first flag set, and an input value of the second gate being a high impedance value A third search step of searching for a third gate having the same output value as the third gate and an indefinite value; an insertion step of inserting logic for converting an input of the third gate from a high impedance value to an indefinite value; A second flag setting step of setting a second flag indicating that the second gate not searched as the third gate is a gate for performing a quaternary simulation, the third gate 3. The logic simulation method according to claim 1, wherein a ternary simulation is performed on the other gates, and a quaternary simulation is performed on the other gates.
【請求項4】 前記シミュレーションコードは、シミュ
レーションで使用する4値を、第1のワードと第2のワ
ードの同一位置の各1ビットからなる計2ビットで表現
して生成されることを特徴とする請求項1記載の論理シ
ミュレーション方式。
4. The simulation code is generated by expressing quaternary values used in a simulation by a total of two bits each consisting of one bit at the same position of a first word and a second word. The logic simulation method according to claim 1, wherein
【請求項5】 それぞれNビット(Nは2以上の整数)
からなる前記第1及び第2のワードのM番目(M=0,
1,...N−1)の各1ビットからなる計2ビットに
より、N個のパターン系列のうちM番目のパターン系列
の値を表現して論理シミュレーションを行うことを特徴
とする請求項4記載の論理シミュレーション方式。
5. Each of N bits (N is an integer of 2 or more)
M-th (M = 0, M) of the first and second words consisting of
1,. . . 5. The logic simulation method according to claim 4, wherein the logic simulation is performed by expressing the value of the M-th pattern sequence among the N pattern sequences by using a total of 2 bits consisting of 1 bit of (N-1). .
【請求項6】 前記N個のパターン系列はそれぞれLパ
ターン(Lは2以上の整数)を有し、該Lパターンのそ
れぞれについて、前記第1及び第2のワードのM番目の
各1ビットからなる計2ビットにより、N個のパターン
系列のうちM番目のパターン系列の値を表現して論理シ
ミュレーションを並列に行うことを特徴とする請求項5
記載の論理シミュレーション方式。
6. The N pattern sequences each have an L pattern (L is an integer of 2 or more), and for each of the L patterns, each of the M-th 1 bit of the first and second words is 6. The logic simulation is performed in parallel by expressing the value of the M-th pattern sequence among the N pattern sequences using a total of 2 bits.
The described logic simulation method.
JP10274896A 1998-09-29 1998-09-29 Logical simulation system Pending JP2000105780A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10274896A JP2000105780A (en) 1998-09-29 1998-09-29 Logical simulation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10274896A JP2000105780A (en) 1998-09-29 1998-09-29 Logical simulation system

Publications (1)

Publication Number Publication Date
JP2000105780A true JP2000105780A (en) 2000-04-11

Family

ID=17548044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10274896A Pending JP2000105780A (en) 1998-09-29 1998-09-29 Logical simulation system

Country Status (1)

Country Link
JP (1) JP2000105780A (en)

Similar Documents

Publication Publication Date Title
Thomas et al. The Verilog® hardware description language
US6038392A (en) Implementation of boolean satisfiability with non-chronological backtracking in reconfigurable hardware
Spars et al. Principles asynchronous circuit design
Wakerly Digital Design: Principles and Practices, 4/E
Hwang Digital logic and microprocessor design with VHDL
US4899273A (en) Circuit simulation method with clock event suppression for debugging LSI circuits
US5751592A (en) Apparatus and method of supporting functional design of logic circuit and apparatus and method of verifying functional design of logic circuit
Tinder Engineering Digital Design: Revised Second Edition
JP2015508588A (en) Boolean logic in state machine lattices
Parsan et al. Gate mapping automation for asynchronous NULL convention logic circuits
US20020010899A1 (en) Digital circuit layout techniques
CN110780843A (en) High performance FPGA addition
Reese et al. Introduction to logic synthesis using Verilog HDL
WO2018204898A1 (en) Fast binary counters based on symmetric stacking and methods for same
Kostadinov et al. A novel processor for artificial intelligence acceleration
US6584597B1 (en) Modeling of phase synchronous circuits
JP2000105780A (en) Logical simulation system
Tala Verilog tutorial
de Gennaro Design of Reconfigurable Dataflow Processors
Bos Beyond 0 and 1: A mixed radix design and verification workflow for modern ternary computers
US20230239136A1 (en) Pipelined Galois Counter Mode Hash Circuit
JP2001350815A (en) Operation rate calculation system
JP2806459B2 (en) A logic simulation device that can evaluate flip-flops
REDDY DESIGN AND IMPLEMENTATION OF AREA EFFICIENT MULTIPLY-ACCUMULATE UNIT
Hwang Microprocessor Design