(57)【特許請求の範囲】
【請求項１】
ＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）が、シリアルに接続自在とされ、スキャンシフト動作により０／１の任意値にそれぞれ設定される複数のスキャンフリップフロップを備え、
第１のスキャンフリップフロップの設定値に基づき、データ信号を生成し、第２のスキャンフリップフロップの設定値に基づき、アドレス信号を生成する、データ・アドレス生成回路部と、
データの書き込み及び読み出し可能なメモリの書き込み／読み出しを制御する信号を生成して前記メモリに与える書き込み／読み出し信号生成回路部と、
入力された制御信号に基づき、前記データ・アドレス信号生成回路部と、前記書き込み／読み出し信号生成回路部を制御し、前記メモリへ与えるデータ信号、アドレス信号として、前記データ・アドレス信号生成回路部からのデータ信号及び／又はアドレスを選択するテスト信号制御回路部と、
を備えている、ことを特徴とする半導体装置。
【請求項２】
前記メモリへ与えるデータ信号として、前記データ・アドレス信号生成回路部からのデータ信号とユーザ定義回路経由のデータのいずれかを選択するデータ信号切り替え回路と、
前記メモリへ与えるアドレス信号として、前記データ・アドレス信号生成回路部からのアドレス信号と別のユーザ定義回路経由のアドレス信号を選択するアドレス信号切り替え回路と、
を備え、
前記テスト信号制御回路部は、前記入力された制御信号に基づき、前記データ信号切り替え回路の切り替えを制御する信号と、前記アドレス信号切り替え回路の切り替えを制御する信号とをそれぞれ生成出力する、ことを特徴とする請求項１記載の半導体装置。
【請求項３】
前記メモリからの読み出しデータを保持する第３のスキャンフリップフロップを備え、前記第３のスキャンフリップフロップに取り込まれた読み出しデータは、スキャンシフト動作により、スキャン出力端子から外部に出力される、ことを特徴とする請求項１又は２記載の半導体装置。
【請求項４】
前記データ・アドレス信号生成回路部が、
前記ＢＩＳＴ内部からのデータ信号と、前記第１のスキャンフリップフロップの出力信号を帰還させた信号とを入力し、前記テスト信号制御回路部からの選択制御信号に基づき、一方を選択出力する第１のセレクタ回路を備え、
前記第１のセレクタ回路の出力信号は、前記第１のスキャンフリップフロップの入力端子に供給され、
前記テスト信号制御回路部からの制御信号に基づき、前記第１のスキャンフリップフロップの出力信号、又は、前記第１のスキャンフリップフロップの出力信号を反転した信号の一方が、前記帰還信号として、前記第１のセレクタ回路に入力される、ことを特徴とする請求項１乃至３のいずれか１項記載の半導体装置。
【請求項５】
前記データ・アドレス信号生成回路部が、
前記ＢＩＳＴ内部からのアドレス信号と、前記第２のスキャンフリップフロップの出力信号を帰還させた信号とを入力し、前記テスト信号制御回路部からの選択制御信号に基づき、一方を選択出力する第２のセレクタ回路を備え、
前記第２のセレクタ回路の出力信号は、前記第２のスキャンフリップフロップの入力端子に供給され、
前記テスト信号制御回路部からの制御信号に基づき、前記第２のスキャンフリップフロップの出力信号、又は、前記第２のスキャンフリップフロップの出力信号を反転回路で反転した信号の一方が、前記帰還信号として、前記第２のセレクタ回路に入力される、ことを特徴とする請求項１乃至４のいずれか１項記載の半導体装置。
【請求項６】
前記データ・アドレス信号生成回路部の前記第１のセレクタ回路は、前記ＢＩＳＴ内部からのデータ信号として、第４のスキャンフリップフロップからの出力を入力する、ことを特徴とする請求項４記載の半導体装置。
【請求項７】
前記データ・アドレス信号生成回路部の前記第２のセレクタ回路は、前記ＢＩＳＴ内部からのアドレス信号として、第５のスキャンフリップフロップからの出力を入力する、ことを特徴とする請求項５記載の半導体装置。
【請求項８】
前記書き込み／読み出し信号生成回路部は、クロック信号に応答して、現在の信号値を反転回路で反転した値を取り込み、保持するフリップフロップと、
前記フリップフロップの出力と、入力された書き込み／読み出し信号の一方を、前記テスト信号制御回路部からの選択制御信号に基づき選択するセレクタ回路と、
を備えている、ことを特徴とする請求項１乃至３のいずれか１項記載の半導体装置。
【請求項９】
前記書き込み／読み出し信号生成回路部が、
縦続形態に接続される複数のフリップフロップよりなるシフトレジスタを備え、
前記シフトレジスタの出力信号を反転回路で反転した値が、前記シフトレジスタの入力に入力され、
前記シフトレジスタの出力信号と、入力された書き込み／読み出し信号の一方を、前記テスト信号制御回路部からの選択制御信号に基づき選択するセレクタ回路を備えている、ことを特徴とする請求項１乃至３のいずれか１項記載の半導体装置。
【請求項１０】
前記書き込み／読み出し信号生成回路部において、前記フリップフロップがスキャンフリップフロップよりなる、ことを特徴とする請求項８又は９記載の半導体装置。
【請求項１１】
ＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）内のスキャンフリップフロップに設定された値に基づき、データとアドレス信号をそれぞれ生成し、
データの書き込み及び読み出し可能なメモリの書き込み／読み出しを制御する信号を、書き込みモードに設定して前記メモリに与え、
前記スキャンフリップフロップに設定された値に基づき生成された、データとアドレス信号を前記メモリに供給し、
前記メモリの書き込み／読み出しを制御する信号を、読み出しモードに設定して前記メモリからの読み出しデータを、スキャンフリップフロップに取り込み、
スキャンシフト動作により前記スキャンフリップフロップに取り込まれた読み出しデータをスキャンアウト端子に出力し期待値と比較する半導体装置のテスト方法であって、
前記スキャンフリップフロップに設定された値に基づき生成された、データとアドレス信号、又は、ユーザ定義回路を経由したデータとアドレス信号のいずれかを選択して前記メモリに与える工程を含む、ことを特徴とする半導体装置のテスト方法。
【請求項１２】
ＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）内のスキャンフリップフロップに設定された値に基づき、データとアドレス信号をそれぞれ生成し、
データの書き込み及び読み出し可能なメモリの書き込み／読み出しを制御する信号を、書き込みモードに設定して前記メモリに与え、
前記スキャンフリップフロップに設定された値に基づき生成された、データとアドレス信号を前記メモリに供給し、
前記メモリの書き込み／読み出しを制御する信号を、読み出しモードに設定して前記メモリからの読み出しデータを、スキャンフリップフロップに取り込み、
スキャンシフト動作により前記スキャンフリップフロップに取り込まれた読み出しデータをスキャンアウト端子に出力し期待値と比較する半導体装置のテスト方法であって、
前記スキャンフリップフロップに設定された値を反転した値に基づき生成されたデータ信号又はアドレス信号を前記メモリに与える工程を含む、ことを特徴とする半導体装置のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置に関し、特に、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を搭載した装置のテストに好適な構成に関する。
【０００２】
ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）に搭載されたＲＡＭのテストは、一般に、ＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路に作りこまれたアルゴリズムに従ったパターンを用いて行われる。ＢＩＳＴは、デバイス内の被テスト回路（Ｃｉｒｃｕｉｔ  Ｕｎｄｅｒ  Ｔｅｓｔ）に与えるテストパターンを発生するテストパターン生成器と、被テスト回路からの出力パターンを圧縮するテストパターン圧縮器と、圧縮されたテストパターンを期待出力パターンと比較する比較器と、をデバイス内に組込むことにより、自己テストを行う。
【０００３】
半導体プロセスの微細化に伴い、ＳｏＣに搭載したＲＡＭにおいて、
・特定アドレスに対して、データを、連続、且つ高速に、書き込み・読み出しするテストや、
・ＵＤＬ（ユーザ回路）を経由して書き込んだデータ信号を実スピードで読み出すテスト等を行うことが必要となるに到っている。
【０００４】
図１２は、特許文献１に開示された構成（特許文献１の図１）を示す図である。図１２において、９１１はアドレス発生器、９１２は検査対象のメモリ（被検査メモリ）、９１３はデータ発生器、９１４はデータ比較器、９１５はフリップフロップ群からなるアドレス変更用レジスタ、９１６は排他的論理和（ＸＯＲ）回路、９１７はシフトレジスタからなる反転パターン設定用レジスタ、９１８は論理反転回路（インバータ）、９１９はシフトレジスタ９１９ａ、９１９ｂ…９１９ｎからなるメモリコントロール用レジスタである。
【０００５】
アドレス発生器９１１は、クロックＣＬＫに同期して検査アドレスを発生する。
【０００６】
データ発生器９１３は、クロックＣＬＫに同期してテスト用データを発生する。
【０００７】
データ比較器９１４は、クロックＣＬＫに同期して、データ発生器９１３からのデータと、被検査メモリ９１２からのデータの比較を行い、判定信号（ＰＡＳＳ／ＦＡＩＬ）を出力する。
【０００８】
論理反転回路９１８は、データ発生器９１３の出力と被検査メモリ９１２の入力との間、及び、被検査メモリ９１２の出力とデータ比較器９１４の入力の間に介挿されている。
【０００９】
反転パターン設定用レジスタ９１７は、クロックＣＬＫに同期して周期的にデータシフトするシフトレジスタのＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）信号を、論理反転回路９１８に出力する。
【００１０】
論理反転回路９１８は、反転パターン設定用レジスタ９１７からのＬＳＢ信号が“０”のときは非反転であり、ＬＳＢ信号が“１”のときは反転となる。
【００１１】
メモリコントロール用レジスタ９１９におけるシフトレジスタ９１９ａ、９１９ｂ、…、９１９ｎは、クロックＣＬＫに同期して周期的にデータシフトし、被検査メモリ９１２に対するメモリコントロール信号を生成し、被検査メモリ９１２に出力する。
【００１２】
排他的論理和回路９１６は、アドレス発生器９１１から出力されるアドレスとアドレス変更用レジスタ９１５から出力される変更用データとの排他的論理和を演算し、排他的論理和演算結果信号を、直接、メモリアドレスとして、被検査メモリ９１２に出力する。
【００１３】
アドレス変更用レジスタ９１５、反転パターン設定用レジスタ９１７、論理反転回路９１８、及びメモリコントロール用レジスタ９１９に任意の値を設定することにより、アドレス発生器９１１やデータ発生器９１３が本来発生するデータ及びメモリコントロール信号を任意に変更することができる。
【００１４】
アドレス変更用レジスタ９１５に設定するビット列に応じてアドレス中の任意のビットを反転させることができる。
【００１５】
アドレス発生器９１１から出力されるアドレスのビット列を、Ａ１、Ａ２、Ａ３、…、Ａｊ、…Ａｎとする。アドレス変更用レジスタ９１５から出力される変更用データのビット列を、Ｆ１、Ｆ２、Ｆ３、…、Ｆｊ、…Ｆｎとする。排他的論理和回路９１６から出力される排他的論理和信号のビット列を、Ｘ１、Ｘ２、Ｘ３、…、Ｘｊ、…Ｘｎとすると、以下の関係式が成り立つ。
【００１６】
Ｘ１＝ＸＯＲ（Ａ１、Ｆ１）、
Ｘ２＝ＸＯＲ（Ａ２、Ｆ２）、
Ｘ３＝ＸＯＲ（Ａ３、Ｆ３）、
・・・
Ｘｊ＝ＸＯＲ（Ａｊ、Ｆｊ）、
・・・
Ｘｎ＝ＸＯＲ（Ａｎ、Ｆｎ）
である。
【００１７】
ここで、Ｘｊ＝ＸＯＲ（Ａｊ、Ｆｊ）を例にとると、
Ｆｊ＝０のときは、
Ｘｊ＝ＸＯＲ（Ａｊ、０）＝Ａｊ
である。
【００１８】
Ｆｊ＝１のときは、
Ｘｊ＝ＸＯＲ（Ａｊ、１）＝／Ａｊ
である。ここで、“／”（スラッシュ）は論理反転を表している。
【００１９】
アドレス変更用レジスタ９１５から出力される変更用データのビット列｛Ｆ１、Ｆ２、Ｆ３、…、Ｆｊ、…Ｆｎ｝をどのように設定するかに応じて、排他的論理和信号のアドレス｛Ｘ１、Ｘ２、Ｘ３、…、Ｘｊ、…Ｘｎ｝を任意に変更することができる。
【００２０】
例えば、
｛Ｆ１、Ｆ２、Ｆ３、…、Ｆｊ、…Ｆｎ｝＝｛０、０、１、…０、…、１｝
とすると、
｛Ｘ１、Ｘ２、Ｘ３、…、Ｘｊ、…Ｘｎ｝＝｛Ａ１、Ａ２、／Ａ３、…、Ａｊ、…／Ａｎ｝
となる。
【００２１】
また、｛Ｆ１、Ｆ２、Ｆ３、…、Ｆｊ、…Ｆｎ｝＝｛１、０、１、…１、…、０｝
とすると、
｛Ｘ１、Ｘ２、Ｘ３、…、Ｘｊ、…Ｘｎ｝＝｛／Ａ１、Ａ２、／Ａ３、…、／Ａｊ、…Ａｎ｝
となる。
【００２２】
アドレス発生器９１１から出力されるアドレスは、周期的に全アドレスを指し示す。したがって、アドレス変更用レジスタ９１５と排他的論理和回路９１６とを用いて、アドレス発生器９１１からのアドレスの任意のビットを反転することにより、アドレスのアクセス順を変更することができる。
【００２３】
次に、論理反転回路９１８の機能について説明する。
【００２４】
データ発生器９１３から出力されるビット列Ｄｘを、
Ｄｘ＝｛Ｄ１、Ｄ２、Ｄ３、…、Ｄｎ｝
とする。
【００２５】
論理反転回路９１８から被検査メモリ９１２に出力されるビット列Ｉｘを、
Ｉｘ＝｛Ｉ１、Ｉ２、Ｉ３、…、Ｉｎ｝
とする。
【００２６】
また、被検査メモリ９１２から読み出されるビット列Ｋｘを、
Ｋｘ＝｛Ｋ１、Ｋ２、Ｋ３、…、Ｋｎ｝
とする。
【００２７】
論理反転回路９１８からデータ比較器９１４に出力されるビット列Ｅｘを、
Ｅｘ＝｛Ｅ１、Ｅ２、Ｅ３、…、Ｅｎ｝
とする。
【００２８】
データ比較器９１４では、書き込みに出力した期待値としてのビット列Ｄｘと、読み出したビット列Ｅｘとを比較する。
【００２９】
反転パターン設定用レジスタ９１７のＬＳＢ信号＝０のときは、論理反転回路９１８は非反転状態であり、
Ｉｘ＝Ｄｘ、
Ｅｘ＝Ｋｘ
である。
【００３０】
ビット列Ｄｘとビット列Ｅｘとを比較して、
Ｅｘ＝Ｄｘ
であれば、
Ｋｘ＝Ｉｘ
であることから、被検査メモリ９１２における書き込み動作及び読み出し動作が適正に行われたと判定される。
【００３１】
一方、ＬＳＢ信号＝１のときは、論理反転回路９１８は反転状態であり、
Ｉｘ＝／Ｄｘ（つまり、／Ｉｘ＝Ｄｘ）であり、
また、
Ｅｘ＝／Ｋｘ＝｛／Ｋ１、／Ｋ２、／Ｋ３、…、／Ｋｎ｝
である。
【００３２】
ビット列Ｄｘとビット列Ｅｘとを比較して、
Ｅｘ＝Ｄｘであれば、
／Ｋｘ＝／Ｉｘ
であることから、被検査メモリ９１２における書き込み動作及び読み出し動作が適正に行われたと判定される。
【００３３】
テスト用データの書き込みについて、一定周期で反転、非反転を繰り返すことにより、各アドレスに合わせて任意のテスト用データを被検査メモリ９１２に書き込むことができる。
【００３４】
メモリデバイスの検査で比較するデータは、上記のように、必ず、書き込みを行ったデータであり、書き込み時も読み出し時も、同じインバータ動作をさせるため、周期的な変更にかかわらず、比較が可能となる。
【００３５】
また、被検査メモリ９１２のコントロール信号についても、メモリコントロール用レジスタ９１９での設定に応じて任意に変更できるため、必要に応じたメモリ制御状態を実現できる。
【００３６】
【特許文献１】特開２００５−００４８２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００３７】
特許文献１の開示事項は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明によって与えられたものである。
【００３８】
図１２に示した構成においては、ＲＡＭの特定アドレスにデータの連続書き込み・読み出しする場合、アドレス変更用レジスタ９１５と排他的論理和回路９１６により特定のアドレスを生成することができる。
【００３９】
しかしながら、例えばアドレスを”０００１０”に固定させたい場合に、クロックＣＬＫに同期して、アドレス発生器９１１が、例えば、
”０００００”→”０００１０”→”００１００”
とアドレス信号を生成するものとすると、アドレス変更用レジスタ９１５からは、
”０００１０”→”０００００”→”００１１０”
を出力するように設定しなくてはならない。
【００４０】
すなわち、排他的論理和回路９１６において、アドレス発生器９１１からのアドレス”０００００”、”０００１０”、”００１００”に対して、アドレス変更用レジスタ９１５からの値”０００１０”、”０００００”、”００１１０”とそれぞれ排他的論理和をとれば、排他的論理和回路９１６の出力から固定のアドレス値”０００１０”が被検査メモリ９１２に供給されることになる。
【００４１】
このように、クロックＣＬＫに同期して動作するアドレス発生器９１１に対し、任意に指定されるアドレス値に固定するための値をアドレス変更用レジスタ９１５から、随時、排他的論理和回路９１６に出力させる場合、アドレス変更用レジスタ９１５に接続されるバス（図１２では不図示）の書き込みサイクルに左右される。このため、被検査メモリ９１２に対して任意のアドレス値に固定してテストする等、特定アドレスに、データを連続、且つ、高速に書き込み・読み出しするテストを行うことは困難である。
【課題を解決するための手段】
【００４２】
本願で開示される発明は、概略以下の構成とされる。
【００４３】
本発明の１つの側面（アスペクト）の半導体装置においては、ＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）が、シリアルに接続自在とされ、スキャンシフト動作により０／１の任意値にそれぞれ設定される複数のスキャンフリップフロップを備え、第１のスキャンフリップフロップの設定値に基づき、データ信号を生成し、第２のスキャンフリップフロップの設定値に基づき、アドレス信号を生成する、データ・アドレス生成回路部と、データの書き込み及び読み出し可能なメモリの書き込み／読み出しを制御する信号（ＷＥＢ信号）を生成して前記メモリに与える書き込み／読み出し信号生成回路部（ＷＥＢ生成回路部）と、入力された制御信号に基づき、前記データ・アドレス信号生成回路部と、前記書き込み／読み出し信号生成回路部を制御し、前記メモリへ与えるデータ信号、アドレス信号として、前記データ・アドレス信号生成回路部からのデータ信号及び／又はアドレスを選択するテスト信号制御回路部と、を備えている。
【００４４】
本発明においては、前記メモリへ与えるデータ信号として、前記データ・アドレス信号生成回路部からのデータ信号とユーザ定義回路経由のデータのいずれかを選択するデータ信号切り替え回路と、前記メモリへ与えるアドレス信号として、前記データ・アドレス信号生成回路部からのアドレス信号と別のユーザ定義回路経由のアドレス信号を選択するアドレス信号切り替え回路と、を備え、前記テスト信号制御回路部は、前記データ信号切り替え回路の切り替えを制御する信号と、前記アドレス信号切り替え回路の切り替えを制御する信号をそれぞれ生成出力する。
【００４５】
本発明において、前記メモリからの読み出しデータを保持する第３のスキャンフリップフロップを備え、前記第３のスキャンフリップフロップに取り込まれた読み出しデータは、スキャンシフト動作により、スキャン出力端子から外部に出力される構成としてもよい。
【００４６】
本発明において、前記データ・アドレス信号生成回路部は、前記ＢＩＳＴ内部からのデータ信号と、前記第１のスキャンフリップフロップの出力信号を帰還させた信号とを入力し、前記テスト信号制御回路部からの選択制御信号に基づき、一方を選択出力する第１のセレクタ回路を備え、前記第１のセレクタ回路の出力信号は、前記第１のスキャンフリップフロップの入力端子に供給され、前記テスト信号制御回路部からの制御信号に基づき、前記第１のスキャンフリップフロップの出力信号、又は、前記第１のスキャンフリップフロップの出力信号を反転した信号の一方が、前記帰還信号として、前記第１のセレクタ回路に入力される構成としてもよい。
【００４７】
本発明において、前記データ・アドレス信号生成回路部は、前記ＢＩＳＴ内部からのアドレス信号と、前記第２のスキャンフリップフロップの出力信号を帰還させた信号とを入力し、前記テスト信号制御回路部からの選択制御信号に基づき、一方を選択出力する第２のセレクタ回路を備え、前記第２のセレクタ回路の出力信号は、前記第２のスキャンフリップフロップの入力端子に供給され、前記テスト信号制御回路部からの制御信号に基づき、前記第２のスキャンフリップフロップの出力信号、又は、前記第２のスキャンフリップフロップの出力信号を反転回路で反転した信号の一方が、前記帰還信号として、前記第２のセレクタ回路に入力される構成としてもよい。
【００４８】
本発明において、前記データ・アドレス信号生成回路部の前記第１のセレクタ回路は、前記ＢＩＳＴ内部からのデータ信号として、第４のスキャンフリップフロップからの出力を入力する構成としてもよい。
【００４９】
本発明において、前記データ・アドレス信号生成回路部の前記第２のセレクタ回路は、前記ＢＩＳＴ内部からのアドレス信号として、第５のスキャンフリップフロップからの出力を入力する構成としてもよい。
【００５０】
本発明において、前記書き込み／読み出し信号生成回路部（ＷＥＢ生成回路部）は、クロック信号に応答して、現在の信号値を反転回路で反転した値を取り込み、保持するフリップフロップと、前記フリップフロップの出力と、入力された書き込み／読み出し信号の一方を、前記テスト信号制御回路部からの選択制御信号に基づき選択するセレクタ回路を備えている構成としてもよい。
【００５１】
本発明において、前記書き込み／読み出し信号生成回路部（ＷＥＢ生成回路部）は、縦続形態に接続される複数のフリップフロップよりなるシフトレジスタを備え、前記シフトレジスタの出力信号を反転回路で反転した値が、前記シフトレジスタの入力に入力され、前記シフトレジスタの出力信号と、入力された書き込み／読み出し信号の一方を、前記テスト信号制御回路部からの選択制御信号に基づき選択するセレクタ回路を備えている構成としてもよい。本発明において、前記書き込み／読み出し信号生成回路部（ＷＥＢ生成回路部）において、前記フリップフロップがスキャンフリップフロップよりなる構成としてもよい。
【００５２】
本発明の１つの側面に係る方法においては、ＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）内のスキャンフリップフロップに設定された値に基づき、データとアドレス信号をそれぞれ生成し、
データの書き込み及び読み出し可能なメモリの書き込み／読み出しを制御する信号を、書き込みモードに設定して前記メモリに与え、
前記スキャンフリップフロップに設定された値に基づき生成された、データとアドレス信号を前記メモリに供給し、
前記メモリの書き込み／読み出しを制御する信号を、読み出しモードに設定して前記メモリからの読み出しデータを、スキャンフリップフロップに取り込み、
スキャンシフト動作により前記スキャンフリップフロップに取り込まれた読み出しデータをスキャンアウト端子に出力し期待値と比較する。
【００５３】
本発明に係る方法において、前記スキャンフリップフロップに設定された値に基づき生成された、データとアドレス信号、又は、ユーザ定義回路を経由したデータとアドレス信号のいずれかを選択して前記メモリに与える工程を含むようにしてもよい。あるいは、本発明に係る方法において、前記スキャンフリップフロップに設定された値を反転した値に基づき、生成されたデータ信号又はアドレス信号を前記メモリに与えるようにしてもよい。
【発明の効果】
【００５４】
本発明によれば、半導体メモリの特定アドレスにデータを連続、且つ高速に書き込み・読み出しするテストを実現することができる。さらに、本発明によれば、ユーザ定義回路（ＵＤＬ）を経由し書き込んだデータ信号を実スピードで読み出すテストを実現可能としている。
【発明を実施するための最良の形態】
【００５５】
上記した本発明についてさらに詳細に説述すべく添付図面を参照して実施例を説明する。本発明においては、ＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路（２）内に、スキャンテスト時にシリアルに接続され、スキャンシフト動作により０／１の任意値に設定される複数のスキャンフリップフロップを備え、スキャンフリップフロップの設定値に基づきデータを生成し、スキャンフリップフロップの設定値に基づきアドレスを生成するデータ・アドレス信号生成回路部（５）と、半導体メモリ（１）の書き込み／読み出しを制御する信号（ＷＥＢ信号）を生成するＷＥＢ生成回路部（３）と、入力された制御信号にしたがって、データ・アドレス信号生成回路部（５）とＷＥＢ生成回路部（３）を制御し、半導体メモリ（１）へ入力するデータとアドレス信号として、データ・アドレス信号生成回路部（５）からのデータとユーザ定義回路（１６）経由のデータ、データ・アドレス信号生成回路部（５）からのアドレスとユーザ定義回路（１５）経由のアドレス信号を選択するセレクタ（１０、９）を制御するテスト信号制御回路部（４）とを備え、半導体メモリ（１）のデータとアドレスに任意の値を設定し、特定アドレスにデータを連続、且つ高速に書き込み・読み出しするテストを実現することができる。
【００５６】
図１は、本発明の一実施例の構成を示す図である。図１では、単に、説明の簡略化のため、ＲＡＭのアドレス（ＡＤ）端子とデータ入力（ＤＩ）端子、データ出力（ＤＯ）端子は一つで構成している。
【００５７】
図１を参照すると、本発明の第１の実施例においては、ＲＡＭ１のＷＥＢ（Ｗｒｉｔｅ  Ｅｎａｂｌｅ  Ｂａｒ）信号（ＬＯＷでＷｒｉｔｅアクセス  ＨＩＧＨでＲｅａｄアクセス）を制御するＷＥＢ生成回路部３と、ＢＩＳＴ回路２のスキャンフリップフロップ（ＳｃａｎＦＦ）を用い、ＲＡＭ１のデータ及びアドレス信号を生成するデータ・アドレス信号生成回路部５と、ＷＥＢ生成回路部３と、データ・アドレス信号生成回路部５の制御、及びＲＡＭ１へ入力するデータ値とアドレス値の経路を、ＵＤＬ（Ｕｓｅｒ  Ｄｅｆｉｎｅｄ  Ｌｏｇｉｃ）部１５、ＵＤＬ部１６側とするか、あるいは、データ・アドレス信号生成回路部５側とするかを制御するテスト信号制御回路部４とを有している。
【００５８】
ＷＥＢ生成回路部３は、ＵＤＬ部１４とＣＬＫ端子、及び、テスト信号制御回路部４からの信号４１−３１−５２を入力とし、出力端子はＲＡＭ１のＷＥＢ端子に接続されている。
【００５９】
データ・アドレス信号生成回路部５は、ＲＡＭ＿ＭＯＤＥ端子と、ＲＡＭ＿ＩＮＶ端子と、ＣＬＫ端子と、テスト信号制御回路部４からの信号４２−５６、４３−５７、４１−３１−５２を入力とする。
【００６０】
データ・アドレス信号生成回路部５の出力２０ｄ−９と２０ｅ−１０は、アドレス信号切り替え回路（セレクタ）９とデータ信号切り替え回路（セレクタ）１０にそれぞれ接続される。
【００６１】
アドレス信号切り替え回路９、データ信号切り替え回路１０は、ＲＡＭ１のアドレス端子ＡＤとデータ端子ＤＩへ入力するアドレス値、データ値を、ＵＤＬ１５、ＵＤＬ１６側から供給するか、データ・アドレス信号生成回路部５側から供給するかを選択する、アドレス信号切り替え回路９とデータ信号切り替え回路１０における選択の切り替えは、テスト信号制御回路部４の出力信号４４―９、４５−１０により、それぞれ個別に制御される。特に制限されないが、アドレス信号切り替え回路９とデータ信号切り替え回路１０はＢＩＳＴ２内に含まれる。
【００６２】
テスト信号制御回路部４は、ＲＡＭ＿ＭＯＤＥ端子と、ＲＡＭ＿ＲＥＰ端子と、ＲＡＭ＿ＢＩＴ＿ＤＩ端子と、ＲＡＭ＿ＢＩＴ＿ＡＤ端子と、ＢＩＳＴ＿ＭＯＤＥ端子から信号が入力される。なお、テスト信号制御回路部４に入力される制御信号はあくまで一例として示したものであり、本発明は、かかる構成にのみ限定されるものでないことは勿論である。
【００６３】
テスト信号制御回路部４の出力４１−３１−５２は、ＷＥＢ生成回路部３と、データ・アドレス信号生成回路部５に接続される。
【００６４】
テスト信号制御回路部４の出力４４―９、４５−１０は、データ信号切り替え回路（セレクタ）９の選択制御端子とアドレス信号切り替え回路（セレクタ）１０の選択制御端子にそれぞれ接続される。
【００６５】
テスト信号制御回路部４の出力４２−５６、４３−５７は、データ・アドレス信号生成回路部５に接続される。
【００６６】
なお、図１に示す例では、データ信号切り替え回路１０から出力され、ＲＡＭ１のデータ端子ＤＩに与えられるデータ信号は、フリップフロップ（ＳｃａｎＦＦ）１１に入力される。フリップフロップ１１の出力とＲＡＭ１の出力ＤＯはセレクタ１２に入力され、選択された信号がＵＤＬ部１７に出力される。ＴＥＳＴ＿ＭＯＤＥ信号とＲＡＭ＿ＭＯＤＥ信号をインバータ７で反転した信号を入力とする２入力ＡＮＤゲート６の出力がセレクタ１２の選択制御信号として用いられ、ＴＥＳＴ＿ＭＯＤＥ＝１、ＲＡＭ＿ＭＯＤＥ＝０のとき、セレクタ１２は、データ信号切り替え回路１０の出力を選択し（ＲＡＭ１への書き込みデータをＲＡＭ１を経由せずそのまま出力）、それ以外の場合、セレクタ１２は、ＲＡＭ１の出力を選択する。セレクタ１２の出力は、ＢＩＳＴ２内のＳｃａｎＦＦ２０ｂの入力端子に接続されている。
【００６７】
図２（Ａ）は、図１のＷＥＢ生成回路部３の構成の一例を示す図である。図２（Ａ）を参照すると、ＷＥＢ生成回路部３は、ＲＡＭ１のＷＥＢ端子に出力が接続されたセレクタ回路３１を備えている。セレクタ回路３１は、ＵＤＬ部１４からの出力と、ＳｃａｎＦＦ３２の出力を入力し、テスト信号制御回路部４からの出力信号４１−３１−５２を選択制御信号として入力する。ＳｃａｎＦＦ３２はクロック端子にクロック信号ＣＬＫを入力し、ＳｃａｎＦＦ３２のデータ出力端子からの出力信号を、インバータ３３で反転した信号を、データ入力端子に入力する。
【００６８】
図２（Ｂ）は、図２（Ａ）のＷＥＢ生成回路部３の動作を説明する図である。セレクタ回路３１は、テスト信号制御回路部４からの出力信号４１−３１−５２が０のときは、ＵＤＬ部１４からの出力信号を選択出力し、テスト信号制御回路部４からの出力信号４１−３１−５２が１のときは、ＳｃａｎＦＦ３２の出力を選択出力する。
【００６９】
図３は、図１のテスト信号制御回路部４の構成の一例を示す図である。図３を参照すると、テスト信号制御回路部４は、
ＲＡＭ＿ＭＯＤＥ端子とＲＡＭ＿ＲＥＰ端子に入力が接続された２入力ＡＮＤゲート４１と、
ＲＡＭ＿ＭＯＤＥ端子とＲＡＭ＿ＢＩＴ＿ＤＩ端子に入力が接続された２入力ＡＮＤゲート４２と、
ＲＡＭ＿ＭＯＤＥ端子とＲＡＭ＿ＢＩＴ＿ＡＤ端子に入力が接続された２入力ＡＮＤゲート４３と、
ＢＩＳＴ＿ＭＯＤＥ端子の信号とＡＮＤゲート４２の出力信号４２−５６を入力とする２入力ＯＲゲート４４と、
ＢＩＳＴ＿ＭＯＤＥ端子の信号とＡＮＤゲート４３の出力信号４３−５７を入力とする２入力ＯＲゲート４５と、
を備えている。
【００７０】
ＡＮＤゲート４１の出力信号４１−３１−５２は、ＷＥＢ生成回路部３とデータ・アドレス信号生成回路部５に供給される。
【００７１】
ＡＮＤゲート４２の出力信号４２−５６は、データ・アドレス信号生成回路部５に供給される。
【００７２】
ＡＮＤゲート４３の出力信号４３−５７は、データ・アドレス信号生成回路部５に供給される。
【００７３】
ＯＲゲート４４の出力信号４４−９は、アドレス信号切り替え回路９の選択制御信号として供給される。
【００７４】
ＯＲゲート４５の出力信号４５−１０は、データ信号切り替え回路１０の選択制御信号として供給される。
【００７５】
図４（Ａ）、図４（Ｂ）は、図３のテスト信号制御回路部４の動作を説明する図である。
【００７６】
図４（Ａ）のケース１からケース５の入力信号ＲＡＭ＿ＭＯＤＥ、ＢＩＳＴ＿ＭＯＤＥ、ＲＡＭ＿ＲＥＰ、ＲＡＭ＿ＢＩＴ＿ＤＩ、ＲＡＭ＿ＢＩＴ＿ＡＤに対して、出力信号４１−３１−５２、４４−９、４５−１０、４２−５６、４３−５７は、図４（Ｂ）に示す値をとる。なお、図４（Ａ）において、ＸはＤｏｎ’ｔ  ｃａｒｅを表している。
【００７７】
ケース１（ＲＡＭ＿ＭＯＤＥ＝０、ＢＩＳＴ＿ＭＯＤＥ＝０）では、図３のテスト信号制御回路部４のＯＲゲート４４、４５の出力信号４４−９、４５−１０は０である。このとき、図１のアドレス信号切り替え回路９とデータ信号切り替え回路１０は、ＵＤＬ１５、ＵＤＬ１６経由の信号を、ＲＡＭ１のＡＤ（アドレス）、ＤＩ（データ）として選択する。なお、セレクタ８は、ＵＤＬ１３からの信号をＲＡＭ１のＣＳＢ（チップセレクトバー）として選択する。
【００７８】
ケース２（ＲＡＭ＿ＭＯＤＥ＝０、ＢＩＳＴ＿ＭＯＤＥ＝１）では、図３のテスト信号制御回路部４のＯＲゲート４４、４５の出力信号４４−９、４５−１０は１である。このとき、図１のアドレス信号切り替え回路９とデータ信号切り替え回路１０は、データ・アドレス信号生成回路部５からの信号２０ｄ−９、２０ｅー１０をＲＡＭ１のＡＤ（アドレス）、ＤＩ（データ）として選択する。
【００７９】
ケース３（ＲＡＭ＿ＭＯＤＥ＝１、ＲＡＭ＿ＲＥＰ＝１）では、図３のテスト信号制御回路部４のＡＮＤゲート４１の出力信号４１−３１−５２が１となる。なお、ＲＡＭ＿ＭＯＤＥ＝１を受け、図１のセレクタ８は、ＲＡＭ＿ＣＳＢをＲＡＭ１のＣＳＢ（チップセレクト信号：ＬＯＷレベルでアクティブ）として選択する。
【００８０】
ケース４（ＲＡＭ＿ＭＯＤＥ＝１、ＲＡＭ＿ＢＩＴ＿ＤＩ＝１）では、図３のテスト信号制御回路部４のＡＮＤゲート４２の出力信号４２−５６が１、ＯＲゲート４４の出力信号４４−９は１である。このとき、図１のアドレス信号切り替え回路９は、データ・アドレス信号生成回路部５からのアドレス信号２０ｄ−９をＲＡＭ１のＡＤ（アドレス）として選択し、データ信号切り替え回路１０はＵＤＬ１６からの信号をＲＡＭ１のＤＩ（データ）として選択する。
【００８１】
ケース５（ＲＡＭ＿ＭＯＤＥ＝１、ＲＡＭ＿ＢＩＴ＿ＡＤ＝１）では、テスト信号制御回路部４のＡＮＤゲート４３の出力信号４３−５７が１、ＯＲゲート４５の出力信号４５−１０が１である。このとき、図１のデータ信号切り替え回路１０は、データ・アドレス信号生成回路部５からのデータ信号２０ｅ−１０をＲＡＭ１のＤＩ（データ）として選択し、アドレス信号切り替え回路９はＵＤＬ１５からの信号をＲＡＭ１のＡＤ（アドレス）として選択する。
【００８２】
図５は、図１のデータ・アドレス信号生成回路部５の構成の一例を示す図である。図５を参照すると、データ・アドレス信号生成回路部５は、
ＲＡＭ＿ＭＯＤＥ端子とＲＡＭ＿ＩＮＶ端子に入力が接続された２入力ＡＮＤゲート５１と、
ＡＮＤゲート５１の出力信号と、ＢＩＳＴ内部のＳｃａｎＦＦ２０ｅの出力信号２０ｅ−１０を入力する２入力ＥＸＯＲゲート５５と、
ＥＸＯＲゲート５５の出力信号と、ＢＩＳＴ内部のＳｃａｎＦＦ２０ａ（図１参照）からの信号とを入力し、テスト信号制御回路部４の出力信号４３−５７を選択制御信号として切り替えるセレクタ回路５７と、
セレクタ回路５７の出力信号をデータ入力端子に入力し、クロック信号ＣＬＫでラッチするＳｃａｎＦＦ２０ｅ（図１のＢＩＳＴ内部のＳｃａｎＦＦ）と、を備えている。ＳｃａｎＦＦ２０ｅの出力信号２０ｅ−１０は、データ信号として、図１のデータ信号切り替え回路（セレクタ）１０に入力される。
【００８３】
データ・アドレス信号生成回路部５は、さらに、
テスト信号制御回路部４の出力信号４１−３１−５２を入力とするインバータ回路５２と、
インバータ回路５２の出力信号とＡＮＤゲート５１の出力信号を入力する２入力ＡＮＤゲート５３と、
ＡＮＤゲート５３の出力信号と、アドレス信号２０ｄ−９を入力とする２入力ＥＸＯＲゲート５４と、
ＥＸＯＲゲート５４の出力信号と、ＢＩＳＴ内部信号のＳｃａｎＦＦ２０ｃ（図１参照）からの信号とを入力し、テスト信号制御回路部４の出力信号４３−５７を選択制御信号として切り替えるセレクタ回路５６と、
セレクタ回路５６の出力信号をデータ入力端子に入力し、クロック信号ＣＬＫでラッチするＳｃａｎＦＦ２０ｄ（図１のＢＩＳＴ内部のＳｃａｎＦＦ）と、を備えている。ＳｃａｎＦＦ２０ｄの出力は、アドレス信号２０ｄ−９として図１のアドレス信号切り替え回路（セレクタ）９に入力される。
【００８４】
図６（Ａ）、図６（Ｂ）は、図５のデータ・アドレス信号生成回路部５の動作を説明する図である。
【００８５】
信号ＲＡＭ＿ＭＯＤＥ、ＲＡＭ＿ＩＮＶ、４１−３１−５２、４２−５６、４３−５７が図６（Ａ）のケース１〜ケース５の値をとるとき、出力信号２０ｄ−９、２０ｅ−１０は、図６（Ｂ）のように、ＢＩＳＴ内部からの信号、あるいは、ＳｃａｎＦＦ（２０ｄ、２０ｅ）からの信号又はその反転値となる。
【００８６】
図７は、図１のＷＥＢ生成回路部３とテスト信号制御回路部４とデータ・アドレス信号生成回路部５とを、それぞれ図２、図３、図５の回路構成で表した図である。なお、図７において、ＲＡＭ１のアドレス端子ＡＤに入力されるアドレス信号、データ端子ＤＩに入力されるデータ信号は、説明の簡単のため、１本で表している。ＲＡＭ１の端子ＡＤ、ＤＩがそれぞれｍビット、ｎビット構成（ｍ、ｎともに１よりも大）の場合、ＵＤＬ１５からの信号とデータ・アドレス信号生成回路部５からの信号２０ｄ−９はともにｍビット・パラレル信号であり、ＵＤＬ１６からの信号とデータ・アドレス信号生成回路部５からの信号２０ｅ−１０はともにｎビット・パラレル信号である。この場合、図７のデータ・アドレス信号生成回路部５において、ＳｃａｎＦＦ２０ｄ、ＥＸＯＲ５４、セレクタ５６からなる回路をアドレス信号ｍビットに対応してｍセット備え、ｍセットの回路に共通にインバータ５２とＡＮＤゲート５３を備える構成としてもよい。またＳｃａｎＦＦ２０ａもｍビット分備える。ＳｃａｎＦＦ２０ｅ、ＥＸＯＲ５５、セレクタ５７からなる回路をデータ信号ｎビットに対応してｎセット備え、ｎセットの回路に共通にＡＮＤゲート５１を備える構成としてもよい。またＳｃａｎＦＦ２０ｃもｎビット分備える。
【００８７】
図８（Ａ）は、図７の回路構成において、各端子の設定状態と動作モードの対応を示す図である。動作モードは、通常動作、ＢＩＳＴ、テスト１、テスト２（１）、テスト２（２）よりなる。図８（Ｂ）は、図８（Ａ）の各設定における、図７のセレクタ回路８、９、１０、１２、３１、５６、５７の選択を示す図である。図８（Ｂ）において、各セレクタにおける、０はセレクタの入力０を選択、１はセレクタの入力１を選択することを表している。図８において、
「テスト１」は、特定アドレスに対して実スピードでＵＤＬを経由した書き込み・読み出しを行うテストである。
「テスト２（１）」は、特定アドレスに対して複数回連続した書き込み・読み出しを行うテストである（データ固定）。
「テスト２（２）」は、特定アドレスに対して複数回連続した書き込み・読み出しを行うテストである（データ反転）。
【００８８】
ＲＡＭ１のテストを行うための制御端子ＲＡＭ＿ＭＯＤＥ端子を０（ＬＯＷ）に設定することで、ＷＥＢ生成回路部３と、データ・アドレス信号生成回路部５とテスト信号制御回路部４は、動作せず、通常動作となる。なお、Ｗｒａｐｐｅｒ回路（ＳｃａｎＦＦとセレクタ１２）の構成については、公知の回路が用いられる。
【００８９】
次に、本実施例のテスト動作を説明する。
【００９０】
図９は、図７の回路を用いて、特定アドレスに対して、複数回の連続した書き込み・読み出しテストを行うフローチャートである。図７と図９を参照して、特定アドレスに対し複数回の連続した書き込み・読み出しを行うテストの動作について説明する。
【００９１】
図７において、制御信号として、ＴＥＳＴ＿ＭＯＤＥ＝１、ＢＩＳＴ＿ＭＯＤＥ＝０、ＲＡＭ＿ＭＯＤＥ＝１、ＲＡＭ＿ＲＥＰ＝０、ＲＡＭ＿ＢＩＴ＿ＤＩ＝１、ＲＡＭ＿ＢＩＴ＿ＡＤ＝１、ＲＡＭ＿ＩＮＶ＝０にモード設定をする（図９のＡ１）。
【００９２】
ＲＡＭ＿ＢＩＴ＿ＡＤ＝１、及び、ＲＡＭ＿ＭＯＤＥ＝１より、ＯＲゲート４５の出力信号４５−１０が１となり、データ信号切り替え回路１０は、データ・アドレス信号生成回路部５の出力信号２０ｅ−１０を選択する。
【００９３】
ＲＡＭ＿ＢＩＴ＿ＤＩ＝１、及びＲＡＭ＿ＭＯＤＥ＝１より、ＯＲゲート４４の出力信号４４−９が１となり、アドレス信号切り替え回路（セレクタ）９は、データ・アドレス信号生成回路部５の出力信号２０ｄ−９を選択する。
【００９４】
データ・アドレス信号生成回路部５内のアドレスを制御するＢＩＳＴ内部のＳｃａｎＦＦ２０ｄに接続するセレクタ回路５６は、ＲＡＭ＿ＢＩＴ＿ＤＩ＝１、及びＲＡＭ＿ＭＯＤＥ＝１より、ＡＮＤゲート４２の出力信号４２−５６が１となり、ＥＸＯＲゲート５４の出力を選択する。
【００９５】
データを制御するＢＩＳＴ内部のＳｃａｎＦＦ２０ｅに接続するセレクタ回路５７も、ＲＡＭ＿ＢＩＴ＿ＡＤ＝１及びＲＡＭ＿ＭＯＤＥ＝１より、ＡＮＤゲート４３の出力信号４３−５７が１となり、ＥＸＯＲゲート５５の出力信号を選択する。
【００９６】
ＲＡＭ＿ＩＮＶ＝０より、ＡＮＤゲート５１、５３の出力信号は０であり、ＥＸＯＲゲート５４は、ＢＩＳＴ内部のＳｃａｎＦＦ２０ｄの出力信号をそのまま出力する。
【００９７】
ＥＸＯＲゲート５５は、ＢＩＳＴ内部のＳｃａｎＦＦ２０ｅの出力信号をそのまま出力する。
【００９８】
また、ＷＥＢ生成回路部３内のセレクタ回路３１は、ＲＡＭ＿ＲＥＰ＝０より、ＡＮＤゲート４１の出力信号４１−４１−５２が０であり、ＵＤＬ部１４側を選択する。
【００９９】
スキャンシフト動作にて、各ＳｃａｎＦＦへ任意の値を設定し、ＷＥＢ生成回路部３内のＳｃａｎＦＦ３２には、書き込みモード値０を設定する（図９のＡ２）。
【０１００】
データ・アドレス信号生成回路部５内のＳｃａｎＦＦも、スキャンシフト動作により任意の値に設定できることから、ＲＡＭ１へは任意の値を設定可能である。
【０１０１】
ＲＡＭ＿ＲＥＰ＝１に設定し、ＲＡＭ１のＷＥＢ制御にＳｃａｎＦＦ３２側を選択させる。ＳｃａｎＦＦ３２には、書き込みモード値０が設定されているため、ＲＡＭ１は書き込みモードに設定される（図９のＡ３）。
【０１０２】
クロックＣＬＫを供給し、データ・アドレス信号生成回路部５から出力されたデータ入力値をＲＡＭ１に書き込む。同時に、クロックＣＬＫの立ち上がりエッジに同期して、ＳｃａｎＦＦ３２の値が反転し、ＲＡＭ１のＷＥＢ端子は、読み出しモード値１に変更される（図９のＡ４）。
【０１０３】
ＲＡＭ１へ入力させるデータ信号を反転させるか否かを選択し（図９のＡ５）、反転させる場合には、ＲＡＭ＿ＩＮＶ＝１に変更し、ＢＩＳＴ２内部のＳｃａｎＦＦ２０ｅが出力した値の反転値を、ＥＸＯＲゲート５５から出力する（図９のＡ６）。
【０１０４】
アドレス側の反転値を制御するＥＸＯＲゲート５４は、ＲＡＭ＿ＲＥＰ端子＝１及びＲＡＭ＿ＭＯＤＥ端子＝１を設定していることから変化しない。
【０１０５】
例えば、実スピードでクロックＣＬＫを動作させ、ＲＡＭ１に書き込んだ値を、実スピードでＲＡＭ１から読み出しを行う。
【０１０６】
同時に、クロックＣＬＫの立ち上がりエッジで、ＳｃａｎＦＦ３２の値が反転し、ＲＡＭ１のＷＥＢ端子の入力信号は、書き込みモード値０に変更する（図９のＡ７）。
【０１０７】
ステップＡ６にて、データ値を反転させた場合、クロックＣＬＫにより、ＳｃａｎＦＦ２０ｅからは、反転値を出力する。
【０１０８】
ＲＡＭ１に対し書き込み・読み出しが指定回数に達したかを判定し、指定回数に達した場合には、ステップＡ９に移る。指定回数に達していない場合には、再度ステップＡ４から実行する（図９のＡ８）。
【０１０９】
ＲＡＭ１から出力された値を、後段のＢＩＳＴ回路内のＳｃａｎＦＦ２０ｂで取り込む（図９のＡ９）。
【０１１０】
ＳｃａｎＦＦ２０ｂへ取り込んだ値をスキャンシフト動作にて、外部スキャンアウト端子（不図示）へ出力し、テスタ等により期待値との比較を行う（図９のＡ１０）。
【０１１１】
制御端子ＲＡＭ＿ＭＯＤＥ端子を０で選択される、通常動作時の経路上のセレクタ回路３１、アドレス信号切り替え回路９、データ信号切り替え回路１０、Ｗｒａｐｐｅｒ回路（セレクタ）１２は、ＢＩＳＴ回路２を挿入するために必要であり、関連技術とタイミング的に、差異は発生しない。
【０１１２】
また、本実施例においては、セレクタ回路５６、セレクタ回路５７がＢＩＳＴ回路２の内部に設けられているが、セレクタ回路５６、セレクタ回路５７の出力は、ＢＩＳＴ内部のＳｃａｎＦＦ２０ｄ、ＢＩＳＴ内部のＳｃａｎＦＦ２０ｅに接続されており、タイミング的に関連技術との差異は発生しない。
【０１１３】
本実施例によれば、ＲＡＭ１に与えるデータ信号とアドレス信号をデータ・アドレス信号生成回路部５で制御し、データ信号については、任意の期間で変更可能であり、ＷＥＢ信号が、クロックＣＬＫに同期して反転する。このため、ＲＡＭ１の特定アドレスにデータを、連続且つ高速に、書き込み・読み出しするテスト（データを書き込み、書き込んだデータを読み出して期待値と比較するテスト）ができる。
【０１１４】
図１０は、図７の回路構成を用いて、特定アドレスに対して実スピードでＵＤＬを経由したＲＡＭの書き込み・読み出しテストを行うフローチャートである。図７及び図１０を参照して、ＲＡＭの特定アドレスに対しＵＤＬを経由し書き込んだデータ信号を実スピードで読み出すテストの動作を説明する。なお、図９を参照して説明した動作と同じ動作のステップは、その説明を省略し、相違点について説明する。
【０１１５】
図９のＡ１で設定したモード設定のＲＡＭ＿ＢＩＴ＿ＡＤ＝１をＲＡＭ＿ＢＩＴ＿ＡＤ＝０にモード設定する（図１０のＢ１）。
【０１１６】
この設定により、ＲＡＭのデータラインに接続するデータ信号切り替え回路１０は選択制御信号が０となりＵＤＬ部１６側を選択する。その他の端子設定と選択経路は、図９のステップＡ１と同じである。
【０１１７】
スキャンシフト動作により、各ＳｃａｎＦＦへ値を設定し（図１０のＢ２）、ＲＡＭ１を書き込みモードに設定する（図１０のＢ３）。すなわち、クロックを動作させ、ＵＤＬ部１６を経由したデータ入力値をＲＡＭ１に書き込む。同時に、クロック動作により、図７のＳｃａｎＦＦ３２はインバータ回路３３を経由し自身の出力値の反転値を取り込むため、ＲＡＭ１のＷＥＢは読み出しモード値１となる（図１０のＢ４）。ＲＡＭ１のアドレスは、データ・アドレス信号生成回路部５内部の自身の値を取り込むＢＩＳＴ内部のＳｃａｎＦＦ２０ｄの信号で制御するため変化しない。
【０１１８】
その後、実スピードでクロックを動作させ、ＲＡＭ１に書き込んだ値を実スピードでＲＡＭ１から読み出しを行う（図１０のＢ５）。
【０１１９】
つぎに、ＲＡＭ１の出力端子に接続しているＢＩＳＴ回路内のＳｃａｎＦＦにてＲＡＭ１から出力される値を取り込む（図１０のＢ６）。Ｂ６は、図９のＡ９に対応する。そして、スキャンシフト動作によりＳｃａｎＦＦの値を外部スキャンアウト端子に出力し期待値と比較する（図１０のＢ７）。
【０１２０】
本実施例によれば、前記第１の実施例の構成に対し、モード設定を変更することで、ＲＡＭ１のデータ信号のみＵＤＬ側を選択し、ＲＡＭ１のアドレス信号は、データ・アドレス信号生成回路部５からのアドレス信号を選択し、ＷＥＢ信号はＷＥＢ生成回路部３で制御する。このため、ＲＡＭ１の特定アドレスに対して、ＵＤＬを経由して書き込んだデータ信号を実スピードで読み出すテストを行うことができる。
【０１２１】
次に、本発明の第３の実施例を説明する。図１１は、本発明の第３の実施例の構成を示す図である。本実施例においては、ＷＥＢ生成回路部３が、前記第１の実施例のＳｃａｎＦＦ３２のかわりに、シフトレジスタ３４を備えている。このシフトレジスタ３４は、複数のＳｃａｎＦＦで構成したｎ段のシフトレジスタよりなる。この場合、シフトレジスタの段数分の範囲で、書き込み・読み出しテストが可能となる。
【０１２２】
図１１において、例えばシフトレジスタ３４を５段のＳｃａｎＦＦで構成しシフトレジスタに”０００００”を設定した場合、ＲＡＭ１のＷＥＢを制御する信号値は、５クロック毎に変更するため、ＲＡＭ１への書き込みと読み出しが、５クロック毎（書き込み連続５サイクル、読み出し連続５サイクル）に行われる。
【０１２３】
また、”０１０１０”と設定すれば、１クロック毎に、ＲＡＭ１への書き込みと読み出しが行われるため、第１の実施例と同じ動作となる。
【０１２４】
このように、本実施例においては、ＷＥＢ生成回路部３をシフトレジスタ構成とすることで、ＲＡＭ１への書き込みと読み出しの動作をシフトレジスタ段数分の範囲で任意に設定可能となる。
【０１２５】
また本実施例においては、ＷＥＢ生成回路部３のフリップフロップを、シフトレジスタ構成とすることで、書き込みと読み出しの期間をシフトレジスタ段数分の範囲で制御することが可能となることから、任意の周波数でのＲＡＭ１への書き込みと読み出しテストが可能となる。
【０１２６】
前述したように、ＲＡＭのテストには、ＢＩＳＴを用いられるのが一般的であるが、この場合、作りこんだＢＩＳＴのアルゴリズムに沿ったテストしかできない。また、ＢＩＳＴは、ＲＡＭのテストが目的である（ＲＡＭのテスト用に設計されている）ことから、このＢＩＳＴでＲＡＭ周辺を含めたテストを行うことはできない。
【０１２７】
本実施例によれば、ＢＩＳＴ内部のＲＡＭデータ、及びアドレスを制御するＳｃａｎＦＦの入力に、データ・アドレス信号生成回路部と、ＲＡＭのＷＥＢ制御にＷＥＢ生成回路部と、データ・アドレス信号生成回路部とＷＥＢ生成回路部の制御、及びＲＡＭへ入力する信号を制御するテスト信号制御回路部を付加することで、これまで実現不可能であった、
・特定アドレスにデータを、連続且つ実スピードで書き込み・読み出しするテスト、及び、
・ＵＤＬを経由して書き込んだデータ信号を実スピードで読み出すテスト
を実現することができる。この結果、ＲＡＭの動作に沿ったテストを実施可能としている。
【０１２８】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【０１２９】
【図１】本発明の一実施例の構成を示す図である。
【図２】（Ａ）、（Ｂ）は図１のＷＥＢ生成回路部の回路構成の一例と動作を示す図である。
【図３】図１のテスト信号制御回路部の回路構成の一例を示す図である。
【図４】図３のテスト信号制御回路部の動作を説明する図である。
【図５】図１のデータ・アドレス信号生成回路部の回路構成の一例を示す図である。
【図６】図５のデータ・アドレス信号生成回路部の動作を説明する図である。
【図７】本発明の一実施例の回路構成の一例を示す図である。
【図８】（Ａ）、（Ｂ）は図７の回路のモード設定と入力信号、セレクタの選択の関係、を示す図である。
【図９】本発明の一実施例のテストの一例を説明するフローチャートである。
【図１０】本発明の一実施例のテストの他の例を説明するフローチャートである。
【図１１】図１のＷＥＢ生成回路部の回路構成の別の例を示す図である。
【図１２】特許文献１の構成を示す図である。
【符号の説明】
【０１３０】
１：被検査ＲＡＭ
２：ＢＩＳＴ回路
３：ＷＥＢ生成回路部
４：テスト信号制御回路部
５：データ・アドレス信号生成回路部
６：テストモード制御回路（ＡＮＤゲート）
７：テストモード制御回路（インバータ）
８：チップセレクト信号切り替え回路（セレクタ）
９：アドレス信号切り替え回路（セレクタ）
１０：データ信号切り替え回路（セレクタ）
１１：Ｗｒａｐｐｅｒ回路（ＳｃａｎＦＦ）
１２：Ｗｒａｐｐｅｒ回路（セレクタ）
１３、１４、１５、１６、１７：ＵＤＬ部
２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅ：ＳｃａｎＦＦ（ＢＩＳＴ内部）
３１：セレクタ回路
３２：ＳｃａｎＦＦ
３３：インバータ回路
３４：シフトレジスタ
４１、４２、４３、５１、５３：ＡＮＤゲート
４４、４５：ＯＲゲート
５２：インバータ回路
５４、５５：ＥＸＯＲゲート
５６、５７：セレクタ回路
９１１：アドレス発生器
９１２：被検査メモリ
９１３：データ発生器
９１４：データ比較器
９１５：アドレス変更用レジスタ
９１６：排他的論理和回路
９１７：反転パターン設定用レジスタ
９１８：論理反転回路
９１９：メモリコントロール用レジスタ
９１９ａ、９１９ｂ、…９１９ｎ：シフトレジスタ
【図１】
0005014907.tif 000002
【図２】
0005014907.tif 000003
【図３】
0005014907.tif 000004
【図４】
0005014907.tif 000005
【図５】
0005014907.tif 000006
【図６】
0005014907.tif 000007
【図７】
0005014907.tif 000008
【図８】
0005014907.tif 000009
【図９】
0005014907.tif 000010
【図１０】
0005014907.tif 000011
【図１１】
0005014907.tif 000012
【図１２】
0005014907.tif 000013