(57)【特許請求の範囲】
【請求項１】
複数の正規のロジック・グループおよび少なくとも１つの予備のロジック・グループからなり、前記ロジック・グループは集積回路上に所定の規則的な配列で配置され、前記ロジック・グループの各々が複数のロジック・モジュールと複数の第一の導線とを有し、前記第一の導線の各々がデータ信号を前記ロジック・モジュール間で前記第一の導線に沿っていずれかの方向にも伝送することができ、前記ロジック・モジュールの前記ロジック・グループにおいて前記第一の導線が一つの構成要素となり、
複数の第二の導線を備え、前記第二の導線は各々データ信号を前記ロジック・グループ間で前記第二の導線に沿っていずれかの方向に伝送することができ、
第一の複数のスイッチからなり、各々のスイッチが第二の導線を前記配列において二つの隣接したロジック・グループにある第二の複数のスイッチから選択された２つのスイッチの内のいずれかのデータ出力端子に接続することを特徴とするプログラマブル集積回路ロジック・アレー装置。
【請求項２】
前記装置は、さらに、前記正規のロジック・グループの各々に結合され、その結合されたロジック・グループが、そのロジック・グループによって実行される論理機能を正常に実行することができるかどうかを表示するための記憶装置を備え、前記第一の複数のスイッチは、前記記憶装置に対し応答し、これにより第一のロジック・グループが前記第一のロジック・グループによって正常に実行される論理機能を実行し得ることを前記記憶装置が表示する際には、前記第一の複数のスイッチの各々が、第二の導線を前記第一のロジック・グループの第二の複数のスイッチから選択された一つ目のスイッチのデータ出力端子に接続し、
そして前記第一のロジック・グループが前記第一のロジック・グループによって実行される論理機能を正常に実行し得ないことを前記記憶装置が表示する際には、前記第一の複数のスイッチの各々が、前記第二の導線を第二のロジック・グループの第二の複数のスイッチから選択された２つ目のスイッチのデータ出力端子に接続することを特徴とする請求項１記載の装置。
【請求項３】
正規のロジック・グループ各々と機能的に正常に結合される少なくとも一つの入力ピンと、
第三の複数のスイッチとを備え、各々前記第三のスイッチは一つの入力ピンをその入力ピンと結合する前記正規のロジック・グループ内の第一の導線と接続するか、あるいは前記配列における次のロジック・グループ内の第一の導線に接続する請求項１記載の装置。
【請求項４】
各正規のロジック・グループと機能的に正常に結合される少なくとも一つの出力ピンと、及び
第三の複数のスイッチとを備え、各々前記第三のスイッチは一つの出力ピンをその出力ピンと結合する前記正規のロジック・グループ内の第一の導線と接続するか、あるいは前記配列における次のロジック・グループ内の第一の導線に接続する請求項１記載の装置。
【請求項５】
複数の正規のロジック・グループおよび少なくとも１つの予備のロジック・グループからなり、前記ロジック・グループはそれぞれ複数のプログラミング信号を受信する能力を有し複数のデータ入力信号上の論理機能を実行し、これにより複数のデータ出力信号を生成するように設計され、更に前記各ロジック・グループは複数のロジック・モジュールを含み、また
表示装置を備え、各正規のロジック・グループが、そのロジック・グループによって実行される論理機能を正常に実行することができるかどうかを表示し、
前記表示装置に応答する装置を備え、正常な論理機能を実行することができないロジック・グループに通常印加されるプログラミング信号およびデータ入力信号を、別のロジック・グループに転送し、そしてこの別のロジック・グループのデータ出力信号で、前記転送されたプログラミング信号およびデータ入力信号を通常受信するロジック・グループのデータ出力信号を代替し、それによって、前記別のロジック・グループが、その別のロジック・グループに転送されたプログラミング信号およびデータ入力信号を通常受信するロジック・グループによって通常実行される全ての論理機能を実行することができ、
前記各ロジック・グループは、前記ロジック・グループのデータ入力信号を受信するための複数のデータ入力端子と前記ロジック・グループのデータ出力信号を出力するための複数のデータ出力端子とからなるスイッチ装置と、
前記ロジック・グループのデータ出力端子に接続される複数の第一の導線と、
前記ロジック・グループ間において、データ信号を選択的に伝送する複数の第二の導線とからなり、また
前記表示装置に応答する前記装置は、複数のスイッチを備え、各スイッチは第二の導線を２つのロジック・グループのいずれか一方にある第一の導線に接続し、各前記第一の導線はデータ信号を前記ロジック・モジュール間で第一の導線に沿っていずれかの方向にも伝送することができ、前記ロジック・モジュールのロジックグループにおいて前記第一の導線を含み、また各前記第二の導線はデータ信号を前記ロジック・グループ間で第二の導線に沿っていずれかの方向にも伝送することができるプログラマブル集積回路ロジック・アレー装置。
【請求項６】
前記装置は、さらに、それぞれの正規のロジック・グループに結合される入力／出力ピンを含む請求項５記載の装置。
【請求項７】
前記表示装置に応答する前記装置が、各入力／出力ピンに接続され、各入力／出力ピンを、その入力／出力ピンに結合される正規のロジック・グループ内の第一の導線と、別のロジック・グループ内の第一の導線のいずれか一方に接続する第二のスイッチを有する請求項６記載の装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明はプログラマブル・ロジック・デバイスに関し、特に故障の有り得る他の回路の代替用の予備回路を備えるプログラマブル・ロジック・アレー集積回路に関する。
【０００２】
【従来の技術】
ソー等の米国特許４，８９９，０６７は、マイクロセルと呼ばれる比較的小さい単位に細分化される積和ロジックを有するプログラマブル・ロジック・デバイスを開示する。前記ソー等の特許は、不良に製造された部分を救済するために、付加的なマイクロセル（あるいはマイクロセルまたはそれの配線のために使用される構成部分を形成する付加的ワード・ラインまたはビット・ライン）を含むことを開示する。あるマイクロセル（あるいはワード・ラインまたはビット・ライン）が故障していることが検知された場合、故障した回路素子は稼働状態からスイッチし、そして失なわれた容量を回復するよう、予備的な回路素子が稼働状態にスイッチされる。この方法により、そうでなければ廃棄されるべき部分が救済され、まるで故障がなかったかのように適正に稼働する。
【０００３】
【発明が解決しようとする課題】
ソー等の発明は極めて良好に動作する。しかしながら、故障部分の代替は比較的小規模なレベルの個々のマイクロセル（あるいは個々のワード・ラインまたはビット・ライン）上で行われ、比較的多量の付加的な制御回路素子が必要とされる。例えば、ソー等の特許において記載されたサイズの製品（例えば、サン・ジョセ・カリフォルニアのアルテラコーポレーション製の市販のＭＡＸ  ５０００ＥＰＬＤ）において、予備回路素子の使用を制御するために２０００以上のヒューズが必要とされる。これは欠陥部分が救済され使用されることを可能にする際の実質的な「オーバヘッド・ペナルティ」である。また、ソー等の特許のような比較的小規模なスケール上での「修復」は「点」または比較的小さい欠陥に対し有効であるが、より大きな規模の修復のための方策を有することが好ましく、その方策はより大きなまたは深刻な欠陥に対し効果的であることが好ましい。
【０００４】
前述の観点から、この発明の目的はプログラマブル・ロジック・デバイスにおける予備回路の装備および使用を改良し、そして単純化することにある。
【０００５】
この発明の別の目的は、比較的大規模な欠陥回路の代替用の予備回路を備えるプログラマブル・ロジック・デバイスを提供し、それにより予備回路の使用の制御と関連したオーバヘッドが効果的に縮小され、より大きなあるいは深刻な欠陥が効果的に克服され得ることである。
【０００６】
【課題を解決するための手段】
本発明の原理に従って、これらのそしてその他の目的は、他の回路素子への比較的少数の配線を有するプログラマブル・ロジック・デバイスの比較的大きな繰返し部分を確認し、前記部分が故障していることが検知された結果として、その部分を全体的に代替する予備回路素子を提供することにより達成される。予備回路素子の使用を制御するために、通常は故障回路部分に伝送されるプログラミング信号を他の非故障回路部分にスイッチするために制御回路が備えられる。制御回路は、また、通常は故障回路素子に伝送されるデータ入力を非故障回路素子にスイッチするために備えられる。制御回路素子は、また非故障部分からのデータ出力を故障回路素子の出力の伝送されるべく地点に返送するようスイッチする。従って、機能全体としての回路はまさに故障がない。例えば、外部入出力ピンは、回路が実際に完全であるか、あるいは予備回路素子の使用により修復されているかどうかにかかわらず常に使用される。同様に、チップは完全であるかまたは修復されているかにかかわらず同一のプログラミングデータを適正に許容する。故障回路素子は比較的大規模に代替されるので、比較的少数の付加的要素が前記代替を制御するために必要とされる。このことにより、予備回路素子の制御のためのオーバヘッド・ペナルティは比較的小さい。
【０００７】
本発明の特徴、その本質および多数の利点は、添付の図面および以下に続く好適な実施例の詳細な説明より明らかにされる。
【０００８】
【実施例】
説明の目的のため、本発明は、ここで参考文献として取り入れられる米国特許第５，２６０，６１０号において開示されるタイプのプログラマブル・ロジック・アレー集積回路との関連において記述される。しかしながら、本発明は他の多数のプログラマブル・ロジック・デバイスに対し同様に適用され得ることが理解されよう。
【０００９】
図１に示されるように、本発明に従って構成され得る図示されたプログラマブル・ロジック・アレー集積回路１０は、以下の要素から成り、それらは（１）その内部においてデバイスが以下に詳細に記述されるようなディジタル・ロジックを実行するＲＡＭ（ランダム・アクセスメモリ）アレー２０、（２）その中へ前記プログラム・アレー２０に対し必要となるデータが（例えば図１において見られるように左から右へ）シフトされる第一の（直列）データ・レジスタ３０、（３）レジスタ３０の各充填に平行してレジスタ３０からのプログラミング・データがその中へシフトされる第２の（並列）データ・レジスタ４０、（４）メモリ要素の適正な機能を検査するためにレジスタ４０からアレー２０内のメモリ要素の全てを介して伝送されるプログラミング・データを受信するためのテスト・レジスタ５０、（５）アドレスされたメモリ要素にプログラミング・データをレジスタ４０からのものに適応して記憶させるために、アレー２０内のメモリ要素の横の列を連続的にアドレスするアドレス・レジスタ６０、そして（６）アレー２０内の正規の回路が故障していると検知された場合に提供されるアレー２０内の予備回路の使用の制御のためのヒューズ・レジスタ７０である。
【００１０】
アレー２０内のロジックはロジック・アレー・ブロック（「ＬＡＢＳ」）２２と呼ばれる単位に再分割される。図１に見られるようにＬＡＢｓは水平方向の行と垂直方向の列に整理される。記載された説明的実施例において２１列の「正規の」ＬＡＢｓ２２および１列の「予備の」ＬＡＢｓ２２（すなわち最も左の列）がある。各正規および予備の列は６個のＬＡＢｓ２２を有する。
【００１１】
それぞれのＬＡＢｓ２２は続いて８個のロジック・モジュール２４に再分割される。各ロジック・モジュールは比較的単純な論理的動作（例えばロジック・モジュールに印加される４つの入力信号の論理的機能のいずれかである出力信号の提供）を実行することが可能である。
【００１２】
図１には示されていないが、図２および前述された米国特許第５，２６０，６１０号において示されるように、アレー２０は、ロジック・モジュール２４を多数の経路で配線し、それによりはるかに複雑な論理機能がロジック・モジュールの出力信号の結合によって達成され得るようにするための導線回路網を含む。（図２は２つの代表的なＬＡＢの列ＮおよびＮ＋１番目の部分を示す。）  特に、幾つかの「広域水平」導線２６が、ＬＡＢｓ２２の水平方向の各行に結合される。同様に、それぞれの「広域垂直方向」導線２８が、ＬＡＢｓ２２の垂直方向の各列に結合される。図面の繁雑化を避けるために、僅かの広域導線のみが図２上に示される。例えば、実際にはＬＡＢの各行に結合される約１６８本の広域水平導線２６と、ＬＡＢの各列に結合される１６本の広域垂直導線２８が存在し得る。図２はまた、表記された導線の多数の上で典型的に提供される増幅器および駆動回路の省略によって単純化されている。これらの省略される要素のうちの幾つかはプログラマブル・三安定・駆動装置であり得る。
【００１３】
各ロジック・モジュール２４の出力信号は、そのロジック・モジュールを含むＬＡＢ列に対応する垂直導線２８のうちの２つに印加される。各ロジック・モジュール２４の出力信号は、また、結合されたスイッチ２５および７２を介して、そのロジック・モジュールを含むＬＡＢ行に結合される広域水平導線２６のそれぞれ印加され得る。列の右側に生じる回路故障の補償のための機能のシフティングにＮおよびＮ＋１番目の列のいずれも引き込まれないと仮定すると、各列内のスイッチ２５の出力信号が、その列に結合されたスイッチ７２を介して広域水平導線に印加される。（記述の進展と共により明白になる理由のため、最も左の予備のＬＡＢ列は、全ての他の列と類似であり、広域垂直導線２８を含む。最左の予備ＬＡＢ列は、またスイッチ２５も含む。しかしその列は、スイッチ７２と広域水平導線２６への配線との組は含まない。）各スイッチ２５は、結合された２つの広域垂直導線２８のうちの１つを、そのスイッチ２５に結合された広域水平導線２６に接続するよう交互に使用され得る。再び、予備のＬＡＢ列の使用に関連する機能のシフティングにＮおよびＮ＋１番目のいずれの列も引き込まれないと仮定すると、この配線は、接続される信号を提供するスイッチ２５と同一の列の中のスイッチ７２を介して行われる。
【００１４】
ロジック・モジュール２４を含む行に結合される幾つか（例えば４つ）の広域水平導線２６の上の信号は、結合されたプログラマブル論理接続装置２３を介してロジック・モジュールへの入力として印加され得る。前述したように各ロジック・モジュールの出力は、好ましくは入力の論理機能となるようプログラム可能である。各ロジック・モジュールへの代替的なまたは付加的な入力が、同一のロジック・モジュール、または同一のＬＡＢ２２内の他のロジック・モジュールの出力となり得る。この最後の事項は前述された米国特許第５，２６０，６１０号においてより詳細に記述されている。
【００１５】
前記のことは、主として、最も左の予備列の使用に関連する機能のシフティングに、ＮおよびＮ＋１番目の列のいずれも引き込まれない際の、デバイス１０内の論理信号の流れを説明する。図２は、また、最初にプログラミング・デバイス１０に結合される回路素子３０、４０、５０等の幾つかと、外部データのデバイス１０への印加またはデバイス１０からのデータ出力信号の獲得に使用され得る入出力ピン８０の幾つかを示す。
【００１６】
最初にプログラミング回路素子を考察すると、直列データ・レジスタ３０は、複数のシフト・レジスタ・ステージ３２より構成される。それぞれの正規の列は、幾つかの（例えば１３個）の結合されたステージ３２−１から３２−１３までを有する。プログラミング・データはレジスタ３０内に左から右へシフトされる。レジスタ３０がいっぱいの場合、プログラミング・データはレジスタ３０からレジスタ４０のステージ４２へ並列伝送される。ＮおよびＮ＋１番目の列が予備の列への機能のシフティングに引き込まれないと仮定すると、レジスタ３０からレジスタ４０へのシフトは、各列に結合されるスイッチ７４を介してストレート・ダウンする。
【００１７】
各レジスタ・ステージ４２の出力は、アレー２０内のファーストイン・ファーストアウト（ＦＩＦＯ）メモリ・セル４４の連鎖にそれぞれ印加される。最初に、これらのＦＩＦＯ連鎖（適正に動作している場合）のそれぞれが、印加されたデータをテスト・レジスタ５０の結合されたステージ５２に単に伝送する。テスト・レジスタ５０の内容は、全てのセル４４が適正に動作することを補償にするために、左から右へシフト・アウトされ得る。その後、アドレス・レジスタ６０（図１）が使用され、セル４４の行を図２に見られるように底部から最上部へ連続的にアドレスしそれにより、デバイスをプログラムするために、レジスタ４０内に連続的にロードされたデータがセル４４内にラッチされる。このようにプログラムされた際、各ＦＩＦＯ連鎖の各セル４４が、連鎖されたＬＡＢ列内の結合された機能を制御する。例えば、セル４４の幾つかが結合された要素２３によって作成された連結を制御する。他のセル４４は、結合されたロジック・モジュール２４によって実行される論理的機能を制御する。さらに他のセル４４が、結合されたスイッチ２５によって作成される連結を制御する。このプログラミング・デバイス１０のための技術は、米国特許第５，２３７，２１９号において詳細に示され記述されており、この出願はここにおいて参考文献として取り入れられる。
【００１８】
前述したにもかかわらず、正規のＬＡＢ列のみが、結合されたステージ３２をレジスタ３０内に有するが、全てのＬＡＢ列（すなわち正規および予備の両方）が結合されたステージ４２および５２をレジスタ４０および５０内に有する。全てのＬＡＢ列が、また、結合されたスイッチ７４を有するが、予備の列および最も右の正規の列のためのスイッチ７４は、以下に詳細に記述されるように、３つではなく２つのみの入力を有する。
【００１９】
ここで入出力ピン８０に注目すると、正規のＬＡＢ列に結合された広域垂直導線２８の各グループは、典型的に、それに結合された幾つかのピン８０を有するが、１つの代表的なピンのみが各グループ２８と関連し、図２中に示されている。各ピン８０は入力用ピンとしてもまた出力用ピンとしても使用され得る。入力ピンとして使用される場合、このピンに印加される外部信号は、結合された垂直導線２８のうちの２つに、それらの導線に結合された列内のスイッチ７６を介して印加される（ここにおいて、ＮおよびＮ＋１番目ののいずれの列も、予備の列の使用に関連した機能のシフティングに引き込まれないと仮定する。）出力ピンとして使用される場合、結合されたプログラマブル・論理接続デバイス２９は、結合された垂直導線２８のうちの１つの上の信号を、結合された列内のスイッチ７８を介してピン８０に印加する（ここにおいて再び、ＮおよびＮ＋１番目のいずれの列も、予備の列の使用に関連した機能のシフティングに引き込まれないと仮定する。）接続デバイス２９（接続デバイス２３と同様）はセル４４によって制御されるプログラマブル素子間に存在する。（前述のように）予備のＬＡＢ列は結合された入出力ピン８０を持たないので、予備の列はそれ自体のスイッチ７６および７８を含まない。しかしながら、その予備の列はそれ自体の接続デバイス２９を含む。予備の列は、その予備の列が必要とされない場合に最も左の正規の列に結合されるピン８０からの入力接続をターン・オフするために、スイッチ７６のようなヒューズ制御されるスイッチを含み得る。これが最も左の正規の列に結合されるピン８０の二重ローディングを回避する。これらのヒューズ制御されるスイッチは１つの入力しか持たないので記述されたスイッチ７９とは異なるが、それらはスイッチ７６と類似であると考えられることができ、そして以下で予備の列に結合されるスイッチ７６として参照される。同様に、最も右の正規の列に結合されるスイッチ７６がそれぞれ１つの入力しか持たないことが明白となり、そしてそのことからそれらのスイッチ７６は、前記の最も右の正規の列が不良であると検知される。従ってその機能が１つ左の列にシフトされた際に、その最も右の正規の列に結合されるピン８０の二重のローディングを回避するための単純なオン／オフ・スイッチとなり得る。
【００２０】
基本回路素子の検討を完全にするため、要素７２，７４，７６，そして７８はヒューズ・レジスタ７０によって制御されるべきである（図１）。特に、ヒューズ・レジスタ７０は、それぞれの正規のＬＡＢ列に対し１つのヒューズを含む。従って、記述された２１個の正規のＬＡＢ列が存在する好適な実施例において、ヒューズ・レジスタ７０は２１個のヒューズを含む。各ヒューズの状態（すなわちそのヒューズが飛んでいるかそのままの状態であるか）は、通常は結合されたＬＡＢ列によって実行される機能が、その列によって実行されるべきか、あるいは１つ左のＬＡＢ列にシフトされるべきかを示す。各列と結合されるヒューズはその列内のスイッチ７２，７６，７８を制御し、そしてその列内のスイッチ７４を部分的に制御する。各列内のスイッチ７４の残りの制御は、右側の列に結合されたヒューズにより行われる。これの理由は以下で明らかになる。予備の列のためのスイッチ７４および７６は、最も左の正規の列のためのヒューズによって制御されることができ、あるいはレジスタ７０はそれらの予備の列のスイッチの制御のための付加的なヒューズを含むことができる。
【００２１】
これまでの記述は、ＮおよびＮ＋１番目の列のいずれも、予備の（最も左の）ＬＡＢ列を、正規の列のうちの１つの故障を補償するための使用に配置することが必要とされる機能のシフティングに引き込まれないと仮定する。図３は、正規の列のうちの１つにおいて故障が検出された際に、幾つかの列の機能がどのようにシフトされるかを示す。図３に示される例においては、ＬＡＢ列Ｎ＋１が故障を含み、従って使用されることができない。Ｎ＋１番目の列の右側のＬＡＢ列は正常である。従ってＮ＋１番目の列の右側の列がプログラムされ、チップ全体はあたかも故障がなかったかのように機能する。通常はＮ＋１番目の列に通じるプログラミング・データは、しかしながら、１つ左側の列（すなわちＮ列）にシフトされ、それによって、通常Ｎ＋１番目の列によって実行される全ての機能を、Ｎ番目の列が実行する。同様に、通常はＮ番目の列に通じるプログラミング・データが１列左のＮ−１番目の列にシフトされ、それによってＮ−１番目の列は、通常Ｎ番目の列によって実行される全ての機能を実行する。このプログラミング・データおよび機能の左方向へのシフティングは、最も左の正規の列のプログラミング・データおよび機能が予備の列にシフトされるまで続く。これはプログラミング・データおよび機能が処理される方法であることを示すために、Ｎ＋１ＬＡＢ列（故障した列）に結合されたヒューズ・レジスタ７０内のヒューズが飛ぶ。これは、どの列が故障を含むか（故障がある場合）判定するためにチップがテストされた後に実行される。
【００２２】
ここで前述のプログラミング・データおよび機能のシフティングが図２においてどのように達成されるかについてより詳細に考察すると、Ｎ＋１番目の列が不良である場合、その列内のスイッチ７４は、Ｎ＋１番目の列の右側の列はシフティングには引き込まれず、しかしＮ＋１番目の列の機能がシフトされるべきであることを示す入力の組み合わせをヒューズ・レジスタ７０から受信する。この入力の組み合わせに応答して、各スイッチ７４はＶＳＳ（論理０）をレジスタ４０の結合されたステージ４２に印加する。これによりＮ＋１番目の列内の全てのメモリ・セル４４が論理０を記載する。それにより、不良な列Ｎ＋１の可能な限り多くの回路素子を停止し、それによりその列内の使用されていない回路素子が電力を浪費しないようにする。これと同時に、Ｎ番目の列内のスイッチ７４が、ＮおよびＮ＋１番目の列の両方がシフティングに引き込まれることを表示する入力の組み合わせをレジスタ７０から受信する。このことにより、Ｎ番目の列内のスイッチ７４がＮ＋１番目の列内のレジスタ３０のステージ３２の出力が、Ｎ番目の列のレジスタ４０のステージ４２に接続される。従って、通常はＮ＋１番目の列に通じるプログラミング・データを、Ｎ番目の列にシフトする。Ｎ番目の列の左側の全ての列（予備の列を含む）のためのスイッチ７４は、同様に、プログラミング・データを、そのデータのレジスタ３０からレジスタ４０への伝送の間に、１つ左の列にシフトするよう動作する。予備の列のためのスイッチ７４は、２つの出力のみ（ＶＳＳ（チップが無故障であるため予備の列は使用されず、したがってターン・オフされる場合に選択される）および最も左の正規の列と結合されるレジスタ３０のステージ３２の出力（いずれかの正規の列が故障で、したがって予備の列が活用されなければならない場合に選択される））を必要とすることが理解されよう。同様に、最も右の正規の列内のスイッチ７４は、２つの出力のみ（ＶＳＳ（最も右の正規の列が故障である際に選択される）およびその最も右の正規の列内のレジスタ３０のステージ３２の出力（前期ＶＳＳが選択されない際に選択される））を必要とすることが理解されよう。
【００２３】
このようにしてプログラミング・データが故障の列から自動的に回避されるので、たとえチップが故障を含んでいても、プログラミング・データの変更は全く必要とされない。このことから、チップのプログラマーにとって、障害の補償が極めて容易である。
【００２４】
ここでＬＡＢ列の幾つかが前述の様にシフトされる際の、ロジックを実行するためのチップの動作を考察すると、全ての水平に配列されたロジック・モジュール２４は、導線２６からの全く同一の入力接続オプション２３を有する。したがって、１つ左の列の接続器２３を制御するプログラミング・データのシフティングは、左側のロジック・モジュールが、元のロジック・モジュールが受信したであろうものと全く同一の入力を受信する。同様に、全ての水平に配列されたロジック・モジュール２４は垂直導線２８への出力と全く同一のパターンを有し、そして全ての水平に配列されたスイッチ２５は垂直導線からの入力と同一のパターンを有し、それによってプログラミング・データの左へのシフティングがこれらの垂直導線の接続のパターンを変更しないようにする。しかしながら、水平に配列されたスイッチ２５は、水平導線２６への同一の出力接続は持たない。そのため、スイッチ７２が、シフトされる各列内のスイッチ２５の出力信号を、通常の列内の適応するスイッチ２５の出力信号を受信する水平導線に印加するために備えられる。
【００２５】
再びＮ＋１番目の列が故障でしたがってその機能がＮ番目の列によって実行される例について考察すると、Ｎ＋１番目の列内の表記された代表的スイッチ７２は、Ｎ番目の列内の表記された代表的なスイッチ２５の出力を、通常はＮ＋１番目の列内の表記された代表的なスイッチ２５の出力信号を受信する水平導線２６に印加するように、レジスタ７０内のヒューズによって制御される（適切に復号される。）同様に、Ｎ番目の列内のスイッチ７２は、Ｎ−１番目の列（表記されていないがＮ番目の列の左側）内のスイッチ２５の出力を、通常はＮ番目の列内のスイッチ２５の出力信号を受信する水平導線２６に印加するように、レジスタ７０内のヒューズによって制御される。このようにして、たとえ幾つかの列の機能が１つ左側の列にシフトされても、スイッチ２５の出力は常にもともと目的とされた水平導線２６に帰還する。再びこれがチップの使用者にとって全く容易であるように自動的に行われる。
【００２６】
多数の列の左へのシフティングもまた、幾つかの列内の垂直導線２８によって提供される入出力ピン８０の機能を変更することは許されない。全ての列に結合されるピン８０は、結合される列内の垂直導線２８への可能な入力および出力接続と同一のパターンを有する。スイッチ７６はピン８０からの入力をスイッチするために備えられ、これらのピン８０は、通常は左側の列内の垂直導線への前記入力を受信する列内の垂直導線２８からの機能のシフティングに引き込まれる列に結合される。同様に、スイッチ７８は、右側の列に結合されるピン８０へ機能を返送するシフティングに引き込まれる列の中の垂直導線２８からの出力をスイッチするために備えられる。例えば、Ｎ番目の列がＮ＋１番目の列の機能を実行するために使用されている場合、表記されたＮ番目の列内の代表的なスイッチ７６は、Ｎ＋１番目の列内の表記された代表的なピン８０へ印加される入力信号を、Ｎ番目の列内の垂直導線２８に印加するように、レジスタ７０（図１）内のヒューズによって制御される。同様に、Ｎ＋１番目の列内の表記された代表的なスイッチ７８は、Ｎ番目の列内の表記された代表的な接続デバイス２９からの出力信号を、Ｎ＋１番目の列内の表記された代表的なピン８０に印加するように、レジスタ７０内のヒューズによって制御される。このようにして、各ピン８０に結合される信号は、たとえこれらの信号の発生源または目的地が、通常はそのピンに結合される列内の垂直導線２８、あるいは通常はそのピンに結合される列の左の列内の導線２８であるとしても、常に同じ状態に留まる。再び、このピン８０に結合される信号の可能なシフティングは自動的であり、そしてチップの使用者にとって極めて容易である。
【００２７】
これまでの記述は単に本発明の原理の説明であり、多数の変更が当業者により本発明の視点および概念から離れることなく行われることが理解されよう。例えば、前述された好適な実施例においては１つの予備の列のみが示されているが、必要であれば２つまたはそれ以上の予備の列が提供され得ることが理解されよう。複数の予備の列が提供される場合、それらは一緒にまとめられることも、あるいは正規の列の中に分散されることも可能である。この発明の視点における別の変更として、回路の列ではなく不良の行の代替を可能にするための予備の回路素子が提供され得る。または、行および列の両方が代替され得る。レジスタ７０は、ヒューズから形成される代わりに、ＲＡＭセル、アンチヒューズ、メタル・オプショナル・リンク、ＥＰＲＯＭ、ＥＥＰＲＯＭ、強誘電素子等の多数の他のタイプの記憶セルすなわちメモリセルから形成され得る。さらに別の選択肢として、レジスタ７０は、種々の欠陥修正パターンがテストされ得るように、ロード可能でそして再プログラム可能な第一ステージを有する２−ステージ・レジスタであり得る。そして適切な欠陥修正パターンが発見された際、そのパターンはレジスタ７０の第二のステージ内に焼き付けられ、その後そのステージが正規および予備の回路のグループの中での機能の配分を制御する。さらに本発明の視点における別の変更例として、幾つかの導線２８が、入力信号を、結合されるロジック・モジュール２４に伝搬するのに使用され得る。
【図面の簡単な説明】
【図１】本発明の原理により構成され得るプログラマブル・ロジック・アレー集積回路を示す簡略化されたブロック線図である。
【図２】本発明の実施例を示す図１の回路の代表的な部分のより詳細でしかも簡略的な概略ブロック線図である。
【図３】図２で示される本発明の実施例において、プログラミング信号および幾つかの他の信号がどのように故障回路素子を避けて転送されるかを示す図１の回路の部分の簡略ブロック線図である。
【符号の説明】
１０    プログラマブル・ロジック・アレー集積回路
２０    ランダム・アクセスメモリ（ＲＡＭ）・アレー
２２    ロジック・アレー・ブロック（ＬＡＢｓ）
２３    論理接続装置
２４    ロジック・モジュール
２５    スイッチ
２６    水平導線
２８    垂直導線
３０    （直列）データ・レジスタ
４０    （並列）データ・レジスタ
５０    テスト・レジスタ
６０    アドレス・レジスタ
７０    ヒューズ・レジスタ
７２    スイッチ
８０    入出力ピン
【図１】
0003545792.tif 000002
【図２】
0003545792.tif 000003
【図３】
0003545792.tif 000004