JPH1174780A - プログラム可能論理装置 - Google Patents
プログラム可能論理装置Info
- Publication number
- JPH1174780A JPH1174780A JP10152755A JP15275598A JPH1174780A JP H1174780 A JPH1174780 A JP H1174780A JP 10152755 A JP10152755 A JP 10152755A JP 15275598 A JP15275598 A JP 15275598A JP H1174780 A JPH1174780 A JP H1174780A
- Authority
- JP
- Japan
- Prior art keywords
- output
- array
- input
- lines
- programmable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Logic Circuits (AREA)
Abstract
と速度とを組合せるプログラム可能論理装置を提供す
る。 【解決手段】 プログラム可能論理装置は関数ユニット
20−28のマトリックスを含み、第1の組の導電性ラ
イン31の各々が1つの関数ユニットのORアレイ50
からの出力に永久的に接続され、第2の組の導電性ライ
ン32の各々は1つの関数ユニットのANDアレイ48
への入力に永久的に接続される。第1および第2の組の
導電性ラインは互いに交差し、交差する領域がプログラ
ム可能相互接続マトリックス33を形成し、各導電性ラ
インの交点に選択的に開成または閉成可能なプログラム
可能リンクを含む。第2の組の導電性ラインに選択的に
接続可能な複数個の入力ピン34a,34bおよび第1
の組の導電性ラインに選択的に接続可能な複数個の出力
ピン40a,40bを備える。
Description
性、紫外線消去可能再プログラム可能、または電気的に
消去可能再プログラム可能である、プログラム可能論理
装置として周知の種類の集積回路に関し、かつ特に、速
度および関数(function)の柔軟性を最適化するための
プログラム可能論理装置のためのアーキテクチャに関す
る。
子システムのための論理を提供するためにますます用い
られている集積回路である。たとえば、これらの装置
は、マイクロコンピュータシステムの主要な部分の相互
作用を電気的に接続および制御するための「接着剤(gl
ue)」として用いられるかもしれない。典型的には、P
LDは、1組の入力ピン、2アレイの論理ゲート、すな
わち、ORアレイが続くANDアレイ、および1組の出
力ピンを含む。AND/ORアレイのみによって提供さ
れる組合せ論理の代わりに、登録された出力および順次
の論理能力を提供するために、しばしばフィードバック
ラインとともにORアレイに続くフリップフロップもま
た含まれる。
クチャが利用可能である。プログラム可能論理素子(P
LE)において、ANDアレイは固定されかつORアレ
イはプログラム可能である。ルックアップテーブルおよ
びキャラクタジェネレータのような、大部分のまたはす
べての起こり得る入力の組合せを必要とする応用におい
て、PLEが役に立つ。しかしながら、各々の付加的な
入力のためにアレイの大きさが倍加されなければならな
いので、PLEはコストおよび性能の制限によって少数
の入力に制限される。プログラム可能論理アレイ(PL
A)は、プログラム可能ANDアレイおよびプログラム
可能ORアレイの両方を有する。プログラム可能アレイ
論理(PAL)装置は、プログラム可能ANDアレイ
と、それに反して固定されたORアレイとを有する。P
LAおよびPALアーキテクチャの両方が利点を備え
る。両方のアレイがプログラム可能であるために、PL
Aは高度の関数の柔軟性を提供する。しかしながら、プ
ログラム可能ORアレイは専用のORゲートよりも遅い
ので、PALはより速い。PLAの柔軟性は、複雑なス
テートマシンおよび順次の応用のために有益であり、一
方高度な柔軟性を必要としない大部分の他の応用にはP
LAの速度が好都合である。
性と速度との両方を組合せるためにいくつかの試みがな
されてきた。モノリシックメモリのシリーズMEGAP
ALSにおいては、ANDアレイの大きさが増加され、
かつ固定された数のAND積項が2つの出力の間で共有
されることが可能となった。アルテラ(Altera)のEP
1200チップは、4つのみの出力を有する「サブPA
L」に分割され、特定のセグメントの出力がサブPAL
のいくつかだけのための入力として使用可能である。各
々の場合において、入力のすべてがすべてのAND項に
対して同時に利用可能であり、結果としてANDアレイ
が64の入力を有し、それらの大部分はいずれの所与の
積項のためにも使用されないままである。それらの固定
された積項のために、ORゲート当り16の積項があ
る。実際、ほとんどの組の論理がORゲートへのそれほ
ど多くの入力を必要としない。
て、スギヤマ(Sugiyama)その他は、各々が抵抗器、ダ
イオードおよびトランジスタなどの複数個の電子素子を
含む複数個のセルユニット、行および列ラインの配線マ
トリックス、およびさまざまな行および列ラインを選択
的に相互接続するためのスイッチング素子のグループお
よび電子素子を有するアレイユニット、を有するプログ
ラム可能論理アレイ配列を開示する。その装置は、各々
のユニット内に多様な配線とともに多数の電子素子を含
むことによって関数性(functionality )のために密度
および速度を犠牲にする。
ステート回路のIEEEジャーナルの1986年4月第
Sc−21巻、No.2の223頁ないし227頁に
「ある日のチップ:革新的なIC構造方策…」があり、
VLSIチップはSSI/MSIレベルの集積の50な
いし200の標準論理関数ブロックを含み、それらはイ
ンバータ、NOR、NAND、フリップフロップ、シフ
トレジスタ、カウンタ、乗算器、ALUなどのさまざま
な種類の関数を行なう。これらの固定された関数ユニッ
トの各々は、EEPROMスイッチマトリックスによっ
て他の関数ユニットに接続されるかもしれない。スイッ
チマトリックスは柔軟性を提供しかつ容易に再プログラ
ムされることができるが、多数の標準関数ブロックが真
の柔軟性を提供することを予期されなければならず、そ
れらの大部分はいかなる所与のチップ関数のためにも使
用されないであろう。
用しかつ関数の柔軟性を速度と組合せるプログラム可能
論理装置アーキテクチャを提供することである。
れることができるアーキテクチャを提供することであ
る。
し、それらの各々がPLAに類似であるプログラム可能
論理装置によって上記の目的が達成された。2つの固定
された組の導電性ライン(一方の組は関数ユニットの出
力に永久的に接続されており、他方の組は関数ユニット
の入力に永久的に接続されている)は、そこで2組の導
電性ラインが交差するプログラム可能相互接続マトリッ
クスを形成する。さらに、入力ピンのいずれもがいずれ
の関数ユニットのいずれの入力にも接続するようにプロ
グラムされることができ、かつ出力ピンのいずれもがい
ずれの関数ユニットのいずれの出力にも接続するように
プログラムされることができる。限られた数の入力ピン
が関数ユニットに接続されることができ、その出力は速
度のために相互接続マトリックスをバイパスして限られ
た数の出力ピンに直接接続される。
ットの各々の出力のためのラインを同じまたは他の関数
ユニットの各々の入力のためのラインに選択的に接続す
る。典型的には、ヒューズ、EPROMまたはEEPR
OMなどのスイッチを閉じることによってラインが接続
される。相互接続マトリックスの入力および出力ライン
が、余分の直列スイッチを介して各々の入力または出力
ラインのために非直接的に接続されるかもしれない。こ
うして、接続がなければ、直列スイッチのキャパシタン
スだけが見られ、相互接続マトリックスを介するスピー
ドを増加する。
出力、ANDおよびORアレイ、および多分フィードバ
ックライン、専用のユニットおよびレジスタを有して、
従来のPLAのように構成され、エッジトリガされるか
またはレベルによって可能化されるかもしれない。その
代わりに、関数ユニットのいくつかまたはすべてがPL
A、ROM、ディスクリート論理ALUなどによって置
換えられることができる。PLAのORアレイはまた、
各々のAND積項がスイッチを介してORアレイを介し
て走る2つの異なるラインに接続可能なように構成され
ることができる。一方は十分な関数の柔軟性のために選
択されるかもしれない従来の積項線であり、他方は速度
のために選択されるかもしれないORラインの1つ、2
つまたはいくつかの他のサブセットだけに接続されるラ
インである。それに代わり、ORアレイはプログラミン
グリンクで部分的にのみ占められるかもしれない。その
アーキテクチャは、個々の関数ユニットへの別個のアク
セスのために関数ユニットの入力および出力に専用であ
る2組のラインにそれぞれ接続された1対のマルチプレ
クサを含むかもしれない。各々の関数ユニットが徹底的
にテストされることができるので、この構造はチップの
テストを容易にし、それから相互接続マトリックスのプ
ログラミングのテストが続く。起こり得る入力の組合せ
の数が、徹底的にテストするにはあまりに多すぎるの
で、単一の大きなPLAは部分的のみテストされ得る。
関数ユニットの出力からのラインもまた、論理状態分析
のためにプログラム可能ANDアレイおよびRAMによ
ってモニタされることができる。
数性のために付加的な階層のレベルを有するかもしれ
ず、それは各々が関数ユニットのマトリックス、導電性
ライン、入力および出力ピンおよび相互接続マトリック
スを有する2つまたはそれ以上のサブユニットからな
る。サブユニットはそれからスイッチングマトリックス
によって接続可能であり、そこにおいて制御接続ライン
は関数ユニットの出力からの導電性ラインおよび入力ピ
ンからのラインにプログラム可能に接続され、かつそこ
では中央接続ラインに接続されたリードラインが関数ユ
ニットの入力に通じる導電性ラインおよび出力ピンに通
じるラインにプログラム可能に接続可能である。こうし
て、一方のサブユニット内の関数ユニットからの出力の
いずれもが、他方のサブユニット内の関数ユニットへの
入力のいずれにも接続されることができる。入力および
出力ピンは、他方のサブユニット内の関数ユニットに同
様に接続される。
すると、プログラム可能論理装置は複数個の関数ユニッ
ト20ないし28を含む。好ましくは、関数ユニット2
0ないし28は行と列のマトリックスに配置される。図
1に示された例においては9個の関数ユニットが示され
るが、実際の数は装置によってさまざまであるかもしれ
ない。各々の関数ユニットは1組の入力29および1組
の出力30を含む。図1の例において、各々の関数ユニ
ット20ないし28は12の入力および9の出力を有す
る。しかしながら、関数ユニットからの入力および出力
の数は装置によって、または装置内の関数ユニットによ
ってさまざまであるかもしれない。各々の関数ユニット
は1つまたはそれ以上の論理関数を行ない、それはそれ
自身および他の関数ユニットからの論理関数と組合され
るとき、全体のプログラム可能論理装置のより複雑な関
数を発生する。
(multiplicity)9の垂直の線31によって表わされる
第1の組の導電性ラインを含み、それらは関数ユニット
20ないし28の出力30に永久的に接続される。類似
して、装置は多数性12の水平の破線32によって表わ
される第2の組の導電性のラインを含み、それらは関数
ユニット20ないし28の入力ライン29に永久的に接
続される。第1の組31または第2の組32のいずれか
の導電性ラインの各々が特定の関数ユニットの出力また
は入力に接続されているため、これらのラインの多数性
は各々の関数ユニットの出力または入力の数にちょうど
一致する。「多数性」という言葉によって、図1におい
て示された線および破線の各々が、実際はその数が多数
性によって示された導電性ラインの集まりであることい
うことを、我々は意味する。こうして、参照番号31に
よって示された垂直の実線は実際には9の導電性ライン
を表わし、それらの各々は関数ユニット20からの出力
ライン30に接続される。同様に参照番号32によって
示される水平の破線は実際は12の導電性ラインであ
り、その各々は関数ユニット20の入力29に永久的に
接続されている。ラインの各々の実際の多数性は、各々
の関数ユニット20ないし28に対する入力および出力
の数に依存するであろう。
グラム可能論理装置のさまざまな領域において交差し、
プログラム可能相互接続マトリックス33を形成する。
図1に示された例において、一方の組のラインが9の多
数性を有しかつ他方の組のラインが12の多数性を有し
ているため、これらの2組のラインの交点は12×9ま
たは108のプログラム可能な交点を有するマトリック
スを形成する。交点の各々は、多数の技術の中の1つか
らのスイッチによって、あるラインから別なものへ導電
するかまたは導電しないかにプログラムされるかもしれ
ない。たとえば、相互接続マトリックスへの各々の交点
は、製造工場においてユーザの指示に従って、2つのレ
ベルの交差ラインの間にVIAを形成することによって
マスクプログラムされるかもしれない。その代わりに、
相互接続マトリックスは、ユーザによって破壊されるか
もしれない導電性のヒューズを設けることによって、ま
たはEPROMまたはEEPROMスイッチトランジス
タを設けることによってのいずれかでフィールドプログ
ラム可能であるかもしれない。
ピン34aおよび34bを含む。我々が「ピン」によっ
て意味するのはDIP型ピンだけではなく、たとえばフ
ラットチップキャリアのメタライズされた接点のよう
な、当業者に周知の他の入力および出力構造をも意味す
る。図1の例においては、16の入力ピンが設けられて
いる。しかしながら、入力ピンの数は装置によってさま
ざまであるかもしれない。入力ピンの組34aおよび3
4bは、第2の組の導電性ライン32と交差するように
配された導電性入力ライン36aおよび36bに永久的
に接続される。入力ライン36aおよび36bの導電性
ライン32との交点は、プログラム可能相互接続マトリ
ックス38を形成する。図1において、相互接続マトリ
ックス38の各々は、ラインの交点の12×8のマトリ
ックスであり、それらはEPROMまたはEEPROM
でマスクプログラム、ヒューズプログラムまたはスイッ
チプログラムすることによって導電性とされるかもしれ
ない。この態様で、入力ピン34aおよび34bの各々
が関数ユニット20ないし28の入力29のいずれかに
選択的に接続される。
ピン40aおよび40bを含む。図1において、出力ピ
ンの数は12である。しかしながら、出力ピンの数は装
置によってさまざまであるかもしれない。出力ライン4
2aおよび42bは第1の組の導電性ライン31と交差
するように配されて、その交点において相互接続マトリ
ックス44を形成する。この例において、各々の相互接
続マトリックス44は、スイッチ、ヒューズまたはマス
クされた接点の6×9のプログラム可能なアレイであ
る。この態様で、出力ピン40aおよび40bの各々が
関数ユニット20ないし28のいずれかの出力ライン3
0のいずれかに接続されるかもしれない。典型的には、
出力ライン42aおよび42bは出力ピン40aおよび
40bに直接には接続されず、出力文字46aおよび4
6bを介して間接的に接続される。1対のピン34aお
よび40aを接続するライン47によって示されるよう
に、入力および出力ピンは、明確である必要はない。出
力モジュール46aおよび46bは、出力可能化および
クロック信号などのデータおよび制御信号を発生するた
めに用いられることのできるプログラム可能論理アレイ
であるかもしれない。
ット20ないし28はプログラム可能論理アレイである
かもしれない。当業者には周知であるように、プログラ
ム可能論理アレイはプログラム可能ANDアレイ48お
よびプログラム可能ORアレイ50を含む。これらの2
つのアレイ48および50は結合して2ステップ組合せ
論理を提供する。PLAは、複数個の入力ライン29
a、29b、…、29lおよび複数個の出力ライン30
a、30b、…、30iを有する。この例において、入
力ラインの数は12でありかつ出力ラインの数は9であ
るが、実際の数は装置によっておよび関数ユニットよっ
てさまざまであるかもしれない。しかしながら、複雑な
論理関数を行なうための単一のANDアレイおよび単一
のORアレイを用いる先行のプログラム可能論理装置の
それに比べて、入力および出力ラインの数はかなり小さ
い、なぜならば、この発明のプログラム可能論理装置ア
ーキテクチャは、複雑な関数を、各々のプログラム可能
関数ユニットによって実行される多数のより簡単な関数
に分解するからである。
信号を供給する1対のゲート52および54を介して通
過する。各々の水平の破線は「積線」と呼ばれるAND
ゲートを表わす。各々の積線56は、プログラム可能リ
ンク58を介してANDゲート入力57に選択的に接続
される。リンク58はマスクプログラムされるかもしれ
ず、ヒューズプログラム可能またはスイッチプログラム
可能であるかもしれない。積線56の各々はEXORゲ
ート62に通じるOR入力ライン60を横断する。積線
56およびOR入力ライン60の各々の交点は、再びマ
スクプログラムされるかもしれず、ヒューズプログラム
可能またはスイッチプログラム可能であるかもしれない
プログラム可能リンク63を形成する。
ート62からの出力は、直接出力ライン30aないしi
に接続されるかまたはフリップフロップ64を介して接
続されるかのいずれかであるかもしれず、その選択はス
イッチ63によってなされる。フリップフロップ64
は、そのクロック信号がクロックライン66を介して接
続された積線56の1つによって決定されるD型フリッ
プフロップである。D型フリップフロップは、プログラ
ム可能論理装置において登録された出力を供給するため
に一般的に用いられる。他の型のフリップフロップおよ
びラッチがまたANDアレイ48または入力ライン29
aないしlのいずれかへのフィードバックラインと同様
用いられるかもしれない。関数ユニットは好ましくはプ
ログラム可能ANDおよびプログラム可能ORアレイの
両方を有するプログラム可能論理アレイ型のものである
一方、それらはまた固定されたANDまたは固定された
ORアレイのいずれかを有する他のプログラム可能論理
装置型のものであってもよい。
図1の相互接続マトリックス38および44は、類似の
構造のものである。第1の組の導電性ライン31、すな
わち図3において垂直の実線31aないしiで示され
る、関数ユニットの出力30に永久的に接続された導電
性ラインのいずれでもが、第1の組の導電性ライン3
2、すなわち関数ユニットの入力29に永久的に接続さ
れかつ水平な破線32aないしlで示されるそれらのラ
インのいずれかに接続されることができる。接続は通
常、スイッチを閉じることによってなされる。いくつか
の場合においては、たとえばヒューズを用いる場合、ス
イッチはそれが明示的に開かれるまで閉じられ、一方、
EPROMおよびEEPROMなどの他のスイッチを用
いる場合はスイッチはそれが明示的に閉じられるまで開
かれる。108のスイッチ66が図3に示される。スイ
ッチの数は、導電性ライン31および32の多数性に依
存して、相互接続マトリックスによってさまざまであろ
う。
トからの出力のいずれの選択も出力モジュール46によ
って出力ピン40に接続されることができる。出力ライ
ン42からのデータ信号72と同様に出力可能化76お
よびクロック74などの信号を供給することによって出
力40をコントロールするようにプログラムされること
ができるANDアレイ68およびORアレイ70を出力
モジュール46は含む。ディスクリート論理出力マクロ
セル78は、クロックおよび出力可能化信号74および
76に応答して、データ出力を発生する。他の制御信号
もまた発生されるかもしれない。さらに、図5から理解
されるように、データ信号72はANDアレイ68およ
びORアレイ70を通過していく必要はないが、代わり
にマクロセル78に直接接続してもよい。
ス33の1つの縦の列31aを示す。導電性ライン31
aに沿った各々のスイッチ66は、全体にわたる回路の
キャパシタンスを与え、それによって回路を遅くする。
たとえば導電性ライン31aには、ライン31aを第2
の組の導電性ライン32aないしlに接続するための1
2のスイッチ66のキャパシタンスが見られる。図3に
おいて示される全体の相互接続マトリックスにおいて、
108のスイッチが存在し、かつ全体の相互接続マトリ
ックスを介するおおよそ60ナノ秒の時間の遅延がある
であろう。図7は好ましい相互接続マトリックスの一部
を示す。導電性ライン31aは第2の組の導電性ライン
32aないしlにスイッチ66を介して直接接続されて
いないが、代わりに余分の直列スイッチ81a′および
81a″を介して接続されている。実際、出力からの大
部分の導電性ライン31は入力への1つまたは2つの導
電性ライン32に接続されるであろう。それ以上あるの
はほんの時折であろう。図7において、直列スイッチ8
1a′は主導電性ライン31aを分岐導電性ライン31
a′に接続し、一方第2の直列スイッチ81a″は主導
電性ライン31aを分岐導電性ライン31a″に接続す
る。分岐ライン31a′および31a″はそれからスイ
ッチ66を介して第2の組の導電性ライン32aないし
lに接続される。もし接続がなされなければ、直列スイ
ッチ81a′および81a″のキャパシタンスだけが見
られる。もし1つの接続がなされれば、直列スイッチ8
1a′または81a″のうちの1つのキャパシタンスだ
けが、残余のスイッチ66の半分だけとともに見られ
る。したがって、もし関数ユニットからの出力が2のフ
ァンアウトを有していれば、そうすればそれは108の
スイッチの代わりに30のスイッチだけのインダクタン
スを見るであろう。この方策はまた、スーパーグループ
への直列スイッチおよびスーパーグループ内の各々のグ
ループへの直列スイッチを有するスーパーグループへの
入力を規定することによってカスケードにされることが
できる。この方策は出力に限られない。入力もまた同様
にインダクタンスからバッファされることができる。つ
まり、第2の組の各々の導電性ラインもまた、主ライン
および分岐ラインを含むかもしれず、その分岐ラインは
直列スイッチを介して主ラインに接続され、かつ第1の
組の起こり得る分岐ラインを含む第1の組の導電性ライ
ンに付加的なスイッチまたは他のプログラム可能リンク
を介して接続される。
られることを可能とするので役に立つ。固定されたOR
を有するPLAもまたこれをするが、それは多重ORの
ために積項を用いることができないことを犠牲にしての
ことである。PALの積項は特定のORに委ねられ、か
つ1つのAND/OR関数内で用いられない積項は余分
なORを必要とするかもしれない別のものにおいて用い
られることができない。しかしながら、固定されたOR
はより速く、そしてこうしてPALは関数を速度と交換
する。PAL内のプログラム可能OR項は、相互接続マ
トリックスと同じ理由ですなわちスイッチのキャパシタ
ンスのために遅い。速度のために最適化されたORアレ
イ50′を有するプログラム可能AND/ORアレイが
図8において示される。ここでANDアレイ48からの
積項56が、スイッチ84を介してORアレイ50′を
通って走る2つの異なるライン86および88に接続さ
れることができる。ライン88は、スイッチ90を介し
てORアレイ50のORゲートへの入力ライン92のい
ずれにでもプログラム可能に接続されるかもしれない従
来の積項である。第2のライン、ライン86は、1つの
または複数のスイッチ94によってOR項のあるサブセ
ットに接続されることができるであろう。この配列はプ
ログラマが積の共用のいくらかの損失を伴う高速経路8
6または十分な柔軟性を伴うより遅い経路88を有する
ことのどちらかを選択することを可能とする。この選択
は、各々の積項56に対してなされることができる。
される。図8に示されるようにプログラム可能のレベル
を選択するためスイッチ84を用いる代わりに、積線5
6はORゲート入力ライン60だけのサブセットに接続
する。換言すれば、入力ライン60は、積線56へのプ
ログラム可能リンク63で部分的にのみ占められてい
る。たとえば、AND/ORアレイのための典型的な配
列、すなわち図9に示されるようにリンク63で部分的
にのみ占められたOR入力ライン60を有するように修
正された図2におけるラインは、12のAND入力ライ
ン、44の積項、27のORゲート入力ライン(ラッチ
またはフリップフロップ64への入力ラインを含む)お
よび9の出力ラインを含む。ORゲート入力ラインは3
つに分類され、それらはEXORゲート62に通じる2
のラインおよびラッチ64に対してクロックとして働く
第3のラインである。プログラム可能リンクは典型的に
は互い違いに配置され(staggered )、そのため第1の
12の積項は3つのOR入力ラインの3つのグループの
第1のグループに接続可能であり、積項5ないし16が
OR入力ラインの第2のグループに接続可能であり、積
項9ないし20は3つのOR入力ラインの3つのグルー
プの第3のグループに接続可能であるなどであり、最後
の12の積項33ないし34は、3つのOR入力ライン
の3つのグループの第9のグループに接続可能である。
プログラムリンクの他の部分的に占められた配列もまた
構成されることができる。
理装置を通る伝播時間を示し、それは図7を参照して上
記に説明された速度を最適化したプログラム可能相互接
続マトリックスおよび図8を参照して上記に説明された
最適化されたORアレイを有する関数ユニットを用い
る。入力ピン98から入力バッファ100までは4.5
ナノ秒かかる。入力スイッチマトリックス102を通る
伝播時間は6ナノ秒かかる。関数ユニットのAND/O
Rアレイ104を通る伝播時間は15ナノ秒かかる。フ
リップフロップレジスタ106を通る伝播時間は3ナノ
秒かかる。出力相互接続マトリックス108を通る伝播
時間は6ナノ秒かかりかつ出力バッファ110を通る時
間は7.5ナノ秒かかる。入力ピン98から出力ピン1
14までの合計伝播時間は42ナノ秒である。付加的な
関数ユニットを通る伝播のためのトグル伝播経路112
は関数ユニット当り24ナノ秒かかる。これは40MH
zのトグル速度である。
グラム可能論理装置の第2の実施例が、限られた数の入
力に対していくつかの出力ピンへの速い直接経路のため
に相互接続マトリックスをバイパスする方法を提供す
る。図11の例において、16の入力ピンの中の10、
すなわち第1のグループ34aの中の8の入力ピンおよ
び第2のグループ34bの中の2の入力ピンが、先のよ
うに入力ライン36aおよび36bおよび相互接続マト
リックス38を介して関数ユニット20ないし28の入
力29に接続されるかもしれない。しかしながら、16
の入力ピンのうちの6つ34Cは、入力バッファ11
8、入力ライン36cおよび相互接続マトリックス39
を介して関数ユニット20ないし28の入力29に接続
されるか、またはマルチプレクサ117を介して簡単な
論理関数を行なう関数ユニット122の入力116に接
続されるかのいずれかかもしれない。関数ユニット12
2からの出力は、相互接続マトリックスを通り付加的な
関数ユニットまたは出力ピン40aおよび40bのいず
れかへの1組の導電性ライン121へバッファ120を
介して接続されるかもしれない。関数ユニット122か
らの出力がまた、導電性ライン124を通っていずれの
相互接続マトリックスを通ることなく出力ピン126に
接続されるかもしれない。出力ピン126は、導電性ラ
イン124または通常の導電性ライン125にマルチプ
レクサ123を介して接続される。
Rアレイ122を介するバイパス経路128の、入力ピ
ン98からバッファ100を通り関数ユニット122を
通りそしてそれからバッファ110および出力ピン11
4までの合計伝播時間は、28ナノ秒である。これは、
先に述べたように42ナノ秒の期間である相互接続マト
リックス102および108を通る経路よりもかなり速
い。そのような速い経路は、たとえば適切なメモリ装置
をCPUのデータリクエストからの上位アドレスビット
に応答して可能化するために役に立つ。
供するための関数ユニット22ないし28は、関数ユニ
ットのマトリックス内に存在する唯一のユニットである
必要はない。たとえば、データのための1組の出力と同
様に、アドレス、書込、および可能化のための1組の入
力を有するランダムアクセスメモリサブユニット130
が、他の関数ユニットと同じ組の導電性ライン31およ
び32に接続されるかもしれない。類似して、オペレー
ション結果のための出力と同様に、オペランドのための
入力AおよびBおよびオペレータのための入力Fを有す
る演算論理ユニット132が、同じ態様で接続されるか
もしれない。そのような配列は、同じチップ上のそれら
の接着(glue)論理で中央処理ユニットを統合すること
ができるかもしれない。
グのテストを容易にするための構成が設けられるかもし
れない。たとえば、図14を参照すると、1対のマルチ
プレクサ134および136が個々の関数ユニット20
ないし28をアクセスするために設けられるかもしれな
い。マルチプレクサ134は関数ユニット20ないし2
8からの出力をアクセスするために第1の組の導電性ラ
イン31の端部に沿って置かれる。1組の入力ピン34
aおよびピンAないしGが一時的に関数ユニットのテス
ト専用とされ、かつ1組の出力ピン40aが類似して一
時的に専用にされる。バスゲート138および140は
ピンFおよびGに沿った信号に応答してマルチプレクサ
134と対話するために入力ピン34aおよび出力ピン
40aを可能化する。ピンA、B、CおよびDに沿った
信号は関数ユニット20ないし28のどれがアクセスさ
れるかを決定する。マルチプレクサ136が類似して関
数ユニット20ないし28への入力に接続されかつ類似
して制御される。バスゲート139および141はピン
JおよびHに沿った信号に応答してマルチプレクサ13
6と対話するために入力ピン34bおよび出力ピン40
bを可能化する。
の相互接続マトリックス33を開いたままで、関数ユニ
ット20ないし28の第1のプログラミングによってテ
ストされるかもしれない。関数ユニット20ないし28
への入力ライン32はそれから、入力ピン34bおよび
マルチプレクサ136から入ってくる信号によって駆動
される。データすなわちテスト結果は、出力ピン40a
からマルチプレクサ134を介して出力ライン31をア
クセスして読出される。一旦ユーザが関数ユニット20
ないし28の各々が適切にプログラムされかつ期待され
るとおりに行なうことを確認すれば、相互接続マトリッ
クス33はプログラムされる。相互接続は、マルチプレ
クサ134および136を介して同じライン31および
32をアクセスすることによってテストされる。この手
続はこうして装置のすべての部分の完全なテスト性を提
供し、かつEPROMおよびEEPROMスイッチを用
いるこの発明のすべての装置のために働く。ブローイン
グ、すなわち開成(opening )、接続によってプログラ
ムされたヒューズリンクを有する装置のためにはこの手
続は働かないけれども、選択された接続を閉成するよう
にされたリンクを用いる装置のためには確かに働く。
ないし28にアクセスすることの利点は、関数ユニット
20ないし28がかなり数の少ない入力を有しているの
で、それらが徹底的にテストされ得るということであ
る。図14の例において、各々の関数ユニットは12の
入力を有しており、それゆえ入力の組合せの合計数は、
関数ユニット当り212または4,096である。このこ
とは、テストされるべき全体の装置に対してただ36,
864の組合せだけがテストされる必要があるというこ
とを意味する。大型のプログラム可能論理アレイはこの
装置と同レベルの関数の複雑さを達成するために64に
達する入力を必要とするかもしれない。そのような装置
内の264の起こり得る入力の組合せを徹底的にテストす
る方法はないであろう。
レートするにもかかわらず、設計者はしばしば彼らが考
慮していなかった条件に出くわす。彼らが完全なシステ
ムまたはサブシステムをテストするとき、彼らはそれが
期待されたように動作しないことを見出す。SSIおよ
びMSI回路が用いられているとき、設計者たちはオシ
ロスコープおよび論理状態アナライザなどの器具を用い
てシステムの動作を「見る」ことができる。しかしなが
ら、彼らは集積回路の内部ノードへのアクセスは有して
おらず、それゆえ彼らは集積されていない場合と同じや
り方において実際に何が起こっているのかをモニタする
ことはできない。それゆえ、PLD上に監視論理、また
はテスト位相のために生産されたものの特別の変形を付
け加えることが有利であり、それは監視情報を供給する
であろう。そのような構成の1つの例が図15において
示される。
可能ANDアレイ145は、入力ピン34aおよび34
bからのライン36aおよび36bと同様に、関数ユニ
ット20ないし28からの出力ライン31の少なくとも
いくつかおよび典型的にはすべてと交信する。ランダム
アクセスメモリ(RAM)147はANDアレイ145
および2組のピン149および150と交信する。アド
レスピン149は、ある条件が満足させられたとき論理
状態を記録するためのANDアレイ145およびRAM
147のプログラミングから用いられ、一方データピン
150はRAM147内に記録された情報を読出すため
に用いられる。動作において、ライン31および36a
ないしb上の出力状態のプログラムされたサブセットが
プログラムされた条件を満たすとき、ANDアレイ14
5はこの条件を検出しかつ出力状態の別のプログラムさ
れたサブセットをRAM147に転送し、そこでこれら
の状態が選択されたメモリアドレス内にストアされる。
プログラムされた条件が満たされないときは、情報は記
録されない。ストアされた情報はデータピン150を介
してRAM147から読出されることができる。その代
わりに、データが順次に読出されることができる。情報
の記録をトリガする条件は、ANDアレイ145への入
力ピン152によって示されるように外部の信号を含む
ことができる。ANDアレイからの出力ピン154によ
って示されるように、トリガは、外部条件が同様にモニ
タされることを可能とするために、外部にもたらされる
ことができる。
ム可能論理装置アーキテクチャは、付加的なレベルのプ
ログラム階層を導入することによってより高い密度に拡
げられることができる。図16内のプログラム可能論理
装置は、2個の半分のものまたは「サブチップ」からな
る。2つより多いサブチップもまた設けられることがで
きるかもしれない。第1のサブチップ160は、1組の
導電性ライン32に永久的に接続された入力29および
1組の導電性ライン31に永久的に接続された出力30
を有する複数個の関数ユニット20ないし28を含む。
導電性ライン31および32はプログラム可能相互接続
マトリックス33において交差する。組の入力ピン34
aおよび34bは、入力ライン36aおよび36bおよ
び相互接続マトリックス38を介して導電性ライン32
に接続し、かつ組の出力ピン40aおよび40bは出力
モジュール46aおよび46b、出力ライン42aおよ
び42bおよび相互接続マトリックス44を介して導電
性ライン31に接続する。入力29および出力30、導
電性ライン31および32、入力ピン34cおよび34
d、入力ライン36cおよび36d、出力ピン40cお
よび40d、出力モジュール46cおよび46d、出力
ライン42cおよび42d、および相関の相互接続マト
リックスを有する関数ユニット20aないし28aで、
第2のサブチップ162が同様に構成される。
164が2つのサブチップ160および162を接続
し、それゆえ1つのサブチップ内のいずれの信号でも、
すべてが同時にではないが、他のどこへでも接続される
ことができる。スイッチングマトリックス164は、水
平の破線166によって表わされ各々が複数の多数性で
ある1組の中央接続ライン、および垂直線168および
169によって表わされ再び複数の多数性である2組の
リードラインを含む。入力ライン36aないしdおよび
関数ユニットの出力30からの導電性ライン31は、プ
ログラム可能相互接続マトリックス170において中央
接続ライン166と交差する。同様に、リードライン1
68および169は、相互接続マトリックス172にお
いて中央接続ライン166と交差し、それらは固定され
ているかまたはプログラム可能かのいずれかであるかも
しれない。リードライン168および169はまた、そ
れぞれの第1および第2のサブチップ160および16
2の関数ユニットの入力29に通じる導電性ライン32
とプログラム可能相互接続マトリックス174において
交差する。
は、第1のサブチップ160の関数ユニットの入力29
に入力ライン36aおよび36bおよび導電性ライン3
2を直接介して接続されるように、または第2のサブチ
ップ162の関数ユニットの入力に入力ライン36aお
よび36b、スイッチマトリックス164の中央接続ラ
イン166およびリードライン169を介して、それか
ら第2のサブチップ162上の導電性ライン32を介し
て接続されるようにプログラムされるかもしれない。同
様に、入力ピン36cおよび36dは、第2のサブチッ
プ162の関数ユニットの入力に直接接続されるか、ま
たは第1のサブチップ160の関数ユニットの入力にス
イッチマトリックス164の中央接続ライン166およ
びリードライン168を介して非直接に接続されるかに
プログラムされることができる。一方のサブチップ上の
関数ユニット出力30からの導電性ライン31はまた、
スイッチマトリックス164を介して、他方のサブチッ
プ上で関数ユニットの入力29に通じる導電性ライン3
2と接続するように、または出力ピン40aないしdへ
通じる出力ライン42aないしdに接続するようにプロ
グラムされることができる。
を用いる少数の積項では容易にまたは迅速になされるこ
とができない、いくつかのしばしば用いられる演算およ
び論理関数がある。加算および「0」に対する結果のテ
ストが2つの例である。たとえば、合計Sを得るための
2つの数AおよびBの加算を検討してみよう。合計S n
のn番目のビットはSn =(An .〜Bn .OR.〜A
n .Bn ).EXOR.Cn-1 であり、そこでCn-1 =
An-1 .Bn-1 .OR.An-1 .Cn-2 .OR.
Bn-1 .Cn-2 は、前の計算段階からの桁上である。桁
上項は順次に計算されることができるが、それはすなわ
ち「リップル桁上(ripple carry)」によって、前の桁
上項をアレイにフィードバックすることによってであ
る。あいにく、これは、アレイを介する複数の伝達が行
なわれる必要があるということを意味し、それは多くの
状態において十分に速くないかもしれない。代替例は桁
上項のすべてを同時に発生することである。
最初の4つの桁上項を計算するためだけに52の積項が
必要とされるであろうということが容易に理解される。
いてこの計算において補助するためにいくつかの付加的
な専門化された論理を用いる。この関数ユニットは、積
項179を発生するANDアレイ178、および積項1
79にプログラム可能に接続されかつこの場合排他的O
RゲートであるORゲート184内に通じるORゲート
入力ライン183を有するORアレイ180を含む。関
数ユニットはまた、ORゲートからの出力を関数ユニッ
トの出力188にいつも通過させるかまたはクロックラ
イン185に応答してレジスタとして働くかのどちらか
に、スイッチ187によってプログラムされることがで
きるラッチまたはフリップフロップ186を含む。OR
アレイ180は、示されるようにプログラム可能リンク
189で部分的に占められることができ、図1のように
完全に占められることができ、または図8のように分岐
された積項を有することができる。
ニットはまた専用の論理を有する専門ユニット182を
有する。図17に示されるユニットにおいて、専門ユニ
ット182は加算を行なう補助をする。しかしながら、
他の場合においては、専門ユニットはいくつかの他の関
数を行なうために専用化された論理を有するかもしれな
い。この場合において、専門ユニットは桁上項Cn =A
n .Bn .OR.An.Cn-1 .OR.Bn .Cn-1 を
決定し、かつそれによってわずか4つの積項、An .〜
Bn 、〜An .Bn 、An-1 およびBn-1 で加算がなさ
れることを可能にする。専門ユニット182は、必要な
場合のみに用いられかつEPROMスイッチ190によ
って残余のAND/ORアレイにプログラム可能にリン
クされる。
テクチャは、個々にプログラムされることができる相互
接続マトリックスを形成する固定された組の配線を有す
る個々にプログラム可能な関数ユニットを提供すること
によって、高速および低コストと組合されたかなりの関
数の柔軟性を達成する。さらに、チップを介する速い経
路を提供することによって、多くの論理関数が相当の遅
延なしに行なわれることができる。関数ユニットAND
/ORアレイにプログラム可能に接続可能である専用の
ユニットと同様に、装置のための付加的な階層のレベル
が、増加された関数性を提供する。関数ユニットおよび
論理状態の記録への個々のアクセスが装置の徹底的なテ
ストを容易にする。
構造を示す概略図である。
である。
る。
略図である。
マトリックスの一部の詳細図である。
接続マトリックスの単一の出力ラインに対応する部分の
概略図である。
ットのためのAND/ORアレイの詳細図である。
ある。
プログラム可能論理装置の第2の実施例を示す概略図で
ある。
図である。
3の実施例の概略図である。
マルチプレクサを有するこの発明に従うプログラム可能
論理装置の第4の実施例の概略図である。
するこの発明のプログラム可能論理装置の第5の実施例
の概略図である。
実施例の概略図である。
ットの詳細図である。
Claims (1)
- 【請求項1】 プログラム可能論理装置であって、 関数ユニットのマトリックスを含み、各々の関数ユニッ
トは1組の入力および1組の出力を有し、各々の関数ユ
ニットは1つまたはそれ以上の特定された論理関数を実
行するために個々にプログラム可能であり、各々の関数
ユニットはANDアレイおよびANDアレイに接続され
たORアレイを有するプログラム可能論理装置であり、
さらに、 第1の組の導電性ラインを含み、前記第1の組の各々の
ラインは前記関数ユニットのうちの1つのORアレイか
らの出力に永久的に接続されており、さらに、 第2の組の導電性ラインを含み、前記第2の組の各々の
ラインは、前記関数ユニットのうちの1つのANDアレ
イへの入力に永久的に接続されており、 前記第2の組の導電性ラインは前記第1の組の導電性ラ
インと交差し、前記第1および第2の組の導電性ライン
が交差する領域がプログラム可能相互接続マトリックス
を形成し、前記マトリックスは第1の組の各々の導電性
ラインの第2の組の導電性ラインとの交点においてプロ
グラム可能リンクを含み、前記リンクの各々が選択的に
開成可能および閉成可能でありそのためいずれの関数ユ
ニットのいずれの出力をいずれの関数ユニットのいずれ
の入力へも接続し、さらに、 複数個の入力ピンを含み、各々の入力ピンは前記第2の
組の少なくとも1つの導電性ラインに選択的に接続可能
であり、さらに、 複数個の出力ピンを含み、各々の出力ピンは前記第1の
組の少なくとも1つの導電性ラインに選択的に接続され
る、プログラム可能論理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10152755A JP2968256B2 (ja) | 1998-06-02 | 1998-06-02 | プログラム可能論理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10152755A JP2968256B2 (ja) | 1998-06-02 | 1998-06-02 | プログラム可能論理装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1120197A Division JP2977831B2 (ja) | 1989-05-12 | 1989-05-12 | プログラム可能論理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1174780A true JPH1174780A (ja) | 1999-03-16 |
JP2968256B2 JP2968256B2 (ja) | 1999-10-25 |
Family
ID=15547463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10152755A Expired - Lifetime JP2968256B2 (ja) | 1998-06-02 | 1998-06-02 | プログラム可能論理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2968256B2 (ja) |
-
1998
- 1998-06-02 JP JP10152755A patent/JP2968256B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2968256B2 (ja) | 1999-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0394575B1 (en) | Programmable logic device | |
USRE34444E (en) | Programmable logic device | |
US5023606A (en) | Programmable logic device with ganged output pins | |
US5371422A (en) | Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnections between logic elements | |
US5594364A (en) | Programmable application specific integrated circuit and logic cell therefor | |
US5220213A (en) | Programmable application specific integrated circuit and logic cell therefor | |
JP2565497B2 (ja) | 半導体集積回路 | |
US6954917B2 (en) | Function block architecture for gate array and method for forming an asic | |
US6066961A (en) | Individually accessible macrocell | |
US4963768A (en) | Flexible, programmable cell array interconnected by a programmable switch matrix | |
US5809281A (en) | Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM | |
US5734869A (en) | High speed logic circuit simulator | |
KR100235812B1 (ko) | 시프트 레지스터 및 프로그래머블 논리회로 및 프로그래머블 논리회로시스템 | |
EP0866558A2 (en) | Programmable logic array device with random access memory configurable as product terms | |
JPH0431446B2 (ja) | ||
JPS61198761A (ja) | 半導体集積回路 | |
US6462576B1 (en) | Programmable logic device | |
US5027012A (en) | Programmable logic circuit using wired-or tristate gates | |
US4862072A (en) | Distributed access serial port test arrangement for integrated circuits | |
JPS6364088B2 (ja) | ||
JPH08148989A (ja) | 超電導fpga装置 | |
JP2968256B2 (ja) | プログラム可能論理装置 | |
US6870393B2 (en) | Field programmable device | |
JP2977831B2 (ja) | プログラム可能論理装置 | |
US6680871B1 (en) | Method and apparatus for testing memory embedded in mask-programmable logic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990803 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 10 |