(57)【特許請求の範囲】
【請求項１】
セルを形成する１つまたは複数の配列された構成群が少なくともそれぞれ１つの入力側と出力側を有し、当該構成群に少なくとも１つの別の同じ付加的構成群が配属されている形式の集積回路において、
該集積回路は、セルバスシステム、計算機構またはコンフィギュレート可能な論理セルであり、
前記構成群の入力側に第１の切換素子が前置接続されており、
該第１の切換素子は、入力が選択的に当該構成群またはそれぞれ後続の構成群に接続されるように構成されており、
前記出力側には別の切換素子が後置接続されており、
該別の切換素子は、出力が選択的に当該構成群またはそれぞれ後続の構成群から受け取られるように構成されており、
前記セルに関してテストベクトルを計算するテストプログラムを実施することにより集積回路のセル機能のテストが行われ、その際、セルのうちの少なくとも１つについて、テスト結果と目標結果の比較が行われ、当該比較が目標結果とテスト結果との間の不一致を示した場合には、エラーが指示され、前記構成群の１つにおいて、エラーのある構成群および／または機能セルが前記切換素子の切換によってその後続の構成群と置換され、最後の構成群は前記付加的構成群によって置換される、
ことを特徴とする集積回路。
【請求項２】
制御部が設けられており、
該制御部は、全ての切換素子が同時に切り換えられるか、または切換素子の２つの群が生じるように構成されており、
１つの群内の切換素子は同時に切り換えられ、しかし２つの群は異なって切り換えられ、これにより故障のある構成群が切換素子により除外される、請求項１記載の集積回路。
【請求項３】
前記制御部は、２進値を第１または第２の群回路が発生するようにデコードする、請求項１または２記載の集積回路。
【請求項４】
前記制御部はデコーダを有し、
該デコーダは、切換素子群構成および切換素子回路を設定するために２進値をコーディングする、請求項２または３記載の集積回路。
【請求項５】
カウンタが、２進値の発生のために設けられている、請求項１から４までのいずれか１項記載の集積回路。
【請求項６】
ルックアップテーブルが、２進値の発生のために設けられている、請求項１から５までのいずれか１項記載の集積回路。
【請求項７】
欠陥のある構成群または欠陥のある全ての構成群を表す２進値を記憶するためにメモリが設けられている、請求項１から６までのいずれか１項記載の集積回路。
【請求項８】
前記メモリは、システムスタートに依存しないメモリである、請求項１から７までのいずれか１項記載の集積回路。
【請求項９】
集積回路を有するセルのテスト方法において、
複数の構成群からなる集積回路に少なくとも１つの別の同じ付加的構成群を配属し、
ここで前記構成群はセルを形成し、かつ配列されており、それぞれ少なくとも１つの入力側と出力側とを有し、
構成群の入力側に第１の切換素子を前置接続し、
該第１の切換素子は、前記入力側が選択的に当該構成群またはそれぞれ後続の構成群に接続されるように構成されており、
前記出力側に別の切換素子を後置接続し、
該別の切換素子は、出力が選択的に当該構成群またはそれぞれ後続の構成群により受け取られるように構成されており、
構成群の１つにエラーが検知された場合、エラーのある構成群がその後続の構成群と、前記切換素子の接続によって置換され、最後の構成群は前記付加的構成群によって置換されるように構成されている、ことを特徴とする方法。
【請求項１０】
セルアレイを次のようにしてテストする、すなわち、多数の計算を含むテストアルゴリズムを少なくとも一度、アレイ内で交換および／または反転することによりテストする、請求項９記載の方法。
【請求項１１】
テストプログラムの実行に必要なテストデータを、集積回路の内部メモリから呼び出す、請求項９または１０記載の方法。
【請求項１２】
テスト方法をシステムスタート時に実行する、請求項９から１１までのいずれか１項記載の方法。
【請求項１３】
テスト方法を自己テスト方法として、アプリケーションプログラムの待機サイクル（アイドルサイクル）中に実行する、請求項９から１２までのいずれか１項記載の方法。
【請求項１４】
自己テストをアプリケーションプログラムから呼び出すか、またはアプリケーションプログラムに組み込む、請求項９から１３までのいずれか１項記載の方法。
【請求項１５】
計算機構に存在するデータを、テストアルゴリズムの実行前にチップ内部メモリに確保し、テストの終了後にメモリから再びロードする、請求項９から１４までのいずれか１項記載の方法。
【請求項１６】
計算機構に存在するレジスタを、テストアルゴリズムの実行前に遮断し、テストに対してテストレジスタを使用し、テストの終了後にレジスタを再び接続する、請求項９から１５までのいずれか１項記載の方法。
【発明の詳細な説明】
【０００１】
１．本発明の背景
１．１  従来の技術
１．１．１  演算機構からなる多次元マトリクス
ＤＥ１９６５１０７５．９−５３から、２次元または多次元に配置された複数の演算機構／セルを有するプロセッサが公知である。この種のプロセッサの計算能力は存在する演算機構の数と共に上昇する。従ってできるだけ多数の演算機構を１つのチップに集積することが試みられているが、これにより必要な面積が上昇する。面積が上昇すると、チップが製造時にすでにエラーを有していて使用できなくなる確率も同時に上昇する。同じ問題を、例えばＤＰＧＡ、クレスアレイ（Kress-Arrys）、シストリッシュプロセッサ（Systolishe Prozessor）、ＲＡＷマシーンなど他の公知の形式の、マトリクス形態に配置された全ての演算機構が、演算機構を有していないデジタルシグナルプロセッサ（ＤＳＰ）の場合と同じように有している。
【０００２】
同時に前記形式の全ては、非常に検査が複雑かつ面倒である。すなわち欠陥の存在を検証するために、特に多数のテスト事例をセルの機能および網目化について発生し検査しなければならない。従来公知の方法、例えばＢＩＳＴ、境界スキャン等はテストベクトルが非常に多量であるため、組み込むのが困難であり、大きな時間と場所が必要である。
【０００３】
１．１．２  標準プロセッサ
例えば公知の×８６シリーズ、ＭＩＰＳまたはＡＬＰＨＡのような標準プロセッサは複数の演算機構を有しており、これらは時間的にずらされて、またはＶＬＩＷ命令により同時に制御される。将来、集積される計算ユニット（整数ユニット）と浮動小数点演算機構（浮動小数点ユニット）の数はさらに上昇するである。各演算機構を十分にテストし、十分にエラーのないものにしなければならない。
【０００４】
１．２  問題
１．２．１  演算機構からなる多次元アレイ
エラー確率の上昇によってチップが大きい場合には、非常に少数のセルしか集積できないか、または破棄品の発生により製造コストが甚だしく増大する。チップが非常に大きい場合には、それ以上機能するチップを製造できないという最大面積に達する。従来の方法による検査時の時間消費によって、検査コストが大きく上昇する。組み込まれたＢＩＳＴ機能（Build In Self Test）は高い付加コストために非常に大きな面積を浪費する。このことはさらにコストを引き上げ、生産性を低減する。とりわけ、欠陥が本来の機能ユニットにではなく、テスト構造体に存在するという確率が大きく上昇する。
【０００５】
１．２．２  標準プロセッサ
演算機構の数が上昇することにより、エラー確率も上昇する。このことにより、破棄品も増大し、そのため製造コストが上昇する。面積の増大と、これに結び付いたトランジスタ量も増大し、使用時の故障確率が上昇する。
【０００６】
検査コストとＢＩＳＴ実現に関しては、すでに“演算機構からなる多次元アレイ”に対して述べたことが当てはまる。
【０００７】
１．３  本発明による改善、課題
本発明によれば、故障したセルを正常機能のものと置換し、これにより破棄品を低減することができる。ここで置換は、チップの製造時のテストシステムを用いて行うことができ、さらには使用者側でシステムが完全に構築されていても可能である。テストベクトルをＢＩＳＴ原理に従ってチップ内でも、新たな方法に従い構成ユニット外でも発生することができ、これにより面積およびコストが節約される。さらに、外部の付加的な工具をそのために必要とせずにどのようにチップの欠陥を自動的に修復できるかが記載されている。全テストおよび修復はチップの運転時間中に実行することができる。
【０００８】
２．  本発明の説明
２．１  本発明の詳細な説明
２．２．１  故障したセルの置換
セル群（別のＤＥ１９６５１０７５．９−５３ではＰＡＥと称される）には、付加的な、通常動作では使用されないＰＡＥが配属される（以下、ＰＡＥＲと称する）。セルは、いずれかの形式の演算機構、コンフィギュレート可能な（プログラム可能な）論理セル、または任意の機能の別のコアとすることができる。ＰＡＥの群分けとＰＡＥＲの配属の際には、ＰＡＥの列ごとまたは行ごとの群分けが行われる。なぜならこのことにより、網目化が簡単になるからである。将来のチップテクノロジーの観点から、３次元でのＰＡＥの群分けを示唆しておく。ＰＡＥの入力側の前にはマルチプレクサが接続されており、これにより行／列内にある第１のＰＡＥの入力側が行／列内にある第２のＰＡＥの入力側に接続することができる。ここではさらに第２のＰＡＥの入力側は第３のＰＡＥの入力側に接続することができ、最後のＰＡＥの入力側はＰＡＥＲの入力側に接続される。このことは、第１のＰＡＥが故障する場合、その機能を第２のＰＡＥによって、第２のＰＡＥの機能を第３のＰＡＥによって・・・等々と置換し、最後のＰＡＥの機能をＰＡＥＲによって置換することを意味する。行／列内にある１つのＰＡＥが故障すれば、その前にあるＰＡＥは通常のように接続され、故障したＰＡＥの箇所から全ての機能が１つのＰＡＥだけシフトされる。例えばＰＡＥ４が故障すれば、ＰＡＥ１...３はそれぞれの機能を実行し、一方、ＰＡＥ５の入力マルチプレクサはこれがＰＡＥ４のデータを受け取り、ＰＡＥ６の入力マルチプレクサがＰＡＥ５のデータを受け取り、そして最後にＰＡＥＲの入力側が最後のＰＡＥのデータを受け取るように接続される。
【０００９】
結果を再び網目化の正しい順序で供給するために、ＰＡＥの出力側には同様にマルチプレクサが設けられている。ここでＰＡＥ１の出力マルチプレクサは、ＰＡＥ１が故障していない限り、ＰＡＥ１をバスに接続する。故障している場合には、ＰＡＥ２の出力側をバスに接続し、ＰＡＥ２の代わりにＰＡＥ３をバスに接続し、最後のＰＡＥの代わりにＰＡＥＲを接続する。故障したＰＡＥが行／列の中央にあれば、出力のシフトは、入力側に対してすでに説明したのとまったく同じように行われる。
【００１０】
とりわけコンフィギュレーション可能な論理回路およびコンフィギュレーション可能な演算機構では、コンフィギュレーションデータを伝送し、コンフィギュレーションを制御するために付加的なバスシステムが存在する。このバスシステムは、この章で称されるバスに相応して同じようにマルチプレクサを介して接続されている。同じことが、演算機構がマトリクス状に構成されている場合（例えばシストリッシュプロセッサ、ＳＩＭＤ等）において命令がそれぞれに演算機構に書き込まれるバスシステムに対しても当てはまる。基本的に各バスまたは各信号はマルチプレクサを介して導かれる。故障確実性への要求に応じて、例えばクロック信号を、マルチプレクサを介して供給することができ、これにより場合により生じる短絡が予防される。またはクロック信号は直接、セルに供給することもできる。なぜなら、この種の故障は回避すべきではないからである。故障確実性の段階は構造的に、各信号または各バスに対する要求に相応して、個別に設定することができる。
【００１１】
２．１．１  故障したバスの置換
ゲート構造内でエラー補正するための前記の概念は、同じようにバスシステムに適用することができる。ここで複数のバス（バス１...バスｎ）には付加的バス（バスＲ）が配属される。バスの１つの故障すると（バスｄ）、この機能がこれの隣接バス（バス（ｄ＋１））により引き継がれる。隣接バス（バス（ｄ＋１））の機能はその隣接バス（バス（ｄ＋２））により引き継がれる、等々。ここで引き継ぐバスの方向は常に同じである。このことが、バスｎがバスＲにより引き継がれるまで行われる。
【００１２】
マルチプレクサ構造をバスシステムに適用した場合には、既存の接続構造とデータの方向に相応して、通常のマルチプレクサ、デコーダおよびゲート、トリステートゲート、または双方向マルチプレクサが使用される。
【００１３】
２．１．３  デコーダ
順次連続するマルチプレクサの２つの群が常に同じ状態を取れなければならないことは明らかである。すなわち、ＭＵＸ１＝ＭＵＸ２＝ＭＵＸ３＝...ＭＵＸｎ＝状態Ａであり、かつＭＵＸ（ｎ＋１）＝ＭＵＸ（ｎ＋２）＝ＭＵＸ（ｎ＋３）＝...＝ＭＵＸｍ＝状態Ｂである。
【００１４】
ＰＡＥが故障していなければ、ＭＵＸ１＝ＭＵＸ２＝ＭＵＸ３＝...ＭＵＸｍ＝状態Ａが当てはまる。
【００１５】
第１のＰＡＥが故障していれば、ＭＵＸ１＝ＭＵＸ２＝ＭＵＸ３＝...ＭＵＸｍ＝状態Ｂが当てはまる。
【００１６】
例えばＰＡＥ３が故障していれば、ＭＵＸ１＝ＭＵＸ２＝状態Ａ、ＭＵＸ３＝ＭＵＸ４＝...ＭＵＸｍ＝状態Ｂが当てはまる。この実施例では、ＰＡＥＲがＰＡＥｍに配属されている。すなわちＰＡＥＲはＰＡＥｍに直接隣接している。
【００１７】
従ってマルチプレクサの制御は次のように行われる。
【００１８】
【表１】
0004215393.tif 000002
【００１９】
ＰＡＥＲがＰＡＥ１に配属されていれば、順序ｍ...１が入れ替わる（故障したＰＡＥ１が0000...001に相応し、故障したＰＡＥｍが1111...111に相応する）。
【００２０】
従って故障したＰＡＥの番号を記憶し、これをデコーダに供給し、デコーダが上に示したテーブルに基づいてマルチプレクサの状態を制御するだけで十分である。
【００２１】
２．１．４  自己テストの実行
基本的に任意のテストストラテジーをこの方法に適用することができ、ここでは次の本発明の方法が特に適すると見なされる：
ＰＡＥからなるアレイに１つまたは複数のテストアルゴリズムがロードされ、このアルゴリズムが１つまたは複数のテストベクトルを計算する。アレイのエッジにはＰＡＥが比較器として接続され、これによりテストベクトルに基づいて計算された値が目標結果と比較される。
【００２２】
計算された結果が目標結果に相応しなければ、エラーが存在する。テストデータ、すなわちテストアルゴリズム、テストベクトルおよび目標結果はここでは内部または外部メモリに存在するか、または上位のユニットからロードされる。このテストストラテジーでは、各テストアルゴリズムを少なくとも２回計算する必要があり、ここでは２回目に、比較器として構成されたＰＡＥが別のエッジの１つ（有利には対向する）に接続され、テストアルゴリズムが全てのＰＡＥで実行されることを保証する。
【００２３】
同じように、比較器をＰＡＥアレイの内部に配置し、左と右で（上と下）それぞれ１つのテストアルゴリズムＡとＢがそれぞれ１つの結果ＡとＢを計算することも考えられる。ここで結果は比較器に供給され、一致しなければならない。テストアルゴリズムの形式に依存して、故障したＰＡＥをエラーに基づき追跡することも、追跡しないこともできる。アルゴリズムが追跡を支援していれば、故障したＰＡＥが存在するセル／列の相応のマルチプレクサ状態が変化され、それがマルチプレクサに供給される。テストに失敗したテストアルゴリズムは、エラーのないことを検査するために新たに実行される。構成ユニットにさらにエラーがあれば、場合により別のＰＡＥが故障しているか否かを検査しなければならない。ここで検査アルゴリズムの実行と、エラーに適合したマルチプレクサ状態の発生は相互的に行われる。通常、１つのテストアルゴリズムを実行するだけでは不十分である。むしろ、それぞれ複数のテストベクトルによりテストされる多数の異なるテストアルゴリズムを実行しなければならない。このようにしてのみ、最大のエラー識別率が達成される。
【００２４】
同時にバス網目化をテストアルゴリズムごとに変化しなければならない。これによりバスシステムも十分に検査される。テストアルゴリズムの種々の実施例については詳細には述べない。なぜならテストアルゴリズムは本発明の基本方法には重要でないからである。
【００２５】
２．１．５  自己テストの内部制御
ＤＥ１９６５１０７５．９−５３に記載の構成素子、ＤＰＧＡ、クレスアレイ、シストリックプロセッサ、およびＲＡＷマシーンのような構成ユニットは共通に、１つまたは複数のＰＡＥが配属された集積メモリであり、演算機構の機能を決定する。
【００２６】
ＢＩＳＴ基本原理に相応して、メモリはテストアルゴリズムまたはテストベクトルを含む領域（テストＭＥＭ）だけ拡張される。ここでこのメモリは固定的にＲＯＭの形態で、または繰り返し書き込み可能な（Ｅ）ＥＰＲＯＭ、フラッシュＲＯＭ，ＮＶ−ＲＯＭ等の形式で構成することができる。自己テストを実行するために、メモリ箇所へテストＭＥＭ内でジャンプし、そこにファイルされたテストルーチンが実行される（内部ドライブセルフテスト＝ＩＤＳＴ）。ここでメモリの拡張部（テストＭＥＭ）と、すでに説明した比較器に対する評価ユニット以外にはチップでＢＩＳＴに典型的なさらなる付加構成群は必要ない。
【００２７】
２．１．６  自己テストの外部制御
メモリ拡張部（テストＭＥＭ）上の構成群と、比較器の評価ユニットを減少することにより、さらに安価でスペースの節約された変形実施例が可能である。ここでは内部テストＭＥＭは実現されず、むしろ通常の内部メモリが外部からテストアルゴリズムとテストベクトルによりロードされる（外部ドライブセルフテスト＝ＥＤＳＴ）。すなわち、ＢＩＳＴテストデータは外部に移動され、通常のプログラムと見なされる。その後、テストアルゴリズムが実行される。択一的にテストアルゴリズムは、実行中にも連続的に外部メモリからロードし、デコードすることができる。単に、エラーチェックユニットだけをチップに集積すればよい。テストアルゴリズムとテストベクトルを外部からチップ内部メモリにロードするためには複数の手段がある。基本的にこの過程は、機能的に上位のＣＰＵまたは計算ユニット（ホスト）により行うことができる。ここでは、これらがテストデータ（テストアルゴリズムおよびテストベクトル）をチップにロードし（ダウンロード）、またはチップがテストデータを自動的に外部（デュアルポート）ＲＡＭまたは固定メモリ、例えばＲＯＭ、（Ｅ）ＥＰＲＯＭ、フラッシュＲＯＭ、ＮＶ−ＲＯＭ等からロードする。
【００２８】
２．１．７  実行時間中の機能検査
従来技術によるＢＩＳＴ方法は、自己テストを通常のようにリセットフェーズ中だけ実行する。すなわち、チップの電圧印加（スイッチオン）の直後に実行する。これとは反対に、本明細書に記載された方法をプログラムの実行時間中にチップで実行することも可能ないし有利である。例えばチップの完全なテストをリセットフェーズ中に実行し、既存のテストデータのそれぞれ一部をアプリケーションプログラムの実行中、ないしいわゆるアイドルサイクル中に実行することができる。アイドルサイクルは、プログラムがチップで実行されない時間、ないしはチップが待機状態にある時間である。このことは、アイドルサイクル中にテストアルゴリズムの１つに内部メモリでジャンプするか、ないしは外部メモリまたはホストから構成ユニットにロードすることにより簡単に可能である。ここでは、多数の既存のテストアルゴリズムおよびテストデータから１つまたは複数を選択することができる。選択されるテストデータの数はアイドルサイクルの長さに基づいて設定することができる。新たなテストデータは、アイドルサイクルが処理すべき新たなデータの到来により、または新たに処理すべきプログラムの１つにより、または別の要請により終了するまでロードすることができる。
【００２９】
別の手段は、アプリケーションプログラムの処理中にテストを実行するため、テストストラテジーをアプリケーションプログラムに固定的に組み込むことである。両方の場合とも、アレイに存在する関連データはテストアルゴリズムの呼び出し前に記憶される。データは内部メモリ領域（ＰＡＣＴ０４参照）または外部に接続されたメモリに確保しておくことができる。テストアルゴリズムを実行した後、データは通常のプログラム処理の前に書き戻される。
【００３０】
実行速度を向上させるための択一的実施例は、各レジスタ（Ｒｅｇ−ｎ、ｎ∈Ｎ）の他に付加的に、テストアルゴリズムにだけ使用されるレジスタ（ＴｅｓｔＲｅｇ−ｎ、ｎ∈Ｎ）を実現することである。テストアルゴリズムの実行前に、マルチプレクサ／デマルチプレクサ（ゲート）を介してＴｅｓｔＲｅｇ−ｎが接続され、テストに使用される。Ｒｅｇ−ｎは変化しないままである。テストアルゴリズムの実行後に、再びＲｅｇ−ｎが接続される。
【００３１】
そのデータが以降重要でなくなるセルだけを検査するようにテストストラテジーが構成されていれば、データの確保とロードを省略することができる。
【００３２】
２．１．８  故障したＰＡＥの番号の記憶
ＰＡＥ（またはバス）が欠陥と識別されると、それらの番号、すなわち配属されたマルチプレクサの状態ベクトル（欠陥識別）を記憶しなければならない。これは、１つにはマルチプレクサを制御するためであり、１つにはチップの再スタート（リセット）の際に直ちに使用できるようにするためである。
【００３３】
このために欠陥識別が、
１．チップ内部でプログラム可能固定メモリ（（Ｅ）ＥＰＲＯＭ、フラッシュＲＯＭ、ＮＶ−ＲＯＭ等）に記憶され、
２．外部でプログラム可能固定メモリ（（Ｅ）ＥＰＲＯＭ、フラッシュＲＯＭ、ＮＶ−ＲＯＭ等）に記憶され、
３．外部でホストに、実行すべきプログラム内において、そのプログラム可能固定メモリ（（Ｅ）ＥＰＲＯＭ、フラッシュＲＯＭ、ＮＶ−ＲＯＭ等）に、または他の記憶媒体（磁気的、光学的等）に記憶される。
【００３４】
２．１．９  マルチプレクサ状態の自動発生
通常は欠陥の識別の後、故障したセルが識別されたエラー特性に基づいて追跡される。このことは相応のテストアルゴリズムに、エラーを追跡するための付加的アルゴリズムが備わっている場合に限り可能である。ホストによりテストを制御する場合には、追跡がホストで実行可能である。しかしホストが存在しなければ、しばしば追跡手段を故障したチップ内に組み込むことができないか、または面倒である。解決策として、ロード可能なカウンタを各デコーダの前に組み込むことが提案される。通常の場合、カウンタには故障したＰＡＥの番号がロードされ、これに従いデコーダはマルチプレクサの状態を前述のように制御する。どのＰＡＥが故障しているか未知であれば、カウンタはＰＡＥ０またはＰＡＥｍから始めて、潜在的にエラーのある各ＰＡＥに応答することができる。これは、テストがそれぞれ実行された後、計数状態を１ＰＡＥだけ減分するか（ＰＡＥｍから計数的に）または増分（ＰＡＥ０から計数的に）し（実現形態に応じて）、このことを故障のあるＰＡＥに達し、テストが正常に終了するまで行うのである。このようにして達した計数状態は状態ベクトルとしてマルチプレクサの制御のために記憶され、これは故障したＰＡＥを表す。機能が正常なカウンタ状態が検出されなければ、別のエラー（場合により別の行／列またはバスエラー）が存在するか、または２つ以上のＰＡＥが故障している。カウンタを使用する際の欠点は、全可能性を、エラーのあるＰＡＥが発見されるまで置換しなければならないことである。
【００３５】
とりわけさらなる実現コストを必要とする別の手段は、ルックアップテーブルの使用である。ルックアップテーブルは、ちょうど実行されたテストアルゴリズムと発生したエラー状態に基づき、エラーチェックで相応に欠陥のあるＰＡＥを選択する。しかしこのためには、テストアルゴリズムとルックアップテーブルが相互に整合していなければならない。しかし整合についてはこれ以上立ち入らない。なぜなら整合は非常にチップ固有のものであり、基本原理に依存しないからである。
【００３６】
２．１．１０  標準プロセッサ（ペンティアム、ＭＩＰＳ，ＡＬＰＨＡ等）に対する特別な構成
現在および将来のプロセッサは多数の整数ユニットおよび浮動小数点ユニットを含む。従って前記の方法を直接、この構成素子に適用することができる。前記の方法ではそれぞれ１つの付加的ユニットが実現され、場合による欠陥のために使用される。プロセッサのテストは、製造業者で、コンピュータのスタート過程で、または同じように実行時間中に行うことができる。とりわけテストをブート過程中に、すなわちリセット後の計算器のスタート時に実行すると有利である。ブート過程は、ＰＣでいわゆるＢＩＯＳにより実行される。ここでは相応の状態ベクトルをマルチプレクサがプロセッサに、または外部メモリ、例えばＰＣ内部でバッテリーによりバッファされたリアルタイムタイマ（ＲＴＣ）にファイルすることができる。
【００３７】
３．  要約
本発明の方法により、欠陥のあるユニットを正常機能のユニットと交換することができる。ユニットは本明細書では演算機構として構成されているが、一般的にはチップの任意のユニットとすることができる。同時に自己テストを簡単かつ安価に、アプリケーションプログラムの実行前または実行中に行うことができる方法が示されている。これにより故障確実性を動作時にも格段に高めることができる。このことはとりわけ故障に対してクリティカルな適用、例えば自動車、航空機、宇宙船、または軍用に対してとりわけ重要である。
【００３８】
４．  図面の簡単な説明
以下の図面は、本発明の方法の実施例を説明するためのものである。
【００３９】
図１は、基本回路を示す。
【００４０】
図２は、ＰＡＥは故障していない。
【００４１】
図３は、ＰＡＥ１が故障している。
【００４２】
図４は、ＰＡＥｍが故障している。
【００４３】
図５は、ＰＡＥ３が故障している。
【００４４】
図６は、ＰＡＥＲを有するＰＡＥからなるアレイを示す。
【００４５】
図７は、エラートレランスのあるバスシステムを示す。
【００４６】
図７ａは、自己テスト原理の第１の部分を示す。
【００４７】
図７ｂは、自己テスト原理の第２の部分を示す。
【００４８】
図８ａは、外部ＲＯＭに集積されたＥＤＳＴを示す。
【００４９】
図８ｂは、外部ＲＡＭに集積されたＥＤＳＴを示す。
【００５０】
図９は、ＤＥ１９６５４８４６．２による内部制御ユニットに組み込まれたＢＩＳＴ機能を備えたチップ内部メモリの実施例を示す。
【００５１】
図１０は、エラートレランスのある標準プロセッサの実施例を示す。
【００５２】
図１１は、自己テストのフローチャートである。
【００５３】
図１２は、新たなマルチプレクサ状態ベクトルの発生のフローチャートである。
【００５４】
図１３は、アイドルサイクル中の自己テストのフローチャートである。
【００５５】
図１４は、アプリケーションプログラムに組み込まれた自己テストのフローチャートである。
【００５６】
図１５は、エラー補正のためのルックアップテーブルを示す。
【００５７】
図１６は、エラートレランスのあるバスシステムの実施例を示す。
【００５８】
図１７は、レジスタＲｅｇ−ｎをチップ内部メモリにテストアルゴリズムの実行前に確保する様子を示す。
【００５９】
図１８は、レジスタＲｅｇ−ｎを外部メモリにテストアルゴリズムの実行前に確保する様子を示す。
【００６０】
図１９は、テストアルゴリズム実行前の、Ｒｅｇ−ｎの遮断とＴｅｓｔＲｅｇ−ｎの接続を示す。
【００６１】
４．１  図面の詳細な説明
図１は、エラートレランスのある回路の基本原理を示す。全てのＰＡＥ（０１０１）は一列に配置されており、最後のＰＡＥには付加的なＰＡＥＲ（０１０２）が配属されている。第１のＰＡＥの前には直列にゲート（０１０３）が接続されている。このゲートは、このＰＡＥが故障している場合にこのＰＡＥへのデータを阻止する。同じようにＰＡＥＲ（０１０２）の前にはゲート（０１０５）が接続されている。このゲートは、ＰＡＥＲが必要ない場合（または故障している場合）にこのＰＡＥＲへのデータを阻止する。２つのゲート（０１０３と０１０５）はオプションであり必ずしも必要ではない。多数の個々の信号から統合される入力バス（０１１１）はマルチプレクサ（０１０４）とゲート（０１０３と０１０５）を介してＰＡＥに導かれる。ここでデータは故障した個所からそれぞれ１ＰＡＥだけ右へ、ＰＡＥＲまでシフトすることができる。多数の個々の信号から統合される出力バス（０１１２）には同じようにマルチプレクサ（０１０６）が前置接続されている。これらのマルチプレクサは、故障があった場合に結果を再び１位置だけ左にシフトする。これによりエラーはバスシステム（１０１２全ての集合）に対して識別されない。それぞれのマルチプレクサとゲートに対する個々の制御信号（０１１７）は１つのバス（０１１０）に統合される。この信号はデコーダ（０１０７）により発生される。デコーダは欠陥のあるＰＡＥの番号をユニット０１０８から受け取る。このユニットはレジスタまたはロード可能なカウンタとして構成されている。エラーチェックにより発生されたエラーからルックアップテーブルを使用して、欠陥のあるＰＡＥを検出する場合、０１０８はレジスタとして実現され、このレジスタに故障したＰＡＥの番号がロードされる。エラーのあるＰＡＥが置換を介して探索されるなら、０１０８はロード可能なカウンタとなり、０から始まって欠陥を発見するまで可能な全てのＰＡＥを計数する。欠陥が既知であれば、この欠陥は次のリセット過程で直接、ロード可能なカウンタへロードされる。カウンタまたはレジスタ（０１０８）をロードするために、ロード信号ＬＯＡＤ（０１１５）が使用される。カウンタをカウントアップするために信号ＣＯＵＮＴ（０１１６）がカウンタに供給される。信号０１１４を介してカウンタの結果が記憶のためフィードバックされる。カウンタ／レジスタの制御と時間経過の制御は図示しない状態マシン、外部ホスト、またはＤＥ１９６５４８４６．２に記載の装置に引き継がれる。
【００６２】
図２には、マルチプレクサ（０１０４と０１０６）並びにゲート（０１０３と０１０５）の状態が示されている。ここではＰＡＥは故障しておらず、ＰＡＥＲ（０１０２）は使用されない。
【００６３】
図３には、マルチプレクサ（０１０４と０１０６）並びにゲート（０１０３と０１０５）の状態が示されており、ここではＰＡＥ１（０３０１）が故障しており、ＰＡＥＲ（０１０２）が使用される。
【００６４】
図４には、マルチプレクサ（０１０４と０１０６）並びにゲート（０１０３と０１０５）の状態が示されており、ここではＰＡＥｍ（０４０１）が故障しており、ＰＡＥＲ（０１０２）が使用される。
【００６５】
図５には、マルチプレクサ（０１０４と０１０６）並びにゲート（０１０３と０１０５）の状態が示されており、ここではＰＡＥ３（０５０１）が故障しており、ＰＡＥＲ（０１０２）が使用される。
【００６６】
図６は、ＰＡＥ（０６０１）からなるアレイを示す。ここで各ＰＡＥ列には１つのＰＡＥＲ（０６０２）が配属されており、各列は別個の制御部（０１０９，図１参照）を有する。ここでは複数の制御部を、列の上位のただ１つの制御部に統合することもできる。
【００６７】
図７ａは、アルゴリズムの可能な第１のテストを示す。ここでは複数のＰＡＥが計算素子（０７０１）として構成されており、計算素子はそれぞれの演算をテストベクトルを介して実行する。ここでＰＡＥは、任意の構成のバスシステム（０７０８）を介して相互に接続されている。ＰＡＥ（０７０２）の列は比較器として構成されている。計算素子で算出された値は比較器で所定の値と比較される。２つの値が一致しなければ、エラーが存在している。比較結果はバスシステム（０７０５）を介してマルチプレクサ（０７０３）に供給される。マルチプレクサ（０７０３）は、これが（０７０２）からの比較結果を、任意に構成されたユニット（エラーチェック０７０６）に、エラーの検出のためおよび場合によりその評価のためにさらに送出するように接続されている。エラー評価部（０７０６）はその結果をバス（０７０７）を介してホストまたは制御中の状態マシンにさらに送出する（図１参照）。
【００６８】
図７ｂは、ＰＡＥからなる同じマトリクスを介した第２のテストを示す。このテストは図７ａと同じように実行される。実行すべきアルゴリズムは同じであり、計算すべき値も同じである。しかし、列０７０２のＰＡＥが通常の計算素子として構成されており、前の図面（図７ａ）では演算機構として接続された第１の列のＰＡＥ（０７０１）が比較器（０７１１）として構成されている。バスシステムでのデータ流方向は１８０゜回転する。マルプレクサ（０７０３）は、（反転された）比較器（０７１１）の結果がエラー評価部（０７０６）にさらに導通されるよう接続されている。比較器の反転（０７０２と０７１１）により、各ＰＡＥを実際にその機能について検査できるようになる。反転されないとしたなら、ＰＡＥ列（０７０２または０７１１）では比較器の機能しか検査されず、各任意の機能は検査されない。
【００６９】
図７ａと図７ｂに基づく別の方法を実現することが有利な場合もある。ここではマトリクスが３つの群に分割される。すなわち上側群、中央群、下側群である。上側群と下側群では結果が計算され、上側群のデータ流は下方へ、下側群のデータ流は上方へ向けられる。中央群は比較器として構成されており、上側群の計算値を下側群の計算値と比較する。通常の場合、上側群と下側群は同じ計算を実行する。比較器における結果が相違していれば、エラーが存在する。この方法でも、比較器として接続されたＰＡＥが次のコンフィギュレーションではエラーの無いことについて十分に検査されることに注意すべきである。
【００７０】
図８は、チップ（０８０１）をテストするための可能な接続を示す。テストデータはここでは外部に記憶されている（ＥＤＳＴ）。
【００７１】
図８ａでは、テストデータが外部固定メモリ（（Ｅ）ＰＲＯＭ、ＲＯＭ、フラッシュＲＯＭ等）（０８０２）に記憶されている。データはＲＡＭ（０８０８）にあり、ＲＡＭを介してデータはホスト（０８０５）と交換される。欠陥のあるＰＡＥを記憶するために、すなわちマルチプレクサの状態ベクトルを記憶するために、不揮発性書き込み／読み出しメモリ（ＮＶ−ＲＡＭ，ＥＥＰＲＯＭ、フラッシュＲＯＭ等）（０８０７）が使用される。
【００７２】
図８ｂでは、テストデータがホスト（０８０５）からＲＡＭメモリ（０８０３）の一部にロードされ、そこから実行される。データはＲＡＭ（０８０８）にあり、ＲＡＭを介してデータはホスト（０８０５）と交換される。同じように、チップ自体がデータをメモリ領域（０８０３，０８０８）に、例えば大容量メモリから直接ロードすることも可能である（ホストを使用せずに）。欠陥のあるＰＡＥを記憶するために、すなわちマルチプレクサの状態ベクトルを記憶するために、不揮発性書き込み／読み出しメモリ（ＮＶ−ＲＡＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭ等）（０８０７）が使用される。
【００７３】
図８ａ／８ｂでチップにより発生されたエラーは構成素子から取り出され、外部で使用される（０８０４）。図８ｃでは、テストデータはステップごとにホスト（０８０５）からチップ（０８０１）へ、適切なインタフェース（０８０６）を使用して伝送される。チップは場合によりエラー状態（０８０４）を、インターフェース（０８０６）を通してホストに指示する。データはＲＡＭ（０８０８）にあり、これを介してデータはホスト（０８０５）と交換される。
【００７４】
図９は、ＤＥ１９６５４８４６．２によるチップ内部プログラムメモリないしコンフィギュレーションメモリを、本発明の方法のＢＩＳＴ機能で拡張した様子を示す。ここで従来技術による通常のメモリ領域（０９０１）は、通常はＲＯＭとして実現される固定メモリ領域（０９０２）により拡張される。ＲＯＭは（Ｅ）ＥＰＲＯＭ、フラッシュＲＯＭ、ＮＶ−ＲＡＭ等として実現することもできる。ここにはテストデータ、すなわちテストアルゴリズムとテストベクトルが記憶されている。メモリの端部には別のメモリ領域（０９０３）が追加されている。この別のメモリ領域の容量は小さく、欠陥のあるＰＡＥおよび／または欠陥のあるバスのアドレスを記憶し、これらはカウンタ／レジスタ（０１０８）にロードされる。このメモリ領域は不揮発性書き込み／読み出しメモリ（フラッシュＲＯＭ、ＥＥＰＲＯＭ、ＮＶ−ＲＡＭ等）として構成されている。このことにより、データをリセットの際に読み出し、修復可能なエラーが検出されるテストアルゴリズムの経過後に、このデータを瞬時のデータにより上書きすることができる。このデータは各実施形態に応じて、カウンタ（０１０８，バス０１１４）またはルックアップテーブルから送出される。
【００７５】
図１０は、エラー除去が実現された標準プロセッサの実施例を示す。バスインターフェース（１００１）を介して従来技術によるプロセッサはその端末と接続されている。バスインターフェースには２つのマルチプレクサ（１００４，１００５）が配属されており、１００２は２つの択一的コードキャッシュ（１００４，１００５）を、１００３は２つの択一的コードキャッシュ（１００６，００７）を、それぞれキャッシュの一方だけが使用されるように制御する。このようにしてそれぞれ１つのキャッシュだけが欠陥の補償に使用され、これをマルチプレクサを介して作動することができる。コードキャッシュはマルチプレクサ（１００８）を介してプロセッサのコントロールユニット（１００９）に導かれる。コントロールユニットはこの実施例では１つだけ存在する。コントロールユニットにより整数演算機構（１０１０，１０１１，１０１２）と浮動小数点演算機構（１０１３，１０１４，１０１５）が制御される。ここではそれぞれ２つの演算機構が動作に使用され、第３の演算機構は演算機構のそれぞれ１つが故障した場合に使用される。双方向マルチプレクサ（１０１６，１０１７）を介してそれぞれ２つの整数演算機構がデータバス（１０１８）に接続され、双方向マルチプレクサ（１０１９，１０２０）を介してそれぞれ２つの浮動小数点演算機構がデータバス（１０１８）に接続される。データバスは双方向マルチプレクサ（１０２１）を介してデータキャッシュと接続されている。マルチプレクサ１００３も同じように双方向に構成されている。ここでマルチプレクサの制御はすでに説明した方法に従って行われる。マルチプレクサ１００２，１００８，マルチプレクサ１００３，１０２１，マルチプレクサ１０１６，１０１７，並びにマルチプレクサ１０１９，１０２０はそれぞれ独立した群を形成する。
【００７６】
エラーの場合には、例としてのプロセッサ内で前記の方法に従い、データキャッシュおよびコードキャッシュ、並びにそれぞれ浮動小数点演算機構と整数演算機構を置換することができる。
【００７７】
自己テストの経過が図１１に示されている。ここでは変数ｎ，ｎ∈（１，２，...）、全てのアルゴリズムの指数、および瞬時に適用されるアルゴリズムが定義される。各アルゴリズムは、図７ａに相応する第１の位置（１１０１）および図７ｂに相応する第２の反転位置（１１０２）に存在する。変数ｍ、ｍ∈（１，２，...）は、計算し比較すべきテストベクトルの指数である。各アルゴリズム内で、テストベクトルの集合が完全にテストされ、その後アルゴリズムが１１０１から１１０２へ、または１１０２から新たなアルゴリズム（ｎ＝ｎ＋１）へ変更される。ｎが最後に有効なアルゴリズムの値に達すると、テストが中止される。テストベクトルの計算（１１０３，１１０４）の間にエラーが検出されると、エラー処理が実行される。このエラー処理は図１２ａ，ｂで詳細に説明する。エラー処理が成功すると、全てのアルゴリズムが新たにテストされる。これにより、新たなエラーが補正によって発生しないことが保証され、基本的に瞬時にアクティブなアルゴリズムの箇所からさらにテストを行うことができる。
【００７８】
エラー処理のために２つの方法が提案される。図１２ａは、カウンタを介した新たなマルチプレクサ状態の発生を示す。ここで変数ｖ、ｖ∈（０，１，...（ＰＡＥの数））は、欠陥のあるＰＡＥの番号である。ＰＡＥが故障していなければ、ｖ＝０が当てはまる。まずＰＡＥ１から始まって次のＰＡＥへ、故障としてマーキングされるまでｖが高められる。その後、失敗したテストが再度実行される。テストが正しく終了すれば、ＰＡＥｖが故障しており、ｖが不揮発性書き込み／読み出しメモリ（例えば０９０３）に書き込まれることが保証される。テストが再度失敗すれば、テストが正しく終了するか、またはｖが最後のＰＡＥの後の位置に達するまで高められる。ｖが最後まで達することにより、ＰＡＥにエラーのある群を補正することができないことが証明される。これは、エラーが別の箇所（例えばバスシステム）にあるか、または２つ以上のＰＡＥが故障しているからである。
【００７９】
図１２ｂは、時間コストの少ない手段を示す。ここではすでに説明したルックアップテーブルが組み込まれている。ルックアップテーブルは入力値として指数ｍとｎ、並びにエラーを検出した比較器の番号を受け取る。この番号は、エラーチェック（０７０６）からバス０７０７を介して送出される。ルックアップテーブルは、欠陥のあるＰＡＥの番号ｖをフィードバックする。その後、失敗したテストが再度実行される。テストが正しく終了すれば、ＰＡＥｖが故障しており、ｖが不揮発性書き込み／読み出しメモリ（例えば０９０３）に書き込まれることが保証される。テストが再度失敗すれば、修復不能なエラーが存在することが仮定される。通例のテストアルゴリズムでは、欠陥のあるＰＡＥの列を識別することはできるが、行を識別することはできない。従って欠陥のあるＰＡＥｖの列は簡単に検出できるが、多数の行のどこに欠陥のあるＰＡＥがあるかは未知である。従ってそのような場合には、図１２ａ，ｂのエラー処理を、テストアルゴリズムの計算に関与した全ての行にわたって、エラーが検出されるかまたは全行が探査されるかし、エラーを補正することができなくなるまで実行する必要がある。
【００８０】
図１３は、アイドルサイクル中のチップテストの手段を示す。アイドルサイクルとは、その間はプログラムが実行されないサイクルである。なぜなら実行すべきアクション（例えばキーボード入力）が予期されるからである。通常この種のサイクルはプログラムコード中の待機ループによって表現される。このような待機条件が存在する場合には、待機時間中にチップのテストを実行するテストルーチンを簡単に呼び出すことができる。ただしこの場合は、予期されるアクションに対しリアルタイムで応答することはもはやできない。図１１から既知の指数ｍとｎは図１３でも同じ意味を受け継ぐ。しかし指数はデータメモリにファイルされる。アレイで関連する全てのデータはテストルーチンの呼び出しの前に確保され、テストルーチンの実行後に再びレストアされる。テストルーチンの呼び出しの際に、指数はまずデータメモリからロードされる。その後、相応のアルゴリズムが相応のテストベクトルにより実行される。結果にエラーがあれば、図１２ａ，ｂによるエラー処理が行われる。それ以外の場合、指数が新たに計算され、データメモリに書き戻される。続いて、さらにアイドル状態が存在しているか否か、すなわちアクションを待機しているか否かが検査される。相変わらずアイドル状態が存在していれば、テストルーチンに新たにジャンプする。ただしこの場合は、別の計算がすでに実行された指数の新たな計算に従って実行される。アイドル状態が存在しなければ、プログラムが通常のようにさらに実行される。
【００８１】
図１４には、図１３からの可能な変形実施例が示されている。この変形実施例では、テストルーチンが直接アプリケーションプログラムから呼び出される（cal TEST＿CHIP(m,n)）。テストルーチンは所定の適切なポイントでアルゴリズムに呼び出される。アレイで関連する全てのデータは前もって確保され、テストルーチンの実行後にレストアされる。指数ｍ，ｎは直接、呼び出しの際に共に伝送される。ルーチンTEST＿CHIP内で、アルゴリズムｎがデータｍにより実行される。エラーテストは図１１と図１３に従って行われる。TEST＿CHIPの終了時に指数は、図１１および図１３とは異なり新たに計算されない。ルーチンTEST＿CHIPからのリターンジャンプにより呼び出し“call TEST＿CHIP”の後の位置に直接ジャンプする。これは標準ＢＡＳＩＣの GOSUB.....RETURN と同じである。
【００８２】
ルックアップテーブルの可能な制御が図１５に示されている。ルックアップテーブル（１５０１）はＲＯＭとして実現されている。指数ｍ，ｎ、すなわち瞬時に実行されたテストアルゴリズムの識別子、瞬時のテストデータの識別子、並びにエラーチェックユニット（０７０６）の結果（０７０７）がＲＯＭにアドレス（１５０２）として供給される。ここから得られるデータは欠陥のあるＰＡＥの番号を表す。この番号はレジスタ（０１０８）に伝送される。
【００８３】
図１６には、エラートレランスのあるバスシステムが示されている。ここでは多数の同じバス（１６０１）に付加的バス（１６０２）が配属されている。バスシステムは４つ全ての方向に端子を有する。マルチプレクサ（１６０３）を介して端子はバスに、バスの故障の際にこのバスの機能が隣接する（水平方向で下にある、または垂直方向で右にある）バスに引き継がれるように接続される。ここで所定のバスに接続された全てのマルチプレクサは同じ制御装置により制御される。例えばバス１６０１ａに接続されたマルチプレクサ１６０３ａは制御線路１６０４ａにより制御される。制御線路１６０４は、図１の０１０９に相応するユニットにより制御される。さらなる制御およびエラー処理は基本的に前の図面で説明したのと同じである。
【００８４】
図１７は、チップ内部ＲＡＭまたＲＡＭ領域（１７０１）とセル（１７０２）の群との対応関係を示す。テストアルゴリズムの実行の前に、セル（１７０２）の内部レジスタがＲＡＭまたはＲＡＭ領域（１７０１）に記憶される。テストアルゴリズムを実行した後、データはセルの内部レジスタに書き戻される。データの書き込みおよび読み出しはマルチプレクサ／ゲート（０１０３，０１０４および０１０５）を介して行われる。これにより欠陥のあるセルから発したデータはマルチプレクサの位置に従って、置換のために接続されたセルに書き込まれる。ユーザーアルゴリズムの経過がテスト方法によって損なわれることはない。
【００８５】
図１８は図１７のシステムを表す。しかしチップ（１８０１）のセルのデータが外部メモリ（１８０２）に書き込まれ、外部メモリから読み出される。
【００８６】
図１９には、明示的なテストレジスタＴｅｓｔＲｅｇ−ｎが示されている。セル（１９０２）の各内部レジスタＲｅｇ−ｎには、テストアルゴリズムに対して使用されるレジスタＴｅｓｔＲｅｇ−ｎ（１９０３）が配属されている。デマルチプレクサ（ゲート）（１９０１）を介してどのレジスタに書き込むかが選択され、マルチプレクサ（１９０４）を介してどのレジスタから読み出すかが選択される。ここで（デ）マルチプレクサ（１９０１，１９０４）の制御は、通常動作時、すなわちユーザーアルゴリズムの経過中に、Ｒｅｇ−ｎ（１９０２）が選択され、テストアルゴリズムの実行中にＴｅｓｔＲｅｇ−ｎ（１９０３）が使用されるように行われる。図１９の回路は、セル内の各関連するレジスタに対して実現される。この回路の欠点は、欠陥のあるセルのデータが代替として接続されたセルで使用できないことである。この欠点を解消するために、前記の（デ）マルチプレクサ（１９０１，１９０４）によって付加的な接続が、本発明の基本原理（０１０３，０１０４および０１０５）に相応して実現される。これによりデータ全体を代替セルで使用することができる。
【００８７】
概念定義
ユーザーアルゴリズム  チップ上で走るユーザー固有のプログラム。
【００８８】
出力マルチプレクサ  リレーに似た回路で、ＰＡＥの出力側に接続するバスを複数のバス間で選択する。
【００８９】
ＢＩＳＴ  Build In Self Test.集積回路に実現された自己テスト、すなわちテストＭＥＭと全てのテスト機能が集積回路に含まれている。
【００９０】
ブート  リセット後に行われる基本プログラムのロードと基本機能の調整。
【００９１】
バス  共に所定の伝送機能を満たす複数の個々の信号／個々の線路からなる束（データバス、アドレスバス...）。
【００９２】
ＥＤＳＴ  External Driven Self Test.集積回路に実現された自己テストで、テストＭＥＭが集積回路の外に接続されており、制御の一部も回路の外で行うことができる。
【００９３】
入力マルチプレクサ  リレーに似た回路で、ＰＡＥの入力側に接続するバスを複数のバス間で選択する。
【００９４】
エラーチェック  集積構成素子内で実現された回路であり、エラーをＢＩＳＴまたはＥＤＳＴ中に識別し、位置決めする。
【００９５】
ホスト  集積回路の上位の構成群またはコンピュータ。
【００９６】
アイドル  プロセッサまたは類似の回路がアクションを待機し、処理を実行しない状態。
【００９７】
ルックアップテーブル  固定的に定義された、任意の幅のデータ語をアドレスに基づいて送出するメモリであり、少なくともＲＯＭまたはＲＯＭに類似のメモリとして実現される。
【００９８】
隣接バス  別のバスに直接隣接し、同じ構造を有するバス。
【００９９】
ＰＡＥ  ＤＥ１９６５１０７５．９−５３によるプロセッシングアレイ素子。ＰＡＥは特許願ＤＥ１９６５１０７５．９−５３では、計算機構として示されているが、この概念は本明細書では一般的に、例えば計算機構、状態マシン、メモリである任意のセルに対して使用される。
【０１００】
ＰＡＥＲ  集積回路に付加的に実現されたセルであり、同じ構造形式の欠陥のあるセルを置換するために使用することができる。
【０１０１】
リセット  集積回路を所定の基本状態にもたらすセットまたはリセット。一般的に電圧の印加（スイッチオン）後に行われる。
【０１０２】
自己テスト  集積回路で実現される自動的なテスト方法。
【０１０３】
目標結果  集積回路の正当性を証明するためテストアルゴリズムから送出すべき結果。目標結果が計算と一致しなければエラーが存在する。
【０１０４】
テストアルゴリズム  集積構成素子をテストするアルゴリズム。全ての数学的機能および接続を検査する。
【０１０５】
状態マシン  複雑な演算、シーケンスをフロー制御するためのステートマシン。
【０１０６】
テストアルゴリズム  構造体のチップまたはセルをテストするためのプログラム。
【０１０７】
テストデータ  すべてのテストアルゴリズム、テストベクトルおよび目標結果の集合。
【０１０８】
テストＭＥＭ  テストデータがファイルされているメモリ。
【０１０９】
テストルーチン  テストアルゴリズム内の個々のプログラム部分。
【０１１０】
テストベクトル  テストアルゴリズムを実行するデータ。
【０１１１】
ゲート  データをさらに伝送または阻止する（ゲート）スイッチ。
【０１１２】
セル  集積回路内のそれ自体閉じられた構成群、例えば計算機構、状態マシン、メモリ。
【図面の簡単な説明】
【図１】  基本回路の概略図。
【図２】  ＰＡＥが故障していない場合の概略図。
【図３】  ＰＡＥ１が故障している場合の概略図。
【図４】  ＰＡＥｍが故障している場合の概略図。
【図５】  ＰＡＥ３が故障している場合の概略図。
【図６】  ＰＡＥＲを有するＰＡＥからなるアレイの概略図。
【図７ａ】  自己テストの第１の部分を示す概略図。
【図７ｂ】  自己テストの第２の部分を示す概略図。
【図８】  ＥＤＳＴのそれぞれの実施例を示す概略図。
【図９】  ＢＩＳＴ機能を有するチップ内部メモリの実施例の概略図。
【図１０】  エラートレランスな標準プロセッサの概略図。
【図１１】  自己テストのフローチャート。
【図１２】  新たなマルチプレクサの状態ベクトルの発生フローチャート。
【図１３】  アイドルサイクル中の自己テストのフローチャート。
【図１４】  アプリケーションプログラムに組み込まれた自己テストのフローチャート。
【図１５】  エラー補正のためのルックアップテーブル。
【図１６】  エラートレランスなバスシステムの実施例。
【図１７】  レジスタＲｅｇ−ｎをチップ内部メモリに、テストアルゴリズムの実行前に確保する様子を示す概略図。
【図１８】  レジスタＲｅｇ−ｎを外部メモリに、テストアルゴリズムの実行前に確保する様子を示す概略図。
【図１９】  テストアルゴリズム実行前のＲｅｇ−ｎの遮断とＴｅｓｔＲｅｇ−ｎの接続を示す概略図。
【図１】
0004215393.tif 000003
【図２】
0004215393.tif 000004
【図３】
0004215393.tif 000005
【図４】
0004215393.tif 000006
【図５】
0004215393.tif 000007
【図６】
0004215393.tif 000008
【図７ａ】
0004215393.tif 000009
【図７ｂ】
0004215393.tif 000010
【図８ａ】
0004215393.tif 000011
【図８ｂ】
0004215393.tif 000012
【図８ｃ】
0004215393.tif 000013
【図９】
0004215393.tif 000014
【図１０】
0004215393.tif 000015
【図１１】
0004215393.tif 000016
【図１２】
0004215393.tif 000017
【図１３】
0004215393.tif 000018
【図１４】
0004215393.tif 000019
【図１５】
0004215393.tif 000020
【図１６】
0004215393.tif 000021
【図１７】
0004215393.tif 000022
【図１８】
0004215393.tif 000023
【図１９】
0004215393.tif 000024