(57)【特許請求の範囲】
【請求項１】
ｎビットのアドレス信号と２より大きいｍビットのデータ信号を受け取る半導体記憶装置本体と、
互いに直列に接続され該アドレス信号をシリアルに設定するｎ個のスキャンフリップフロップと、
互いに直列に接続され該データ信号をシリアルに設定する２個のスキャンフリップフロップと、
該半導体記憶装置本体から読み出されるｍビットの出力データと、２ビットの期待値データを繰り返すことで構成されるｍビットの期待値データとを比較することで、該出力データが該期待値データに一致するか否かを判定する比較回路と
を含み、該２個のスキャンフリップフロップのデータを繰り返すことでｍビットのデータを構成して該半導体記憶装置本体に入力することを特徴とする半導体記憶装置。
【請求項２】
互いに直列に接続されパーシャルイネーブル信号をシリアルに設定する２個のスキャンフリップフロップを更に含むことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
互いに直列に接続され該２ビットの期待値データをシリアルに設定するフリップフロップを更に含むことを特徴とする請求項１記載の半導体記憶装置。
【請求項４】
第１動作時に外部から入力される前記ｎビットのアドレス信号を選択し、第２動作時に前記ｎ個のスキャンフリップフロップから出力されるアドレス信号を選択する第１セレクタを含むことを特徴とする請求項１乃至３の何れか一項記載の半導体記憶装置。
【請求項５】
第１動作時に外部から入力される前記２より大きいｍビットのデータ信号を選択し、第２動作時に前記２個のスキャンフリップフロップから出力されるデータ信号を選択する第２セレクタを含むことを特徴とする請求項１乃至４の何れか一項記載の半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に半導体記憶装置に関し、詳しくはスキャン方式により試験を行う半導体記憶装置に関する。
【従来の技術】
半導体記憶装置及びコントローラ等が搭載されるシステムＬＳＩにおいて、半導体記憶装置へのアドレス及びデータの書き込みは、同一のシステムＬＳＩ内に設けられるコントローラ等から行われる。従って、通常の動作においてシステムＬＳＩ外部から半導体記憶装置へ直接にアドレス及びデータを入力する必要はなく、直接入力のための外部端子は設けられない。しかし半導体記憶装置を試験するためには、システムＬＳＩ外部から半導体記憶装置にアドレス及びデータを入力して、出力データをチェックする必要がある。これを実現するために、テスト動作中に、単一の端子からシリアルにアドレス及びデータを入力するスキャン方式が用いられる。
【０００２】
スキャン方式では、システムＬＳＩ外部端子として、アドレス及びデータに対する多数の外部端子を設ける必要が無く、スキャン入力用の単一の端子を設けるだけでよいので、ピン数を削減することが出来る。
【０００３】
図１は、スキャン方式による従来の半導体記憶装置の構成を示す図である。
【０００４】
図１の半導体記憶装置は、ＳＲＡＭ（Static Random Access Memory）等の半導体記憶装置本体１１、ｔ個の入力アドレス信号ＩＡ［０］乃至ＩＡ［ｔ−１］に対するスキャン入力用のフリップフロップ１２−０乃至１２−ｔ−１、ｂ個の入力データ信号Ｉ［０］乃至Ｉ［ｂ−１］に対するスキャン入力用のフリップフロップ１３−０乃至１３−ｂ−１、ｂ個の出力データ信号Ａ［０］乃至Ａ［ｂ−１］に対するスキャン出力用のフリップフロップ１４−０乃至１４−ｂ−１、複数のセレクタ回路１５、ＸＯＲ回路１６、ＸＯＲの反転であるＮＸＯＲ回路１７、ＡＮＤ回路１８及び１９、及び出力バッファ２０を含む。
【０００５】
通常動作時には選択信号ＭＳＴがＬＯＷ（“０”）であり、各セレクタ回路１５は、半導体記憶装置１０外部から並列に入力される入力アドレス信号ＩＡ［０］乃至ＩＡ［ｔ−１］及び入力データ信号Ｉ［０］乃至Ｉ［ｂ−１］を選択する。選択された入力信号は、半導体記憶装置本体１１に供給される。また通常動作時にはスキャンモード信号ＳＭもＬＯＷであり、ＮＸＯＲ回路１７は、ＨＩＧＨ信号をＡＮＤ回路１９に供給する。従って、入力クロック信号ＣＫは、ＡＮＤ回路１９を介して半導体記憶装置本体１１に供給される。半導体記憶装置本体１１の出力データは、出力データ信号Ａ［０］乃至Ａ［ｂ−１］として、半導体記憶装置１０外部に供給される。
【０００６】
テスト動作時には、スキャンモードを指示するスキャンモード信号ＳＭをＨＩＧＨとして、テスト入力端子ＴＳＩから設定データを入力クロック信号ＣＫに同期させて入力する。この時、選択信号ＭＳＴはＬＯＷとしておく。従って、ＸＯＲ回路１６の出力はＨＩＧＨであり、入力クロック信号ＣＫはＡＮＤ回路１８を介して各フリップフロップに供給される。各フリップフロップは、前段のシリアル出力ＳＯが次段のシリアル入力ＳＩに接続される形で直列接続されており、テスト入力端子ＴＳＩから入力される設定データは、クロック信号ＣＫに同期したシフト動作によってデータシフトを繰り返し、最終的に所定のデータを各フリップフロップに設定することが出来る。
【０００７】
所定のデータを各フリップフロップに設定し終えると、選択信号ＭＳＴをＨＩＧＨとすることで、各セレクタ回路１５は対応するフリップフロップのＱ出力を選択して、半導体記憶装置本体１１に供給する。この時、スキャンモード信号ＳＭはＨＩＧＨのままであり、ＮＸＯＲ回路１７は、ＨＩＧＨ信号をＡＮＤ回路１９に供給する。従って、入力クロック信号ＣＫは、ＡＮＤ回路１９を介して半導体記憶装置本体１１に供給される。これによって、半導体記憶装置本体１１に対するアドレスの入力（読み出し動作）又はアドレス及びデータの入力（書き込み動作）が行われる。またこの時、ＸＯＲ回路１６の出力はＬＯＷとなり、入力クロック信号ＣＫはフリップフロップに供給されない。従って、このタイミングではフリップフロップのスキャン動作（シフト動作）は実行されない。
【０００８】
読み出し動作によって半導体記憶装置本体１１から出力される出力データ信号Ａ［０］乃至Ａ［ｂ−１］は、スキャン出力用のフリップフロップ１４−０乃至１４−ｂ−１に並列に格納される。その後、クロック信号ＣＫによってフリップフロップ１４−０乃至１４−ｂ−１のデータをシフトさせることで、出力データ信号Ａ［０］乃至Ａ［ｂ−１］を出力端子ＴＳＯから順次出力させる。
【発明が解決しようとする課題】
上記のような半導体記憶装置では、テスト動作においてデータ設定をするために、入力用のフリップフロップの個数分だけスキャンシフト動作を実行する必要がある。即ち、スキャンシフト動作の回数は、アドレス本数＋書き込みデータ本数となる。
【０００９】
例えば、１０２４ワードで７２ビットのＳＲＡＭを例にとると、１回の書き込みに要するスキャンシフトの回数は、１０（＝ｌｏｇ２１０２４）＋７２ビットで８２回となる。
【００１０】
このスキャンシフトの回数は、パーシャルライト機能が設けられた半導体記憶装置においては更に多くなる。
【００１１】
図２は、スキャン方式による従来のパーシャルライト機能付き半導体記憶装置の構成を示す図である。図２において、図１と同一の要素は同一の参照番号で参照され、その説明は省略される。
【００１２】
図２のパーシャルライト機能付き半導体記憶装置１０Ａは、図１の各要素に加えて、ｂ個のパーシャルライトイネーブル入力信号ＶＩ［０］乃至ＶＩ［ｂ−１］に対するスキャン入力用のフリップフロップ２１−０乃至２１−ｂ−１が設けられる。パーシャルライトイネーブル入力信号ＶＩ［０］乃至ＶＩ［ｂ−１］は、“０”に設定されるビットに対しては、それに対応する入力データ信号Ｉ［０］乃至Ｉ［ｂ−１］が有効となり、“１”に設定されるビットに対しては、それに対応する入力データ信号Ｉ［０］乃至Ｉ［ｂ−１］が無効となるものである。従って、例えば８ビットのデータ入力に対して、パーシャルライトイネーブル入力信号が“00001111”に設定されると、Ｉ［０］乃至Ｉ［３］のデータだけが、半導体記憶装置本体１１に取り込まれる構成となっている。このような機能によって、部分的なデータ入力が可能となる。
【００１３】
図２のパーシャルライト機能付き半導体記憶装置１０Ａにおいては、スキャンシフト動作の回数は、アドレス本数＋書き込みデータ本数＋パーシャルライトイネーブル本数となる。例えば、１０２４ワードで７２ビットのＳＲＡＭを例にとると、１回の書き込みに要するスキャンシフトの回数は、１０（＝ｌｏｇ２１０２４）＋７２ビット＋７２ビットで１５４回となる。
【００１４】
仮に全て“０”或いは全て“１”であるマーチパターンで試験を行う場合には、スキャンシフトによるデータ設定を１０×１０２４回実行する必要がある。図１の半導体記憶装置１０では、１０×１０２４×８２回のスキャンシフトが必要になり、図２のパーシャルライト機能付き半導体記憶装置１０Ａでは、１０×１０２４×１５４回のスキャンシフトが必要となってしまう。このように、従来のスキャン方式の半導体記憶装置では、テスト時のスキャンシフト動作の回数が膨大となり、試験時間が長くなるという問題があった。
【００１５】
以上を鑑み、本発明は、比較的少ないスキャンシフトの回数でデータ設定が可能なスキャン方式の半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
本発明による半導体記憶装置は、ｎビットのアドレス信号と２より大きいｍビットのデータ信号を受け取る半導体記憶装置本体と、互いに直列に接続され該アドレス信号をシリアルに設定するｎ個のスキャンフリップフロップと、互いに直列に接続され該データ信号をシリアルに設定する２個のスキャンフリップフロップと、該半導体記憶装置本体から読み出されるｍビットの出力データと、２ビットの期待値データを繰り返すことで構成されるｍビットの期待値データとを比較することで、該出力データが該期待値データに一致するか否かを判定する比較回路とを含み、該２個のスキャンフリップフロップのデータを繰り返すことでｍビットのデータを構成して該半導体記憶装置本体に入力することを特徴とする。
【００１６】
上記発明においては、２個のスキャンフリップフロップのデータを繰り返すことでｍビットのデータを構成するので、ｍ個のスキャンフリップフロップを設けてｍ回のスキャンシフト動作を実行する必要が無く、ｍ回以下のスキャンシフト動作で入力データを設定することができる。これによって、スキャンフリップフロップに対するデータ設定に関して、必要となるスキャンシフトの回数を削減することが可能となる。
【発明の実施の形態】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１７】
図３は、本発明による半導体記憶装置の第１の実施例を示す構成図である。
【００１８】
図３の半導体記憶装置３０は、ＳＲＡＭ等の半導体記憶装置本体３１、ｔ個の入力アドレス信号ＩＡ［０］乃至ＩＡ［ｔ−１］に対するスキャン入力用のフリップフロップ３２−０乃至３２−ｔ−１、複数の入力データ信号Ｉ［０］、Ｉ［１］、Ｉ［２］、・・・に対して設けられる２個のスキャン入力用のフリップフロップ３３−０及び３３−１、ｂ個の出力データ信号Ａ［０］乃至Ａ［ｂ−１］に対するスキャン出力用のフリップフロップ３４−０乃至３４−ｂ−１、複数のセレクタ回路３５、ＸＯＲ回路３６、ＸＯＲの反転であるＮＸＯＲ回路３７、ＡＮＤ回路３８及び３９、及び出力バッファ４０を含む。
【００１９】
通常動作時には選択信号ＭＳＴがＬＯＷ（“０”）であり、各セレクタ回路３５は、半導体記憶装置３０外部から並列に入力される入力アドレス信号ＩＡ［０］乃至ＩＡ［ｔ−１］及び入力データ信号Ｉ［０］、Ｉ［１］、Ｉ［２］、・・・を選択する。選択された入力信号は、半導体記憶装置本体３１に供給される。また通常動作時にはスキャンモード信号ＳＭもＬＯＷであり、ＮＸＯＲ回路３７は、ＨＩＧＨ信号をＡＮＤ回路３９に供給する。従って、入力クロック信号ＣＫは、ＡＮＤ回路３９を介して半導体記憶装置本体３１に供給される。半導体記憶装置本体３１の出力データは、出力データ信号Ａ［０］乃至Ａ［ｂ−１］として、半導体記憶装置３０外部に供給される。
【００２０】
テスト動作時には、スキャンモードを指示するスキャンモード信号ＳＭをＨＩＧＨとして、テスト入力端子ＴＳＩから設定データを入力クロック信号ＣＫに同期させて入力する。この時、選択信号ＭＳＴはＬＯＷとしておく。従って、ＸＯＲ回路３６の出力はＨＩＧＨであり、入力クロック信号ＣＫはＡＮＤ回路３８を介して各フリップフロップに供給される。各フリップフロップは、前段のシリアル出力ＳＯが次段のシリアル入力ＳＩに接続される形で直列接続されており、テスト入力端子ＴＳＩから入力される設定データは、クロック信号ＣＫに同期したシフト動作によってデータシフトを繰り返し、最終的に所定のデータを各フリップフロップに設定することが出来る。
【００２１】
ここで、複数の入力データ信号Ｉ［０］、Ｉ［１］、Ｉ［２］、・・・に対しては、２個のスキャン入力用のフリップフロップ３３−０及び３３−１が設けられている。半導体記憶装置の試験において実際に使用するデータパターンは、全ビットが“０”或いは全ビットが“１”であるマーチパターン、或いは“０”と“１”とを交互に繰り返したビットパターンであるチェッカーパターンが殆どであり、それ以外のデータパターンを使用する必要性は実際上殆どない。従って、２個のフリップフロップ３３−０及び３３−１をデータパターン設定用に設けておけば、この２個のフリップフロップのデータを繰り返すことで、任意のマーチパターン或いはチェッカーパターンを設定することが出来る。
【００２２】
図３の半導体記憶装置３０においては、２個のフリップフロップ３３−０及び３３−１のＱ出力が、交互に半導体記憶装置本体３１に供給される構成となっている。即ち、フリップフロップ３３−０のＱ出力は、偶数番目の入力データ信号Ｉ［０］、Ｉ［２］、Ｉ［４］、・・・に対応するセレクタ回路３５に供給され、フリップフロップ３３−１のＱ出力は、奇数番目の入力データ信号Ｉ［１］、Ｉ［３］、Ｉ［５］、・・・に対応するセレクタ回路３５に供給される。
【００２３】
従って、フリップフロップ３３−０及び３３−１に“０”を格納すれば、全ビットが“０”であるマーチパターンを構成可能であり、またフリップフロップ３３−０及び３３−１に“１”を格納すれば、全ビットが“１”であるマーチパターンを構成可能である。更に、フリップフロップ３３−０及び３３−１にそれぞれ“０”及び“１”を格納すれば、“０１０１０１・・・”であるチェッカーパターンを構成可能であり、またフリップフロップ３３−０及び３３−１にそれぞれ“１”及び“０”を格納すれば、“１０１０１０・・・”であるチェッカーパターンを構成可能である。
【００２４】
所定のデータを各フリップフロップに設定し終えると、選択信号ＭＳＴをＨＩＧＨとすることで、各セレクタ回路３５は対応するフリップフロップのＱ出力を選択して、半導体記憶装置本体３１に供給する。この時、スキャンモード信号ＳＭはＨＩＧＨのままであり、ＮＸＯＲ回路３７は、ＨＩＧＨ信号をＡＮＤ回路３９に供給する。従って、入力クロック信号ＣＫは、ＡＮＤ回路３９を介して半導体記憶装置本体３１に供給される。これによって、半導体記憶装置本体３１に対するアドレスの入力（読み出し動作）又はアドレス及びデータの入力（書き込み動作）が行われる。またこの時、ＸＯＲ回路３６の出力はＬＯＷとなり、入力クロック信号ＣＫはフリップフロップに供給されない。従って、このタイミングではフリップフロップのスキャン動作（シフト動作）は実行されない。
【００２５】
読み出し動作によって半導体記憶装置本体３１から出力される出力データ信号Ａ［０］乃至Ａ［ｂ−１］は、スキャン出力用のフリップフロップ３４−０乃至３４−ｂ−１に並列に格納される。その後、クロック信号ＣＫによってフリップフロップ３４−０乃至３４−ｂ−１のデータをシフトさせることで、出力データ信号Ａ［０］乃至Ａ［ｂ−１］を出力端子ＴＳＯから順次出力させる。
【００２６】
上述のように、図３に示される本発明による半導体記憶装置の第１の実施例においては、入力データ信号に対しては２個だけスキャンフリップフロップを設けることによって、スキャンフリップフロップに対するデータ設定に関して必要となるスキャンシフトの回数を削減することが可能となる。即ち、スキャンシフト動作の回数は、アドレス本数＋書き込みデータ数であるので、例えば１０２４ワードで７２ビットのＳＲＡＭを例にとると、１回の書き込みに要するスキャンシフトの回数は、１０（＝ｌｏｇ２１０２４）＋２ビットで１２回となる。
【００２７】
図４は、本発明による半導体記憶装置の第２の実施例を示す構成図である。
【００２８】
第２の実施例は、パーシャルライト機能付きの半導体記憶装置に関するものである。図４において、図３と同一の要素は同一の参照番号で参照され、その説明は省略される。
【００２９】
図４のパーシャルライト機能付き半導体記憶装置３０Ａは、図１の各要素に加えて、複数のパーシャルライトイネーブル入力信号ＶＩ［０］、ＶＩ［１］、ＶＩ［２］、・・・に対して、２個のスキャン入力用のフリップフロップ４１−０及び４１−１が設けられる。これら２個のフリップフロップ４１−０及び４１−１のＱ出力は、交互に半導体記憶装置本体３１に供給される構成となっている。即ち、フリップフロップ４１−０のＱ出力は、偶数番目のパーシャルライトイネーブル入力信号ＶＩ［０］、ＶＩ［２］、ＶＩ［４］、・・・に対応するセレクタ回路３５に供給され、フリップフロップ４１−１のＱ出力は、奇数番目のパーシャルライトイネーブル入力信号ＶＩ［１］、ＶＩ［３］、ＶＩ［５］、・・・に対応するセレクタ回路３５に供給される。
【００３０】
従って図４の半導体記憶装置３０Ａにおいても、図３の半導体記憶装置３０と同様に、任意のマーチパターン或いはチェッカーパターンを設定することが出来る。
【００３１】
図５は、本発明による半導体記憶装置の第３の実施例を示す構成図である。図５において、図３と同一の要素は同一の参照番号で参照され、その説明は省略される。
【００３２】
第３の実施例は、出力データに対するスキャンフリップフロップの数を減らした構成に関するものである。
【００３３】
上記第１及び第２の実施例に於いては、入力データ及びパーシャルライトイネーブル入力に対して設けられるフリップフロップの数を２個にすることによって、入力設定におけるスキャンシフト動作の数を大幅に削減することが出来る。しかし実際の試験においては、データを書き込んだ後にデータを読み出して、半導体記憶装置本体が正常に動作するか否かを判断する。スキャン動作でデータを読み出すためには、データ出力のビット数だけスキャンシフトを繰り返す必要があり、例えば７２ビットの出力であれば、７２回のスキャンシフトが必要になる。
【００３４】
出力用フリップフロップからのスキャン読み出し動作は、入力用フリップフロップへのスキャン書き込み動作と同時に実行することで、効率的なデータ読み出し及び書き込みを行う。従って、例えば図３の半導体記憶装置３０で書き込みに要するスキャンシフトの回数が１２回（＝ｌｏｇ２１０２４＋２）であっても、出力用に７２回のスキャンシフトが必要な場合、読み書きを同時に実行すると７２回のスキャンシフトが必要になる。これに対して図１の半導体記憶装置１０の従来の構成では、書き込みに要するスキャンシフトの回数が８２回（＝ｌｏｇ２１０２４＋７２）であるので、読み書きを同時に実行すると８２回のスキャンシフトが必要になる。従って、図３の半導体記憶装置３０ではスキャンシフトの回数を削減することが可能ではあるが、実際の削減効率はそれ程高くはならない。
【００３５】
図５の半導体記憶装置３０Ｂは、図３の半導体記憶装置３０とデータ出力部分が異なり、比較回路５１、出力データ期待値格納用のフリップフロップ５２−０及び５２−１、及び比較回路５１による比較判定結果を出力するためのフリップフロップ５３を含む。
【００３６】
前述のように、半導体記憶装置の試験において実際に使用するデータパターンは、全ビットが“０”或いは全ビットが“１”であるマーチパターン、或いは“０”と“１”とを交互に繰り返したビットパターンであるチェッカーパターンが殆どであり、それ以外のデータパターンを使用する必要性は実際上殆どない。このために本発明の半導体記憶装置においては、入力データに対して２個のフリップフロップを設け、この２ビットのパターンを繰り返すことで任意のマーチパターン或いはチェッカーパターンを実現している。これらマーチパターン或いはチェッカーパターンを使用した場合、半導体記憶装置本体３１から読み出される出力データの期待値パターンは、入力に用いたマーチパターン或いはチェッカーパターンと同一のパターンである。即ち、出力データの期待値データパターンは、全ビットが“０”或いは全ビットが“１”であるマーチパターン、或いは“０”と“１”とを交互に繰り返したチェッカーパターンである。
【００３７】
第３の実施例による図５の半導体記憶装置３０Ｂにおいては、出力データ期待値格納用に設けられる２個のフリップフロップ５２−０及び５２−１に対して、スキャンシフト動作により２ビットの期待値データを格納する。そしてこれらのフリップフロップ５２−０及び５２−１の２ビットのパターンを繰り返すことで、出力ビット数に等しい期待値ビットパターンを作成する。なお２ビットの期待値データは、２個のスキャン入力用のフリップフロップ３３−０及び３３−１に格納されるデータと同一であってよい。
【００３８】
具体的には、これら２個のフリップフロップ５２−０及び５２−１のデータは、比較回路５１に供給される。比較回路５１は、フリップフロップ５２−０及び５２−１の２ビットのデータを繰り返したパターンと、半導体記憶装置本体３１から読み出される出力データ信号Ａ［０］乃至Ａ［ｂ−１］のビットパターンとを比較して、両ビットパターンが一致するか否かを判断する。両者が一致する場合には、例えば“０”がフリップフロップ５３のＤ入力に書き込まれ、出力端子ＴＳＯから半導体記憶装置外部に出力される。また両ビットパターンが不一致の場合には、例えば“１” がフリップフロップ５３のＤ入力に書き込まれ、出力端子ＴＳＯから半導体記憶装置外部に出力される。
【００３９】
このように本発明の第３の実施例による半導体記憶装置３０Ｂにおいては、２個のフリップフロップ５２−０及び５２−１を設け２ビットの期待値データを格納し、比較回路５１によって、２ビットの期待値データを繰り返して出力ビット数に等しい期待値ビットパターンを作成し、これと実際の出力データとを比較することで期待値どおりか否かの判定を行う。従って、従来の構成のように、最低でも出力ビット数に等しい数のスキャンシフト動作を実行する必要が無くなり、大幅にスキャンシフトの回数を削減することが可能になる。
【００４０】
即ち、スキャンシフト動作の回数は、基本的にアドレス本数＋書き込みデータ数＋期待値格納ビット数であるので、例えば１０２４ワードで７２ビットのＳＲＡＭを例にとると、１回の書き込みに要するスキャンシフトの回数は、１０（＝ｌｏｇ２１０２４）＋２ビット＋２ビットで１４回となる。またスキャン読み出し動作に関しては１ビットの判定結果を読み出すだけであるので、読み出し及び書き込み動作を同時に行う場合に、１４回のスキャンシフトを実行するだけでよい。
【００４１】
また当然であるが、図５の構成は、図４のパーシャルライト機能付きの半導体記憶装置に適用することも可能である。この場合、スキャンシフト動作の回数は、基本的にアドレス本数＋書き込みデータ数＋パーシャルライトイネーブル書き込み数＋期待値格納ビット数であるので、例えば１０２４ワードで７２ビットのＳＲＡＭを例にとると、１回の書き込みに要するスキャンシフトの回数は、１０（＝ｌｏｇ２１０２４）＋２ビット＋２ビット＋２ビットで１６回となり、読み出し及び書き込み動作を同時に行う場合であっても、１６回のスキャンシフトを実行するだけでよい。
【００４２】
図６は、図５の比較回路５１の構成を半導体記憶装置のデータ出力に関する部分と共に示す回路図である。
【００４３】
比較回路５１は、ＡＮＤ回路６１乃至６４、ＯＲ回路６５乃至６８、ＸＯＲ回路６９乃至７６、及びＯＲ回路７７乃至８３を含む。期待値の偶数ビットを格納するフリップフロップ５２−０のＱ出力は、ＸＯＲ回路７１及び７２並びに７５及び７６に入力される。期待値の奇数ビットを格納するフリップフロップ５２−１のＱ出力は、ＸＯＲ回路６９及び７０並びに７３及び７４に入力される。
【００４４】
例えば、ＡＮＤ回路６４は、出力データＡ［０］とＡ［２］のＡＮＤをとるので、両者が“１”のときのみ出力がＨＩＧＨになる。またＯＲ回路６８は、出力データＡ［０］とＡ［２］のＯＲをとるので、少なくともいずれか一方が“１”のときに出力がＨＩＧＨになる。
【００４５】
フリップフロップ５２−０に格納される期待値偶数ビットが“０”であるか“１”であるかに関わらず、期待値どおりの出力データの場合に、ＡＮＤ回路６４の出力と期待値偶数ビットとのＸＯＲをとるＸＯＲ回路７５の出力はＬＯＷとなり、更にＯＲ回路６８の出力と期待値偶数ビットとのＸＯＲをとるＸＯＲ回路７６の出力もＬＯＷとなる。従って、ＯＲ回路８０の出力はＬＯＷとなる。またフリップフロップ５２−０に格納される期待値偶数ビットが“０”であるか“１”であるかに関わらず、出力データＡ［０］とＡ［２］とが同一であるが期待値とは異なる場合には、ＡＮＤ回路６４の出力と期待値偶数ビットとのＸＯＲをとるＸＯＲ回路７５の出力はＨＩＧＨとなり、更にＯＲ回路６８の出力と期待値偶数ビットとのＸＯＲをとるＸＯＲ回路７６の出力もＨＩＧＨとなる。従って、ＯＲ回路８０の出力はＨＩＧＨとなる。
【００４６】
出力データＡ［０］とＡ［２］とが互いに異なる場合には、マーチパターンでもチェッカーパターンでもないことになり、出力が誤っていることになる。この場合、ＡＮＤ回路６４の出力がＬＯＷとなり、ＯＲ回路６８の出力はＨＩＧＨとなる。従って、期待値偶数ビットの値に関わらず、ＸＯＲ回路７５及び７６の何れか一方がＨＩＧＨとなり他方がＬＯＷとなる。従って、ＯＲ回路８０の出力はＨＩＧＨとなる。
【００４７】
即ち、出力データＡ［０］とＡ［２］とが期待値どおりの場合にＯＲ回路８０の出力はＬＯＷであり、期待値と異なる場合にＯＲ回路８０の出力はＨＩＧＨになる。同様の論理が各出力ビットに対して求められ、ＯＲ回路８１乃至８３で統合される。結果として、ＯＲ回路８３の出力は、全ての出力データが期待値どおりの場合にＬＯＷとなり、期待値と異なる場合にＨＩＧＨとなる。
【００４８】
このようにして、図６に示される比較回路５１によって、出力データが期待値どおりであるか否かを判断して、判断結果を１ビットのデータとして出力することができる。
【００４９】
図７は、本発明による半導体記憶装置における書き込み動作のタイミングを示す図である。
【００５０】
図７（ａ）は選択信号ＭＳＴ、（ｂ）はスキャンモード信号ＳＭ、（ｃ）は書き込みイネーブル信号ＴＷＥ、（ｄ）はスキャン入力データＴＳＩ、（ｅ）はクロック信号ＣＫ、（ｆ）はアドレス信号Ａ［ｎ］、（ｇ）は出力データ信号ＴＳＯである。
【００５１】
まずスキャンモード信号ＳＭをＨＩＧＨにして、動作モードをスキャンモードに設定する。その後、スキャン入力データＴＳＩをクロック信号ＣＫに同期してシリアルに入力する。ここでスキャン入力データＴＳＩは、少なくとも書き込みアドレスと書き込みデータを含むシリアルデータである。全てのスキャン入力データＴＳＩの取り込みが終了すると、選択信号ＭＳＴをＨＩＧＨにすると共に書き込みイネーブル信号ＴＷＥをイネーブル（ＬＯＷ）にし、各フリップフロップのＱ出力（書き込みアドレス及び書き込みデータ）を、クロック信号ＣＫに同期させて半導体記憶装置本体に供給する。この時、図３を参照して前述したように、スキャンモード信号ＳＭはＨＩＧＨのままであり、フリップフロップのスキャンシフト動作は実行されない。このようにスキャンシフト動作なしで半導体記憶装置本体にデータを書き込むことを、ノンスキャンシフトライト動作と呼ぶ。
【００５２】
これによって半導体記憶装置本体に対するデータ書き込み動作が終了する。
【００５３】
図８は、本発明による半導体記憶装置における読み出し動作のタイミングを示す図である。
【００５４】
図８（ａ）は選択信号ＭＳＴ、（ｂ）はスキャンモード信号ＳＭ、（ｃ）は書き込みイネーブル信号ＴＷＥ、（ｄ）はスキャン入力データＴＳＩ、（ｅ）はクロック信号ＣＫ、（ｆ）はアドレス信号Ａ［ｎ］、（ｇ）は出力データ信号ＴＳＯである。
【００５５】
まずスキャンモード信号ＳＭをＨＩＧＨにして、動作モードをスキャンモードに設定する。その後、スキャン入力データＴＳＩをクロック信号ＣＫに同期してシリアルに入力する。ここでスキャン入力データＴＳＩは、少なくとも読み出しアドレスを含むシリアルデータである。全てのスキャン入力データＴＳＩの取り込みが終了すると、書き込みイネーブル信号ＴＷＥをディスエーブル（ＨＩＧＨ）のままで選択信号ＭＳＴをＨＩＧＨにし、各フリップフロップのＱ出力（読み出しアドレス）を、クロック信号ＣＫに同期させて半導体記憶装置本体に供給する。この時、スキャンモード信号ＳＭはＨＩＧＨのままであり、フリップフロップのスキャンシフト動作は実行されない。
【００５６】
これによって半導体記憶装置本体に対するデータ読み出し動作が実行される。
このようにスキャンシフト動作なしで半導体記憶装置本体からデータを読み出すことを、ノンスキャンシフトリード動作と呼ぶ。
【００５７】
更に、選択信号ＭＳＴがＨＩＧＨのままスキャンモード信号ＳＭをＬＯＷにして、クロック信号ＣＫのクロックパルスを入力する。これによって、半導体記憶装置本体から出力されるデータが、例えば図３の構成では、フリップフロップ３４−０乃至３４−ｂ−１にＤ入力から格納される。また例えば図５の構成では、読み出しデータが期待値どおりであるか否かを示す１ビットのデータが、フリップフロップ５３にＤ入力から格納される。
【００５８】
これによって半導体記憶装置本体からのデータ読み出し動作が終了する。
【００５９】
図９は、本発明による半導体記憶装置における読み出し及び書き込み動作のタイミングを示す図である。
【００６０】
図９（ａ）は選択信号ＭＳＴ、（ｂ）はスキャンモード信号ＳＭ、（ｃ）は書き込みイネーブル信号ＴＷＥ、（ｄ）はスキャン入力データＴＳＩ、（ｅ）はクロック信号ＣＫ、（ｆ）はアドレス信号Ａ［ｎ］、（ｇ）は出力データ信号ＴＳＯである。
【００６１】
まずスキャンモード信号ＳＭをＨＩＧＨにして、動作モードをスキャンモードに設定する。その後、スキャン入力データＴＳＩをクロック信号ＣＫに同期してシリアルに入力する。ここでスキャン入力データＴＳＩは、少なくとも読み出し動作の対象であると同時に書き込みの動作の対象であるアドレスと、書き込みデータとを含むシリアルデータである。全てのスキャン入力データＴＳＩの取り込みが終了すると、書き込みイネーブル信号ＴＷＥをディスエーブル（ＨＩＧＨ）のままで選択信号ＭＳＴをＨＩＧＨにし、各フリップフロップのＱ出力（読み出しアドレス）を、クロック信号ＣＫに同期させて半導体記憶装置本体に供給する。この時、スキャンモード信号ＳＭはＨＩＧＨのままであり、フリップフロップのスキャンシフト動作は実行されない。
【００６２】
これによって半導体記憶装置本体に対するデータ読み出し動作が実行される。
【００６３】
その後書き込みイネーブル信号ＴＷＥをイネーブル（ＬＯＷ）にし、各フリップフロップのＱ出力（書き込みアドレス及び書き込みデータ）を、クロック信号ＣＫに同期させて半導体記憶装置本体に供給する。この時、フリップフロップのスキャンシフト動作は実行されない。
【００６４】
更に、選択信号ＭＳＴがＨＩＧＨのままスキャンモード信号ＳＭをＬＯＷにして、クロック信号ＣＫのクロックパルスを入力する。これによって、半導体記憶装置本体から出力されているデータが、例えば図３の構成では、フリップフロップ３４−０乃至３４−ｂ−１にＤ入力から格納される。また例えば図５の構成では、読み出しデータが期待値どおりであるか否かを示す１ビットのデータが、フリップフロップ５３にＤ入力から格納される。
【００６５】
これによって、半導体記憶装置本体の指定したアドレスからデータを読み出す動作と共に、この指定したアドレスに新規のデータを書き込む動作が終了する。
【００６６】
図１０は、マーチパターンにより本発明の半導体記憶装置を試験する処理を示すフローチャートである。
【００６７】
ステップＳ１で、入力するアドレスを０番地に設定する。ステップＳ２で、スキャンシフト動作によりスキャンデータを入力する。ステップＳ３で、ノンスキャンシフトライト動作を実行して、“０”の列からなるスキャンデータを書き込む。ステップＳ４で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを１増加してステップＳ２に戻る。最終アドレスの場合には、ステップＳ５に進む。
【００６８】
ステップＳ５で、入力するアドレスを０番地に設定する。ステップＳ６で、スキャンシフト動作によりスキャンデータを入力する。ステップＳ７で、ノンスキャンシフトリード動作を実行して、ステップＳ３で書き込んだ“０”の列からなるデータを読み出す。ステップＳ８で、ノンスキャンシフトライト動作を実行して、“１”の列からなるスキャンデータを書き込む。ステップＳ９で、出力用のフリップフロップにデータを格納する。ステップＳ１０で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを１増加してステップＳ６に戻る。最終アドレスの場合には、ステップＳ１１に進む。
【００６９】
ステップＳ１１で、入力するアドレスを最終番地に設定する。ステップＳ１２で、スキャンシフト動作によりスキャンデータを入力する。ステップＳ１３で、ノンスキャンシフトリード動作を実行して、ステップＳ８で書き込んだ“１”の列からなるデータを読み出す。ステップＳ１４で、ノンスキャンシフトライト動作を実行して、“０”の列からなるスキャンデータを書き込む。ステップＳ１５で、出力用のフリップフロップにデータを格納する。ステップＳ１６で、入力アドレスが０番地であるか否かを判断する。０番地でない場合は、入力アドレスを１減少してステップＳ１２に戻る。０番地の場合には、ステップＳ１７に進む。
【００７０】
ステップＳ１７で、入力するアドレスを０番地に設定する。ステップＳ１８で、スキャンシフト動作によりスキャンデータを入力する。ステップＳ１９で、ノンスキャンシフトライト動作を実行して、“１”の列からなるスキャンデータを書き込む。ステップＳ２０で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを１増加してステップＳ１８に戻る。最終アドレスの場合には、ステップＳ２１に進む。
【００７１】
ステップＳ２１で、入力するアドレスを０番地に設定する。ステップＳ２２で、スキャンシフト動作によりスキャンデータを入力する。ステップＳ２３で、ノンスキャンシフトリード動作を実行して、ステップＳ１９で書き込んだ“１”の列からなるデータを読み出す。ステップＳ２４で、ノンスキャンシフトライト動作を実行して、“０”の列からなるスキャンデータを書き込む。ステップＳ２５で、出力用のフリップフロップにデータを格納する。ステップＳ２６で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを１増加してステップＳ２２に戻る。最終アドレスの場合には、ステップＳ２７に進む。
【００７２】
ステップＳ２７で、入力するアドレスを最終番地に設定する。ステップＳ２８で、スキャンシフト動作によりスキャンデータを入力する。ステップＳ２９で、ノンスキャンシフトリード動作を実行して、ステップＳ２４で書き込んだ“０”の列からなるデータを読み出す。ステップＳ３０で、ノンスキャンシフトライト動作を実行して、“１”の列からなるスキャンデータを書き込む。ステップＳ３１で、出力用のフリップフロップにデータを格納する。ステップＳ３２で、入力アドレスが０番地であるか否かを判断する。０番地でない場合は、入力アドレスを１減少してステップＳ２８に戻る。０番地の場合には、ステップＳ３３に進む。最後に、ステップＳ３３で、スキャンシフトを実行して出力用のフリップフロップからデータをシリアルに出力する。
【００７３】
上記のように、マーチパターンを使用する場合には通常、“０”の列を書き込んで、“０”の列を読み出すと共に“１”の列を書き込んで、“１”の列を読み出すと共に“０”の列を書き込んで、更に“１”の列を書き込んで、“１”の列を読み出すと共に“０”の列を書き込んで、“０”の列を読み出すと共に“１”の列を書き込む。この動作を全てのアドレスに対して実行する。なお前述したように、スキャンシフト動作によって、入力スキャンデータを入力用フリップフロップに設定する動作と、出力データを出力用フリップフロップから読み出す動作とを同時に実行する。
【００７４】
上記のようなマーチパターンを用いた試験を実行し、“０”の列を書き込んだ後には書き込んだとおりの“０”の列が読み出され、“１”の列を書き込んだ後には書き込んだとおりの“１”の列が読み出されるか否かをチェックする。これによって半導体記憶装置の記憶機能を試験することができる。なお図５の構成の半導体記憶装置を試験する場合には、読み出しデータのチェックは、１ビットの比較判定結果を読み出すだけで行われる。
【００７５】
図１１は、チェッカーパターンにより本発明の半導体記憶装置を試験する処理を示すフローチャートである。
【００７６】
ステップＳ１で、入力するアドレスを０番地に設定する。ステップＳ２で、スキャンシフト動作によりスキャンデータを入力する。ステップＳ３で、ノンスキャンシフトライト動作を実行して、“０１０１・・・”の列からなるスキャンデータを書き込む。ステップＳ４で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを１増加してステップＳ２に戻る。最終アドレスの場合には、ステップＳ５に進む。
【００７７】
ステップＳ５で、入力するアドレスを０番地に設定する。ステップＳ６で、スキャンシフト動作によりスキャンデータを入力する。ステップＳ７で、ノンスキャンシフトリード動作を実行して、“０１０１・・・”の列からなるスキャンデータを読み出す。ステップＳ８で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを１増加してステップＳ６に戻る。最終アドレスの場合には、ステップＳ９に進む。
【００７８】
ステップＳ９で、入力するアドレスを０番地に設定する。ステップＳ１０で、スキャンシフト動作によりスキャンデータを入力する。ステップＳ１１で、ノンスキャンシフトライト動作を実行して、“１０１０・・・”の列からなるスキャンデータを書き込む。ステップＳ１２で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを１増加してステップＳ１０に戻る。最終アドレスの場合には、ステップＳ１３に進む。
【００７９】
ステップＳ１３で、入力するアドレスを０番地に設定する。ステップＳ１４で、スキャンシフト動作によりスキャンデータを入力する。ステップＳ１５で、ノンスキャンシフトリード動作を実行して、“１０１０・・・”の列からなるスキャンデータを読み出す。ステップＳ１６で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを１増加してステップＳ１４に戻る。最終アドレスの場合には、ステップＳ１７に進む。最後に、ステップＳ１７で、スキャンシフトを実行して出力用のフリップフロップからデータをシリアルに出力する。
【００８０】
上記のようなチェッカーパターンを用いた試験を実行し、“０１０１・・・”の列を書き込んだ後には書き込んだとおりの“０１０１・・・”の列が読み出され、“１０１０・・・”の列を書き込んだ後には書き込んだとおりの“１０１０・・・”の列が読み出されるか否かをチェックする。これによって半導体記憶装置の記憶機能を試験することができる。なお図５の構成の半導体記憶装置を試験する場合には、読み出しデータのチェックは、１ビットの比較判定結果を読み出すだけで行われる。
【００８１】
上記実施例は、説明を目的として本発明の構成の一例を示したものであり、本発明は上記実施例の構成に限定されない。
【００８２】
例えば、上記実施例では、複数の入力データ信号Ｉ［０］、Ｉ［１］、Ｉ［２］、・・・に対して２個のスキャン入力用フリップフロップを設けて、この２ビットを繰り返すことでマーチパターン或いはチェッカ−パターンを形成する構成とした。マーチパターン或いはチェッカ−パターンとは異なるパターンを設定する必要がある場合には、２個以上のスキャン入力用フリップフロップを設けて、これらのフリップフロップのビットパターンを繰り返すことで、所望のパターンを構成することが可能である。例えば、“１１００１１００・・・”のパターンを設定する必要があると予め要望がある場合には、４個のスキャン入力用フリップフロップを設けて、“１１００”のデータを設定して、これを繰り返す構成とすればよい。この場合であっても、任意のマーチパターン及びチェッカ−パターンを構成可能なことは明らかである。またこの際、図５の構成のように期待値格納用フリップフロップを設ける場合には、４個のフリップフロップを設けることになる。
【００８３】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【発明の効果】
本発明においては、２個のスキャンフリップフロップを設け、このスキャンフリップフロップのデータを繰り返すことでデータ本数分のビット数のデータを構成するので、データ本数と同一の個数のスキャンフリップフロップを設けてスキャンシフト動作を実行する必要が無く、データ本数以下のスキャンシフト動作で入力データを設定することができる。これによって、スキャンフリップフロップに対するデータ設定に関して、必要となるスキャンシフトの回数を削減することが可能となる。
【図面の簡単な説明】
【図１】スキャン方式による従来の半導体記憶装置の構成を示す図である。
【図２】スキャン方式による従来のパーシャルライト機能付き半導体記憶装置の構成を示す図である。
【図３】本発明による半導体記憶装置の第１の実施例を示す構成図である。
【図４】本発明による半導体記憶装置の第２の実施例を示す構成図である。
【図５】本発明による半導体記憶装置の第３の実施例を示す構成図である。
【図６】図５の比較回路の構成を半導体記憶装置のデータ出力に関する部分と共に示す回路図である。
【図７】本発明による半導体記憶装置における書き込み動作のタイミングを示す図である。
【図８】本発明による半導体記憶装置における読み出し動作のタイミングを示す図である。
【図９】本発明による半導体記憶装置における読み出し及び書き込み動作のタイミングを示す図である。
【図１０】マーチパターンにより本発明の半導体記憶装置を試験する処理を示すフローチャートである。
【図１１】チェッカーパターンにより本発明の半導体記憶装置を試験する処理を示すフローチャートである。
【符号の説明】
３０  半導体記憶装置
３１  半導体記憶装置本体
３２−０、・・・、３２−ｔ−１  アドレス入力用フリップフロップ
３３−０、３３−１  データ入力用フリップフロップ
３４−０、・・・、３４−ｂ−１  データ出力用フリップフロップ
３５  セレクタ回路
３６  ＸＯＲ回路
３７  ＮＸＯＲ回路
３８、３９  ＡＮＤ回路
４０  出力バッファ
【図１】
0004659244.tif 000002
【図２】
0004659244.tif 000003
【図３】
0004659244.tif 000004
【図４】
0004659244.tif 000005
【図５】
0004659244.tif 000006
【図６】
0004659244.tif 000007
【図７】
0004659244.tif 000008
【図８】
0004659244.tif 000009
【図９】
0004659244.tif 000010
【図１０】
0004659244.tif 000011
【図１１】
0004659244.tif 000012