JP4659244B2 - Semiconductor memory device - Google Patents
Semiconductor memory device Download PDFInfo
- Publication number
- JP4659244B2 JP4659244B2 JP2001081420A JP2001081420A JP4659244B2 JP 4659244 B2 JP4659244 B2 JP 4659244B2 JP 2001081420 A JP2001081420 A JP 2001081420A JP 2001081420 A JP2001081420 A JP 2001081420A JP 4659244 B2 JP4659244 B2 JP 4659244B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory device
- semiconductor memory
- scan
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Static Random-Access Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、一般に半導体記憶装置に関し、詳しくはスキャン方式により試験を行う半導体記憶装置に関する。
【従来の技術】
半導体記憶装置及びコントローラ等が搭載されるシステムLSIにおいて、半導体記憶装置へのアドレス及びデータの書き込みは、同一のシステムLSI内に設けられるコントローラ等から行われる。従って、通常の動作においてシステムLSI外部から半導体記憶装置へ直接にアドレス及びデータを入力する必要はなく、直接入力のための外部端子は設けられない。しかし半導体記憶装置を試験するためには、システムLSI外部から半導体記憶装置にアドレス及びデータを入力して、出力データをチェックする必要がある。これを実現するために、テスト動作中に、単一の端子からシリアルにアドレス及びデータを入力するスキャン方式が用いられる。
【0002】
スキャン方式では、システムLSI外部端子として、アドレス及びデータに対する多数の外部端子を設ける必要が無く、スキャン入力用の単一の端子を設けるだけでよいので、ピン数を削減することが出来る。
【0003】
図1は、スキャン方式による従来の半導体記憶装置の構成を示す図である。
【0004】
図1の半導体記憶装置は、SRAM(Static Random Access Memory)等の半導体記憶装置本体11、t個の入力アドレス信号IA[0]乃至IA[t−1]に対するスキャン入力用のフリップフロップ12−0乃至12−t−1、b個の入力データ信号I[0]乃至I[b−1]に対するスキャン入力用のフリップフロップ13−0乃至13−b−1、b個の出力データ信号A[0]乃至A[b−1]に対するスキャン出力用のフリップフロップ14−0乃至14−b−1、複数のセレクタ回路15、XOR回路16、XORの反転であるNXOR回路17、AND回路18及び19、及び出力バッファ20を含む。
【0005】
通常動作時には選択信号MSTがLOW(“0”)であり、各セレクタ回路15は、半導体記憶装置10外部から並列に入力される入力アドレス信号IA[0]乃至IA[t−1]及び入力データ信号I[0]乃至I[b−1]を選択する。選択された入力信号は、半導体記憶装置本体11に供給される。また通常動作時にはスキャンモード信号SMもLOWであり、NXOR回路17は、HIGH信号をAND回路19に供給する。従って、入力クロック信号CKは、AND回路19を介して半導体記憶装置本体11に供給される。半導体記憶装置本体11の出力データは、出力データ信号A[0]乃至A[b−1]として、半導体記憶装置10外部に供給される。
【0006】
テスト動作時には、スキャンモードを指示するスキャンモード信号SMをHIGHとして、テスト入力端子TSIから設定データを入力クロック信号CKに同期させて入力する。この時、選択信号MSTはLOWとしておく。従って、XOR回路16の出力はHIGHであり、入力クロック信号CKはAND回路18を介して各フリップフロップに供給される。各フリップフロップは、前段のシリアル出力SOが次段のシリアル入力SIに接続される形で直列接続されており、テスト入力端子TSIから入力される設定データは、クロック信号CKに同期したシフト動作によってデータシフトを繰り返し、最終的に所定のデータを各フリップフロップに設定することが出来る。
【0007】
所定のデータを各フリップフロップに設定し終えると、選択信号MSTをHIGHとすることで、各セレクタ回路15は対応するフリップフロップのQ出力を選択して、半導体記憶装置本体11に供給する。この時、スキャンモード信号SMはHIGHのままであり、NXOR回路17は、HIGH信号をAND回路19に供給する。従って、入力クロック信号CKは、AND回路19を介して半導体記憶装置本体11に供給される。これによって、半導体記憶装置本体11に対するアドレスの入力(読み出し動作)又はアドレス及びデータの入力(書き込み動作)が行われる。またこの時、XOR回路16の出力はLOWとなり、入力クロック信号CKはフリップフロップに供給されない。従って、このタイミングではフリップフロップのスキャン動作(シフト動作)は実行されない。
【0008】
読み出し動作によって半導体記憶装置本体11から出力される出力データ信号A[0]乃至A[b−1]は、スキャン出力用のフリップフロップ14−0乃至14−b−1に並列に格納される。その後、クロック信号CKによってフリップフロップ14−0乃至14−b−1のデータをシフトさせることで、出力データ信号A[0]乃至A[b−1]を出力端子TSOから順次出力させる。
【発明が解決しようとする課題】
上記のような半導体記憶装置では、テスト動作においてデータ設定をするために、入力用のフリップフロップの個数分だけスキャンシフト動作を実行する必要がある。即ち、スキャンシフト動作の回数は、アドレス本数+書き込みデータ本数となる。
【0009】
例えば、1024ワードで72ビットのSRAMを例にとると、1回の書き込みに要するスキャンシフトの回数は、10(=log21024)+72ビットで82回となる。
【0010】
このスキャンシフトの回数は、パーシャルライト機能が設けられた半導体記憶装置においては更に多くなる。
【0011】
図2は、スキャン方式による従来のパーシャルライト機能付き半導体記憶装置の構成を示す図である。図2において、図1と同一の要素は同一の参照番号で参照され、その説明は省略される。
【0012】
図2のパーシャルライト機能付き半導体記憶装置10Aは、図1の各要素に加えて、b個のパーシャルライトイネーブル入力信号VI[0]乃至VI[b−1]に対するスキャン入力用のフリップフロップ21−0乃至21−b−1が設けられる。パーシャルライトイネーブル入力信号VI[0]乃至VI[b−1]は、“0”に設定されるビットに対しては、それに対応する入力データ信号I[0]乃至I[b−1]が有効となり、“1”に設定されるビットに対しては、それに対応する入力データ信号I[0]乃至I[b−1]が無効となるものである。従って、例えば8ビットのデータ入力に対して、パーシャルライトイネーブル入力信号が“00001111”に設定されると、I[0]乃至I[3]のデータだけが、半導体記憶装置本体11に取り込まれる構成となっている。このような機能によって、部分的なデータ入力が可能となる。
【0013】
図2のパーシャルライト機能付き半導体記憶装置10Aにおいては、スキャンシフト動作の回数は、アドレス本数+書き込みデータ本数+パーシャルライトイネーブル本数となる。例えば、1024ワードで72ビットのSRAMを例にとると、1回の書き込みに要するスキャンシフトの回数は、10(=log21024)+72ビット+72ビットで154回となる。
【0014】
仮に全て“0”或いは全て“1”であるマーチパターンで試験を行う場合には、スキャンシフトによるデータ設定を10×1024回実行する必要がある。図1の半導体記憶装置10では、10×1024×82回のスキャンシフトが必要になり、図2のパーシャルライト機能付き半導体記憶装置10Aでは、10×1024×154回のスキャンシフトが必要となってしまう。このように、従来のスキャン方式の半導体記憶装置では、テスト時のスキャンシフト動作の回数が膨大となり、試験時間が長くなるという問題があった。
【0015】
以上を鑑み、本発明は、比較的少ないスキャンシフトの回数でデータ設定が可能なスキャン方式の半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
本発明による半導体記憶装置は、nビットのアドレス信号と2より大きいmビットのデータ信号を受け取る半導体記憶装置本体と、互いに直列に接続され該アドレス信号をシリアルに設定するn個のスキャンフリップフロップと、互いに直列に接続され該データ信号をシリアルに設定する2個のスキャンフリップフロップと、該半導体記憶装置本体から読み出されるmビットの出力データと、2ビットの期待値データを繰り返すことで構成されるmビットの期待値データとを比較することで、該出力データが該期待値データに一致するか否かを判定する比較回路とを含み、該2個のスキャンフリップフロップのデータを繰り返すことでmビットのデータを構成して該半導体記憶装置本体に入力することを特徴とする。
【0016】
上記発明においては、2個のスキャンフリップフロップのデータを繰り返すことでmビットのデータを構成するので、m個のスキャンフリップフロップを設けてm回のスキャンシフト動作を実行する必要が無く、m回以下のスキャンシフト動作で入力データを設定することができる。これによって、スキャンフリップフロップに対するデータ設定に関して、必要となるスキャンシフトの回数を削減することが可能となる。
【発明の実施の形態】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【0017】
図3は、本発明による半導体記憶装置の第1の実施例を示す構成図である。
【0018】
図3の半導体記憶装置30は、SRAM等の半導体記憶装置本体31、t個の入力アドレス信号IA[0]乃至IA[t−1]に対するスキャン入力用のフリップフロップ32−0乃至32−t−1、複数の入力データ信号I[0]、I[1]、I[2]、・・・に対して設けられる2個のスキャン入力用のフリップフロップ33−0及び33−1、b個の出力データ信号A[0]乃至A[b−1]に対するスキャン出力用のフリップフロップ34−0乃至34−b−1、複数のセレクタ回路35、XOR回路36、XORの反転であるNXOR回路37、AND回路38及び39、及び出力バッファ40を含む。
【0019】
通常動作時には選択信号MSTがLOW(“0”)であり、各セレクタ回路35は、半導体記憶装置30外部から並列に入力される入力アドレス信号IA[0]乃至IA[t−1]及び入力データ信号I[0]、I[1]、I[2]、・・・を選択する。選択された入力信号は、半導体記憶装置本体31に供給される。また通常動作時にはスキャンモード信号SMもLOWであり、NXOR回路37は、HIGH信号をAND回路39に供給する。従って、入力クロック信号CKは、AND回路39を介して半導体記憶装置本体31に供給される。半導体記憶装置本体31の出力データは、出力データ信号A[0]乃至A[b−1]として、半導体記憶装置30外部に供給される。
【0020】
テスト動作時には、スキャンモードを指示するスキャンモード信号SMをHIGHとして、テスト入力端子TSIから設定データを入力クロック信号CKに同期させて入力する。この時、選択信号MSTはLOWとしておく。従って、XOR回路36の出力はHIGHであり、入力クロック信号CKはAND回路38を介して各フリップフロップに供給される。各フリップフロップは、前段のシリアル出力SOが次段のシリアル入力SIに接続される形で直列接続されており、テスト入力端子TSIから入力される設定データは、クロック信号CKに同期したシフト動作によってデータシフトを繰り返し、最終的に所定のデータを各フリップフロップに設定することが出来る。
【0021】
ここで、複数の入力データ信号I[0]、I[1]、I[2]、・・・に対しては、2個のスキャン入力用のフリップフロップ33−0及び33−1が設けられている。半導体記憶装置の試験において実際に使用するデータパターンは、全ビットが“0”或いは全ビットが“1”であるマーチパターン、或いは“0”と“1”とを交互に繰り返したビットパターンであるチェッカーパターンが殆どであり、それ以外のデータパターンを使用する必要性は実際上殆どない。従って、2個のフリップフロップ33−0及び33−1をデータパターン設定用に設けておけば、この2個のフリップフロップのデータを繰り返すことで、任意のマーチパターン或いはチェッカーパターンを設定することが出来る。
【0022】
図3の半導体記憶装置30においては、2個のフリップフロップ33−0及び33−1のQ出力が、交互に半導体記憶装置本体31に供給される構成となっている。即ち、フリップフロップ33−0のQ出力は、偶数番目の入力データ信号I[0]、I[2]、I[4]、・・・に対応するセレクタ回路35に供給され、フリップフロップ33−1のQ出力は、奇数番目の入力データ信号I[1]、I[3]、I[5]、・・・に対応するセレクタ回路35に供給される。
【0023】
従って、フリップフロップ33−0及び33−1に“0”を格納すれば、全ビットが“0”であるマーチパターンを構成可能であり、またフリップフロップ33−0及び33−1に“1”を格納すれば、全ビットが“1”であるマーチパターンを構成可能である。更に、フリップフロップ33−0及び33−1にそれぞれ“0”及び“1”を格納すれば、“010101・・・”であるチェッカーパターンを構成可能であり、またフリップフロップ33−0及び33−1にそれぞれ“1”及び“0”を格納すれば、“101010・・・”であるチェッカーパターンを構成可能である。
【0024】
所定のデータを各フリップフロップに設定し終えると、選択信号MSTをHIGHとすることで、各セレクタ回路35は対応するフリップフロップのQ出力を選択して、半導体記憶装置本体31に供給する。この時、スキャンモード信号SMはHIGHのままであり、NXOR回路37は、HIGH信号をAND回路39に供給する。従って、入力クロック信号CKは、AND回路39を介して半導体記憶装置本体31に供給される。これによって、半導体記憶装置本体31に対するアドレスの入力(読み出し動作)又はアドレス及びデータの入力(書き込み動作)が行われる。またこの時、XOR回路36の出力はLOWとなり、入力クロック信号CKはフリップフロップに供給されない。従って、このタイミングではフリップフロップのスキャン動作(シフト動作)は実行されない。
【0025】
読み出し動作によって半導体記憶装置本体31から出力される出力データ信号A[0]乃至A[b−1]は、スキャン出力用のフリップフロップ34−0乃至34−b−1に並列に格納される。その後、クロック信号CKによってフリップフロップ34−0乃至34−b−1のデータをシフトさせることで、出力データ信号A[0]乃至A[b−1]を出力端子TSOから順次出力させる。
【0026】
上述のように、図3に示される本発明による半導体記憶装置の第1の実施例においては、入力データ信号に対しては2個だけスキャンフリップフロップを設けることによって、スキャンフリップフロップに対するデータ設定に関して必要となるスキャンシフトの回数を削減することが可能となる。即ち、スキャンシフト動作の回数は、アドレス本数+書き込みデータ数であるので、例えば1024ワードで72ビットのSRAMを例にとると、1回の書き込みに要するスキャンシフトの回数は、10(=log21024)+2ビットで12回となる。
【0027】
図4は、本発明による半導体記憶装置の第2の実施例を示す構成図である。
【0028】
第2の実施例は、パーシャルライト機能付きの半導体記憶装置に関するものである。図4において、図3と同一の要素は同一の参照番号で参照され、その説明は省略される。
【0029】
図4のパーシャルライト機能付き半導体記憶装置30Aは、図1の各要素に加えて、複数のパーシャルライトイネーブル入力信号VI[0]、VI[1]、VI[2]、・・・に対して、2個のスキャン入力用のフリップフロップ41−0及び41−1が設けられる。これら2個のフリップフロップ41−0及び41−1のQ出力は、交互に半導体記憶装置本体31に供給される構成となっている。即ち、フリップフロップ41−0のQ出力は、偶数番目のパーシャルライトイネーブル入力信号VI[0]、VI[2]、VI[4]、・・・に対応するセレクタ回路35に供給され、フリップフロップ41−1のQ出力は、奇数番目のパーシャルライトイネーブル入力信号VI[1]、VI[3]、VI[5]、・・・に対応するセレクタ回路35に供給される。
【0030】
従って図4の半導体記憶装置30Aにおいても、図3の半導体記憶装置30と同様に、任意のマーチパターン或いはチェッカーパターンを設定することが出来る。
【0031】
図5は、本発明による半導体記憶装置の第3の実施例を示す構成図である。図5において、図3と同一の要素は同一の参照番号で参照され、その説明は省略される。
【0032】
第3の実施例は、出力データに対するスキャンフリップフロップの数を減らした構成に関するものである。
【0033】
上記第1及び第2の実施例に於いては、入力データ及びパーシャルライトイネーブル入力に対して設けられるフリップフロップの数を2個にすることによって、入力設定におけるスキャンシフト動作の数を大幅に削減することが出来る。しかし実際の試験においては、データを書き込んだ後にデータを読み出して、半導体記憶装置本体が正常に動作するか否かを判断する。スキャン動作でデータを読み出すためには、データ出力のビット数だけスキャンシフトを繰り返す必要があり、例えば72ビットの出力であれば、72回のスキャンシフトが必要になる。
【0034】
出力用フリップフロップからのスキャン読み出し動作は、入力用フリップフロップへのスキャン書き込み動作と同時に実行することで、効率的なデータ読み出し及び書き込みを行う。従って、例えば図3の半導体記憶装置30で書き込みに要するスキャンシフトの回数が12回(=log21024+2)であっても、出力用に72回のスキャンシフトが必要な場合、読み書きを同時に実行すると72回のスキャンシフトが必要になる。これに対して図1の半導体記憶装置10の従来の構成では、書き込みに要するスキャンシフトの回数が82回(=log21024+72)であるので、読み書きを同時に実行すると82回のスキャンシフトが必要になる。従って、図3の半導体記憶装置30ではスキャンシフトの回数を削減することが可能ではあるが、実際の削減効率はそれ程高くはならない。
【0035】
図5の半導体記憶装置30Bは、図3の半導体記憶装置30とデータ出力部分が異なり、比較回路51、出力データ期待値格納用のフリップフロップ52−0及び52−1、及び比較回路51による比較判定結果を出力するためのフリップフロップ53を含む。
【0036】
前述のように、半導体記憶装置の試験において実際に使用するデータパターンは、全ビットが“0”或いは全ビットが“1”であるマーチパターン、或いは“0”と“1”とを交互に繰り返したビットパターンであるチェッカーパターンが殆どであり、それ以外のデータパターンを使用する必要性は実際上殆どない。このために本発明の半導体記憶装置においては、入力データに対して2個のフリップフロップを設け、この2ビットのパターンを繰り返すことで任意のマーチパターン或いはチェッカーパターンを実現している。これらマーチパターン或いはチェッカーパターンを使用した場合、半導体記憶装置本体31から読み出される出力データの期待値パターンは、入力に用いたマーチパターン或いはチェッカーパターンと同一のパターンである。即ち、出力データの期待値データパターンは、全ビットが“0”或いは全ビットが“1”であるマーチパターン、或いは“0”と“1”とを交互に繰り返したチェッカーパターンである。
【0037】
第3の実施例による図5の半導体記憶装置30Bにおいては、出力データ期待値格納用に設けられる2個のフリップフロップ52−0及び52−1に対して、スキャンシフト動作により2ビットの期待値データを格納する。そしてこれらのフリップフロップ52−0及び52−1の2ビットのパターンを繰り返すことで、出力ビット数に等しい期待値ビットパターンを作成する。なお2ビットの期待値データは、2個のスキャン入力用のフリップフロップ33−0及び33−1に格納されるデータと同一であってよい。
【0038】
具体的には、これら2個のフリップフロップ52−0及び52−1のデータは、比較回路51に供給される。比較回路51は、フリップフロップ52−0及び52−1の2ビットのデータを繰り返したパターンと、半導体記憶装置本体31から読み出される出力データ信号A[0]乃至A[b−1]のビットパターンとを比較して、両ビットパターンが一致するか否かを判断する。両者が一致する場合には、例えば“0”がフリップフロップ53のD入力に書き込まれ、出力端子TSOから半導体記憶装置外部に出力される。また両ビットパターンが不一致の場合には、例えば“1” がフリップフロップ53のD入力に書き込まれ、出力端子TSOから半導体記憶装置外部に出力される。
【0039】
このように本発明の第3の実施例による半導体記憶装置30Bにおいては、2個のフリップフロップ52−0及び52−1を設け2ビットの期待値データを格納し、比較回路51によって、2ビットの期待値データを繰り返して出力ビット数に等しい期待値ビットパターンを作成し、これと実際の出力データとを比較することで期待値どおりか否かの判定を行う。従って、従来の構成のように、最低でも出力ビット数に等しい数のスキャンシフト動作を実行する必要が無くなり、大幅にスキャンシフトの回数を削減することが可能になる。
【0040】
即ち、スキャンシフト動作の回数は、基本的にアドレス本数+書き込みデータ数+期待値格納ビット数であるので、例えば1024ワードで72ビットのSRAMを例にとると、1回の書き込みに要するスキャンシフトの回数は、10(=log21024)+2ビット+2ビットで14回となる。またスキャン読み出し動作に関しては1ビットの判定結果を読み出すだけであるので、読み出し及び書き込み動作を同時に行う場合に、14回のスキャンシフトを実行するだけでよい。
【0041】
また当然であるが、図5の構成は、図4のパーシャルライト機能付きの半導体記憶装置に適用することも可能である。この場合、スキャンシフト動作の回数は、基本的にアドレス本数+書き込みデータ数+パーシャルライトイネーブル書き込み数+期待値格納ビット数であるので、例えば1024ワードで72ビットのSRAMを例にとると、1回の書き込みに要するスキャンシフトの回数は、10(=log21024)+2ビット+2ビット+2ビットで16回となり、読み出し及び書き込み動作を同時に行う場合であっても、16回のスキャンシフトを実行するだけでよい。
【0042】
図6は、図5の比較回路51の構成を半導体記憶装置のデータ出力に関する部分と共に示す回路図である。
【0043】
比較回路51は、AND回路61乃至64、OR回路65乃至68、XOR回路69乃至76、及びOR回路77乃至83を含む。期待値の偶数ビットを格納するフリップフロップ52−0のQ出力は、XOR回路71及び72並びに75及び76に入力される。期待値の奇数ビットを格納するフリップフロップ52−1のQ出力は、XOR回路69及び70並びに73及び74に入力される。
【0044】
例えば、AND回路64は、出力データA[0]とA[2]のANDをとるので、両者が“1”のときのみ出力がHIGHになる。またOR回路68は、出力データA[0]とA[2]のORをとるので、少なくともいずれか一方が“1”のときに出力がHIGHになる。
【0045】
フリップフロップ52−0に格納される期待値偶数ビットが“0”であるか“1”であるかに関わらず、期待値どおりの出力データの場合に、AND回路64の出力と期待値偶数ビットとのXORをとるXOR回路75の出力はLOWとなり、更にOR回路68の出力と期待値偶数ビットとのXORをとるXOR回路76の出力もLOWとなる。従って、OR回路80の出力はLOWとなる。またフリップフロップ52−0に格納される期待値偶数ビットが“0”であるか“1”であるかに関わらず、出力データA[0]とA[2]とが同一であるが期待値とは異なる場合には、AND回路64の出力と期待値偶数ビットとのXORをとるXOR回路75の出力はHIGHとなり、更にOR回路68の出力と期待値偶数ビットとのXORをとるXOR回路76の出力もHIGHとなる。従って、OR回路80の出力はHIGHとなる。
【0046】
出力データA[0]とA[2]とが互いに異なる場合には、マーチパターンでもチェッカーパターンでもないことになり、出力が誤っていることになる。この場合、AND回路64の出力がLOWとなり、OR回路68の出力はHIGHとなる。従って、期待値偶数ビットの値に関わらず、XOR回路75及び76の何れか一方がHIGHとなり他方がLOWとなる。従って、OR回路80の出力はHIGHとなる。
【0047】
即ち、出力データA[0]とA[2]とが期待値どおりの場合にOR回路80の出力はLOWであり、期待値と異なる場合にOR回路80の出力はHIGHになる。同様の論理が各出力ビットに対して求められ、OR回路81乃至83で統合される。結果として、OR回路83の出力は、全ての出力データが期待値どおりの場合にLOWとなり、期待値と異なる場合にHIGHとなる。
【0048】
このようにして、図6に示される比較回路51によって、出力データが期待値どおりであるか否かを判断して、判断結果を1ビットのデータとして出力することができる。
【0049】
図7は、本発明による半導体記憶装置における書き込み動作のタイミングを示す図である。
【0050】
図7(a)は選択信号MST、(b)はスキャンモード信号SM、(c)は書き込みイネーブル信号TWE、(d)はスキャン入力データTSI、(e)はクロック信号CK、(f)はアドレス信号A[n]、(g)は出力データ信号TSOである。
【0051】
まずスキャンモード信号SMをHIGHにして、動作モードをスキャンモードに設定する。その後、スキャン入力データTSIをクロック信号CKに同期してシリアルに入力する。ここでスキャン入力データTSIは、少なくとも書き込みアドレスと書き込みデータを含むシリアルデータである。全てのスキャン入力データTSIの取り込みが終了すると、選択信号MSTをHIGHにすると共に書き込みイネーブル信号TWEをイネーブル(LOW)にし、各フリップフロップのQ出力(書き込みアドレス及び書き込みデータ)を、クロック信号CKに同期させて半導体記憶装置本体に供給する。この時、図3を参照して前述したように、スキャンモード信号SMはHIGHのままであり、フリップフロップのスキャンシフト動作は実行されない。このようにスキャンシフト動作なしで半導体記憶装置本体にデータを書き込むことを、ノンスキャンシフトライト動作と呼ぶ。
【0052】
これによって半導体記憶装置本体に対するデータ書き込み動作が終了する。
【0053】
図8は、本発明による半導体記憶装置における読み出し動作のタイミングを示す図である。
【0054】
図8(a)は選択信号MST、(b)はスキャンモード信号SM、(c)は書き込みイネーブル信号TWE、(d)はスキャン入力データTSI、(e)はクロック信号CK、(f)はアドレス信号A[n]、(g)は出力データ信号TSOである。
【0055】
まずスキャンモード信号SMをHIGHにして、動作モードをスキャンモードに設定する。その後、スキャン入力データTSIをクロック信号CKに同期してシリアルに入力する。ここでスキャン入力データTSIは、少なくとも読み出しアドレスを含むシリアルデータである。全てのスキャン入力データTSIの取り込みが終了すると、書き込みイネーブル信号TWEをディスエーブル(HIGH)のままで選択信号MSTをHIGHにし、各フリップフロップのQ出力(読み出しアドレス)を、クロック信号CKに同期させて半導体記憶装置本体に供給する。この時、スキャンモード信号SMはHIGHのままであり、フリップフロップのスキャンシフト動作は実行されない。
【0056】
これによって半導体記憶装置本体に対するデータ読み出し動作が実行される。
このようにスキャンシフト動作なしで半導体記憶装置本体からデータを読み出すことを、ノンスキャンシフトリード動作と呼ぶ。
【0057】
更に、選択信号MSTがHIGHのままスキャンモード信号SMをLOWにして、クロック信号CKのクロックパルスを入力する。これによって、半導体記憶装置本体から出力されるデータが、例えば図3の構成では、フリップフロップ34−0乃至34−b−1にD入力から格納される。また例えば図5の構成では、読み出しデータが期待値どおりであるか否かを示す1ビットのデータが、フリップフロップ53にD入力から格納される。
【0058】
これによって半導体記憶装置本体からのデータ読み出し動作が終了する。
【0059】
図9は、本発明による半導体記憶装置における読み出し及び書き込み動作のタイミングを示す図である。
【0060】
図9(a)は選択信号MST、(b)はスキャンモード信号SM、(c)は書き込みイネーブル信号TWE、(d)はスキャン入力データTSI、(e)はクロック信号CK、(f)はアドレス信号A[n]、(g)は出力データ信号TSOである。
【0061】
まずスキャンモード信号SMをHIGHにして、動作モードをスキャンモードに設定する。その後、スキャン入力データTSIをクロック信号CKに同期してシリアルに入力する。ここでスキャン入力データTSIは、少なくとも読み出し動作の対象であると同時に書き込みの動作の対象であるアドレスと、書き込みデータとを含むシリアルデータである。全てのスキャン入力データTSIの取り込みが終了すると、書き込みイネーブル信号TWEをディスエーブル(HIGH)のままで選択信号MSTをHIGHにし、各フリップフロップのQ出力(読み出しアドレス)を、クロック信号CKに同期させて半導体記憶装置本体に供給する。この時、スキャンモード信号SMはHIGHのままであり、フリップフロップのスキャンシフト動作は実行されない。
【0062】
これによって半導体記憶装置本体に対するデータ読み出し動作が実行される。
【0063】
その後書き込みイネーブル信号TWEをイネーブル(LOW)にし、各フリップフロップのQ出力(書き込みアドレス及び書き込みデータ)を、クロック信号CKに同期させて半導体記憶装置本体に供給する。この時、フリップフロップのスキャンシフト動作は実行されない。
【0064】
更に、選択信号MSTがHIGHのままスキャンモード信号SMをLOWにして、クロック信号CKのクロックパルスを入力する。これによって、半導体記憶装置本体から出力されているデータが、例えば図3の構成では、フリップフロップ34−0乃至34−b−1にD入力から格納される。また例えば図5の構成では、読み出しデータが期待値どおりであるか否かを示す1ビットのデータが、フリップフロップ53にD入力から格納される。
【0065】
これによって、半導体記憶装置本体の指定したアドレスからデータを読み出す動作と共に、この指定したアドレスに新規のデータを書き込む動作が終了する。
【0066】
図10は、マーチパターンにより本発明の半導体記憶装置を試験する処理を示すフローチャートである。
【0067】
ステップS1で、入力するアドレスを0番地に設定する。ステップS2で、スキャンシフト動作によりスキャンデータを入力する。ステップS3で、ノンスキャンシフトライト動作を実行して、“0”の列からなるスキャンデータを書き込む。ステップS4で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを1増加してステップS2に戻る。最終アドレスの場合には、ステップS5に進む。
【0068】
ステップS5で、入力するアドレスを0番地に設定する。ステップS6で、スキャンシフト動作によりスキャンデータを入力する。ステップS7で、ノンスキャンシフトリード動作を実行して、ステップS3で書き込んだ“0”の列からなるデータを読み出す。ステップS8で、ノンスキャンシフトライト動作を実行して、“1”の列からなるスキャンデータを書き込む。ステップS9で、出力用のフリップフロップにデータを格納する。ステップS10で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを1増加してステップS6に戻る。最終アドレスの場合には、ステップS11に進む。
【0069】
ステップS11で、入力するアドレスを最終番地に設定する。ステップS12で、スキャンシフト動作によりスキャンデータを入力する。ステップS13で、ノンスキャンシフトリード動作を実行して、ステップS8で書き込んだ“1”の列からなるデータを読み出す。ステップS14で、ノンスキャンシフトライト動作を実行して、“0”の列からなるスキャンデータを書き込む。ステップS15で、出力用のフリップフロップにデータを格納する。ステップS16で、入力アドレスが0番地であるか否かを判断する。0番地でない場合は、入力アドレスを1減少してステップS12に戻る。0番地の場合には、ステップS17に進む。
【0070】
ステップS17で、入力するアドレスを0番地に設定する。ステップS18で、スキャンシフト動作によりスキャンデータを入力する。ステップS19で、ノンスキャンシフトライト動作を実行して、“1”の列からなるスキャンデータを書き込む。ステップS20で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを1増加してステップS18に戻る。最終アドレスの場合には、ステップS21に進む。
【0071】
ステップS21で、入力するアドレスを0番地に設定する。ステップS22で、スキャンシフト動作によりスキャンデータを入力する。ステップS23で、ノンスキャンシフトリード動作を実行して、ステップS19で書き込んだ“1”の列からなるデータを読み出す。ステップS24で、ノンスキャンシフトライト動作を実行して、“0”の列からなるスキャンデータを書き込む。ステップS25で、出力用のフリップフロップにデータを格納する。ステップS26で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを1増加してステップS22に戻る。最終アドレスの場合には、ステップS27に進む。
【0072】
ステップS27で、入力するアドレスを最終番地に設定する。ステップS28で、スキャンシフト動作によりスキャンデータを入力する。ステップS29で、ノンスキャンシフトリード動作を実行して、ステップS24で書き込んだ“0”の列からなるデータを読み出す。ステップS30で、ノンスキャンシフトライト動作を実行して、“1”の列からなるスキャンデータを書き込む。ステップS31で、出力用のフリップフロップにデータを格納する。ステップS32で、入力アドレスが0番地であるか否かを判断する。0番地でない場合は、入力アドレスを1減少してステップS28に戻る。0番地の場合には、ステップS33に進む。最後に、ステップS33で、スキャンシフトを実行して出力用のフリップフロップからデータをシリアルに出力する。
【0073】
上記のように、マーチパターンを使用する場合には通常、“0”の列を書き込んで、“0”の列を読み出すと共に“1”の列を書き込んで、“1”の列を読み出すと共に“0”の列を書き込んで、更に“1”の列を書き込んで、“1”の列を読み出すと共に“0”の列を書き込んで、“0”の列を読み出すと共に“1”の列を書き込む。この動作を全てのアドレスに対して実行する。なお前述したように、スキャンシフト動作によって、入力スキャンデータを入力用フリップフロップに設定する動作と、出力データを出力用フリップフロップから読み出す動作とを同時に実行する。
【0074】
上記のようなマーチパターンを用いた試験を実行し、“0”の列を書き込んだ後には書き込んだとおりの“0”の列が読み出され、“1”の列を書き込んだ後には書き込んだとおりの“1”の列が読み出されるか否かをチェックする。これによって半導体記憶装置の記憶機能を試験することができる。なお図5の構成の半導体記憶装置を試験する場合には、読み出しデータのチェックは、1ビットの比較判定結果を読み出すだけで行われる。
【0075】
図11は、チェッカーパターンにより本発明の半導体記憶装置を試験する処理を示すフローチャートである。
【0076】
ステップS1で、入力するアドレスを0番地に設定する。ステップS2で、スキャンシフト動作によりスキャンデータを入力する。ステップS3で、ノンスキャンシフトライト動作を実行して、“0101・・・”の列からなるスキャンデータを書き込む。ステップS4で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを1増加してステップS2に戻る。最終アドレスの場合には、ステップS5に進む。
【0077】
ステップS5で、入力するアドレスを0番地に設定する。ステップS6で、スキャンシフト動作によりスキャンデータを入力する。ステップS7で、ノンスキャンシフトリード動作を実行して、“0101・・・”の列からなるスキャンデータを読み出す。ステップS8で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを1増加してステップS6に戻る。最終アドレスの場合には、ステップS9に進む。
【0078】
ステップS9で、入力するアドレスを0番地に設定する。ステップS10で、スキャンシフト動作によりスキャンデータを入力する。ステップS11で、ノンスキャンシフトライト動作を実行して、“1010・・・”の列からなるスキャンデータを書き込む。ステップS12で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを1増加してステップS10に戻る。最終アドレスの場合には、ステップS13に進む。
【0079】
ステップS13で、入力するアドレスを0番地に設定する。ステップS14で、スキャンシフト動作によりスキャンデータを入力する。ステップS15で、ノンスキャンシフトリード動作を実行して、“1010・・・”の列からなるスキャンデータを読み出す。ステップS16で、入力アドレスが最終アドレスであるか否かを判断する。最終アドレスでない場合は、入力アドレスを1増加してステップS14に戻る。最終アドレスの場合には、ステップS17に進む。最後に、ステップS17で、スキャンシフトを実行して出力用のフリップフロップからデータをシリアルに出力する。
【0080】
上記のようなチェッカーパターンを用いた試験を実行し、“0101・・・”の列を書き込んだ後には書き込んだとおりの“0101・・・”の列が読み出され、“1010・・・”の列を書き込んだ後には書き込んだとおりの“1010・・・”の列が読み出されるか否かをチェックする。これによって半導体記憶装置の記憶機能を試験することができる。なお図5の構成の半導体記憶装置を試験する場合には、読み出しデータのチェックは、1ビットの比較判定結果を読み出すだけで行われる。
【0081】
上記実施例は、説明を目的として本発明の構成の一例を示したものであり、本発明は上記実施例の構成に限定されない。
【0082】
例えば、上記実施例では、複数の入力データ信号I[0]、I[1]、I[2]、・・・に対して2個のスキャン入力用フリップフロップを設けて、この2ビットを繰り返すことでマーチパターン或いはチェッカ−パターンを形成する構成とした。マーチパターン或いはチェッカ−パターンとは異なるパターンを設定する必要がある場合には、2個以上のスキャン入力用フリップフロップを設けて、これらのフリップフロップのビットパターンを繰り返すことで、所望のパターンを構成することが可能である。例えば、“11001100・・・”のパターンを設定する必要があると予め要望がある場合には、4個のスキャン入力用フリップフロップを設けて、“1100”のデータを設定して、これを繰り返す構成とすればよい。この場合であっても、任意のマーチパターン及びチェッカ−パターンを構成可能なことは明らかである。またこの際、図5の構成のように期待値格納用フリップフロップを設ける場合には、4個のフリップフロップを設けることになる。
【0083】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【発明の効果】
本発明においては、2個のスキャンフリップフロップを設け、このスキャンフリップフロップのデータを繰り返すことでデータ本数分のビット数のデータを構成するので、データ本数と同一の個数のスキャンフリップフロップを設けてスキャンシフト動作を実行する必要が無く、データ本数以下のスキャンシフト動作で入力データを設定することができる。これによって、スキャンフリップフロップに対するデータ設定に関して、必要となるスキャンシフトの回数を削減することが可能となる。
【図面の簡単な説明】
【図1】スキャン方式による従来の半導体記憶装置の構成を示す図である。
【図2】スキャン方式による従来のパーシャルライト機能付き半導体記憶装置の構成を示す図である。
【図3】本発明による半導体記憶装置の第1の実施例を示す構成図である。
【図4】本発明による半導体記憶装置の第2の実施例を示す構成図である。
【図5】本発明による半導体記憶装置の第3の実施例を示す構成図である。
【図6】図5の比較回路の構成を半導体記憶装置のデータ出力に関する部分と共に示す回路図である。
【図7】本発明による半導体記憶装置における書き込み動作のタイミングを示す図である。
【図8】本発明による半導体記憶装置における読み出し動作のタイミングを示す図である。
【図9】本発明による半導体記憶装置における読み出し及び書き込み動作のタイミングを示す図である。
【図10】マーチパターンにより本発明の半導体記憶装置を試験する処理を示すフローチャートである。
【図11】チェッカーパターンにより本発明の半導体記憶装置を試験する処理を示すフローチャートである。
【符号の説明】
30 半導体記憶装置
31 半導体記憶装置本体
32−0、・・・、32−t−1 アドレス入力用フリップフロップ
33−0、33−1 データ入力用フリップフロップ
34−0、・・・、34−b−1 データ出力用フリップフロップ
35 セレクタ回路
36 XOR回路
37 NXOR回路
38、39 AND回路
40 出力バッファ[0001]
BACKGROUND OF THE INVENTION
The present invention generally relates to semiconductor memory devices, and more particularly to a semiconductor memory device that performs a test by a scan method.
[Prior art]
In a system LSI on which a semiconductor memory device and a controller are mounted, writing of addresses and data to the semiconductor memory device is performed from a controller or the like provided in the same system LSI. Therefore, it is not necessary to input addresses and data directly from the outside of the system LSI to the semiconductor memory device in normal operation, and no external terminals for direct input are provided. However, in order to test the semiconductor memory device, it is necessary to input the address and data to the semiconductor memory device from outside the system LSI and check the output data. In order to realize this, a scanning method is used in which addresses and data are serially input from a single terminal during a test operation.
[0002]
In the scan method, it is not necessary to provide a large number of external terminals for addresses and data as system LSI external terminals, and it is only necessary to provide a single terminal for scan input, so that the number of pins can be reduced.
[0003]
FIG. 1 is a diagram showing a configuration of a conventional semiconductor memory device using a scanning method.
[0004]
The semiconductor memory device of FIG. 1 includes a semiconductor
[0005]
During normal operation, the selection signal MST is LOW (“0”), and each
[0006]
During the test operation, the scan mode signal SM instructing the scan mode is set to HIGH, and setting data is input from the test input terminal TSI in synchronization with the input clock signal CK. At this time, the selection signal MST is set to LOW. Therefore, the output of the
[0007]
When the predetermined data is set in each flip-flop, the
[0008]
Output data signals A [0] to A [b-1] output from the semiconductor
[Problems to be solved by the invention]
In the semiconductor memory device as described above, in order to set data in the test operation, it is necessary to execute the scan shift operation by the number of input flip-flops. That is, the number of scan shift operations is the number of addresses + the number of write data.
[0009]
For example, taking an SRAM of 1024 words and 72 bits as an example, the number of scan shifts required for one writing is 10 (= log 2 1024) 82 times with +72 bits.
[0010]
The number of scan shifts is further increased in a semiconductor memory device provided with a partial write function.
[0011]
FIG. 2 is a diagram showing a configuration of a conventional semiconductor memory device with a partial write function using a scanning method. 2, the same elements as those in FIG. 1 are referred to by the same reference numerals, and the description thereof will be omitted.
[0012]
The
[0013]
In the semiconductor memory device with
[0014]
If the test is performed with a march pattern that is all “0” or all “1”, it is necessary to perform data setting by
[0015]
In view of the above, an object of the present invention is to provide a scan-type semiconductor memory device capable of setting data with a relatively small number of scan shifts.
[Means for Solving the Problems]
A semiconductor memory device according to the present invention includes a semiconductor memory device main body that receives an n-bit address signal and an m-bit data signal larger than 2, n scan flip-flops connected in series to each other, and setting the address signal serially. Two scan flip-flops connected in series with each other to serially set the data signal And the m-bit output data read from the semiconductor memory device main body and the m-bit expected value data configured by repeating the 2-bit expected value data, the output data becomes the expected value. A comparison circuit for determining whether or not the data matches And repeating the data of the two scan flip-flops to form m-bit data and inputting it to the semiconductor memory device body.
[0016]
In the above invention, Two Since m-bit data is formed by repeating the data of the scan flip-flop, there is no need to provide m scan flip-flops and execute m scan shift operations, and the input data can be scanned less than m times. Can be set. This makes it possible to reduce the number of scan shifts required for data setting for the scan flip-flop.
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0017]
FIG. 3 is a block diagram showing a first embodiment of the semiconductor memory device according to the present invention.
[0018]
The
[0019]
During normal operation, the selection signal MST is LOW (“0”), and each
[0020]
During the test operation, the scan mode signal SM instructing the scan mode is set to HIGH, and setting data is input from the test input terminal TSI in synchronization with the input clock signal CK. At this time, the selection signal MST is set to LOW. Therefore, the output of the
[0021]
Here, for the plurality of input data signals I [0], I [1], I [2],..., Two scan input flip-flops 33-0 and 33-1 are provided. ing. The data pattern actually used in the test of the semiconductor memory device is a march pattern in which all bits are “0” or all bits are “1”, or a bit pattern in which “0” and “1” are alternately repeated. There is almost no checker pattern, and there is virtually no need to use other data patterns. Therefore, if two flip-flops 33-0 and 33-1 are provided for data pattern setting, an arbitrary march pattern or checker pattern can be set by repeating the data of the two flip-flops. I can do it.
[0022]
In the
[0023]
Accordingly, if “0” is stored in the flip-flops 33-0 and 33-1, a march pattern in which all bits are “0” can be configured, and “1” is stored in the flip-flops 33-0 and 33-1. Can store a march pattern in which all bits are “1”. Furthermore, if “0” and “1” are stored in the flip-flops 33-0 and 33-1, respectively, a checker pattern of “010101...” Can be configured, and the flip-flops 33-0 and 33- If “1” and “0” are stored in 1 respectively, a checker pattern “101010...” Can be configured.
[0024]
When the predetermined data has been set in each flip-flop, the
[0025]
Output data signals A [0] to A [b-1] output from the semiconductor
[0026]
As described above, in the first embodiment of the semiconductor memory device according to the present invention shown in FIG. 3, by providing only two scan flip-flops for the input data signal, data setting for the scan flip-flops is performed. It becomes possible to reduce the number of scan shifts required. That is, since the number of scan shift operations is the number of addresses + the number of write data, for example, in the case of an SRAM of 1024 words and 72 bits, the number of scan shifts required for one write is 10 (= log 2 1024) 12 times with +2 bits.
[0027]
FIG. 4 is a block diagram showing a second embodiment of the semiconductor memory device according to the present invention.
[0028]
The second embodiment relates to a semiconductor memory device with a partial write function. 4, the same elements as those of FIG. 3 are referred to by the same reference numerals, and a description thereof will be omitted.
[0029]
The
[0030]
Therefore, in the
[0031]
FIG. 5 is a block diagram showing a third embodiment of the semiconductor memory device according to the present invention. In FIG. 5, the same elements as those of FIG. 3 are referred to by the same reference numerals, and a description thereof will be omitted.
[0032]
The third embodiment relates to a configuration in which the number of scan flip-flops for output data is reduced.
[0033]
In the first and second embodiments, the number of flip-flops provided for the input data and the partial write enable input is reduced to two, thereby greatly reducing the number of scan shift operations in the input setting. I can do it. However, in an actual test, after data is written, the data is read to determine whether the semiconductor memory device body operates normally. In order to read data in the scan operation, it is necessary to repeat the scan shift by the number of bits of the data output. For example, in the case of 72-bit output, 72 scan shifts are required.
[0034]
The scan read operation from the output flip-flop is executed simultaneously with the scan write operation to the input flip-flop, thereby performing efficient data reading and writing. Therefore, for example, the number of scan shifts required for writing in the
[0035]
The
[0036]
As described above, the data pattern actually used in the test of the semiconductor memory device is a march pattern in which all bits are “0” or all bits are “1”, or “0” and “1” are alternately repeated. Most of the checker patterns are bit patterns, and there is virtually no need to use other data patterns. Therefore, in the semiconductor memory device of the present invention, two flip-flops are provided for the input data, and an arbitrary march pattern or checker pattern is realized by repeating this 2-bit pattern. When these march patterns or checker patterns are used, the expected value pattern of output data read from the semiconductor
[0037]
In the
[0038]
Specifically, the data of these two flip-flops 52-0 and 52-1 is supplied to the
[0039]
As described above, in the
[0040]
That is, since the number of scan shift operations is basically the number of addresses + the number of write data + the number of expected value storage bits, for example, a 1024-word 72-bit SRAM is taken as an example, the scan shift required for one write operation Is 10 (= log 2 1024) +2 bits + 2 bits, 14 times. Further, since only the 1-bit determination result is read for the scan read operation, only 14 scan shifts need be executed when the read and write operations are performed simultaneously.
[0041]
Needless to say, the configuration of FIG. 5 can also be applied to the semiconductor memory device with a partial write function of FIG. In this case, since the number of scan shift operations is basically the number of addresses + the number of write data + the number of partial write enable writes + the number of expected value storage bits, for example, a 1024 word 72-bit SRAM is taken as an example. The number of scan shifts required for one writing is 10 (= log 2 1024) +2 bits + 2 bits + 2 bits is 16 times, and even when reading and writing operations are performed simultaneously, it is only necessary to perform 16 scan shifts.
[0042]
FIG. 6 is a circuit diagram showing the configuration of
[0043]
The
[0044]
For example, the AND
[0045]
Regardless of whether the expected value even bit stored in the flip-flop 52-0 is "0" or "1", the output of the AND
[0046]
If the output data A [0] and A [2] are different from each other, it is neither a march pattern nor a checker pattern, and the output is incorrect. In this case, the output of the AND
[0047]
That is, when the output data A [0] and A [2] are as expected values, the output of the
[0048]
In this manner, the
[0049]
FIG. 7 is a diagram showing the timing of the write operation in the semiconductor memory device according to the present invention.
[0050]
7A shows the selection signal MST, FIG. 7B shows the scan mode signal SM, FIG. 7C shows the write enable signal TWE, FIG. 7D shows the scan input data TSI, FIG. 7E shows the clock signal CK, and FIG. Signals A [n] and (g) are the output data signal TSO.
[0051]
First, the scan mode signal SM is set to HIGH, and the operation mode is set to the scan mode. Thereafter, the scan input data TSI is serially input in synchronization with the clock signal CK. Here, the scan input data TSI is serial data including at least a write address and write data. When the capture of all the scan input data TSI is completed, the selection signal MST is set to HIGH, the write enable signal TWE is enabled (LOW), and the Q output (write address and write data) of each flip-flop is set to the clock signal CK. Synchronized and supplied to the semiconductor memory device body. At this time, as described above with reference to FIG. 3, the scan mode signal SM remains HIGH, and the scan shift operation of the flip-flop is not executed. Writing data to the semiconductor memory device body without a scan shift operation in this way is called a non-scan shift write operation.
[0052]
As a result, the data write operation to the semiconductor memory device body is completed.
[0053]
FIG. 8 is a diagram showing the timing of the read operation in the semiconductor memory device according to the present invention.
[0054]
8A shows the selection signal MST, FIG. 8B shows the scan mode signal SM, FIG. 8C shows the write enable signal TWE, FIG. 8D shows the scan input data TSI, FIG. 8E shows the clock signal CK, and FIG. Signals A [n] and (g) are the output data signal TSO.
[0055]
First, the scan mode signal SM is set to HIGH, and the operation mode is set to the scan mode. Thereafter, the scan input data TSI is serially input in synchronization with the clock signal CK. Here, the scan input data TSI is serial data including at least a read address. When the capture of all the scan input data TSI is completed, the write enable signal TWE remains disabled (HIGH), the selection signal MST is set HIGH, and the Q output (read address) of each flip-flop is synchronized with the clock signal CK. Supplied to the semiconductor memory device body. At this time, the scan mode signal SM remains HIGH, and the scan shift operation of the flip-flop is not executed.
[0056]
As a result, a data read operation for the semiconductor memory device body is executed.
Reading data from the semiconductor memory device body without a scan shift operation in this way is called a non-scan shift read operation.
[0057]
Further, the scan mode signal SM is set to LOW while the selection signal MST remains HIGH, and the clock pulse of the clock signal CK is input. Thereby, the data output from the semiconductor memory device main body is stored from the D input in the flip-flops 34-0 to 34-b-1, for example, in the configuration of FIG. For example, in the configuration of FIG. 5, 1-bit data indicating whether or not the read data is as expected is stored in the flip-
[0058]
As a result, the data read operation from the semiconductor memory device body is completed.
[0059]
FIG. 9 is a diagram showing timings of read and write operations in the semiconductor memory device according to the present invention.
[0060]
9A shows the selection signal MST, FIG. 9B shows the scan mode signal SM, FIG. 9C shows the write enable signal TWE, FIG. 9D shows the scan input data TSI, FIG. 9E shows the clock signal CK, and FIG. Signals A [n] and (g) are the output data signal TSO.
[0061]
First, the scan mode signal SM is set to HIGH, and the operation mode is set to the scan mode. Thereafter, the scan input data TSI is serially input in synchronization with the clock signal CK. Here, the scan input data TSI is serial data including at least an address that is a target of a read operation and at the same time a target of a write operation, and write data. When the capture of all the scan input data TSI is completed, the selection signal MST is set to HIGH while the write enable signal TWE is disabled (HIGH), and the Q output (read address) of each flip-flop is synchronized with the clock signal CK. Supplied to the semiconductor memory device body. At this time, the scan mode signal SM remains HIGH, and the scan shift operation of the flip-flop is not executed.
[0062]
As a result, a data read operation for the semiconductor memory device body is executed.
[0063]
Thereafter, the write enable signal TWE is enabled (LOW), and the Q outputs (write address and write data) of each flip-flop are supplied to the semiconductor memory device body in synchronization with the clock signal CK. At this time, the scan shift operation of the flip-flop is not executed.
[0064]
Further, the scan mode signal SM is set to LOW while the selection signal MST remains HIGH, and the clock pulse of the clock signal CK is input. Thereby, the data output from the semiconductor memory device main body is stored from the D input in the flip-flops 34-0 to 34-b-1, for example, in the configuration of FIG. For example, in the configuration of FIG. 5, 1-bit data indicating whether or not the read data is as expected is stored in the flip-
[0065]
Thus, the operation of reading data from the designated address of the semiconductor memory device body and the operation of writing new data to the designated address are completed.
[0066]
FIG. 10 is a flowchart showing a process for testing the semiconductor memory device of the present invention using a march pattern.
[0067]
In step S1, the input address is set to address 0. In step S2, scan data is input by a scan shift operation. In step S3, a non-scan shift write operation is executed to write scan data consisting of a column “0”. In step S4, it is determined whether or not the input address is the final address. If it is not the final address, the input address is incremented by 1, and the process returns to step S2. If it is the last address, the process proceeds to step S5.
[0068]
In step S5, the input address is set to address 0. In step S6, scan data is input by a scan shift operation. In step S7, a non-scan shift read operation is executed to read data consisting of the column “0” written in step S3. In step S8, a non-scan shift write operation is executed to write scan data consisting of the column “1”. In step S9, data is stored in an output flip-flop. In step S10, it is determined whether or not the input address is the final address. If it is not the final address, the input address is incremented by 1, and the process returns to step S6. If it is the last address, the process proceeds to step S11.
[0069]
In step S11, the input address is set as the final address. In step S12, scan data is input by a scan shift operation. In step S13, a non-scan shift read operation is executed to read data consisting of the column “1” written in step S8. In step S14, a non-scan shift write operation is executed to write scan data consisting of a column “0”. In step S15, the data is stored in the output flip-flop. In step S16, it is determined whether or not the input address is
[0070]
In step S17, the input address is set to address 0. In step S18, scan data is input by a scan shift operation. In step S19, a non-scan shift write operation is executed to write scan data consisting of the column “1”. In step S20, it is determined whether or not the input address is the final address. If it is not the final address, the input address is incremented by 1, and the process returns to step S18. If it is the last address, the process proceeds to step S21.
[0071]
In step S21, the input address is set to address 0. In step S22, scan data is input by a scan shift operation. In step S23, a non-scan shift read operation is executed to read data consisting of the column “1” written in step S19. In step S24, a non-scan shift write operation is executed to write scan data consisting of a column “0”. In step S25, data is stored in the output flip-flop. In step S26, it is determined whether or not the input address is the final address. If it is not the final address, the input address is incremented by 1 and the process returns to step S22. If it is the last address, the process proceeds to step S27.
[0072]
In step S27, the input address is set as the final address. In step S28, scan data is input by a scan shift operation. In step S29, a non-scan shift read operation is executed to read data consisting of the column “0” written in step S24. In step S30, a non-scan shift write operation is executed to write scan data consisting of the column “1”. In step S31, data is stored in an output flip-flop. In step S32, it is determined whether or not the input address is
[0073]
As described above, when a march pattern is used, the column “0” is usually written, the column “0” is read, the column “1” is written, the column “1” is read, and “ Write column “0”, write column “1”, read column “1”, write column “0”, read column “0” and write column “1” . This operation is executed for all addresses. As described above, the scan shift operation simultaneously performs the operation of setting the input scan data in the input flip-flop and the operation of reading the output data from the output flip-flop.
[0074]
After executing the test using the march pattern as described above, after writing the column of “0”, the column of “0” is read as written, and after writing the column of “1” It is checked whether or not the same “1” column is read out. Thus, the memory function of the semiconductor memory device can be tested. When testing the semiconductor memory device having the configuration shown in FIG. 5, the read data is checked only by reading the 1-bit comparison / determination result.
[0075]
FIG. 11 is a flowchart showing a process for testing the semiconductor memory device of the present invention using a checker pattern.
[0076]
In step S1, the input address is set to address 0. In step S2, scan data is input by a scan shift operation. In step S3, a non-scan shift write operation is executed to write scan data consisting of the column “0101. In step S4, it is determined whether or not the input address is the final address. If it is not the final address, the input address is incremented by 1, and the process returns to step S2. If it is the last address, the process proceeds to step S5.
[0077]
In step S5, the input address is set to address 0. In step S6, scan data is input by a scan shift operation. In step S7, a non-scan shift read operation is executed to read scan data consisting of the column “0101. In step S8, it is determined whether or not the input address is the final address. If it is not the final address, the input address is incremented by 1, and the process returns to step S6. If it is the final address, the process proceeds to step S9.
[0078]
In step S9, the input address is set to address 0. In step S10, scan data is input by a scan shift operation. In step S11, a non-scan shift write operation is executed to write scan data consisting of the column “1010...”. In step S12, it is determined whether or not the input address is the final address. If it is not the final address, the input address is incremented by 1, and the process returns to step S10. If it is the last address, the process proceeds to step S13.
[0079]
In step S13, the input address is set to address 0. In step S14, scan data is input by a scan shift operation. In step S15, a non-scan shift read operation is executed to read scan data consisting of the column “1010...”. In step S16, it is determined whether or not the input address is the final address. If it is not the final address, the input address is incremented by 1, and the process returns to step S14. If it is the last address, the process proceeds to step S17. Finally, in step S17, scan shift is executed to output data serially from the output flip-flop.
[0080]
After performing the test using the checker pattern as described above and writing the column “0101...”, The column “0101. After writing this column, it is checked whether or not the column “1010...” As written is read out. Thus, the memory function of the semiconductor memory device can be tested. When testing the semiconductor memory device having the configuration shown in FIG. 5, the read data is checked only by reading the 1-bit comparison / determination result.
[0081]
The above embodiment shows an example of the configuration of the present invention for the purpose of explanation, and the present invention is not limited to the configuration of the above embodiment.
[0082]
For example, in the above embodiment, two scan input flip-flops are provided for a plurality of input data signals I [0], I [1], I [2],. In this way, a march pattern or a checker pattern is formed. When it is necessary to set a pattern different from the march pattern or checker pattern, two or more scan input flip-flops are provided, and a desired pattern is configured by repeating the bit pattern of these flip-flops. Is possible. For example, if there is a request in advance that it is necessary to set the pattern “11001100...”, Four scan input flip-flops are provided, the data “1100” is set, and this is repeated. What is necessary is just composition. Even in this case, it is obvious that an arbitrary march pattern and checker pattern can be formed. At this time, when an expected value storing flip-flop is provided as in the configuration of FIG. 5, four flip-flops are provided.
[0083]
As mentioned above, although this invention was demonstrated based on the Example, this invention is not limited to the said Example, A various deformation | transformation is possible within the range as described in a claim.
【The invention's effect】
In the present invention, Two Since the scan flip-flop is provided and the data of the number of bits is configured by repeating the data of the scan flip-flop, it is necessary to provide the same number of scan flip-flops as the number of data and execute the scan shift operation. The input data can be set by a scan shift operation with less than the number of data. This makes it possible to reduce the number of scan shifts required for data setting for the scan flip-flop.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a conventional semiconductor memory device using a scanning method.
FIG. 2 is a diagram showing a configuration of a conventional semiconductor memory device with a partial write function by a scan method.
FIG. 3 is a configuration diagram showing a first embodiment of a semiconductor memory device according to the present invention;
FIG. 4 is a block diagram showing a second embodiment of the semiconductor memory device according to the present invention.
FIG. 5 is a block diagram showing a third embodiment of the semiconductor memory device according to the present invention.
6 is a circuit diagram showing a configuration of the comparison circuit of FIG. 5 together with a portion related to data output of the semiconductor memory device. FIG.
FIG. 7 is a diagram showing a timing of a write operation in the semiconductor memory device according to the present invention.
FIG. 8 is a diagram showing a timing of a read operation in the semiconductor memory device according to the present invention.
FIG. 9 is a diagram showing timings of read and write operations in the semiconductor memory device according to the present invention.
FIG. 10 is a flowchart showing a process for testing the semiconductor memory device of the present invention using a march pattern.
FIG. 11 is a flowchart showing a process for testing the semiconductor memory device of the present invention using a checker pattern.
[Explanation of symbols]
30 Semiconductor memory device
31 Semiconductor memory device body
32-0,..., 32-t-1 address input flip-flop
33-0, 33-1 Flip-flop for data input
34-0, ..., 34-b-1 Data output flip-flop
35 Selector circuit
36 XOR circuit
37 NXOR circuit
38, 39 AND circuit
40 output buffers
Claims (5)
互いに直列に接続され該アドレス信号をシリアルに設定するn個のスキャンフリップフロップと、
互いに直列に接続され該データ信号をシリアルに設定する2個のスキャンフリップフロップと、
該半導体記憶装置本体から読み出されるmビットの出力データと、2ビットの期待値データを繰り返すことで構成されるmビットの期待値データとを比較することで、該出力データが該期待値データに一致するか否かを判定する比較回路と
を含み、該2個のスキャンフリップフロップのデータを繰り返すことでmビットのデータを構成して該半導体記憶装置本体に入力することを特徴とする半導体記憶装置。a semiconductor memory device body for receiving an n-bit address signal and an m-bit data signal larger than 2;
N scan flip-flops connected in series with each other to serially set the address signal;
Two scan flip-flops connected in series with each other to set the data signal serially ;
By comparing the m-bit output data read from the semiconductor memory device body with the m-bit expected value data configured by repeating the 2-bit expected value data, the output data is converted into the expected value data. A comparison circuit for determining whether or not they match , and repeating the data of the two scan flip-flops to form m-bit data and inputting it to the semiconductor memory device body A semiconductor memory device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001081420A JP4659244B2 (en) | 2001-03-21 | 2001-03-21 | Semiconductor memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001081420A JP4659244B2 (en) | 2001-03-21 | 2001-03-21 | Semiconductor memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002279799A JP2002279799A (en) | 2002-09-27 |
JP4659244B2 true JP4659244B2 (en) | 2011-03-30 |
Family
ID=18937529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001081420A Expired - Fee Related JP4659244B2 (en) | 2001-03-21 | 2001-03-21 | Semiconductor memory device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4659244B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006236551A (en) * | 2005-01-28 | 2006-09-07 | Renesas Technology Corp | Semiconductor integrated circuit having test function and manufacturing method |
JP2006337325A (en) * | 2005-06-06 | 2006-12-14 | Renesas Technology Corp | Test circuit |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06267294A (en) * | 1993-03-12 | 1994-09-22 | Hitachi Ltd | Semiconductor memory device |
JP3325727B2 (en) * | 1994-05-26 | 2002-09-17 | 三菱電機株式会社 | Semiconductor memory inspection equipment |
JP3913413B2 (en) * | 1999-08-25 | 2007-05-09 | 富士通株式会社 | Semiconductor device |
-
2001
- 2001-03-21 JP JP2001081420A patent/JP4659244B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002279799A (en) | 2002-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8201032B2 (en) | Generalized BIST for multiport memories | |
KR20030093104A (en) | Semiconductor integrated circuit and testing method thereof | |
KR100557517B1 (en) | Method for testing semiconductor memory device and test circuit for semiconductor memory device | |
JP4659244B2 (en) | Semiconductor memory device | |
US6571364B1 (en) | Semiconductor integrated circuit device with fault analysis function | |
US6647522B1 (en) | Semiconductor devices having multiple memories | |
JP2000331499A (en) | Memory test circuit and semiconductor integrated circuit | |
JP6143646B2 (en) | Semiconductor device | |
JP2003346498A (en) | BIST circuit | |
JP4622443B2 (en) | Semiconductor integrated circuit | |
JP3791757B2 (en) | Semiconductor integrated circuit with diagnostic function | |
JPH0512900A (en) | Semiconductor storage containing test function and its test method | |
JPH1021150A (en) | Memory test circuit | |
JPH1092194A (en) | Memory test circuit | |
JPH0442072A (en) | Setting method for clock delay time for testing ic | |
JP2005004822A (en) | Semiconductor integrated circuit with self-test function | |
JP3099774B2 (en) | Semiconductor integrated circuit | |
JPH045583A (en) | Data log circuit | |
JP4894376B2 (en) | Semiconductor integrated circuit device | |
JP3190781B2 (en) | Semiconductor memory | |
JPH06302199A (en) | Memory test circuit device | |
JPH09281192A (en) | Self-diagnosis circuit of logic integrated circuit | |
JPH06295597A (en) | Memory test circuit device | |
JPH02306500A (en) | Test circuit for semiconductor memory | |
JP2006079678A (en) | Memory test circuit and memory test method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070322 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080728 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100405 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100827 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101207 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101227 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |