JPS59200526A - Software programmable logic array - Google Patents

Software programmable logic array

Info

Publication number
JPS59200526A
JPS59200526A JP58244361A JP24436183A JPS59200526A JP S59200526 A JPS59200526 A JP S59200526A JP 58244361 A JP58244361 A JP 58244361A JP 24436183 A JP24436183 A JP 24436183A JP S59200526 A JPS59200526 A JP S59200526A
Authority
JP
Japan
Prior art keywords
logic
output
function
input
stage
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
JP58244361A
Other languages
Japanese (ja)
Inventor
デビツド・リチヤ−ド・レスニツク
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.)
Control Data Corp
Original Assignee
Control Data 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 Control Data Corp filed Critical Control Data Corp
Publication of JPS59200526A publication Critical patent/JPS59200526A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 技術分野 本発明は、プログラム可能な論理アレイとして知られて
いるタイプのうち特にソフトウェアによシブログラム可
能な回路に関するものである。
DETAILED DESCRIPTION OF THE INVENTION TECHNICAL FIELD The present invention relates specifically to software programmable circuits of the type known as programmable logic arrays.

背景技術 一般に、ゾロ〃ゝラム可能な論理アレイは、大規模集積
回路(LSI )または超大規模集積回路(VLSI 
)のチップに組込まれている。これらのゾロ〃゛ラム可
能な論理アレイのチップは、製造時には回路の特定の論
理関数は定められていないようなタイプのものである。
BACKGROUND OF THE INVENTION In general, programmable logic arrays are implemented in large scale integrated circuits (LSI) or very large scale integrated circuits (VLSI).
) is incorporated into the chip. These programmable logic array chips are of a type in which the specific logic function of the circuit is not defined at the time of manufacture.

ゾロ〃゛ラム可能な論理アレイのチップは、チップの論
理関数がその後に決定されるように設計されている。従
来のこのようなチップの殆どのものは、装置の論理関数
を決定するために永久に溶断されるヒユーズや他の素子
を有するという点において、バージウェアによってプロ
グラム可能なものである。本発明は、時には特性データ
として知られている論理関数データを入力するという手
順によって、任意の特定の装置が同じまたは異なった論
理関数によって繰返しプログラムされるという点におい
て、ソフトウェアによってプログラム可能な装置に関す
るものである。ソフトウェアによってプログラム可能な
論理アレイを機能させるためには、特性データがローP
されることが必要であるけれども、本発明に係る論理ア
レイは、単なる記憶装置ではない。特性データは、当該
アレイの特定の論理レベルにおいて実行されるべき特定
の論理関数を制御するように用いられる。さらに、本発
明によれば、いくつかの独立したアレイが一つのチップ
上で共通の関数制御を受けるように、各チップは、その
上に、四つの四分の−に分けられた部分、すなわち四つ
のセクタと制御回路を有するように構成される。
A programmable logic array chip is designed such that the logic function of the chip is subsequently determined. Most conventional such chips are programmable by vergeware in that they have fuses or other elements that are permanently blown to determine the logic function of the device. The present invention relates to software programmable devices in that any particular device can be programmed repeatedly with the same or different logic functions by the procedure of inputting logic function data, sometimes known as characteristic data. It is something. For a software programmable logic array to function, characteristic data must be low
Although necessary, a logical array according to the present invention is not simply a storage device. The characteristic data is used to control the particular logic functions to be performed at particular logic levels of the array. Furthermore, according to the invention, each chip has four quadrants on it, viz. It is configured to have four sectors and a control circuit.

従来より、プログラム可能な素子のためにヒユーズを有
するアレイに対する入力として複数個のワーrラインお
よびディジットラインが示されている米国特許第3,8
18.252号が公知である。
Previously, a plurality of word lines and digit lines are shown as inputs to an array with fuses for programmable elements, as disclosed in U.S. Pat.
No. 18.252 is known.

この特許には、実質上、関数の積のようなものの合計を
作るだめの二つのレベルを有する標準的なプログラム可
能な論理アレイの変形が示されているが、これからは、
本発明のような多重レベルのソフトウェアによるプログ
ラム可能な論理アレイを予知することはできない。米国
特許 第4,233.667号には、また、プログラム可能な
論理プレイが示されているが、これからは、本発明のよ
うな構造または性能を期待することはできない。
This patent shows a variation of a standard programmable logic array that has two levels of summation that is essentially a product of functions;
Multi-level software programmable logic arrays such as the present invention are not predictable. U.S. Pat. No. 4,233.667 also shows a programmable logic play, from which one cannot expect the structure or performance of the present invention.

米国特許第3.912,914号には、任意の特に大き
なスイッチング関数が用いられた場合に非常に複雑にな
るゾロ〃ゞラム可能なスイッチングモジュールが示され
ている。これは、任意のスイッチング関数に対するプロ
グラム制御は、該スイッチング関数を制御するために個
々のワイヤによって、特定のチップ外においてなされな
げればならないからである。本発明は、特性化のプロセ
スの結果としているいろな論理素子を制御する一連の特
性データを導入することによってプログラムされるもの
である。従来、公知となっている他の特許としては、米
国特許第3.855.536号。
U.S. Pat. No. 3,912,914 shows a switching module that can become very complex if any particularly large switching functions are used. This is because program control for any switching function must be done outside the specific chip by individual wires to control the switching function. The present invention is programmed by introducing a set of characteristic data that controls the various logic elements that are the result of a characterization process. Other previously known patents include US Patent No. 3.855.536.

第3.976.983号、および第4,293,783
号があシ、これらすべては、論理アレイに関するもので
あるが、これらは、外部の論理ピンによってプログラム
制御をする必要があるものか、または、実行される論理
関数に制限があるものかのいずれかである。
No. 3,976,983 and No. 4,293,783
All of these are related to logic arrays, which either require program control through external logic pins or have limitations on the logic functions that can be performed. That's it.

発明の要約 本発明は、プログラムされた論理関数を実行せしめるた
めに論理プレイの中にラッチされる一連の入力特性デー
タを与えることによって、特定の論理関数を実行するよ
うに制御され得るソフトウェアによるプログラム可能な
論理アレイを提供することを目的としている。本発明に
よる論理アレイは、一つのチップ上で、いくつかのセク
タに対して共通なプログラム論理を有するセクタごとに
グループ分けされる。本発明の実施例では、四つのセク
タが示されている。
SUMMARY OF THE INVENTION The present invention provides a software program that can be controlled to perform a particular logic function by providing a set of input characteristic data that is latched into a logic play to cause the programmed logic function to be executed. The purpose is to provide a possible logical array. A logic array according to the present invention is grouped on a single chip into sectors having common program logic for several sectors. In the embodiment of the invention, four sectors are shown.

本発明による論理アレイは、多くの論理レベルすなわち
論理段階によって構成されておシ、各論理レベルは、複
数個の特定な論理素子を有している。本発明の実施例は
、二つの基本的なタイプの論理素子を有している8第1
のタイプの素子は、論理関数素子、すなわちまさしく関
数素子である。
A logic array according to the present invention is made up of a number of logic levels or stages, each logic level having a plurality of specific logic elements. Embodiments of the invention have eight basic types of logic elements:
Elements of the type are logical functional elements, ie just functional elements.

関数素子は、複数個の入力を有し、これらの入力に与え
られるすべての起こり得る論理演算を実行することがで
きる。本発明の特定の実施例は、ビルディンj・ブロッ
クとして6個の入力と1個の出力を有する関数素子を採
用している。この関数素子は、8人力1出力のマルチプ
レクサに対する制御ビットとして用いられているデータ
入力を有し、該マルチプレクサの8個の入力はラッチさ
れ、該マルチプレクサのデータ出力から出力される出力
関数を制御するだめのプログラムされた論理入力を表わ
している。
A functional element has multiple inputs and is capable of performing all possible logical operations applied to these inputs. A particular embodiment of the invention employs a functional element with six inputs and one output as a building j block. This function element has data inputs that are used as control bits for an eight-output multiplexer, the eight inputs of which are latched to control the output function output from the data output of the multiplexer. Represents a blank programmed logic input.

本発明における第2のタイプの論理素子は通過・保持素
子であって、該素子は、それがクロックされるまで特定
の入力をラッチするようにセットされるか、または、デ
ータ入力がどんなものであれ、その出力として該入力を
通過させるようにセットされるかのいずれかである。当
該実施例においては、上記通過関数はまた反転させる機
能を有する。
The second type of logic element in the present invention is a pass-and-hold element, which is set to latch a particular input until it is clocked or whatever the data input is. Either that is set to pass that input as its output. In this embodiment, the pass function also has the function of being inverted.

レベル間の論理のいろいろな相互結合を有する通過・保
持関数素子の四つのレベルとともに、関数素子の四つの
レベルを用いることによって、複数の入力に対して、本
質的に任意の論理関数の出力が得られる。第8の論理レ
ベルである出力駆動および3状態バツフア素子が、すべ
ての出力論理レベルを完全に制御するために備えられる
。本発明に係る論理アレイの中のいろいろなレベルにお
ける論理素子の相互結合によって、論理関数は八つのす
べてのレベルにおいて機能し、または初期の論理レベル
において出力として/7−”−)され得る。
By using four levels of function elements, along with four levels of pass-and-hold function elements with various interconnections of logic between the levels, essentially any logic function output can be generated for multiple inputs. can get. An eighth logic level, output drive and three-state buffer element is provided for complete control of all output logic levels. By interconnecting logic elements at various levels in the logic array according to the invention, a logic function can function at all eight levels or be output as an output at an initial logic level.

このように、関数出力の第2.第6.および第4のレベ
ルの出力は、論理アレイの出力として直接デートされ得
る。
In this way, the second . 6th. and the output of the fourth level can be directly dated as the output of the logic array.

発明の最良の実施態様 本発明の一実施例によれば、第1A図、第1B図、およ
び第1C図を左から右へ順に並べたものは、ソフトウェ
アによってプログラム可能な論理アレイ10の詳細な論
理図を表わす。論理データは、該図の左側から入力され
、予めプログラムされた論理関数に従って該図の右側か
ら出力されるように、いろいろな論理レベルの間を進行
する。
BEST MODE FOR CARRYING OUT THE INVENTION In accordance with one embodiment of the present invention, FIGS. 1A, 1B, and 1C arranged from left to right illustrate a detailed diagram of software programmable logic array 10. Represents a logic diagram. Logic data progresses between various logic levels as it enters from the left side of the diagram and exits from the right side of the diagram according to preprogrammed logic functions.

複数個の関数素子12.14,16,18゜20.22
.24.26は、本発明によれば、論理アレイ10の第
1の論理レベルを構成する。関数素子12から関数素子
26はすべて同一であり、関数素子12の構造は第2図
に詳細に示されている。各関数素子は三つのデータ入力
を有する。関数素子12へのこれらデータ入力は、特定
の関数素子の番号を示すように、A、B、およびCに数
字を添えて示されている。第1の論理レベルの八つのす
べての関数素子に対するデータ入力には同様の記号が用
いられている。各関数素子12から26は、論理図に示
されているように、論理アレイ10の他の部分と相互に
連結されている一つの出力を有する。第2の論理レベル
は、六つの関数素子28,30,32,34.36.3
8によって構成されている。これら六つの関数素子28
から38は、六つの通過・保持素子40,42゜44.
46.48.50に接続されている。これら通過・保持
素子はすべて同一であり、通過・保持素子40の詳細図
は第6図に示されている。これら六つの通過・保持素子
は、本発明の本実施例の第6の論理レベルを構成する。
Multiple functional elements 12.14, 16, 18°20.22
.. 24, 26 constitute the first logic level of logic array 10 according to the invention. Functional elements 12 to 26 are all identical, and the structure of functional element 12 is shown in detail in FIG. Each functional element has three data inputs. These data inputs to functional element 12 are shown with numbers appended to A, B, and C to indicate the number of the particular functional element. Similar symbols are used for data inputs to all eight functional elements of the first logic level. Each functional element 12-26 has one output that is interconnected with other portions of logic array 10 as shown in the logic diagram. The second logic level consists of six functional elements 28, 30, 32, 34.36.3
It is composed of 8. These six functional elements 28
38 are six passing and holding elements 40, 42° 44.
Connected to 46.48.50. All of these pass-and-hold elements are identical, and a detailed view of pass-and-hold element 40 is shown in FIG. These six pass and hold elements constitute the sixth logic level of this embodiment of the invention.

これら六つの通過φ保持素子の出力は、論理図に示され
るように1 接続されている。
The outputs of these six pass φ holding elements are connected together as shown in the logic diagram.

本発明の本実施例の第4の論理レベルは、論理図に示さ
れているように入力がなされる四つの関数素子52.5
4.56.58から構成される。
The fourth logic level of this embodiment of the invention consists of four functional elements 52.5 whose inputs are made as shown in the logic diagram.
Consists of 4.56.58.

この第4の論理レベルのこれら四つの関数素子の出力は
、第5の論理レベルを構成する四つの通過・保持素子に
対する入力となるように接続されている。該通過・保持
素子60,62,64.66は、第5の論理レベルを構
成する。第60論理レベルは、二つの関数素子68.7
0から構成される。
The outputs of these four functional elements of this fourth logic level are connected to be inputs to four pass and hold elements constituting the fifth logic level. The pass and hold elements 60, 62, 64, 66 constitute a fifth logic level. The 60th logic level has two functional elements 68.7
Consists of 0.

関数素子68.70の出力は、本発明によれば、当該実
施例の第7の論理レベルを構成する関数・通過素子72
.74に対する入力を与える。この論理図においては、
各関数素子は、特定の素子の番号を表わすように、頭に
FEが付された数字を有する。同様に、すべての通過・
保持素子は、頭にFPが付された特定の数字でもって、
番号を付けられている。
The outputs of the functional elements 68, 70 are, according to the invention, the functional pass elements 72, which constitute the seventh logic level of the embodiment in question.
.. 74. In this logic diagram,
Each functional element has a number prefixed with FE to represent the number of the particular element. Similarly, all passing
Retaining elements are designated by a specific number prefixed with FP.
numbered.

本発明の出力論理は、単一の関数とみなされ得る2段階
素子から構成でれる。2段階素子の第12 段階は、第4図に詳細に示されている出力駆動デート8
0である。各出力駆動r−) 80は、゛高位″°“低
位″、または“フローティング″という出力を発生させ
得る3状態バツフア82に接続されている。このフロー
ティングの出力は、作動状態にある他の論理素子がまた
同じ論理線に接続されていると仮定した場合、出力線の
信号レベルによって浮動する。このように、本発明の本
実施例の出力関数は、12個の出力駆動/l’−)80
゜84.88.92.96.100.104 。
The output logic of the present invention is composed of two-stage elements that can be considered as a single function. The twelfth stage of the two-stage element has an output drive date of 8, which is shown in detail in FIG.
It is 0. Each output drive r-) 80 is connected to a three-state buffer 82 which can produce an output that is ``high'', ``low'', or ``floating''. Assuming that the elements are also connected to the same logic line, it will float depending on the signal level of the output line.Thus, the output function of this embodiment of the invention is 12 output drives/l'-) 80
゜84.88.92.96.100.104.

108.112,116,120.124を有する12
組の出力素子によって決定される。該各出力駆動デート
は、それぞれ6状態バツフア82゜86.90,94,
98,102,106゜110.114,118,12
2.126と関連している。
12 with 108.112, 116, 120.124
determined by the set of output elements. Each output drive date is a 6-state buffer 82°86.90,94,
98,102,106°110.114,118,12
2.126.

第1A図、第1B図、および第1c図に示されている論
理アレイは、望ましくは、単一の超LSIチップ上に配
置される四つの同一のセクタのうちの一つのセクタすな
わち全体の四分の−の部分として構成される。異なる実
施例においては、共通の制御システムを有する異なった
数のセクタが用いられる。このように、単一の超LSI
チップは、第5図および第6図に示されているような単
一の制御回路とともに、第1A図、第1B図、および第
1C図に示されているような四つの回路を有する。第6
図は、第1A図、第1B図、および第1C図に示されて
いるタイプの四つの別々の回路を制御することができる
ように構成されている。第1A図において入力として与
えられているいろいろな制御線は、第6図に示されてい
るような、後に詳述される制御回路によって発生させら
れる。
The logic arrays shown in FIGS. 1A, 1B, and 1c are preferably arranged in one of four identical sectors or the entire quadrant located on a single VLSI chip. It is constructed as the minus part of the minute. In different embodiments, different numbers of sectors with a common control system are used. In this way, a single VLSI
The chip has four circuits as shown in FIGS. 1A, 1B, and 1C, with a single control circuit as shown in FIGS. 5 and 6. 6th
The figure is configured so that four separate circuits of the type shown in FIGS. 1A, 1B, and 1C can be controlled. The various control lines provided as inputs in FIG. 1A are generated by a control circuit as shown in FIG. 6 and described in more detail below.

論理アレイの各セクタに入力される制御回路の出力は、
第1A図に示されている6人力8出力の−t”t−ダ1
40に接続されている。入力線(C5゜Ca l ”3
 )は、第6図の制御素子からつながり、一方、制御線
(C’9 ’)は、この回路が四つのセクタの中のアレ
レス指定された特定の一つであるかどうかに従って、デ
コーダをオンまたはオフに切変える。同様に、デコーダ
142は、2人力4出力の素子であって、その入力は第
6図から与えられ、一方、制御線(C′8)は、第6図
に示されている入力に従って、デコーダをオンまたはオ
フに切変える。−組のアンVデート144,146゜1
48は、実行されるべきプロ〃ゝラム可能な論理関数の
ためのプログラムをローVするために、必要な制御信号
のファンアウトを制御する。
The output of the control circuit input to each sector of the logic array is
-t"t-da 1 with 6 human power and 8 outputs shown in Figure 1A
40. Input line (C5゜Cal ”3
) leads from the control element of FIG. Or switch it off. Similarly, the decoder 142 is a two-power, four-output element whose inputs are given from FIG. 6, while the control line (C'8) Turn on or off. - Group Anne V date 144,146゜1
48 controls the fanout of the control signals necessary to low V the program for the programmable logic function to be executed.

第2図には、本発明の本実施例に用いられているタイプ
の論理関数素子12について、詳細な論理図が示されて
いる。各関数素子は8ビツト入力1ビツト出力のマルチ
プレクサ200を有し、ここで出力FDはデータ出力を
表わす。データ入力は、入力信号線A、B、Cによって
表わされる。
FIG. 2 shows a detailed logic diagram for a logic function element 12 of the type used in this embodiment of the invention. Each functional element has an 8-bit input 1-bit output multiplexer 200, where output FD represents the data output. Data inputs are represented by input signal lines A, B, and C.

該信号線は、マルチプレクサの選択制御線であるが、関
数素子に対するデータ入力を構成している。
The signal line is a selection control line for the multiplexer, and constitutes a data input to the functional element.

マルチプレクサへの八つの入力線のおのおのに対して、
アンtrr−ト・セットラッチ回路202゜204.2
06,208,210,212゜214.216が接続
されている。マルチプレクサ200の関数出力を制御す
るための関数人力す5 なわち特性データ入力は、プロ〃゛ラム入力(So )
ないしく S、 )から与えられる。クリア信号および
書込み駆動信号の関数は、第6図の制御論理との関連で
説明される。セットラッチ202から216のおのおの
は、関数入力でもってプログラムされた場合、回路のす
べての演算に対してその関数入力を保持する。クリア信
号は、初期設定処理の役割としてすべてのデートをゼロ
にクリアする。書込み駆動信号は、任意の関数を書込み
またはプログラムするように駆動されなければならない
For each of the eight input lines to the multiplexer,
Untrr-set latch circuit 202゜204.2
06, 208, 210, 212, 214, and 216 are connected. The function input 5 for controlling the function output of the multiplexer 200, that is, the characteristic data input, is the program input (So).
or S, ). The functions of the clear signal and write drive signal are explained in conjunction with the control logic of FIG. Each set latch 202-216, when programmed with a function input, holds that function input for all operations in the circuit. The clear signal clears all dates to zero as part of the initialization process. The write drive signal must be driven to write or program any function.

マルチプレクサの機能に関する記述によれば、三つの制
御入力を有する8ビツト入力1ビツト出力のマルチプレ
クサは、6ビツト制御信号を用いて出力として可能な入
力の任意の一つを選択することができることが知られて
いる。逆に言えば、6データピツトの任意の論理関数は
高位のデータビットかまたは低位のデータビットかのい
ずれかでなければならないことが知られている。高位の
ビットおよび低位のビットでもってマルチプレクロ す200に対する八つの入力ビツトを適当にプログラム
することによって、マルチプレクサ200の出力は、制
御線A、B、Cから与えられる6ヂータビツトの入力の
任意の論理関数となる。それから、これは、本発明によ
れば、本アレイのピルディングブロックとして作動する
関数素子12の論理構造を表わしている。
According to the description of the function of a multiplexer, it is known that an 8-bit input, 1-bit output multiplexer with three control inputs can select any one of the possible inputs as output using a 6-bit control signal. It is being Conversely, it is known that any logic function of six data pits must be either the high order data bit or the low order data bit. By appropriately programming the eight input bits to multiplex clock 200 with high order bits and low order bits, the output of multiplexer 200 can be set to any logic value of the six digit bit inputs provided from control lines A, B, and C. Becomes a function. This then represents the logical structure of the functional element 12 which, according to the invention, acts as a pilling block of the present array.

第3図には、本発明の当該実施例においてはすべて同一
である通過・保持素子40の詳細な論理図が略示されて
いる。通過・保持素子40は、セット・リセットアンP
c−トラツチ素子220゜フリップフロップ222.お
よびデート224から構成され、すべて図示されている
ように接続されている。もし、セット・リセットラッチ
回路220が特性関数の役割としてセットされるならば
、前の素子からくるデータ入力はアン)F)f−)22
4を働かせ、当該回路はデータ通過回路として機能し、
そして、大きな時間遅れなしVC−F’−タを通過およ
び反転させる。もし、セット・リセットラッチ回路22
0がセットされないときは、データが該回路を通過する
ようにするためには、デート224がデータを通過させ
るように、データ入力の外に、クロック信号はフリツプ
フロツプ222を始動させなけれはならない。
FIG. 3 schematically shows a detailed logic diagram of the pass-and-hold elements 40, which are all identical in this embodiment of the invention. The passing/holding element 40 is a set/reset amplifier P.
c-Tratch element 220° flip-flop 222. and date 224, all connected as shown. If the set/reset latch circuit 220 is set as a characteristic function role, the data input coming from the previous element is
4, the circuit functions as a data passing circuit,
Then, it passes through and inverts the VC-F'-tar without a large time delay. If the set/reset latch circuit 22
In order for data to pass through the circuit, when 0 is not set, the clock signal, in addition to the data input, must start flip-flop 222 so that date 224 passes the data.

第4図に示されているように、出力駆動回路80は、r
−ト232とともにセット・リセットラッチ回路から構
成されている。もし、出力駆動デート232の出力がオ
ンであるならば、バッファは、該バッファに対するデー
タ入力に応答して高位または低位になる。もし、出力駆
動デート232の出力駆動線が駆動されていないときは
、関連するバッファはデータ入力に関係なく、オフまた
はフローティングになる。出力駆動デート232に対す
る入力制御線は次のように機能する。
As shown in FIG. 4, the output drive circuit 80 includes r
- It consists of a set/reset latch circuit together with the gate 232. If the output of output drive date 232 is on, the buffer goes high or low in response to the data input to the buffer. If the output drive line of output drive date 232 is not driven, the associated buffer will be off or floating, regardless of data input. The input control lines to output drive date 232 function as follows.

Hは/7”−)を保持、すなわち強制的にオフにする。H holds /7''-), that is, it is forcibly turned off.

Fはテスト入力であって出力を強制的に駆動し、そして
Eは、通常の駆動関数入力である。
F is the test input that forces the output, and E is the normal drive function input.

第5図には、第1C図に示てれているようにデー)28
3に対するFORCF (強制)制御関数人力を発生さ
せる制御システムレジスタ281が示されておシ、他の
同様なセクタに対してもそれぞれ同様である。
In Figure 5, as shown in Figure 1C,
A control system register 281 is shown that generates the FORCF control function for FORCF 3, and similarly for other similar sectors, respectively.

第6図には、第1八図ないし第1C図の回路を制御する
ために、本発明による制御回路が、四つの同一の回路の
一つとして示されている。制御回路300は、制御クロ
ック302を有している。
In FIG. 6, a control circuit according to the invention is shown as one of four identical circuits for controlling the circuits of FIGS. 18-1C. The control circuit 300 has a control clock 302.

一連の入力特性データは入力304に与えられる。A series of input characteristic data is provided at input 304.

一連の入力テストデータは、標準のコンピュータの環境
において、初期設定機能の役割として、通常のデータ路
の外側にあるテスト保守論理システムの一つの関数とし
て与えられる。前記クロック302は、セット、クリア
、およびフォーゲットの機能を実行する。すなわち、そ
れは、すべての回路が最初クリアされるように、クリア
出力306から出るいろ(・ろなりリアビットを制御す
るだめのワンショット信号を与える。しかし、ワンショ
ット信号が形成されるため、クリア信号はわざわざ消滅
させられる必要はなく、自動的に消滅する。
A set of input test data is provided in a standard computer environment as a function of a test maintenance logic system outside of the normal data path, in the role of an initialization function. The clock 302 performs set, clear, and forget functions. That is, it provides a one-shot signal that controls the rear bits coming out of the clear output 306 so that all circuits are initially cleared. However, since the one-shot signal is formed, the clear signal There is no need for it to be erased; it will disappear automatically.

デコーダ308は、カウンタ310と共に、い9 ろいろな関数素子12に対して、共通にr−トの働きを
制御するだめの8ビツトの出力チャネルを与えるように
作用する。このように、1ビツトのチャネルに与えられ
る入力データの連続的な流れは、デコーダ308と共に
カウンタ310によって制御され、その結果、8ビツト
の出力選択チャネル310によってアVレス指定された
素子12のような各関数素子は、そのプログラム入力を
、順に、始動させる。どの関数素子12またはどの通過
拳保持素子40に関するどの選択された論理が、プログ
ラム関数のアPレス指定に対して、始動させられるかを
制御するために、カウンタ312は第1A図に示されて
いる線Cに出力制御信号を与える。該カウンタはまた、
どの出力駆動素子がアVレス指定されるかを制御する。
Decoder 308 acts in conjunction with counter 310 to provide an 8-bit output channel for the various functional elements 12 that commonly controls the operation of r-to. Thus, the continuous flow of input data applied to the 1-bit channel is controlled by the counter 310 in conjunction with the decoder 308 so that the 8-bit output select channel 310 allows the output of the 8-bit output select channel 310 to Each functional element in turn triggers its program input. A counter 312 is shown in FIG. 1A to control which selected logic for which function element 12 or which passing fist holding element 40 is activated in response to an address specification of a program function. Give an output control signal to line C. The counter also
Controls which output drive element is designated as voltageless.

第7図には、第1A図、第1B図、および第1C図に示
されているような本発明による論理図の単純化したもの
が示されている。論理素子は記号を用いて表わされてい
るだけであり、いろいろなプログラムおよび制御関数線
は示されていない。
FIG. 7 shows a simplified version of the logic diagram according to the present invention as shown in FIGS. 1A, 1B, and 1C. Logic elements are only represented symbolically, and various program and control function lines are not shown.

0 このように、参照番号12,14.16,18゜20.
22.24.26が、第1A図と同様、第7図において
関数素子を示すために用いられている。これは素子と関
数を対応させるためである。
0 Thus, reference numbers 12, 14. 16, 18° 20.
22.24.26 are used to indicate functional elements in FIG. 7 as well as in FIG. 1A. This is to make elements and functions correspond.

このように、第7図は、第1A図、第1B図、および第
1C図に示されていると同じ論理システムを示し、該シ
ステムは八つの論理レベルを有し、出力レベルはソフト
ウェアによシブログラム可能な論理アレイ10を構成し
ている。両図における一つの大きな相違点は、第1C図
に示されている2段階の出力素子が第7図においては、
単一の出力素子に単純化されていることである。このよ
うに、結合された出力駆動デートおよび6状態バツフア
素子は、第1C図において示されている6状態バツフア
82.86 、・・・・・・、126と対応するように
、第7図においては、それぞれ番号82A。
Thus, FIG. 7 shows the same logic system shown in FIGS. 1A, 1B, and 1C, with eight logic levels and output levels determined by software. A siprogrammable logic array 10 is configured. One major difference between the two figures is that the two-stage output element shown in Figure 1C is replaced by the two-stage output element shown in Figure 7.
It is simplified to a single output element. Thus, the combined output drive date and six-state buffer elements in FIG. 7 correspond to the six-state buffers 82, 86, . . . , 126 shown in FIG. are respectively numbered 82A.

86A、・・・・・・、126Aによって示されている
86A, . . . , 126A.

ソフトウェアによるプログラム可能な論理アレイは、本
発明によれば、論理設計において繰返し起る問題の一つ
、すなわち、単純な制御関数におけるシステムに“つき
まとう′”問題を解決するように設計されている。これ
は、普通特別に設計されている加算器および乗算器のよ
うな重要な算術機能とは区別をすることである。本発明
によれば、論理アレイは加算2乗算の機能を構成するよ
うに設計されてはいるけれども、それは一般的には効果
的でない。論理アレイは、本発明によれば、コンピュー
タにおける算術論理すなわちプール代数的な演算システ
ムを完成するのに必要な部類のはぐれた、残りの、ある
いは゛つきまとう”機能を実行する際に最も効果的であ
ると思われる。例えば、もし、コンピュータシステムが
16ビツトモーrで別々に作動する四つの別々な16ビ
ツト加算器または乗算器を有しているとすると、四つの
別々なシステムを並行して64ビツトで作動させるだめ
の制御および論理関数を備えるようにソフトウェアによ
るプログラム可能な論理アレイを用いることは有用であ
る。ソフトウェアによるプログラム可能な論理アレイが
、コンピュータのメインフレームの全体の制御部を稼動
させるように用いられることを意図するものではない。
A software programmable logic array is designed in accordance with the present invention to solve one of the recurring problems in logic design, namely the problem that "haunts" systems in simple control functions. This is to distinguish it from important arithmetic functions such as adders and multipliers, which are usually specially designed. Although, according to the present invention, the logic array is designed to implement the function of add-squaring, it is generally not effective. Logic arrays, according to the present invention, are most effective in performing the type of discrete, residual, or "trailing" functions necessary to complete the arithmetic logic or pool algebraic operation system in a computer. For example, if a computer system has four separate 16-bit adders or multipliers operating separately at 16 bits, then the four separate systems can be It is useful to use a software programmable logic array to provide bit-operated control and logic functions.The software programmable logic array runs the entire control section of the computer's mainframe. It is not intended to be used as such.

専用のマイクロコーVおよび専用の算術すなわちゾール
関数そのものが設計にとって有効である。その代わシに
、ソフトによるプログラム可能な論理アレイは、算術論
理装置におけるオーバフローの検出または6状態バスを
使用するための制御分布のような関数に対してはよく作
動する。
A dedicated microcoor V and a dedicated arithmetic or sol function itself are useful for the design. Instead, software programmable logic arrays work well for functions such as overflow detection in arithmetic logic units or control distribution for using six-state buses.

従来、フ0ログラム可能な論理アレイを作るには、ヒユ
ーズ技術が用いられていた。しかし、ヒユーズタイプの
プログラム可能な論理アレイを超大規模集積回路に組込
むことは経済的な面からも有用でない。本発明は、特性
データの結果として、ユーザによって選択および併用さ
れ得る組合せ関数または順序論理関数のいずれか一つを
備えることによって、このような需要に応えるものであ
る。
Traditionally, fuse technology has been used to create programmable logic arrays. However, it is not economically advantageous to incorporate fuse-type programmable logic arrays into very large scale integrated circuits. The present invention meets this need by providing one of a combinational function or an ordinal logic function that can be selected and used in conjunction with the user as a result of the characteristic data.

本発明によれば、論理アレイの基本的な関数素子は、三
つの入力を有する任意の論理関数を実行するように構成
され得る論理ユニットすなわち、関数素子12である。
According to the invention, the basic functional element of the logic array is a logic unit or functional element 12 that can be configured to perform any logic function having three inputs.

これらの素子の多くの論理レベルすなわち論理段階は、
全体として論理アレ6 イを構成するように接続されている。これらの素子の第
1の段階は、入力ピンに結合され関数素子の第1のレベ
ルの出力は、関数素子の次に続く段階を駆動させる。
The logic levels or stages of many of these elements are
They are connected to form a logical array as a whole. A first stage of these elements is coupled to an input pin and the output of the first level of the functional element drives the next successive stage of the functional element.

開示されている本発明の当該実施例においては、四つの
別々な関数素子のグループがある。本発明の当該実施例
によれば、一つの超LSIチップの上に、四つの別々な
論理アレイのグループがあり、各アレイは、四つの同一
のコピーの一つであるので、一つのセクタまたは四分の
−の部分と呼ぶことにする。当該アレイの各四分の−の
部分すなわち各セクタ内には、第1の段階として、24
個の入力ピンに接続されている8個の関数素子がある。
In the disclosed embodiment of the invention, there are four separate groups of functional elements. According to this embodiment of the invention, there are four separate groups of logical arrays on one VLSI chip, and each array is one of four identical copies, so one sector or Let's call it the -quarter part. Within each quarter or sector of the array, there are 24
There are 8 functional elements connected to 8 input pins.

第2の論理レベルすなわち第2の論理段階には6個の関
数素子があり、第6の論理レベルすなわち第6の論理段
階には4個の関数素子があり、そして最後の、すなわち
第4の論理レベルすなわち第4の論理段階には、2個の
関数素子がある。第2および次に続く段階のすべての関
数レベルの出力は、次の出力レベルへの供給用出力に接
続されて4 いるだけでなく、チップ出力ピンに接続されている。こ
のことは、ユーザが論理アレイの中のいろいろなレベル
の関数素子のいろいろな組合せを用いることによって、
6個の適当な簡単な論理式、または12個の混成された
論理式、または、2個の複雑な論理式まで扱うことがで
きることを意味する。第1A図、第1B図、および第1
C図に示されているタイプの与えられた論理アレイにお
いてプログラム可能な最も複雑な式は、21個の入力ピ
ンを有する7個の関数素子にまで及ぶことができる。
The second logic level or stage has six functional elements, the sixth logic level or stage has four functional elements, and the last or fourth At the logic level or fourth logic level, there are two functional elements. The outputs of all function levels of the second and subsequent stages are connected to the chip output pins as well as to the outputs for feeding the next output level. This allows the user to use different combinations of functional elements at different levels in the logic array.
This means that up to 6 suitably simple logical expressions, or 12 mixed logical expressions, or up to 2 complex logical expressions can be handled. Figures 1A, 1B, and 1
The most complex expressions that can be programmed in a given logic array of the type shown in Figure C can span up to 7 functional elements with 21 input pins.

第1の段階の関数素子を除いて、各段階の各関数素子の
出力には、選択可能なフリップフロップすなわち通過・
保持素子がある。各フリップフロップは、単一サイクル
の保持レジスタとして機能するように、または、データ
をラッチすることなく最小の遅れでデータを直接通過さ
せるように選択することができる。各フリップフロップ
には、テストのだめのシステム制御のもとにおいて、す
べての7リツプフロツプを強制的にクリアさせる入力が
接続されている。
Except for the first stage functional element, the output of each functional element in each stage includes a selectable flip-flop or pass-through.
There is a holding element. Each flip-flop can be selected to function as a single-cycle holding register or to pass data directly through with minimal delay without latching the data. Each flip-flop has an input connected to it that forces all seven flip-flops to clear under test system control.

各チップ出力ピンには、バッファの各出力ピンの6状態
制御線を制御する出力素子が接続されている。ユーザは
、該出力ピンを常に強制的に駆動することができる。す
なわち、四つのセクタのおのおのに関連している入力ピ
ンを、セクタの各出力ピンの6状態線を制御するだめに
駆動するだけでなく、データ出力を決してオフにしない
ようにすることができる。
Each chip output pin is connected to an output element that controls a six-state control line for each output pin of the buffer. The user can force the output pin to be driven at all times. That is, the input pins associated with each of the four sectors can not only be driven to control the six-state line of each output pin of the sector, but the data output can never be turned off.

素子12のような各関数素子は、8個のメモリーラッチ
と3個の選択人力A、B、Cによって駆動される8人力
1出力マルチプレクサを有し、該メモリーラッチおよび
選択入力はマルチプレクサの出力に対する一つのラッチ
の状態を選択するように解読される。8個のデータラッ
チは、入力A。
Each functional element, such as element 12, has an eight-power single-output multiplexer driven by eight memory latches and three selection inputs A, B, and C, the memory latches and selection inputs for the outputs of the multiplexer. It is decoded to select the state of one latch. Eight data latches are input A.

B、Cの所望の論理関数を実行するようにセットされ、
クリアされる。8個のデータラッチは、3個の入力に対
する完全な真理値表を構成する。したがって、必要なデ
ータラッチがセットおよびクリアされることによって、
6ビツトの任意の論理関数が実行される。簡単な例とし
て、セットされているプログラム入力(S7)に関する
ラッチを除いたすべてのデータラッチをクリアすること
によってFD = A xB * Cが作られる。任意
の必要な論理関数の真理値表は、いくつかの周知の論理
的な方法によって容易に作成される。
B, C are set to perform the desired logic function;
cleared. The eight data latches constitute a complete truth table for the three inputs. Therefore, by setting and clearing the required data latches,
Any 6-bit logic function is executed. As a simple example, FD = A x B * C is created by clearing all data latches except the one associated with the program input (S7) which is set. Truth tables for any required logical function are easily constructed by several well-known logical methods.

すべてのラッチは、第6図に示されている管理システム
から制御される回路によって始動させられる。すべての
ラッチは同時にクリアされ、それからテストデータ出力
ビン304に入ってくるデータの条件によって順次セッ
トされる。各関数素子内で、ラッチビット0が最初にセ
ットされ、最後にラッチビット7がセットされるように
順にセットされる。
All latches are activated by circuitry controlled from the management system shown in FIG. All latches are cleared simultaneously and then set sequentially depending on the condition of the data coming into the test data output bin 304. Within each functional element, latch bit 0 is set first, latch bit 7 is set last, and so on.

第6図に示されているように、通過・保持フリップフロ
ップ40は、関数素子12におけるラッチビット202
と同一のラッチビットによって制御される2人力1出力
のマルチプレクサである。
As shown in FIG.
It is a two-power, single-output multiplexer controlled by the same latch bits as .

上記ラッチビット202は、また、第6図における装置
によって給供されるシステム制御関数のも7 とで同様に制御される。もし、ラッチビットがクリアさ
れると、駆動用関数素子からの入力データは、直接マル
チプレクサの出力へ通過させられ、したがって、もし、
出力ビンおよび次に続く関数素子があればそこへ通過さ
せられる。この場合、そのデータは、反転させられる。
The latch bit 202 is also similarly controlled by the system control function 7 provided by the apparatus in FIG. If the latch bit is cleared, the input data from the driving function element is passed directly to the output of the multiplexer, so if
It is passed to the output bin and the next following function element, if any. In this case, the data is inverted.

このことは、関数素子の連続しているレベルの論理式を
書き込むときに考慮されなければならない。もし、ラッ
チビットがセットされるとすると、フリップフロップの
出力は、マルチプレクサの出力に接続される。
This must be taken into account when writing logical expressions for successive levels of functional elements. If the latch bit is set, the output of the flip-flop is connected to the output of the multiplexer.

この場合、データは入力から出力へ行くときに、直接通
過の場合のようには反転させられないことに注意する必
要がある。フリップ70ツデモーrと通過モーVとの間
における反転のこの変化は、何ら問題とならない。何故
なら、デークラッチは、電圧が上昇した条件においての
み、書込みを1回する素子であるからである。このよう
に、それは使用中、変化し得ない。データが反転される
という事実は、特定の入力を駆動する関数素子における
必要な論理関数の論理補数を発生させるときに、8 考慮され得る。
It should be noted that in this case the data is not inverted as it goes from the input to the output as in the case of direct pass. This change in reversal between the flip 70 mode r and the passing mode V does not pose any problem. This is because the data latch is an element that performs writing once only under conditions where the voltage has increased. This way, it cannot change during use. The fact that the data is inverted can be taken into account when generating the logical complement of the required logical function in the functional element driving a particular input.

フリップフロップ222は、いかなるデートによって制
御を受けることなしに、連続的にクロックされる。この
ことは、状態順序回路を構成するためには、該関数の出
力は、論理式を定義するだめの入力として、チップ入力
に接続されなければならないことを意味する。データフ
リップフロップには、使用またはテストのためにフリッ
プフロップを始動させるために利用され得る第6図に示
される管理制御システムから出力されるリセット入力が
人力される。第4図に示されている出力駆動素子80は
、各関数出力ビンの3状態制御線に接続されている。該
出力駆動は、6個の異なったオペレーションモーげを有
する。
Flip-flop 222 is continuously clocked without being controlled by any date. This means that in order to construct a state-sequential circuit, the output of the function must be connected to a chip input as an input for defining a logical formula. The data flip-flop is powered by a reset input output from the management control system shown in FIG. 6, which can be utilized to start the flip-flop for use or testing. The output drive element 80 shown in FIG. 4 is connected to the three-state control line of each function output bin. The output drive has six different operating modes.

前記出力駆動の第1のモーrは、記憶のデータビットで
あり、該データビットは、もし、セットされていれば、
出力ビンが出力機能抑止保持停止バスによって強制的に
オフにされ得る場合を除いて、各6状態制御線を高位に
出力駆動するように保持する。
The first modulus of the output drive is a data bit of storage which, if set,
Holds each six-state control line to output drive high unless the output bin can be forced off by the Output Disable Hold Stop bus.

第2のオペレーションの条件は、もし、データビットが
クリアされていれば、1セクタ内の各出力駆動素子に対
する共通の入力・出力ビンは、6状態制御線を制御する
ことができることである。
The second condition for operation is that if the data bit is cleared, the common input/output bin for each output drive element within a sector can control a 6-state control line.

このビンの高位のレベルは、保持停止パスが駆動線を再
び支配することができる場合を除いて、すべての出力バ
ッファおよびセクタ内の対応する論理アレイを駆動させ
る。
A high level in this bin will drive all output buffers and corresponding logic arrays in the sector, except when the hold-stop path can regain control of the drive line.

第6のオペレーションモーPは、セクタ内の各出力は、
第5図に示されている制御システムレジスタ281にお
ける関数ビットによって、出力駆動されるように、強制
的にオンにされ得ることである。このように、4個の個
々の制御ビットがある。通常、この装置は、保守のため
に用いられることが望まれているが、システムオペレー
ションにおいて使用されても何ら差支えない。第6図に
示すれている制御シス゛テムインタフェース関数は、ソ
フトウェアによるプログラム可能な論理アレイの不可欠
のものであり、初期設定に対して特性データ番与える。
In the sixth operation mode P, each output within a sector is
It can be forced on to be output driven by a function bit in the control system register 281 shown in FIG. Thus, there are four individual control bits. Although it is generally desired that this device be used for maintenance, it may also be used for system operation. The control system interface functions shown in FIG. 6 are integral to the software programmable logic array and provide characteristic data numbers for initialization.

これは、保守システムが、選択された論理関数を記述す
るデータラッチをロー関して始めて、前記アレイが機能
を有するからである。
This is because the array is functional only when the maintenance system rows the data latches that describe the selected logical function.

必要な論理関数を実行するデータラッチは、最初、すべ
てのセクタ内のすべてのデータラッチをクリアすること
によってローVされ、次に、もし必要ならテストデータ
入力からくるデータによって、各ラッチを個々にセット
することによってローPされる。チップ上には、0から
767まで計数するビットカウンタがある。768計数
のうち、766は各セクタ内の184ラツチに対するビ
ットラッチであシ、それに各セクタ内に余分の8計数が
ある。もし、テストデータ入力ビツトが1であるとする
と、各関数ラッチはセットされ、そしてカウンタは増加
される。このカウンタは、もし、入力ビツトが0である
とすると、単に1計数分増加するだけである。制御関数
に対する関数ビットの記述は次の通シである。もし、テ
ストストロが入力ビンが作動している場合において、制
御レジスタのビット1がセットされているとき、WRI
TEF関数が作動する。このWRITEFは、関数記述
ラッ1 チの書込みを可能にするように作動しなげればならない
。WRITEFは、INITFおよびCLEARFと同
じ制御語でセットされることができる。WRITEFが
作動状態であり、かつテストクロック駆動入力ビンが高
位のレベルであるとき、テストデータ入力ピンの状態は
現在アVレス指定されているラッチに書込まれる。
The data latches that perform the required logic functions are first brought low by clearing all data latches in all sectors, and then each latch is individually driven, if necessary, by data coming from the test data input. By setting it, it is set to low P. On the chip is a bit counter that counts from 0 to 767. Of the 768 counts, 766 are bit latches for the 184 latches in each sector, plus 8 extra counts in each sector. If the test data input bit is 1, each function latch is set and the counter is incremented. This counter simply increments by one count if the input bit is 0. The function bit description for the control function is as follows. If the Teststro input bin is activated and bit 1 of the control register is set, the WRI
TEF function is activated. This WRITEF must operate to enable writing to the function description latch. WRITEF can be set with the same control word as INITF and CLEARF. When WRITEF is active and the test clock drive input bin is at a high level, the state of the test data input pin is written to the latch that is currently designated as AVless.

もし、テストストロボ入力ビンが作動状態にある場合に
おいて、制御レジスタのビット2がセットされていると
きは、INITF関数は作動される。
If the test strobe input bin is activated and bit 2 of the control register is set, the INITF function is activated.

INITFは二つの機能を実行する。すなわち、第一に
、INITFは、個々の関数ラッチビットを選択するア
マレスカウンタをゼロにクリアする。そして第二に、I
NITF’はまたすべての四つのセクタの論理アレイに
おけるすべての中間状態の7リツプフロツプをクリアす
る。INITFは、それが、作動状態になっているテス
トストロボの前縁における1クロツクのみに対して作動
状態になるという点においてワンショット関数である。
INITF performs two functions. That is, first, INITF clears to zero the amares counters that select individual function latch bits. And secondly, I
NITF' also clears all intermediate state 7 lip-flops in all four sector logical arrays. INITF is a one-shot function in that it is activated for only one clock at the leading edge of the test strobe that is activated.

このことは、この関数が、WRITEFと同じ関数制御
語で、関数記2 述ラッチを書込むために必要な制御順序を単純化するこ
とができることを意味する。これは、テストストロボを
高位のレベルにしたときに、テストクロック駆動制御線
を低位または作動しない状態に保持することによって行
なわれる。少なくとも2クロツクサイクルの遅れの後に
、該テストクロック駆動は高位のレベルになシ、記述ラ
ッチは書込まれる。
This means that this function can simplify the control sequence required to write a function description latch with the same function control word as WRITEF. This is done by holding the test clock drive control line low or inactive when the test strobe is at a high level. After a delay of at least two clock cycles, the test clock drive goes high and the write latch is written.

テストストロボ入力−ンが作動している場合において制
御レジスタのビット6がセットされているとき、0LE
ARP関数は作動される。CLEARはすべてのセクタ
におけるすべての関数記述ラッチをゼロにクリアする。
0LE when bit 6 of the control register is set when the test strobe input is activated.
The ARP function is activated. CLEAR clears all function description latches in all sectors to zero.

これは、論理アレイが最初に書込まれている場合に電圧
上昇時になされなければならず、チップ関数を変化させ
る他の時に実行゛され得る。0LEARPは、もしゼロ
を保持している記述ラッチが1に変化させられることが
要求されている場合には、必要ない。WRITEF・I
NI’rFの関数は、必要なロケーションの変化におけ
るゼロの場合以外、すべてがゼロである一連のデータと
ともに用いられる。0LEARPは、それが作動状態に
なっているテストストロボの前縁における1クロツクサ
イクルのみに対して作動する点において、ワンショット
関数である。このことは、この関数が■ITEFと同じ
関数制御語で、関数記述ラッチを書込むために必要な制
御順序を供給することができることを意味する。これは
テストストロボを高位のレベルにしたときに、テストク
ロック駆動を低位に保持することによって行なわれる。
This must be done on voltage rise when the logic array is being written for the first time, and can be done at other times to change the chip function. 0LEARP is not needed if a write latch holding a zero is required to be changed to a one. WRITEF・I
The NI'rF function is used with a series of data that are all zero except for the zero case at the desired location change. 0LEARP is a one-shot function in that it operates only for one clock cycle at the leading edge of the test strobe when it is active. This means that this function can provide the necessary control order to write the function description latch with the same function control word as ITEF. This is done by holding the test clock drive low when the test strobe is at a high level.

少なくとも2クロツクサイクルの遅れの後に、該テスト
クロック駆動は高位のレベルになシ、記述ラッチは書込
まれる。
After a delay of at least two clock cycles, the test clock drive goes high and the write latch is written.

FORCEF OからFORCEF’ 3までの四つの
関数は、制御レジスタ281のビット4.5.6.7を
それぞれ表わし、それぞれのセクタ内のすべての出力ビ
ンを強制的に作動させる。この関数は、出方駆動ピンの
状態、保持停止パス、および出方駆動デートにおける任
意の関数記述ラッチの状態を支配する。これらの関数ビ
ットは主として診断法によって用いられることが期待さ
れているけれども、これらはまだ通常のシステムオペレ
ーションにおいても用いられる。前記四つのビットは、
テストクロック駆動信号の前縁において静的保持レジス
タにローPされる。
The four functions FORCEFO through FORCEF'3 each represent bits 4,5,6,7 of control register 281 and force all output bins in their respective sectors to operate. This function governs the state of the output drive pin, the hold-stop path, and the state of any function description latches in the output drive date. Although these function bits are expected to be used primarily by diagnostics, they are still used in normal system operation. The four bits are
Pulled low to a static holding register on the leading edge of the test clock drive signal.

BLOCKF関数は、テストストロボ入力が作動してい
る場合において制御レジスタのビット8が作動している
ときに作動状態となる。BLOCKFはすべてのセクタ
におけるすべての出力ピンを抑止する。この関数は、出
力駆動ピンおよび任意の出力駆動素子における任意の関
数記述ラッチの状態を支配する。BLOCKFは、保持
停止パスを強制的に抑止モードにする。BLOCKFは
任意の作動状態にあるFORCEF関数を支配しない。
The BLOCKF function is active when bit 8 of the control register is active when the test strobe input is active. BLOCKF inhibits all output pins in all sectors. This function governs the state of any function description latches on the output drive pins and any output drive elements. BLOCKF forces the hold-stop path into inhibit mode. BLOCKF does not dominate the FORCEF function in any active state.

論理アレイは、本発明によれば、いくつかの好ましい性
質を持っている。第一に、論理アレイは実行されている
関数に対して構成される。もし、アレイのある部分がシ
ステム中の一つのロケーションから別のロケーションに
移動させられるとすると、アレイは、該部分を物理的に
少しも変化させずに、新しいロケーションに対する論理
式を実5 行する。前記部分を通る論理信号の遅れは、実行されて
いる論理式の複雑さに比例する。いくつかの簡単な式あ
るいはいくらか複雑な式が実行可能であシ、このように
、論理設計者には自由度が与えられている。従来可変人
力に対する固定された式を実行していたのに対して、当
該論理アレイは、固定された入力セットの中で可変の関
数を実行する。論理路の一部であるフリツプフロツプは
、状態式を実行するように用いられることができ、また
組合せ論理を実行するように抑止されることができる。
Logic arrays have several favorable properties according to the present invention. First, a logical array is configured for the function being executed. If a portion of the array is moved from one location in the system to another, the array executes the logical expressions for the new location without physically changing the portion. . The delay of the logic signal through said section is proportional to the complexity of the logic expression being executed. Several simple or somewhat complex equations can be implemented, thus giving the logic designer a degree of freedom. The logic array performs a variable function within a fixed set of inputs, whereas traditionally it performs a fixed formula for variable input. Flip-flops, which are part of the logic circuit, can be used to implement state equations and can be inhibited to implement combinatorial logic.

第1のレベルの関数素子は、第2のレベルの関数素子へ
送り込まれる。第2レベルの各関数素子は、それ自身の
出力ピンを駆動し、または第6のレベルの関数素子へ送
り込まれ、該第3のレベルの関数素子は出力ピンを駆動
する。今度は、第6のレベルは第4のレベルの出力を駆
動する。この相互結合のために、該アレイは、六つまで
の適当に簡単な式がアレイの中で解けるよう炉、第2の
レベルのすべての出力を作動させることができる。
The first level functional element feeds into the second level functional element. Each second level functional element drives its own output pin or is fed into a sixth level functional element, which drives an output pin. This time, the sixth level drives the output of the fourth level. Because of this interconnection, the array can operate all outputs of the second level of the furnace so that up to six suitably simple equations can be solved within the array.

6 大きな式が複雑になればなる程、第6および第4ルヘル
の素子は、第1および第2のレベルの素子がますます広
く論理式の役割を果すように用いられることができ、そ
れによって、ますます複雑な論理式を解くことができる
6. The more complex a large equation becomes, the 6th and 4th level elements can be used such that the elements of the first and second levels play the role of the logic equation more and more, thereby , can solve increasingly complex logical equations.

両方の論理タイプの解が同時に使用可能である。Solutions of both logic types are available simultaneously.

換言すれば、ある簡単な論理式は、より複雑な論理式に
まだ入力されることができる信号を作シ出す。第2およ
び第6のレベルの出力は、第3および第4のレベルの出
力が作動すると同時に作動状態となり、その結果、簡単
および複雑な論理関数が同時に作られる。通過・保持素
子がデータを保持するか、まだはデータを通過させるか
どうかについて、その状態を選択することによって、論
理式のあるものは状態式となり、あるものは純粋に組合
せ式となシ得る。
In other words, some simple logic equations produce signals that can still be input into more complex logic equations. The second and sixth level outputs are activated at the same time as the third and fourth level outputs are activated, so that simple and complex logic functions are created simultaneously. By selecting the state of whether a pass/hold element retains data or still passes data, some logical formulas can be state formulas, while others can be purely combinatorial formulas. .

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

第1A図、第1B図、および第1C図は、左から右へ順
に並べられることによって、本発明の一実施例における
詳細なプログラム可能な論理アレイのブロック回路図、
第2図は、第1A図、第1B図、および第1C図に示さ
れている、本発明による関数素子の一つの詳細な論理図
、第6図は、第1A図、第1B図、および第1C図に示
されている、本発明による通過・保持素子の詳細な論理
図、第4図は、第1C図に示されている、本発明による
出力駆動輪埋木子の詳細な論理図、第5図は、第1A図
、第1B図、および第1C図に示されている、本発明に
よる、論理システムに対する制御回路の論理図、第6図
は、第1A図ないし第1C図に示されている、本発明に
よる、システムを駆動させるために用いられる特性論理
に対する制御回路の論理図、第7図は、第1A図ないし
第1C図に示されている、本発明によるシステムの簡単
化された論理図であって、基本的な論理の相互結合のみ
を示したものである。 10・・・論理アレイ、12.14,16,18゜20
.22,24,26,28,30.32゜34.36,
38.52,54,56.58゜68.70・・・関数
素子、40.42,44,46゜4B、50,60,6
2,64,66.72゜74・・・通過・保持素子、8
0.84.88.92゜96.100,104,108
,112,116゜120.124・・・出力駆動デー
ト、82,86゜90.94,98,102,106,
110゜114.118,122,126・・・6状態
バツフア、200・・・マルチプレクサ、202.20
4 。 206 .208 .21 0 .212 .21 4
  。 216・・・ラッチ回路、300・・・制御回路、(A
。 B 、 C)−・・データ入力、(So + Sl 1
 S21 S31S4 + ”5 + 86+ 87 
)・・・プログラム入力、(FD )・・・出力 代理人 浅 村  皓 9 二F−ZZ=兄 ;2 ,1膏−
1A, 1B, and 1C, arranged from left to right, are block diagrams of detailed programmable logic arrays in one embodiment of the present invention;
FIG. 2 is a detailed logic diagram of one of the functional elements according to the present invention shown in FIGS. 1A, 1B, and 1C; FIG. FIG. 1C shows a detailed logic diagram of the pass-through and retaining element according to the invention; FIG. 4 shows a detailed logic diagram of the output drive wheel mount according to the invention, shown in FIG. 1C; 5 is a logic diagram of a control circuit according to the present invention for the logic system shown in FIGS. 1A, 1B, and 1C; FIG. 6 is a logic diagram of a control circuit shown in FIGS. 1A-1C; FIG. 7 is a logic diagram of a control circuit for the characteristic logic used to drive the system according to the invention, which is a simplification of the system according to the invention shown in FIGS. 1A to 1C. This is a logical diagram that shows only basic logical interconnections. 10...Logic array, 12.14,16,18°20
.. 22, 24, 26, 28, 30.32°34.36,
38.52, 54, 56.58° 68.70...Function element, 40.42, 44, 46° 4B, 50, 60, 6
2,64,66.72°74... Passing/holding element, 8
0.84.88.92゜96.100,104,108
, 112, 116° 120.124... Output drive date, 82, 86° 90.94, 98, 102, 106,
110゜114.118,122,126...6-state buffer, 200...Multiplexer, 202.20
4. 206. 208. 21 0. 212. 21 4
. 216... Latch circuit, 300... Control circuit, (A
. B, C) - Data input, (So + Sl 1
S21 S31S4 + ”5 + 86+ 87
)...Program input, (FD)...Output agent Asamura Ko 9 2F-ZZ = older brother; 2, 1-

Claims (1)

【特許請求の範囲】 (1)  ソフトウェアによりプログラム可能な論理ア
レイであって、 (イ)複数個の論理段階であって、関数素子によって構
成されている該論理段階のおのどのは、論理入力Rよび
該入力の予め定められた関数である論理出力を有し、前
記関数素子のおのおのは、データ入力を受取るように接
続されている入力および該データ入力の論理式を表わす
データ出力を有し、すなわち前記関数素子の8のおのは
、少なくとも一つの出力が複数個の入力の任意の論理関
数となり得るように該出力に接続されている該入力を有
し、前記関数素子のおのおのは、実行される前記論理関
数に対応して関連する出力状態についての予め定められ
た論理指示を保持するために、起こり得る出力状態の数
に等しい複数個のラッチを有する、ような論理段階、 (ロ)複数個の段階であって、該段階は、前記論理段階
の一つの段階の出力を受取るように接続されている入力
、並びに前記論理段階の他の一つの段階の入力および前
記論理アレイの出力に接続されている出力を有するフリ
ップフロップ通過素子から成υ、該素子のおのおのは、
実行されるべき予め定められた論理関数に従って、論理
条件を反転させ、かつ遅れなしにその反転された条件を
通過させ、または解除されるまで論理条件をラッチする
、ような段階、および(ハ)予め定められた論理関数を
実行するように、前記関数素子および前記フリップフロ
ップ通過素子のすべてをセットするだめの制御手段、を
有することを特徴とする論理アレイ。 (2、特許請求の範囲第1項において、(イ) システ
ムデータ入力を受取るように接続されている8個の関数
素子から成る第1の論理段階、 (ロ)前記第1の論理段階の出力に接続されている6個
の関数素子から成る第2の論理段階、(ハ)前記第2の
論理段階の出力に接続されている6個のノリツブフロッ
プ通過素子から成る第6の段階、 に)前記第6の段階の出力に接続されている4個の関数
素子から成る第4の論理段階、(ホ)前記第4の論理段
階の出力に接続されている4個の7リップフロップ通過
素子から成る第5の段階、 (へ)前記第5の段階の出力に接続されている2個の関
数素子から成る第6の論理段階、(ト)前記第6の論理
段階の出力に接続されている2個の7リツプフロツプ通
過素子から成る第7の段階、および (力 前記第6.第5.および第7の段階の出力に接続
きれている12個の出力駆動ゲートから成る第8の段階
、 を有することを特徴とする論理アレイ。 (3)特許請求の範囲第2項において、各出力駆動ケ9
−トの出力は一つのモーPで強制的に、高位。 低位、もしくはフローティングにさせられ、または他の
モーrのオペレーションにおける出力として入力関数に
接続することができることを特徴とする論理アレイ。 (4)特許請求の範囲第2項において、各関数素子は6
個のデータ入力、8個の論理制御入力、および1個の出
力を有することを特徴とする論理アレイ。 (5)特許請求の範囲第4項に16いて、各関数素子は
、8人力1出力マルチプレクサおよびマルチプレクサに
入力として接続されている8個のアンレグ8−ト・セッ
トラッチ回路から成ることを特徴とする論理アレイ。
[Scope of Claims] (1) A logic array programmable by software, comprising: (a) a plurality of logic stages, each of which is constituted by a functional element, having a logic input; R and a logic output that is a predetermined function of the input, each of the functional elements having an input connected to receive a data input and a data output representing a logic expression of the data input. , that is, each of the eight functional elements has an input connected to the output such that at least one output can be any logical function of the plurality of inputs, and each of the functional elements has: a logic stage having a plurality of latches equal to the number of possible output states to hold predetermined logic instructions for the associated output states corresponding to said logic function to be executed; ) a plurality of stages, the stage having an input connected to receive an output of one of the logic stages, and an input of another of the logic stages and an output of the logic array. Consists of flip-flop pass elements with outputs connected to υ, each of which is
(c) inverting a logic condition and passing the inverted condition without delay or latching the logic condition until released, according to a predetermined logic function to be performed; Logic array characterized in that it comprises control means for setting all of said functional elements and said flip-flop pass elements to perform a predetermined logic function. (2. In claim 1, (a) a first logic stage consisting of eight functional elements connected to receive system data input; (b) an output of said first logic stage; (c) a sixth stage consisting of six Noritub flop pass elements connected to the output of said second logic stage; ) a fourth logic stage consisting of four functional elements connected to the output of the sixth stage; (e) four 7 flip-flop pass elements connected to the output of the fourth logic stage; (a) a sixth logic stage consisting of two functional elements connected to the output of said fifth stage; (g) connected to the output of said sixth logic stage; an eighth stage consisting of twelve output drive gates connected to the outputs of the sixth, fifth and seventh stages; (3) In claim 2, each output drive unit 9
- The output of the motor is forced to be high with one mode P. A logic array characterized in that it can be made low or floating or connected to an input function as an output in the operation of another motor. (4) In claim 2, each functional element is 6
A logic array having eight data inputs, eight logic control inputs, and one output. (5) As set forth in claim 4, each functional element is characterized by comprising an eight-power single-output multiplexer and eight unlegged set latch circuits connected as inputs to the multiplexer. logical array.
JP58244361A 1983-04-14 1983-12-26 Software programmable logic array Pending JPS59200526A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48508083A 1983-04-14 1983-04-14
US485080 1983-04-14

Publications (1)

Publication Number Publication Date
JPS59200526A true JPS59200526A (en) 1984-11-13

Family

ID=23926845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58244361A Pending JPS59200526A (en) 1983-04-14 1983-12-26 Software programmable logic array

Country Status (6)

Country Link
JP (1) JPS59200526A (en)
AU (1) AU567538B2 (en)
CA (1) CA1206534A (en)
DE (1) DE3342354A1 (en)
FR (1) FR2544523B1 (en)
GB (2) GB2171826B (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4551815A (en) * 1983-12-12 1985-11-05 Aerojet-General Corporation Functionally redundant logic network architectures with logic selection means
US4551814A (en) * 1983-12-12 1985-11-05 Aerojet-General Corporation Functionally redundant logic network architectures
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
GB2171231B (en) * 1985-02-14 1989-11-01 Intel Corp Software programmable logic array
US5023775A (en) * 1985-02-14 1991-06-11 Intel Corporation Software programmable logic array utilizing "and" and "or" gates
GB2202355B (en) * 1985-02-27 1989-10-11 Xilinx Inc Configurable storage circuit
US4706216A (en) 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
US5132570A (en) * 1988-08-31 1992-07-21 Fujitsu Limited Extended logical scale structure of a programmable logic array
GB8828828D0 (en) * 1988-12-09 1989-01-18 Pilkington Micro Electronics Semiconductor integrated circuit
IT1225638B (en) * 1988-12-28 1990-11-22 Sgs Thomson Microelectronics LOGIC DEVICE INTEGRATED AS A NETWORK OF DISTRIBUTED MEMORY LINKS
US5198705A (en) 1990-05-11 1993-03-30 Actel Corporation Logic module with configurable combinational and sequential blocks
US5936426A (en) 1997-02-03 1999-08-10 Actel Corporation Logic function module for field programmable array

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3912914A (en) * 1972-12-26 1975-10-14 Bell Telephone Labor Inc Programmable switching array
US4157589A (en) * 1977-09-09 1979-06-05 Gte Laboratories Incorporated Arithmetic logic apparatus
US4357678A (en) * 1979-12-26 1982-11-02 International Business Machines Corporation Programmable sequential logic array mechanism

Also Published As

Publication number Publication date
CA1206534A (en) 1986-06-24
GB8401927D0 (en) 1984-02-29
AU2420384A (en) 1984-10-18
GB2138188A (en) 1984-10-17
GB8605831D0 (en) 1986-04-16
GB2171826A (en) 1986-09-03
FR2544523A1 (en) 1984-10-19
DE3342354A1 (en) 1984-10-18
FR2544523B1 (en) 1990-02-09
GB2138188B (en) 1987-07-22
AU567538B2 (en) 1987-11-26
GB2171826B (en) 1987-07-22

Similar Documents

Publication Publication Date Title
US4791602A (en) Soft programmable logic array
JP3471088B2 (en) Improved programmable logic cell array architecture
KR100235812B1 (en) Shift register and programmable logic circuit and programmable logic circuit system
US6066961A (en) Individually accessible macrocell
USRE37195E1 (en) Programmable switch for FPGA input/output signals
US5336951A (en) Structure and method for multiplexing pins for in-system programming
US4506341A (en) Interlaced programmable logic array having shared elements
JP2548852B2 (en) Programmable logic cell
EP0665998A1 (en) Microprocessor-based fpga
JPH06222116A (en) Constitution of mixed-signal integrated circuit and its test method
US5386155A (en) Apparatus and method for selecting polarity and output type in a programmable logic device
JPS59200526A (en) Software programmable logic array
JPH07504797A (en) Macrocell with cascade of logical product terms and improved use of flip-flops
JPH11317659A (en) Programmable logic device
EP1010250A1 (en) Function block architecture for gate array
JPS62249226A (en) Programmable logical apparatus and method
US9946667B2 (en) Microcontroller with configurable logic array
CA1067621A (en) Apparatus and method for composing information on a data bus
CA1204171A (en) Programmable logic array
US4525641A (en) Flip-flop programmer using cascaded logic arrays
US6020754A (en) Look up table threshold gates
US20050206406A1 (en) Programmable function generator and method operating as combinational, sequential and routing cells
US6198305B1 (en) Reduced area product-term array
US5039885A (en) Single function programmable logic array circuit
JP2922963B2 (en) Sequence controller