JPH0345580B2 - - Google Patents
Info
- Publication number
- JPH0345580B2 JPH0345580B2 JP57030320A JP3032082A JPH0345580B2 JP H0345580 B2 JPH0345580 B2 JP H0345580B2 JP 57030320 A JP57030320 A JP 57030320A JP 3032082 A JP3032082 A JP 3032082A JP H0345580 B2 JPH0345580 B2 JP H0345580B2
- Authority
- JP
- Japan
- Prior art keywords
- term
- output
- sum
- product
- product term
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000015654 memory Effects 0.000 claims description 60
- 238000010586 diagram Methods 0.000 claims description 4
- 238000004088 simulation Methods 0.000 claims 6
- 238000000034 method Methods 0.000 claims 3
- 238000007689 inspection Methods 0.000 claims 2
- 238000004519 manufacturing process Methods 0.000 claims 2
- 230000004044 response Effects 0.000 claims 2
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Logic Circuits (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
Description
第1図はPLAの説明、第2図、第3図は積項
メモリのパターン、第4図、第5図は和項メモリ
のパターン、第6図は本発明のブロツク図であ
り、1は書込み回路、2は入力レジスタ、3は
ICレジスタ、4は積項メモリ群、5は論理積回
路、6は和項メモリ群、7は論理和回路、8は出
力レジスタ、9は制御部である。
Figure 1 is an explanation of PLA, Figures 2 and 3 are product term memory patterns, Figures 4 and 5 are sum term memory patterns, and Figure 6 is a block diagram of the present invention. Write circuit, 2 is input register, 3 is
4 is a product term memory group, 5 is an AND circuit, 6 is a sum term memory group, 7 is an OR circuit, 8 is an output register, and 9 is a control section.
Claims (1)
レジスタと、外部からのIC番号を記憶するため
のICレジスタと、1つ又は複数の積項メモリと、
1つ又は複数の和項メモリと、同一の積項線に対
して論理積をとる論理積回路と、同一の和項線に
対して論理和をとる論理和回路と、和項線の出力
結果が真のとき対応するビツトをセツトする出力
レジスタと、入力レジスタ、積項メモリ、和項メ
モリ及び出力レジスタの制御を行なうとともに、
処理すべきブロツクの数をICの種類毎に記憶し
ている制御部と、積項メモリと和項メモリに対し
て積項、和項のパターンを書込むための書込み回
路とで構成され、積項メモリはICレジスタの出
力によりICの種類を選択し、そして、制御部か
ら指示されたそのICのブロツク番号の場所にお
いて、その積項メモリへの入力レジスタの出力
が、そのブロツクでの積項の部分をなしている積
項線に対しては真の信号を出力し、および、その
ブロツクでの積項の部分をなしていない積項線に
対しては偽の信号を出力し、論理積回路は、各積
項メモリの出力に対して同一の積項線のものに対
しての論理積を出力し、和項メモリはICレジス
タの出力によりICの種類を選択し、そして、制
御部から指定されたそのICのブロツク番号の場
所において、その和項メモリへの論理積回路の出
力が、そのブロツクでの和項の部分をなしている
和項線に対しては真の信号を出力し、および、そ
のブロツクでの和項の部分をなしていない和項線
に対しては偽の信号を出力し、論理和回路は、各
和項メモリの出力に対して同一の和項線のものに
対しての論理和を出力し、出力レジスタは、論理
和回路の出力結果が真である和項線に対して対応
するビツトをセツト出力し、制御部は、外部から
スタート信号を得たときに、外部からの入力デー
タを入力レジスタにセツトし、さらに、出力レジ
スタの各ビツトを全てリセツトした後、ブロツク
の番号を順番に出力し、制御部に記憶されている
ブロツクの数を終了したとき、ストツプ信号を外
部に発生することを特徴とするダイナミツク
PLA。 発明の詳細な説明 本発明は、プログラムロジツクアレイ(PLA)
にパターンを書込む前、あるいはカスタムLSI製
造の前に、書込み対象あるいは製造対象となつて
いる論理回路をシミユレーシヨンするためのダイ
ナミツクPLAに関するものである。 論理装置で用いられる素子は年々大規模化の傾
向をたどり、PLA化あるいはカスタムLSI化が進
んできている。このような装置においては、
PLAあるいはカスタムLSIの中に論理回路上の誤
りが発見されたときは従来の論理装置と比較する
と、一段と被害が大きい。それは、PLAあるい
はカスタムLSIの中の回路については修正を施こ
すことが出来ないために新たに製造しなおしとな
るためである。そのため、PLAに書込む以前あ
るいはカスタムLSIを製造する以前に、その中に
実現しようとしている論理回路に対して十分な検
査をしておかなくてはならない。従来は、この検
査はソフトウエアシミユレーシヨンによつて行な
われていたが、論理規模が大きくなるに従つて、
ソフトウエアシミユレーシヨンでは短い時間で十
分な検査を行なうことができなくなつてきた。そ
のため、近年ソフトウエアシミユレーシヨンに代
わるものが求められている。 本発明の目的は、このような要求に答えて組合
せ論理回路のシミユレーシヨンをハードウエアに
より実現するものである。 一般に組合せ論理回路は積和項により表わすこ
とができる。 例えば、次の様に表わすことができる。 O1=i3 4+1 2 3+i2 3i4+i1i2i3 O2=i2 3i4+1i3+1 2 4 O3=+i1i4+i2 3 O4=1 2 3+1i3 この組合せ論理回路は従来のPLAでは、第1
図の様に表わさせる。 ダイナミツクPLAの構成と動作を述べる前に、
その原理を簡単に述べておく。ここでは、簡単の
ために1つの組合せ論理回路のシミユレーシヨン
を行なうダイナミツクPLAについて説明する。
ダイナミツクPLAにおいてはブロツクを単位に
して処理を行なう。今、第1図では、2つのブロ
ツクに分けた。処理は、ブロツク1、ブロツク2
の順で行なわれる。各ブロツクでは積項線に対す
る結果を求めた後、和項線に対する結果を求め
る。その求め方は次の通りである。 今、入力データが(i1i2i3i4)=(0010)であつた
とする。このとき、ブロツク1での積項線に対す
る処理は次のように行なわれる。ブロツク1に
は、i3 4と1 2 3とi2 3i4とi1i2i3とに対する4
つの積
項線がある。この4つの積項線への値を求めるた
めに入力データはそのまま、あるいはいくつかに
分割される。ここでは2つに分割されたとする。
即ち、(i1i2)=(00)と(i3i4)=(10)とに分割され
た
とする。分割された入力データが積項線の積項に
対する部分積項になつているかどうかを調べられ
る。即ち、分割された入力データが、その積項を
真とするための条件を満たしているかどうかが調
べられる。今、第一の積項(i3 4)に対して
(i1i2)=(00)は部分積項であり、(i3i4)=(10)も
又
部分積項である。第二の積項(1 2 3)に対して
(i1i2)=(00)は部分積項であるが、(i3i4)=(10)
は
部分積項でない。第三の積項(i2 3i4)に対して
(i1i2)=(00)と(i3i4)=(10)は共に部分積項でな
い。第四の積項(i1i2i3)に対して(i1i2)=(00)
は部分積項ではないが、(i3i4)=(10)は部分積項で
ある。次に、各積項線に対して各々の部分積項の
論理積が求められる。即ち、その積項線に対し
て、分割された入力データに対する全ての部分積
項が真のときは真を、そうでないときは偽を与え
る。今の場合、第一の積項線に対しては真とな
り、第二、第三、第四の積項線に対しては偽とな
る。 次にブロツク1での和項線に対する処理は次の
ように行なわれる。積項線は4つあるが、この4
つの積項線はそのまま、あるいはいくつかに分割
される。ここでは2つに分割されたとする。今、
積項線の出力は(P1P2P3P4)=(1000)となつて
いるが、これが(P1P2)=(10)と(P3P4)=(00)と
に分割されたとする。分割された積項線が和項線
の和項に対する部分和項になつているかどうかが
調べられる。即ち、分割された積項線の出力が、
その和項を真とするための条件を満たしているか
どうかが調べられる。今、第一の和項(i3 4+1 2
i3+i2 3i4)に対して、(P1P2)=(10)は部分和項で
あ
り、(P3P4)=(00)は部分和項でない。第二の和
項(i2 3i4)に対して、(P1P2)=(10)と(P3P4)=
(00)は共に部分和項ではない。第三の和項(な
し)に対しては、(P1P2)=(10)と(P3P4)=(00)
は勿論部分和項ではない。第四の和項(1 2 3)
に対しては、(P1P2)=(10)と(P3P4)=(00)は共
に部分和項ではない。次に各和項線に対して、
各々の部分和項の論理和が求められる。即ち、そ
の和項線に対して、分割された積項線の出力に対
する部分和項が1つでも真のときは真を、そうで
ないときは偽を与える。今の場合、第一の和項線
に対しては真となり、第二、第三、第四の和項線
に対しては偽となる。 和項線の出力は、出力レジスタに送られる。出
力レジスタは、シミユレーシヨンを始める前にあ
らかじめリセツトされているものとする。出力が
真の和項線に対しては、出力レジスタの対応する
ビツトがセツトされる。 ブロツク2に対してもブロツク1と同じ処理が
行なわれ、その全てが終つたとき、出力レジスタ
の内容は出力データとして外部に出力される。各
ブロツクでの部分積項の計算は、メモリを使つて
行なわれる。各ブロツクでは、4つの積項線に対
して処理を行なうためにメモリとしては、例え
ば、4ビツト同時出力のものを用いる。上の例で
は4つの出力は、ブロツク1のときは第1〜第4
の積項線に対する部分積項の値を、ブロツク2の
ときは第5〜第8の積項線に対する部分積項の値
を得るために用いられる。(あるいは2ビツト同
時出力、1ビツト出力のものを2つあるいは4つ
の並列に用いる。)第2図および第3図は例とし
て今まで述べた組合せ論理回路の部分積項の計算
のための積項メモリの内容を示す図である。第2
図および第3図においてブロツク番号1のときは
出力はP1、P2、P3、P4であり、ブロツク番号2
のときは出力はP5、P6、P7、P8である。第2図
は、分割された入力データ(i1i2)に対するもの
で、入力としてはブロツク番号と分割された入力
データを与える。先の例では、ブロツク番号1、
i1=0、i2=0を与える。この結果、第一から第
四までの積項線に対する部分積項1100を出力す
る。第3図は分割された入力データ(i3i4)に対
するもので入力としては、同様にブロツク番号と
分割された入力データを与える。先の例では、ブ
ロツク番号2、i3=1、i4=0を与える。この結
果、第一から第四までの積項線に対する部分積項
は1001を出力する。 この2つの出力は論理積がとられ、積項線に対
する値が与えられる。即ち、今までに述べてきた
ように1000を与える。各ブロツクでの部分和項の
計算はやはりメモリを使つて行なわれる。和項線
は4つあるため、メモリとしては例えば4ビツト
同時出力のものを使う。(あるいは2ビツト同時
出力、1ビツト出力のものを2つあるいは4つ並
列に用いる。) 第4図および第5図は例として今まで述べた組
合せ論理回路の部分和項の計算のための和項メモ
リの内容を示す図である。第4図は分割された積
項線の出力(P1P2)に対するもので入力として
は、ブロツク番号と分割された積項線を与える。
先の例ではブロツク番号1、P1=1、P2=0を
与える。この結果、第一から第四までの和項線に
対する部分和項1000を出力する。第5図は分割さ
れた積項線の出力(P3P4)に対するもので入力
としてはブロツク番号と分割された積項線を与え
る。先の例ではブロツク番号1、P3=0、P4=
0を与える。この結果、第一から第四までの積項
線に対する部分和項0000を出力する。 この2つの出力は論理和がとられ、和項線に対
する値が与えられる。即ち、今までに述べてきた
ように1000を与える。これまでは1つの組合せ論
理回路をシミユレーシヨンする場合について述べ
てきたが、積項メモリと和項メモリに組合せ論理
回路の番号を与えることによつて複数の組合せ論
理回路のシミユレーシヨンが行なえる。 本発明のダイナミツクPLAは、外部からの入
力データを記憶するための入力レジスタと、外部
からの番号を記憶するためのICレジスタと、1
つ又は複数の積項メモリと、1つ又は複数の和項
メモリと、同一の積項線に対して論理積をとる論
理積回路と、同一の和項線に対して論理和をとる
論理和回路と、和項線の出力結果が真のとき対応
するビツトをセツトする出力レジスタと、入力レ
ジスタ、積項メモリ、和項メモリ及び出力レジス
タの制御を行なう制御部と、積項メモリと和項メ
モリに対して積項、和項のパターンを書込むため
の書込み回路とで構成される。積項メモリはIC
レジスタの出力によりICの種類を選択し、そし
て、制御部から指示されたそのICのブロツク番
号の場所において、その積項メモリへの入力レジ
スタの出力が、そのブロツクでの積項の部分をな
している積項線に対しては真の信号を出力し、
又、そのブロツクでの積項の部分をなしていない
積項線に対しては偽の信号を出力する。論理積回
路は、各積項メモリの出力に対して同一の積項線
のものに対しての論理積を出力する。和項メモリ
はICレジスタの出力によりICの種類を選択し、
そして、制御部から指定されたそのICのブロツ
ク番号の場所において、その和項メモリへの論理
積回路の出力が、そのブロツクでの和項の部分を
なしている和項線に対しては真の信号を出力し、
又、そのブロツクでの和項の部分をなしていない
和項線に対しては偽の信号を出力する。論理和回
路は、各積項メモリの出力に対して同一の和項線
のものに対しての論理和を出力する。出力レジス
タは、論理和回路の出力結果が真である和項線に
対して対応するビツトをセツトする。又、制御部
は、外部からスタート信号を得たときに、外部か
らの入力データを入力レジスタにセツトし、さら
に、出力レジスタの各ビツトを全てリセツトした
後、ブロツクの番号を順番に出力し、制御部に記
憶されているブロツクの数を終了したとき、スト
ツプ信号を外部に発生する。 次に図を用いて本発明の詳細な説明を行なう。
第6図は本発明のブロツク図である。図におい
て、1は書込み回路、2は入力レジスタ、3は
ICレジスタ、4は2つの積項メモリよりなる積
項メモリ群、5は論理積回路、6は2つの和項メ
モリよりなる和項メモリ群、7は論理和回路、8
は出力レジスタ、9は制御部である。書込み回路
1は、積項メモリ群4及び和項メモリ群6に、第
2図から第5図に示したパターンを書込む。即
ち、積項メモリ群4においては、i1i2を入力して
いる積項メモリに対しては第2図のパターンを、
i3i4を入力としている和項メモリに対しては第3
図のパターンを書込む。和項メモリ群6において
は、P1,5P2,6を入力としている和項メモリに対し
ては第4図のパターンを、P3,7P4,8を入力してい
る和項メモリに対しては第5図のパターンを書込
む。 組合せ論理回路のシミユレーシヨンが始まる
と、外部から制御部9にはSTART信号が、入力
レジスタ2には入力データが、ICレジスタ3に
はICの番号が与えられる。これを受けて制御部
9は出力レジスタ8をリセツトするとともに入力
レジスタ2に対してその入力データを記憶するよ
うに、又、ICレジスタ3にはICの番号を記憶す
るように指令する。入力レジスタ2では、これを
受けて入力データを記憶し、その内容を積項メモ
リ群4に出力する。次に制御部9は、積項メモリ
群4、和項メモリ群6に対してブロツク番号1を
出力する。積項メモリ群4では、IC番号と入力
データとブロツク番号によつて積項メモリ群4内
の各積項メモリのアドレスを選択し、その内容を
出力する。その出力は、論理積回路5に送られ、
同一の積項線毎に部分積項が求められる。そし
て、ここでの結果は、和項メモリ群6の入力とな
る。和項メモリ群6では、IC番号と論理積回路
5の出力とブロツク番号により和項メモリ群6内
の各和項メモリのアドレスを選択し、その内容を
出力する。その出力は、論理和回路7に送られ、
同一の和項線毎に部分和項の和が求められる。そ
して、ここでの結果は、出力レジスタ8への入力
となる。出力レジスタ8では、論理和回路7の出
力が真であつた和項線に対して、それに対応する
ビツトをセツトする。 この処理が終了すると、制御部9は、ブロツク
番号2を出力する。そして、ブロツク番号1と同
じ処理を行なう。ブロツク番号2に対する処理が
終了したとき、制御部9は外部に対してSTOP信
号を出し、シミユレーシヨンが終了したことを伝
える。 第6図では、組合せ論理回路と種類と各々が入
力4ビツト、出力4ビツト、積項線8本の組合せ
論理回路に対するダイナミツクPLAについて説
明したが、同じような構成をとることにより、任
意の個数の組合せ論理回路と、任意の長さをもつ
入力データ、出力データ、積項線に対しても実現
することができる。そのときのシミユレーシヨン
の時間はいくつのブロツクに分割したかによつて
定まる。 出力レジスタには、与えられた入力に対する出
力が得られるが、この出力が検査仕様書のデータ
と一致しないとき、カスタムLSIの論理の中に誤
りが存在するといえる。この場合は、カスタム
LSIの論理回路を正し、そこから得られるビツト
パターンを再度積項メモリ、和項メモリに書きこ
み、シミユレーシヨンを再度行なう。これによつ
て誤りが発見されなくなつたとき、初めてカスタ
ムLSIを製造する。これによつて、正しいカスタ
ムLSIを作るための工数、費用、時間を大巾に削
減することができる。[Claims] 1. An input register for storing input data from the outside, an IC register for storing an IC number from the outside, and one or more product term memories,
One or more sum term memories, an AND circuit that performs AND on the same product term line, an OR circuit that performs AND on the same sum term line, and the output result of the sum term line. controls the output register that sets the corresponding bit when is true, the input register, the product term memory, the sum term memory, and the output register.
It consists of a control unit that stores the number of blocks to be processed for each IC type, and a write circuit that writes product term and sum term patterns to the product term memory and sum term memory. The term memory selects the type of IC based on the output of the IC register, and at the location of the block number of that IC specified by the control unit, the output of the input register to the product term memory is the product term in that block. A true signal is output for the product term line that is part of the product term in that block, and a false signal is output for the product term line that is not part of the product term in that block. The circuit outputs the logical product of the same product term lines for the output of each product term memory, and the sum term memory selects the type of IC based on the output of the IC register, and then outputs the logical product from the control unit. At the specified block number of the IC, the output of the AND circuit to the sum term memory outputs a true signal for the sum term line that is part of the sum term in that block. , and a false signal is output for the sum term line that is not part of the sum term in that block, and the OR circuit outputs the same sum term line for the output of each sum term memory. The output register sets and outputs the bit corresponding to the sum term line for which the output result of the logical sum circuit is true. First, input data from the outside is set in the input register, and after resetting all the bits of the output register, the block numbers are output in order, and when the number of blocks stored in the control unit is completed. , a dynamic system characterized by generating a stop signal externally.
P.L.A. DETAILED DESCRIPTION OF THE INVENTION The present invention provides a programmable logic array (PLA).
This relates to dynamic PLA for simulating the logic circuits to be written or manufactured before writing patterns on the chip or manufacturing custom LSIs. Elements used in logic devices are becoming larger year by year, and are increasingly being made into PLA or custom LSI. In such a device,
When a logic circuit error is discovered in a PLA or custom LSI, the damage is much greater than in conventional logic devices. This is because the circuits inside the PLA or custom LSI cannot be modified and must be remanufactured. Therefore, before writing to PLA or manufacturing a custom LSI, it is necessary to thoroughly test the logic circuit that is to be implemented therein. Traditionally, this inspection was performed using software simulation, but as the logical scale increases,
Software simulation is no longer able to perform sufficient tests in a short amount of time. Therefore, in recent years there has been a demand for alternatives to software simulation. An object of the present invention is to realize a simulation of a combinational logic circuit using hardware in response to such demands. Generally, a combinational logic circuit can be represented by a product-sum term. For example, it can be expressed as follows. O1=i 3 4 + 1 2 3 +i 2 3 i 4 +i 1 i 2 i 3 O2=i 2 3 i 4 + 1 i 3 + 1 2 4 O3=+i 1 i 4 +i 2 3 O4= 1 2 3 + 1 i 3This combinational logic circuit is
Let it be expressed as shown in the figure. Before describing the structure and operation of Dynamic PLA,
Let me briefly explain its principle. Here, for the sake of simplicity, a dynamic PLA that simulates one combinational logic circuit will be described.
In dynamic PLA, processing is performed in units of blocks. In Figure 1, it is divided into two blocks. Processing is block 1, block 2
It is done in the following order. In each block, the results for the product term line are determined, and then the results for the sum term line are determined. The method for finding it is as follows. Now, suppose that the input data is (i 1 i 2 i 3 i 4 )=(0010). At this time, the processing for the product term line in block 1 is performed as follows. Block 1 contains 4 for i 3 4 and 1 2 3 and i 2 3 i 4 and i 1 i 2 i 3 .
There are two product term lines. In order to obtain the values for these four product term lines, the input data is either left as is or divided into several pieces. Here, it is assumed that it is divided into two parts.
That is, assume that it is divided into (i 1 i 2 )=(00) and (i 3 i 4 )=(10). It can be checked whether the divided input data is a partial product term for the product term of the product term line. That is, it is checked whether the divided input data satisfies the conditions for making the product term true. Now, for the first product term (i 3 4 ), (i 1 i 2 )=(00) is a partial product term, and (i 3 i 4 )=(10) is also a partial product term. For the second product term ( 1 2 3 ), (i 1 i 2 ) = (00) is a partial product term, but (i 3 i 4 ) = (10)
is not a partial product term. For the third product term (i 2 3 i 4 ), both (i 1 i 2 )=(00) and (i 3 i 4 )=(10) are not partial product terms. (i 1 i 2 ) = (00) for the fourth product term (i 1 i 2 i 3 )
is not a partial product term, but (i 3 i 4 )=(10) is a partial product term. Next, the logical product of each partial product term is determined for each product term line. That is, for the product term line, if all the partial product terms for the divided input data are true, then true is given, and otherwise, false is given. In this case, it is true for the first product term line, and false for the second, third, and fourth product term lines. Next, processing for the sum term line in block 1 is performed as follows. There are four product term lines, and these four
The product term line can be left as is or divided into several parts. Here, it is assumed that it is divided into two parts. now,
The output of the product term line is (P 1 P 2 P 3 P 4 ) = (1000), but this changes to (P 1 P 2 ) = (10) and (P 3 P 4 ) = (00). Suppose it is divided. It is checked whether the divided product term line is a partial sum term for the sum term of the sum term line. That is, the output of the divided product term line is
It is checked whether the conditions for making the sum term true are met. Now, the first sum term (i 3 4 + 1 2
i 3 +i 2 3 i 4 ), (P 1 P 2 )=(10) is a partial sum term, and (P 3 P 4 )=(00) is not a partial sum term. For the second sum term (i 2 3 i 4 ), (P 1 P 2 )=(10) and (P 3 P 4 )=
Both (00) are not partial sum terms. For the third sum term (none), (P 1 P 2 ) = (10) and (P 3 P 4 ) = (00)
Of course, is not a partial sum term. Fourth sum term ( 1 2 3 )
, both (P 1 P 2 )=(10) and (P 3 P 4 )=(00) are not partial sum terms. Next, for each sum term line,
The logical sum of each partial sum term is determined. That is, for the sum term line, if at least one partial sum term for the output of the divided product term line is true, then true is given, and otherwise, false is given. In this case, it is true for the first summation line, and false for the second, third, and fourth summation lines. The output of the sum term line is sent to an output register. It is assumed that the output register is reset before starting the simulation. For summation lines whose output is true, the corresponding bit in the output register is set. The same processing as block 1 is performed on block 2, and when all of the processing is completed, the contents of the output register are output to the outside as output data. The computation of partial product terms in each block is performed using memory. In each block, for example, a 4-bit simultaneous output memory is used to process four product term lines. In the above example, the four outputs are 1st to 4th for block 1.
It is used to obtain the value of the partial product term for the product term line, and in block 2, the value of the partial product term for the fifth to eighth product term lines. (Alternatively, two or four 2-bit simultaneous output or 1-bit output devices are used in parallel.) Figures 2 and 3 show, as an example, the product for calculating the partial product term of the combinational logic circuit described above. FIG. 3 is a diagram showing the contents of a term memory. Second
In the figure and FIG. 3, when block number 1 is selected, the outputs are P 1 , P 2 , P 3 , and P 4 ;
When , the outputs are P 5 , P 6 , P 7 , and P 8 . FIG. 2 shows divided input data (i 1 i 2 ), and the block number and divided input data are given as inputs. In the previous example, block number 1,
Give i 1 =0 and i 2 =0. As a result, partial product terms 1100 for the first to fourth product term lines are output. FIG. 3 shows divided input data (i 3 i 4 ), and the block number and divided input data are similarly given as inputs. In the previous example, block number 2, i 3 =1, and i 4 =0 are given. As a result, the partial product terms for the first to fourth product term lines output 1001. The two outputs are ANDed to give a value for the product term line. That is, give 1000 as described above. The computation of the partial sum term in each block is still performed using memory. Since there are four sum term lines, a memory that can output 4 bits simultaneously is used, for example. (Or use two or four 2-bit simultaneous output or 1-bit output in parallel.) Figures 4 and 5 are examples of the summation for calculating the partial sum term of the combinational logic circuit described above. FIG. 3 is a diagram showing the contents of a term memory. FIG. 4 shows the output (P 1 P 2 ) of the divided product term line, and the input is the block number and the divided product term line.
In the previous example, block number 1, P 1 =1, and P 2 =0 are given. As a result, 1000 partial sum terms for the first to fourth sum term lines are output. FIG. 5 shows the output (P 3 P 4 ) of the divided product term line, and the block number and the divided product term line are given as inputs. In the previous example, block number 1, P 3 = 0, P 4 =
Give 0. As a result, the partial sum term 0000 for the first to fourth product term lines is output. These two outputs are logically ORed to give a value for the sum term line. That is, give 1000 as described above. So far, we have described the case of simulating one combinational logic circuit, but by giving the numbers of the combinational logic circuits to the product term memory and the sum term memory, it is possible to simulate a plurality of combinational logic circuits. The dynamic PLA of the present invention includes an input register for storing input data from the outside, an IC register for storing a number from the outside, and 1
one or more product term memories, one or more sum term memories, an AND circuit that performs logical AND on the same product term line, and a logical OR that performs logical AND on the same sum term line. A circuit, an output register that sets a corresponding bit when the output result of the sum term line is true, a control unit that controls the input register, the product term memory, the sum term memory, and the output register, and the product term memory and the sum term line. It is composed of a write circuit for writing patterns of product terms and sum terms to memory. Product term memory is IC
The type of IC is selected by the output of the register, and at the location of the block number of that IC specified by the control unit, the output of the input register to the product term memory forms the part of the product term in that block. Outputs the true signal for the product term line that is
Also, a false signal is output for a product term line that does not form part of the product term in that block. The AND circuit outputs the AND of the same product term line for the output of each product term memory. The sum term memory selects the type of IC by the output of the IC register,
Then, at the location of the block number of the IC specified by the control unit, the output of the AND circuit to the sum term memory is true for the sum term line forming the sum term part of that block. Outputs the signal of
Also, a false signal is output for the sum term line that does not form part of the sum term in that block. The OR circuit outputs the OR of the same sum term line for the output of each product term memory. The output register sets the bit corresponding to the sum term line for which the output result of the OR circuit is true. Further, when the control section receives a start signal from the outside, it sets the input data from the outside into the input register, further resets all the bits of the output register, and then outputs the block numbers in order. When the number of blocks stored in the control section is completed, a stop signal is generated externally. Next, the present invention will be explained in detail using the figures.
FIG. 6 is a block diagram of the present invention. In the figure, 1 is a write circuit, 2 is an input register, and 3 is a write circuit.
IC register, 4 is a product term memory group consisting of two product term memories, 5 is an AND circuit, 6 is a sum term memory group consisting of two sum term memories, 7 is an OR circuit, 8
is an output register, and 9 is a control section. The write circuit 1 writes the patterns shown in FIGS. 2 to 5 into the product term memory group 4 and the sum term memory group 6. That is, in the product term memory group 4, the pattern shown in FIG. 2 is applied to the product term memory inputting i 1 i 2 .
For the summation memory whose input is i 3 i 4 , the third
Write the pattern shown in the figure. In the sum term memory group 6, the pattern shown in Figure 4 is applied to the sum term memory inputting P 1,5 P 2,6, and the pattern shown in Figure 4 is applied to the sum term memory inputting P 3,7 P 4,8 . 5, write the pattern shown in FIG. When the simulation of the combinational logic circuit starts, a START signal is given to the control unit 9, input data is given to the input register 2, and an IC number is given to the IC register 3 from the outside. In response to this, the control section 9 resets the output register 8 and instructs the input register 2 to store the input data and the IC register 3 to store the IC number. The input register 2 receives this, stores the input data, and outputs the contents to the product term memory group 4. Next, the control section 9 outputs block number 1 to the product term memory group 4 and the sum term memory group 6. In the product term memory group 4, the address of each product term memory in the product term memory group 4 is selected based on the IC number, input data, and block number, and the contents thereof are output. The output is sent to the AND circuit 5,
A partial product term is determined for each identical product term line. The result here becomes the input to the summation memory group 6. In the sum term memory group 6, the address of each sum term memory in the sum term memory group 6 is selected based on the IC number, the output of the AND circuit 5, and the block number, and the contents thereof are output. The output is sent to the OR circuit 7,
The sum of partial sum terms is calculated for each same sum term line. The result here becomes an input to the output register 8. The output register 8 sets a bit corresponding to the sum term line for which the output of the OR circuit 7 is true. When this process is completed, the control section 9 outputs block number 2. Then, the same processing as in block number 1 is performed. When the processing for block number 2 is completed, the control unit 9 issues a STOP signal to the outside to notify that the simulation has ended. In Fig. 6, we have explained the dynamic PLA for combinational logic circuits, types, and combinational logic circuits each with 4 input bits, 4 output bits, and 8 product term lines. It can also be realized for combinational logic circuits, input data, output data, and product term lines with arbitrary lengths. The simulation time at that time is determined by how many blocks it is divided into. The output register provides an output for a given input, but if this output does not match the data in the inspection specification, it can be said that there is an error in the logic of the custom LSI. In this case, the custom
Correct the LSI logic circuit, write the resulting bit pattern into the product term memory and sum term memory again, and run the simulation again. Only when no errors are discovered can the custom LSI be manufactured. This greatly reduces the man-hours, costs, and time required to create a correct custom LSI.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57030320A JPS58147236A (en) | 1982-02-26 | 1982-02-26 | Dynamic pla |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57030320A JPS58147236A (en) | 1982-02-26 | 1982-02-26 | Dynamic pla |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58147236A JPS58147236A (en) | 1983-09-02 |
JPH0345580B2 true JPH0345580B2 (en) | 1991-07-11 |
Family
ID=12300499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57030320A Granted JPS58147236A (en) | 1982-02-26 | 1982-02-26 | Dynamic pla |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS58147236A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2504893B2 (en) * | 1992-07-08 | 1996-06-05 | 株式会社コマイ | Bulletin sheet |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109353A (en) | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
JPH04123269A (en) * | 1990-09-14 | 1992-04-23 | Fujitsu Ltd | Simulation system for pla |
US5475830A (en) * | 1992-01-31 | 1995-12-12 | Quickturn Design Systems, Inc. | Structure and method for providing a reconfigurable emulation circuit without hold time violations |
US6348812B1 (en) * | 2000-07-05 | 2002-02-19 | Elan Research | Dynamic programmable logic array that can be reprogrammed and a method of use |
-
1982
- 1982-02-26 JP JP57030320A patent/JPS58147236A/en active Granted
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2504893B2 (en) * | 1992-07-08 | 1996-06-05 | 株式会社コマイ | Bulletin sheet |
Also Published As
Publication number | Publication date |
---|---|
JPS58147236A (en) | 1983-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3552175B2 (en) | Fail memory device | |
JPH0230056B2 (en) | ||
JPH0122652B2 (en) | ||
JPS613400A (en) | Method and apparatus for testing high-density on chip | |
JPH05249184A (en) | Hardware simulator | |
JPS63145549A (en) | Simulation method for logic circuit | |
US5613062A (en) | Logic simulator | |
JPH0345580B2 (en) | ||
US5584020A (en) | Fault simulator comprising a signal generating circuit and a simulation circuit implemented by hardware | |
JP2847310B2 (en) | Logic simulation method | |
US6144930A (en) | Method for providing a memory model of a memory device for use in simulation | |
JP2003149300A (en) | Test method and semiconductor device | |
GB2141829A (en) | Digital circuit testing arrangement | |
JPS58147237A (en) | Dynamic pla | |
JP3004669B2 (en) | Logic simulator | |
JP2808303B2 (en) | IC device test equipment | |
JP2797127B2 (en) | Logic simulator | |
JP2811580B2 (en) | LSI memory test method | |
JP2924968B2 (en) | Time interactive simulation device | |
JP2797128B2 (en) | Logic simulator | |
JP2664946B2 (en) | Logic circuit test pattern generator | |
JP3004668B2 (en) | Logic simulator | |
JPS5924354A (en) | Logic simulator | |
JPH0443310B2 (en) | ||
JPH07220499A (en) | Pattern generator |