(57)【特許請求の範囲】
【請求項１】
半導体メモリに故障が発生した際にデータに生じる誤りを補償する冗長回路と、
前記半導体メモリ内の故障にかかる不良データの桁を指定する不良データ桁指定手段と
を備え、
前記冗長回路は、
前記半導体メモリの複数桁のデータの夫々に対応して接続される複数の信号線と、
前記信号線に隣接される予備線と、
前記複数の信号線のうち、前記不良データ桁指定手段にて不良ビットであると指定された桁に対応する信号線を境とする一方向側の信号線に関して二値のうちの一方の値を出力し、他方向側の信号線に関して二値のうちの他方の値を出力する二値信号指定部と、
前記二値信号指定部からの二値信号に基づいて、前記不良データ桁指定手段にて不良ビットであると指定された桁に対応する信号線の接続を外し、端部の信号線を前記予備線に切換接続するとともに他の信号線を当該他の信号線に隣接する信号線に順次切換接続するセレクタ群と
を備え、
前記不良データ桁指定手段は、前記不良データの桁に対応して二値のうちの一方の値を保持し、かつ他の桁に対応して二値のうちの他方の値を保持する二値データ保持手段であり、
前記セレクタ群は、
互いに隣合う信号線を選択する複数の一次セレクタ部と、
前記複数の一次セレクタ部の出力端子を選択する二次セレクタ部と
を備え、
前記二値信号指定部は、
前記セレクタ群の前記一次セレクタ部を切り換える一次制御回路と、
前記セレクタ群の前記二次セレクタ部を切り換える二次制御回路と
を備え、
前記一次制御回路は、前記半導体メモリの複数桁のうち少なくとも一部に対応する複数の一次論理積回路を有し、
前記複数の一次論理積回路の一の入力端子は、前記二値データ保持手段の対応する桁に夫々接続され、
前記複数の一次論理積回路の他の入力端子は、当該一次論理積回路の大桁側および小桁側の一方に隣接する一次論理積回路の出力端子に順次接続され、
前記二次制御回路は、前記複数の一次論理積回路のうち少なくとも一部に対応する複数の二次論理積回路を有し、
前記複数の二次論理積回路の一の入力端子は、対応する前記一次論理積回路に接続され、
前記複数の二次論理積回路の他の入力端子は、当該二次論理積回路の大桁側および小桁側の他方に隣接する二次論理積回路の出力端子に順次接続される、半導体メモリの検査装置。
【請求項２】
半導体メモリに故障が発生した際にデータに生じる誤りを補償する冗長回路と、
前記半導体メモリ内の故障にかかる不良データの桁を指定する不良データ桁指定手段と
を備え、
前記冗長回路は、
前記半導体メモリの複数桁のデータの夫々に対応して接続される複数の信号線と、
前記信号線に隣接される予備線と、
前記複数の信号線のうち、前記不良データ桁指定手段にて不良ビットであると指定された桁に対応する信号線を境とする一方向側の信号線に関して二値のうちの一方の値を出力し、他方向側の信号線に関して二値のうちの他方の値を出力する二値信号指定部と、
前記二値信号指定部からの二値信号に基づいて、前記不良データ桁指定手段にて不良ビットであると指定された桁に対応する信号線の接続を外し、端部の信号線を前記予備線に切換接続するとともに他の信号線を当該他の信号線に隣接する信号線に順次切換接続するセレクタ群と
を備え、
前記不良データ桁指定手段は、前記不良データの桁に対応して二値のうちの一方の値を保持し、かつ他の桁に対応して二値のうちの他方の値を保持する二値データ保持手段であり、
前記セレクタ群は、
互いに隣合う信号線を選択する複数の第１層セレクタ部と、
前記複数の第１層セレクタ部の出力端子を選択する第２〜Ｎ層セレクタ部（ただしＮは２以上の整数）と
を備え、
前記二値信号指定部は、前記セレクタ群の前記第１〜Ｎ層セレクタ部を切り換える第１〜Ｎ層制御回路を有し、
前記第１層制御回路は、前記半導体メモリの複数桁のうち少なくとも一部に対応する複数の第１層論理積回路を有し、
前記各第１層論理積回路の一の入力端子は、前記二値データ保持手段の対応する桁に夫々接続され、
前記各第１層論理積回路の他の入力端子は、当該第１層論理積回路の大桁側および小桁側の一方に隣接する論理積回路の出力端子に順次接続され、
前記第２〜Ｎ層制御回路は、
前記第１〜（Ｎ−１）層制御回路の各第１〜（Ｎ−１）層論理積回路からの信号に基づいて、前記不良データ桁指定手段の隣接する二値データ保持手段を切り換える複数の制御用セレクタと、
該制御用セレクタに対応する複数の第２〜Ｎ層論理積回路と
を少なくとも夫々有し、
前記各第２〜Ｎ層論理積回路の一の入力端子は、対応する前記制御用セレクタに接続され、
前記各第２〜Ｎ層論理積回路の他の入力端子は、当該第２〜Ｎ層論理積回路の大桁側および小桁側の一方に隣接する論理積回路の出力端子に順次接続される、半導体メモリの検査装置。
【請求項３】
前記二値データ保持手段は、前記半導体メモリのデータ桁に対応する桁数のレジスタである、請求項１または請求項２記載の半導体メモリの検査装置。
【請求項４】
前記二値データ保持手段は、データ帰還用のループ配線が設けられた複数のフリップフロップである、請求項１または請求項２記載の半導体メモリの検査装置。
【請求項５】
半導体メモリ内のデータ桁について複数のポートが夫々設定され、
前記各ポートに対して論理積をとり前記二値データ保持手段へ入力する論理積回路をさらに備える、請求項１、または請求項２記載の半導体メモリの検査装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のＲＡＭ、ＲＯＭ等を含んで構成された論理集積回路としての半導体メモリについて機能テストを行う検査装置に関する。
【０００２】
【従来の技術】
｛第１の従来例｝
図２２は例えばＵ．Ｓ．Ｐａｔｅｎｔ：４，９２６，４２４に示された二相クロック方式の第１の従来例の半導体メモリの検査装置のスキャンレジスタ４１４ａを示す回路図である。図２２において、４０１ａと４０１ｂはラッチ回路、４０２はセレクタ回路、４０８はセレクタ制御端子、４０９はシリアル入力端子、４１０はパラレル入力端子、４１１はパラレル出力端子、４１２はシリアル出力端子である。４１５と４１６は二相クロック方式のクロック端子、４１９はイクスクルーシブＮＯＲ回路（以下、ｅｘ．ＮＯＲ回路という）、４２０はＮＯＲ回路、４２１はＯＲ回路、４２２はテストクロック端子である。
【０００３】
次に動作について説明する。テストクロック端子４２２を‘Ｈ’レベルに固定すると、ＮＯＲ回路４２０の出力は‘Ｌ’レベルになるのでＯＲ回路４２１は一方のクロック端子４１５のレベルをそのままラッチ回路４０１ａのイネーブル端子ＥＮに伝える。従って、この場合には両クロック端子４１５，４１６に２相のクロック信号を与えることにより、シリアル入力端子４０９あるいはパラレル入力端子４１０に供給されたデータをシリアル出力端子４１２とパラレル出力端子４１１に伝えることができる。
【０００４】
一方、ＲＡＭなどの被テスト回路の読出しテスト時には、ラッチ回路４０１ａとラッチ回路４０１ｂに期待データをセットしておき、この状態でテストクロック端子４２２にクロック信号を与えることで、パラレル入力端子４１０のデータが期待データと異なるときのみラッチ回路４０１ａにパラレル入力端子のデータがラッチされ、ラッチ回路４０１ａの内容が反転する。
【０００５】
すなわち、期待データと異なったデータがＲＡＭなどの被テスト回路から読み出されパラレル入力端子４１０に加えられると、ラッチ回路４０１ａには期待データと異なったデータがラッチされるので、このラッチ回路４０１ａにラッチされたデータからＲＡＭなどの被テスト回路に異常があることを知ることが出来る。
【０００６】
図２３は、図２２に示したスキャンレジスタ４１４ａにより構成したスキャンパスを示すブロック図である。
【０００７】
｛第２の従来例｝
第２の従来例（特開昭６２−１９５５７２号公報、Ｕ．Ｓ．Ｐａｔｅｎｔ：４，８１３，０４３を参照）の半導体メモリの検査装置を図５７に示す。第２の従来例では、かかる検査装置として、疑似乱数（疑似ランダム系列）発生用アルゴリズミックパターン発生回路（リニアフィードバックシフトレジスタ回路：以下、ＬＦＳＲ回路と称す）が使用される。図５７中の５０１は基準となるデータを格納するベースデータレジスタ、５０２は定数演算を行う際の定数を供給する定数レジスタ、５０３はシフトイン機能が付与され種々の算術論理演算を行う算術論理演算ユニット（ＡＬＵ）、５０４はＡＬＵ５０３の入力を選択するセレクタ、５０５はＡＬＵ５０３の演算結果を保持するためのＡＬＵ出力レジスタ、５０６はビット選択レジスタ、５０７はＡＮＤ演算回路、５０８はパリティ検出回路である。
【０００８】
図５８は４ビットのＬＦＳＲ回路の一例を示す論理回路図である。図５８中の５０９は排他的論理和（Ｅｘ．ＯＲ）回路、５１０，５１１，５１２，５１３はフリップフロップ回路、ＣＬＫはクリック信号入力端子を夫々示している。排他的論理和回路５０９は図５７中のパリティ検出回路５０８に対応し、フリップフロップ回路５１０，５１１，５１２，５１３は図５７中のＡＬＵ出力レジスタ５０５に対応している。図５８では排他的論理和回路５０９に対して二個のフリップフロップ回路５１０，５１３から入力が行われているが、これは、図５７中のビット選択レジスタ５０６に対し１００１（二進法）が選択されていることに対応している。
【０００９】
かかる構成の第２の従来例のＬＦＳＲ回路では、ＡＬＵ出力レジスタ５０５の任意のビット郡に対してパリティ検出が行われ、その検出結果がＡＬＵ５０３における演算動作と同時にＡＬＵ５０３にシフトインされてＡＬＵ出力レジスタ５０５が更新され、複雑な疑似乱数のパターンが高速に発生される。ここで、第２の従来例のＬＦＳＲ回路では、機能テスト用アルゴリズミックパターンとして２n個の疑似乱数（疑似ランダム系列）を発生していた。
【００１０】
かかる第２の従来例のＬＦＳＲ回路をアドレス発生回路として用いて、全周期系列のテストデータを複数のＲＡＭのアドレス設定に用いた場合の動作を、図５９に基づいて説明する。図５９はアドレス入力系を示す図である。図５９中の５２１ａ〜５２１ｃはＲＡＭ、５２２ａ〜５２２ｃはＲＡＭ５２１ａ〜５２１ｃの機能テスト時に各ＲＡＭ５２１ａ〜５２１ｃのアドレスを選択するシフトレジスタ、５２３は第２の従来例のＬＦＳＲ回路（アドレス発生回路）を含むテストパターン発生回路、ＳＩＡは全シフトレジスタ５２２ａ〜５２２ｃに対してアドレス指定データを送信する共通配線である。そして、図５９の如く、一つのテストパターン発生回路５２３に複数のＲＡＭ５２１ａ〜５２１ｃが接続されている。なお、Ａ０〜Ａ４はＲＡＭ５２１ａ〜５２１ｃのアドレス入力端子であり、ＲＡＭ５２１ａは四端子入力、ＲＡＭ５２１ｂは五端子入力、ＲＡＭ５２１ｃは四端子入力とされている。
【００１１】
ＲＡＭ５２１ａ〜５２１ｃの機能テスト時には、まず、テストパターン発生回路５２３にてアドレス指定データを共通配線ＳＩＡに出力する。共通配線ＳＩＡに共通に接続されたシフトレジスタ５２２ａ〜５２２ｃは、送信されるアドレス指定データにてシフトインされ、ＲＡＭ５２１ａ〜５２１ｃのアドレスを選択する。
【００１２】
ここで、四個のアドレス入力端子Ａ０〜Ａ３をもつＲＡＭ５２１ａ，５２１ｃに対しては、テストパターン発生回路５２３にて四次の全周期系列を発生させ、これに基づいてＲＡＭ５２１ａ，５２１ｃのアドレス設定を行う。同様に、五個のアドレス入力端子Ａ０〜Ａ４を持つＲＡＭ５２１ｂについては、テストパターン発生回路５２３にて五次の全周期系列を発生させ、これに基づいてＲＡＭ５２１ｂのアドレス設定を行う。
【００１３】
｛第３の従来例｝
第３の従来例の半導体メモリの検査装置は、アドレス発生回路にてアドレスのインクリメントまたはディクリメントを行うものである。すなわち、図５９の如く、第２の従来例と同様のテストパターン発生回路（ＬＦＳＲ回路）５２３に、別部材としての一般的なカウンタを接続し、かかるカウンタとＬＦＳＲ回路５２３の連携動作にて冗長ビットのキャンセルを行う。
【００１４】
｛第４の従来例｝
第４の従来例の半導体メモリの検査装置を図１３２に示す。図１３２中の半導体メモリ（ＲＡＭ１、ＲＡＭ２およびＲＡＭ３）は、夫々データ出力用スキャンパスＤＯ（データ圧縮機能付スキャンＦＦ）を有しており、先行する半導体メモリのスキャンパスＤＯからの出力は、後続する半導体メモリに入力される。テスト時のテスト結果は、各スキャンパスのシフト動作にて行う。かかる半導体メモリの夫々について、テストに当たってデータの圧縮を行いたい場合には、ＳＩＮＨ信号（シフト禁止信号）を入力してスキャンパスＤＯのシフト動作を禁止していた。
【００１５】
｛第５の従来例｝
図１５７および図１５８は第５の従来例の冗長回路を示す図である。該冗長回路は、複数のメモリセルＣが接続された複数の信号線Ｌ１〜Ｌ４と、該複数の信号線Ｌ１〜Ｌ４に接続されたデコーダ（図示せず）とを有するものであって、複数のメモリセルＣが接続された少なくと１本の予備信号線Ｌ５を具備している。また、図１５７および図１５８中のＤ１〜Ｄ４はデコーダに接続される駆動回路である。
【００１６】
そして、図１５７および図１５８中のＳはスイッチ部、Ｓ１〜Ｓ４はスイッチ部Ｓ内の個々のスイッチング素子である。なお、スイッチング素子Ｓ１〜Ｓ４としてはトランジスタが用いられることが多かった。このうち、第１のスイッチング素子Ｓ１は、上記複数の信号線Ｌ１〜Ｌ４の中の第１の信号線Ｌ１に欠陥がある場合に、上記駆動回路Ｄ１と上記第１の信号線Ｌ１との間の接続を外し、かつ、上記デコーダの上記第１の信号線Ｌ１への上記駆動回路Ｄ１を上記第１の信号線Ｌ１と隣接した第２の信号線Ｌ２に接続する。また、第２のスイッチング素子Ｓ２は、上記複数の信号線Ｌ１〜Ｌ４の中の第２の信号線Ｌ２に欠陥がある場合に、上記駆動回路Ｄ２と上記第２の信号線Ｌ２との間の接続を外し、かつ、上記デコーダの上記第２の信号線Ｌ２への上記駆動回路Ｄ２を上記第２の信号線Ｌ２と隣接した第３の信号線Ｌ３に接続する。同様に、第３のスイッチング素子Ｓ３は、上記複数の信号線Ｌ１〜Ｌ４の中の第３の信号線Ｌ３に欠陥がある場合に、上記駆動回路Ｄ３と上記第３の信号線Ｌ３との間の接続を外し、かつ、上記デコーダの上記第３の信号線Ｌ３への上記駆動回路Ｄ３を上記第３の信号線Ｌ３と隣接した第４の信号線Ｌ４に接続する。さらに、第４のスイッチング素子は、上記デコーダの残りの上記駆動回路Ｄ４を上記予備信号線Ｌ５に接続する。
【００１７】
かかる構成では、欠陥の発生した複数の信号線Ｌ１〜Ｌ４を、順次予備の予備信号線Ｌ５から隣の複数の信号線へと接続してゆくことにより、欠陥のあるいずれかの信号線Ｌ１〜Ｌ４を外すことができる。
【００１８】
【発明が解決しようとする課題】
｛第１の従来例の課題｝
第１の従来例の二相クロック方式の半導体メモリの検査装置は、上記のように構成されているので、一対のクロック端子４１５，４１６に二相のクロック信号を与えることが必要であり、ＲＡＭなどの被テスト回路を高速でテストするときには、一対のクロック端子４１５，４１６に高速の二相クロック信号を与えるための複雑な駆動が可能なクロックドライバ回路が必要となる問題点があった。
【００１９】
この発明は上記課題に鑑み、二相クロック信号を与えるための複雑なクロックドライバ回路を不要にできる、すなわち、一相のクロック信号で駆動し得る半導体メモリの検査装置を提供することを目的とする。
【００２０】
｛第２の従来例の課題｝
通常、ＲＡＭ等のテストに用いられる機能テストとして、例えばマーチテストがある。このテストは、全てのＲＡＭの全てのアドレス指定データについて、初期状態である初期格納データ（例えば、“０”）から新規の格納データ（“１”）に更新するものである。かかるマーチテストの場合、データ更新の対象となるＲＡＭのアドレスを指定する必要がある。第２の従来例では、ＲＡＭのアドレス指定のために、上述の如くテストパターン発生回路５２３のＬＦＳＲ回路にて疑似乱数の全周期系列を２n個分発生させていたが、実際のＲＡＭのアドレス数ｎは、例えば図５９中のＲＡＭ５２１ａの場合は四個、ＲＡＭ５２１ｂの場合は五個というように、ＲＡＭの種類によって未定である。したがって、アドレス数ｎの二進（「０」、「１」）の組み合わせによって決まるワード数２nも未定である。このため、仮にＬＦＳＲ回路で発生する２n次の全周期系列が実際のＲＡＭのワード数より少なければ、機能テストを実行できないワードが生じてしまうことになる。逆にＬＦＳＲ回路で発生する２n次の全周期系列が実際のＲＡＭのワード数より多ければ、全周期系列を発生しても、一部のデータがシフトレジスタからはみ出てしまい誤ったアドレスが認識されるおそれがあった。すなわち、第２の従来例の場合、ＬＦＳＲ回路で発生する全周期系列の個数２nとＲＡＭのワード数とが完全に一致していなければならず、機能テストするＲＡＭの自由度が制限されるという欠点があった。
【００２１】
本発明は、上記課題に鑑み、複数個のＲＡＭの機能テストを行うにあたって任意のワード数のＲＡＭをテストし得る半導体メモリの検査装置を提供することを目的とする。
【００２２】
また、ＲＡＭの機能テストを実施する場合、全アドレス、ビット等を動かしながらバーインをする必要がある（ダイナミックバーイン）。しかしながら、機能テストを行うＲＡＭの接続数が多い場合、一般にバーイン用のテスタは複雑な制御信号を発生できないものが多く、テストパターン生成の前に必要なビット線選択レジスタ等の初期設定ができない。
【００２３】
本発明は、上記課題に鑑み、テストパターン生成の前に必要なビット線選択レジスタ等の初期設定が可能な半導体メモリの検査装置を提供することをも目的とする。
【００２４】
｛第３の従来例の課題｝
第２の従来例で問題となっていたビット数の不整合は、第３の従来例のように構成すれば、カウンタとＬＦＳＲ回路５２３の連携動作にて冗長ビットのキャンセルを行うことで解決できる。しかしながら一般にカウンタはＬＦＳＲ回路５２３に比べて面積規模が大きく、単一の集積回路内に集積するのは困難で、アドレスバスを外側に出して外部にカウンタを外付けしていた。したがって、カウンタ分の面積が余分に必要なだけでなく、アドレスバス等の配線機構をも必要とし、面積効率を大幅に低下させる要因となる。
【００２５】
本発明は、上記課題に鑑み、小面積の半導体メモリの検査装置を提供することをも目的とする。
【００２６】
｛第４の従来例の課題｝
上記第４の従来例において、複数個のスキャンパスＤＯについて同一のＳＩＮＨ信号を供給するよう配線していたので、常に複数個の半導体メモリに対してＳＩＮＨ信号を供給することになる。そうすると、不可容量により高速動作を行うことができず、テスト効率の向上の限界となっていた。
【００２７】
本発明は、上記課題に鑑み、内蔵するＲＡＭコアのテストを高速で行い得る半導体メモリの検査装置を提供することをも目的とする。
【００２８】
｛第５の従来例の課題｝
第５の従来例では、欠陥の発生した信号線Ｌ１〜Ｌ４を発見した後、レーザ装置等を用いてスイッチング素子Ｓ１〜Ｓ４を切断し、書き込み等のドライバーの接続を外していた。しかしながら、かかる切断のための装置が大型化し、それに伴ってコストも上昇する。
【００２９】
本発明は、上記課題に鑑み、装置を小型化でき、かつコストを低減し得る半導体メモリの検査装置を提供することをも目的とする。
【００３０】
【課題を解決するための手段】
本発明の請求項１及び請求項２に係る課題解決手段は、半導体メモリに故障が発生した際にデータに生じる誤りを補償する冗長回路と、前記半導体メモリ内の故障にかかる不良データの桁を指定する不良データ桁指定手段とを備え、前記冗長回路は、前記半導体メモリの複数桁のデータの夫々に対応して接続される複数の信号線と、前記信号線に隣接される予備線と、前記複数の信号線のうち、前記不良データ桁指定手段にて不良ビットであると指定された桁に対応する信号線を境とする一方向側の信号線に関して二値のうちの一方の値を出力し、他方向側の信号線に関して二値のうちの他方の値を出力する二値信号指定部と、前記二値信号指定部からの二値信号に基づいて、前記不良データ桁指定手段にて不良ビットであると指定された桁に対応する信号線の接続を外し、端部の信号線を前記予備線に切換接続するとともに他の信号線を当該他の信号線に隣接する信号線に順次切換接続するセレクタ群とを備える。
【００３２】
そして、本発明の請求項１に係る課題解決手段は、前記不良データ桁指定手段は、前記不良データの桁に対応して二値のうちの一方の値を保持し、かつ他の桁に対応して二値のうちの他方の値を保持する二値データ保持手段であり、前記セレクタ群は、互いに隣合う信号線を選択する複数の一次セレクタ部と、前記複数の一次セレクタ部の出力端子を選択する二次セレクタ部とを備え、前記二値信号指定部は、前記セレクタ群の一次セレクタ部を切り換える一次制御回路と、前記セレクタ群の二次セレクタ部を切り換える二次制御回路とを備え、前記一次制御回路は、前記半導体メモリの複数桁のうち少なくとも一部に対応する複数の一次論理積回路を有し、前記複数の一次論理積回路の一の入力端子は、前記二値データ保持手段の対応する桁に夫々接続され、前記複数の一次論理積回路の他の入力端子は、当該一次論理積回路の大桁側および小桁側の一方に隣接する論理積回路の出力端子に順次接続され、前記二次制御回路は、前記複数の一次論理積回路のうち少なくとも一部に対応する複数の二次論理積回路を有し、前記複数の二次論理積回路の一の入力端子は、対応する前記一次論理積回路に接続され、前記複数の二次論理積回路の他の入力端子は、当該二次論理積回路の大桁側および小桁側の他方に隣接する論理積回路の出力端子に順次接続される。
【００３３】
また、本発明の請求項２に係る課題解決手段は、前記不良データ桁指定手段は、前記不良データの桁に対応して二値のうちの一方の値を保持し、かつ他の桁に対応して二値のうちの他方の値を保持する二値データ保持手段であり、前記セレクタ群は、互いに隣合う信号線を選択する複数の第１層セレクタ部と、前記複数の第１層セレクタ部の出力端子を選択する第２〜Ｎ層セレクタ部（ただしＮは２以上の整数）とを備え、前記二値信号指定部は、前記セレクタ群の前記第１〜Ｎ層セレクタ部を切り換える第１〜Ｎ層制御回路を有し、前記第１層制御回路は、前記半導体メモリの複数桁のうち少なくとも一部に対応する複数の第１層論理積回路を有し、前記各第１層論理積回路の一の入力端子は、前記二値データ保持手段の対応する桁に夫々接続され、前記各第１層論理積回路の他の入力端子は、当該第１層論理積回路の大桁側および小桁側の一方に隣接する論理積回路の出力端子に順次接続され、前記第２〜Ｎ層制御回路は、前記第１〜（Ｎ−１）層制御回路の各第１〜（Ｎ−１）層論理積回路からの信号に基づいて、前記不良データ桁指定手段の隣接する二値データ保持手段を切り換える複数の制御用セレクタと、該制御用セレクタに対応する複数の第２〜Ｎ層論理積回路とを少なくとも夫々有し、前記各第２〜Ｎ層論理積回路の一の入力端子は、対応する前記制御用セレクタに接続され、前記各第２〜Ｎ層論理積回路の他の入力端子は、当該第２〜Ｎ層論理積回路の大桁側および小桁側の一方に隣接する論理積回路の出力端子に順次接続される。
【００３４】
本発明の請求項３に係る課題解決手段は、前記二値データ保持手段は、前記半導体メモリのデータ桁に対応する桁数のレジスタである。
【００３５】
本発明の請求項４に係る課題解決手段は、前記二値データ保持手段は、データ帰還用のループ配線が設けられた複数のフリップフロップである。
【００３６】
本発明の請求項５に係る課題解決手段は、半導体メモリ内のデータ桁について複数のポートが夫々設定され、前記各ポートに対して論理積をとり前記二値データ保持手段へ入力する論理積回路をさらに備える。
【００３７】
【作用】
本発明請求項１及び請求項２に係る半導体メモリの検査装置では、冗長回路の二値信号指定部にて、複数の信号線のうち、不良データ桁指定手段にて不良ビットであると指定された桁に対応する信号線を境とする一方向側の信号線に関して二値のうちの一方の値を出力し、他方向側の信号線に関して二値のうちの他方の値を出力する。そして、セレクタ群にて、二値信号指定部からの二値信号に基づいて、不良データ桁指定手段にて不良ビットであると指定された桁に対応する信号線の接続を外し、端部の信号線を前記予備線に切換接続するとともに他の信号線を当該他の信号線に隣接する信号線に順次切換接続する。そうすると、半導体メモリに故障が発生した際にデータに生じる誤りを容易に補償することができる。
【００３９】
そして、本発明請求項１に係る半導体メモリの検査装置では、二値信号指定部の一次制御回路にて一方向に不良データを検出し、これに基づいてセレクタ群の一次セレクタ部を切り換えることで、１桁分の不良データを補償する。次いで、二次制御回路にて逆方向に不良データを検出し、これに基づいて二次セレクタ部を切り換えることで、さらに１桁分の不良データを補償する。そうすると、極めて簡単な構成で、二桁分の不良データを補償することができる。
【００４０】
本発明請求項２に係る半導体メモリの検査装置では、第１層セレクタ部および第２〜Ｎ層セレクタ部にて階層構造を形成し、一層ごとに１桁分の不良データを補償するので、極めて簡単な構成で、多桁分の不良データを補償することができる。
【００４１】
本発明請求項３に係る半導体メモリの検査装置では、二値データ保持手段として、半導体メモリのデータ桁に対応する桁数のレジスタを用いているので、極めて簡単な構成で二値データを保持できる。
【００４２】
本発明請求項４に係る半導体メモリの検査装置では、二値データ保持手段として、データ帰還用のループ配線が設けられた複数のフリップフロップを用いているので、極めて簡単な構成で二値データを保持できる。
【００４３】
本発明請求項５に係る半導体メモリの検査装置では、半導体メモリ内のデータ桁について複数のポートが夫々設定された場合に、論理積回路にて各ポートの論理積をとって二値データ保持手段へ入力する。そうすると、極めて容易な構成で、いずれかのポートに不良データが発生した場合に不良データの桁についてのデータ補償を行うことができる。
【００４４】
【発明の実施の形態】
｛実施の形態１｝
＜構成＞
図１は本発明の実施の形態１の半導体メモリ（ＲＡＭ）の検査装置（テスト補助回路）を示す論理回路図である。図１中の２３１はスキャンレジスタであり、図２３に示した第１の従来例と同様、複数の該スキャンレジスタ２３１を直列に接続してスキャンパスを構成するもので、通常動作時には図示しない半導体集積回路装置から入力されるデータを外部回路へ出力する一方、データ比較時には、前記半導体集積回路装置から入力されるデータと期待データとを比較し、これらが不一致のときには前記半導体集積回路装置からのデータが故障している旨を外部回路へ出力するものである。図１中の２３２は比較回路、２３３はセレクタ回路（セレクタ手段）、２３４はリセット機能付きフリップフロップ回路、２３５はＯＲ回路である。
【００４５】
前記比較回路２３２は、一個のイクスクルーシブＯＲ回路（以下、Ｅｘ．ＯＲ回路と称す）２４１と、一個のＮＯＴ回路２４２と、一個のＮＡＮＤ回路２４３とから構成される。前記Ｅｘ．ＯＲ回路２４１は一対の入力端子を有し、一方の入力端子には前記半導体集積回路装置（図示せず）からのデータ入力信号（Ｄ）が入力され、他方の入力端子には、前記データ入力信号（Ｄ）が正常であるか否かを比較検査するための外部からの期待データ信号（ＥＸＰ）が入力される。前記ＮＯＴ回路２４２の入力端子には外部からのクロック信号（Ｔ）が入力される。前記ＮＡＮＤ回路２４３は、三個の入力端子を有し、一の入力端子には外部からの比較イネーブル信号（ＣＭＰＥＮ）が入力され、他の一の入力端子は前記Ｅｘ．ＯＲ回路２４１の出力端子に接続され、さらに他の出力端子は前記ＮＯＴ回路２４２の出力端子に接続されている。これにより、該比較回路２３２は、外部からの比較イネーブル信号（ＣＭＰＥＮ）がＨｉｇｈでかつ前記クロック信号（Ｔ）がＬｏｗのときに限り、外部からの期待データ信号（ＥＸＰ）と外部からのデータ入力信号（Ｄ）とを比較し、これらが異なるときにＬｏｗを出力するよう設定される。
【００４６】
前記セレクタ回路２３３は、前記半導体集積回路装置からの前記データ入力信号（Ｄ）および外部からのシリアル入力信号（ＳＩ）が夫々入力される一対の信号入力端子“０”，“１”と、外部からのシフトモード制御信号（ＳＭ）が入力される一個の制御入力端子を有しており、通常動作時およびテストモード時に外部からのシフトモード制御信号（ＳＭ）に基づいて一方の前記信号入力端子“０”（データ入力信号（Ｄ））を選択し、シフトモード時に前記シフトモード制御信号（ＳＭ）に基づいて他方の前記信号入力端子“１”（シリアル入力信号（ＳＩ））側を選択するように設定される。
【００４７】
前記フリップフロップ回路２３４は、データ入力端子Ｄ１、データ出力端子Ｏ１、タイミング信号入力端子Ｔ１およびリセット入力端子Ｒ１を有しており、前記タイミング信号入力端子Ｔ１にタイミング信号が入力された際に前記データ入力端子Ｄ１からデータを取り込みかつ当該データ（ＳＯ．Ｑ）を前記データ出力端子Ｏ１に伝え、また前記リセット入力端子Ｒ１にＬｏｗレベルのリセット信号が入力された際に取り込んだデータがリセットされるよう設定される。ここで、該フリップフロップ回路２３４は、前記タイミング信号入力端子Ｔ１に入力される前記タイミング信号の立ち上がりでデータを取り込むタイプ（ポジティブエッジトリガータイプ）とされている。なお、本実施の形態では、リセット動作によってデータが“０”になるものを使用しているが、逆に“１”になるものを用いてもよい。ここで、前記データ出力端子Ｏ１は次段のスキャンレジスタのフリップフロップ回路の信号入力端子に接続され、シリアル入力信号（ＳＯ．Ｑ＝ＳＩ）として伝送される。
【００４８】
前記ＯＲ回路２３５は、前記フリップフロップ回路２３４にシフト動作の所定のタイミングを規定するためのタイミング信号を出力するもので、一対の入力端子および一個の出力端子を有しており、一方の前記入力端子には前記クロック信号（Ｔ）が入力され、他方の前記入力端子に外部からのシフト禁止信号（ＳＩＮＨ）が入力され、前記一個の出力端子は前記フリップフロップ回路２３４のタイミング信号入力端子Ｔ１に接続されている。これにより、該ＯＲ回路２３５は、外部からシフト禁止信号（ＳＩＮＨ）が入力されないときは外部からの周期的なクロック信号（Ｔ）にしたがって前記フリップフロップ回路２３４のデータ取り込みを許容する一方、前記シフト禁止信号（ＳＩＮＨ）が入力されたときは前記クロック信号（Ｔ）の入力の如何にかかわらず前記所定のタイミングを規定するタイミング信号を停止して前記フリップフロップ回路２３４のデータを保持するタイミング停止回路（データ保持手段）として機能する。
【００４９】
＜動作＞
上記構成のスキャンレジスタ２３１の動作を説明する。図２は、通常動作時において該スキャンレジスタ２３１を半導体集積回路装置（ＲＡＭ）の出力用フリップフロップとして用いる際にデータ入力端子Ｄのデータを取り込む動作を示すタイミングチャートである。図２の如く、シフト禁止信号（ＳＩＮＨ）がＬｏｗの場合、クロック信号（Ｔ）はＯＲ回路２３５を経てフリップフロップ回路２３４のタイミング信号入力端子Ｔ１にそのまま伝わる。また、図２のように比較イネーブル信号（ＣＭＰＥＮ）がＬｏｗの場合、比較回路２３２のＮＡＮＤ回路２４３の出力は常にＨｉｇｈとなりリセット信号（Ｌｏｗ信号）は発生しない。そして、クロック信号（Ｔ）の立ち上がり時にシフトモード制御信号（ＳＭ）がＬｏｗであれば、セレクタ回路２３３は信号入力端子“０”を選択し、半導体集積回路装置（ＲＡＭ）からのデータ入力信号（Ｄ）がフリップフロップ回路２３４に取り込まれる。
【００５０】
図３は、半導体集積回路装置（ＲＡＭ）のテストを開始する前の初期設定（“１”を設定する）やＲＡＭテストが完了した後のテスト結果の読み出し時おけるフリップフロップ回路２３４のシフト動作を示すタイミングチャートである。図３の如く、シフト禁止信号（ＳＩＮＨ）がＬｏｗの場合、クロック信号（Ｔ）はＯＲ回路２３５を経てフリップフロップ回路２３４のタイミング信号入力端子Ｔ１にそのまま伝わる。また、比較イネーブル信号（ＣＭＰＥＮ）がＬｏｗの場合、比較回路２３２からリセット信号（Ｌｏｗ信号）は発生しない。そして、クロック信号（Ｔ）の立ち上がり時にシフトモード制御信号（ＳＭ）がＨｉｇｈであればセレクタ回路２３３は信号入力端子“１”を選択し、シリアル入力信号（ＳＩ）がフリップフロップ回路２３４に取り込まれ、データ出力端子Ｏ１（シリアル出力端子）に出力される。データ出力端子Ｏ１は次段のスキャンレジスタの信号入力端子（“１”）に接続され（図２３参照）、シリアル入力信号（ＳＯ．Ｑ＝ＳＩ）としてデータ伝送が行われてシフト動作が行われる。
【００５１】
図４は、ＲＡＭの出力データが不定である場合など比較動作を行なってはいけない場合にフリップフロップ回路２３４のシフト動作を禁止する動作を示すタイミングチャートである。図４の如く、シフト禁止信号（ＳＩＮＨ）がＨｉｇｈの場合、ＯＲ回路２３５は常にＨｉｇｈ出力となり、故にクロック信号（Ｔ）はフリップフロップ回路２３４のタイミング信号入力端子Ｔ１に伝わらない。従って、フリップフロップ回路２３４はクロック信号（Ｔ）の立ち上がりを検出できず、故にシフト動作は行われない。また、図４のように比較イネーブル信号（ＣＭＰＥＮ）がＬｏｗの場合、比較回路２３２からリセット信号（Ｌｏｗ信号）は発生しない。なお、クロック信号（Ｔ）の立ち上がり時のシフトモード制御信号（ＳＭ）はＨｉｇｈ／Ｌｏｗどちらでも差し支えない。
【００５２】
図５は比較回路２３２の比較動作を示すタイミングチャートである。図５の如く、シフト禁止信号（ＳＩＮＨ）がＨｉｇｈの場合、ＯＲ回路２３５は常にＨｉｇｈ出力となり、故にクロック信号（Ｔ）はフリップフロップ回路２３４のタイミング信号入力端子Ｔ１に伝わらない。従って、フリップフロップ回路２３４はクロック信号（Ｔ）の立ち上がりを検出できず、故にシフト動作は行われない。また、クロック信号（Ｔ）がＬｏｗで比較イネーブル信号（ＣＭＰＥＮ）がＨｉｇｈのとき、データ入力端子Ｄと期待データ端子（ＥＸＰ）のデータが異なれば、比較回路２３２からはリセット信号（Ｌｏｗ信号）が発生し、フリップフロップ回路２３４は“０”にリセットされる。フリップフロップ回路２３４は初期設定のシフト動作によって“１”にセットされているので、これが“０”に変化することにより故障の存在が記憶される。スキャンレジスタ２３１に保持されている故障の有無のデータはＲＡＭのテスト完了後にシフト動作により読み出される。
【００５３】
本実施の形態によれば、一相のクロック信号を用いるだけで、テストモードに設定されたときに期待値データと入力データとの比較結果に応じてフリップフロップ回路２３４内のデータを書き換えるように構成したので、第１の従来例に比べて、テスト用のクロック信号を省略でき、しかも複雑な二相クロック信号が不要となり、このクロック信号を供給するための複雑なクロックドライバ回路が不要になる。
【００５４】
｛実施の形態２｝
＜構成＞
図６は本発明の実施の形態２の半導体メモリの検査装置を示す論理回路図である。図６中の２５１はスキャンレジスタであり、実施の形態１と同様、クロック信号（Ｔ）の立ち上がりでデータを取り込むタイプ（ポジティブエッジトリガータイプ）であり、通常動作時には図示しない半導体集積回路装置から入力されるデータを外部回路へ出力する一方、データ比較時には、前記半導体集積回路装置から入力されるデータと期待データとを比較し、これらが不一致のときには前記半導体集積回路装置からのデータが故障している旨を外部回路へ出力するものである。図６中の２３２は比較回路、２３４はリセット機能付きフリップフロップ回路であり、これらの構成は実施の形態１と同様であるためその説明を省略する。また、図６中の２５２，２５３は、実施の形態１におけるセレクタ回路２３３（図１参照）と同様の構造とされたセレクタ回路であるが、一方のセレクタ回路（以下、第１のセレクタ回路と称す）２５２の一対の信号入力端子“０”，“１”のうち、信号入力端子“１”は前記第２のセレクタ回路２５３の出力端子に接続されている。また、他方のセレクタ回路（以下、第２のセレクタ回路と称す）２５３の一対の信号入力端子“０”，“１”のうち、一対の信号入力端子“０”には外部からのシリアル入力信号（ＳＩ）が入力され、他方の信号入力端子“１”は前記フリップフロップ回路２３４のデータ出力端子Ｏ１に接続されている。さらに、該第２のセレクタ回路２５３の制御入力端子には、外部からのシフト禁止信号（ＳＩＮＨ）が入力され、該シフト禁止信号（ＳＩＮＨ）がＬｏｗのときにはシリアル入力信号（ＳＩ）を、シフト禁止信号（ＳＩＮＨ）がＨｉｇｈのときには前記フリップフロップ回路２３４からの出力データＳＯ．Ｑを、第１のセレクタ回路２５２へ出力する。
【００５５】
ここで、フリップフロップ回路２３４のデータ出力端子Ｏ１と第２のセレクタ回路２５３の他方の信号入力端子“１”とが内部配線（ループ配線）にて接続されることで、フリップフロップ回路２３４のデータ出力端子Ｏ１から第２のセレクタ回路２５３および第１のセレクタ回路２５２を経て前記フリップフロップ回路２３４のデータ入力端子Ｄ１に至るまでの間にループ回路２５４が形成される。そして、かかるループ回路２５４は、前記シフト禁止信号（ＳＩＮＨ）を受けたときにシリアル入力信号（ＳＩ）およびデータ入力信号（Ｄ）に代えて前記フリップフロップ回路２３４からの出力データＳＯ．Ｑを該フリップフロップ回路へ帰還させて当該フリップフロップ回路２３４のデータを保持するデータ保持手段として機能する。
【００５６】
ここで、前記第１のセレクタ回路２５２と、前記第２のセレクタ回路２５３と、前記シリアル入力信号（ＳＩ）が入力される端子（第１の入力端子）と、前記データ入力信号（Ｄ）が入力される端子（第２の入力端子）と、前記シフトモード制御信号（ＳＭ）が入力される端子（第３の入力端子）とで、前記シリアル入力信号（ＳＩ）および前記データ入力信号（Ｄ）を選択して出力するセレクタ手段が構成される。
【００５７】
また、前記第１のセレクタ回路２５２と、前記第２のセレクタ回路２５３と、前記第２のセレクタ回路２５３の他方の信号入力端子“１”および前記フリップフロップ回路２３４のデータ出力端子Ｏ１を結ぶ前記ループ配線と、前記シフト禁止信号（ＳＩＮＨ）が入力される端子（第３の入力端子）とから、前記フリップフロップ回路２３４のデータを保持するデータ保持手段が構成される。
【００５８】
＜動作＞
上記構成のスキャンレジスタ２５１の動作を説明する。図７は、通常動作時において該スキャンレジスタ２５１を半導体集積回路装置（ＲＡＭ）の出力用フリップフロップとして用いる際にデータ入力端子Ｄのデータを取り込む動作を示すタイミングチャートである。図７の如く、比較イネーブル信号（ＣＭＰＥＮ）がＬｏｗの場合、比較回路２３２からリセット信号は発生しない。クロック信号（Ｔ）の立ち上がり時にシフトモード制御信号（ＳＭ）がＬｏｗであればセレクタ回路２５２は信号入力端子“０”を選択し、半導体集積回路装置（ＲＡＭ）からのデータ入力信号（Ｄ）がフリップフロップ回路２３４に取り込まれる。ＲＡＭのデータ出力はこのデータ入力端子Ｄに接続されるので、通常動作時にこのスキャンレジスタをＲＡＭの出力用フリップフロップとして用いることができる。
【００５９】
図８はシフト動作を示すタイミングチャートである。比較イネーブル信号（ＣＭＰＥＮ）がＬｏｗの場合、比較回路２３２からリセット信号は発生しない。クロック信号（Ｔ）の立ち上がり時にシフトモード制御信号（ＳＭ）がＨｉｇｈ（“１”）、シフト禁止信号（ＳＩＮＨ）がＬｏｗ（“０”）であればシリアル入力信号（ＳＩ）が第２のセレクタ回路２５３および第１のセレクタ回路２５２を経由してフリップフロップ回路２３４に取り込まれ、シリアル出力端子Ｏ１に出力される。シリアル出力端子Ｏ１は次段のスキャンレジスタのシリアル入力信号（ＳＩ）側の信号入力端子に接続されるので、シフト動作が行われる。シフト動作はＲＡＭのテストを開始する前の初期設定（“１”を設定する）やＲＡＭテストが完了した後のテスト結果の読み出し時に行う。
【００６０】
図９はシフト禁止動作を示すタイミングチャートである。比較イネーブル信号（ＣＭＰＥＮ）がＬｏｗの場合、比較回路２３２からリセット信号は発生しない。クロック信号（Ｔ）の立ち上がり時にシフトモード制御信号（ＳＭ）がＨｉｇｈ（“１”）、シフト禁止信号（ＳＩＮＨ）がＨｉｇｈ（“１”）であればフリップフロップ回路２３４の出力データＳＯ．Ｑが両セレクタ回路２５３、２５２を経由してフリップフロップ回路２３４自身に取り込まれる。従って、データは保持され、シフト動作は行われない。シフト禁止動作はＲＡＭの出力データが不定である場合などの比較動作を行なってはいけない場合に用いる。
【００６１】
図１０は比較動作を示すタイミングチャートである。クロック信号（Ｔ）の立ち上がり時にシフト禁止信号（ＳＩＮＨ）がＨｉｇｈ（“１”）、シフト禁止信号（ＳＩＮＨ）がＨｉｇｈ（“１”）であればフリップフロップ回路２３４の出力データＳＯ．Ｑがセレクタ回路２５３、２５２を経由してフリップフロップ回路２３４自身に取り込まれる。従って、データは保持される。クロック信号（Ｔ）がＬｏｗで比較イネーブル信号（ＣＭＰＥＮ）がＨｉｇｈの時にデータ入力端子Ｄと期待データ端子（ＥＸＰ）のデータが異なればリセット信号が発生し、フリップフロップ回路２３４は“０”にリセットされる。フリップフロップ回路２３４は初期設定のシフト動作によって“１”にセットされているので、これが“０”に変化するＢＳにより故障の存在が記憶される。スキャンレジスタに保持されている故障の有無のデータはＲＡＭのテスト完了後にシフト動作により読み出される。
【００６２】
本実施の形態によっても、実施の形態１と同様、一相のクロック信号を用いるだけで、テストモードに設定されたときに期待値データと入力データとの比較結果に応じてフリップフロップ回路２３４内のデータを書き換えるように構成したので、第１の従来例に比べて、テスト用のクロック信号を省略でき、しかも複雑な二相クロック信号が不要となり、このクロック信号を供給するための複雑なクロックドライバ回路が不要になる。
【００６３】
｛実施の形態３｝
＜構成＞
図１１は本発明の実施の形態３の半導体メモリの検査装置を示す論理回路図である。図１１中の２６１はスキャンレジスタであり、実施の形態１および実施の形態２と同様、クロック信号（Ｔ）の立ち上がりでデータを取り込むタイプ（ポジティブエッジトリガータイプ）であり、通常動作時には図示しない半導体集積回路装置（ＲＡＭ）から入力されるデータを外部回路へ出力する一方、データ比較時には、前記半導体集積回路装置から入力されるデータと期待データとを比較し、これらが不一致のときには前記半導体集積回路装置からのデータが故障している旨を外部回路へ出力するものである。図１１中の２３４はフリップフロップ回路である。また、図１１中の２５４は実施の形態２で説明したのと同様のループ回路である。
【００６４】
図１１中の２３２ａは、外部からの比較イネーブル信号（ＣＭＰＥＮ）に基づいて外部からの期待データ信号（ＥＸＰ）と外部からのデータ入力信号（Ｄ）とを比較する比較回路である。該比較回路２３２ａは、一個のＥｘ．ＯＲ回路２４１ａと、一個のＮＡＮＤ回路２４３ａとから構成される。前記Ｅｘ．ＯＲ回路２４１ａは一対の入力端子を有し、一方の入力端子には前記半導体集積回路装置（図示せず）からのデータ入力信号（Ｄ）が入力され、他方の入力端子には、前記データ入力信号（Ｄ）が正常であるか否かを比較検査するための外部からの期待データ信号（ＥＸＰ）が入力される。前記ＮＡＮＤ回路２４３ａは、二個の入力端子を有し、一方の入力端子には外部からの比較イネーブル信号（ＣＭＰＥＮ）が入力され、他方の入力端子は前記Ｅｘ．ＯＲ回路２４１ａの出力端子に接続されている。これにより、該比較回路２３２ａは、外部からの比較イネーブル信号（ＣＭＰＥＮ）がＨｉｇｈのときに外部からの期待データ信号（ＥＸＰ）と外部からのデータ入力信号（Ｄ）とを比較し、これらが異なるときにＬｏｗを出力するよう設定される。
【００６５】
また、図１１中の２６４は前記比較回路２３２ａのＮＡＮＤ回路２４３ａからリセット信号が出力されたときに、前記フリップフロップ回路２３４の出力の帰還を禁止する帰還禁止素子（ＡＮＤ回路）であって、二個の入力端子を有し、一方の入力端子は前記比較回路２３２ａのＮＡＮＤ回路２４３ａの出力端子が接続され、他方の入力端子は前記フリップフロップ回路２３４のデータ出力端子Ｏ１に接続されている。
【００６６】
さらに、図１１中の２６２は、実施の形態２における第１のセレクタ回路２５２（図６参照）と同様の構造とされた第１のセレクタ回路、２６３は、実施の形態２における第２のセレクタ回路２５３（図６参照）と同様の構造とされた第２のセレクタ回路であるが、第２のセレクタ回路２６３の一対の信号入力端子“０”，“１”のうち、信号入力端子“１”は前記帰還禁止素子２６４の出力端子に接続されている。
【００６７】
そして、前記第１のセレクタ回路２６２と、前記第２のセレクタ回路２６３と、前記シリアル入力信号（ＳＩ）が入力される端子（第１の入力端子）と、前記データ入力信号（Ｄ）が入力される端子（第２の入力端子）と、前記シフトモード制御信号（ＳＭ）が入力される端子（第３の入力端子）とで、前記シリアル入力信号（ＳＩ）、前記データ入力信号（Ｄ）および前記比較回路２３２ａからのリセット信号を選択して出力するセレクタ手段が構成される。
【００６８】
また、前記第１のセレクタ回路２６２と、前記第２のセレクタ回路２６３と、前記第２のセレクタ回路２６３の他方の信号入力端子“１”および前記フリップフロップ回路２３４のデータ出力端子Ｏ１を結ぶ前記ループ配線と、前記シフト禁止信号（ＳＩＮＨ）が入力される端子（第３の入力端子）とから、前記比較回路２３２ａからリセット信号が入力されない間に前記フリップフロップ回路２３４のデータを保持するためのデータ保持手段が構成される。なお、本実施の形態中のその他の構成は実施の形態２と同様であるためその説明を省略する。
【００６９】
＜動作＞
上記構成のスキャンレジスタ２６１の動作を説明する。図１２は、通常動作時において該スキャンレジスタ２６１を半導体集積回路装置（ＲＡＭ）の出力用フリップフロップとして用いる際にデータ入力端子Ｄのデータを取り込む動作を示すタイミングチャートである。図１２の如く、クロック信号（Ｔ）の立ち上がり時にシフトモード制御信号（ＳＭ）がＬｏｗであればセレクタ回路２６２は信号入力端子“０”側を選択しているので、ＲＡＭからのデータ入力信号（Ｄ）がフリップフロップ回路２３４に取り込まれる。このように動作させると、通常動作時にはスキャンレジスタをＲＡＭの出力用フリップフロップとして用いることができる。
【００７０】
図１３はシフト動作を示すタイミングチャートである。図１３の如く、クロック信号（Ｔ）の立ち上がり時にシフトモード制御信号（ＳＭ）がＨｉｇｈ（“１”）、シフト禁止信号（ＳＩＮＨ）がＬｏｗ（“０”）であればシリアル入力信号（ＳＩ）が両セレクタ回路２６３、２６２を経由してフリップフロップ回路２３４に取り込まれ、かつシリアル出力端子Ｏ１に出力される。シリアル出力端子Ｏ１は次段のスキャンレジスタのシリアル入力信号（ＳＩ）側の信号入力端子に接続されるので、シフト動作が行われる。シフト動作はＲＡＭのテストを開始する前の初期設定（“１”を設定する）やＲＡＭテストが完了した後のテスト結果の読み出し時に行う。
【００７１】
図１４はシフト禁止動作を示すタイミングチャートである。図１４の如く、比較イネーブル信号（ＣＭＰＥＮ）がＬｏｗの場合、ＮＡＮＤ回路２４３ａの出力はＨｉｇｈとなる。したがって、帰還禁止素子２６４はフリップフロップ回路２３４の保持データをそのまま出力する。また、クロック信号（Ｔ）の立ち上がり時にシフトモード制御信号（ＳＭ）がＨｉｇｈ（“１”）、シフト禁止信号（ＳＩＮＨ）がＨｉｇｈ（“１”）であればフリップフロップ回路２３４の出力データＳＯ．Ｑが帰還禁止素子２６４、セレクタ回路２６３、２６２を経由してフリップフロップ回路２３４自身に取り込まれる。従って、データは保持され、シフト動作は行われない。シフト禁止動作はＲＡＭの出力データが不定である場合など比較動作を行なってはいけない場合に用いる。
【００７２】
図１５は比較動作を示すタイミングチャートである。図１５の如く、比較イネーブル信号（ＣＭＰＥＮ）がＨｉｇｈであれば、比較回路２３２ａからのデータ入力信号（Ｄ）と期待データ信号（ＥＸＰ）とを比較し、これらが異なれば比較回路２３２ａの出力はＬｏｗレベルになる。したがって、帰還禁止素子２６４の出力はＬｏｗレベルになる。そして、クロック信号（Ｔ）の立ち上がり時にシフトモード制御信号（ＳＭ）がＨｉｇｈ（“１”）、シフト禁止信号（ＳＩＮＨ）がＨｉｇｈ（“１”）となると、フリップフロップ回路２３４は“０”にリセットされる。
【００７３】
一方、クロック信号（Ｔ）の立ち上がり時に、データ入力端子Ｄと期待データ端子（ＥＸＰ）のデータが同じであれば、ＮＡＮＤ回路２４３ａの出力はＨｉｇｈであり、フリップフロップ回路２３４の出力データＳＯ．Ｑ、帰還禁止素子２６４、セレクタ回路２６３、２６２を経由してフリップフロップ回路２３４自身に取り込まれる。したがって、データは保持される。フリップフロップ回路２３４は初期設定のシフト動作によって“１”にセットされているので、これが“０”に変化することにより故障の存在が記憶される。スキャンレジスタに保持されている故障の有無のデータはＲＡＭのテスト完了後にシフト動作により読み出される。
【００７４】
本実施の形態によっても、実施の形態１および実施の形態２と同様、一相のクロック信号を用いるだけで、テストモードに設定されたときに期待値データと入力データとの比較結果に応じてフリップフロップ回路２３４内のデータを書き換えるように構成したので、第１の従来例に比べて、テスト用のクロック信号を省略でき、しかも複雑な二相クロック信号が不要となり、このクロック信号を供給するための複雑なクロックドライバ回路が不要になる。
【００７５】
｛実施の形態４｝
＜構成＞
図２４は本発明の実施の形態４の概略を示すブロック図である。本実施の形態の検査装置は、複数のＲＡＭおよびＲＯＭ等の半導体メモリ（被テスト回路）について機能テストを行うものである。図２４中の３０は本実施の形態のテストパターン（アルゴリズミックパターン）発生回路を有する検査装置、３１ａ〜３１ｃは被テスト回路としてのＲＡＭ、３２ａ〜３２ｃはＲＡＭ３１ａ〜３１ｃの機能テスト時に各ＲＡＭ３１ａ〜３１ｃのアドレスを選択するシフトレジスタ、ＳＩＡは全シフトレジスタ３２ａ〜３２ｃに対してアドレス指定データを送信する共通配線、３３ａ〜３３ｃはライトイネーブル（書き込み制御）データ入力用レジスタ、ＳＩＷはデータ入力用配線、３４ａ〜３４ｃは被テスト回路３１ａ〜３１ｃのデータの出力値と期待値との比較を行う比較回路、ＣＭＰＥＮは比較回路３４ａ〜３４ｃでの出力正誤判断（比較動作）を制御（禁止）するための比較イネーブル信号入力端子（比較禁止手段）である。なお、データ入力用配線（ＳＩＷ）に流れるＳＩＷ信号は、比較イネーブル信号入力端子（ＣＭＰＥＮ）に流れる比較イネーブル信号（ＣＭＰＥＮ）を反転したものである。本実施の形態の半導体メモリの検査装置は、アドレス発生回路にてアドレスのインクリメントまたはディクリメントを行う点で第２の従来例および第３の従来例のものと目的を同一とするが、一定の順序でアドレスをシフト（インクリメントまたはディクリメント）する必要があるため、アドレス発生回路にてアドレスのインクリメントまたはディクリメントを行うために、同一の回路でＬＦＳＲ機能とカウンタ機能とを切り換えるものである。図２４中のＷＥＣは被テスト回路３１としてのＲＡＭのライトイネーブル（書き込み制御）端子である。図２４の如く、比較回路３４ａ〜３４ｃは、内部に比較禁止部３４Ｚを備え、ＣＭＰＥＮ端子が“１”のとき被テスト回路３１ａ〜３１ｃの出力値と期待値との比較を行い、ＣＭＰＥＮ端子が“０”のとき前記比較禁止部３４Ｚにて上記比較を行わないよう構成される。また３４Ｆはデータ入力用シフトレジスタ３３へのデータ入力と比較回路３４からのデータ出力の間に１クロック分の時間差が生じるためにその補正を行うフリップフロップである。
【００７６】
図２５は本発明の実施の形態４の半導体メモリの検査装置を示す図である。本実施の形態の半導体メモリの検査装置は、５ビット以内の疑似ランダム系列を発生しかつカウントアップ・ダウンを可能とする５ビットのアドレス発生回路であって、疑似乱数としての５ビットのアドレス指定データを発生させながら複数のＲＡＭおよびＲＯＭ等の半導体メモリ（被テスト回路）について機能テストを行うものである。図２５中の３１はワード数（アドレス入力端子数）が任意の値（例えば、２4）に設定されたＲＡＭ等の被テスト回路（半導体メモリ）、３２は前記被テスト回路３１のアドレス入力端子Ａ０〜Ａ３にアドレス入力を行う４ビットのアドレス入力用シフトレジスタ、３３はライトイネーブル（書き込み制御）指令部としてのデータ入力用レジスタ、３４はＲＡＭのデータ出力値と期待値とを比較する２ビットの比較回路（データ出力用シフトレジスタ）、３５はＲＡＭアドレスの初期値を格納する５ビットのアドレス発生用シフトレジスタ（アドレス発生部：ＡＤＤＲ）、α−０（最下位ビット：ＬＳＢ）〜α−４（最上位ビット：ＭＳＢ）は前記アドレス発生用シフトレジスタ（ＡＤＤＲ）を構成するフリップフロップ（１ビットレジスタ）、３６は５ビットの制御レジスタ（ＣＡＲＲＹ）、β−０（最下位ビット：ＬＳＢ）〜β−４（最上位ビット：ＭＳＢ）は前記制御レジスタ（ＣＡＲＲＹ）を構成するフリップフロップ（１ビットレジスタ）、３７はアドレス設定時に全周期系列の生成多項式が初期値として与えられかつカウント時に有効アドレス数が格納される５ビットのフリップフロップ選択レジスタ（有効アドレス数格納部：ＭＡＳＫＡ）、γ−０（最下位ビット：ＬＳＢ）〜γ−４（最上位ビット：ＭＳＢ）は前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）を構成するフリップフロップ、３８は前記アドレス発生用シフトレジスタ（ＡＤＤＲ）の各フリップフロップα−０〜α−４とこれらに夫々対応する前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）の各フリップフロップγ−０〜γ−４との間で論理積（ＡＮＤ）をとる第１のＡＮＤ（論理積）回路群、３９は前記制御レジスタ（ＣＡＲＲＹ）のフリップフロップβ−０〜β−４とこれらに夫々対応する前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）の各フリップフロップγ−０〜γ−４との間で論理積（ＡＮＤ）をとる第２のＡＮＤ（論理積）回路群、４１は期待値発生回路、４２は３９の出力に対して論理和（ＯＲ）をとるＯＲ（論理和）回路群、４３はカウンタ、４４は排他的論理和（Ｅｘ．ＯＲ）回路である。なお、前記アドレス発生用シフトレジスタ（ＡＤＤＲ）３５、前記制御レジスタ（ＣＡＲＲＹ）３６、前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７、前記第１のＡＮＤ回路群３８、前記第２のＡＮＤ回路群３９、前記期待値発生回路４１、および前記ＯＲ回路群４２は、テストパターン発生時に機能テストを行う複数種類の半導体メモリのアドレス数のうち最大アドレス値に対応するビット数のテストパターンを発生し、カウント時に前記半導体メモリの有効アドレス数を設定する算術論理演算部を構成する。
【００７７】
前記アドレス発生用シフトレジスタ（ＡＤＤＲ）３５および制御レジスタ（ＣＡＲＲＹ）３６には、各レジスタ３５，３６のシフト禁止制御用の外部信号（Ｓｉｎｈ−ＬＸ）を入力する端子が接続されている。前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７は、カウント時に有効アドレス数情報を格納する有効アドレス数情報格納部として機能する。
【００７８】
前記第１のＡＮＤ回路群３８は、図２６の如く、前記アドレス発生用シフトレジスタ（ＡＤＤＲ）３５および前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７のビット数に対応して５個のＡＮＤ回路５１〜５５から構成される。該各ＡＮＤ回路５１〜５５には、対応するアドレス発生用シフトレジスタ（ＡＤＤＲ）３５の各フリップフロップα−０〜α−４およびフリップフロップ選択レジスタ（ＭＡＳＫＡ）３７の各フリップフロップγ−０〜γ−４からの信号が入力される。そして、例えばＡＮＤ回路５１は“α−０  ＡＮＤ  γ−０”を演算し、また例えばＡＮＤ回路５４は“α−４  ＡＮＤ  γ−４”を演算する。
【００７９】
前記第２のＡＮＤ回路群３９は前記制御レジスタ（ＣＡＲＲＹ）３６および前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７のビット数に対応して５個のＡＮＤ回路５６〜６０から構成される。該各ＡＮＤ回路５６〜６０には、対応する前記制御レジスタ（ＣＡＲＲＹ）３６の各フリップフロップβ−０〜β−４および前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７の各フリップフロップγ−０〜γ−４からの信号が入力される。そして、例えばＡＮＤ回路５６は“β−０  ＡＮＤ  γ−０”を演算し、また例えばＡＮＤ回路６０は“β−４  ＡＮＤ  γ−４”を演算する。
【００８０】
前記期待値発生回路４１は、四個の排他的論理和（Ｅｘ．ＯＲ）回路６１〜６４を備える。このうち、Ｅｘ．ＯＲ回路６１はＡＮＤ回路５４，５５からの信号が入力される。Ｅｘ．ＯＲ回路６２はＡＮＤ回路５２，５３からの信号が入力される。Ｅｘ．ＯＲ回路６３はＥｘ．ＯＲ回路６２およびＡＮＤ回路５１からの信号が入力される。Ｅｘ．ＯＲ回路６４はＥｘ．ＯＲ回路６１，６３からの信号が入力される。
【００８１】
前記ＯＲ回路群４２は、四個の論理和（ＯＲ）回路６５〜６８を備える。このうち、ＯＲ回路６５はＡＮＤ回路５９，６０からの信号が入力される。ＯＲ回路６６はＡＮＤ回路５７，５８からの信号が入力される。ＯＲ回路６７はＯＲ回路６６およびＡＮＤ回路５６からの信号が入力される。ＯＲ回路６８はＯＲ回路６５，６７からの信号が入力される。
【００８２】
前記カウンタ４３は、一個のＡＮＤ回路７１と、一個のＯＲ回路７２と、一個の半加算器（ハーフアダー回路）７３と、一個のスイッチ７４と、一個のフリップフロップ（以下、ＦＦと略す）７５とを備える。
【００８３】
前記ＡＮＤ回路７１は二個の入力端子を有し、一方の入力端子にはリセット信号（ＲＳＥＴ）が入力され、他方の入力端子には前記ＦＦ７５からの信号が入力される。これにより、カウンタ４３は、前記ＦＦ７５から信号が入力されかつリセット信号（ＲＳＥＴ）が入力された際によりリセットされる。前記ＯＲ回路７２は、前記算術論理演算部からの有効アドレス数情報に基づいて前記半導体メモリの有効アドレス数に対応する回数をカウントしてアドレスをインクリメントまたはディクリメントした直後であるか否かを検知しこの時点で１を加算する加算素子として機能するもので、二個の入力端子を有し、一方の入力端子には前記ＡＮＤ回路７１からの信号（ｉｎｃａｒｒｙ）が入力され、他方の入力端子には前記ＯＲ回路群４２の前記ＯＲ回路６８からの信号（ｓｅｔ）が入力される。前記半加算器７３は、図２７の如く、ＳＵＭ（以下、Ｓと略す）およびＣａｒｒｙ（以下、Ｃと略す）の二個の出力とＡおよびＢの二個の入力を持つ組み合わせ論理要素であって、Ｓは桁上りなしの合計（和出力）、Ｃは桁上り（キャリー出力）を示すものであり、各入力端子Ａ，Ｂと各出力端子Ｓ，Ｃとは、
Ｓ＝Ａ  Ex.OR  Ｂ
Ｃ＝Ａ  AND  Ｂ
といった関係がある。そして、入力端子Ａには前記期待値発生回路４１の前記Ｅｘ．ＯＲ回路６４からの信号（ｃｏｉｎ）が入力され、入力端子Ｂには前記ＯＲ回路７２からの信号（ｃａｉｎ）が入力される。前記スイッチ７４は、外部からの選択信号（Ｃｏｕｎｔｅｒ／ＬＦＳＲ）に基づいて疑似ランダム系列を発生させるかまたはカウンタとして機能するかを選択するものであり、二個の入力端子を有し、一方の入力端子には前記期待値発生回路４１の前記Ｅｘ．ＯＲ回路６４からの信号が入力され、他方の入力端子には前記半加算器７３の出力Ｓ（Ｄａｔａ  Ｏｕｔ）が入力される。前記ＦＦ７５は、前記半加算器７３のキャリー出力Ｃに基づいて前記ＯＲ回路７２によるアドレスのインクリメントまたはディクリメント動作直前のアドレス内容を記憶して前記ＯＲ回路７２に伝達する記憶素子として機能する。
【００８４】
前記Ｅｘ．ＯＲ回路４４は、発生したパターンを外部からのＵＰ／ＤＯＷＮ信号に基づいて反転させるためのものであり、二個の入力端子を有し、一方の入力端子には前記スイッチ７４からの信号が入力され、他方の入力端子にはＵＰ／ＤＯＷＮ信号が入力される。そして、該Ｅｘ．ＯＲ回路４４の出力は前記アドレス入力用シフトレジスタ３２のシリアル入力端子へ送信される。ここで、図２５ではアドレス入力用シフトレジスタ３２を単一のものとして省略的に図示しているが、実際には図２４のように複数個の被テスト回路３１ａ〜３１ｃを機能テストするために複数個のアドレス入力用シフトレジスタ３２ａ〜３２ｃが並列に接続されている。図２５中のＳＩＡは複数個の前記アドレス入力用シフトレジスタ３２に対してアドレス指定データを送信する共通配線である。
【００８５】
＜使用方法＞
上記構成の半導体メモリの検査装置の使用方法を説明する。まず、被テスト回路３１の機能テスト時には、共通配線ＳＩＡを通じてアドレス入力用シフトレジスタ３２のシリアル入力端子にテストデータを入力し、アドレスとして被テスト回路３１（ＲＡＭ）に入力される。ここで、被テスト回路３１（半導体メモリ）がｍビット（例えば本実施の形態の場合、５ビット）のアドレス端子まで対応している場合、テストしたい被テスト回路３１がｎビット（例えば図２５乃至図３０では４ビット）のとき、アドレス発生用シフトレジスタ（ＡＤＤＲ）３５、制御レジスタ（ＣＡＲＲＹ）３６、およびフリップフロップ選択レジスタ（ＭＡＳＫＡ）３７の各レジスタのｍ−ｎ（本実施の形態の場合、５−４＝１）ビットが冗長になる。すなわち、図２５乃至図３０に示した本実施の形態では最大５ビットのアドレス端子を持つＲＡＭに対応している回路で、テストしたいＲＡＭが４ビットとしているため、冗長なビットが１ビットだけ存在することになる。かかる冗長なビットはレジスタの最下位ビット（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ：ＬＳＢ）側になるように設定しておく。
【００８６】
図２８は本実施の形態の検査装置が四次の全周期系列（テストパターン）を発生する例を示す。まずはじめに、アドレス発生用シフトレジスタ（ＡＤＤＲ）３５のフリップフロップα−０〜α−４に“０００００”を、制御レジスタ（ＣＡＲＲＹ）３６のフリップフロップβ−０〜β−４に“１１１１１”を、フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７のフリップフロップγ−０〜γ−４に“００１１０”を、アドレス入力用シフトレジスタ３２のフリップフロップに“００００”を予め入力しておく。ここで、フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７に設定したデータは、全周期系列を発生するＬＦＳＲの生成多項式である。本実施の形態で用いる生成多項式は、例として、
１＋Ｘ3＋Ｘ4
＝１＋０×Ｘ1＋０×Ｘ2＋１×Ｘ3＋１×Ｘ4＋０×Ｘ5
とする。このため、フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７には上述の通り“００１１０”を設定しておく。なお、四次の生成多項式の他の例としては１＋Ｘ2＋Ｘ4があり、この場合にはフリップフロップ選択レジスタ（ＭＡＳＫＡ）３７に“０１０１０”を設定することで異なるテストパターンを発生させることができる。
【００８７】
アドレス発生用シフトレジスタ（ＡＤＤＲ）３５に設定したデータ“０００００”は、２4ワードのアドレスを有する被テスト回路３１（ＲＡＭ）にあたえるアドレスの初期値“００００”である。ただし図２８に示した本実施の形態の場合はアドレス発生用シフトレジスタ（ＡＤＤＲ）３５の最下位ビットα−０（最下位ビット：ＬＳＢ）は冗長なビットとされる。
【００８８】
また、制御レジスタ（ＣＡＲＲＹ）３６には上述のように“１１１１１”を設定する。テスト実行時、比較回路３４の出力（ＣＭＰＥＮ）は常に“１”、ライトイネーブル（書き込み制御）データ入力用レジスタ３３への入力（ＳＩＷ）は常に“０”とされるので、常に被テスト回路３１（ＲＡＭ）への書き込み、期待値と被テスト回路３１の出力データの比較が行われる。
【００８９】
またアドレス入力用シフトレジスタ３２には上述のように予め“００００”を入力しておく。そして、選択信号端子Ｃｏｕｎｔｅｒ／ＬＦＳＲは本実施の形態の検査装置がＬＦＳＲとして機能するように“０”（ＬＦＳＲ指定）に設定しておく。さらに選択信号ＵＰ／ＤＯＷＮは“０”（ＵＰ指定）とする。
【００９０】
図２９は図２８のように各レジスタの初期値を設定した場合の等価回路である。図２９中の符号は夫々図２５と対応している。すなわち、本実施の形態の検査装置はフリップフロップα−１〜α−４を持つアドレス発生用シフトレジスタ（ＡＤＤＲ）３５を備える４ビットのＬＦＳＲであり、Ｓｉｎｈ−ＬＸ端子を“０”にすると、四次の全周期系列を発生する。全てのパターンを発生した後、ＵＰ／ＤＯＷＮ端子を反転させてＤＯＷＮ指定とすることで、先に発生したアドレスパターンとは逆の順序で発生することができる。
【００９１】
次に、本実施の形態の半導体メモリの検査装置をカウンタとして動作させる場合について説明する。図３０は本回路が四次のカウンタを発生する例を示す。アドレス発生用シフトレジスタ（ＡＤＤＲ）３５には“０００００”を予め入力しておく。また、制御レジスタ（ＣＡＲＲＹ）３６には“０００１０”を予め入力しておく。さらに、フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７にはアドレス入力用シフトレジスタ３２のビット数（＝４）を示す“０００１０”を予め入力しておく。一般にフリップフロップ選択レジスタ（ＭＡＳＫＡ）３７がｍビット（本実施の形態の場合、５ビット）、アドレス入力用シフトレジスタ３２がｎビット（図３０では４ビット）の場合、フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７の有効データ列の一桁目のみを“１”に設定し、残りのレジスタは“０”に設定する。ここでは、フリップフロップγ−１のみ“１”に設定する。
【００９２】
アドレス発生用シフトレジスタ（ＡＤＤＲ）３５に入力したデータ“０００００”は、２4ワードのアドレスを有する被テスト回路３１（ＲＡＭ）の初期値である。ただし最下位ビットα−０は冗長なビットである。制御レジスタ（ＣＡＲＲＹ）３６に入力したデータ“０００１０”は、フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７に入力したデータと同じである。アドレス入力用シフトレジスタ３２にはアドレス発生用シフトレジスタ（ＡＤＤＲ）３５と同じ（ただし最下位ビットα−０を省略したデータと同じ）アドレスの初期値“００００”を設定しておく。このように設定した場合、図３０に示した回路は図３１に示した回路と等価になる。すなわち、かかる条件設定において検査装置はアドレス変更手段としての１ビットカウンタとなり、４サイクルごとにインクリメントする。
【００９３】
図３１に基づいて本実施の形態の検査装置の動作について説明する。まず、リセット（ＲＳＥＴ）信号を“０”にし、ＦＦ７５の内部を“０”にする。この時Ｓｉｎｈ−ＬＸは“１”にし、アドレス発生用シフトレジスタ（ＡＤＤＲ）３５内のデータがシフトしないようにする。
【００９４】
次に、リセット（ＲＳＥＴ）信号を“１”にし、同時にＳｉｎｈ−ＬＸを“０”にする。このとき、アドレス発生用シフトレジスタ（ＡＤＤＲ）３５およびアドレス入力用シフトレジスタ３２は“００００”、制御レジスタ（ＣＡＲＲＹ）３６が“０００１”である。
【００９５】
また、図３０中のＳＩＷ（ライトイネーブル）は“０”、ＣＭＰＥＮ（データ出力）は“１”で、被テスト回路３１（ＲＡＭ）の０番地へのデータ書き込み、もしくは、被テスト回路３１（ＲＡＭ）のデータ出力と期待値との比較を行う。そして、半加算器７３にて「α−１」ＡＮＤ「β−１」が実行され、Ｓ＝１、Ｃ＝０となる。したがって次のクロックでアドレス発生用シフトレジスタ（ＡＤＤＲ）３５とアドレス入力用シフトレジスタ３２は“１０００”、制御レジスタ（ＣＡＲＲＹ）３６は“１０００”となる。このとき、ＳＩＷは“１”、ＣＭＰＥＮは“０”となり、故に被テスト回路３１（ＲＡＭ）のデータ書き込み、およびデータ出力値と期待値との比較は禁止される。また、アドレス入力用シフトレジスタ３２は“００００”である。
【００９６】
４回目のクロックサイクルではアドレス発生用シフトレジスタ（ＡＤＤＲ）３５は“０００１”となり、アドレス入力用シフトレジスタ３２は“００１０”である。ＳＩＷは“０”、ＣＭＰＥＮは“１”で、被テスト回路３１の１番地へのデータ書き込み、もしくはデータ出力と期待値との比較を行う。
【００９７】
そして、５回目のクロックサイクルではアドレス発生用シフトレジスタ（ＡＤＤＲ）３５は“００００”となり、アドレス入力用シフトレジスタ３２は“０００１”である。ＳＩＷは“１”、ＣＭＰＥＮは“０”で、被テスト回路３１（ＲＡＭ）のデータ書き込み、およびデータ出力値と期待値との比較は禁止される。
【００９８】
次に、半加算器７３で「α−１」ＡＮＤ「β−１」が実行され、Ｓ＝０、Ｃ＝１となる。したがって、次のクロックでアドレス発生用シフトレジスタ（ＡＤＤＲ）３５とアドレス入力用シフトレジスタ３２は“００００”、制御レジスタ（ＣＡＲＲＹ）３６は“１０００”となる。このとき、ＳＩＷは“１”、ＣＭＰＥＮは“０”で、被テスト回路３１へのデータ書き込み、およびデータ出力と期待値との比較は禁止される。
【００９９】
８回目のクロックサイクルではアドレス発生用シフトレジスタ（ＡＤＤＲ）３５とアドレス入力用シフトレジスタ３２は“００１０”、ＣＡＲＲＹは“０００１”である。ＳＩＷは“０”、ＣＭＰＥＮは“１”で、ＲＡＭの２番値へのデータ書き込み、もしくはＲＡＭのデータ出力と期待値との比較を行う。
【０１００】
このように本回路は、４回のシフト動作毎でアドレスをインクリメントに設定する。ＣＭＰＥＮは、ＣＡＲＲＹのシフトに同期して信号を出力し、アドレス設定時は“０”、テスト時は“１”を発生し、また、ＳＩＷはこれらの反転された値が入力される。
【０１０１】
以上の如く、本発明による回路はｎビットのシフトレジスタを設定した場合、ｎ回のシフト動作毎でアドレスをインクリメントすることができる。さらにＵＰ／ＤＯＷＮ端子を“１”にしてＳＩＡを反転させることでアドレスをデクリメントすることができる。
【０１０２】
なお、前述の第１の課題を解決するために、一定の順序でアドレスをシフト（インクリメントまたはディクリメント）する必要があり、アドレス発生回路にてアドレスのインクリメントまたはディクリメントを行うために、本実施の形態では同一の回路でＬＦＳＲ機能とカウンタ機能とを切り換えている。ところで、アドレス発生回路にてアドレスのインクリメントまたはディクリメントを行うためには、他の提案例として、図５９および図２４に示した第２の従来例と同一の構成のＬＦＳＲ回路５２３に、別部材としての一般的なカウンタを接続し、かかるカウンタとＬＦＳＲ回路５２３の連携動作にてアドレスのインクリメントまたはディクリメントを行う方法も考えられる。しかしながら一般にカウンタはＬＦＳＲ回路５２３に比べて面積規模が大きく、単一の集積回路内に集積するのは困難で、アドレスバスを外側に出して外部にカウンタを外付けしなければならない。したがって、カウンタ分の面積が余分に必要なだけでなく、アドレスバス等の配線機構をも必要とし、面積効率を大幅に低下させる要因となる。このことを考慮し、本実施の形態では、半加算器７３およびＦＦ７５等から構成される１ビットレジスタを用いて小さな面積の検査装置を実現している。
【０１０３】
｛実施の形態５｝
＜構成＞
図３２は本発明の実施の形態５の半導体メモリの検査装置を示す図である。実施の形態の半導体メモリの検査装置は、５ビット、すなわち２5のワード数以下のアドレス発生回路である点で実施の形態４と同様であるが、本実施の形態の検査装置は内部にマグネチュードコンパレータ（Ｍａｇｎｉｔｕｄｅ  Ｃｏｍｐａｒａｔｏｒ）を備える点で実施の形態４と異なる。図３２中の３５はＲＡＭアドレスの初期値を格納する５ビットのアドレス発生用シフトレジスタ（ＡＤＤＲ）、３７は全周期系列の生成多項式が初期値として与えられる５ビットのフリップフロップ選択レジスタ（ＭＡＳＫＡ）、３８は第１のＡＮＤ（論理積）回路群、４１は期待値発生回路であり、夫々、実施の形態４で説明したものと同様の構成とされている。また、図３２中の８１はＯＲ（論理和）回路群（ＭＡＳＫ）、８２は第２のＡＮＤ（論理積）回路群、８３はＲＡＭのアドレスの最大値が初期値として与えられる５ビットの最大アドレス値格納レジスタ（ＭＡＸＡ）、８４はマグネチュードコンパレータである。なお、前記アドレス発生用シフトレジスタ（ＡＤＤＲ）３５、前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７、前記第１のＡＮＤ回路群３８、前記期待値発生回路４１、前記ＯＲ回路群（ＭＡＳＫ）８１、および前記第２のＡＮＤ回路群８２は、テストパターン発生時に機能テストを行う複数種類の半導体メモリのアドレス数のうち最大アドレス値に対応するビット数のテストパターンを発生する算術論理演算部を構成する。
【０１０４】
前記ＯＲ回路群（ＭＡＳＫ）８１は、前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７について、最下位ビットγ−０（ＬＳＢ）から順に最上位ビットγ−４（ＭＳＢ）まで読み、もし、この間のビットγ−ｎが“１”のときにその上位のビット（γ−ｎ＋１）から最上位ビットγ−４（ＭＳＢ）をすべて“１”に変換する機能を有する。該ＯＲ回路群（ＭＡＳＫ）８１は四個のＯＲ回路９１，９２，９３，９４を有し、該各ＯＲ回路９１，９２，９３，９４は二個の入力端子を有している。前記ＯＲ回路９１の一方の端子は前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７のフリップフロップγ−０に接続され、他方の端子は前記フリップフロップγ−１に接続されている。前記ＯＲ回路９２の一方の端子は前記ＯＲ回路９１の出力端子に接続され、他方の端子は前記フリップフロップγ−２に接続されている。前記ＯＲ回路９３の一方の端子は前記ＯＲ回路９２の出力端子に接続され、他方の端子は前記フリップフロップγ−３に接続されている。前記ＯＲ回路９４の一方の端子は前記ＯＲ回路９３の出力端子に接続され、他方の端子は前記フリップフロップγ−４に接続されている。ここで、前記ＯＲ回路群８１の各ＯＲ回路９１〜９４をＭＡＳＫＡＤＤＲ（１）〜ＭＡＳＫＡＤＤＲ（４）とし、前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７の最下位ビットγ−０とＯＲ回路９１の接続点をＭＡＳＫＡＤＤＲ（０）としておく。
【０１０５】
前記第２のＡＮＤ回路群８２は、前記アドレス発生用シフトレジスタ（ＡＤＤＲ）３５と前記ＯＲ回路群８１のＭＡＳＫＡＤＤＲ（０）〜ＭＡＳＫＡＤＤＲ（４）について各ビットのＡＮＤをとって出力する。該第２のＡＮＤ回路群８２は前記アドレス発生用シフトレジスタ（ＡＤＤＲ）３５および前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７のビット数に対応して５個のＡＮＤ回路９５〜９９から構成される。該各ＡＮＤ回路９５〜９９には、対応する前記アドレス発生用シフトレジスタ（ＡＤＤＲ）３５の各フリップフロップα−０〜α−４および前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７の各フリップフロップγ−０〜γ−４からの信号が入力される。そして、例えばＡＮＤ回路９５は“α−０  ＡＮＤ  γ−０”を演算し、また例えばＡＮＤ回路９９は“α−４  ＡＮＤ  γ−４”を演算する。
【０１０６】
前記最大アドレス値格納レジスタ（ＭＡＸＡ）８３は被テスト回路３１の最大ワード数が格納されるレジスタであって、前記アドレス発生用シフトレジスタ（ＡＤＤＲ）３５および前記フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７と同様、五個のフリップフロップδ−０〜δ−４を備える。
【０１０７】
前記マグネチュードコンパレータ８４は、デジタルデータの大小比較回路であり、発生する全周期系列がＲＡＭのアドレス値以上の値を出したときＳＩＷに“１”、ＣＭＰＥＮに“０”を出力する。
【０１０８】
また、図３２中のデータ入力用レジスタ３３および比較回路３４は、実施の形態４で説明したものと同様のものが用いられる。そして、前記マグネチュードコンパレータ８４、データ入力用レジスタ３３、および比較回路３４は、前記被テスト回路３１（ＲＯＭ）のアドレスに対応しない前記算術論理演算部の冗長ビットのデータが前記半導体メモリに書き込まれるのを禁止する書き込み制御指令部を構成する。
【０１０９】
＜使用方法＞
上記構成の半導体メモリの検査装置の使用方法を説明する。まず、実施の形態４と同様、初期段階として、アドレス発生用シフトレジスタ（ＡＤＤＲ）３５にＲＡＭアドレスの初期値を、フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７に全周期系列の生成多項式（＝“００１１０”）を、最大アドレス値格納レジスタ（ＭＡＸＡ）８３にＲＡＭのアドレスの最大値（＝“１０１１”）を夫々格納する。ここで、本実施の形態では冗長ビットを最下位ビット（ＬＳＢ）側に設定しており、実施の形態４と同様、α−０、δ−０は冗長ビットである。
【０１１０】
ここで、図３３のように、あるクロックサイクルの時点、例えばアドレス発生用シフトレジスタ（ＡＤＤＲ）３５が“１００１”の時点を考える。図３４は図３３の等価回路である。図３４中のＳＩＡには、「１＋Ｘ3＋Ｘ4」のＬＦＳＲの生成多項式にしたがって生成された疑似ランダムなアドレスパターンが出力される。ここで、アドレス入力用シフトレジスタ３２の値とアドレス発生用シフトレジスタ（ＡＤＤＲ）３５の値α−４〜α−１は等しい。このため、ＲＡＭへのデータ書き込みおよびＲＡＭデータ出力値と期待値との比較を禁止する必要がある。そこで、アドレス発生用シフトレジスタ（ＡＤＤＲ）３５の値と最大アドレス値格納レジスタ（ＭＡＸＡ）８３の値とをマグネチュードコンパレータ８４で比較することでＳＩＷおよびＣＭＰＥＮを発生する。具体的には、ＲＡＭアドレス値が最大アドレス値格納レジスタ（ＭＡＸＡ）８３に事前に設定された値（＝“１０１１”）よりも大きくなると、ＳＩＷには“１”、ＣＭＰＥＮには“０”を発生して、ＲＡＭへのデータ書き込みおよびＲＡＭデータ出力値と期待値との比較を禁止する。
【０１１１】
このように、機能テストする被テスト回路３１のアドレス数がいくつであっても、アドレス値の基準の値に対する大小を比較することで、冗長ビットの除却処理を確実に行うことができる。
【０１１２】
｛実施の形態６｝
＜構成＞
上記実施の形態５において、テストパターンとして“０００００”を発生しようとすると、第１のＡＮＤ回路群３８および第２のＡＮＤ回路群８２を経たデータは全て“０”になってしまい、アドレス発生用シフトレジスタ（ＡＤＤＲ）３５を何回シフトしても、以後、これらのアドレス入力用シフトレジスタ３２への入力（ＳＩＡ）は“０”のまま永遠に“１”に変換されなくなってしまう。したがって、実施の形態５ではテストパターンとして“０００００”の発生が不可能であり、その意味でテストパターンが限定されるという問題点がある。本発明の実施の形態６の半導体メモリの検査装置は、実施の形態５では発生できなかった“０００００”の発生を可能とするものである。
【０１１３】
図３５は本発明の実施の形態６の半導体メモリの検査装置を示す図である。図３５中の１０１は、実施の形態５で説明した第１のＡＮＤ回路群３８および第２のＡＮＤ回路群８２と同様の構成の第３のＡＮＤ回路群である。具体的には、該第３のＡＮＤ（論理積）回路群１０１は、四個のＡＮＤ回路１０１ａ〜１０１ｄを有し、各ＡＮＤ回路１０１ａ〜１０１ｄの一方の入力端子は前記アドレス発生用シフトレジスタ（ＡＤＤＲ）３５の最下位ビットを除く各フリップフロップα−１〜α−４に接続され、他方の入力端子は前記ＯＲ回路群８１のＭＡＳＫＡＤＤＲ（０）〜ＭＡＳＫＡＤＤＲ（４）（実施の形態５参照）に接続されている。該第３のＡＮＤ回路群１０１は、図３５では、｛１，０，０，１｝ＡＮＤ｛１，１，１，０｝となる。また、図３５中の１０２は四ビットのＮＯＲ回路１０２で、第３のＡＮＤ回路群１０１の全出力のＮＯＲをとる。
【０１１４】
なお前記第２のＡＮＤ回路群８２は、Ｍビットのアドレス発生回路では、
“ＡＤＤＲ（１）  ＡＮＤ  ＭＡＳＫＡ（０）”
“ＡＤＤＲ（２）  ＡＮＤ  ＭＡＳＫＡ（１）”
〜
“ＡＤＤＲ（Ｍ）  ＡＮＤ  ＭＡＳＫＡ（Ｍ−１）”
を出力する。
【０１１５】
また、図３５中の１０３はＥｘ．ＯＲ回路１０３であり、前記ＮＯＲ回路１０２からの出力信号と前記期待値発生回路４１からの出力信号が入力される。そして、前記ＮＯＲ回路１０２および前記Ｅｘ．ＯＲ回路１０３は、直前に発生された半導体メモリのアドレスの全てのビットデータが“０００１”であった場合に該ビットデータの値と異なる値のビットデータを発生して後続の半導体メモリのアドレスに“００００”を与える回路を構成する。
【０１１６】
＜使用方法＞
図３６は図３５と等価な回路である。上記構成の半導体メモリの検査装置ＳＩＡは疑似ランダムなアドレスパターンを生成する際の使用方法を説明する。まず、アドレス発生用シフトレジスタ（ＡＤＤＲ）３５からの信号に基づいて期待値発生回路４１は疑似ランダムなアドレスパターンを生成する。ただし、ＲＡＭアドレス値が最大アドレス値格納レジスタ（ＭＡＸＡ）８３に格納された値よりも大きくなると、マグネチュードコンパレータ８４にてその旨を判断し、ＳＩＷへ“１”、ＣＭＰＥＮへ“０”を出力し、被テスト回路（ＲＡＭ）にライトイネーブル信号および比較イネーブル信号入力信号を送信して、ＲＡＭへのデータ書き込みおよび正誤判断（検査）を禁止する。ここで、α−２〜α−４が全て“０００１”のとき、次のクロックのタイミングでＥｘ．ＯＲ回路１０３はアドレス入力用シフトレジスタに至る配線ＳＩＡへ“０”を出力し、ＲＡＭの０番地を発生する。本実施の形態によっても、実施の形態５と同様の効果を得ることができる。
【０１１７】
｛実施の形態７｝
実施の形態５および実施の形態６に示したマグネチュードコンパレータ８４は、回路規模が大きくまた遅延時間も大きい。したがって、面積効率および処理効率のいずれをも劣化させる原因となっていた。ところで、ワード数によっては比較的下位のビットについて常にマグネチュードコンパレータ８４で比較しなくてもよい場合がある。例えば最下位ビットα−０（ＬＳＢ）を冗長ビットとし、かつ最大ワード（二進数）が“１００１（十進数で１０ワード）”の場合（すなわち、「α−４」＝“１”，「α−３」＝“０”，「α−２」＝“０”，「α−１」＝“１”の場合）、このうちの最も下位のビット「α−１」は、“０”でも“１”でも許容できるため、大小比較をしてもしなくても同じである。したがって、この場合、「α−４」、「α−３」、「α−２」の上位３ビットのみ大小比較しても結果は同じである。さらに、最大ワード（二進数）が“１０１１（十進数で１２ワード）”の場合（すなわち、「α−４」＝“１”、「α−３」＝“０”、「α−２」＝“１”、「α−１」＝“１”の場合）、このうちの下位の２ビット「α−２」、「α−１」は、“０”でも“１”でも許容できるため、「α−４」、「α−３」の上位２ビットのみ大小比較しても結果は同じである。このことを利用して、本発明の実施の形態７では、マグネチュードコンパレータ８４は、必要でない下位ビットの比較を省略して特定の上位ビットのみで比較を行うように構成されている。そうすると、実施の形態５に比べてマグネチュードコンパレータ８４の回路規模を小さくでき、面積効率を向上し得るとともに、遅延時間を軽減することで処理効率を向上し得る。例えば図３７のように、最大１０ワード（１０進数）の場合、上述のように「α−４」、「α−３」、「α−２」の上位３ビットのみ大小比較で済むため、上述のようにマグネチュードコンパレータ８４の面積が３ビットのデータ比較に必要な回路面積で足りるだけでなく、最大アドレス値格納レジスタ（ＭＡＸＡ）８３とマグネチュードコンパレータ８４の間の配線、および第２のＡＮＤ回路群８２とマグネチュードコンパレータ８４との間の配線は３本ずつで済み、配線上での省面積化を図り得る。
【０１１８】
｛実施の形態８｝
アドレッシング中にＲＡＭのデータ入力（ＤＩ）の周期が変化するテストパターンでは、アドレスパターンに同期してデータ入力パターンを変化して発生する回路を用意する必要がある。例えば、図３９に示すチェッカーボードパターンの場合、ＲＯＭアドレスを“００００”から“１１１１”まで順にインクリメントするとすれば、各ビットに対応するパターンは「０」「１」「０」「１」「１」「０」「１」「０」「０」「１」「０」「１」「１」「０」「１」「０」の順に格納しなければならないが、単純な「０」「１」の繰り返しではなく、１段ごとに反転するという複雑な順番になる。本発明の実施の形態８はかかる複雑な順番のテストパターンを発生するデータ入力パターン発生回路を有するものである。
【０１１９】
図３８は本発明の実施の形態８の半導体メモリの検査装置を示す図である。本実施の形態の半導体メモリの検査装置は、メモリ回路のテストでよく用いられるチェッカーボードパターン、カラムバーパターン、ローバーパターンの発生方法について説明する。図３８中、３５はアドレス発生用シフトレジスタ（ＡＤＤＲ）、３７はフリップフロップ選択レジスタ（ＭＡＳＫＡ）、３８は第１のＡＮＤ回路群、４１は期待値発生回路であって、これらは実施の形態４で説明したものと同様である。また、１１１は二次元パターン記憶部としての５ビットのシフトレジスタ（以下、ＭＡＳＫＤと略す）、１１３は前記期待値発生回路４１と同様の期待値発生回路、１１４は内部構成が前記第１のＡＮＤ回路群３８と同様とされ「｛ＡＤＤＲ｝  ＡＮＤ  ｛ＭＡＳＫＤ｝」を実行する第２のＡＮＤ回路群、１１５は被テスト回路３１にライトイネーブル信号およびＥｘ．ＯＲ回路１１５である。前記期待値発生回路１１３でアドレス発生用シフトレジスタ（ＡＤＤＲ）３５とＭＡＳＫＤ１１１の期待値を発生する。期待値発生回路１１３の出力はＥｘ．ＯＲ回路１１５に伝達されてＳＩＷおよびＣＭＰＥＮを制御する。
【０１２０】
ここで、ＲＡＭのアドレスは、図４０の如く、仮想縦軸アドレスとしての上位アドレス（以下、Ｘアドレスと略す）と、仮想横軸アドレスとしての下位アドレス（以下、Ｙアドレスと略す）に分けて考えることができる。図４０および図４１はチェッカーボードパターンを発生するようにＭＡＳＫＤ１１１を設定した例である。すなわち、ＭＡＳＫＤ１１１は、２ビットの仮想縦軸（Ｘ）アドレス記憶ビット群と２ビットの仮想横軸（Ｙ）アドレス記憶ビット群と１ビットの冗長ビットが連なって構成される。図４０のようにＸアドレスの最下位ビット（以下、Ｘ（ｌｓｂ）と略す）を“１”、Ｙアドレスの最下位ビット（以下、Ｙ（ｌｓｂ）と略す）を“１”にし、他のビットを“０”に設定する。ここで、前記Ｅｘ．ＯＲ回路１１５の一方の端子に入力するＤＡＴＡを“０”にする。期待値発生回路１１３は、アドレス発生用シフトレジスタ（ＡＤＤＲ）３５とＭＡＳＫＤ１１１の値が等しいとき“０”を出力する。このとき、Ｅｘ．ＯＲ回路１１５から出力されるＳＩＷは“１”、ＣＭＰＥＮは“０”となり、ＲＡＭ出力と期待値との比較および書き込みを禁止する。逆にＸ（ｌｓｂ）とＹ（ｌｓｂ）が異なるときは、ＲＡＭ出力と期待値との比較もしくは書き込みを行う。また、ＤＡＴＡを“１”にすることでＳＩＷおよびＣＭＰＥＮを反転することができる。なお、図４１はこのときの等価回路である。
【０１２１】
次に、上記したチェッカーボードパターンの発生手順を簡単にまとめて記載する。
【０１２２】
１．ＭＡＳＫＤを“０１０１０”に設定する。ここで、ＡＤＤＲアドレス発生用シフトレジスタ（ＡＤＤＲ）３５およびアドレス入力用シフトレジスタ３２を、テストを開始する番地に初期設定する。また、ＤＡＴＡを“０”に、被テスト回路３１（ＲＡＭ）の全てのＤＩを“０”に設定する。
【０１２３】
２．ＬＦＳＲを実行して全アドレスを発生する。
【０１２４】
３．ＤＡＴＡを“１”に設定する。また、ＲＡＭの全てのＤＩを“０”に設定する。
【０１２５】
４．ＬＦＳＲを実行して全アドレスを発生する。このような手順で図３９に示したパターンが発生する。
【０１２６】
図４２および図４３はカラムバーパターンを発生するようにＭＡＳＫＤを設定した例である。Ｙアドレスの最下位ビット（以下、Ｙ（ｌｓｂ）と略す）を“１”にし、他のビットを“０”に設定する。ＤＡＴＡを“０”にする。期待値発生回路１１３は、Ｙ（ｌｓｂ）の値を出力するので、Ｙ（ｌｓｂ）が“０”の時、ＳＩＷは“１”、ＣＭＰＥＮは“０”を発生し、Ｙ（ｌｓｂ）が“１”の時、ＳＩＷは“０”、ＣＭＰＥＮは“１”となる。また、ＤＡＴＡを“１”にすることでＳＩＷおよびＣＭＰＥＮを反転することができる。なお、図４４はこのときの等価回路である。
【０１２７】
この場合のカラムバーパターンの発生手順は次の通りである。
【０１２８】
１．ＭＡＳＫＤを上記のように初期設定する。ここでは、ＭＡＳＫＤを“００００１０”に設定する。また、アドレス発生用シフトレジスタ（ＡＤＤＲ）３５およびアドレス入力用シフトレジスタ３２を、テストを開始する番地に初期設定する。さらに、Ｅｘ．ＯＲ回路１１５の一方の端子に入力するＤＡＴＡを“０”に設定する。そして、被テスト回路３１（ＲＡＭ）の全てのＤＩを“０”に設定する。
【０１２９】
２．ＬＦＳＲを実行して全アドレスを発生する。
【０１３０】
３．ＤＡＴＡを“１”に設定する。そして、被テスト回路３１（ＲＡＭ）の全てのＤＩを“０”に設定する。
【０１３１】
４．ＬＦＳＲを実行して全アドレスを発生する。このような手順で図４２に示したパターンが発生する。
【０１３２】
図４５および図４６はローバーパターンを発生するようにＭＡＳＫＤを設定した例である。Ｘアドレスの最下位ビット（以下、Ｘ（ｌｓｂ）と略す）を“１”にし、他のビットを“０”に設定する。ＤＡＴＡを“０”にする。１１３は、Ｘ（ｌｓｂ）の値を出力するので、Ｘ（ｌｓｂ）が“０“の時、ＳＩＷは“１”、ＣＭＰＥＮは“０”を発生し、Ｘ（ｌｓｂ）が“１”の時、ＳＩＷは“０”、ＣＭＰＥＮは“１”を発生する。また、ＤＡＴＡを“１”にすることでＳＩＷ／ＣＭＰＥＮを反転することができる。なお、図４７はこのときの等価回路である。
【０１３３】
この場合のローバーパターンを発生する手順は次の通りである。
【０１３４】
１．ＭＡＳＫＤを上記のように初期設定する。ここでは、ＭＡＳＫＤを“０１０００”に設定する。ＡＤＤＲおよびＲＡＭのアドレス用シフトレジスタを、テストを開始する番地に初期設定する。ＤＡＴＡを“０”に設定する。ＲＡＭの全てのＤＩを“１”に設定する。
【０１３５】
２．ＬＦＳＲを実行して全アドレスを発生する。
【０１３６】
３．ＤＡＴＡを“１”に設定する。ＲＡＭの全てのＤＩを“０”に設定する。
【０１３７】
４．ＬＦＳＲを実行して全アドレスを発生する。
【０１３８】
｛実施の形態９｝
＜構成＞
図４８は本発明の実施の形態９の半導体メモリの検査装置を示す図である。被テスト回路（ＲＡＭ）の機能テストを実施する場合、全アドレス、ビット等を動かしながらバーインをする必要がある（ダイナミックバーイン）。本実施の形態の半導体メモリの検査装置は、１ピンのみでダイナミックバーイン用テストパターンを発生するものである。図４８中の１２１はダイナミックバーイン用パターン発生回路１２１、１２２はＬＦＳＲ回路、１２３は１ビットカウンタ、１２４，１２５，１２６は信号線、１２７はシフトレジスタ、１２８は１ビットカウンタとしてのフリップフロップ（以下、ＦＦと略す）、１２９はＮＯＴ回路、１３０はＥｘ．ＯＲ回路、ＳＩ−Ｄはデータ出力、ＳＩ−Ｗ０およびＳＩ−Ｗ１は反転出力、ＳＩ−Ｃはチップイネーブル信号またはリードイネーブル信号の出力、ＳＩ−Ａはアドレス出力である。また、図４９はダイナミックバーイン用パターン発生回路１２１で複数個の被テスト回路３１ａ〜３１ｃのＲＡＭアドレス設定を行う際の接続状態を示す図である。図４９中の３２ａ〜３２ｄはアドレス入力用シフトレジスタ、３３ａ〜３３ｄはライトイネーブル（書き込み制御）データ入力用レジスタ、３４ａ〜３４ｄは被テスト回路３１ａ〜３１ｃのデータ出力値と期待値の比較を行う比較回路、１３１ａ，１３１ｂはチップイネーブル端子ＣＥにチップイネーブル信号を送るレジスタ、１３２ａ，１３２ｂはリードイネーブル端子ＲＥ０，ＲＥ１にリードイネーブル信号を送るレジスタである。さらに、ＤＩ０〜ＤＩ２はデータ入力端子である。
【０１３９】
前記ＬＦＳＲ回路１２２は、図４８の如く、生成多項式に基づいて複数個のＦＦを有するシフトレジスタ１２７とＥｘ．ＯＲ回路１３０とを組み合わせることで構成できる。図４８のＬＦＳＲ回路１２２では生成多項式が１＋Ｘ＋Ｘ22とされる。生成多項式はダイナミックバーイン用パターン発生回路１２１とテストすべき複数の被テスト回路３１ａ〜３１ｃ（ＲＡＭ）のアドレス端子数と制御端子数の和よりも大きくなるビット数になるように設定される。ただし、図４９中の被テスト回路３１ａのようなマルチポートＲＡＭでは、アドレスのシフトレジスタのシフト入力とリードイネーブル（ＲＥ）信号を共通にしても発明の効果は変わらない。また、ＷＥＣ端子が２つ（ＷＥＣ０，ＷＥＣ１）ある場合は、ＷＥＣ１端子にＷＥＣ０信号を反転して入力し同アドレスの同時書き込みを防ぐよう構成される。例えば図４９ではＲＡＭ３１ａとＲＡＭ３１ｂは端子数が６、ＲＡＭ３１ａは端子数が７なので７次以上の全周期系列を発生する生成多項式が設定される。
【０１４０】
なお、図４８中でダイナミックバーイン用パターン発生回路１２１が発生するデータ出力ＳＩ−Ｄは被テスト回路３１へのアドレス入力用シフトレジスタ３２に接続される。ＢＵＲＮＩＮは本回路の１ビットカウンタとＬＦＳＲ回路のリセット端子である。また、ＣＬＫはクロック端子で、１ビットカウンタ１２３やＬＦＳＲ回路１２２に与えられる。
【０１４１】
＜使用方法＞
上記構成の半導体メモリの検査装置の使用方法を次に示す。
【０１４２】
１．ＲＳＥＴ端子を“０”にし、ＬＦＳＲと１ビットカウンタをＲＳＥＴする。
【０１４３】
２．リセット端子ＢＵＲＮＩＮを“１”にすると、ＬＦＳＲ回路１２２が２２次の全周期系列を発生し、１ビットカウンタ１２３が“１”，“０”，“１”，“０”，“１”．．．を発生する。
【０１４４】
３．ｎ次のＬＦＳＲ回路１２２は奇数ビット（２n−１）の全周期系列を発生する。これに対し１ビットカウンタ１２３は２ビットのデータを発生する。従って、ＬＦＳＲが全周期系列を発生した後、２周期目になるとき、１ビットカウンタ１２３は前段階（上記の２．）とは反転したデータを発生する。すなわちアドレス番地Ａ０〜Ａ４，Ａ００〜Ａ１３およびすべてのＣＥ，ＲＥ０，ＲＥ１，ＷＥＣ０，ＷＥＣ１の組み合わせに対し、ＤＩ０，ＤＩ１，ＤＩ００〜ＤＩ１１は奇数周期目と偶数周期目で反転したデータが入力される。
【０１４５】
かかる動作（１．〜３．）を一定時間繰り返す。
【０１４６】
｛実施の形態１０｝
＜構成＞
図５０は本発明の実施の形態１０の半導体メモリの検査装置を示す図である。本実施の形態の半導体メモリの検査装置は、実施の形態４乃至実施の形態９の各要素を一個の回路に組み込んだものである。図５０中において、実施の形態４乃至実施の形態９と同様の機能を有する要素については同一符号を付している。また、図５０中の１４１，１４２，１４３はＦＦ、１４４，１４５はＯＲ回路、１４６はＡＮＤ回路、１４７は片側入力端子が負入力とされたＡＮＤ回路、１４８はスイッチング素子、１４９はインバータである。また、ＳＩはシフト入力信号、ＳＯはシフト出力信号、ＬＦＳＲＸはセレクタの選択信号、Ｓｉｎｈ−ＬＸはアドレス発生用シフトレジスタ（ＡＤＤＲ）３５のシフト禁止信号である。また、Ｓｉｎｈ−ＭＸはＢＵＲＮＩＮを反転した信号に対してＡＮＤをとったもので、制御レジスタ（ＣＡＲＲＹ）３６、フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７、フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７、ＭＡＳＫＤ１１１、制御レジスタ（ＭＡＸＡ）８３、フリップフロップＵＰ／ＤＯＷＮ、Ｃｏｕｎｔｅｒ、およびＤＡＴＡのシフト禁止信号である。Ｓｉｎｈ−ＬＸおよびＳｉｎｈ−ＭＸは夫々“１”のとき、各シフトレジスタおよびフリップフロップのシフト動作を禁止する。
【０１４７】
図５２は図５０のダイナミックバーイン用パターン発生回路１２１を詳細に記述したものである。ここでは、ＭＡＳＫＡ、ＭＡＳＫＤ、ＭＡＸＡを、バーイン用テストパターンを発生するＬＦＳＲ回路を構成するシフトレジスタ（ＬＦＳＲ／Ｃｏｕｎｔｅｒ）３８，３９，４１，４２，４３と共通に利用している。なお図５２に示したダイナミックバーイン用パターン発生回路１２１は図４８で示した生成多項式のＬＦＳＲ回路１２２と同様の構成とされている。１４１はＬＦＳＲ回路３８，３９，４１，４２，４３のリセットを行う。すなわち、ＦＦ１４１は図２５に示した実施の形態４におけるＣｏｕｎｔｅｒ／ＬＦＳＲ端子に相当する。１２４，１２５，１２６は夫々図４８の同符号の信号線に対応している。ＦＦ１４３は図３８のＤＡＴＡ端子に相当する。
【０１４８】
ここで、図５３はダイナミックバーイン用パターン発生回路１２１と被テスト回路３１との接続の詳細を示すものである。図５３中のＳＩＡ、ＳＩＤ、ＳＩＣ、およびＳＩＷはダイナミックバーイン用パターン発生回路１２１の出力であり、ＳＩＡはアドレス入力用シフトレジスタ３２へ、ＳＩＷはデータ入力用シフトレジスタ１４０へ、ＳＩＣはＣＥＣ（ＲＥＣ）へ、ＳＩＷはＷＥＣへ伝送される。また、ＳＩＸはダイナミックバーイン用パターン発生回路１２１ｘへのＳＩ入力、ＳＩＣＸはＳＩＣを出力するための信号、ＳＩＷＸはＳＩＷを出力するための信号、ＳＩＤＸはＳＩＤを出力するための信号、ＣＭＰＥＮＸは３４ＦへＣＭＰＥＮを出力するための信号である。また、ダイナミックバーイン用パターン発生回路１２１ｘからのＣＭＰＥＮおよびＳＩＷＸは一のＡＮＤ回路に入力されＳＩＷが被テスト回路３１に入力される。さらに、ダイナミックバーイン用パターン発生回路１２１ｘからのＣＭＰＥＮおよびＣＭＰＥＮＸは他のＡＮＤ回路に入力され３４ＦにＣＭＰＥＮが入力される。
【０１４９】
＜使用方法＞
上記構成の半導体メモリの検査装置の使用方法を説明する。図５１は入力端子の設定について表にまとめたものである。本実施の形態の半導体メモリの検査装置では、実施の形態４乃至実施の形態８で示した制御レジスタＭＡＳＫＡ，ＭＡＳＫＤ，ＭＡＸＡをシフトレジスタにしている。各初期設定時にはこれらのシフトレジスタが１本のスキャンパスを構成する。テストパターン発生時にはシフト禁止信号Ｓｉｎｈ−ＭＸで制御レジスタとして動作する。
【０１５０】
｛１｝ダイナミックバーンイン用テストパターン生成時の動作
まず、本実施の形態の半導体メモリの検査装置を通常のテスト時におけるアドレスパターンを発生する回路として用いる場合について説明する。
【０１５１】
（初期設定時）
ＢＵＲＮＩＮ端子を“０”にし、ＬＦＳＲ回路３８，３９，４１，４２，４３と１ビットカウンタとしてのダイナミックバーイン用パターン発生回路１２１をＲＳＥＴする。
【０１５２】
（ダイナミックバーンイン用パターン生成時）
ＢＵＲＮＩＮ端子を“１”にすると、ＬＦＳＲ回路３８，３９，４１，４２，４３が２２次の全周期系列を発生し、ダイナミックバーイン用パターン発生回路１２１が“１”，“０”，“１”，“０”，“１”．．．を発生する。そして、ｎ次のＬＦＳＲ回路３８，３９，４１，４２，４３は奇数ビット（２n−１）の全周期系列を発生する。これに対し１ビットカウンタ１２１は２ビットのデータを発生する。従って、ＬＦＳＲが全周期系列を発生した後、２周期目になるとき、１ビットカウンタ１２１は前段階とは反転したデータを発生する。
【０１５３】
かかる動作（１．〜３．）を一定時間繰り返す。このとき他の入力端子は検査装置には影響しない。
【０１５４】
｛２｝アドレスパターン生成時の動作
（初期設定時）
まず、各シフトレジスタに初期値を設定する。各シフトレジスタの初期値については、Ｓｉｎｈ−ＬＸおよびＳｉｎｈ−ＭＸを“０”にして、シフト動作を可能にする。これ以外は実施の形態４乃至実施の形態９で説明した通りである。なお、ＦＦ１４２は図２５に示した実施の形態４における制御信号端子ＵＰ／ＤＯＷＮに相当し、“１”を設定することでアドレスパターンを反転することができる。
【０１５５】
（テスト用パターン生成時）
各シフトレジスタ３５，３６，３７，１１１，８３および各ＦＦ１４１〜１４３の初期設定にしたがってテストパターンを生成する。テスト実行時間はアドレス線がｎ本のＲＡＭ３１ａ〜３１ｃに対し２nサイクルである。この間、Ｓｉｎｈ−ＬＸは“０”に設定し、アドレス発生用シフトレジスタ（ＡＤＤＲ）３５をシフト動作可能とする。Ｓｉｎｈ−ＭＸは“１”に設定し、フリップフロップ選択レジスタ（ＭＡＳＫＡ）３７、ＭＡＳＫＤ１１１、制御レジスタ（ＭＡＸＡ）８３、フリップフロップＵＰ／ＤＯＷＮ、Ｃｏｕｎｔｅｒ、およびＤＡＴＡのシフト動作を禁止する。なお、各部の動作は実施の形態４乃至実施の形態９で説明した通りである。
【０１５６】
このように、本実施の形態の半導体メモリの検査装置では、複雑なテストパターンに対しテストベクタ数を大幅に減少させることができる。
【０１５７】
｛実施の形態１１｝
＜構成＞
図５４は本発明の実施の形態１１の半導体メモリの検査装置を示す図である。本実施の形態の半導体メモリの検査装置は、ＲＡＭの特定のアドレスの故障を検出し得るものである。該半導体メモリの検査装置は、実施の形態５、実施の形態６、および実施の形態７と類似した回路構成とされているが、ただし、実施の形態５、実施の形態６、および実施の形態７では単一のマグネチュードコンパレータ８４を備えていたのに対し、本実施の形態では一対のマグネチュードコンパレータ８４ａ，８４ｂ（マグネチュードコンパレータ）を備えている。ここで、一方のマグネチュードコンパレータ８４ａは実施の形態５、実施の形態６、および実施の形態７で説明したマグネチュードコンパレータ８４と同様の機能、すなわち制御レジスタ（ＭＡＸＡ）８３に格納された最大アドレス値と算術論理演算部で新たに発生されたアドレスとの大小比較を行う機能を有する。他方のマグネチュードコンパレータ８４ｂ（検出回路）は、制御レジスタ（ＭＡＸＡ）８３に格納された最大アドレス値と算術論理演算部で新たに発生されたアドレスとが等しいか否かを検出する機能を有する。該マグネチュードコンパレータ８４ｂにて新たに発生したＲＡＭアドレスとＭＡＸＡの値とを比較し、ＲＡＭアドレスがＭＡＸＡの値と一致したときのみＣＭＰＥＮ＝“１”を発生しＲＡＭのデータの期待値との比較を行う。したがって、ＭＡＸＡに被テスト回路３１の特定のアドレスを設定することによって、被テスト回路３１の特定のアドレスに対し故障を検出できる。
【０１５８】
本実施の形態の半導体メモリの検査装置は、図５４の如く、図３２に示した実施の形態５の回路中に特定アドレスの故障検出用のマグネチュードコンパレータ８４ｂを加えたものである。制御レジスタ（ＭＡＸＡ）８３は、被テスト回路３１の最終アドレスまたは故障検出を行いたいアドレスを設定する。なお、実施の形態７と同様に、回路規模を小さくし、遅延を小さくするために、ＲＡＭのアドレスをＭＡＸＡの比較は上位ビットのみで比較するとよい。図５４中のＥＱは一対のマグネチュードコンパレータ８４ａ，８４ｂの両出力の切換信号である。ＥＱ＝０のときマグネチュードコンパレータ８４ａを選択し、ＥＱ＝１のときマグネチュードコンパレータ８４ｂを選択するよう構成される。
【０１５９】
＜使用方法＞
上記構成の半導体メモリの検査装置において、特定のアドレスに対する故障を検出する際には、マグネチュードコンパレータ８４ｂにて、新たに発生したＲＡＭアドレスとＭＡＸＡの値とを比較し、ＲＡＭアドレスがＭＡＸＡの値と一致したときのみＣＭＰＥＮが“１”を発生しＲＡＭのデータの期待値との比較を行う。したがって、ＭＡＸＡに被テスト回路３１の特定のアドレスを設定することによって、被テスト回路３１の特定のアドレスに対し故障を検出できる。
【０１６０】
一方、通常の機能テストの際には、実施の形態５で説明したのと同様の方法で機能テストを実施すればよい。
【０１６１】
｛実施の形態１２｝
＜背景＞
図６０に半導体メモリの検査装置の回路例を示す。図６０中、３０１はテストパターン生成回路（例えばＬＦＳＲ：乱数発生回路）、３０２は周辺回路としてのテスト回路、３０３はＲＡＭコア（メモリコア）である。ここで、前記テスト回路３０２は、通常動作時に前記ＲＡＭコア３０３に対して種々のデータ授受を行うデータ入出力回路（周辺回路）としての機能を兼ね備えている。そして、前記テストパターン生成回路３０１は、所定のビット数のシフトレジスタ３１２，３１３で構成され、ＲＡＭコア３０３のテストを行うテストパターンを生成する。なお、一方のシフトレジスタ３１２は、前記した実施の形態４乃至実施の形態１１の例えば有効アドレス数格納部（ＭＡＳＫＡ）３７や二次元パターン記憶部（ＭＡＳＫＤ）１１１に相当し、他方のシフトレジスタ３１３は、実施の形態４乃至実施の形態１１の例えばアドレス発生部（ＡＤＤＲ）３５や制御レジスタ（ＣＡＲＲＹ）３６に相当するものである。また、ＢＩＳＴは周辺回路（テスト回路）３０２について通常動作モードとテストモードとを切り換えるためのモード切換信号（ＢＩＳＴ信号）の入力ピンである。ＳＩはテストパターン生成回路３０１のロジックデータ（第１の入力データ）入力ピンで、データをシフトインする。ＳＩＮＨ０およびＳＩＮＨ１（シフト禁止信号）は、アドレス等を確定したいとき等において、夫々「１」を出力することで各シフトレジスタ３１２，３１３のシフト動作を禁止するための制御信号を入力する入力ピンである。すなわち、各シフトレジスタ３１２，３１３は、ＳＩＮＨ１，ＳＩＮＨ０が「０」のときにシフトし、「１」のときにシフトが禁止される。ここで、図６０中のテストパターン生成回路３０１は、前記した実施の形態１０の回路に対応しており、かつ図５３中の回路１２１Ｘに対応している。また、図６０中のテスト回路３０２は、前記した実施の形態１乃至実施の形態３、および後述する第１の変形例乃至第第６の変形例の回路に対応しており、図６０中のＢＩＳＴ信号は前記した実施の形態１乃至実施の形態３、および後述する第１の変形例乃至第６の変形例中のＳＭ信号に対応している。
【０１６２】
図６０の回路の動作について説明する。まず、通常の動作時には、ＢＩＳＴ信号を「０」にする。このとき、テスト回路３０２は動作しないため、ＲＡＭコア３０３は通常動作をする。一方、テスト回路動作時は、ＢＩＳＴ信号を「１」にする。このとき、図６０中のＳＩＮＨ０は図５０中のＳＩＮＨ−ＬＸに、図６０中のＳＩＮＨ１は同じくＳＩＮＨ−ＭＸに夫々対応している。
【０１６３】
図６１に動作を示す。通常の動作時（Ｎｏｒｍａｌ状態）には、ＢＩＳＴ信号を「０」に維持する。このとき、ＳＩ信号（ロジックデータ：第１の入力データ）、ＳＩＮＨ０信号およびＳＩＮＨ１信号の如何に拘らず、ＲＡＭコア３０３は通常の動作を行う。
【０１６４】
一方、図６０および図６１において、初期設定時（ＩＮＩＴ．状態）には、ＢＩＳＴ信号を「１」に維持し、ＳＩ信号を入力する。このとき、ＳＩＮＨ０およびＳＩＮＨ１は「０」に保つ。すなわち、図５０の回路において、ＳＩＮＨ−ＬＸおよびＳＩＮＨ−ＭＸを夫々「０」にし、ＳＩ信号（ロジックデータ）をシフトイン（ＤＡＴＡ  ＳＨＩＦＴ  ＩＮ状態）する。そして、テスト実行時（ＲＵＮ状態）、ＢＩＳＴ信号を「１」に維持したまま、ＳＩＮＨ０を「０」に、ＳＩＮＨ１を「１」に保つ。すなわち、図５０の回路においてＳＩＮＨ−ＬＸを「０」に、ＳＩＮＨ−ＭＸを「１」に夫々設定する。この場合、ＳＩ信号はどのような状態でも無視される（Ｄｏｎ’ｔ  Ｃａｒｅ状態）。そうすると、実施の形態１０で説明した通りに動作する。
【０１６５】
ところで、かかる機能を有するテスト回路において、テスト信号用ピンは、ＳＩ、ＳＩＮＨ１およびＳＩＮＨ０の３個のピンを必要とする。ここで、ピンの個数を減らしたいといった要請があり、特に、テスト回路時に動作させるピンを１ピンにしたい場合がある。この場合に有効なのが本発明実施の形態１２の半導体メモリの検査装置である。
【０１６６】
＜構成＞
図６２は本発明実施の形態１２の半導体メモリおよびその検査装置を示すブロック図である。本実施の形態の半導体メモリの検査装置は、上記各実施の形態および前記提案例で説明した各回路を複数個連結（ＭＵＬＴＩＰＬＥ  ＬＯＧＩＣＳＣＡＮ  ＣＨＡＩＮ）して用いるもので、後述するように細部の構成回路については上記各実施の形態と同様または類似の回路が用いられる。図６２中の３１５は、図６０において互いに接続されたテスト回路３０２およびＲＡＭコア３０３を１まとまりの回路として想定したメモリ（以下、単にＲＡＭと略称する。）である。該各ＲＡＭ３１５は、ロジックデータテスト時にロジックデータ（ＳＩ信号）を入力するためのロジックデータ入力（ＳＩ）端子（第１の入力端子）と、ＲＡＭテストデータ時にＳＩＭ信号（ＲＡＭテストデータ：第２の入力データ）を入力するためのＲＡＭテストデータ入力（ＳＩＭ）端子（第２の入力端子）と、読み出し信号としてのＳＯＭ信号の出力を行う読み出し（ＳＯＭ）端子とを備える。一のＲＡＭ（以下、先行ＲＡＭと称す）３１５のＳＯＭ端子は、これに隣接する他のＲＡＭ（以下、後続ＲＡＭと称す）３１５のＳＩＭ端子（第２の入力端子）に接続される。また、前記後続ＲＡＭ３１５のＳＩ端子（第１の入力端子）は、複数個のフリップフロップ（ＦＦ）を有するシフトレジスタとしてのスキャンパス３１６（ＳＣＡＮ  ＦＦｓ）を介して、前記先行ＲＡＭ３１５のＳＯＭ端子または前記テストパターン生成回路３０１（ＳＩ１，ＳＩ２）に接続される。
【０１６７】
そして、ＲＡＭテスト時の各種テスト用信号（ＴＥＳＴ）、すなわち、後述するＥＸＰ信号、比較イネーブル信号（ＣＭＰＥＮ）、ＳＩＡ信号、ＳＩＤ信号、ＳＩＣ信号、ＳＩＷ信号、ＳＩＮＨ信号、ＥＸＸＹ信号、ＣＨＤＩＲ（チェンジディレクション）信号、ＷＩＮＨ信号、ＩＮＳＦＦ信号およびＭＥＭＴＳＴ信号は、複数個のＦＦ３１７を有するパイプライン３１９を介して各ＲＡＭ３１５に与えられる。前記ＦＦ３１７は所定の個数の前記ＲＡＭ３１５について１個づづ対応して設けられる。前記パイプライン３１９には、図６２の如く、各種テストデータを入力するためのテストデータ入力端子（ＴＥＳＴ）が接続され、該テストデータ入力端子（ＴＥＳＴ）には、シフト禁止信号（ＳＩＮＨ）を入力するためのシフト禁止信号入力端子が含まれる。そして、該シフト禁止信号入力端子（図６２中のＴＥＳＴ参照）および前記パイプライン３１９は、前記直列接続体内のデータを圧縮するデータ圧縮手段を構成している。各ＲＡＭ３１５に所定のタイミングで前記ＳＩＮＨ信号を供給することによって、前記ＳＩ信号のデータ圧縮を行うもので、複数個の前記ＦＦ３１７が直列に接続されたＦＦ直列接続体として構成される。該ＦＦ直列接続体としてのパイプライン３１９は、前記ＲＡＭ３１５が直列に接続された回路（ＲＡＭ直列接続体）に平行に形成され、パイプライン３１９の各ＦＦ３１７からの出力信号は、対応する前記各ＲＡＭ３１５に入力される。そして、前記パイプライン３１９へＳＩＮＨ等の各種テスト用信号（ＴＥＳＴ）を入力する信号入力端子は、ＲＡＭ３１５の最も出力（ＳＯＭ）側に形成されている。かかる構成により、特にＳＩＮＨ信号をパイプライン３１９およびＦＦ３１７で供給する場合、ＳＩＮＨ信号をＦＦ３１７にて１クロックずつ自動的にデータを遅延させることができ、ＦＦ３１７ごとにグループ化された複数個のＲＡＭ３１５のうち出力側のグループのＲＡＭ３１５から順に後述のスキャンパス３３２（特にデータ出力用スキャンパス（ＤＯ−ＳＣＡＮ））のシフト動作を禁止させることで、容易にデータ圧縮を行うことができる。ここで、例えばＦＦ３１７を用いずに各ＲＡＭ３１５に直接ＳＩＮＨ信号を入力する場合、多数のＲＡＭのＳＩＮＨ信号を駆動する必要があるため、故に処理速度が遅くなる要因となるが、本実施の形態では、ＦＦ３１７にて１クロックずつ自動的にデータを遅延させることで、極めて高速にデータ圧縮を行うことができる。
【０１６８】
また、これらのテスト用信号とは別に、各ＲＡＭ３１５にＳＭ（シフトモード）信号、すなわちＢＩＳＴ信号が与えられる。該半導体メモリの検査装置からは、ＳＯ１およびＳＯＭ（ＳＯ２）として外部へ出力される。なお、図６２中の３１８は、与えられたＳＩ３信号を前記ＲＡＭ３１５を通さずにそのままＳＯ３として外部へ出力したい場合に用いられるスキャンパス（シフトレジスタ）である。
【０１６９】
図６３は本実施の形態の半導体メモリの検査装置を示す図であって、図６０に示した提案例と同様の機能を有する要素等については同一符号を付している。また、３２１，３２２はフリップフロップ（ＦＦ）、３２３はセレクタ、３２４はＡＮＤ回路、３２５はＮＯＴ回路、３２６は片側の入力が反転されたＯＲ回路、３２７はＮＯＲ回路である。これらのＦＦ３２１，３２２、セレクタ３２３、ＡＮＤ回路３２４、ＮＯＴ回路３２５、ＯＲ回路３２６およびＮＯＲ回路３２７は、前記ＳＩＮＨ０信号および前記ＳＩＮＨ１信号を生成する制御信号生成手段を構成している。前記ＡＮＤ回路３２４の一方の入力端子はＢＩＳＴ端子に接続される。ここで、該ＢＩＳＴ端子は、前記制御信号生成手段におけるＳＩＮＨ０，ＳＩＮＨ１（シフト禁止信号）の生成を指示する指示信号（ＢＩＳＴ信号）の入力用の指示端子である。また、前記ＦＦ３２２の入力端子は前記ＡＮＤ回路３２４の出力端子（ＳＨＩＮＨ−ＦＦ）に接続される。前記ＮＯＴ回路３２５の入力端子は前記ＦＦ３２２の出力端子に接続される。前記ＡＮＤ回路３２４の他方の入力端子は前記ＮＯＴ回路３２５の出力端子に接続される。ロジックデータ（ＳＩ信号）は、前記シフトレジスタ３１２および前記セレクタ３２３の「０」側入力端子に入力される。前記セレクタ３２３の出力端子は前記ＦＦ３２１に接続され、また、該セレクタ３２３の「１」側入力端子には前記ＦＦ３２１の出力が帰還入力される。また、前記ＯＲ回路３２６の正入力端子は前記ＦＦ３２１の出力端子（ＲＵＮＢＩＳＴ）に接続され、反転入力端子は前記ＦＦ３２２の出力端子（ＳＨＩＮＨ−ＦＦ）が接続される。前記各シフトレジスタ３１２，３１３のシフト動作を禁止する制御信号、ＳＩＮＨ０およびＳＩＮＨ１は、前記ＯＲ回路３２６および前記ＮＯＲ回路３２７から出力される。かかる構成により、前記ＦＦ３２１および前記セレクタ３２３は、常に前記ＳＩ信号の奇数番目の値を検出するよう動作し、前記テストパターン生成回路３０１が動作すべき動作モードを判断する（モード判断部）。なお、ＳＩ信号の奇数番目の値が「０」の場合は初期設定動作モード、「１」の場合はテスト実行動作モードを表すものとする。また、前記ＦＦ３２２、ＡＮＤ回路３２４、ＮＯＴ回路３２５、ＯＲ回路３２６およびＮＯＲ回路３２７は、モード判断部（３２１，３２３）での判断に基づいて前記テストパターン生成回路３０１の前記各シフトレジスタ３１２，３１３に対応するシフト禁止信号ＳＩＮＨ０，ＳＩＮＨ１を生成する禁止信号生成部を構成する。そして、前記モード判断部と前記禁止信号生成部とから、各シフト禁止信号ＳＩＮＨ０，ＳＩＮＨ１を前記データ入力信号に基づいて生成し前記テストパターン生成回路３０１に送信する禁止信号生成手段が構成される。
【０１７０】
図６４および図６５は本発明の実施の形態１２の半導体メモリおよびその検査装置（シングルポートＲＡＭ）を示す図である。図６４および図６５はＡ−Ａ線にて破断されている。図６５該シングルポートＲＡＭは、半導体メモリとしてのＲＡＭコア（Ｃｏｒｅ）および該ＲＡＭコアへの各種信号の入出力を司る周辺回路を称するものであって、読み込み（ＲＥＡＤ）および書き込み（ＷＲＩＴＥ）の両動作が可能でかつアドレスが一系統（シングルポート）とされており、同期型ＲＡＭコア（メモリコア）３３１（上述のＲＡＭコア３０３に相当する）の周りに複数個のシフトレジスタとしてのスキャンパス３３２（Ａ−ＳＣＡＮ，ＤＩ−ＳＣＡＮ，ＤＯ−ＳＣＡＮ）および単一のライトパルス発生器（ＷｒｉｇｈｔＰｕｌｓｅ  Ｇｅｎｅｒａｔｏｒ）３３３等を付加して成る。図６４中のＴＥＳＴ  ＢＵＳは、ＲＡＭテスト時に使用する端子で、ＥＸＰ（期待データ）信号、ＣＭＰＥＮ（比較イネーブル）信号、ＳＩＤ（テストデータ）信号、ＳＩＡ（アドレス）信号、ＳＩＣ信号、ＳＭ（シフトモード）信号、ＳＩＷ０信号、ＭＥＭＴＳＴ（メモリテスト）信号、ＳＩＮＨＡ０Ｘ信号、ＳＩＮＨＡ０Ｙ信号、ＥＸＸＹ（ＸＹ変換）信号、ＣＨＤＩＲ（チェンジディレクション）信号、ＳＩＮＨＤＩ信号、ＳＩＮＨＤＯ信号、ＩＮＳＦＦ信号、ＷＩＮＨ信号を含む。
【０１７１】
ここで、図６６にデータ入力用スキャンパス３３２（ＤＩ−ＳＣＡＮ）を示す。図６６中の「Ａ」は、各シングルポートＲＡＭのデータ入力用スキャンパス３３２（ＤＩ−ＳＣＡＮ）の個別のアドレスに対応するスキャンＦＦであり、複数個のスキャンＦＦ（「Ａ」）が直列（シリアル）に接続される。該データ入力用スキャンパス３３２（ＤＩ−ＳＣＡＮ）は、シフト動作抑制機能を有しており、ＳＭ信号を「１」、ＳＩＮＨＤＩを「１」に設定することによってシフト動作を抑制できる。該シフト動作抑制機能により書き込みデータの全部を「０」または「１」に固定することも可能であり、また、「０１０１…」または「１０１０…」のパターンを１クロックで切り換えることも可能である。ＲＡＭのテストではデータＩ／Ｏの各ビットに対して同一の論理値を用いることができる。つまり、テストアルゴリズム上はデータＩ／Ｏのビット数を気にする必要がほとんどない。したがって、入出力データのパターンとしては、全データを「０」または「１」のいずれかに設定してもよい。しかし、シフト動作を用いると、「００００」を「１１１１」に切り換え、あるいは「１１１１」を「００００」に切り換える動作を１クロック（すなわちシフト回数が１回のみ）で行うことはできない（この例では４クロック必要）。今回のテスト回路では、１クロックデータでデータの切り換えを行ってデータ入力速度を大幅に向上させるため、各スキャンＦＦ（「Ａ」）を、図６７のように構成している。すなわち、該各スキャンＦＦ（「Ａ」）は、データを格納および出力するレジスタ３３２ａと、該レジスタ３３２ａの出力とＳＩ信号とを切り換える第１のセレクタ３３２ｂと、該第１のセレクタ３３２ｂからの出力と外部のロジック回路からのデータ（Ｄ）信号とを切り換える第２のセレクタ３３２ｃとから構成されている。
【０１７２】
また、データ出力用スキャンパス３３２（ＤＯ−ＳＣＡＮ）は、図６８のように構成される。該データ出力用スキャンパス３３２（ＤＯ−ＳＣＡＮ）は、実施の形態４等で説明したように比較回路（３４，３４ａ〜３４ｃ）および比較禁止部（３４Ｚ）が設けられている（図２５、図２６、図２８および図３１参照）。図６８中の「Ｂ」はデータ出力用スキャンパス３３２（ＤＯ−ＳＣＡＮ）のスキャンＦＦである。該データ出力用スキャンパス３３２（ＤＯ−ＳＣＡＮ）はシフト動作抑制機能を有しており、前記各スキャンＦＦ（「Ｂ」）は、図６９の如く、データを格納および出力するレジスタ３３２ａと、該レジスタ３３２ａの出力信号とＳＩ信号とを切り換える第１のセレクタ３３２ｂと、該第１のセレクタ３３２ｂからの出力と外部のロジック回路からのデータ（Ｄ）信号とを切り換える第２のセレクタ３３２ｃと、前記データ（Ｄ）信号とＥＸＰ信号との排他的論理和をとるＥｘ．ＯＲ回路３３２ｄと、該Ｅｘ．ＯＲ回路３３２ｄの出力信号と比較イネーブル信号（ＣＭＰＥＮ）との負論理積をとるＮＡＮＤ回路３３２ｅと、該ＮＡＮＤ回路３３２ｅの出力信号と前記レジスタ３３２ａの出力信号との論理積をとるＡＮＤ回路３３２ｆとから構成されている。該データ出力用スキャンパス３３２（ＤＯ−ＳＣＡＮ）は、ＳＭ信号を「１」、ＳＩＮＨＤＩを「１」に設定することによってシフト動作を抑制できる。また、シフト動作抑制状態においてＣＭＰＥＮを「１」に設定することにより、クロックの立ち上がり時にＥＸＰの値とＤの比較が行われる。ＥＸＰとＤが異なっていれば、スキャンＦＦ（「Ｂ」）は「０」にリセットされる。したがって、ＲＡＭをテストする前にはシフト動作により前記スキャンＦＦ（「Ｂ」）に「１」をセットしておく必要がある。ＲＡＭテスト後にデータ出力部のスキャンＦＦ（「Ｂ」）の値をシフトアウトすればどのビットに故障があるかを判定できる。なお、期待データ（ＥＸＰ）信号はデータ出力の全ビットに対して共通に与えられているので、書き込みデータに「０１０１」または「１０１０」のパターンを用いた場合は偶数番目のビットまたは奇数番目のビットは必ず無視される。したがって、偶数番目のビットのみを対象とするテストパターンと、奇数番目のビットのみを対象とするテストパターンとの両方を用いて二回のテストを行う必要がある。
【０１７３】
前記スキャンＦＦ（「Ｂ」）は、期待データ（ＥＸＰ）信号を奇数ビットと偶数ビットとで交互に容易に変えるよう、偶数ビットと奇数ビットのいずれか一方のみのスキャンＦＦにＮＯＴ回路を接続している。このように構成することにより、シリアルなデータ入力（図６６参照）を行ったときに、例えば「０１０１」または「１０１０」といったテストデータを容易に入力できる。なお、図６８に示した該データ出力用スキャンパス３３２（ＤＯ−ＳＣＡＮ）は、前記した実施の形態１乃至実施の形態３、および後述する第１の変形例乃至第６の変形例の回路に対応している。
【０１７４】
図６４に示したアドレス入力用スキャンパス３３２（Ａ−ＳＣＡＮ）は、図７０のように、例えばＸＡ０〜ＸＡ６の七個のＦＦ（「Ａ」）が直列に接続されてなり、隣接する他のシングルポートＲＡＭの同様のＡ−ＳＣＡＮに接続される。なお、図７０は、Ｙアドレスがない場合にＸアドレスのみを入力するよう構成されたものである。該アドレス入力用スキャンパス３３２（Ａ−ＳＣＡＮ）は、アドレスを双方向にシフトできるよう構成されたもので、チェンジディレクション信号（切り換え信号：ＣＨＤＩＲ）にて図７０中に「Ａ」で示した各ＦＦ（「Ａ」：ＸＡ０〜ＸＡ６）に接続されたセレクタ３４１を切り換えることで、ＦＦ（「Ａ」）のシフト方向を変更できる。例えばＣＨＤＩＲ＝０にすると、ＳＩ信号は上位（ＢＳＭ）側から入力され、逆にＣＨＤＩＲ＝１にすると、ＳＩ信号は下位（ＬＳＢ）側から入力される。前記各ＦＦ（「Ａ」）は、図６７の如く、データ入力用スキャンパス３３２（ＤＩ−ＳＣＡＮ）と同様、データを格納および出力するレジスタ３３２ａと、該レジスタ３３２ａの出力とＳＩ信号とを切り換える第１のセレクタ３３２ｂと、該第１のセレクタ３３２ｂからの出力と外部のロジック回路からのデータ（Ｄ）信号とを切り換える第２のセレクタ３３２ｃとから構成されている。
【０１７５】
また、図６３に示したテスト回路３０２は、図６４および図６５中のＲＡＭコア３３１を除く周辺回路に相当する。図６４および図６５中のＡ＜０＞…Ａ＜ＭＳＢ＞はマルチプレクサ（多重等配）方式のアドレス入力端子、ＤＩ＜０＞…ＤＩ＜ＭＳＢ＞はマルチプレクサ方式のデータ入力端子、ＤＯ＜０＞…ＤＯ＜ＭＳＢ＞はマルチプレクサ方式のデータ出力端子、ＢＷＣ＜０＞…ＢＷＣ＜ＭＳＢ＞は１バイト（＝８ビット）ごとの制御に代えて１ビットごとの制御を可能にするためのマルチプレクサ方式のローイネーブルのビットライト禁止信号入力端子である。なお、上記各端子における＜０＞は最下位ビットを、＜ＭＳＢ＞は最上位ビットを夫々示している。各スキャンパス３３２は、例えば３２ビットのフリップフロップ（ＦＦ）を有している（この場合、＜ＭＳＢ＞＝＜３２＞）。また、ＣＳＣ（チップセレクト端子）およびＷＥＣ（ライトイネーブル端子）にはローイネーブル信号が入力される。図６４および図６５中のＣはスキャンＦＦである。さらに、ＭＥＭＴＳＴは通常動作モードとメモリテストモードとを切り換えるための信号を入力するための端子であって、各スキャンＦＦ（Ｃ）および各スキャンパス３３２（Ａ−ＳＣＡＮ，ＤＩ−ＳＣＡＮ）に対応するセレクタ３３４に接続されるとともに、メモリテスト時（ＭＥＭＴＳＴ＝１）にＢＷＣ＜０＞…ＢＷＣ＜ＭＳＢ＞からの入力を禁止するため、単一のＮＯＴ回路３３５を介して例えば３２個のビットライト禁止信号入力用ＡＮＤ回路３３６に接続されている。
【０１７６】
前記各スキャンパス３３２（Ａ−ＳＣＡＮ，ＤＩ−ＳＣＡＮ，ＤＯ−ＳＣＡＮ）は、図６４および図６５の如く、モード切り換え信号（ＳＭ）が入力されないときには、Ａ＜０＞…Ａ＜ＭＳＢ＞からのアドレス、ＤＩ＜０＞…ＤＩ＜ＭＳＢ＞からの入力データ、ＢＷＣ＜０＞…ＢＷＣ＜ＭＳＢ＞からの１ビットデータをマルチプレクサ方式で取り込んでＲＡＭコア３３１に渡し、あるいはＲＡＭコア３３１からの出力データを取り込んでデータ出力端子ＤＯ＜０＞…ＤＯ＜ＭＳＢ＞に渡す。
【０１７７】
一方、モード切り換え信号（シフトモード：ＳＭ）が入力されたときには、各セレクタ３３４は「０」側を選択するよう構成される。この場合、各セレクタ３３４、各スキャンＦＦ（Ｃ）および各スキャンパス３３２（Ａ−ＳＣＡＮ，ＤＩ−ＳＣＡＮ，ＤＯ−ＳＣＡＮ）は全て直列に接続されることになり、与えられたＳＩ信号を各セレクタ３３４、各スキャンＦＦ（Ｃ）、および各スキャンパス３３２を経てＳＯＭに出力する構造となる。
【０１７８】
そして、図６４および図６５中の３３７は、ＲＡＭテスト用のＳＩＭ信号とロジックテスト用のＳＩ信号とを切り換えるセレクタである。そして、前記ＥＸＰ信号は、ＲＡＭテスト時には「０」または「１」の所望の期待データ信号を入力するが、それ以外は前記セレクタ３３７の切り換えを行うスイッチ信号として機能し、通常動作時（ＮＯＲＭＡＬ）、ＳＩ信号入力時（ＳＨＩＦＴ−ＳＩ）、およびデータ取り込み時（ＣＡＰＴＵＲＥ）には、前記セレクタ３３７に「０」を入力し、ＳＩＭ信号入力時（ＳＨＩＦＴ−ＳＩＭ）には前記セレクタ３３７に「１」を入力する。また、前記ライトパルス発生器３３３は、例えば図７１に示すように一対のディレイ（Ｄｅｌａｙ１，Ｄｅｌａｙ２）、三個のｎｏｔ回路および一対のＮＡＮＤ回路を備えた一般的なものが用いられる。なお、図７２は該ライトパルス発生器３３３の動作を示すタイミングチャートである。図７２中のＴ、Ａ、Ｂ、Ｃ、バーＥＮ、ＷＩＮＨおよびＷＥＣは図７１中の同符号に対応している。また、図７２中のｔｃｈｗはクロック信号（Ｔ）の半周期の長さ、Ｄｅｌａｙ１は一方のディレイ（Ｄｅｌａｙ１）の入力（Ｔ）と出力（Ａ）との時間差、Ｄｅｌａｙ２は他方のディレイ（Ｄｅｌａｙ２）の入力（Ａ）と出力（Ｂ）との時間差、ｔｄ（ＷＰＧ）はクロック信号（Ｔ）とＷＥＣ信号の出力との時間差、ｔｗ（ＷＰＧ）はＷＥＣ信号の出力時間である。
【０１７９】
＜動作＞
本実施の形態の回路動作を図７６に示す。図７６中の各信号（ＣＨＤＩＲ、等）は図６３に対応するものであるが、ただし、ＳＩＮＨＡ１Ｘ、ＳＩＮＨＡ１Ｙ、ＳＩＮＨＡ２Ｘ、ＳＩＮＨＡ２Ｙ、ＳＩＷ１は、隣合う他のＲＡＭのテスト回路に関する信号を示している。また、図７６中の「ＮＯＲＭＡＬ」は通常時の動作、「ＳＨＩＦＴ−ＳＩ」はＳＩ信号入力時のシフト動作、「ＳＨＩＦＴ−ＳＩＭ」はＳＩＭ信号入力時のシフト動作、「ＣＡＰＴＵＲＥ」は外部の論理回路等で発生されたデータを取り込む際（ＳＭ信号＝「０」）の動作、「ＲＡＭＴＥＳＴ」はＲＡＭのテスト時の動作を夫々示している。
【０１８０】
まず、通常の動作時（Ｎｏｒｍａｌ状態）には、図７３の如く、ＢＩＳＴ信号を「０」にする。このとき、ＳＩ信号としていかなるデータを入力しようとも、ＲＡＭコア３０３は通常動作をする（Ｄｏｎ’ｔ  Ｃａｒｅ状態）。すなわち、図７６の如く、テストバスのほぼ全データを０にし、図７７のようにＡ＜＞、ＤＩ＜＞、またはＢＷＣ＜＞からデータまたはアドレスをマルチプレクサ方式で入力し、あるいはＤＯからデータを出力する。ただし、図７６中に「−」（すなわち、「Ｄｏｎ’ｔ  Ｃａｒｅ」）で示した信号は０でなくてもよい。なお、図７７および図７８中、＜Ｒｅａｄ  ｃｙｃｌｅ＞、＜Ｗｒｉｔｅ  ｃｙｃｌｅ＞および＜Ｎｏｏｐ  ｃｙｃｌｅ＞は、読み出し動作の状態、書き込み動作の状態および非操作の状態を夫々示している。このときのＲＡＭコア３３１の読み出し（Ｒｅａｄ）動作および書き込み（Ｗｒｉｔｅ）動作の夫々の状態は図７８の通りである。なお、図７７および図７８中、ｔｓｕｓ（Ｃ）、ｔｓｕｓ（Ｗ）、ｔｓｕｓ（Ａ）、ｔｓｕｓ（Ｄ）、ｔｓｕ（Ｄ）、ｔｓｕ（ＢＷ）、およびｔｓｕ（Ａ）は外部からのＢＷＣ信号の入力からＲＡＭコア３３１へのｂｗｃ信号の入力までの時間、ｔｈｓ（Ｃ）、ｔｈｓ（Ｗ）、ｔｈｓ（Ａ）、ｔｈｓ（Ｄ）、ｔｈ（Ｄ）、ｔｈ（ＢＷ）、およびｔｈ（Ａ）は各信号の有効時間、ｔｄ（ＷＰＧ）は書き込み動作開始後ＲＡＭコア３３１内へのｗｅｃ（ＷＥＣ）信号入力までの時間差、ｔｗ（ＷＰＧ）およびｔｗ（Ｗ）はｗｅｃ（ＷＥＣ）信号入力時間、ｔｖ（Ｔ）、ｔｖ２（Ｔ）およびｔｖ（Ａ）は読み出しまたは書き込み開始後データ出力の終了までの時間、ｔａ（Ｔ）、ｔａ２（Ｔ）およびｔａ（Ａ）は読み出しまたは書き込み開始後データ出力の終了までの時間、ａ（０）およびａ（１）はアドレス、ｄｉ（１）は入力データ、ｂｗｃ（１）はＢＷＣ信号の入力時間、ｄａｔａ（ａ（０））は出力データを夫々示している。また、図７６の如く、ＳＯＭからは出力されない。
【０１８１】
一方、スキャンテストやＲＡＭテストを行う場合、夫々図７４および図７５に示した手順で動作する。図７４に示したスキャンテストにおいては、まず、ＳＩＭ信号（ＲＡＭテストデータ）を入力しながらシフト動作（ＳＨＩＦＴ−ＳＩＭ）を行った後、ＲＡＭテスト（ＴＥＳＴ）を行い、続いて再びシフト動作（ＳＨＩＦＴ−ＳＩＭ）を行う。これらの各動作は、必要に応じて繰り返される。また、図７５に示したロジックのスキャンテストフローについては、まず、ＳＩ信号を入力しながらシフト動作（ＳＨＩＦＴ−ＳＩ）を行った後、データ取り込み（ＣＡＰＴＵＲＥ）を行い、続いて再びシフト動作（ＳＨＩＦＴ−ＳＩ）を行う。これらの各動作は、必要に応じて繰り返される。
【０１８２】
ここで、ＳＩ信号（ロジックデータ）またはＳＩＭ信号（ＲＡＭテストデータ）の入力時においては、図７６の如く、ＳＭ信号を「１」、ＩＮＳＦＦ信号およびＷＩＮＨ信号を夫々「１」にし、ＳＩ信号またはＳＩＭ信号（Ｔｅｓｔ  Ｄａｔｅ）を入力する。データ取り込み時（ＣＡＰＴＵＲＥ）には、ＳＭ信号を「０」にする。このとき、ＳＯＭからのデータ出力は行われない。そして、ＲＡＭテスト（ＴＥＳＴ）時には、ＭＥＭＴＥＳＴ信号、ＳＩＮＨＤＯ信号およびＳＭ信号を夫々「１」にし、またＷＩＮＨ信号を「０」にして、その他の各端子から所望のデータ（０または１）を入力すればよい。
【０１８３】
かかる動作における各部のデータの変遷について説明する。まず、図６３の如く、テスト回路動作時（ＢＩＳＴ状態）は、ＢＩＳＴ信号を常に「１」（＝“Ｈｉｇｈ”）にし、ＳＩ信号をシフトイン（ＤＡＴＡ  ＳＨＩＦＴ  ＩＮ状態）を行う。このとき、テスト回路３０２はテストモードになる。ＳＩＮＨ−ＦＦ信号は、ＡＮＤ回路３２４からの信号に基づいて「０１０１０１０…」を発生する。そうすると、ＯＲ回路３２６はＳＩＮＨ−ＦＦ信号が「０」のときのみＦＦ３２１に格納されたデータ（ＲＵＮＢＩＳＴ信号）を取り込み、これをシフトレジスタ３１２に与える。また、ＮＯＲ回路３２７は、ＲＵＮＢＩＳＴ信号が「０」でかつＳＩＮＨ−ＦＦ信号が「０」のときにのみＳＩＮＨ０を「１」として出力する。
【０１８４】
ここで、初期設定時（ＩＮＩＴ．状態）には、本来的にテストパターン生成回路３０１に初期設定すべきデータのビット列に対し、１ビットごとに「０」を挿入する。例えば図６０に示した回路中のデータ（ＳＩ信号）として
「１０１１」
といったビット列をシフトインするのと同様の動作を本実施の形態で実行させたいときは、本実施の形態におけるＳＩ信号として
「０１  ００  ０１  ０１」
をシフトインする。このとき、ＳＩＮＨ−ＦＦ信号は
「０１  ０１  ０１  ０１」
となるので、ＲＵＮＢＩＳＴ信号はＳＩ信号の奇数ビットが取り込まれ、故に「０」を保持する。この場合、ＯＲ回路３２６の出力（ＳＩＮＨ１）は、ＳＩＮＨ−ＦＦ信号をそのまま出力することになり、図７９の如く、
「１０  １０  １０  １０」
となる。また、ＮＯＲ回路３２７の出力（ＳＩＮＨ０）も
「１０  １０  １０  １０」
となるので、シフトレジスタはＳＩ信号のビット列の遇数ビットのタイミングのみシフトし、故にシフトレジスタにはＳＩ信号のビット列の遇数ビットが取り込まれる。すなわち、
「１０１１」
が入力される。また、テスト実行時（ＲＵＮ状態）には、ＳＩ信号として
「１１  １１  １１  １１」
をシフトインする。このときＳＩＮＨ−ＦＦは
「０１  ０１  ０１  ０１」
なので、ＲＵＮＢＩＳＴには奇数ビットが取り込まれるため、「１」の状態を保持する。そうすると、ＯＲ回路３２６の出力（ＳＩＮＨ１）は図７９のように常に「１」となり、ＮＯＲ回路３２７の出力（ＳＩＮＨ０）は常に「０」となる。そうすると、一方のシフトレジスタ３１２は、前記した実施の形態４乃至実施の形態１１の例えば有効アドレス数格納部（ＭＡＳＫＡ）３７や二次元パターン記憶部（ＭＡＳＫＤ）１１１として機能し、他方のシフトレジスタ３１３は、前記した実施の形態４乃至実施の形態１１の例えばアドレス発生部（ＡＤＤＲ）３５や制御レジスタ（ＣＡＲＲＹ）３６として機能することで、テスト回路３０２に所定の信号（前記した実施の形態４乃至実施の形態１１におけるＳＩＡ、ＣＭＰＥＮ、およびＳＩＷ等）を送信し、テストを実行する。
【０１８５】
上記のようにして、テスト回路動作時（ＢＩＳＴ状態）には、初期設定（ＩＮＩＴ．状態）とテスト実行時（ＲＵＮ状態）とを交互に繰り返す。図８０はＳＩ信号の入力例を、図８１はＳＩ信号に対するＳＩＮＨ−ＦＦ信号、ＲＵＮＢＩＳＴ信号、ＳＩＮＨ０信号およびＳＩＮＨ１信号の推移例を夫々示している。このように動作することで、テスト実行時に１ピン（ＳＩピン）のみからデータを与えることで、実施の形態４乃至実施の形態１１で述べたような所定のテスト動作が可能となる。
【０１８６】
｛実施の形態１３｝
＜構成＞
図８２は本発明の実施の形態１３の半導体メモリおよびその検査装置を示す図である。なお、実施の形態１２と同様の機能を有する要素は同一符号を付している。実施の形態１２では、ＳＩＮＨ−ＦＦのタイミングとＳＩ信号のタイミングにズレが生じた場合に誤動作を起こす可能性があるため、ＳＩ信号のみでＳＩＮＨ−ＦＦ信号を生成するものである。図８２中のテストパターン生成回路３０１、テスト回路３０２、ＲＡＭコア３０３、ＦＦ３２１，３２２、セレクタ３２３、ＮＯＴ回路３２５、ＯＲ回路３２６、およびＮＯＲ回路３２７は実施の形態１２で説明したのと同様に接続されるためここではその説明を省略する。本実施の形態では、図６３に示した実施の形態１２中の二端子入力のＡＮＤ回路（３２４）に代えて、三端子入力のＡＮＤ回路３４４を備える。該ＡＮＤ回路３４４の一の入力端子はＢＩＳＴ端子に接続され、他の一の入力端子はＮＯＴ回路３２５の出力端子に接続される点で、実施の形態１２と同様であるが、さらに他の入力端子は、図８２に示したように、前記ＳＩ信号中に含まれるマーク（「１１」）を検出するマーク検出手段３４５に接続される。ＳＩＮＨ−ＦＦのタイミングとＳＩ信号のタイミングにズレが生じた場合にも、ＳＩ信号中のマーク（「１１」）を検出することでタイミングのズレを修正し誤動作を防止するためのもので、３ビットのシフトレジスタ３４６と、三端子入力でそのうちの一端子が反転入力端子とされたＮＡＮＤ回路３４７とから構成される。前記シフトレジスタ３４６には、その最上位ビット（ＭＳＢ）側からＳＩ信号が入力される。該シフトレジスタ３４６の最上位ビット（ＭＳＢ）は、ここに格納されたＳＩ信号をそのままテストパターン生成回路３０１のシフトレジスタ３１２の入力端子およびセレクタ３２３の「０」側入力端子に伝達するように接続される。前記ＮＡＮＤ回路３４７の反転入力端子はシフトレジスタ３４６の最上位ビット（ＭＳＢ）に接続され、他の入力端子はシフトレジスタ３４６の他のビットに夫々接続される。また、該ＮＡＮＤ回路３４７の出力端子は前記ＡＮＤ回路３４４の前記他の入力端子に接続される。該ＡＮＤ回路３４４は、前記マーク検出手段３４５の検出結果に基づいてＢＩＳＴ信号（指示信号）の指示タイミングをＳＩ信号のマーク終了後の時点に一致させるタイミング修正手段として機能する。
【０１８７】
＜動作＞
通常動作時（Ｎｏｒｍａｌ状態）は図８３に示した通りであり、また実施の形態１２と同様であるため説明を省略する。
【０１８８】
テストパターン生成回路３０１の初期設定時（ＢＩＳＴ−ＩＮＩＴ．状態）には、図８３の如く、ＢＩＳＴ信号を「１」（＝“Ｈｉｇｈ”）にし、ＳＩ信号のらシフトイン（ＤＡＴＡ  ＳＨＩＦＴ  ＩＮ状態）を行う。このとき、テスト回路３０２はテストモードになる。図８０に示した実施の形態１２と同様のＳＩ信号のデータの先頭にマークとして「１１」を挿入したデータをＳＩ信号のデータとして入力する。すなわち、図８４および図８５の如く、まずＳＩ信号としてシフトレジスタ３４６に
「１１  ０１  ０１  ００」
をシフトインする。このとき、ＮＡＮＤ回路３４７からの出力は
「１１  ０１  １１  １１」
となり、以後、「１」を出力し続ける。そうすると、ＡＮＤ回路３４４の前記他の入力端子には、３ビット目にはＮＡＮＤ回路３４７から必ず「０」が入力されることになる。したがって、これに伴ってＡＮＤ回路３４４は３ビット目に必ず「０」を出力する。以後、それより前のＮＯＴ回路３２５からの出力に拘らず、以後のＦＦ３２２およびＮＯＴ回路３２５による反転データの帰還により、ＡＮＤ回路３４４は、必ずＳＩ信号の３ビット目を基準として
「０１  ０１  ０１  ０１」
となるＳＩＮＨ−ＦＦを出力する。しかる後、実施の形態１２と同様、ＲＵＮＢＩＳＴ信号はＳＩ信号の奇数ビットが取り込まれ、故に「０」を保持する。この場合、ＯＲ回路３２６の出力（ＳＩＮＨ１）は、ＳＩＮＨ−ＦＦ信号をそのまま出力することになり、図８６の如く、
「１０  １０  １０  １０」
となる。また、ＮＯＲ回路３２７の出力（ＳＩＮＨ０）も
「１０  １０  １０  １０」
となるので、シフトレジスタはＳＩ信号のビット列の遇数ビットのタイミングのみシフトし、故にシフトレジスタにはＳＩ信号のビット列の遇数ビットが取り込まれる。すなわち、ＳＩ信号のうち、「１１」データの終了後のデータについて偶数番目のデータのみが抽出される。また、テスト実行時（ＲＵＮ状態）には、ＳＩ信号より
「１１  １１  １１  １１」
をシフトインする。このときＳＩＮＨ−ＦＦは
「０１  ０１  ０１  ０１」
なので、ＲＵＮＢＩＳＴには奇数ビットが取り込まれるため、「１」の状態を保持する。そうすると、ＯＲ回路３２６の出力（ＳＩＮＨ１）は図７９のように常に「１」となり、ＮＯＲ回路３２７の出力（ＳＩＮＨ０）は常に「０」となる。
【０１８９】
このように、本実施の形態によると、図８５の如く、ＳＩＮＨ−ＦＦ信号の如何に拘らず、ＳＩ信号として「０１１」信号が与えられると、回路内部で自動的にリセットがかかり、この時点を基準として正常な動作を確保できるので、テスト動作時がＳＩ信号の奇数サイクルであっても、誤動作することはない。その他の効果については実施の形態１２と同様である。
【０１９０】
｛実施の形態１４｝
＜構成＞
図８７および図８８は本発明の実施の形態１４の半導体メモリおよびその検査装置（ＤＦＴ−ＲＡＭ）を示すブロック図である。図８７および図８８はＢ−Ｂ線にて破断されている。なお、実施の形態１２と同様の機能を有する要素は同一符号を付している。該ＤＦＴ−ＲＡＭは、ＲＡＭコア（Ｃｏｒｅ）および該ＲＡＭコアへの各種信号の入出力を司る周辺回路であって、非同期ＲＡＭコア３３１の周りに複数個のシフトレジスタとしてのスキャンパス３３２および単一のライトパルス発生器３３３を付加して構成されている。そして、図６３に示したテスト回路３０２は、図８７および図８８中のＲＡＭコア３３１を除く周辺回路に相当する。図８７および図８８の如く、アドレス部のスキャンパス３３２（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１）はシフト禁止信号（ＳＩＮＨＡＸ０，ＳＩＮＨＡＸ１）によりシフト動作を抑制することができる。データ入力部のスキャンパス３３２（ＤＩ−ＳＣＡＮ−０）はシフト禁止信号（ＳＩＮＨＤＩ）によりシフト動作を抑制することができる。データ出力部のスキャンパス３３２（ＤＯ−ＳＣＡＮ−１）はシフト禁止信号（ＳＩＮＨＤＯ）によりシフト動作を抑制することができる。アドレス部のスキャンパス３３２（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１）には双方向シフト機能があり、双方向疑似乱数アドレッシングを用いたテストを高速で行える。この場合、複数個のＲＡＭは図７０で示した接続方式にて連結される。また、データ出力部のスキャンパス３３２（ＤＩ−ＳＣＡＮ−０）には、データ圧縮機能が有せしめられている。該データ圧縮機能は、前記各ＲＡＭ３１５に前記ＳＩＮＨ信号が入力され、所望のＲＡＭ３１５についてシフト動作を禁止することで達成されるが、ただし、図６２の如く、ＲＡＭ３１５にＳＩＮＨ信号を与えるパスの途中に前記フリップフロップ３１７を設けることで、該フリップフロップ３１７の前後でデータを１ビットでけ圧縮できる。これにより、図１３２に示した第４の従来例のように全ＲＡＭ（ＲＡＭ１，ＲＡＭ２，ＲＡＭ３）について同時にＳＩＮＨ信号を与えてテストアドレスごとにシフトアウト動作を行うことを防止している。これら疑似乱数アドレッシング手法とデータ圧縮手法を用いることにより、テストパターン増大の抑制と高速テストを実現できる。
【０１９１】
図８７および図８８の回路は、テストモード時に、ＭＥＭＴＳＴ０＝１に設定することによって、図８９および図９０に示した等価回路のように機能する。図８９および図９０はＣ−Ｃ線にて破断されている。すなわち、ＭＥＭＴＳＴ０（＝１）が入力されると、アドレス部のスキャンパス３３２（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１）についてのアドレスはＳＩＡから、データ入力部のスキャンパス３３２（ＤＩ−ＳＣＡＮ−０）についての書き込みデータはＳＩＤからシフトインできる状態になる。なお、前記ＳＩＡに入力されるアドレスは、前述の各実施の形態で説明されたアドレス生成方法にて生成される。このとき、ライトイネーブル信号（Ｌｏｗ  Ｅｎａｂｌｅ）はＳＩＷ０から、リードイネーブル信号（Ｌｏｗ  Ｅｎａｂｌｅ）はＳＩＣから供給される。さらに、データ出力部のスキャンパス３３２（ＤＩ−ＳＣＡＮ−０）への読み出し期待データ（ＥＸＰ）信号は期待データ入力（ＥＸＰ）端子から、同じく比較イネーブル信号（ＣＭＰＥＮ）はＣＭＰＥＮ端子から供給される。これらの信号はテストバス（ＴＥＳＴ  ＢＵＳ）として複数個のＲＡＭに対して共通に接続できるので、ワード数が同じであれば同時に複数個のＲＡＭをテストできる。なお、各ポートに対して同一のアドレスをＳＩＡからシフトインできるように設計されており、マルチポートＲＡＭをシングルポートＲＡＭのようにテストできる。
【０１９２】
なお、ＳＩＮＨＡ０，ＳＩＮＨＡ１，ＳＩＮＨＤＩを１に設定すれば、シフト動作は停止できる。
【０１９３】
｛実施の形態１５｝
図９１および図９２は本発明の実施の形態１５の半導体メモリおよびその検査装置（１Ｗｒｉｔｅ  １Ｒｅａｄの２ポートＲＡＭ）を示すブロック図である。図９１および図９２はＤ−Ｄ線にて破断されている。なお、実施の形態１２と同様の機能を有する要素は同一符号を付している。本実施の形態の半導体メモリの検査装置は、実施の形態１２と同様に、通常動作時にはシフトレジスタとしての各スキャンパス３３２に個別にアドレスやデータを与え、かつＲＡＭテスト時にはスキャンパス３３２を直列に接続してデータを順次シフトするよう構成される。ただし、本実施の形態の半導体メモリの検査装置では、アドレス指定系統が、書き込み専用アドレス（Ａ０＜ＭＳＢ：０＞）と読み出し専用アドレス（Ａ１＜ＭＳＢ：０＞）の二系統に分かれており、同一サイクル内で、一のアドレス（Ａ０＜ｎ＞）に書き込みを行いながら、同時に一のアドレス（Ａ１＜ｎ＞）を指定してデータ出力（ＤＯ１＜ｎ＞を行うことも可能となる点で、実施の形態１２と異なる。
【０１９４】
図９１および図９２中のＴ０は書き込み用クロック、Ｔ１は読み出し用クロックである。このように、二種類のクロック入力端子を設定するのは、通常動作時（ＮＯＲＭＡＬ）において、前記した二系統（書き込み／読み出し）の各アドレス（Ａ０＜ＭＳＢ：０＞，Ａ１＜ＭＳＢ：０＞）に互いに異なった周波数の別々の回路を接続して同時にアクセスをしなければならない場合を考慮したものである。これにより、例えば書き込みを１０ＭＨで行い、読み出しを２０ＭＨで行うことも可能となる。ただし、ＲＡＭテストを行う場合は、各スキャンパス３３２（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１，ＤＩ−ＳＣＡＮ−０，ＤＯ−ＳＣＡＮ−１）が直列接続された回路として動作するため、全スキャンパス３３２に同一周波数のクロックを与える必要がある。そこで、図９１および図９２の如く、隣接する各スキャンパス３３２の間には、書き込み用クロックＴ０のタイミングと読み出し用クロックＴ１のタイミングとの間のずれを吸収して各スキャンパス３３２のシフト動作を同期させるためのラッチ回路（図９１および図９２中の「Ｌ」）を介在させている。該ラッチ回路（「Ｌ」）は、Ｔ０，Ｔ１が負（ネガティブ）入力され、Ｔ０，Ｔ１＝「Ｌｏｗ」のときに信号を出力するよう構成されている。本実施の形態によっても、上記各実施の形態と同様の効果を得ることができる。
【０１９５】
｛実施の形態１６｝
図１２１および図１２２は、本発明の実施の形態１６の半導体メモリおよびその検査装置を示す図であって、本実施の形態の半導体メモリの検査装置は、図６３に示した実施の形態１２に類似している。図１２１および図１２２はＧ−Ｇ線にて破断されている。本実施の形態のアドレス入力用スキャンパス３３２は、実施の形態１２（図６３）中のアドレス入力用スキャンパス３３２（Ａ−ＳＣＡＮ）に代えてＢ−ＳＣＡＮが用いられる。Ｂ−ＳＣＡＮの内部構成を、図１２３に示す。該Ｂ−ＳＣＡＮは、Ｙアドレスがない場合にＸアドレスのみを入力するよう構成されたもので、実施の形態１２（図７０）の回路に類似している。すなわち、ＸＡ０〜ＸＡ６の七個のＦＦ（「Ａ」）が直列に接続されてなり、隣接する他のシングルポートＲＡＭの同様のＢ−ＳＣＡＮに接続される。ただし、本実施の形態では、図７０に示された回路と異なり、ＣＨＤＩＲ信号が「１」に設定された場合にテストアドレス端子ＴＡ（ＴＡ０，ＴＡ１，ＴＡ２，…）側が選択される。図１２１に示すように、テストアドレス端子ＴＡはＲＡＭのピンとして設けられる。したがって、任意の順序でアドレスを設定しテストを行うことができる。つまり、Ｂ−ＳＣＡＮはＣＨＤＩＲ信号が「０」の状態ではシリアルシフト動作によるアドレス設定が可能である。また、ＣＨＤＩＲ信号が「１」の状態では、テストアドレス端子ＴＡによりパラレルにアドレス設定が可能である。なお、テストアドレス端子ＴＡに対するアドレス信号はＬＳＩの外部ピンから与えてもよいし、ＬＳＩ内部に搭載したテスト用アドレス発生回路（図６０の３０１に相当）により与えてもよい。このテスト用アドレス発生回路は、メモリＬＳＩテスト装置に備えられているようなアルゴリズミックパターン発生器を用いればよい。
【０１９６】
｛実施の形態１７｝
＜構成＞
本発明の実施の形態１７はＤＦＴ−ＲＡＭ形式の半導体メモリの検査装置であって、図１３３はその制御信号発生回路６１０の概略を示す回路図である。一般に、テストピンは通常動作時には使用しないため、テスト実行時に使用しないピンとセレクタで切り替えられることが多い。しかしながら、ピンによってはタイミングがずれるといった問題でセレクタを挿入できないものがある。また、内部周波数と同じ周波数で動作できないピンだと、テストピンとして使用できない。本実施の形態の半導体メモリの検査装置は、外部からの信号がシフトレジスタのシフトタイミングより遅い場合等において、かかるタイミングのずれを修正するため等に適用されるものであって、具体的には、メモリコアに接続されたテスト回路に制御信号を送信するための複数個のシフトレジスタについて、内部のデータを巡回させることで実質的にデータのシフトを遅延させ、上述のタイミング修正を行うものである。すなわち、本実施の形態では、制御信号発生回路６１０内のシフトレジスタとして内部にループが形成された巡回性のシフトレジスタ（以下、巡回シフトレジスタと称す）６００を適用したものである。該巡回シフトレジスタ６００は制御信号発生回路６１０内で図１３３のように接続されている。図１３３中の各巡回シフトレジスタ６００中のＳＩはシフト禁止信号（ＳＩ）を入力するピン、ＳＯは後続する巡回シフトレジスタ６００へ出力データ（ＳＯ）を出力するための出力ピン、ＤＯは出力データ（ＤＯ）を出力するためのデータ出力ピンである。また、ＲＵＮＢＩＳＴは図６３に示したのと同様のＲＵＮＢＩＳＴ信号を入力するための端子、ＳＩＮＨ−ＣはＳＩＮＨ信号（シフト禁止信号）を入力するための端子、ＳＲ  ＳＩＮＨＤＯ，ＳＲ  ＳＩＮＨＤＩ，ＳＲ  ＳＩＮＨＡ１，ＳＲ  ＳＩＮＨＡ０はテスト回路に禁止信号を送信する端子である。
【０１９７】
一の巡回シフトレジスタ６００の内部構成を図１３４に示す。該巡回シフトレジスタ６００は、シフトインするデータ信号としてピンＳＩからのＳＩ信号とピンＳＯへのＳＯ信号とを選択するシフトインセレクタ６０１と、データ出力（ＤＯ）用の第１のレジスタ部６０３と、後続する巡回シフトレジスタ６００へＳＯ信号を出力する第２のレジスタ部６０４とを備える。そして、第１のレジスタ部６０３および第２のレジスタ部６０４は夫々フリップフロップ６０６ａ，６０６ｂおよびセレクタ６０７ａ，６０７ｂを備えている。
【０１９８】
前記シフトインセレクタ６０１の「０」側入力端子はピンＳＩに接続され、「１」側入力端子は前記第２のレジスタ部６０４の第２のフリップフロップ６０６ｂの出力端子（すなわちＳＯ端子）に接続される。前記第１のレジスタ部６０３の第１のセレクタ６０７ａの「０」側入力端子は前記シフトインセレクタ６０１の出力端子に接続され、「１」側入力端子は第１のフリップフロップ６０６ａの出力端子に接続される。前記第１のレジスタ部６０３の第１のフリップフロップ６０６ａの入力端子は前記第１のセレクタ６０７ａの出力端子に接続され、該第１のフリップフロップ６０６ａの出力端子はＤＯ端子に接続される。前記第２のレジスタ部６０４の第２のセレクタ６０７ｂの「０」側入力端子は前記第１のレジスタ部６０３の第１のフリップフロップ６０６ａの出力端子に接続され、「１」側入力端子は前記第２のフリップフロップ６０６ｂの出力端子に接続される。前記第２のレジスタ部６０４の第２のフリップフロップ６０６ｂの入力端子は前記第２のセレクタ６０７ｂの出力端子に接続され、該第２のフリップフロップ６０６ｂの出力端子はＳＯ端子に接続される。
【０１９９】
このように、各レジスタ部６０３，６０４に、一個のフリップフロップ６０６ａ，６０６ｂと、該フリップフロップ６０６ａ，６０６ｂへの入力信号を選択するセレクタ６０７ａ，６０７ｂとを有せしめることで、各フリップフロップ６０６ａ，６０６ｂからの出力を帰還させて再びフリップフロップ６０６ａ，６０６ｂに再入力することを可能としている。また、シフトインセレクタ６０１の一方の入力端子に第２のレジスタ部６０４のフリップフロップの出力端子を接続することで、ＲＵＮＢＩＳＴ信号の切り換えにより、ＳＯ信号を第１のレジスタ部６０３へ再入力することを可能としている。
【０２００】
かかる制御信号発生回路６１０は、図１３５および図１３６のようにテスト回路６１１に接続される。なお、図１３５および図１３６はＫ−Ｋ線にて破断されている。図１３５および図１３６中のＳＲ  ＳＩＮＨＡ１およびＳＲ  ＳＩＮＨＡ０はアドレス入力用スキャンパス（Ａ−ＳＣＡＮ−１，Ａ−ＳＣＡＮ−０）を制御するためのシフト禁止信号（ＳＩＮＨＡ１，ＳＩＮＨＡ０）を発生する巡回シフトレジスタ、ＳＲ  ＳＩＮＨＤＯはデータ出力用スキャンパス（ＤＯ−ＳＣＡＮ−１）を制御するためのシフト禁止信号（ＳＩＮＨＤＯ）を発生する巡回シフトレジスタ、ＳＲ  ＳＩＮＨＤＩはデータ入力用スキャンパス（ＤＩ−ＳＣＡＮ−０）を制御するためのシフト禁止信号（ＳＩＮＨＤＩ）を発生する巡回シフトレジスタ、ＳＲ  ＳＩＷは書き込み信号（ＷＥＣ）入力用レジスタを制御するためのＳＩＷ信号を発生する巡回シフトレジスタ、ＳＲ  ＳＩＣは読み出し信号（ＲＥＣ）入力用レジスタを制御するための巡回シフトレジスタ、ＳＲ  ＳＩＤはデータ入力用の巡回シフトレジスタ、ＳＲ  ＣＭＰＥＮはデータ出力用スキャンパスに比較イネーブル信号（ＣＭＰＥＮ）を送信するための巡回シフトレジスタ、ＳＲ  ＥＸＰはデータ出力用スキャンパスに期待値信号（ＥＸＰ）を送信するための巡回シフトレジスタである。また、図１３５および図１３６中の６１３はテストパターン生成回路、６１４はアドレスパターン発生回路、６１５はＲＡＭコア、Ａ００〜Ａ０３はＲＡＭコア６１５の書き込み用アドレスピン、Ａ１０〜Ａ１３は読み出し用アドレスピン、ＤＩ０〜ＤＩ３はデータ入力用ピン、ＤＯ０〜ＤＯ３はデータ出力用ピンである。そして、前記テストパターン生成回路６１３は、前記アドレスパターン発生回路６１４と、複数個の２ビットの前記巡回シフトレジスタ６００（ＳＲ  ＳＩＮＨＡ１，ＳＲ  ＳＩＮＨＡ０，ＳＲ  ＳＩＮＨＤＯ，ＳＲ  ＳＩＮＨＤＩ，ＳＲ  ＳＩＷ，ＳＲ  ＳＩＣ，ＳＲ  ＳＩＤ，ＳＲ  ＣＭＰＥＮ，ＳＲ  ＥＸＰ）から構成される。
【０２０１】
＜動作＞
上記構成の半導体メモリの検査装置の動作を説明する。まず、シフトレジスタの初期値を設定する。この場合、ＳＩＮＨ−Ｃ＝０、ＲＵＮＢＩＳＴ＝０に設定し、シフトレジスタをシフト可能にする。そして、入力端子ＳＩより初期値データを入力する。次に、シフトレジスタの値を保持する。ここでは、ＳＩＮＨ−Ｃ＝１に設定し、シフトレジスタのシフト動作を禁止し、データを保持する。そして、テスト信号を発生する。この際、ＳＩＮＨ−Ｃ＝０、ＲＵＮＢＩＳＴ＝１に設定する。例えばシフトレジスタに“１０”が設定されておればＤＯ信号として“１０１０…”を発生する。
【０２０２】
そして、ＲＥＣ＝“０”のときＲＡＭコア６１５の読み出しが行われる。また、ＷＥＣが“０”のときＲＡＭコア６１５にデータが書き込まれる。データ出力用スキャンパス（ＤＯ−ＳＣＡＮ−１）はＣＭＰＥＮ＝“１”のときＲＡＭコア６１５のデータ出力と期待値（ＥＸＰ）との比較を行い、これらの値が異なる場合はデータ出力用スキャンパス（ＤＯ−ＳＣＡＮ−１）の値が“０”になる。
【０２０３】
次に、データ出力用スキャンパス（ＤＯ−ＳＣＡＮ）に“１１１…”を設定する。ＲＡＭコア６１５のテストを実行するためには、データ出力用スキャンパス（ＤＯ−ＳＣＡＮ）のすべてを“１”に設定する必要がある。また、ＳＲ  ＳＩＮＨＤＩおよびＳＲ  ＳＩＮＨＤＯを“００”に設定し、シフト禁止信号（ＳＩＮＨＤＩ，ＳＩＮＨＤＯ）として“０００…”を出力し、データ入力用スキャンパス（ＤＩ−ＳＣＡＮ）およびデータ出力用スキャンパス（ＤＯ−ＳＣＡＮ）が通常動作周波数でシフト動作が可能であるようにする。また、ＳＩＤを“１”に設定し、データ入力用スキャンパス（ＤＩ−ＳＣＡＮ）を“１”に初期設定する。
【０２０４】
１．ＡＬＬ−０のＷＲＩＴＥ／ＲＥＡＤ動作
ここで、テスト実行時の動作例として、ＡＬＬ−０のＷＲＩＴＥ／ＲＥＡＤ動作を説明する。該ＡＬＬ−０のＷＲＩＴＥ／ＲＥＡＤテストは、すべてのデータとして“０”を入力した後、かかる全“０”のデータを読み出す方法である。
【０２０５】
まず、データ入力用スキャンパス（ＤＩ−ＳＣＡＮ）を全て“０”（ＡＬＬ−０）に設定する。この場合、ＳＲ  ＳＩＮＨＤＯを“１１”に設定し、データ出力用スキャンパス（ＤＯ−ＳＣＡＮ）がシフト動作を禁止し全てのデータについて“１”（ＡＬＬ−１）の状態を保持する。このとき、ＲＡＭコア６１５への書き込みは行わないのでＳＲ  ＳＩＷは“１１”に設定する。また、ＲＡＭコア６１５への読み出しは行わないので、ＳＲ  ＳＩＣは“１１”に設定する。さらに、ＲＡＭコア６１５のデータ出力と期待値（ＥＸＰ）の比較は行わないのでＳＲＣＭＰＥＮは“００”に設定する。
【０２０６】
次に、アドレス入力用スキャンパス（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１）にアドレスの初期値を設定する。この場合、ＳＲ  ＳＩＮＨＡ０，ＳＲ  ＳＩＮＨＡ１に夫々“００”を設定する。アドレスパターン発生回路６１４からＳＩＡ信号を送信してＲＡＭコア６１５のアドレスの初期値を設定する。このとき、ＳＲ  ＳＩＮＨＤＩ，ＳＲ  ＳＩＮＨＤＯは夫々“１”に設定し、データ入力用スキャンパス（ＤＩ−ＳＣＡＮ）およびデータ出力用スキャンパス（ＤＯ−ＳＣＡＮ）のシフト動作を禁止しておく。このときＲＡＭコア６１５への書き込みは行わないので、ＳＲ  ＳＩＷは“１１”に設定する。ＲＡＭコア６１５への読み出しは行わないのでＳＲ  ＳＩＣは“１１”に設定する。ＲＡＭコア６１５のデータ出力と期待値（ＥＸＰ）との比較は行わないのでＳＲ  ＣＭＰＥＮは“００”に設定する。
【０２０７】
続いて、ＡＬＬ−０の書き込みを実行する。この場合、ＳＲ  ＳＩＮＨＡ０，ＳＲ  ＳＩＮＨＡ１に夫々“００”を設定する。アドレスパターン発生回路６１４からＳＩＡ信号を出力してアドレッシングを行う。このとき、ＳＲ  ＳＩＮＨＤＩ，ＳＲ  ＳＩＮＨＤＯは夫々“１１”に設定し、データ入力用スキャンパス（ＤＩ−ＳＣＡＮ）およびデータ出力用スキャンパス（ＤＯ−ＳＣＡＮ）のシフト動作を禁止しておく。ＲＡＭコア６１５への書き込みを行うためＳＲ  ＳＩＷは“００”にする。ＲＡＭコア６１５の読み出しは行わないのでＳＲ  ＳＩＣは“１１”に設定する。ＲＡＭコア６１５のデータ出力と期待値（ＥＸＰ）との比較は行わないのでＳＲ  ＣＭＰＥＮは“００”にする。
【０２０８】
次に、アドレス入力用スキャンパス（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１）にアドレスの初期値を設定する。この場合、ＳＲ  ＳＩＮＨＡ０，ＳＲ  ＳＩＮＨＡ１に夫々“００”を設定する。アドレスパターン発生回路６１４からのＳＩＡ信号によってアドレスの初期値を設定する。このときＳＲ  ＳＩＮＨＤＩおよびＳＲ  ＳＩＮＨＤＯは夫々“１１”に設定し、データ入力用スキャンパス（ＤＩ−ＳＣＡＮ）およびデータ出力用スキャンパス（ＤＯ−ＳＣＡＮ）のシフト動作を禁止しておく。このとき、ＲＡＭコア６１５への書き込みを行わないのでＳＲ  ＳＩＷは“１１”にする。また、ＲＡＭコア６１５の読み出しは行わないのでＳＲ  ＳＩＣは“１１”に設定する。また、ＲＡＭコア６１５のデータ出力と期待値（ＥＸＰ）の比較は行わないのでＳＲ  ＣＭＰＥＮは“００”にする。
【０２０９】
そして、ＡＬＬ−０の読み出しを実行する。この場合、ＳＲ  ＳＩＮＨＡ０，ＳＲ  ＳＩＮＨＡ１に夫々“００”を設定する。アドレスパターン発生回路６１４からのＳＩＡ信号により通常動作でアドレッシングを行う。このとき、ＳＲ  ＳＩＮＨＤＩおよびＳＲ  ＳＩＮＨＤＯは夫々“１１”に設定し、データ入力用スキャンパス（ＤＩ−ＳＣＡＮ）およびデータ出力用スキャンパス（ＤＯ−ＳＣＡＮ）のシフト動作を禁止しておく。また、ＲＡＭコア６１５の書き込み信号ＳＲ  ＳＩＷを“１１”に設定し、ＲＡＭコア６１５への書き込みを禁止する。さらに、読み出し信号ＳＲ  ＳＩＣを“１１”に設定し、ＲＡＭコア６１５の読み出しを行う。ＳＲ  ＣＭＰＥＮを“１１”に、ＳＲ  ＥＸＰを“００”に設定し、ＲＡＭコア６１５のデータ出力と期待値（ＥＸＰ）との比較を行う。このとき、ＲＡＭコア６１５に故障があれば、データ出力用スキャンパス（ＤＯ−ＳＣＡＮ）の対応するビットに“０”が格納される。
【０２１０】
２．マーチテスト
次に、マーチテストを例に説明する。このテストは、第２の従来例で説明した通り、全てのＲＡＭの全てのアドレス指定データについて、初期状態である初期格納データ（例えば、“０”）から新規の格納データ（“１”）に更新するものである。
【０２１１】
まず、ＡＬＬ−０のＷＲＩＴＥ／ＲＥＡＤ動作と同様、データ入力用スキャンパス（ＤＩ−ＳＣＡＮ）をＡＬＬ−０に設定する。次に、アドレス入力用スキャンパス（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１）にアドレスの初期値を設定する。そして、ＡＬＬ−０の書き込みを実行する。
【０２１２】
次に、アドレス入力用スキャンパス（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１）にアドレスの初期値を設定する。そして、データ入力用スキャンパス（ＤＩ−ＳＣＡＮ）に“１”を設定する。ＳＲ  ＳＩＮＨＡ０、ＳＲ  ＳＩＮＨＡ１、ＳＲＳＩＮＨＤＯに夫々“１１”を設定する。ＳＲ  ＳＩＮＨＤＩを“００”に、ＳＩＤを“１”に設定し、データ入力用スキャンパス（ＤＩ−ＳＣＡＮ）にＡＬ−１を設定する。そして、アドレス入力用スキャンパス（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１）にアドレスの初期値を設定する。
【０２１３】
しかる後、“０”の読み出しおよび“１”の書き込みを行う。この場合、ＳＲＳＩＮＨＡ０およびＳＲ  ＳＩＮＨＡ１に夫々“０１”を設定する。アドレスパターン発生回路６１４からのＳＩＡ信号により通常動作の半分（１／２）の周波数でアドレッシングを行う。このとき、ＳＲ  ＳＩＮＨＤＩおよびＳＲ  ＳＩＮＨＤＯは夫々“１１”に設定し、データ入力用スキャンパス（ＤＩ−ＳＣＡＮ）およびデータ出力用スキャンパス（ＤＯ−ＳＣＡＮ）のシフト動作を禁止しておく。また、ＲＡＭコア６１５のＳＲ  ＳＩＷを“１０”に、ＳＲ  ＳＩＣを“０１”に夫々設定し、交互に“０”の読み出しおよび“１”の書き込みを行う。ＳＲ  ＣＭＰＥＮを“０１”に、ＳＲ  ＥＸＰを“００”に夫々設定し、ＲＡＭコア６１５のデータ出力と期待値（ＥＸＰ）との比較を行う。このとき、ＲＡＭコア６１５に故障があればデータ出力用スキャンパス（ＤＯ−ＳＣＡＮ）の対応するビットに“０”が格納される。
【０２１４】
そして、テスト結果の出力時に、２ビットの巡回シフトレジスタ６００（ＳＲＳＩＮＨＡ１，ＳＲ  ＳＩＮＨＡ０，ＳＲ  ＳＩＮＨＤＯ，ＳＲ  ＳＩＮＨＤＩ）に“０１”を設定する。このときシフト動作信号ＳＩＮＨＡ０，ＳＩＮＨＡ１，ＳＩＮＨＤＩ，ＳＩＮＨＤＯは“０１０１０１…”を発生する。したがって、ＲＡＭコア６１５のテスト回路中のスキャンパスは、通常動作の半分（１／２）の動作周波数でシフトアウトを行うので、テスト用データ出力ピンに低周波数対応の出力ピンに割り当てることができる。
【０２１５】
このように、第１のセレクタおよび第２のセレクタをいずれも他方の入力端子に切り換え、各レジスタ部のフリップフロップに再びその出力データを入力しているので、各レジスタ部がシフトしても、データは各レジスタ部の内部で巡回し、夫々再び元のフリップフロップ内に取り込まれ、実質的にシフト動作を停止させるのと同様の作用を得ることができ、上述したタイミングのずれを修正することができる。したがって、テスト用のピンを減らすことができるとともに、テスト結果の出力ピンに、内部周波数と同じ周波数で動作できないピンを用いることができる。
【０２１６】
｛実施の形態１８｝
＜構成＞
図１３７は本発明の実施の形態１８の半導体メモリの検査装置（ＤＦＴ−ＲＡＭ）を示す図である。本実施の形態のＤＦＴ−ＲＡＭは、図１３７の如く、２ビットの巡回シフトレジスタ６００をＤＦＴ−ＲＡＭのテスト回路の他の制御信号の発生回路にも拡張して適用したもので、制御信号発生回路６２１と、アドレス発生回路６２２と、バーインパターン発生回路６２３と、データ入力回路６２４とを組み合わせたテストパターン発生回路６２５と、図８２で示したのと同様の回路タイミング修正手段（３２１，３２２，３２３，３２５，３２６，３２７，３４４，３４５）とを備える。そして、該制御信号発生回路６２１、アドレス発生回路６２２、バーインパターン発生回路６２３、およびデータ入力回路６２４は直列に接続されている。なお、図５０または図５２に示した通りバーンインパターン発生回路はアドレス発生回路または制御信号発生回路と簡単に組み合わせることができるが、ここでは他の回路から独立に構成している。
【０２１７】
かかるテストパターン発生回路６２５をさらに詳しく図示すると図１３８および図１３９のようになる。なお、図１３８および図１３９はＬ−Ｌ線にて破断されている。また、図１３８および図１３９では簡便のため、ＭＥＭＴＳＴ０およびＭＥＭＴＳＴ１を一本の信号にまとめてＭＥＭＴＳＴとし、ＩＮＳＦＦＡ０およびＩＮＳＦＦＡ１，ＩＮＳＦＦＩ０，ＩＮＳＦＦＯ１を一本の信号にまとめてＭＥＭＴＳＴとし、ＳＥＬＳＩＭとＥＸＰを一本の信号にまとめてＥＸＰとする。また、本実施の形態ではビットライトの機能のテストは仮定していない。なお、図１３８および図１３９中の制御信号発生回路６２１、アドレス発生回路６２２、バーインパターン発生回路６２３、およびデータ入力回路６２４は、図８２の実施の形態１３中のテストパターン生成回路３０１に相当している。
【０２１８】
図１３８および図１３９中の各制御信号の機能について説明する。ＳＭ信号は各シフトレジスタのシフトモードの切り替え信号である。ＳＩＮＨＡ１Ｘは読み出し用Ｘアドレス部シフトレジスタのシフト禁止信号である。ＳＩＮＨＡ１Ｙは読み出し用Ｙアドレス部シフトレジスタのシフト禁止信号である。ＳＩＮＨＡ０Ｘは書き込み用Ｘアドレス部シフトレジスタのシフト禁止信号である。ＳＩＮＨＡ０Ｙは書き込み用Ｙアドレス部シフトレジスタのシフト禁止信号である。ＳＩＮＨＤＯはデータ入力部シフトレジスタのシフト禁止信号である。ＳＩＮＨＤＩはデータ出力部シフトレジスタのシフト禁止信号である。これらＳＩＮＨＡ１Ｘ，ＳＩＮＨＡ１Ｙ，ＳＩＮＨＡ０Ｘ，ＳＩＮＨＡ０Ｙ，ＳＩＮＨＤＯ，ＳＩＮＨＤＩは夫々“１”を出力することで、図１４０および図１４１に示したテスト回路６３１中の各スキャンパスのシフト動作を禁止する。ここで、図１４０および図１４１は本実施の形態の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示す図であり、これらはＭ−Ｍ線にて破断されている。
【０２１９】
また、ＭＥＭＴＳＴは、ＭＥＭＴＳＴ＝“１”のときにテスト回路６３１中の各スキャン（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１，ＤＩ−ＳＣＡＮ−０，ＤＩ−ＳＣＡＮ−１）をパラレルにし、ＭＥＭＴＳＴ＝“０”にてテストパターン生成回路６１３の各スキャン（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１，ＤＩ−ＳＣＡＮ−０，ＤＩ−ＳＣＡＮ−１）を直列に接続する。
【０２２０】
ＳＩＷ０は書き込み信号であり、ＳＩＷ＝“０”のときＲＡＭへの書き込みが行われる。ＳＩＣは読み出し信号であり、ＳＩＣ＝“０”のときＲＡＭへの読み出しがおこなわれる。
【０２２１】
ＳＩＤはデータ入力部シフトレジスタおよびデータ出力部のシフトレジスタの入力データである。また、ＣＭＰＥＮは比較イネーブル信号、ＥＸＰは期待値であり、データ出力部シフトレジスタはＣＭＰＥＮ＝“１”のとき、ＲＡＭコア６３２のデータ出力と期待値（ＥＸＰ）との比較をおこない、もし、異なれば、シフトレジスタの値が“０”になる。
【０２２２】
ＣＨＤＩＲはアドレス部シフトレジスタのシフト動作の方向を示し、ＣＨＤＩＲ＝“０”のときはシフトレジスタは順方向にシフトし、ＣＨＤＩＲ＝“１”のときはシフトレジスタは逆方向にシフトする。
【０２２３】
ＷＩＮＨ信号はＲＡＭのライトパルスジェネレータの制御信号であり、ＷＩＮＨ信号が“１”のときＲＡＭへの書き込みを禁止する。
【０２２４】
そして、図１３８および図１３９に示したテストパターン発生回路６２５中、ＳＩＮＨＡＸ１ｃ，ＥＸＸＹｃ，ＳＩＮＨＡＸ０ｃ，ＳＩＮＨＤＯｃ，ＳＩＮＨＤＩｃ，ＭＥＭＴＳＴｃ，ＳＩＷ０ｃ，ＳＩＣｃ，ＳＩＤｃ，ＣＭＰＥＮｃ，ＥＸＰｃ，ＣＨＤＩＲｃ，ＳＩＮＨ−ＬＸｃといった制御信号を発生する制御信号発生回路６２１は、実施の形態１７における図１３３中の制御信号発生回路６１０および図１３４に示したように、２ビットの巡回シフトレジスタ６００を全て直列に接続したものである。なお、ＳＩＮＨ−ＬＸｃはアドレス発生回路６２２のシフトレジスタ禁止信号である。
【０２２５】
＜動作＞
１）通常動作時
まず、ＲＡＭの通常動作時には、ＢＵＲＮＩＮ＝０、ＲＡＭＢＩＳＴ＝０、ＳＭＸ＝０、ＷＩＮＨＸ＝０、ＩＮＳＦＦＸ＝０に設定する。このとき、ＳＩＤ，ＳＩＣ，ＳＩＷ０，ＳＩＡを除くテストバスは夫々“０”にし、ＲＡＭのテスト回路を動作不能状態（ディセーブル）にする。また、ＳＩＤ，ＳＩＣ，ＳＩＷ０，ＳＩＡの各信号についてはこれらがいずれの値であっても、ＭＥＭＴＳＴ信号が“０”のときＲＡＭに影響を及ぼさない。これは、図１３９および図１４０より、ＲＡＭのテスト回路用のシフトレジスタＡ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１，ＤＩ−ＳＣＡＮ−０，ＤＯ−ＳＣＡＮ−１は直列に接続され、ＳＩＤ，ＳＩＣ，ＳＩＷ０，ＳＩＡの各信号は各シフトレジスタには入力されないことに起因する。
【０２２６】
２）スキャンテスト時
ＬＯＧＩＣ部のスキャンテスト時には、ＢＵＲＮＩＮ＝０、ＲＡＭＢＩＳＴ＝０、ＳＭＸ＝１／０、ＷＩＮＨＸ＝０／１、ＩＮＳＦＦＸ＝１に設定する。ここで、ＲＡＭとロジック部のスキャンパスは図６２に示したように接続されているとする。このときＲＡＭのテスト回路はＭＥＭＴＥＳＴを“０”にすると、ＲＡＭ内の各シフトレジスタを１本のスキャンパスにし、さらにＳＭ信号をＬＯＧＩＣのテストに用いるＳＭ信号と同じ信号を発生するように制御信号発生回路を構成する。このことでＤＦＴ−ＲＡＭ内のスキャンパスをロジック部のスキャンパスと同等に扱うことができる。なお、他のテスト信号はスキャンテストに影響を及ぼさないように“０”にする。
【０２２７】
なお、スキャンテストでＲＡＭのテストを行うときはＷＩＮＨＸ信号を“０”にしてＲＡＭの書き込みを許可する。ＲＡＭのテストを行わないときはＷＩＮＨ信号を“１”にＲＡＭの書き込みを禁止する。
【０２２８】
３）バーインテスト実行時
バーインテスト実行時には、ＢＵＲＮＩＮ＝“１”に設定する。ここでは、ダイナミックバーインパターンがＢＵＲＮＩＮ信号のみで発生される。ＳＩＡ信号、ＳＩＤ信号、ＳＩＣ信号、およびＳＩＷ０信号は、バーインパターン発生回路６２３にて生成され、テスト回路６３１に供給される。本実施の形態では、ＢＵＲＮＩＮ信号が“１”のときにセレクタがＳＩＡ信号、ＳＩＤ信号、ＳＩＣ信号、およびＳＩＷ０信号を選択するように構成される。ＳＩＮＨＡ１Ｘ，ＳＩＮＨＡ１Ｙ，ＳＩＮＨＡ０Ｘ，ＳＩＮＨ０Ｙ，ＳＩＮＨＤＯ，ＳＩＮＨＤＩは夫々“０”にし、各スキャンパスのシフト動作を行う。本実施の形態では、ＢＵＲＮＩＮ信号はバーイン実行時に“１”となっているので、制御信号発生回路６２１の出力ＳＩＮＨＡＸ１ｃ，ＳＩＮＨＡＹ１ｃ，ＳＩＮＨＡＸ０ｃ，ＳＩＮＨＤＯｃ，ＳＩＮＨＤＩｃとＢＵＲＮＩＮ信号の反転信号とのＡＮＤを夫々とることにより“０”の設定を行って各スキャンパスのシフト動作を行っている。
【０２２９】
そして、ＭＥＭＴＳＴは“１”にし、各スキャンパスをパラレル状態にする。本実施の形態ではＭＥＭＴＳＴｃ信号とＢＵＲＮＩＮ信号のＯＲをとることで“１”を生成して各スキャンパスをパラレル状態にする。ＳＭ信号は“１”にしシフトモードにする。ここではＳＭ信号とＢＵＲＮＩＮ信号のＯＲをとることでＳＭ信号を“１”にしている。比較イネーブル信号（ＣＭＰＥＮ）、ＥＸＰ信号はＢＵＲＮＩＮ時にはＲＡＭのテスト回路６３１に対して動作に影響を及ぼさない。ＢＵＲＮＩＮ時は“０”に固定するように、夫々の信号とＢＵＲＮＩＮ信号の反転信号とのＡＮＤを取っている。ＣＨＤＩＥＲ信号およびＥＸＸＹ信号はＢＵＲＮＩＮ時には“０”もしくは“１”に固定する必要がある。本実施の形態ではＢＵＲＮＩＮ時はＣＨＤＩＥＲ信号およびＥＸＸＹ信号を“０”に固定するように、夫々の信号とＢＵＲＮＩＮ信号の反転信号とのＡＮＤをとっている。ＷＩＮＨ信号はＢＵＲＮＩＮ時は、ＲＡＭの書き込みはＳＩＷで制御するため“１”に固定する必要がある。ここではＷＩＮＨ信号とＢＵＲＮＩＮ信号の反転信号とのＡＮＤを取ることで“１”への固定を実現している。
【０２３０】
４）ＲＡＭテスト時
ＲＡＭテストモードに設定されたときには、ＢＵＲＮＩＮ＝０、ＲＡＭＢＩＳＴ＝１、ＳＭＸ＝１、ＷＩＮＨＸ＝０、ＩＮＳＦＦＸ＝１に設定する。ＳＩＮＨＡＸ１，ＳＩＮＨＡＸ０，ＳＩＮＨＤＩ，ＳＩＮＨＤ０は“１”を発生しＲＡＭ内のテスト回路６３１の各シフトレジスタのシフト動作を禁止し、シフトレジスタの値を保持する。ＳＩＷ０信号は“１”を発生して、ＲＡＭコア６３２への書き込みを禁止する。ＷＩＮＨ信号は“１”を発生し、ＲＡＭコア６３２への書き込みを禁止する。比較イネーブル信号（ＣＭＰＥＮ）は“０”を発生し、ＲＡＭコア６３２からの出力と期待値（ＥＸＰ）との比較を禁止する。
【０２３１】
実際に制御信号発生回路６２１およびアドレス発生回路６２２がテストパターン発生しているとき（ＲＵＮＢＩＳＴ＝“１”）、アドレス発生回路６２２にてＳＩＡ信号を発生する。
【０２３２】
ＳＭ，ＩＮＳＦＦ，ＷＩＮＨ信号は夫々ＳＭＸ，ＩＮＳＦＦＸ，ＷＩＮＨＸ信号がそのままＤＦＴ−ＲＡＭに与えられる。
【０２３３】
ＳＩＷ０は制御信号が発生するＳＩＷｃとアドレス発生回路６２２から発生されるＳＩＷ０ａのＯＲをとったものである。
【０２３４】
比較イネーブル信号（ＣＭＰＥＮ）は制御信号として発生されたＣＭＰＥＮｃとアドレス発生回路６２２から発生されるＣＭＰＥＮａのＡＮＤをとったものである。
【０２３５】
他の信号は制御信号発生回路６２１が出力するデータをＤＦＴ−ＲＡＭに入力する。
【０２３６】
５）テストパターンの説明
次に制御信号発生回路６２１が生成するテストパターンについて具体的に説明する。
【０２３７】
（ＡＬＬ“１”／“０”テスト）
ＡＬＬ“１”／“０”テストは次の手順で実施する。
【０２３８】
１．ＤＯ−ＳＣＡＮを“１１１．．．１”に設定する。
【０２３９】
２．ＤＩ−ＳＣＡＮを“１１１．．．１”に設定する。
【０２４０】
３．Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１の初期設定する。
【０２４１】
４．順方向アドレッシングでＤＩ−ＳＣＡＮのデータをＲＡＭに書き込む、ＤＩ−ＳＣＡＮのすべてのシフトレジスタには１が書き込まれているので、結果的にはａｌｌ“１”書き込みを行う事になる。
【０２４２】
５．Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１の初期設定する。
【０２４３】
６．ＲＡＭのデータを読み出し期待値との比較を行う。
【０２４４】
すなわち、ＡＬＬ“１”読み出しを行う。
【０２４５】
７．上記２．〜６．に対し裏（反転）パターンを行う。すなわちＡＬＬ“０”書き込み／ＡＬＬ“０”読み出しを行う。
【０２４６】
８．２．〜７．に対し逆アドレッシングで同様のテストを行う。
【０２４７】
９．テスト結果を出力する。
【０２４８】
（マーチテスト）
マーチテストテストは次の手順で実施する。
【０２４９】
１．ＤＯ−ＳＣＡＮを“１１１．．．１”に設定する。
【０２５０】
２．ＤＩ−ＳＣＡＮを“１１１．．．１”に設定する。
【０２５１】
３．Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１の初期設定する。
【０２５２】
４．順方向アドレッシングでＤＩのデータをＲＡＭに書き込む。
【０２５３】
５．順方向アドレッシングで、１ｒｅａｄ／０ｗｒｉｔｅを行う。
【０２５４】
６．ＤＩ−ＳＣＡＮを“０００．．．０”に設定する。
【０２５５】
７．Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１の初期設定する。
【０２５６】
８．逆方向アドレッシングで、０ｒｅａｄ／１ｗｒｉｔｅを行う。
【０２５７】
９．２．〜８．に対し裏（反転）パターンを行う。
【０２５８】
１０．テスト結果出力する。
【０２５９】
（ローバー／カラムバー／チェッカーボードパターンテスト）
１．ＤＯ−ＳＣＡＮを“１１１．．．１”に設定する。
【０２６０】
２．ＤＩ−ＳＣＡＮを“１１１．．．１”に設定する。
【０２６１】
３．Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１の初期設定する。
【０２６２】
４．アドレス発生回路６２２で順方向アドレッシング行いながら、特定のアドレスのみＤＩ−ＳＣＡＮのデータをＲＡＭに書き込む。
【０２６３】
（特定のアドレスに対しのみ、ＡＬＬ“１”ｗｒｉｔｅを行う。）
５．ＤＩ−ＳＣＡＮを“０００．．．０”に設定する。
【０２６４】
６．Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１の初期設定する。
【０２６５】
７．アドレス発生回路６２２で順方向アドレッシング行いながら、４．で書き込まれなかったアドレスに対してＤＩ−ＳＣＡＮのデータをＲＡＭに書き込む。
【０２６６】
（ＡＬＬ“０”ｗｒｉｔｅを行う。）
８．Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１の初期設定する。
【０２６７】
９．アドレス発生回路６２２で順方向アドレッシング行いながら、４で“１”書き込みを行ったアドレスに対して“１”ｒｅａｄを行う。
【０２６８】
１０．Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１の初期設定する。
【０２６９】
１１．アドレス発生回路６２２で順方向アドレッシング行いながら、７で“０”書き込みを行ったアドレスに対して“０”ｒｅａｄを行う。
【０２７０】
１２．２．〜１１．に対し裏（反転）パターンを行う。
【０２７１】
１３．２．〜１２．に対し逆アドレッシングを行う。
【０２７２】
１４．テスト結果を出力する。
【０２７３】
以上のようなテストパターンを実行するためには時は以下のように制御信号生成回路を設定するとよい。
【０２７４】
ＳＭ＝“１”（これにより、ＤＦＴ部分をスキャンモードにする。）
ＭＥＭＴＳＴ＝“１”（これにより、ＤＦＴの各スキャンをパラレルにする。）
ＷＩＮＨ＝“０”（これにより、ＲＡＭのＷｒｉｔｅ  Ｐｕｌｓｅ  Ｇｅｎｅｒａｔｏｒをイネーブル状態にする。）
（ＤＯ−ＳＣＡＮを“１１１．．．１”に設定）
テストを始めるまえにＤＯ−ＳＣＡＮに故障判定用にデータとしてあらかじめＤＯ−ＳＣＡＮに“１１１．．．１”を設定する。テスト実行時にフェイルしたデータのｂｉｔが“０”になり故障ビットのがわかる。ＤＯ−ＳＣＡＮの入力データとしてＳＩＤ＝“１”にするので、制御信号発生回路の巡回シフトレジスタＳＩＤには“１１”を設定する。
【０２７５】
（ＤＯ−ＳＣＡＮを“１１１．．．１”に設定）
ＲＡＭに書き込みたいデータをＳＩＤより設定する。本実施の形態のＢＩＳＴコントローラはＤＩ−ＳＣＡＮを以下のようなパターンに設定する。
【０２７６】
“１１１．．．”
“０００．．．”
“０１０１．．”
“１０１０．．”
このとき、ＣＭＰＥＮ＝“０”，ＳＩＮＨ−ＤＯ＝“１”にして、ＤＯ−ＳＣＡＮのデータが変化しないようにする。また、ＳＩＮＨ−ＡＸ０，ＳＩＮＨ−ＡＸ１＝“１”にしてＡ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１が変化しないようにする。
【０２７７】
（Ａ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１の初期設定）
ＲＡＭの初期アドレス値の設定を行う。
【０２７８】
このときＣＭＰＥＮ＝“０”，ＳＩＮＨ−ＤＯ＝“１”にして、ＤＯ−ＳＣＡＮのデータが変化しないようにする。また、ＳＩＮＨ−ＤＩ＝“１”にして、ＳＩ−ＳＣＡＮのデータが変化しないようにする。
【０２７９】
（アドレッシング）
ＲＡＭのアドレスはアドレス発生回路６２２が生成するＳＩＡ信号をアドレス用スキャンレジスタより入力することで与えられる。
【０２８０】
制御信号発生回路６２１で生成される書き込み信号ＳＩＷ０ｃおよび比較イネーブル信号ＣＭＰＥＮｃについて、ＡＬＬ“０”／“１”テスト、ローバー／カラムバー／チェッカーボードパターンテストを行う場合のＲＡＭの書き込み動作時には、ＳＩＷ＝“０”，ＣＭＰＥＮ＝“０”にするとよいので、制御信号を発生回路のＳＩＷ０＝“００”、ＣＭＰＥＮ＝“００”、ＲＡＭの読み出し時はＳＩＷ＝“１１”、ＣＭＰＥＮ＝“１１”を設定する。
【０２８１】
通常のアドレッシングは、ＳＩＮＨＡ０Ｘ，ＳＩＮＨＡ０Ｙ，ＳＩＮＨＡ１Ｘ，ＳＩＮＨＡ１Ｙを夫々“０”にし、シフト動作可能にする。
【０２８２】
マーチテストはアドレスを２サイクルで１回シフトする。そこでＳＩＮＨＬＸ＝“０１”に設定することでアドレス発生回路６２２を２サイクルでアドレスを発生するようにする。同様にＡ−ＳＣＡＮ−０，Ａ−ＳＣＡＮ−１は２サイクルで１回シフトするためＳＩＮＨＡ０Ｘ，ＳＩＮＨＡ０Ｙ，ＳＩＮＨＡ１Ｘ，ＳＩＮＨＡ１Ｙは夫々“０１０１０１．．．”を発生する。
【０２８３】
ローバー／カラムバー／チェッカーボードパターンテストにおいては、（アドレス発生回路６２２の明細書に記述されているように）アドレス発生回路６２２が、各パターンに対して、書き込み信号ＳＩＷ０ａおよび比較イネーブル信号ＣＭＰＥＮａを発生する。またＲＡＭのアドレスが２ｎでないときはＲＡＭのアドレス部のシフトレジスタが存在しないアドレスのとき書き込み禁止、比較禁止を行うため、ＳＩＷ０ａ信号と比較イネーブル信号（ＣＭＰＥＮ）を発生する。
【０２８４】
テストパターン発生回路６２５から生成される比較イネーブル信号（ＣＭＰＥＮ）は、アドレス発生回路６２２からのＣＭＰＥＮａ信号と制御信号発生回路６２１からのＣＭＰＥＮｃ信号とのＡＮＤをとる。ＳＩＷ０信号はアドレス発生回路６２２が生成するＳＩＷａ信号と制御信号発生回路６２１からのＳＩＷｃ信号とのＯＲをとる。
【０２８５】
ＳＩＮＨ−Ａ０＝“０”，ＳＩＮＨ−Ａ１＝“０”に設定してシングルボードＲＡＭのようにアドレッシングしたり、ＳＩＮＨ−Ａ０＝“０”，ＳＩＮＨ−Ａ１＝“１”にしてライトボードのみアドレッシングできる。
【０２８６】
ＣＨＤＩＲ＝“１”にすることで逆方向アドレッシングが可能である。
【０２８７】
ＥＸＸＹを“１”に設定して下位アドレスと上位アドレスを入れ換えてアドレッシングを行う。
【０２８８】
（ＲＡＭに書き込みを行う）
ＳＩ−ＳＣＡＮの設定値をＲＡＭに書き込む。例えばＳＩ−ＳＣＡＮには“１１１．．．１”に設定するとＲＡＭにはＡＬＬ“１”ｗｒｉｔｅが行われる。ＳＩＷ＝“０”に設定する。このとき、ＣＭＰＥＮ＝“０”，ＳＩＮＨ−ＤＯ＝“１”にし、ＤＯ−ＳＣＡＮのデータが変化しないようにする。また、ＳＩＮＨ−ＤＩ＝“１”にし、ＳＩ−ＳＣＡＮのデータ変化しないようにする。
【０２８９】
（ＲＡＭの読み出しを行う）
ＲＡＭの出力データを読みだし期待値（ＥＸＰ）との比較を行う。出力データと期待値が異なるときＤＯ−ＳＣＡＮの故障しているビットのＦＦが“０”にリセットされる。ＷＲＩＴＥ命令同様シングルボードＲＡＭと同様のアドレッシングやリードポートのみのアドレッシングが可能である。またＣＨＤＩＲ＝“１”にすることで逆方向のアドレッシングが可能である。
【０２９０】
このとき、ＳＩＮＨ−ＤＯ＝“１”に設定して、ＤＯ−ＳＣＡＮのデータがシフトしないようにする。
【０２９１】
（“１”ｗｒｉｔｅ／“０”ｒｅａｄを行う）
本命令ではＳＩ−ＳＣＡＮの設定値をＲＡＭに書き込み、ＲＡＭの出力データを読みだし期待値（ＥＸＰ）との比較を行う。例えばＳＩ−ＳＣＡＮに“１１１１．．１”を設定し、ＥＸＰ＝“０”にすると、“１”ｗｒｉｔｅ／“０”ｒｅａｄになる。制御信号発生回路の巡回シフトレジスタにＳＩＣ＝“０１”，ＳＩＷ＝“１０”、ＣＭＰＥＮ＝“１０”を設定することで、
ＳＩＣ＝“０１０１０１．．．”
ＳＩＷ＝“１０１０１０．．．”
ＣＭＰＥＮ＝“１０１０１０．．．”
ＳＩＮＨ−Ａ０／ＳＩＮＨ−Ａ１＝“０１０１０１．．．”にする。ＣＨＤＩＲ＝“１”にすることで逆方向にアドレッシングが可能である。
【０２９２】
（テスト結果出力）
ＳＩＮＨＡ０Ｘ，ＳＩＮＨＡ１Ｘ，ＳＩＮＨＡ１Ｘ，ＳＩＮＨＡ１Ｙ，ＳＩＮＨＤＩ，ＳＩＮＨＤＯの設定については実施の形態１７に示したのと同様にして行う。他の信号についてはテスト回路６３１に影響を及ぼさないように各巡回シフトレジスタ６００に“００”を設定する。
【０２９３】
以上のように、２ビットの巡回シフトレジスタ６００により構成した簡単な回路でＤＦＴ−ＲＡＭに適したテスト信号を発生することができる。
【０２９４】
また、同じ回路を直列に接続し構成しているので、ＲＡＭのテストピンに対し簡単に機能拡張／縮小ができる。
【０２９５】
さらに、シフト禁止信号を発生する回路を巡回シフトレジスタ６００で発生することにより、シフト動作速度を自由に変更する。特にテスト実行時は通常動作テストを行い、テスト結果出力時は通常動作よりも周波数を下げて、高速動作に対応していない出力ピンからも出力できる。
【０２９６】
｛実施の形態１９｝
＜構成＞
図１４２は本発明の実施の形態１９における自己修正機能付き半導体メモリの検査装置の全体の概要を示すブロック図である。該自己修復機能付き半導体メモリの検査装置は、ＲＡＭに故障があった場合でも、冗長回路によりシステム動作することを目的として構成されたもので、７０１は電源の投入を検出しリセット信号を出力する公知のパワーオンリセット回路（Power On Reset Circuit）、７０２はパワーオンリセット回路７０１からのリセット信号に基づいてＲＡＭテストを行うセルフテスト回路（Self Test Circuit）、７０３はテスト回路付きＲＡＭ（RAM with Test Circuit）、７０４はデータに生じる誤りを補償する冗長回路（Redundancy Circuit）、７０５は所定の論理構成が施された論理回路（Logic Circuit）、７０６はデータに誤りが生じたか否かを二値データで表示するレジスタ回路（Register Circuit：不良データ桁指定手段：二値データ保持手段）である。該半導体メモリの検査装置は、１チップのＬＳＩ上に構成されてもよいし、複数のチップや個別部品により構成されてもよい。なお、テスト回路付きＲＡＭ７０３内にレジスタ機能を持つ場合は（例えば、図１、または、図６，図１１，図１７，図１８，図１９，図２０，図２１のように、データ帰還用のループ配線が設けられた複数のフリップフロップが設けられている場合）、レジスタ回路７０６を省略することができる。
【０２９７】
前記セルフテスト回路７０２は、図１４３の如く、マイクロコンピュータ（Microcomputer）７０２ａを用いるものである。マイクロコンピュータ７０２ａ内のＲＯＭやＲＡＭ（図示せず）に格納されたプログラムによりセルフテスト動作が制御される。なお、テスト結果（Test Result）をマイクロコンピュータ７０２ａに取り込み、マイクロコンピュータ７０２ａの入出力ポートからシステム外部（例えば上位階層のシステム）に伝達することも可能である。これにより、上位階層のシステムによる故障の認識が可能になり、上位階層のシステムの保守が容易になる。例えば、冗長回路７０４では救済できない程度の多数の故障が発生した場合に、上位階層のシステムがこれを認識し、システム動作を停止することができる。なお、図１４３中のReset Signalは前記パワーオンリセット回路７０１からのリセット信号、Test Patternは前記テスト回路付きＲＡＭ７０３へ出力するテストパターン信号、Register Controlは前記レジスタ回路７０６へ出力するレジスタ制御信号である。
【０２９８】
先ず、前記冗長回路７０４として、１ビットだけ救済可能に構成されているものを説明する。ここで、図１４４は図１４２のテスト回路付きＲＡＭ７０３と冗長回路７０４の詳細な接続例を示す図である。テスト回路付きＲＡＭ７０３としては例えば図６４および図６５の構成のものを用いればよい。図１４４において、ＳＯ＜０＞〜ＳＯ＜５＞（以下、ＳＯ＜＞と略記する）の信号はテスト結果の信号であり、例えば図９５の構成部品である各スキャンＦＦ（例えば図６９）のシリアル出力信号ＳＯである。また、図１４４中のテスト回路付きＲＡＭ７０３において、Ａ＜０＞〜Ａ＜３＞（以下、Ａ＜＞と略記する）はアドレス信号、ＤＩ＜０＞〜ＤＩ＜５＞（以下、ＤＩ＜＞と略記する）はデータ入力端子、ＷＥはライトイネーブル端子、ＤＯ＜０＞〜ＤＯ＜５＞（以下、ＤＯ＜＞と略記する）はデータ出力端子、ＢＷＣ＜０＞〜ＢＷＣ＜５＞（以下、ＢＷＣ＜＞と略記する）はビットライト制御端子である。この例ではアドレス信号数が４、データビット数が６のＲＡＭを示している。なお、ＢＷＣ＜＞はデータビット毎に書き込みを制御する信号である。例えば、ＢＷＣ＜３＞＝“１”，ＢＷＣ＜０＞＝“０”，ＢＷＣ＜１＞＝“０”，ＢＷＣ＜２＞＝“０”，ＢＷＣ＜４＞＝“０”，ＢＷＣ＜５＞＝“０”に設定しＷＥ信号をアクティブにした場合、ＤＩ＜３＞のデータは書き込まれない。
【０２９９】
該冗長回路７０４は、図１４５および図１４６に示したような回路構成とされる。該冗長回路７０４において、ＤＩ＜０＞〜ＤＩ＜４＞（以下、ＤＩ＜＞と略記する）はデータ入力信号出力端子、ＤＯ＜０＞〜ＤＯ＜４＞（以下、ＤＯ＜＞と略記する）はデータ出力信号入力端子、Ｇ＜０＞〜Ｇ＜５＞（以下、Ｇ＜＞と略記する）はテスト結果入力端子、ＢＷＣ＜０＞〜ＢＷＣ＜５＞（以下、ＢＷＣ＜＞と略記する）はビットライト制御信号出力端子、ＸＤＩ＜０＞〜ＸＤＩ＜４＞（以下、ＸＤＩ＜＞と略記する）はデータ入力端子、ＸＤＯ＜０＞〜ＸＤＯ＜４＞（以下、ＸＤＯ＜＞と略記する）はデータ出力端子、ＸＢＷＣ＜０＞〜ＸＢＷＣ＜４＞（以下、ＸＢＷＣ＜＞と略記する）はビットライト制御端子である。
【０３００】
また、該冗長回路７０４中の７１１〜７１５は、ＤＩ＜＞とＸＤＩ＜＞の間を接続する信号線Ｌｄｉ０〜Ｌｄｉ４中に配され、いずれかの信号線に不良ビットデータが与えられた際に、当該信号線（“１”側）を切断するとともに当該信号線を境にして順次隣接する信号線（“０”側）に切換接続するセレクタである。７２１〜７２５は、ＢＷＣ＜＞とＸＢＷＣ＜＞の間を接続する信号線Ｌｂｗ０〜Ｌｂｗ４中に配され、いずれかの信号線Ｌｂｗ０〜Ｌｂｗ４に不良ビットが与えられた際に、当該信号線（“１”側）を切断するとともに当該信号線を境にして順次隣接する信号線（“０”側）に切換接続するセレクタである。７３１〜７３５は、ＤＯ＜＞とＸＤＯ＜＞の間を接続する信号線Ｌｄｏ０〜Ｌｄｏ５中に配され、いずれかの信号線Ｌｄｏ０〜Ｌｄｏ５に不良ビットが与えられた際に、当該信号線（“１”側）を切断するとともに当該信号線を境にして順次隣接する信号線（“０”側）に切換接続するセレクタである。
【０３０１】
そして、７４０は、前記セレクタ７１１〜７１５，７２１〜７２５を切り換え制御するものであって、複数の信号線Ｌｄｉ０〜Ｌｄｉ４，Ｌｂｗ０〜Ｌｂｗ４，Ｌｄｏ０〜Ｌｄｏ５のうち、不良ビットであると指定された信号線を境とする一方向側（ＬＳＢ側）の信号線のセレクタに“１”を出力し、他方向側（ＭＳＢ側）の信号線に“０”を出力する二値信号指定部である。
【０３０２】
具体的には、該二値信号指定部７４０は、５個のＡＮＤ回路（論理積回路）７４１〜７４５から構成されている。最もＬＳＢ側の第１のＡＮＤ回路７４１の一方の入力端子は前記レジスタ回路７０６のＧ＜０＞端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜１＞端子に接続される。前記第１のＡＮＤ回路７４１に隣接する第２のＡＮＤ回路７４２の一方の入力端子は、前記第１のＡＮＤ回路７４１の出力端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜２＞端子に接続される。前記第２のＡＮＤ回路７４２に隣接する第３のＡＮＤ回路７４３の一方の入力端子は、前記第２のＡＮＤ回路７４２の出力端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜３＞端子に接続される。前記第３のＡＮＤ回路７４３に隣接する第４のＡＮＤ回路７４４の一方の入力端子は、前記第３のＡＮＤ回路７４３の出力端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜４＞端子に接続される。前記第４のＡＮＤ回路７４４に隣接する第５のＡＮＤ回路７４５の一方の入力端子は、前記第４のＡＮＤ回路７４４の出力端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜５＞端子に接続される。
【０３０３】
また、前記第１のＡＮＤ回路７４１の出力端子は、前記セレクタ７１１，７２１，７３２の切換制御端子に接続される。前記第２のＡＮＤ回路７４２の出力端子は、前記セレクタ７１２，７２２，７３３の切換制御端子に接続される。前記第３のＡＮＤ回路７４３の出力端子は、前記セレクタ７１３，７２３，７３４の切換制御端子に接続される。前記第４のＡＮＤ回路７４４の出力端子は、前記セレクタ７１４，７２４，７３５の切換制御端子に接続される。前記第５のＡＮＤ回路７４５の出力端子は、前記セレクタ７１５，７２５の切換制御端子に接続される。そして、前記セレクタ７３１の切換制御端子は前記レジスタ回路７０６のＧ＜０＞端子に接続される。
【０３０４】
さらに、図１４５中の７５０は、前記レジスタ回路７０６からのＧ＜＞信号に基づいてＢＷＣ＜＞へ書き込み抑制信号（“１”）を送信するための制御素子群であって、Ｇ＜＞についての各信号線について信号を反転させるインバータ回路７５１と、一方の端子に前記インバータ回路７５１からの信号を入力し他方の端子に前記セレクタ７２１〜７２５からの信号を入力するＯＲ回路７５２とから構成される。なお、ＢＷＣ＜＞端子が存在しないＲＡＭに対しては該制御素子群７５０は省略できる。
【０３０５】
＜動作＞
上記構成の半導体メモリの検査装置の動作を説明する。まず、パワーオンリセット回路７０１により電源の投入を検出し、セルフテスト回路７０２にリセット信号を与える。これにより、セルフテスト回路７０２はＲＡＭのテストを自動的に開始する。セルフテスト回路７０２はテスト回路付きＲＡＭ７０３内のＲＡＭコアがテストされ、そのテスト結果がテスト回路付きＲＡＭ７０３から出力される。
【０３０６】
レジスタ回路７０６はセルフテスト回路７０２がＲＡＭテストを終了した後でテスト結果を取り込むようにセルフテスト回路７０２により制御される。レジスタ回路７０６はパラレルのレジスタ回路７０６でもよいし、直列シフトレジスタでもよい。冗長回路７０４はテスト結果に応じてＲＡＭの入力／出力データやビットライト制御信号と論理回路７０５間の接続の切り換えを行う。ＲＡＭに故障があっても、その故障ビットを使用しないように接続の切り換えが行われ、システムの通常の機能を維持することができる。
【０３０７】
アドレス信号や制御信号は論理回路７０５からテスト回路付きＲＡＭ７０３に与えられる。
【０３０８】
ＸＤＩ＜＞，ＸＢＷＣ＜＞，ＸＤＯ＜＞がＬＳＩ上の他の論理回路７０５と接続されて、ＬＳＩとしての所望の動作を実現する。
【０３０９】
Ｇ＜＞端子にはＲＡＭテスト結果に応じて、故障ビットに対しては“０”、故障のないビットに対しては“１”が設定されると仮定して説明を行う。
【０３１０】
ＲＡＭに故障が全くない場合、Ｇ＜５＞からＧ＜０＞は全て“１”になる。この結果、Ｆ＜５＞からＦ＜１＞は全て“１”になる。
【０３１１】
このとき、以下に示すような信号経路が構成される。
【０３１２】
(1)  ＤＩ＜４＞〜ＤＩ＜０＞（信号線）に対してはＸＤＩ＜４＞からＸＤＩ＜０＞の信号が供給され、ＤＩ＜５＞（予備線）に対しては固定の“０”又は“１”が供給される。
【０３１３】
(2)  ＢＷＣ＜４＞〜ＢＷＣ＜０＞（信号線）に対してはＸＢＷＣ＜４＞からＸＢＷＣ＜０＞の信号が供給され、ＢＷＣ＜５＞（予備線）に対しては固定の“１”が供給される（“１”は書き込み抑制状態であり、ビット番号５に対しては書き込みは行われない）。
【０３１４】
(3)  ＸＤＯ＜４＞からＸＤＯ＜０＞に対してはＤＯ＜４＞〜ＤＯ＜０＞（信号線）の信号が供給される。つまり、ビット番号５が未使用状態になり、データ入出力が５ビットのＲＡＭとして動作する。なお、ＤＯ＜５＞は予備線である。
【０３１５】
例えば、ビット番号３に故障がある場合、Ｇ＜５＞，Ｇ＜４＞，Ｇ＜２＞，Ｇ＜１＞，Ｇ＜０＞は“１”になり、Ｇ＜３＞は“０”になる。この結果、Ｆ＜５＞，Ｆ＜４＞，Ｆ＜３＞は“０”になり、Ｆ＜２＞，Ｆ＜１＞は“１”になる。このとき、以下に示すような信号経路が構成される。
【０３１６】
(1) ＤＩ＜５＞に対してはＸＤＩ＜４＞信号が、
ＤＩ＜４＞に対してはＸＤＩ＜３＞信号が、
ＤＩ＜３＞に対してはＸＤＩ＜２＞信号が、
ＤＩ＜２＞に対してはＸＤＩ＜２＞信号が、
ＤＩ＜１＞に対してはＸＤＩ＜１＞信号が、
ＤＩ＜０＞に対してはＸＤＩ＜０＞信号が、
夫々供給される。
【０３１７】
(2) ＢＷＣ＜５＞に対してはＸＢＷＣ＜４＞信号が、
ＢＷＣ＜４＞に対してはＸＢＷＣ＜３＞信号が、
ＢＷＣ＜３＞に対してはインバータ回路７５１とＯＲ回路７５２により“１”が、
ＢＷＣ＜２＞に対してはＸＢＷＣ＜２＞信号が、
ＢＷＣ＜１＞に対してはＸＢＷＣ＜１＞信号が、
ＢＷＣ＜０＞に対してはＸＢＷＣ＜０＞信号が、
夫々供給される（“１”は書き込み抑制状態であり、不良となっているビット番号３に対しては書き込みは行われない）。
【０３１８】
(3) ＸＤＯ＜４＞に対してはＤＯ＜５＞信号が、
ＸＤＯ＜３＞に対してはＤＯ＜４＞信号が、
ＸＤＯ＜２＞に対してはＤＯ＜２＞信号が、
ＸＤＯ＜１＞に対してはＤＯ＜１＞信号が、
ＸＤＯ＜０＞に対してはＤＯ＜０＞信号が、
夫々供給される。
【０３１９】
つまり、ビット番号３が未使用状態になり、データ入出力が５ビットのＲＡＭとして動作する。
【０３２０】
以上のように、データ入出力に１ビットの故障が存在しても所望（５ビット）のＲＡＭとして動作できる。
【０３２１】
｛実施の形態２０｝
図１４７に本発明の実施の形態２０のセルフテスト回路７０２を示す。図１４７の回路は実施の形態１９において図１４３に示した回路と同等の機能を持つものであるが、専用のテストパターン発生回路（Pattern Generator）７０２ｂを付加している。これは、マイクロコンピュータの動作速度がＲＡＭの動作速度に比べて遅い場合に有効である。専用のテストパターン発生回路により、高速なテストパターン発生が可能になり、ＲＡＭのアクセスタイム不良などの故障を検出できるようになる。テストパターン発生回路としては、例えば図１３８および図１３９に示した回路を用いればよい。その他の構成は、図１４２乃至図１４６に示したものと同様であるため説明を省略する。かかるその他の構成については、本実施の形態によっても実施の形態１９と同様の効果を得ることができる。
【０３２２】
｛実施の形態２１｝
＜構成＞
図１４８および図１４９は本発明の実施の形態２１の半導体メモリの検査装置の冗長回路７０４ａ（７０４）を示す図であり、図中のＤＩ＜＞−ＸＤＩ＜＞およびＢＷＣ＜＞−ＸＢＷＣ＜＞に関して、上端（ＭＳＢ）のビットに対してはセレクタ（実施の形態１９におけるセレクタ７１５，７２５）で固定値を入力する代わりにゲート回路（ＯＲ回路）７６１，７６２で固定値を入力している。また、故障のビットに対する入力データやビットライト制御信号は、隣接するどちらのビットの値を用いてもよいことに着目して、二値信号指定部７４０からの制御信号をＦ＜１＞〜Ｆ＜５＞からＧ＜０＞およびＦ＜１＞〜Ｆ＜４＞に変更している。この結果、Ｆ＜５＞信号を作成するためのＡＮＤ回路（実施の形態１９におけるＡＮＤ回路７４５）が不要になっている。
【０３２３】
＜動作＞
上記構成の半導体メモリの検査装置の動作を説明する。ＲＡＭに故障が全くない場合、Ｇ＜５＞からＧ＜０＞は全て“１”になる。この結果、Ｆ＜４＞からＦ＜１＞は全て“１”になる。
【０３２４】
このとき、以下に示すような信号経路が構成される。
【０３２５】
(1)  ＤＩ＜４＞からＤＩ＜０＞に対してＸＤＩ＜４＞からＸＤＩ＜０＞の信号が供給され、ＤＩ＜５＞に対しては固定の“１”が供給される。
【０３２６】
(2)  ＢＷＣ＜４＞からＢＷＣ＜０＞に対してはＸＢＷＣ＜４＞からＸＢＷＣ＜０＞の信号が供給され、ＢＷＣ＜５＞に対しては固定の“１”が供給される（“１”は書き込み抑制状態であり、ビット番号５に対しては書き込みは行われない）。
【０３２７】
(3)  ＸＤＯ＜４＞からＸＤＯ＜０＞に対してはＤＯ＜４＞からＤＯ＜１＞の信号が供給される。つまり、ビット番号５が未使用状態になり、データ入出力が５ビットのＲＡＭとして動作する。
【０３２８】
例えば、ビット番号３に故障がある場合、Ｇ＜５＞，Ｇ＜４＞，Ｇ＜２＞，Ｇ＜１＞，Ｇ＜０＞は“１”になり、Ｇ＜３＞は“０”になる。この結果、Ｆ＜４＞，Ｆ＜３＞は“０”になり、Ｆ＜２＞，Ｆ＜１＞は“１”になる。
【０３２９】
このとき、以下に示すような信号経路が構成される。
【０３３０】
(1) ＤＩ＜５＞に対してはＸＤＩ＜４＞信号が、
ＤＩ＜４＞に対してはＸＤＩ＜３＞信号が、
ＤＩ＜３＞に対してはＸＤＩ＜３＞信号が、
ＤＩ＜２＞に対してはＸＤＩ＜２＞信号が、
ＤＩ＜１＞に対してはＸＤＩ＜１＞信号が、
ＤＩ＜０＞に対してはＸＤＩ＜０＞信号が、
夫々供給される。
【０３３１】
(2) ＢＷＣ＜５＞に対してはＸＢＷＣ＜４＞信号が、
ＢＷＣ＜４＞に対してはＸＢＷＣ＜３＞信号が、
ＢＷＣ＜３＞に対してはインバータ回路７５１とＯＲ回路７５２により“１”が、
ＢＷＣ＜２＞に対してはＸＢＷＣ＜２＞信号が、
ＢＷＣ＜１＞に対してはＸＢＷＣ＜１＞信号が、
ＢＷＣ＜０＞に対してはＸＢＷＣ＜０＞信号が、
夫々供給される（“１”は書き込み抑制状態であり、ビット番号３に対しては書き込みは行われない）。
【０３３２】
ＸＤＯ＜４＞に対してはＤＯ＜５＞信号が、
ＸＤＯ＜３＞に対してはＤＯ＜４＞信号が、
ＸＤＯ＜２＞に対してはＤＯ＜２＞信号が、
ＸＤＯ＜１＞に対してはＤＯ＜１＞信号が、
ＸＤＯ＜０＞に対してはＤＯ＜０＞信号が、
夫々供給される。
【０３３３】
つまり、ビット番号３が未使用状態になり、データ入出力が５ビットのＲＡＭとして動作する。
【０３３４】
以上のように、データ入出力に１ビットの故障が存在しても所望（５ビット）のＲＡＭとして動作できる。
【０３３５】
図１４５および図１４６の回路と図１４８および図１４９の回路では故障ビットのＤＩ＜＞端子に接続される信号が異なる。例えば、ビット番号３に故障がある場合、図１４５および図１４６の回路ではＤＩ＜３＞に対してはＸＤＩ＜２＞信号が接続されていたが、図１４８および図１４９の回路ではＤＩ＜３＞に対してはＸＤＩ＜３＞信号が接続される。ビット番号３は使用されないので、システム動作上は差異はない。
【０３３６】
｛実施の形態２２｝
＜構成＞
図１５０は本発明の実施の形態２２において、図１４２のテスト回路付きＲＡＭ７０３と冗長回路７０４ｂの詳細な接続例を示す他の実施の形態の図である。図１５０では、２ビットの不良を救済する冗長回路７０４ｂを用いている。
【０３３７】
図１５１および図１５２は図１５０で用いられる２ビットの冗長回路７０４ｂの回路図である。該冗長回路７０４ｂは、データ入出力に２ビットの故障が存在しても、所望のＲＡＭとして動作できるものである。すなわち、本実施の形態では、一方向に沿って不良ビットを検出した後、さらに逆方向に沿って不良ビットを検出することで、合計２ビットの不良データを帆しょぅするものである。図１５１および図１５２は、６ビットデータ入出力のＲＡＭを用意して４ビットデータ入出力のＲＡＭとして用いる場合の冗長回路７０４ｂを示している。図１５１および図１５２中のＹＤＩ＜＞はデータ入力端子、ＹＢＷＣ＜＞はビットライト制御端子、ＹＤＯ＜＞はデータ出力端子である。
【０３３８】
具体的には、図１４８および図１４９で示した実施の形態２１と同様の構成に付加して、前記ＹＤＩ＜＞からの信号切り換え用のセレクタ７７１〜７７３およびゲート回路（ＯＲ回路）７７４、前記ＹＢＷＣ＜＞からの信号切り換え用のセレクタ７８１〜７８３およびゲート回路（ＯＲ回路）７８４、および前記ＹＤＩ＜＞への信号切り換え用のセレクタ７９１〜７９４が設けられている。
【０３３９】
このうち、７７１〜７７３は、セレクタ７１１〜７１４（一次セレクタ部）とＹＤＩ＜＞の間を接続する信号線Ｌｙｄｉ０〜Ｌｙｄｉ３中に配され、いずれかの信号線に不良ビットデータが与えられた際に、当該信号線（“１”側）を切断するとともに当該信号線を境にして順次隣接する信号線（“０”側）に切換接続するセレクタ（二次セレクタ部）である。また、ゲート回路（ＯＲ回路）７７４は下端（ＬＳＢ）のビット（すなわち、ＤＩ＜０＞）に対して固定値を入力するためのもので、一方の端子にはＹＤＩ＜０＞端子が接続され、他方の端子には後述する第２の二値信号指定部８００のＡＮＤ回路（論理積回路）８０３の出力端子が接続される。
【０３４０】
また、７８１〜７８３は、セレクタ７２１〜７２４（一次セレクタ部）とＹＢＷＣ＜＞の間を接続する信号線Ｌｙｂｗ０〜Ｌｙｂｗ３中に配され、いずれかの信号線Ｌｙｂｗ０〜Ｌｙｂｗ３に不良ビットが与えられた際に、当該信号線（“１”側）を切断するとともに当該信号線を境にして順次隣接する信号線（“０”側）に切換接続するセレクタ（二次セレクタ部）である。７９１〜７９４は、セレクタ７３１〜７３５（一次セレクタ部）とＹＤＯ＜＞の間を接続する信号線Ｌｘｄｏ０〜Ｌｘｄｏ４中に配され、いずれかの信号線Ｌｘｄｏ０〜Ｌｘｄｏ４に不良ビットが与えられた際に、当該信号線（“１”側）を切断するとともに当該信号線を境にして順次隣接する信号線（“０”側）に切換接続するセレクタ（二次セレクタ部）である。また、ゲート回路（ＯＲ回路）７８４は下端（ＬＳＢ）のビット（すなわち、制御素子群７５０のＢＷＣ＜０＞に接続されたＯＲ回路７５２）に対して固定値を入力するためのもので、一方の端子にはＹＢＷＣ＜０＞端子が接続され、他方の端子には後述する第２の二値信号指定部８００のＡＮＤ回路８０３の出力端子が接続される。
【０３４１】
そして、８００は、前記セレクタ７７１〜７７３，７８１〜７８３を切り換え制御するものであって、複数の信号線Ｌｙｄｉ０〜Ｌｙｄｉ３，Ｌｙｂｗ０〜Ｌｙｂｗ３，Ｌｘｄｏ０〜Ｌｘｄｏ４のうち、不良ビットであると指定された信号線を境とする一方向側（ＬＳＢ側）の信号線のセレクタ７７１，７７２，７８１，７８２，７９１〜７９３およびＯＲ回路７７４，７８４に“０”を出力し、他方向側（ＭＳＢ側）の信号線のセレクタ７７１，７７２，７８１，７８２，７９１〜７９３およびＯＲ回路７７４，７８４に“１”を出力する第２の二値信号指定部（二次制御回路）である。なお、前記した第１の二値信号指定部７４０（一次制御回路）とは、ＬＳＢ側とＭＳＢ側とでは、不良ビットが逆方向から検出される。これは、両二値信号指定部７４０，８００とでＬＳＢ側とＭＳＢ側の両方から不良ビットを検出することで、合計２ビットの故障を検出するためである。
【０３４２】
具体的には、該二値信号指定部８００は、３個のＡＮＤ回路（二次論理積回路）８０１〜８０３から構成されている。この場合、第１の二値信号指定部７４０の４個のＡＮＤ回路７４１〜７４４は、ＡＮＤ回路８０１〜８０５に対して一次論理積回路として機能する。最もＭＳＢ側の第５のＡＮＤ回路８０１の一方の入力端子は前記レジスタ回路７０６のＧ＜５＞端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜４＞端子に接続される。前記第５のＡＮＤ回路８０１に隣接する第６のＡＮＤ回路８０２の一方の入力端子は、前記第１のＡＮＤ回路８０１の出力端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜３＞端子に接続される。前記第６のＡＮＤ回路８０２に隣接する第７のＡＮＤ回路８０３の一方の入力端子は、前記第６のＡＮＤ回路８０２の出力端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜２＞端子に接続される。
【０３４３】
また、前記第５のＡＮＤ回路８０１の出力端子Ｈ＜４＞は、前記セレクタ７７２，７８２，７９３の切換制御端子に接続される。前記第６のＡＮＤ回路８０２の出力端子Ｈ＜３＞は、前記セレクタ７７１，７８１，７９２の切換制御端子に接続される。前記第７のＡＮＤ回路８０３の出力端子は、前記ＯＲ回路７７４，７８４の一方の端子およびセレクタ７９１の切換制御端子に接続される。
【０３４４】
その他の構成は、実施の形態２１と同様であるため説明を省略する。
【０３４５】
＜動作＞
図１５１および図１５２の回路動作について説明する。ＲＡＭに故障が全くない場合、レジスタ回路７０６のＧ＜５＞からＧ＜０＞は全て“１”になる。この結果、第１の二値信号指定部７４０の出力端子Ｆ＜４＞〜Ｆ＜１＞は全て“１”になり、さらに第２の二値信号指定部８００の出力端子Ｈ＜２＞〜Ｈ＜４＞も全て“１”になる。このとき、以下に示すような信号経路が構成される。
【０３４６】
(1)  ＤＩ＜４＞からＤＩ＜１＞に対してＹＤＩ＜３＞からＹＤＩ＜０＞の信号が供給され、ＤＩ＜５＞およびＤＩ＜０＞に対しては固定の“１”が供給される。
【０３４７】
(2)  ＢＷＣ＜４＞からＢＷＣ＜１＞についてのＯＲ回路７５２（制御素子群７５０）に対しては、ＹＢＷＣ＜３＞からＹＢＷＣ＜０＞の信号が供給され、ＢＷＣ＜５＞およびＢＷＣ＜０＞についてのＯＲ回路７５２（制御素子群７５０）に対しては固定の“１”が供給される（“１”は書き込み抑制状態であり、ビット番号５に対しては書き込みは行われない）。したがって、全てのＢＷＣ＜＞に対して“１”が供給される。
【０３４８】
(3)  ＹＤＯ＜３＞からＹＤＯ＜０＞に対してはＤＯ＜４＞からＤＯ＜１＞の信号が供給される。つまり、ビット番号５および０が未使用状態になり、データ入出力が４ビットのＲＡＭとして動作する。
【０３４９】
ここで、例えば、ビット番号２および４に故障がある場合、レジスタ回路７０６の出力端子のうちＧ＜５＞，Ｇ＜３＞，Ｇ＜１＞，Ｇ＜０＞は“１”になり、Ｇ＜４＞およびＧ＜２＞は“０”になる。この結果、第１の二値信号指定部７４０の出力端子のうちＦ＜４＞，Ｆ＜３＞，Ｆ＜２＞は“０”になり、Ｆ＜１＞は“１”になる。また、第２の二値信号指定部８００の出力端子Ｈ＜４＞，Ｈ＜３＞，Ｈ＜２＞は“０”になる。
【０３５０】
このとき、以下に示すような信号経路が構成される。
【０３５１】
(1) ＤＩ＜５＞に対してはＹＤＩ＜３＞信号が、
ＤＩ＜４＞に対してはＹＤＩ＜３＞信号が、
ＤＩ＜３＞に対してはＹＤＩ＜２＞信号が、
ＤＩ＜２＞に対してはＹＤＩ＜２＞信号が、
ＤＩ＜１＞に対してはＹＤＩ＜１＞信号が、
ＤＩ＜０＞に対してはＹＤＩ＜０＞信号が、
夫々供給される。
【０３５２】
(2) ＢＷＣ＜５＞に対してはＹＢＷＣ＜３＞信号が、
ＢＷＣ＜４＞に対してはインバータ回路７５１とＯＲ回路７５２により“１”が、
ＢＷＣ＜３＞に対してはＹＢＷＣ＜２＞信号が、
ＢＷＣ＜２＞に対してはインバータ回路７５１とＯＲ回路７５２により“１”が、
ＢＷＣ＜１＞に対してはＹＢＷＣ＜１＞信号が、
ＢＷＣ＜０＞に対してはＹＢＷＣ＜０＞信号が、
夫々供給される（“１”は書き込み抑制状態であり、ビット番号４および２に対しては書き込みは行われない）。また、
ＹＤＯ＜３＞に対してはＤＯ＜５＞信号が、
ＹＤＯ＜２＞に対してはＤＯ＜３＞信号が、
ＹＤＯ＜１＞に対してはＤＯ＜１＞信号が、
ＹＤＯ＜０＞に対してはＤＯ＜０＞信号が、
夫々出力される。
【０３５３】
つまり、ビット番号４および２が未使用状態になり、データ入出力が４ビットのＲＡＭとして動作する。
【０３５４】
このように、図１５１および図１５２の回路構成によると、
（１）  Ｆ＜＞信号を発生するＡＮＤ回路の働きによりＬＳＢ側から不良ビットの検索を行う。
【０３５５】
（２）  Ｈ＜＞信号を発生するＡＮＤ回路の働きによりＭＳＢ側から不良ビットの検索を行う。
【０３５６】
（３）  （１）および（２）の検索結果をもとに不良ビットを選択しないようにセレクタ７１１〜７１４，７２１〜７２４，７３１〜７３５，７７１〜７７３，７８１〜７８３，７９１〜７９４を切り替える。
【０３５７】
以上のように、データ入出力に２ビットの故障が存在しても、図１５１および図１５２の回路は２種類の検索方向を用いることにより、所望（４ビット）のＲＡＭとして動作できる。すなわち、２ビットまでの不良を救済できる。
【０３５８】
｛実施の形態２３｝
＜構成＞
図１５３および図１５４は本発明の実施の形態２３の半導体メモリの検査装置の冗長回路を示す図である。なお、図１５３および図１５４中、上記各実施の形態と同様の機能を有する要素については同一符号を付している。
【０３５９】
本実施の形態の半導体メモリの検査装置の冗長回路７０４ａ，７０４ｃは、第１の階層において１ビットの不良データ補償を行った後、かかる不良情報を除去し、さらに第２の階層において１ビットの不良データ補償を行うものである。実施の形態２２における図１５１および図１５２の回路に代えて使用される２ビットの冗長回路であって、特に冗長回路７０４ａは図１４８および図１４９に示したものと同様のものであり、また冗長回路７０４ｃ（破線で囲まれた部分：以下、２段目冗長回路と称する）は前記冗長回路７０４ａに足対してさらに２段階目の冗長回路を付加（階層化）するものである。
【０３６０】
前記２段目冗長回路７０４ｃにおいて、８１１〜８１３は、セレクタ７１１〜７１４（第１層セレクタ部）とＹＤＩ＜＞との間を接続する信号線Ｌｙｄｉ０〜Ｌｙｄｉ３中に配され、いずれかの信号線に不良ビットデータが与えられた際に、当該信号線（“１”側）を切断するとともに当該信号線を境にして順次隣接する信号線（“０”側）に切換接続するセレクタ（第２層セレクタ部）である。８２１〜８２３は、セレクタ７２１〜７２４（第１層セレクタ部）とＹＢＷＣ＜＞との間を接続する信号線Ｌｙｂｗ０〜Ｌｙｂｗ３中に配され、いずれかの信号線に不良ビットが与えられた際に、当該信号線（“１”側）を切断するとともに当該信号線を境にして順次隣接する信号線（“０”側）に切換接続するセレクタ（第２層セレクタ部）である。８３１〜８３３は、第１の二値信号指定部７４０（一次制御回路）と後述する第２の二値信号指定部８４０との間を接続する信号線中に配され、いずれかの信号線に不良ビットデータが与えられた際に、当該信号線（“１”側）を切断するとともに当該信号線を境にして順次隣接する信号線（“０”側）に切換接続する制御用セレクタである。該制御用セレクタ８３１〜８３３および前記第２の二値信号指定部８４０から、セレクタ８１１〜８１３，８２１〜８２３，７９１〜７９４（第２層セレクタ部）を切り換える二次制御回路が構成される。なお、前記ＹＤＩ＜＞への信号切り換え用のセレクタ７３１〜７３５（第１層セレクタ部），７９１〜７９４（第２層セレクタ部）は図１５１および図１５２で示した実施の形態２２のものと同様である。
【０３６１】
また、図中のＤＩ＜＞とＹＤＩ＜＞とを結ぶ信号線およびＢＷＣ＜＞とＹＢＷＣ＜＞とを結ぶ信号線に関して、上端（ＭＳＢ）のビットに対してゲート回路（ＯＲ回路）８６１，８６２で固定値を入力している。また、８６３はレジスタ回路７０６からのＧ＜０＞，Ｇ＜１＞の論理和をとるＯＲ回路である。
【０３６２】
そして、８４０は、前記セレクタ８１１〜８１３，８２１〜８２３，７９１〜７９４を切り換え制御するものであって、複数の信号線のうち、不良ビットであると指定された信号線を境とする一方向側（ＬＳＢ側）の信号線のセレクタに“１”を出力し、他方向側（ＭＳＢ側）の信号線に“０”を出力する第２の二値信号指定部である。
【０３６３】
具体的には、該第２の二値信号指定部８４０は、４個のＡＮＤ回路（二次論理積回路）８４１〜８４３から構成されている。最もＬＳＢ側の第５のＡＮＤ回路８４１の一方の入力端子は前記ＯＲ回路８６３の出力端子に接続され、他方の入力端子は前記セレクタ８３１の出力端子に接続される。前記第５のＡＮＤ回路８４１に隣接する第６のＡＮＤ回路８４２の一方の入力端子は前記第５のＡＮＤ回路８４１の出力端子に接続され、他方の入力端子は前記セレクタ８３２の出力端子に接続される。前記第６のＡＮＤ回路８４２に隣接する第７のＡＮＤ回路８４３の一方の入力端子は前記第６のＡＮＤ回路８４２の出力端子に接続され、他方の入力端子は前記セレクタ８３３の出力端子に接続される。
【０３６４】
また、前記第５のＡＮＤ回路８４１の出力端子ＸＦ＜１＞は、前記セレクタ８１２，８２２，７９２の切換制御端子に接続される。前記第６のＡＮＤ回路８４２の出力端子は、前記セレクタ８１３，８２３，７９３の切換制御端子に接続される。前記第７のＡＮＤ回路８４３の出力端子は、前記らＯＲ回路８６１，８６２およびセレクタ７９４の切換制御端子に接続される。なお、前記ＯＲ回路８６３の出力端子は前記セレクタ８１１，８２１，７９１の切換制御端子に接続される。
【０３６５】
なお、本実施の形態では、１段階目の不良情報としてはレジスタ回路７０６からのＧ＜＞信号が用いられ、２段階目では前記ＯＲ回路８６３およびセレクタ８３１〜８３３からのＸＧ＜＞信号が用いられている。
【０３６６】
＜動作＞
上記構成において、まず、Ｆ＜＞信号を発生する第１の二値信号指定部７４０の各ＡＮＤ回路７４１〜７４４の働きにより、Ｇ＜＞信号に対してＬＳＢ側から順にＭＳＢ側へ向けて不良ビットの検索を行い、６ビットデータの内の５ビットを選択して２段目冗長回路７０４ｃに供給している。
【０３６７】
次に、２段目冗長回路７０４ｃ内では、上記のＧ＜＞信号の内、１段目の冗長回路７０４ａで不良と判定されたビットを除去したものをＸＧ＜＞信号として内部で信号処理し、さらに、ＸＦ信号を発生する第２の二値信号指定部８４０の各ＡＮＤ回路８４１〜８４３の働きによりＸＧ＜＞信号に対してＬＳＢ側から順にＭＳＢ側へ向けて不良ビットの検索を行い、５ビットデータの内の４ビットを選択してＹＤＩ＜＞，ＹＢＷＣ＜＞，ＸＤＯ＜＞の選択的接続を行う。このように、容易に２ビットの不良データに対して動作を補償することができる。
【０３６８】
｛実施の形態２４｝
＜構成＞
次に、３ポートＲＡＭ等の多ポートＲＡＭに対する冗長回路の例について説明する。図１５５は本発明の実施の形態２４において、冗長回路７０４とテスト回路付き３ポートＲＡＭ７０３ｄの接続を示す回路図である。テスト回路付き３ポートＲＡＭ７０３ｄとしては例えば図１１３および図１１４に示すものを用いればよい。
【０３６９】
ここで、ＳＯ１＜０＞〜ＳＯ１＜５＞（以下、ＳＯ１＜＞と略記する）およびＳＯ２＜０＞〜ＳＯ２＜５＞（以下、ＳＯ２＜＞と略記する）の信号は夫々ポート１およびポート２のテスト結果の信号であり、例えば図９５の構成部品である各スキャンＦＦ（例えば図６９）のシリアル出力信号ＳＯである。
【０３７０】
ここで、説明する３ポートＲＡＭは次に示す機能を有するＲＡＭを想定している。
【０３７１】
（１）  ＷＥ端子がアクティブの時、ＢＷＣ＜＞がアクティブなビットに対してのみ、Ａ＜＞端子で指定されるアドレスに対してＤＩ＜＞端子のデータを書き込む。
【０３７２】
（２）  Ａ１＜０＞〜Ａ１＜３＞（以下、Ａ１＜＞と略記する）端子で指定されるアドレスに対して読み出しを行い、ＤＯ１＜＞端子に出力する。
【０３７３】
（３）  Ａ２＜０＞〜Ａ２＜３＞（以下、Ａ２＜＞と略記する）端子で指定されるアドレスに対して読み出しを行い、ＤＯ２＜＞端子に出力する。
【０３７４】
これらの（１）から（３）の動作は同時に行うことが可能である。なお、ＢＷＣ＜＞端子のないＲＡＭの場合は、この信号に関する回路は省略できる。図１５５中の７０６ａは、３ポートＲＡＭのように読み出しポートが複数ある場合に、この不良情報をポート（ＳＯ１＜＞，ＳＯ２＜＞）間でＡＮＤ演算し、ＲＡＭ全体の不良情報を作成するＡＮＤ回路（論理積回路）である。
【０３７５】
図１５６は冗長回路７０４ｄのうち、ＸＤＯ１＜０＞〜ＸＤＯ１＜４＞（以下、ＸＤＯ１＜＞と略記する）、ＤＯ１＜０＞〜ＤＯ１＜５＞（以下、ＤＯ１＜＞と略記する）、ＸＤＯ２＜０＞〜ＸＤＯ２＜４＞（以下、ＸＤＯ２＜＞と略記する）、およびＤＯ２＜０＞〜ＤＯ２＜５＞（以下、ＤＯ２＜＞と略記する）に関連する部分のみを示した回路図である。なお、図１５５の冗長回路７０４ｄのＤＩ＜＞およびＢＷＣ＜＞，ＸＢＣ＜＞，ＸＤＩ＜＞端子に関しては図１４８および図１４９と同じ回路を用いればよいので図１５６では省略している。
【０３７６】
図１５６中の８７１〜８７５は、ＤＯ１＜＞とＸＤＯ１＜＞の間を接続する信号線中に配され、いずれかの信号線に不良ビットが与えられた際に、当該信号線（“１”側）を切断するとともに当該信号線を境にして順次隣接する信号線（“０”側）に切換接続するセレクタである。また、８８１〜８８５は、ＤＯ２＜＞とＸＤＯ２＜＞の間を接続する信号線中に配され、いずれかの信号線に不良ビットが与えられた際に、当該信号線（“１”側）を切断するとともに当該信号線を境にして順次隣接する信号線（“０”側）に切換接続するセレクタである。
【０３７７】
そして、８９０は、前記セレクタ８７１〜８７５，８８１〜８８５を切り換え制御するものであって、複数の信号線のうち、不良ビットであると指定された信号線を境とする一方向側（ＬＳＢ側）の信号線のセレクタに“１”を出力し、他方向側（ＭＳＢ側）の信号線に“０”を出力する二値信号指定部である。
【０３７８】
具体的には、該二値信号指定部８９０は、４個のＡＮＤ回路（論理積回路）８９１〜８９４から構成されている。最もＬＳＢ側の第１のＡＮＤ回路８９１の一方の入力端子は前記レジスタ回路７０６のＧ＜０＞端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜１＞端子に接続される。前記第１のＡＮＤ回路８９１に隣接する第２のＡＮＤ回路８９２の一方の入力端子は、前記第１のＡＮＤ回路８９１の出力端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜２＞端子に接続される。前記第２のＡＮＤ回路８９２に隣接する第３のＡＮＤ回路８９３の一方の入力端子は、前記第２のＡＮＤ回路８９２の出力端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜３＞端子に接続される。前記第３のＡＮＤ回路８９３に隣接する第４のＡＮＤ回路８９４の一方の入力端子は、前記第３のＡＮＤ回路８９３の出力端子に接続され、他方の入力端子は前記レジスタ回路７０６のＧ＜４＞端子に接続される。
【０３７９】
また、前記第１のＡＮＤ回路８９１の出力端子は、前記セレクタ８７２，８８２の切換制御端子に接続される。前記第２のＡＮＤ回路８９２の出力端子は、前記セレクタ８７３，８８３の切換制御端子に接続される。前記第３のＡＮＤ回路８９３の出力端子は、前記セレクタ８７４，８８４の切換制御端子に接続される。前記第４のＡＮＤ回路８９４の出力端子は、前記セレクタ８７５，８８５の切換制御端子に接続される。そして、前記セレクタ８７１，８８１の切換制御端子は前記レジスタ回路７０６のＧ＜０＞端子に接続される。
【０３８０】
＜動作＞
上記構成において、図１５６の如く、２つの読み出しポートの出力端子ＤＯ１＜＞，ＤＯ２＜＞に関するセレクタ８７１〜８７５，８８１〜８８５は同一の制御信号、すなわち、レジスタ回路７０６からのＧ＜０＞信号および二値信号指定部８９０からのＦ＜１＞〜Ｆ＜４＞信号により制御される。
【０３８１】
図１５５では、夫々のポートのテスト結果であるＳＯ１＜＞およびＳＯ２＜＞の信号は不良ビットが“０”、不良のないビットが“１”に設定されると仮定している。本実施の形態の場合、読み出しポートが複数（３ポート）あるため、ＡＮＤ回路（論理積回路）７０６ａにて不良情報をポート（ＳＯ１＜＞，ＳＯ２＜＞）間でＡＮＤ演算し、ＲＡＭ全体の不良情報を作成する。例えば、ポート１でＳＯ１＜２＞＝“０”になる不良が存在し、ポート２に不良が存在しないと仮定すると、ＲＡＭ全体ではビット番号２が不良であり、ポート２に関しても冗長回路７０４ｄ内のセレクタの切り替えが必要である。ＡＮＤ回路７０６ａの働きによりＧ＜２＞＝“０”，Ｇ＜０＞＝Ｇ＜１＞＝Ｇ＜３＞＝Ｇ＜４＞＝Ｇ＜５＞＝“１”，になるのでビット番号２を使用しないようにセレクタが切り替えられる。逆にポート番号２に不良が存在したとしても、同様のセレクタ切り替えが行われる。
【０３８２】
なお、図１５１および図１５２や図１５３および図１５４に示したような多ビット冗長回路７０４ａ〜７０４ｃのような階層構造を図１５５の回路に適用すれば、当然マルチポートＲＡＭに対しても多ビット不良の救済が行える。
【０３８３】
｛変形例｝
（１）図１６は第１の変形例を示す論理回路図、図１７は第２の変形例を示す論理回路図、図１８は第３の変形例を示す論理回路図、図１９は第４の変形例を示す論理回路図である。これらの変形例は、データ入力信号（Ｄ）を必要に応じてパススルーさせることを可能とするものであって、図１６、図１７、図１８および図１９中のＱはデータ出力端子、２７１はセレクタ回路である。該セレクタ回路２７１は、図示しないＲＡＭからのデータ入力信号（Ｄ）が入力される信号入力端子“０と、フリップフロップ回路２３４のデータ出力端子Ｏ１に接続される信号入力端子“１”と、外部からの制御信号（ＩＮＳＦＦ）が入力される一個の制御入力端子とを有している。そして、制御信号（ＩＮＳＦＦ）がＨｉｇｈのときは信号入力端子“１”に接続されたフリップフロップ回路２３４のデータ出力端子Ｏ１からのデータがデータ出力端子Ｑに出力される。この場合、実施の形態１乃至実施の形態３と同様の効果を奏し得ることは言うまでもない。一方、制御信号（ＩＮＳＦＦ）がＬｏｗのときは信号入力端子“０”に入力されたデータ入力信号（Ｄ）がそのままデータ出力端子Ｑに出力される。なお、図１９に示した第４の変形例中の２７２はＮＯＴ回路、２７３はＯＲ回路であって、データ入力信号（Ｄ）をパススルーさせている間にフリップフロップ回路２３４のシフト動作を停止させるために設けられている。すなわち、制御信号（ＩＮＳＦＦ）がＬｏｗのとき、データ入力信号（Ｄ）はセレクタ回路２７１を介してデータ出力端子Ｑに出力されるが、この間、ＮＯＴ回路２７２の出力はＨｉｇｈとなり、故にＯＲ回路２７３の出力は常にＨｉｇｈとなって、クロック信号（Ｔ）の立ち上がりの検出を不能とする。これにより、フリップフロップ回路２３４のシフト禁止を確実に行い、消費電力を低減し得る。
【０３８４】
（２）また、図２０は本発明の第５の変形例を示す論理回路図、図２１は本発明の第６の変形例を示す論理回路図である。図２０および図２１中の２５３ａ，２５３ａは、外部からのシフトモード制御信号（ＳＭ）に基づいて、シリアル入力信号（ＳＩ）とデータ入力信号（Ｄ）とを選択して出力するセレクタ回路（セレクタ手段）、２５４ａ，２６４ａは、外部からシフト禁止信号（ＳＩＮＨ）が入力されたときにフリップフロップ回路２３４の出力データを帰還させてデータ保持するセレクタ回路（データ保持手段）である。第５の変形例によって実施の形態２と同様の効果を奏し得、また、第６の変形例によって実施の形態３と同様の効果を奏し得る。
【０３８５】
（３）図６に示す実施の形態２、図１１に示す実施の形態３、図１７に示す第２の変形例、図１８に示す第３の変形例、および図１９に示す第４の変形例において、第１のセレクタ回路２５２，２６２の信号入力端子にデータ入力信号（Ｄ）を入力し、第２のセレクタ回路２５３の信号入力端子にシリアル入力信号（ＳＩ）を入力していたが、第１のセレクタ回路２５２，２６２の信号入力端子にシリアル入力信号（ＳＩ）を入力し、第２のセレクタ回路２５３の信号入力端子にデータ入力信号（Ｄ）を入力するよう構成してもよい。この場合でも、上記各実施の形態および各変形例と同様の効果が得られることは言うまでもない。
【０３８６】
（４）実施の形態４では、カウンタ４３を図２６に示したように構成していたが、例えば図５５（第７の変形例）または図５６（第８の変形例）に示すように構成してもよい。図５５および図５６では、アドレスをインクリメントまたはディクリメントした直後であるか否かを検知しこの時点で１を加算するＯＲ回路（加算素子）と、該ＯＲ回路からの信号およびアドレス発生用シフトレジスタ（ＡＤＤＲ）３５のフリップフロップα−１が入力されるＡＮＤ回路と、該ＡＮＤ回路からの信号に基づいてアドレスのインクリメントまたはディクリメント動作直前のアドレス内容を記憶してＯＲ回路に入力するＦＦ（記憶素子）とを備えている。
【０３８７】
（５）実施の形態１２では、図７０のようにＹアドレスがない場合の接続方式を適用していたが、図９３の如く、４個のＸアドレスおよび１個のＹアドレスが設定されている場合に、Ｘアドレスのデータを先頭にするかＹアドレスのデータを先頭にするかを、ＸＹ切り換え信号（ＥＸＸＹ）にてセレクタ３５１を切り換えることで選択し得るように構成（第９の変形例）してもよい。さらに、４個のＸアドレスおよび３個のＹアドレスが設定されている場合には、セレクタ３５１の接続を図９４（第１０の変形例）のようにしてもよい。
【０３８８】
（６）実施の形態１２では、「０１０１」または「１０１０」といったテストデータに容易に対応し得るように、データ出力用スキャンパス３３２（ＤＯ−ＳＣＡＮ）として図６８のような構成を採用していたが、テストデータを「００００」または「１１１１」に限定するような場合等においては、図９５に示したような構成（第１１の変形例）であってもよい。
【０３８９】
さらに、テストデータを「００００」または「１１１１」に限定するような場合等においては、図９６に示した構成（第１２の変形例）であってもよい。この場合、期待データ（ＥＸＰ）信号および比較イネーブル信号（ＣＭＰＥＮ）を各スキャンＦＦ（「Ｄ」）に直接入力するのではなく、ＮＯＴ回路、ＮＡＮＤ回路およびＮＯＲ回路を有する論理回路部３５２を介して変換期待データ（ＥＸＰ０，ＥＸＰ１Ｃ）信号に変換してテストデータを与える。
【０３９０】
さらにまた、実施の形態１２と同様にテストデータを「０１０１」または「１０１０」とする場合、図９７に示した構成（第１３の変形例）または図９８に示した構成（第１４の変形例）であってもよい。この場合、期待データ（ＥＸＰ）信号および比較イネーブル信号（ＣＭＰＥＮ）は、ＮＯＴ回路、ＮＡＮＤ回路およびＮＯＲ回路等を有する論理回路部３５３，３５４を介して変換期待データ（ＥＸＰ０，ＥＸＰ１Ｃ）信号に変換してテストデータを与える。そうすると、図６８と同様、「０１０１」または「１０１０」といったテストデータに容易に対応し得る。
【０３９１】
（７）実施の形態１２においては、スキャンＦＦとして、前記した実施の形態１乃至実施の形態３、および第１の変形例乃至第６の変形例の回路を適用していたが、期待データ信号との比較をする必要がない場合は、例えば図９９に示すような構造（第１５の変形例）を適用してもよい。この場合のデータ取り込み時の動作タイミングチャートは図１００のように、シフト動作を示すタイミングチャートは図１０１のように、シフト禁止動作を示すタイミングチャートは図１０２のようになる。
【０３９２】
あるいは、図１０３に示すような構造（第１６の変形例）であってもよい。この場合のデータ取り込み時の動作タイミングチャートは図１０４のように、シフト動作を示すタイミングチャートは図１０５のように、シフト禁止動作を示すタイミングチャートは図１０６のようになる。
【０３９３】
さらに、制御信号（ＳＩＮＨ）を省略できる場合は、図１０７に示すような構造（第１７の変形例）であってもよい。この場合のデータ取り込み時の動作タイミングチャートは図１０８のように、シフト動作を示すタイミングチャートは図１０９のようになる。
【０３９４】
さらに、制御信号（ＳＩＮＨ）を省略できる場合は、図１１０に示すような構造（第１８の変形例）であってもよい。この場合のデータ取り込み時の動作タイミングチャートは図１１１のように、シフト動作を示すタイミングチャートは図１１２のようになる。
【０３９５】
（８）実施の形態１２における図６４および図６５、実施の形態１４における図８７および図８８、実施の形態１５における図９１および図９２の回路に代えて、図１１３および図１１４に示す回路（第１９の変形例）を適用してもよい。図１１３および図１１４はＥ−Ｅ線にて破断されている。ここで、図９１および図９２に示した実施の形態１５が１Ｗｒｉｔｅ  １Ｒｅａｄの２ポートＲＡＭであったのに対して、図１１３および図１１４に示す第１９の変形例は１Ｗｒｉｔｅ  ２Ｒｅａｄの３ポートＲＡＭである。Ａ０＜ＭＳＢ：０＞はマルチプレクサ方式の書き込み用（Ｗｒｉｔｅ）アドレス、Ａ１＜ＭＳＢ：０＞およびＡ２＜ＭＳＢ：０＞はマルチプレクサ方式の読み出し用（Ｒｅａｄ）アドレスである。なお、図１１５に第１９の変形例の半導体メモリの検査装置のＲＡＭコア３３１の書き込み用ポートの状態を示すタイミングチャートを、図１１６に同じくＲＡＭコア３３１の読み出し用ポートの状態を示すタイミングチャートを図１１７に３ポートＲＡＭ全体の書き込み用ポートの状態を示すタイミングチャートを、図１１８に３ポートＲＡＭ全体の読み出し用ポートの状態を示すタイミングチャートを示しておく。なお、図１１３および図１１４におけるＴ０，Ｔ１，Ｔ２はクロック信号であり、これらは互いに異なる周波数を設定することが可能である。
【０３９６】
（９）また、図１１３および図１１４に示す第１９の変形例の回路に代えて、図１１９および図１２０に示す回路（第２０の変形例）を適用してもよい。図１１９および図１２０はＦ−Ｆ線にて破断されている。第２０の変形例の回路は２個のポートを書き込み（Ｗｒｉｔｅ）および読み出し（Ｒｅａｄ）のいずれにも兼用しようというものである（２ポートＲＡＭ）。
【０３９７】
（１０）実施の形態１６におけるＢ−ＳＣＡＮとして、図１２３に示す構造のものを適用していたが、図１２４（第２１の変形例）および図１２５（第２２の変形例）に示したもののうちいずれかを用いればよい。図１２４に示した回路は、４個のＸアドレスおよび１個のＹアドレスが設定されている場合に、図１２３に示した回路に代えて、Ｘアドレスのデータを先頭にするかＹアドレスのデータを先頭にするかを、ＸＹ切り換え信号（ＥＸＸＹ）にてセレクタ３５１を切り換えることで選択し得るように構成したものであり、第９の変形例（図９３）に類似した構成とされている。また、図１２５に示した回路は、４個のＸアドレスおよび３個のＹアドレスが設定されている場合に、図１２３および図１２４に示した回路に代えて用いられるもので、第１０の変形例（図９４）に類似して構成されている。
【０３９８】
ただし、図１２４乃至図１２５の回路は、図９３および図９４に示された回路と異なり、ＣＨＤＩＲ信号が「１」に設定された場合にテストアドレス端子ＴＡ（ＴＡ０，ＴＡ１，ＴＡ２，…）側が選択される。図１２１に示すように、テストアドレス端子ＴＡはＲＡＭＫピンとして設けられる。したがって、任意の順序でアドレスを設定しテストを行うことができる。つまり、Ｂ−ＳＣＡＮはＣＨＤＩＲ信号が「０」の状態ではシリアルシフト動作によるアドレス設定が可能である。また、ＣＨＤＩＲ信号が「１」の状態では、テストアドレス端子ＴＡによりパラレルにアドレス設定が可能である。なお、テストアドレス端子ＴＡに対するアドレス信号はＬＳＩの外部ピンから与えてもよいし、ＬＳＩ内部に搭載したテスト用アドレス発生回路（図６０の３０１に相当）により与えてもよい。このテスト用アドレス発生回路は、メモリＬＳＩテスト装置に備えられているようなアルゴリズミックパターン発生器を用いればよい。
【０３９９】
（１１）図１２６および図１２７に示した回路は、図９１および図９２に示した実施の形態１５（１Ｗｒｉｔｅ  １Ｒｅａｄの２ポートＲＡＭ）の変形例（第２３の変形例）である。図１２６および図１２７はＨ−Ｈ線にて破断されている。第２３の変形例では、Ｂ−ＳＣＡＮ−０とＢ−ＳＣＡＮ−１のテストアドレス端子ＴＡを共通に接続してＲＡＭのピンとして設けている。別々のアドレスを与えるテストを行う必要がある場合は、Ｂ−ＳＣＡＮ−０とＢ−ＳＣＡＮ−１で独立した２系統のテストアドレス端子ＴＡをＲＡＭピンとして設けてもよい。
【０４００】
（１２）図１２８および図１２９に示した回路は、図１１３および図１１４に示した第１９の変形例の回路のさらなる変形例（第２４の変形例）である。図１２８および図１２９はＩ−Ｉ線にて破断されている。第２４の変形例では、第１９の変形例（図１１３および図１１４）のアドレス入力用スキャンパス３３２（Ａ−ＳＣＡＮ）に代えてＢ−ＳＣＡＮが用いられている。図１２８および図１２９では、Ｂ−ＳＣＡＮ−０、Ｂ−ＳＣＡＮ−１およびＢ−ＳＣＡＮ−２のテストアドレス端子ＴＡを共通に接続してＲＡＭのピンとして設けている。なお、別々のアドレスを与えるテストを行う場合は、独立のテストアドレス端子ＴＡをＲＡＭピンとして設けても良い。
【０４０１】
（１３）図１３０および図１３１に示した回路は、図１１９および図１２０に示した第２０の変形例のさらなる変形例（第２５の変形例）である。図１３０および図１３１はＪ−Ｊ線にて破断されている。第２５の変形例では、第２０の変形例（図１１９および図１２０）中のアドレス入力用スキャンパス３３２（Ａ−ＳＣＡＮ）に代えてＢ−ＳＣＡＮが用いられている。図１３０および図１３１では、Ｂ−ＳＣＡＮ−０とＢ−ＳＣＡＮ−１のテストアドレス端子ＴＡを共通に接続してＲＡＭのピンとして設けている。別々のアドレスを与えるテストを行う必要がある場合には、Ｂ−ＳＣＡＮ−０とＢ−ＳＣＡＮ−１で独立した２系統のテストアドレス端子ＴＡをＲＡＭ用のピンとして設けてもよい。
【０４０２】
（１４）実施の形態１９および実施の形態２０で説明したセルフテスト回路７０２は、図１４３および図１４７に限定するものではない。例えば、セルフテスト回路７０２は通常のランダムロジック回路で構成してもよい。
【０４０３】
（１５）上記各実施の形態では、前記テスト回路付きＲＡＭ７０３からのテスト結果がシステムの通常動作時に変化してしまうため、図１４２、図１４４、図１５０、および図１５５のようにレジスタ回路７０６を設け、これにデータを記憶させて保持していたが、テスト回路付きＲＡＭ７０３からのテスト結果がシステムの通常動作時に変化しない場合（例えば、図１、または、図６，図１１，図１７，図１８，図１９，図２０，図２１のように、データ帰還用のループ配線が設けられた複数のフリップフロップが設けられている場合）は、レジスタ回路７０６を省略しても差し支えない。
【０４０４】
（１６）図１５３および図１５４に示した実施の形態２３の回路は２段階の階層的な冗長回路を構成していたが、かかる階層を増やすことにより更に多ビットの不良救済が行える。例えば、３ビット救済を行うには、破線で囲まれた部分を１ビット分減らした回路をさらに追加すればよい。なお、図１５３および図１５４は不良ビットの検索はＬＳＢ（最小桁ビット）側からに限定して示したが、どのような検索順序でもよい（ＭＳＢ（最大桁ビット）側からでもよいし、ランダムな順序でもよい）。
【０４０５】
（１７）上記各実施の形態では、二値信号指定部７４０について下位ビット側から不良ビットを検出していたが、上位ビット側から不良ビットを検出してもよい。この場合、実施の形態２２の第２の二値信号指定部８００は下位ビット側から不良ビットを検出し、また、実施の形態２３の第２の二値信号指定部８４０は上位ビット側から不良ビットを検出しても、下位ビット側から不良ビットを検出してもよい。
【０４０６】
【発明の効果】
本発明請求項１及び請求項２によると、冗長回路の二値信号指定部にて、複数の信号線のうち、不良データ桁指定手段にて不良ビットであると指定された桁に対応する信号線を境とする一方向側の信号線に関して二値のうちの一方の値を出力し、他方向側の信号線に関して二値のうちの他方の値を出力し、セレクタ群にて、二値信号指定部からの二値信号に基づいて、不良データ桁指定手段にて不良ビットであると指定された桁に対応する信号線の接続を外し、端部の信号線を前記予備線に切換接続するとともに他の信号線を当該他の信号線に隣接する信号線に順次切換接続するよう構成しているので、半導体メモリに故障が発生した際にデータに生じる誤りを容易に補償することができるという効果がある。
【０４０８】
そして、本発明請求項１によると、二値信号指定部の一次制御回路にて一方向に不良データを検出し、これに基づいてセレクタ群の一次セレクタ部を切り換え、二次制御回路にて逆方向に不良データを検出し、これに基づいて二次セレクタ部を切り換えるよう構成しているので、一次セレクタ部にて１桁分の不良データを補償し、次いで、二次セレクタ部にてさらに１桁分の不良データを補償することができ、極めて簡単な構成で、二桁分の不良データを補償することができるという効果がある。
【０４０９】
また、本発明請求項２によると、第１層セレクタ部および第２〜Ｎ層セレクタ部にて階層構造を形成し、一層ごとに１桁分の不良データを補償するよう構成しているので、極めて簡単な構成で、多桁分の不良データを補償することができるという効果がある。
【０４１０】
本発明請求項３によると、二値データ保持手段として、半導体メモリのデータ桁に対応する桁数のレジスタを用いているので、極めて簡単な構成で二値データを保持できるという効果がある。
【０４１１】
本発明請求項４によると、二値データ保持手段として、データ帰還用のループ配線が設けられた複数のフリップフロップを用いているので、極めて簡単な構成で二値データを保持できるという効果がある。
【０４１２】
本発明請求項５によると、半導体メモリ内のデータ桁について複数のポートが夫々設定された場合に、論理積回路にて各ポートの論理積をとって二値データ保持手段へ入力するよう構成しているので、極めて容易な構成で、いずれかのポートに不良データが発生した場合に不良データの桁についてのデータ補償を行うことができるという効果がある。
【図面の簡単な説明】
【図１】  本発明の実施の形態１の半導体メモリの検査装置を示す論理回路図である。
【図２】  本発明の実施の形態１の半導体メモリの検査装置のフリップフロップ回路のデータ取り込み時の動作を示すタイミングチャートである。
【図３】  本発明の実施の形態１の半導体メモリの検査装置のフリップフロップ回路のシフト動作を示すタイミングチャートである。
【図４】  本発明の実施の形態１の半導体メモリの検査装置のフリップフロップ回路のシフト禁止動作を示すタイミングチャートである。
【図５】  本発明の実施の形態１の半導体メモリの検査装置の比較回路の比較動作を示すタイミングチャートである。
【図６】  本発明の実施の形態２の半導体メモリの検査装置を示す論理回路図である。
【図７】  本発明の実施の形態２の半導体メモリの検査装置のフリップフロップ回路のデータ取り込み時の動作を示すタイミングチャートである。
【図８】  本発明の実施の形態２の半導体メモリの検査装置のフリップフロップ回路のシフト動作を示すタイミングチャートである。
【図９】  本発明の実施の形態２の半導体メモリの検査装置のフリップフロップ回路のシフト禁止動作を示すタイミングチャートである。
【図１０】  本発明の実施の形態２の半導体メモリの検査装置の比較回路の比較動作を示すタイミングチャートである。
【図１１】  本発明の実施の形態３の半導体メモリの検査装置を示す論理回路図である。
【図１２】  本発明の実施の形態３の半導体メモリの検査装置のフリップフロップ回路のデータ取り込み時の動作を示すタイミングチャートである。
【図１３】  本発明の実施の形態３の半導体メモリの検査装置のフリップフロップ回路のシフト動作を示すタイミングチャートである。
【図１４】  本発明の実施の形態３の半導体メモリの検査装置のフリップフロップ回路のシフト禁止動作を示すタイミングチャートである。
【図１５】  本発明の実施の形態３の半導体メモリの検査装置の比較回路の比較動作を示すタイミングチャートである。
【図１６】  本発明の第１の変形例を示す論理回路図である。
【図１７】  本発明の第２の変形例を示す論理回路図である。
【図１８】  本発明の第３の変形例を示す論理回路図である。
【図１９】  本発明の第４の変形例を示す論理回路図である。
【図２０】  本発明の第５の変形例を示す論理回路図である。
【図２１】  本発明の第６の変形例を示す論理回路図である。
【図２２】  第１の従来例の半導体メモリの検査装置のスキャンレジスタを示す回路図である。
【図２３】  図２２に示した第１の従来例のスキャンレジスタにより構成したスキャンレジスタを示すブロック図である。
【図２４】  本発明の実施の形態４の検査装置に複数個の半導体メモリを接続した状態を示すブロック図である。
【図２５】  本発明の実施の形態４の半導体メモリの検査装置を示す回路ブロック図である。
【図２６】  本発明の実施の形態４の半導体メモリの検査装置における算術論理演算部の論理構成等を示す回路ブロック図である。
【図２７】  本発明の実施の形態４の半導体メモリの検査装置の半加算器の内部構成を示す回路図である。
【図２８】  本発明の実施の形態４の半導体メモリの検査装置において四次のテストパターンの発生動作を示す回路ブロック図である。
【図２９】  本発明の実施の形態４の半導体メモリの検査装置において四次のテストパターンり発生時の等価回路を示す回路ブロック図である。
【図３０】  本発明の実施の形態４の半導体メモリの検査装置におけるカウント動作を示す回路ブロック図である。
【図３１】  本発明の実施の形態４の半導体メモリの検査装置におけるカウント時の等価回路を示す回路ブロック図である。
【図３２】  本発明の実施の形態５の半導体メモリの検査装置を示す回路ブロック図である。
【図３３】  本発明の実施の形態５の半導体メモリの検査装置における算術論理演算部の論理構成を示す回路ブロック図である。
【図３４】  本発明の実施の形態５の半導体メモリの検査装置の動作時の回路ブロック図である。
【図３５】  本発明の実施の形態６の半導体メモリの検査装置を示す回路ブロック図である。
【図３６】  本発明の実施の形態６の半導体メモリの検査装置の動作時の等価回路を示す回路ブロック図である。
【図３７】  本発明の実施の形態７の半導体メモリの検査装置を示す回路ブロック図である。
【図３８】  本発明の実施の形態７の半導体メモリの検査装置の動作時の状態を示す回路ブロック図である。
【図３９】  本発明の実施の形態８の半導体メモリの機能テスト時のチェッカーボードパターンを示す図である。
【図４０】  本発明の実施の形態８の半導体メモリの検査装置のチェッカーボードパターンが記憶された二次元パターン記憶部を示す図である。
【図４１】  本発明の実施の形態８の半導体メモリの検査装置のチェッカーボードパターン生成時の等価回路を示す図である。
【図４２】  本発明の実施の形態８の半導体メモリの機能テスト時のカラムバーパターンを示す図である。
【図４３】  本発明の実施の形態８の半導体メモリの検査装置のカラムバーパターンが記憶された二次元パターン記憶部を示す図である。
【図４４】  本発明の実施の形態８の半導体メモリの検査装置のカラムバーパターン生成時の等価回路を示す図である。
【図４５】  本発明の実施の形態８の半導体メモリの機能テスト時のローバーパターンを示す図である。
【図４６】  本発明の実施の形態８の半導体メモリの検査装置のローバーパターンが記憶された二次元パターン記憶部を示す図である。
【図４７】  本発明の実施の形態８の半導体メモリの検査装置のローバーパターン生成時の等価回路を示す図である。
【図４８】  本発明の実施の形態９の半導体メモリの検査装置を示す回路ブロック図である。
【図４９】  本発明の実施の形態９の検査装置に複数個の半導体メモリを接続した状態を示すブロック図である。
【図５０】  本発明の実施の形態１０の半導体メモリの検査装置を示す回路ブロック図である。
【図５１】  本発明の実施の形態１０の半導体メモリの検査装置における各入力端子の設定を示す図である。
【図５２】  本発明の実施の形態１０の半導体メモリの検査装置のダイナミックバーイン用パターン発生回路の論理構成等を示す回路ブロック図である。
【図５３】  本発明の実施の形態１０の半導体メモリと検査装置との接続状態を示す回路ブロック図である。
【図５４】  本発明の実施の形態１１の半導体メモリの検査装置の論理構成を示す回路ブロック図である。
【図５５】  本発明の第７の変形例の半導体メモリの検査装置の半加算器の内部構成を示す回路図である。
【図５６】  本発明の第８の変形例の半導体メモリの検査装置の半加算器の内部構成を示す回路図である。
【図５７】  第２の従来例の半導体メモリの検査装置を示す回路ブロック図である。
【図５８】  第２の従来例の半導体メモリの検査装置の一部を示す回路ブロック図である。
【図５９】  第３の従来例の半導体メモリの検査装置に複数個の半導体メモリを接続した状態を示すブロック図である。
【図６０】  提案例の半導体メモリの検査装置を示すブロック図である。
【図６１】  提案例の半導体メモリの検査装置の動作を示す図である。
【図６２】  本発明の実施の形態１２の半導体メモリの検査装置のＲＡＭの接続状態を示す図である。
【図６３】  本発明の実施の形態１２の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図６４】  本発明の実施の形態１２の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図６５】  本発明の実施の形態１２の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図６６】  本発明の実施の形態１２の半導体メモリの検査装置のデータ入力用スキャンパスを示すブロック図である。
【図６７】  本発明の実施の形態１２のアドレス入力用スキャンパスおよびデータ入力用スキャンパスの内部回路を示すブロック図である。
【図６８】  本発明の実施の形態１２の半導体メモリの検査装置のデータ出力用スキャンパスを示すブロック図である。
【図６９】  本発明の実施の形態１２のデータ出力用スキャンパスの内部回路を示すブロック図である。
【図７０】  本発明の実施の形態１２の半導体メモリの検査装置について複数個のＲＡＭを連結した状態を示す図である。
【図７１】  一般的なライトパルス発生器を示す図である。
【図７２】  ライトパルス発生器の動作を示すタイミングチャートである。
【図７３】  本発明の実施の形態１２の半導体メモリの検査装置におけるＢＩＳＴ信号およびＳＩ信号の状態を示す図である。
【図７４】  本発明の実施の形態１２のスキャンテスト動作を示すフローチャートである。
【図７５】  本発明の実施の形態１２のＲＡＭテスト動作を示すフローチャートである。
【図７６】  本発明の実施の形態１２の半導体メモリの検査装置の動作を示す図である。
【図７７】  本発明の実施の形態１２のシングルポートＲＡＭの各端子の状態を示すタイミングチャートである。
【図７８】  本発明の実施の形態１２のＲＡＭコアの状態を示すタイミングチャートである。
【図７９】  本発明の実施の形態１２の半導体メモリの検査装置におけるＳＩＮＨ１信号の状態を示す図である。
【図８０】  本発明の実施の形態１２の半導体メモリの検査装置におけるＳＩ信号の入力例を示す図である。
【図８１】  本発明の実施の形態１２の半導体メモリの検査装置におけるＳＩ信号に対するＳＩＮＨ−ＦＦ信号、ＲＵＮＢＩＳＴ信号、ＳＩＮＨ０信号およびＳＩＮＨ１信号の状態を示す図である。
【図８２】  本発明の実施の形態１３の半導体メモリの検査装置を示すブロック図である。
【図８３】  本発明の実施の形態１３の半導体メモリの検査装置におけるＢＩＳＴ信号およびＳＩ信号の状態を示す図である。
【図８４】  本発明の実施の形態１３の半導体メモリの検査装置におけるＳＩ信号の入力例を示す図である。
【図８５】  本発明の実施の形態１３の半導体メモリの検査装置におけるＳＩ信号に対するＳＩＮＨ−ＦＦ信号、ＲＵＮＢＩＳＴ信号、ＳＩＮＨ０信号およびＳＩＮＨ１信号の状態を示す図である。
【図８６】  本発明の実施の形態１３の半導体メモリの検査装置におけるＳＩＮＨ１信号の状態を示す図である。
【図８７】  本発明の実施の形態１４の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図８８】  本発明の実施の形態１４の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図８９】  本発明の実施の形態１４の半導体メモリの検査装置を示す図である。
【図９０】  本発明の実施の形態１４の半導体メモリの検査装置を示す図である。
【図９１】  本発明の実施の形態１５の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図９２】  本発明の実施の形態１５の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図９３】  第９の変形例の半導体メモリの検査装置において複数個のアドレスが連結された状態を示すブロック図である。
【図９４】  第１０の変形例の半導体メモリの検査装置において複数個のアドレスが連結された状態を示すブロック図である。
【図９５】  第１１の変形例の半導体メモリの検査装置のデータ出力用スキャンパスを示すブロック図である。
【図９６】  第１２の変形例の半導体メモリの検査装置のデータ出力用スキャンパスを示すブロック図である。
【図９７】  第１３の変形例の半導体メモリの検査装置のデータ出力用スキャンパスを示すブロック図である。
【図９８】  第１４の変形例の半導体メモリの検査装置のデータ出力用スキャンパスを示すブロック図である。
【図９９】  第１５の変形例のスキャンＦＦを示す図である。
【図１００】  第１５の変形例のスキャンＦＦのデータ取り込み時の動作を示すタイミングチャートである。
【図１０１】  第１５の変形例のスキャンＦＦのシフト動作を示すタイミングチャートである。
【図１０２】  第１５の変形例のスキャンＦＦのシフト禁止動作を示すタイミングチャートである。
【図１０３】  第１６の変形例のスキャンＦＦを示す図である。
【図１０４】  第１６の変形例のスキャンＦＦのデータ取り込み時の動作を示すタイミングチャートである。
【図１０５】  第１６の変形例のスキャンＦＦのシフト動作を示すタイミングチャートである。
【図１０６】  第１６の変形例のスキャンＦＦのシフト禁止動作を示すタイミングチャートである。
【図１０７】  第１７の変形例のスキャンＦＦを示す図である。
【図１０８】  第１７の変形例のスキャンＦＦのデータ取り込み時の動作を示すタイミングチャートである。
【図１０９】  第１７の変形例のスキャンＦＦのシフト動作を示すタイミングチャートである。
【図１１０】  第１８の変形例のスキャンＦＦを示す図である。
【図１１１】  第１８の変形例のスキャンＦＦのデータ取り込み時の動作を示すタイミングチャートである。
【図１１２】  第１８の変形例のスキャンＦＦのシフト動作を示すタイミングチャートである。
【図１１３】  第１９の変形例の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１１４】  第１９の変形例の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１１５】  第１９の変形例の半導体メモリの検査装置の書き込み用ポートの状態を示すタイミングチャートである。
【図１１６】  第１９の変形例の半導体メモリの検査装置の読み出し用ポートの状態を示すタイミングチャートである。
【図１１７】  第１９の変形例の半導体メモリの検査装置の書き込み用ポートの状態を示すタイミングチャートである。
【図１１８】  第１９の変形例の半導体メモリの検査装置の読み出し用ポートの状態を示すタイミングチャートである。
【図１１９】  第２０の変形例の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１２０】  第２０の変形例の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１２１】  実施の形態１６の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１２２】  実施の形態１６の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１２３】  実施の形態１６の半導体メモリの検査装置のＢ−ＳＣＡＮの構成を示すブロック図である。
【図１２４】  第２１の変形例の半導体メモリの検査装置のＢ−ＳＣＡＮの構成を示すブロック図である。
【図１２５】  第２２の変形例の半導体メモリの検査装置のＢ−ＳＣＡＮの構成を示すブロック図である。
【図１２６】  第２３の変形例の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１２７】  第２３の変形例の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１２８】  第２４の変形例の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１２９】  第２４の変形例の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１３０】  第２５の変形例の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１３１】  第２５の変形例の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示すブロック図である。
【図１３２】  第４の従来例の半導体メモリの検査装置のＲＡＭの接続状態を示す図である。
【図１３３】  本発明の実施の形態１７の半導体メモリの検査装置の制御信号発生回路を示す図である。
【図１３４】  本発明の実施の形態１７の半導体メモリの検査装置の巡回性のシフトレジスタを示す図である。
【図１３５】  本発明の実施の形態１７の半導体メモリの検査装置のＲＡＭコア、テスト回路および制御信号発生回路を示す図である。
【図１３６】  本発明の実施の形態１７の半導体メモリの検査装置のＲＡＭコア、テスト回路および制御信号発生回路を示す図である。
【図１３７】  本発明の実施の形態１８の半導体メモリの検査装置のＲＡＭコア、テスト回路およびテストパターン発生回路を示す図である。
【図１３８】  本発明の実施の形態１８の半導体メモリの検査装置のテストパターン発生回路を示す図である。
【図１３９】  本発明の実施の形態１８の半導体メモリの検査装置のテストパターン発生回路を示す図である。
【図１４０】  本発明の実施の形態１８の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示す図である。
【図１４１】  本発明の実施の形態１８の半導体メモリの検査装置のＲＡＭコアおよびテスト回路を示す図である。
【図１４２】  本発明の実施の形態１９における自己修正機能付き半導体メモリの検査装置のブロック図である。
【図１４３】  本発明の実施の形態１９の半導体メモリの検査装置のセルフテスト回路の構成例を示す図である。
【図１４４】  本発明の実施の形態１９の半導体メモリの検査装置におけるテスト回路付きＲＡＭと冗長回路の詳細な接続例を示す図である。
【図１４５】  本発明の実施の形態１９の半導体メモリの検査装置における１ビット救済可能な冗長回路を示す図である。
【図１４６】  本発明の実施の形態１９の半導体メモリの検査装置における１ビット救済可能な冗長回路を示す図である。
【図１４７】  本発明の実施の形態２０の半導体メモリの検査装置のセルフテスト回路の構成例を示す図である。
【図１４８】  本発明の実施の形態２１の半導体メモリの検査装置における１ビット救済可能な冗長回路を示す図である。
【図１４９】  本発明の実施の形態２１の半導体メモリの検査装置における１ビット救済可能な冗長回路を示す図である。
【図１５０】  本発明の実施の形態２２の半導体メモリの検査装置におけるテスト回路付きＲＡＭと冗長回路の詳細な接続例を示す図である。
【図１５１】  本発明の実施の形態２２の半導体メモリの検査装置における２ビットの冗長回路の回路図である。
【図１５２】  本発明の実施の形態２２の半導体メモリの検査装置における２ビットの冗長回路の回路図である。
【図１５３】  本発明の実施の形態２３の半導体メモリの検査装置における２ビットの冗長回路の回路図である。
【図１５４】  本発明の実施の形態２３の半導体メモリの検査装置における２ビットの冗長回路の回路図である。
【図１５５】  本発明の実施の形態２４の半導体メモリの検査装置におけるテスト回路付きＲＡＭと冗長回路の詳細な接続例を示す図である。
【図１５６】  本発明の実施の形態２４の半導体メモリの検査装置における冗長回路の一部を示す図である。
【図１５７】  第５の従来例の半導体メモリの検査装置を示す図である。
【図１５８】  第５の従来例の半導体メモリの検査装置を示す図である。
【符号の説明】
２３１  スキャンレジスタ、２３２  比較回路、２３３  セレクタ回路、２３４  フリップフロップ回路、２３５  ＯＲ回路、２４１  Ｅｘ．ＯＲ回路、２４２  ＮＯＴ回路、２４３  ＮＡＮＤ回路、２５１  スキャンレジスタ、２５２  第１のセレクタ回路、２５３  第２のセレクタ回路、２５４  ループ回路、２６１  スキャンレジスタ、２６２  第１のセレクタ回路、２６３  第２のセレクタ回路、２６４  帰還禁止素子、２３２ａ  比較回路、２４１ａ  Ｅｘ．ＯＲ回路、２４３ａ  ＮＡＮＤ回路、２５２ａ，２５３ａ  セレクタ回路、２６２ａ，２６３ａ  セレクタ回路、３０  検査装置、３１  半導体メモリ、３１ａ〜３１ｃ半導体メモリ、３２  アドレス入力用シフトレジスタ、３２ａ〜３２ｃ  アドレス入力用シフトレジスタ、３３  データ入力用レジスタ、３４  比較回路、３４ａ〜３４ｃ  比較回路、３４Ｚ  比較禁止部、３５  アドレス発生部、３７  有効アドレス数格納部、３８  第１のＡＮＤ回路群、３９  第２のＡＮＤ回路群、４１  期待値発生回路、４２  ＯＲ回路群、４３  カウンタ、４４  ＯＲ回路、５１〜６０  論理積回路、６１〜６４  排他的論理和回路、６５〜６８  論理和回路、７１  論理和回路、７２  論理積回路、７３  半加算器、７４  スイッチ、８１  ＯＲ回路群、８２  第２のＡＮＤ回路群、８４  比較回路、８４ａ，８４ｂ  比較回路、９１〜９４  論理和回路、９５〜９９  論理積回路、１０１論理積回路群、１１１  二次元パターン記憶部、１１３  期待値発生回路、１１５  論理和回路、１２１  ダイナミックバーイン用パターン発生回路、１２１ｘ  ダイナミックバーイン用パターン発生回路、１２２  ＬＦＳＲ回路、１２７シフトレジスタ、１３０  論理和回路、１４０  データ入力用シフトレジスタ、１４１〜１４３  ＦＦ、３０１  テストパターン生成回路、３０２  テスト回路、３０３  ＲＡＭコア、３１２，３１３  シフトレジスタ、３１５  ＲＡＭ、３１６  スキャンパス、３１７  フリップフロップ、３１９  パイプライン、３２１，３２２  フリップフロップ、３２３  セレクタ、３２４  ＡＮＤ回路、３２５  ＮＯＴ回路、３２６  ＯＲ回路、３２７  ＮＯＲ回路、３３１  ＲＡＭコア、３３１  非同期ＲＡＭコア、３３２  スキャンパス、３３２ａ  レジスタ、３３２ｂ  第１のセレクタ、３３２ｃ  第２のセレクタ、３３２ｄ  ＯＲ回路、３３２ｅ  ＮＡＮＤ回路、３３２ｆ  ＡＮＤ回路、３３３  ライトパルス発生器、３３４  セレクタ、３３５  ＮＯＴ回路、３３６  ビットライト禁止信号入力用ＡＮＤ回路、３３７  セレクタ、３４１  セレクタ、３４４  ＡＮＤ回路、３４５  マーク検出手段、３４６  シフトレジスタ、３４７  ＮＡＮＤ回路、３５１  セレクタ、３５２  論理回路部、３５３，３５４  論理回路部、６００  巡回性のシフトレジスタ、６０１  シフトインセレクタ、６０３  第１のレジスタ部、６０４  第２のレジスタ部、６０６ａ  第１のフリップフロップ、６０６ｂ第２のフリップフロップ、６０７ａ  第１のセレクタ、６０７ｂ  第２のセレクタ、６１０  制御信号発生回路、６１１  テスト回路、６１３  テストパターン生成回路、６１４  アドレスパターン発生回路、６１５  ＲＡＭコア、６１５メモリコア、６２１  制御信号発生回路、６２２  アドレス発生回路、６２３バーイ���パターン発生回路、６２４  データ入力回路、６２５  テストパターン発生回路、６３１  テスト回路、６３２  ＲＡＭコア、７０１  パワーオンリセット回路、７０２  セルフテスト回路、７０２ａ  マイクロコンピュータ、７０３  ＲＡＭ、７０４  冗長回路、７０４ａ  冗長回路、７０４ｂ  冗長回路、７０４ｃ  冗長回路、７０４ｄ  冗長回路、７０５  論理回路、７０６  レジスタ回路、７０６ａ  ＡＮＤ回路、７１１〜７１５  セレクタ、７２１〜７２５  セレクタ、７３１〜７３５  セレクタ、７４０  信号指定部、７４１〜７４５  ＡＮＤ回路、７５０  制御素子群、７５１  インバータ回路、７５２  ＯＲ回路、７７１〜７７３  セレクタ、７７４  ＯＲ回路、７８１〜７８３  セレクタ、７８４  ＯＲ回路、７９１〜７９４  セレクタ、８００  信号指定部、８０１〜８０３  ＡＮＤ回路、８１１〜８１３  セレクタ、８２１〜８２３  セレクタ、８３１〜８３３  セレクタ、８４０  信号指定部、８４１〜８４３  ＡＮＤ回路、８６１，８６２  ＯＲ回路、８６３  ＯＲ回路、８７１〜８７５  セレクタ、８８１〜８８５  セレクタ、８９０  信号指定部、８９１〜８９４  ＡＮＤ回路。
【図１】
0003688613.tif 000002
【図２】
0003688613.tif 000003
【図３】
0003688613.tif 000004
【図４】
0003688613.tif 000005
【図５】
0003688613.tif 000006
【図６】
0003688613.tif 000007
【図７】
0003688613.tif 000008
【図８】
0003688613.tif 000009
【図９】
0003688613.tif 000010
【図１０】
0003688613.tif 000011
【図１１】
0003688613.tif 000012
【図１２】
0003688613.tif 000013
【図１３】
0003688613.tif 000014
【図１４】
0003688613.tif 000015
【図１５】
0003688613.tif 000016
【図１６】
0003688613.tif 000017
【図１７】
0003688613.tif 000018
【図１８】
0003688613.tif 000019
【図１９】
0003688613.tif 000020
【図２０】
0003688613.tif 000021
【図２１】
0003688613.tif 000022
【図２２】
0003688613.tif 000023
【図２３】
0003688613.tif 000024
【図２４】
0003688613.tif 000025
【図２５】
0003688613.tif 000026
【図２６】
0003688613.tif 000027
【図２７】
0003688613.tif 000028
【図２８】
0003688613.tif 000029
【図２９】
0003688613.tif 000030
【図３０】
0003688613.tif 000031
【図３１】
0003688613.tif 000032
【図３２】
0003688613.tif 000033
【図３３】
0003688613.tif 000034
【図３４】
0003688613.tif 000035
【図３５】
0003688613.tif 000036
【図３６】
0003688613.tif 000037
【図３７】
0003688613.tif 000038
【図３８】
0003688613.tif 000039
【図３９】
0003688613.tif 000040
【図４０】
0003688613.tif 000041
【図４１】
0003688613.tif 000042
【図４２】
0003688613.tif 000043
【図４３】
0003688613.tif 000044
【図４４】
0003688613.tif 000045
【図４５】
0003688613.tif 000046
【図４６】
0003688613.tif 000047
【図４７】
0003688613.tif 000048
【図４８】
0003688613.tif 000049
【図４９】
0003688613.tif 000050
【図５０】
0003688613.tif 000051
【図５１】
0003688613.tif 000052
【図５２】
0003688613.tif 000053
【図５３】
0003688613.tif 000054
【図５４】
0003688613.tif 000055
【図５５】
0003688613.tif 000056
【図５６】
0003688613.tif 000057
【図５７】
0003688613.tif 000058
【図５８】
0003688613.tif 000059
【図５９】
0003688613.tif 000060
【図６０】
0003688613.tif 000061
【図６１】
0003688613.tif 000062
【図６２】
0003688613.tif 000063
【図６３】
0003688613.tif 000064
【図６４】
0003688613.tif 000065
【図６５】
0003688613.tif 000066
【図６６】
0003688613.tif 000067
【図６７】
0003688613.tif 000068
【図６８】
0003688613.tif 000069
【図６９】
0003688613.tif 000070
【図７０】
0003688613.tif 000071
【図７１】
0003688613.tif 000072
【図７２】
0003688613.tif 000073
【図７３】
0003688613.tif 000074
【図７４】
0003688613.tif 000075
【図７５】
0003688613.tif 000076
【図７６】
0003688613.tif 000077
【図７７】
0003688613.tif 000078
【図７８】
0003688613.tif 000079
【図７９】
0003688613.tif 000080
【図８０】
0003688613.tif 000081
【図８１】
0003688613.tif 000082
【図８２】
0003688613.tif 000083
【図８３】
0003688613.tif 000084
【図８４】
0003688613.tif 000085
【図８５】
0003688613.tif 000086
【図８６】
0003688613.tif 000087
【図８７】
0003688613.tif 000088
【図８８】
0003688613.tif 000089
【図８９】
0003688613.tif 000090
【図９０】
0003688613.tif 000091
【図９１】
0003688613.tif 000092
【図９２】
0003688613.tif 000093
【図９３】
0003688613.tif 000094
【図９４】
0003688613.tif 000095
【図９５】
0003688613.tif 000096
【図９６】
0003688613.tif 000097
【図９７】
0003688613.tif 000098
【図９８】
0003688613.tif 000099
【図９９】
0003688613.tif 000100
【図１００】
0003688613.tif 000101
【図１０１】
0003688613.tif 000102
【図１０２】
0003688613.tif 000103
【図１０３】
0003688613.tif 000104
【図１０４】
0003688613.tif 000105
【図１０５】
0003688613.tif 000106
【図１０６】
0003688613.tif 000107
【図１０７】
0003688613.tif 000108
【図１０８】
0003688613.tif 000109
【図１０９】
0003688613.tif 000110
【図１１０】
0003688613.tif 000111
【図１１１】
0003688613.tif 000112
【図１１２】
0003688613.tif 000113
【図１１３】
0003688613.tif 000114
【図１１４】
0003688613.tif 000115
【図１１５】
0003688613.tif 000116
【図１１６】
0003688613.tif 000117
【図１１７】
0003688613.tif 000118
【図１１８】
0003688613.tif 000119
【図１１９】
0003688613.tif 000120
【図１２０】
0003688613.tif 000121
【図１２１】
0003688613.tif 000122
【図１２２】
0003688613.tif 000123
【図１２３】
0003688613.tif 000124
【図１２４】
0003688613.tif 000125
【図１２５】
0003688613.tif 000126
【図１２６】
0003688613.tif 000127
【図１２７】
0003688613.tif 000128
【図１２８】
0003688613.tif 000129
【図１２９】
0003688613.tif 000130
【図１３０】
0003688613.tif 000131
【図１３１】
0003688613.tif 000132
【図１３２】
0003688613.tif 000133
【図１３３】
0003688613.tif 000134
【図１３４】
0003688613.tif 000135
【図１３５】
0003688613.tif 000136
【図１３６】
0003688613.tif 000137
【図１３７】
0003688613.tif 000138
【図１３８】
0003688613.tif 000139
【図１３９】
0003688613.tif 000140
【図１４０】
0003688613.tif 000141
【図１４１】
0003688613.tif 000142
【図１４２】
0003688613.tif 000143
【図１４３】
0003688613.tif 000144
【図１４４】
0003688613.tif 000145
【図１４５】
0003688613.tif 000146
【図１４６】
0003688613.tif 000147
【図１４７】
0003688613.tif 000148
【図１４８】
0003688613.tif 000149
【図１４９】
0003688613.tif 000150
【図１５０】
0003688613.tif 000151
【図１５１】
0003688613.tif 000152
【図１５２】
0003688613.tif 000153
【図１５３】
0003688613.tif 000154
【図１５４】
0003688613.tif 000155
【図１５５】
0003688613.tif 000156
【図１５６】
0003688613.tif 000157
【図１５７】
0003688613.tif 000158
【図１５８】
0003688613.tif 000159