(57)【特許請求の範囲】
【請求項１】
メモリテスト装置により、ｎビット（ｎは３以上の整数）を有するアドレスを生成し、前記アドレスを用いてテストデータの読み書きをメモリに対して行うことによりメモリテストを行うメモリテスト方法において、
前記メモリテスト装置は、
それぞれ異なる２ｎ個のアドレスであって、
前記ｎビットのすべてが０又は１のいずれか一の値である第１のアドレスと、
前記ｎビットのうちの第１ビットが０又は１のうちの他の値であり、第２ビット乃至第ｎビットが前記０又は１のいずれか一の値である第２のアドレスと、
第ｋビット（ｋは、２以上（ｎ−１）以下の整数のうちのいずれかの整数）を除いて前記０又は１のいずれか一の値であり、前記第ｋビットが前記０又は１のうちの他の値である第（２ｋ−１）のアドレスと、前記ｎビットのうちの第１ビット乃至第ｋビットの全てが前記０又は１のうちの他の値であり、第（ｋ＋１）ビット乃至第ｎビットの全てが前記０又は１のいずれか一の値を有する第２ｋのアドレスとが、前記ｋが２から（ｎ−１）までの全ての整数値を順にとることにより交互に現れる第３のアドレス乃至第（２ｎ−２）のアドレスと、
前記ｎビットのうちの第１ビット乃至第（ｎ−１）ビットが前記０又は１のいずれか一の値であり、第ｎビットが前記０又は１のうちの他の値である第（２ｎ−１）のアドレスと、
前記ｎビットのすべてが前記０又は１のうちの他の値である第２ｎのアドレスと、
を含む２ｎ個のアドレスを順次生成するステップと、
前記メモリにおける前記２ｎ個のアドレスそれぞれに対して、テストデータを書き込むステップと、
その後、前記メモリにおける前記２ｎ個のアドレスそれぞれから、テストデータを読み出すステップと、
前記メモリに書き込んだテストデータと前記メモリから読み出したテストデータを、それぞれ比較するステップと、
前記メモリに書き込んだテストデータと前記メモリから読み出したテストデータを、それぞれ比較した結果、一致しない場合には前記メモリが異常であると判定するステップを実行することを特徴とするメモリテスト方法。
【請求項２】
前記２ｎ個のアドレスを順次生成するステップは、前記ｎビットの全てが０であるアドレスを前記第１のアドレスとし、前記第１のアドレスの最下位ビットを１として第２のアドレスを生成し、前記第２のアドレスに桁上がりを発生させることにより第３のアドレスを生成し、前記第３のアドレスの桁上がりしたビットより下位のビットをすべて１として第４のアドレスを生成し、前記桁上がりを発生させることによるアドレスの生成と前記桁上がりしたビットより下位のビットをすべて１とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成することを特徴とする請求項１に記載のメモリテスト方法。
【請求項３】
前記２ｎ個のアドレスそれぞれから、テストデータを読み出すステップは、
前記ｎビットの全てが１であるアドレスを第１のアドレスとし、当該第１のアドレスの最下位ビットを０として第２のアドレスを生成し、当該第２のアドレスに桁下がりを発生させることにより第３のアドレスを生成し、当該第３のアドレスの桁下がりしたビットより下位のビットをすべて０として第４のアドレスを生成し、前記桁下がりを発生させることによるアドレスの生成と前記桁下がりしたビットより下位のビットをすべて０とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成して、生成した２ｎ個のアドレスのそれぞれを反転して生成されるアドレスのそれぞれからテストデータを読み出すことを特徴とする請求項２に記載のメモリテスト方法。
【請求項４】
前記２ｎ個のアドレスを順次生成するステップは、前記ｎビットの全てが１であるアドレスを第１のアドレスとし、当該第１のアドレスの最下位ビットを０として第２のアドレスを生成し、当該第２のアドレスに桁下がりを発生させることにより第３のアドレスを生成し、当該第３のアドレスの桁下がりしたビットより下位のビットをすべて０として第４のアドレスを生成し、前記桁下がりを発生させることによるアドレスの生成と前記桁下がりしたビットより下位のビットをすべて０とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成して、生成した２ｎ個のアドレスのそれぞれを反転して前記２ｎ個のアドレスを生成することを特徴とする請求項１に記載のメモリテスト方法。
【請求項５】
前記２ｎ個のアドレスそれぞれから、テストデータを読み出すステップは、前記ｎビットの全てが０であるアドレスを第１のアドレスとし、当該第１のアドレスの最下位ビットを１として第２のアドレスを生成し、当該第２のアドレスに桁上がりを発生させることにより第３のアドレスを生成し、当該第３のアドレスの桁上がりしたビットより下位のビットをすべて１として第４のアドレスを生成し、前記桁上がりを発生させることによるアドレスの生成と前記桁上がりしたビットより下位のビットをすべて１とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成して、生成した２ｎ個のアドレスのそれぞれからテストデータを読み出すことを特徴とする請求項４に記載のメモリテスト方法。
【請求項６】
前記２ｎ個のアドレスを生成するステップは、
全ビットが０であるアドレスを第１のアドレスとして生成するステップと、
前記第１のアドレスの最下位ビットに１を書き込むことにより第２のアドレスを生成するステップと、
前記第２のアドレスに対して１を加算することにより第３のアドレスを生成するステップと、
前記第３のアドレスの最下位ビットに１を書き込むことにより第４のアドレスを生成するステップと、
第２ｐ（２≦ｐ≦ｎ−１）のアドレスに対して１を加算することにより第（２ｐ＋１）のアドレスを生成し、前記第（２ｐ＋１）のアドレスが有する１の値が書き込まれているビットより下位のビットの全てに１を書き込むことにより第２（ｐ＋１）のアドレスを生成することを、ｐが２から（ｎ−１）である全てのｐに対して繰り返すことにより第５乃至第２ｎのアドレスを順次生成するステップを有することを特徴とする請求項１に記載のメモリテスト方法。
【請求項７】
前記アドレスを生成するステップは、
全ビットが０であるアドレスを第１の書き込みアドレスとして生成するステップと、
前記第１の書き込みアドレスの最下位ビットに１を書き込むことにより第２の書き込みアドレスを生成するステップと、
前記第２の書き込みアドレスに対して１を加算することにより第３の書き込みアドレスを生成するステップと、
前記第３の書き込みアドレスの最下位ビットに１を書き込むことにより第４の書き込みアドレスを生成するステップと、
第２ｐ（２≦ｐ≦ｎ−１）の書き込みアドレスに対して１を加算することにより第（２ｐ＋１）の書き込みアドレスを生成するとともに、前記第（２ｐ＋１）の書き込みアドレスが有する１の値が書き込まれているビットより下位のビットの全てに１を書き込むことにより第２（ｐ＋１）の書き込みアドレスを生成することを、ｐが２からｎ−１である全てのｐに対して繰り返すことにより第５乃至第２ｎの書き込みアドレスを順次生成するステップを有し、
前記テストデータを読み出すステップは、
全ビットが１であるアドレスを第１の読み込みアドレスとして生成するステップと、
前記第１の読み込みアドレスの最下位ビットに０を書き込むことにより第２の読み込みアドレスを生成するステップと、
前記第２の読み込みアドレスに対して１を減算することにより第３の読み込みアドレスを生成するステップと、
前記第３の読み込みアドレスの最下位ビットに０を書き込むことにより第４の読み込みアドレスを生成するステップと、
第２ｐ（２≦ｐ≦ｎ−１）の読み込みアドレスに対して１を減算することにより第（２ｐ＋１）の読み込みアドレスを生成するとともに、前記第（２ｐ＋１）の読み込みアドレスが有する０の値が書き込まれているビットより下位のビットの全てに０を書き込むことにより第２（ｐ＋１）の読み込みアドレスを生成することを、ｐが２から（ｎ−１）である全てのｐに対して繰り返すことにより第５乃至第２ｎの読み込みアドレスを順次生成するステップと、
前記第１乃至第２ｎの読み込みアドレスを生成するステップにおいて生成したアドレスをそれぞれ反転した２ｎ個の反転アドレスを用いて、前記テストデータを２ｎ個読み出すステップであることを特徴とする請求項３記載のメモリテスト方法。
【請求項８】
ｎビット（ｎは３以上の整数）を有するアドレスを生成し、前記アドレスを用いてテストデータの読み書きをメモリに対して行うことによりメモリテストを行うメモリテスト装置において、
前記ｎビットのすべてが０又は１のいずれか一の値である第１のアドレスと、
前記ｎビットのうちの第１ビットが０又は１のうちの他の値であり、第２ビット乃至第ｎビットが前記０又は１のいずれか一の値である第２のアドレスと、
第ｋビット（ｋは、２以上（ｎ−１）以下の整数のうちのいずれかの整数）を除いて前記０又は１のいずれか一の値であり、前記第ｋビットが前記０又は１のうちの他の値である第（２ｋ−１）のアドレスと、前記ｎビットのうちの第１ビット乃至第ｋビットの全てが前記０又は１のうちの他の値であり、第（ｋ＋１）ビット乃至第ｎビットの全てが前記０又は１のいずれか一の値を有する第２ｋのアドレスとが、前記ｋが２から（ｎ−１）までの全ての整数値を順にとることにより交互に現れる第３のアドレス乃至第（２ｎ−２）のアドレスと、
前記ｎビットのうちの第１ビット乃至第（ｎ−１）ビットが前記０又は１のいずれか一の値であり、第ｎビットが前記０又は１のうちの他の値である第（２ｎ−１）のアドレスと、
前記ｎビットのすべてが前記０又は１のうちの他の値である第２ｎのアドレスと、
を含む２ｎ個のアドレスを順次生成するアドレス生成部と、
前記メモリにおける前記２ｎ個のアドレスそれぞれに対して、テストデータを書き込むデータ書き込み部と、
その後、前記メモリにおける前記２ｎ個のアドレスそれぞれから、テストデータを読み出すデータ読み出し部と、
前記メモリに書き込んだテストデータと前記メモリから読み出したテストデータを、それぞれ比較するデータ比較部と、
前記メモリに書き込んだテストデータと前記メモリから読み出したテストデータを、それぞれ比較した結果、一致しない場合には前記メモリが異常であると判定するテスト判定部を有することを特徴とするメモリテスト装置。
【請求項９】
前記２ｎ個のアドレスを順次生成するアドレス生成部は、前記ｎビットの全てが０であるアドレスを前記第１のアドレスとし、前記第１のアドレスの最下位ビットを１として第２のアドレスを生成し、前記第２のアドレスに桁上がりを発生させることにより第３のアドレスを生成し、前記第３のアドレスの桁上がりしたビットより下位のビットをすべて１として第４のアドレスを生成し、前記桁上がりを発生させることによるアドレスの生成と前記桁上がりしたビットより下位のビットをすべて１とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成することを特徴とする請求項８に記載のメモリテスト装置。
【請求項１０】
前記２ｎ個のアドレスを順次生成するアドレス生成部は、前記ｎビットの全てが１であるアドレスを前記第１のアドレスとし、前記第１のアドレスの最下位ビットを０として第２のアドレスを生成し、前記第２のアドレスに桁下がりを発生させることにより第３のアドレスを生成し、前記第３のアドレスの桁下がりしたビットより下位のビットをすべて０として第４のアドレスを生成し、前記桁下がりを発生させることによるアドレスの生成と前記桁下がりしたビットより下位のビットをすべて０とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成することを特徴とする請求項８に記載のメモリテスト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリをテストする方法および装置に関し、特に、メモリおよびＢＩＳＴ（（Built in Self Test）回路をテストする方法および装置に関する。
【背景技術】
【０００２】
従来から、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、疑似ＳＲＡＭ（Pseudo Static Random Access Memory）などのメモリが正常であるか否かをテストするためにＢＩＳＴ回路が実装され、ＢＩＳＴによるテストが行われている（下記特許文献１、２参照）。ＢＩＳＴによるテストは、ＬＳＩ（Large Scale Integration）などで形成されたメモリコントローラにＢＩＳＴモジュールを組み込んで行われる。
【０００３】
ＢＩＳＴによるメモリテストでは、データの書き込み、読み出しは、メモリ空間の全てのアドレスにわたって行われる。したがって、例えばアドレスのビット数が２０bitの場合、言い換えればアドレス線が２０本の場合には、少なくとも２20回のデータの読み出し、書き込みが必要となる。
【０００４】
ところで、メモリをテストするだけでなく、メモリに代わるテスト用回路を接続してアドレス線あるいはＢＩＳＴ自体のテストも行われている。しかし、メモリ空間全体にわたるテストでは、ＢＩＳＴ自体のテストを完了するまでに膨大な時間がかかる。したがって、従来ＢＩＳＴの動作を検証するテストは、簡易テストモードとして下位のアドレスに対してテストを行っていた。しかしながら、上位アドレスまで動作させていないので、上位アドレスに対応するアドレス線にショートあるいは断線などの異常があるか否かを判断することができなかった。また、簡易テストモードを実際のメモリテストに用いることもできなかった。
【特許文献１】特開平６−２４２１９０号公報
【特許文献２】特許第３６６７１４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の問題点に鑑み、上位アドレスに対してもテストが行われ、かつ短時間でテストが終了するメモリテスト方法および装置が提供される。
【課題を解決するための手段】
【０００６】
このメモリテスト方法は、メモリテスト装置により、ｎビット（ｎは３以上の整数）を有するアドレスを生成し、前記アドレスを用いてテストデータの読み書きをメモリに対して行うことによりメモリテストを行うメモリテスト方法において、前記メモリテスト装置は、それぞれ異なる２ｎ個のアドレスであって、前記ｎビットのすべてが０又は１のいずれか一の値である第１のアドレスと、前記ｎビットのうちの第１ビットが０又は１のうちの他の値であり、第２ビット乃至第ｎビットが前記０又は１のいずれか一の値である第２のアドレスと、第ｋビット（ｋは、２以上（ｎ−１）以下の整数のうちのいずれかの整数）を除いて前記０又は１のいずれか一の値であり、前記第ｋビットが前記０又は１のうちの他の値である第（２ｋ−１）のアドレスと、前記ｎビットのうちの第１ビット乃至第ｋビットの全てが前記０又は１のうちの他の値であり、第（ｋ＋１）ビット乃至第ｎビットの全てが前記０又は１のいずれか一の値を有する第２ｋのアドレスとが、前記ｋが２から（ｎ−１）までの全ての整数値を順にとることにより交互に現れる第３のアドレス乃至第（２ｎ−２）のアドレスと、前記ｎビットのうちの第１ビット乃至第（ｎ−１）ビットが前記０又は１のいずれか一の値であり、第ｎビットが前記０又は１のうちの他の値である第（２ｎ−１）のアドレスと、前記ｎビットのすべてが前記０又は１のうちの他の値である第２ｎのアドレスと、を含む２ｎ個のアドレスを順次生成するステップと、前記メモリにおける前記２ｎ個のアドレスそれぞれに対して、テストデータを書き込むステップと、その後、前記メモリにおける前記２ｎ個のアドレスそれぞれから、テストデータを読み出すステップと、前記メモリに書き込んだテストデータと前記メモリから読み出したテストデータを、それぞれ比較するステップと、前記メモリに書き込んだテストデータと前記メモリから読み出したテストデータを、それぞれ比較した結果、一致しない場合には前記メモリが異常であると判定するステップを実行する。
【０００７】
また、このメモリテスト方法では、前記２ｎ個のアドレスを順次生成するステップは、前記ｎビットの全てが０であるアドレスを前記第１のアドレスとし、前記第１のアドレスの最下位ビットを１として第２のアドレスを生成し、前記第2のアドレスに桁上がりを発生させることにより第3のアドレスを生成し、前記第３のアドレスの桁上がりしたビットより下位のビットをすべて１として第４のアドレスを生成し、前記桁上がりを発生させることによるアドレスの生成と前記桁上がりしたビットより下位のビットをすべて１とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成するようにしてもよい。
【０００８】
さらに、このメモリテスト方法では、前記２ｎ個のアドレスそれぞれから、テストデータを読み出すステップは、前記ｎビットの全てが１であるアドレスを第１のアドレスとし、当該第１のアドレスの最下位ビットを０として第２のアドレスを生成し、当該第２のアドレスに桁下がりを発生させることにより第３のアドレスを生成し、当該第３のアドレスの桁下がりしたビットより下位のビットをすべて０として第４のアドレスを生成し、前記桁下がりを発生させることによるアドレスの生成と前記桁下がりしたビットより下位のビットをすべて０とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成して、生成した２ｎ個のアドレスのそれぞれを反転して生成されるアドレスのそれぞれからテストデータを読み出すようにしてもよい。
【０００９】
さらに、このメモリテスト方法では、前記２ｎ個のアドレスを順次生成するステップは、前記ｎビットの全てが１であるアドレスを第１のアドレスとし、当該第１のアドレスの最下位ビットを０として第２のアドレスを生成し、当該第２のアドレスに桁下がりを発生させることにより第３のアドレスを生成し、当該第３のアドレスの桁下がりしたビットより下位のビットをすべて０として第４のアドレスを生成し、前記桁下がりを発生させることによるアドレスの生成と前記桁下がりしたビットより下位のビットをすべて０とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成して、生成した２ｎ個のアドレスのそれぞれを反転して前記２ｎ個のアドレスを生成するようにしてもよい。
【００１０】
さらに、このメモリテスト方法では、前記２ｎ個のアドレスそれぞれから、テストデータを読み出すステップは、前記ｎビットの全てが０であるアドレスを第１のアドレスとし、当該第１のアドレスの最下位ビットを１として第２のアドレスを生成し、当該第2のアドレスに桁上がりを発生させることにより第3のアドレスを生成し、当該第３のアドレスの桁上がりしたビットより下位のビットをすべて１として第４のアドレスを生成し、前記桁上がりを発生させることによるアドレスの生成と前記桁上がりしたビットより下位のビットをすべて１とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成して、生成した２ｎ個のアドレスのそれぞれからテストデータを読み出すようにしてもよい。
【００１１】
さらに、このメモリテスト方法では、前記２ｎ個のアドレスを生成するステップは、全ビットが０であるアドレスを第１のアドレスとして生成するステップと、前記第１のアドレスの最下位ビットに１を書き込むことにより第２のアドレスを生成するステップと、前記第２のアドレスに対して１を加算することにより第３のアドレスを生成するステップと、前記第３のアドレスの最下位ビットに１を書き込むことにより第４のアドレスを生成するステップと、第２ｐ（２≦ｐ≦ｎ−１）のアドレスに対して１を加算することにより第（２ｐ＋１）のアドレスを生成し、前記第（２ｐ＋１）のアドレスが有する１の値が書き込まれているビットより下位のビットの全てに１を書き込むことにより第２（ｐ＋１）のアドレスを生成することを、ｐが２から（ｎ−１）である全てのｐに対して繰り返すことにより第５乃至第２ｎのアドレスを順次生成するステップを有するようにしてもよい。
【００１２】
さらに、このメモリテスト方法では、前記アドレスを生成するステップは、全ビットが０であるアドレスを第１の書き込みアドレスとして生成するステップと、前記第１の書き込みアドレスの最下位ビットに１を書き込むことにより第２の書き込みアドレスを生成するステップと、前記第２の書き込みアドレスに対して１を加算することにより第３の書き込みアドレスを生成するステップと、前記第３の書き込みアドレスの最下位ビットに１を書き込むことにより第４の書き込みアドレスを生成するステップと、第２ｐ（２≦ｐ≦ｎ−１）の書き込みアドレスに対して１を加算することにより第（２ｐ＋１）の書き込みアドレスを生成するとともに、前記第（２ｐ＋１）の書き込みアドレスが有する１の値が書き込まれているビットより下位のビットの全てに１を書き込むことにより第２（ｐ＋１）の書き込みアドレスを生成することを、ｐが２からｎ−１である全てのｐに対して繰り返すことにより第５乃至第２ｎの書き込みアドレスを順次生成するステップを有し、前記テストデータを読み出すステップは、全ビットが１であるアドレスを第１の読み込みアドレスとして生成するステップと、前記第１の読み込みアドレスの最下位ビットに０を書き込むことにより第２の読み込みアドレスを生成するステップと、前記第２の読み込みアドレスに対して１を減算することにより第３の読み込みアドレスを生成するステップと、前記第３の読み込みアドレスの最下位ビットに０を書き込むことにより第４の読み込みアドレスを生成するステップと、第２ｐ（２≦ｐ≦ｎ−１）の読み込みアドレスに対して１を減算することにより第（２ｐ＋１）の読み込みアドレスを生成するとともに、前記第（２ｐ＋１）の読み込みアドレスが有する０の値が書き込まれているビットより下位のビットの全てに０を書き込むことにより第２（ｐ＋１）の読み込みアドレスを生成することを、ｐが２から（ｎ−１）である全てのｐに対して繰り返すことにより第５乃至第２ｎの読み込みアドレスを順次生成するステップと、前記第１乃至第２ｎの読み込みアドレスを生成するステップにおいて生成したアドレスをそれぞれ反転した２ｎ個の反転アドレスを用いて、前記テストデータを２ｎ個読み出すステップであってもよい。
【００１３】
ｎビット（ｎは３以上の整数）を有するアドレスを生成し、前記アドレスを用いてテストデータの読み書きをメモリに対して行うことによりメモリテストを行うメモリテスト装置において、前記ｎビットのすべてが０又は１のいずれか一の値である第１のアドレスと、前記ｎビットのうちの第１ビットが０又は１のうちの他の値であり、第２ビット乃至第ｎビットが前記０又は１のいずれか一の値である第２のアドレスと、第ｋビット（ｋは、２以上（ｎ−１）以下の整数のうちのいずれかの整数）を除いて前記０又は１のいずれか一の値であり、前記第ｋビットが前記０又は１のうちの他の値である第（２ｋ−１）のアドレスと、前記ｎビットのうちの第１ビット乃至第ｋビットの全てが前記０又は１のうちの他の値であり、第（ｋ＋１）ビット乃至第ｎビットの全てが前記０又は１のいずれか一の値を有する第２ｋのアドレスとが、前記ｋが２から（ｎ−１）までの全ての整数値を順にとることにより交互に現れる第３のアドレス乃至第（２ｎ−２）のアドレスと、前記ｎビットのうちの第１ビット乃至第（ｎ−１）ビットが前記０又は１のいずれか一の値であり、第ｎビットが前記０又は１のうちの他の値である第（２ｎ−１）のアドレスと、前記ｎビットのすべてが前記０又は１のうちの他の値である第２ｎのアドレスと、を含む２ｎ個のアドレスを順次生成するアドレス生成部と、前記メモリにおける前記２ｎ個のアドレスそれぞれに対して、テストデータを書き込むデータ書き込み部と、その後、前記メモリにおける前記２ｎ個のアドレスそれぞれから、テストデータを読み出すデータ読み出し部と、前記メモリに書き込んだテストデータと前記メモリから読み出したテストデータを、それぞれ比較するデータ比較部と、前記メモリに書き込んだテストデータと前記メモリから読み出したテストデータを、それぞれ比較した結果、一致しない場合には前記メモリが異常であると判定するテスト判定部を有する。
【００１４】
このメモリテスト装置では、前記２ｎ個のアドレスを順次生成するアドレス生成部は、前記ｎビットの全てが０であるアドレスを前記第１のアドレスとし、前記第１のアドレスの最下位ビットを１として第２のアドレスを生成し、前記第2のアドレスに桁上がりを発生させることにより第3のアドレスを生成し、前記第３のアドレスの桁上がりしたビットより下位のビットをすべて１として第４のアドレスを生成し、前記桁上がりを発生させることによるアドレスの生成と前記桁上がりしたビットより下位のビットをすべて１とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成するようにしてもよい。
【００１５】
このメモリテスト装置では、前記２ｎ個のアドレスを順次生成するアドレス生成部は、前記ｎビットの全てが１であるアドレスを前記第１のアドレスとし、前記第１のアドレスの最下位ビットを０として第２のアドレスを生成し、前記第２のアドレスに桁下がりを発生させることにより第３のアドレスを生成し、前記第３のアドレスの桁下がりしたビットより下位のビットをすべて０として第４のアドレスを生成し、前記桁下がりを発生させることによるアドレスの生成と前記桁下がりしたビットより下位のビットをすべて０とすることによるアドレスの生成を繰り返して第５のアドレス乃至第２ｎのアドレスを生成するようにしてもよい。
【発明の効果】
【００１６】
本メモリ方法および装置によると、上位アドレスに対してもテストが行われ、かつ短時間でテストを終了することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して、実施の形態を説明する。
図１は、一実施形態が適用されるＢＩＳＴモジュールを有するＬＳＩの一例を示す図であり、図２は、ＢＩＳＴモジュールの内部構成の一例を示す図である。
【００１８】
図１に示されるように、ＬＳＩ１００では、ＣＰＵ（Central Processor Unit）１０は、バス２０を介してメモリコントローラ３０およびその他のモジュール４０と接続している。さらに、メモリテストのためにＢＩＳＴモジュール２０を備えている。メモリコントローラ３０とＢＩＳＴモジュール２０は、セレクタ５０により選択的にメモリ２００に接続する。メモリコントローラ３０は、通常動作時にメモリ２００を制御する。
【００１９】
ＢＩＳＴモジュールは、セレクタ５０にＢＩＳＴセレクト信号が入力され、ＢＩＳＴ指示・実行要求信号が入力されると、所定のメモリテストが実行される。
【００２０】
図２に示すように、ＢＩＳＴモジュール２０では、ＢＩＳＴ動作を指示する信号は、パラメータ出力装置２５とシーケンサ２４に入力する。パラメータ出力装置２５から、通常テストモードあるいは簡易テストモードを指定するパラメータがアドレスデータ発生器２１に入力する。シーケンサ２４からは、通常テストモードあるいは簡易テストモードに応じたアドレスデータを発生させる手順がアドレスデータ発生器に入力する。なお、アドレスデータ発生器からのアドレスデータは、アドレスの各ビットに対応する配線を用いて並列にメモリに入力する。例えばアドレスのビットが２０ビットであれば、２０本のアドレス線が配置される。
【００２１】
アドレスデータ発生器２１は、パラメータ出力装置２５とシーケンサ２４からの信号に従って、メモリ２００に対するアドレスを発生する。アドレスデータ発生器２１により指定されたアドレスに対して、データ発生モジュール２２によって発生されたデータが書き込まれる。その後、メモリ２００から書き込まれたデータを読み出して、比較器２３に入力し、読み出したデータと書き込んだデータとが比較され、両データが一致するか否かが判定される。一致しなければ、エラーとしてエラー処理を行う。
【００２２】
本実施形態は、シーケンサ２４におけるアドレス指定手順を含むテストとして具体化されるが、ＢＩＳＴモジュール２０外のソフトウェアによりアドレス指定データを発生させ、ＢＩＳＴモジュール２０内に送りアドレスデータ発生器を制御してアドレスデータを発生させることもできる。
【００２３】
図３は、本実施形態におけるメモリテストの動作フローを示す図である。メモリテストでは、指定されたアドレスに対してデータを順次書き込み、書き込みが終了すると指定されたアドレスから順次読み出して、書き込んだデータと読み出したデータとを比較する。以下、２進数あるいは２つの状態を０と１で表現するが、０と１を物理的な２状態に対応させるとき、どちらの状態を１とするか０とするかは、任意である。
【００２４】
まず、アドレスＩの最小値０を指定する（ステップＳ１）。次に、指定されたアドレスＩにすべて１となるデータを書き込む（ステップＳ２）。本例では、説明を簡単にするためにすべて１となるデータを書き込むようにしているが、１と０の組み合わせからなる任意のデータを選択して書き込むこともできる。ステップＳ３では、アドレスＩが最大値であるか否かが判定される。アドレスＩが最大値でなければ、ステップＳ４に進む。
【００２５】
図４は、図３のステップＳ４での動作フローの1例である処理Ａ１を示す図である。処理Ａ１では、アドレスの指定が行われる。
【００２６】
図３のステップＳ３からステップＳ１１に進むと、ステップＳ１１では、今回の処理が簡易テストモードであるか否かが判定される。簡易テストモードでなければ、通常のフルテストモードであるので、ステップＳ１４に進み、アドレスＩをインクリメントして、図３のステップＳ２に戻る。フルテストモードでは、すべてのアドレスが順次指定され、指定されたアドレスにすべて１のデータが書き込まれる。
【００２７】
ステップＳ１１で、簡易テストモードであると判定されると、ステップＳ１２で、アドレスＩが最小値０であるか否かが判定される。アドレスＩが最小値０であれば、ステップＳ１４で、インクリメントしてアドレスＩを１として、図３のステップＳ２に戻る。ステップＳ１２で、アドレスＩが最小値０ではない、すなわち１以上であると判定されると、ステップＳ１３で、アドレスを１ビットだけ上位にシフト（Ｉ＜＜１）させてから１を加えたものをアドレスＩとして、図３のステップＳ２に戻る。ステップＳ２では、指定されたアドレスＩにすべて１のデータを書き込む。このようにして、１より下位のビットは１で埋められたアドレスが指定される。
【００２８】
例えばアドレスＩが８bitの場合、処理Ａ１では、次ぎの例１のようにアドレスＩが指定される。なお、カッコに入れた数字は、参考のための１０進表示である。
【００２９】
（例１）
００００００００（０）
０００００００１（１）
００００００１１（３）
０００００１１１（７）
００００１１１１（１５）
０００１１１１１（３１）
００１１１１１１（６３）
０１１１１１１１（１２７）
１１１１１１１１（２５５）
【００３０】
図３のステップＳ２〜Ｓ４のループを繰り返して、指定されたアドレスにデータを書き込み、ステップＳ３でアドレスＩが最大値に達したことが判定されると、ステップＳ５に進み、読み出し処理に移る。
【００３１】
ステップＳ５では、アドレスＩとして最小値０を指定する。ステップＳ６では、指定されたアドレスＩのデータを読みだす。読み出されたデータは、すべて１であるか否かが判定される。読み出されたデータがすべて１でなければ、エラーであると判断されるので、エラー処理を行う。
【００３２】
ステップＳ６で、読み出されたデータがすべて１であれば、ステップＳ７で、アドレスＩが最大値か否かが判定される。アドレスＩがまだ最大値に達していないと判断されると、ステップＳ８に進む。
【００３３】
ステップＳ８では、ステップＳ４と同様の図４の処理Ａ１を行う。したがって、書き込まれたアドレスと同じアドレスが順次指定されて、ステップＳ６に戻る。したがって、ステップＳ６〜Ｓ８のループを回るたびに、データが書き込まれたアドレスから、データが順次読み出されてすべて１であるか否かが判定される。ステップＳ７で、アドレスＩが最大値と判定されれば、テストは終了する。
【００３４】
この実施形態では、例１のアドレス０００００００１で分るように、ます最下位のアドレス線のみがテストされて正常・異常が判定される。以下、アドレスは、００００００１１、０００００１１１・・・と変化するので、各アドレス線の正常・異常がチェックできる。また、アドレスが8bitである場合を例にとると、通常モードでは２５６回の書き込み／読み出しが行われるのに対し、例１に示すように、簡易モードでは９回の書き込み／読み出しで済む。したがって、テスト時間も大幅に短縮できる。
【００３５】
図５は、図４の処理Ａ１の代替例である処理Ａ２を示す図である。処理Ａ２では、アドレス線のチェックが可能であるとともに、ＢＩＳＴモジュールのアドレスデータ発生器が有するカウンタのチェックをも可能にする。
【００３６】
図３のステップＳ４、すなわち書き込みサイクルでのアドレス指定に処理Ａ２が実行され、ステップＳ８、すなわち読み出しサイクルでのアドレス指定に処理Ａ２が実行される。したがって、処理Ａ２で指定されるアドレスに従ってデータが書き込まれ、処理Ａ２で指定されるアドレスに従ってデータが読み出され、アドレスごとに書き込まれたデータと読み出されたデータとが比較される。
【００３７】
以下、処理Ａ２のみを説明する。
図５のステップＳ２１では、今回の処理が簡易テストモードであるか否かが判定される。簡易テストモードでなければ、フルテストモードであるので、ステップＳ２５に進み、アドレスＩをインクリメントして、図３のステップＳ２に戻る。
【００３８】
ステップＳ２１で、簡易テストモードであると判定されると、ステップＳ２２で、アドレスＩが４より小であるか否かが判定される。アドレスＩが４より小であれば、ステップＳ２５で、インクリメントしてアドレスＩに１を加えたものをアドレスとして、図２のステップＳ２に戻る。したがって、アドレスＩが３までは、インクリメントされるので、アドレスＩは、０、１、１０、１１と変化する。
【００３９】
ステップＳ２２で、アドレスＩが４以上であると判定されると、ステップＳ２３で、（Ｉ−１）とＩとの論理積（ＡＮＤ）をとり、その結果が０であるか否かが判定される。ステップＳ２３で、（Ｉ−１）とＩとのＡＮＤが０となれば、ステップＳ２４でＩ−１とＩの論理和（ＯＲ）をとり、その結果をアドレスＩとして、図３のステップＳ２に戻る。
【００４０】
例えば、アドレスＩが４すなわち１００の場合、アドレス（４−１）＝３は、０１１である。したがって、（Ｉ−１）とＩとのＡＮＤは０となる。新たなアドレスは、（Ｉ−１）とＩとのＯＲである（ステップＳ２４）ので、アドレスは、１００｜０１１＝１１１で与えられる。
【００４１】
ステップＳ２３で、（Ｉ−１）とＩとの論理積が０でなければ、ステップＳ２５でアドレスＩをインクリメントして新たなアドレスＩとして、図３のステップＳ２に戻る。
【００４２】
例えば、アドレスＩが７すなわち１１１であるとすると、（Ｉ−１）は６すなわち１１０であるので、（Ｉ−１）とＩとの論理積は０でない。したがって、アドレスは、１だけインクリメントされて、１０００となる。
【００４３】
処理Ａ２では、例えばアドレスＩが８bitの場合、次ぎの例２のようにアドレスＩが変化する。なお、カッコに入れた数字は、参考のための１０進表示である。
【００４４】
（例２）
００００００００（０）
０００００００１（１）
００００００１０（２）
００００００１１（３）
０００００１００（４）
０００００１１１（７）
００００１０００（８）
００００１１１１（１５）
０００１００００（１６）
０００１１１１１（３１）
００１０００００（３２）
００１１１１１１（６３）
０１００００００（６４）
０１１１１１１１（１２７）
１０００００００（１２８）
１１１１１１１１（２５５）
【００４５】
処理Ａ２においても、すべてのアドレス線がテストされ、また書き込み・読み出しが１６回で済むので、通常モードと比較して短時間でテストを終了させることができる。
【００４６】
本例では、例えば０００１００００のように各アドレス線のみが指定されるので、各アドレス線の正常・異常がより明確に示されるという効果も有している。
【００４７】
さらに、アドレスは、最下位に１をセットした後、カウントアップして桁上がりすなわちキャリーを発生させた後、桁上がりしたビットより下位を１で埋める形で変化してゆく。
【００４８】
例えば例２を参照すると、まず、０００００００１（１）として最下位に１がセットされる。次いで００００００１０（２）のように１を加えてカウントアップし、キャリーを発生させる。その次には、００００００１１（３）のように、桁上がりした１の下位を１で埋める。
【００４９】
次ぎの０００００１００（４）は、００００００１１（３）から桁上がりしたもので、その次ぎの０００００１１１（７）は、０００００１００（４）の下位を１で埋めたものになっている。このようにして、桁上がり処理と下位を１で埋める処理とが繰り返されて、アドレスが指定されてゆく。例２では、７回の桁上がり処理が行われる。
【００５０】
したがって、処理Ａ２のようにキャリーが生じるアドレスの変化をテストに組み込むことにより、キャリー処理で動作するアドレスデータ発生器に設けられているアドレスカウンタのテストも行うことができる。
【００５１】
図６は、他の一実施形態であるメモリテストの動作フローを示す図である。
図３では、アドレス指定に際して、アドレス最小値からアドレス最大値に向かって変化させているが、図６に示す実施形態は、アドレス最大値からアドレス最小値に向かって変化させる。
【００５２】
まず、アドレス最大値を指定して（ステップＳ３１）、指定したアドレスに対してすべて１のデータを書き込む（ステップＳ３２）。前述のように、指定したアドレスに書き込むデータをすべて１とするのは、単なる１例であり、これに限定されるものではない。次に、アドレスＩが最小値になっているかが判定され（ステップＳ３３）、アドレスＩが最小値に達していなければ、ステップＳ３４で次ぎのアドレスを指定する。ステップＳ３４におけるアドレス指定については、後に詳しく説明する。
【００５３】
アドレスが指定されると、ステップＳ３２に戻る。ステップＳ３２〜Ｓ３４のループが繰り返され、指定されたすべてのアドレスにデータが書き込まれ、ステップＳ３３でアドレスＩが最小値に達していると判断されれば、ステップＳ３５に進む。
【００５４】
ステップＳ３５以下のステップは、書き込まれたデータを読み出すステップである。アドレスＩとして最大アドレスが指定され（ステップＳ３５）、指定されたアドレスＩからデータが読み出され、すべて１であるか否かが判定される（ステップＳ３６）。すべて１でなければ、エラー処理へ進む。
【００５５】
すべて１であれば、ステップＳ３７で、アドレスＩが最小値に達しているか否かが判定される。アドレスＩが最小値に達していなければ、ステップＳ３８に進み、ステップＳ３４と同一の処理を行って次ぎのアドレスを指定して、ステップＳ３６に戻る。
【００５６】
このようにして、ステップＳ３６〜Ｓ３８のループを繰り返し、アドレスが最小値に達すると（ステップＳ３７）、テストは終了する。
【００５７】
図７は、ステップＳ３４とＳ３８で実行される処理の一例である処理Ｂ１のフローを示す図である。
【００５８】
処理Ｂ１は、ステップＳ４１〜ステップ４３を有する。ステップＳ４１では、今回のテストが、簡易モードであるか通常モードかが判定される。簡易モードでない場合は、ステップＳ４３に進み、アドレスＩはデクリメントされて、アドレス（Ｉ−１）が指定され、ステップＳ３２に戻る。この場合は通常モードであり、すべてのアドレスでテストが実行される。
【００５９】
ステップＳ４１で、簡易モードであると判断されると、ステップＳ４２で、下位に１ビットシフトして、得られた値とをアドレスとする。
【００６０】
例えばアドレスＩが８bitの場合、ステップＳ５４における処理Ｂ１処理では、次ぎの例３のようにアドレスＩが変化する。なお、カッコに入れた数字は、参考のための１０進表示である。
【００６１】
（例３）
１１１１１１１１（２５５）
０１１１１１１１（１２７）
００１１１１１１（６３）
０００１１１１１（３１）
００００１１１１（１５）
０００００１１１（７）
００００００１１（３）
０００００００１（１）
００００００００（０）
【００６２】
例３は、例１のアドレス指定の順序を逆にしたアドレスになっている。処理Ａ１と処理Ｂ１においては、ｎビット（ｎは正の整数）を有するアドレスに対して、アドレスにおける第１ビット乃至第ｋビット（１≦ｋ≦ｎ）の全てが０又は１のいずれか一の値であり、前記アドレスにおける第（ｋ＋１）ビット乃至第ｎビットの全てが前記０又は１のうちの他の値を有するアドレスを、ｋが１からｎである全てのｋに対して（ｎ＋１）個順次生成される。処理Ｂ１においても、処理Ａ１と同様に、すべてのアドレス線を駆動するので、すべてのアドレス線をチェックできる。また、テスト時間も大幅に短縮できる。
【００６３】
図８は、ステップＳ３４とＳ３８で実行される処理の他の一例である処理Ｂ２のフローを示す図である。
【００６４】
ステップＳ５１では、今回のテストが、簡易モードであるか通常モードかが判定される。簡易モードでない場合は、ステップＳ５５に進み、アドレスＩはデクリメントされて、アドレス（Ｉ−１）が指定され、ステップＳ３２に戻る。この場合は通常モードであり、アドレスの最大値から最小値まですべてのアドレスでテストが実行される。
【００６５】
ステップＳ５１で、簡易モードであると判断されると、ステップＳ５２で、アドレスＩが（最大値−１）と比較される。アドレスＩが（最大値−１）より大きい場合、すなわちアドレスＩが最大値の場合、ステップＳ５５でアドレスＩはデクリメントされて、アドレス（Ｉ−１）が指定される。
【００６６】
ステップＳ５２で、アドレスＩが最大値ではない場合は、ステップＳ５３に進み、アドレスＩの否定より１を引いたものと、アドレスＩの否定とのＡＮＤをとったものが零であるか否かが判定される。当該ＡＮＤが零でなければ、ステップＳ５５で、アドレスはデクリメントされる。当該ＡＮＤが零であれば、ステップＳ５４で、アドレス（Ｉ＋１）とＩとの論理積をとって、その結果をアドレスＩとして指定する。
【００６７】
例えばアドレスＩが８bitの場合、ステップＳ５４における処理Ｂ２では、次ぎの例４のようにアドレスＩが変化する。
【００６８】
（例４）
１１１１１１１１（２５５）
１１１１１１１０（２５４）
１１１１１１０１（２５３）
１１１１１１００（２５２）
１１１１１０１１（２５１）
１１１１１０００（２４８）
１１１１０１１１（２４７）
１１１１００００（２４０）
１１１０１１１１（２３９）
１１１０００００（２２４）
１１０１１１１１（２２３）
１１００００００（１９２）
１０１１１１１１（１９１）
１０００００００（１２８）
０１１１１１１１（１２７）
００００００００（０）
【００６９】
例えば、アドレスＩ＝１１１１１１００を考えると、ステップＳ５３で、notＩ＝００００００１１であるから、notＩ−１＝００００００１０となる。（not（Ｉ）−１）とnotＩとのＡＮＤをとると、０ではない。したがって、アドレスＩ＝１１１１１１００は、ステップＳ５５によりデクリメントされて、新たなアドレスＩは、１１１１１０１１となる。
【００７０】
アドレスＩ＝１１１１１０１１の場合は、ステップＳ５３で、notＩ＝０００００１００であり、notＩ−１＝００００００１１である。（not（Ｉ）−１）とnotＩとのＡＮＤをとると、０となる。したがって、ステップＳ５４で、Ｉ＋１＝１１１１１１００とＩ＝１１１１１１０１１のアンドをとって、その結果である１１１１１０００が新たなアドレスとして指定される。
処理Ａ２と処理Ｂ２においては、処理Ａ１と処理Ｂ２と比較して、第ｋビットが０又は１のいずれか一の値であり、第１ビット乃至第（ｋ−１）ビット及び第（ｋ＋１）ビット乃至第ｎビットの全てが他の値を有するアドレスが生成される。
【００７１】
本例においても、すべてのアドレス線についてテストすることができ、書き込み読み出しの回数も少ないのでテストに要する時間を減少させることができる。アドレス線の一本だけが、他のものと異って０となる場合を含むので、処理Ａ２と同様に各アドレス線の正常・異常が明確に判定できる。
【００７２】
さらに、アドレスは、最下位に０をセットした後、カウントダウンにより桁下がりすなわちボローを発生させ、桁下がりにより０となったビットより下位のビットを０で埋める形で変化している。
【００７３】
例えば例４を参照すると、まず、最下位に０をセットして、１１１１１１１０（２５４）をアドレスに指定する。次いで、１を引くことにより桁下がりを発生させて得られる１１１１１１０１（２５３）をアドレスに指定する。その次には、１１１１１１００（２５２）のように、桁下がりにより得られた０以下のビットを０で埋めてアドレスとする。
【００７４】
次ぎの１１１１１０１１（２５１）は、１１１１１１００（２５２）から１を引くことによって桁下がりを発生させてアドレスとし、その次ぎの１１１１１０００（２４８）は、１１１１１０１１（２５１）の０ビットより下位のビットを０で埋めて生成される。以下、同様に桁下がりと桁下がり後の０より下位を０で埋めるという処理が繰り返される。
【００７５】
処理Ｂ２のようにボローが生じるアドレスの変化をテストに組み込むことにより、ボロー処理で動作するアドレスデータ発生器に設けられているアドレスカウンタのテストを行うことができる。
【００７６】
図９は、書き込み時と読み出し時でアドレスカウントが相違するメモリテストの一例を示す図である。図９では、書き込み時にカウントアップし、読み出し時にカウントダウンする例であるが、書き込み時にカウントダウンし、読み出し時にカウントアップするようにしてもよい。
【００７７】
図９のステップＳ６１〜Ｓ６４は書き込みサイクルで、ステップＳ６５〜Ｓ６８は読み出しサイクルである。書き込みサイクルでは、アドレスの最小値を指定し（ステップＳ６１）、ステップＳ６２〜Ｓ６４のループにおいて、図５の処理Ａ２に従ってアドレスが指定され（ステップＳ６４）、指定されたアドレスに対してすべて１のデータが書き込まれ（ステップＳ６２）、最大値までカウントアップされる。アドレスが８bitの場合の具体的なアドレスの変化は、例２に示すとおりである。
【００７８】
読み出しサイクル（ステップＳ６５〜Ｓ６８）では、最初のアドレスとして最大値を指定する（ステップＳ６５）。次いで、指定されたアドレスの反転を行い、得られたアドレスのデータを読み出して、書き込まれたデータと比較する（ステップＳ６６）。比較の結果両者が異なっていれば、エラー処理が行われる。
【００７９】
ステップＳ６５での比較結果が同一であれば、ステップＳ６７では、アドレスＩが最小値であるか否かが判定される。アドレスＩが最小値でなければ、ステップＳ６８で図８の処理Ｂ２が行われ、次ぎのアドレスが指定され、指定されたアドレスの反転で示されるアドレスからデータが読み出されて比較される（ステップＳ６２）。以下に例５として示すように、処理Ｂ２で指定されるアドレスを反転すると、処理Ａ２で指定されるアドレスとなるので、書き込まれたアドレスのデータが読み出して、比較することができる。処理Ｂ２で順次指定されるアドレスＩが最小値に達する（ステップＳ６７）と、処理は終了する。
【００８０】
以上のように、図９では、書き込み時に処理Ａ２で指定されるアドレスに従ってデータが書き込まれ、読み出し時には処理Ｂ２で指定されるアドレスの反転で示されるアドレスに従ってデータが読み出される。
【００８１】
アドレスＩが８bitの場合、処理Ｂ２では例４に示すようにアドレスが変化する。例４のアドレスの反転は、以下の例５にようになる。
【００８２】
（例５）
００００００００
０００００００１
００００００１０
００００００１１
０００００１００
０００００１１１
００００１０００
００００１１１１
０００１００００
０００１１１１１
００１０００００
００１１１１１１
０１００００００
０１１１１１１１
１０００００００
１１１１１１１１
【００８３】
例５は、処理Ａ２の例を示す例２と同じアドレスを指定している。したがって、書き込み時に処理Ａ２で指定されたアドレスのデータを、処理Ｂ２で指定されたアドレスの反転を行うことにより読み出すことができる。
【００８４】
なお、図９において、ステップＳ６４に処理Ｂ２を使用し、ステップＳ６８に処理Ａ２を使用して、書き込み時にアドレスのカウントダウンを行い、読み出し時にアドレスのカウントアップが行うようにしてもよい。
【００８５】
また、通常モードの場合は、アドレスは、書き込み時には最小値からインクリメントされて、すべてのアドレスにデータが書き込まれる、読み出し時には、アドレスは最大値からデクリメントされて順次指定されるが、反転させると最小値から読み出すことになる。
【００８６】
本実施形態では、処理Ａ２あるいは処理Ｂ２を用いる実施形態と同様の効果を有す得る上に、アドレスデータ発生器のカウンタのアップダウンのテストを同時に行うことができるという利点をもつ。
【００８７】
図１０は、図９と同様に、カウンタのアップダウンを行ってテストするフローの一例を示す図である。図１０においても、書き込み時にアドレスをカウントアップし、読み出し時にアドレスをカウントダウンする。アドレスを指定する処理も書き込み時には処理Ａ２を使用し、読み出し時には処理Ｂ２を使用することも同様である。
【００８８】
ただし、図９では、読み出し時にアドレスの反転を行って、書き込みアドレスと読み出しアドレスを一致させているのに対して、図１０では、読み出し時のアドレスの反転に代えて、書き込み時にアドレス反転を行って、書き込みアドレスと読み出しアドレスを一致させる。
【００８９】
図１０のステップＳ６２ａは、図９のステップＳ６２に対応するステップである。ステップＳ６２ａでは、ステップＳ６４での処理Ａ２で指定されたアドレスを反転して、該反転したアドレスに対して、すべて１のデータを書き込む。
【００９０】
読み出しサイクルのステップＳ６６ａは、図９のステップＳ６６に対応するステップであるが、処理Ｂ２で指定されたアドレスからデータを読み出す。
【００９１】
例４と例５で明らかなように、処理Ａ２により指定されたアドレスと処理Ｂ２により指定されたアドレスとは、互いに反転の関係にある。したがって、処理Ａ２で指定されたアドレスを反転して得られたアドレスに書き込まれたデータは、処理Ｂ２を使用して読み出すことができる。
【００９２】
図１０においても、アドレス線およびアドレス生成回路をチェックすることができ、アドレス生成回路におけるカウンタのアップダウンの両動作をチェックすることができる。なお、図１０においても、ステップＳ６４に処理Ｂ２を使用し、ステップＳ６８に処理Ａ２を使用して、書き込み時にアドレスのカウントダウンを行い、読み出し時にアドレスのカウントアップが行うようにすることもできる。
【００９３】
上述の実施形態では、実際にメモリを接続しないで、アドレス線およびカウンタのテストに使用するとして説明したが、データを書き込んだアドレスに対してデータの読み出しを行っているので、メモリを接続して行うテストにおいても使用することができる。
【図面の簡単な説明】
【００９４】
【図１】本実施形態が適用されるＬＳＩとメモリを示す図である。
【図２】ＬＳＩ内のＢＩＳＴモジュールを示す図である。
【図３】アドレスが最小値からカウントアップされてアドレス指定がされる一実施形態の動作フローを示す図である。
【図４】図３の動作フローのアドレス指定処理の一例を示す図である。
【図５】図３の動作フローのアドレス指定処理の一例を示す図である。
【図６】アドレスが最大値からカウントダウンされてアドレス指定される一実施形態の動作フローを示す図である。
【図７】図６の動作フローのアドレス指定処理の一例を示す図である。
【図８】図６の動作フローのアドレス指定処理の一例を示す図である。
【図９】アドレスのカウントアップとカウントダウンとが組み合わされる一実施形態の動作フローを示す図である。
【図１０】アドレスのカウントアップとカウントダウンとが組み合わされる一実施形態の動作フローを示す図である。
【図１】
0005304030.tif 000002
【図２】
0005304030.tif 000003
【図３】
0005304030.tif 000004
【図４】
0005304030.tif 000005
【図５】
0005304030.tif 000006
【図６】
0005304030.tif 000007
【図７】
0005304030.tif 000008
【図８】
0005304030.tif 000009
【図９】
0005304030.tif 000010
【図１０】
0005304030.tif 000011