(57)【要約】【課題】ＣＰＵのデータバスの幅よりも大きなデータ幅を有するメモリに対し、テストサイクル数を増大させずに試験をすることができるメモリテスト回路を提供する。【解決手段】例えば、メモリ１をマーチング・アルゴリズムで試験する場合、ＣＰＵ２からｎビットのオール“０”の書き込みデータＷＤＴを出力する。ビット拡張部１１によって最上位のビットが拡張され、ｍ（＞ｎ）ビットのオール“０”のデータとして、メモリ１のデータ入力端子に与えられる。一方、メモリ１から読み出されたｍビットのデータは、セレクタ１２でｎビット単位に分割され、読み出しデータＲＤＴとしてＣＰＵ２へ与えられる。【選択図】      図１
2004280924.tif 000002
【特許請求の範囲】
【請求項１】
処理装置のデータ幅よりも大きなデータ幅を有するメモリを試験するためのメモリテスト回路であって、
前記処理装置から与えられる書き込みデータを前記メモリのデータ幅に拡張して該メモリに書き込むデータ拡張手段と、
前記メモリから読み出されたデータを前記処理装置のデータ幅に分割して該処理装置に順次出力するデータ分割手段とを、
備えたことを特徴とするメモリテスト回路。
【請求項２】
前記データ拡張手段は、前記書き込みデータの特定ビットの情報を該書き込みデータに付加して、前記メモリのデータ幅に拡張することを特徴とする請求項１記載のメモリテスト回路。
【請求項３】
前記データ拡張手段は、前記書き込みデータの最上位または最下位ビットの情報を交互に反転させて該書き込みデータに付加し、前記メモリのデータ幅に拡張することを特徴とする請求項１記載のメモリテスト回路。
【請求項４】
前記データ拡張手段は、前記書き込みデータにダイアゴナルパターンを付加して、前記メモリのデータ幅に拡張することを特徴とする請求項１記載のメモリテスト回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵ（中央処理装置）のデータバス幅よりも大きなデータ幅を有するメモリを試験するためのメモリテスト回路に関するものである。
【０００２】
【従来の技術】
【０００３】
【特許文献１】
特開２０００−３５７３７２号公報
【０００４】
ＣＰＵを介さずにデータ演算回路とメモリとの間で直接データの読み書きを行う装置において、メモリの試験をする場合、切り替え回路等を設けてメモリとＣＰＵを接続し、このＣＰＵからメモリに対する読み書きの試験を行う。この時、ＣＰＵのデータバス幅がメモリのデータ幅よりも小さい場合、所望の幅を持つデータをＣＰＵから一度にメモリに書き込むことができないので、データ幅を変換するためのメモリテスト回路が必要になる。
【０００５】
図２は、従来のメモリテスト回路の概略を示す構成図である。
このメモリテスト回路は、ｍビットのデータ幅を有するメモリ（ＭＥＭ）１を、ｎビット（但し、ｍ＞ｎ）のデータバス幅を有するＣＰＵ２を使用して試験するもので、ｍビットとｎビットのデータ幅の変換をするために、ｍビットのレジスタ（ＲＥＧ）３と、Ｌ個（但し、Ｌはｍ／ｎの小数点以下を切り上げた整数）のｎビットのレジスタ４１，４２，…，４Ｌと、セレクタ（ＳＥＬ）５を備えている。レジスタ３は、メモリ１のデータ端子とレジスタ４１〜４Ｌの間に接続され、このレジスタ４１〜４Ｌは、ＣＰＵ１のデータバスに並列に接続されている。また、レジスタ３の保持データは、セレクタ５でｎビット単位に分割及び選択されてＣＰＵ２に与えられるようになっている。
【０００６】
このようなメモリテスト回路では、メモリ１の１ワードに書き込むｍビットの書き込みデータＷＤＴは、ＣＰＵ２からｎビットずつＬ回に分けてレジスタ４１〜４Ｌに順次書き込まれた後、レジスタ３を介してメモリ１に一括して書き込まれる。また、メモリ１から読み出された１ワードのデータは、レジスタ３に一旦保持された後、セレクタ５でｎビット単位に分割され、順次ＣＰＵ２に読み出しデータＲＤＴとして与えられる。従って、メモリ１への書き込み処理が１サイクルで処理できたとしても、読み書きの動作はそれぞれＬ＋１サイクル必要となる。
【０００７】
メモリテストの具体的な手順は後述するが、例えば、マーチング・アルゴリズムによるメモリテストでは、メモリ１の１ワード当たりのテストサイクルとして、書き込み６サイクル＋読み出し４サイクルの合計１０サイクルが必要である。このため、このようなメモリテスト回路では、Ｌ＋１倍の１０（Ｌ＋１）サイクルが必要になる。また、チェッカパターン等の単純なメモリテストにおいても、１ワード当たり４サイクル（書き込み２サイクル＋読み出し２サイクル）であるところを、４（Ｌ＋１）サイクル必要となる。更に、ダイアゴナルパターンによるメモリテストでは、書き込みと読み出しのために２（Ｌ＋１）サイクル必要となる。
【０００８】
【発明が解決しようとする課題】
このように、従来のメモリテスト回路では、メモリ１に書き込むテストデータを、ＣＰＵ２から複数回に分割してレジスタ４１〜４Ｌに書き込むようにしているので、テストサイクルが増大するという課題があった。本発明は、ＣＰＵのデータバス幅よりも大きなデータ幅を有するメモリに対し、テストサイクル数を増大させずに試験をすることができるメモリテスト回路を提供するものである。
【０００９】
【課題を解決するための手段】
前記課題を解決するために、本発明は、処理装置のデータ幅よりも大きなデータ幅を有するメモリを試験するためのメモリテスト回路を、前記処理装置から与えられる書き込みデータを前記メモリのデータ幅に拡張して該メモリに書き込むデータ拡張手段と、前記メモリから読み出されたデータを前記処理装置のデータ幅に分割して該処理装置に順次出力するデータ分割手段とで構成している。
【００１０】
本発明によれば、以上のようにメモリテスト回路を構成したので、次のような動作が行われる。
【００１１】
処理装置から書き込みデータが出力されると、このデータはデータ拡張手段によって試験対象のメモリのデータ幅に拡張されてこのメモリに書き込まれる。一方、メモリに書き込まれたデータが読み出されると、そのデータはデータ分割手段によって処理装置のデータ幅に分割されて順次出力される。
【００１２】
【発明の実施の形態】
（第１の実施形態）
図１は、本発明の第１の実施形態を示すメモリテスト回路の構成図である。
このメモリテスト回路は、ｍビットのデータ幅を有するメモリ１を、ｎビット（但し、ｍ＞ｎ）のデータバス幅を有するＣＰＵ２を使用して試験するもので、メモリ１にデータを一括して書き込むためのデータ拡張手段（例えば、ビット拡張部１１）と、メモリ１から読み出されたデータを分割してＣＰＵ２に与えるためのデータ分割手段（例えば、セレクタ１２及びアドレスデコーダ１３）を備えている。
【００１３】
ビット拡張部１１は、ＣＰＵ２からデータバスを介して出力されるｎビットの書き込みデータＷＤＴをｍビットのデータに拡張するもので、ｎビットの書き込みデータＷＤＴを下位側のビット０〜ビットｎ−１に出力すると共に、上位側のビットｎ〜ビットｍ−１には、ビットｎ−１と同じデータを出力するものである。ビット拡張部１１で拡張されたｍビットのデータは、メモリ１のデータ入力端子に与えられるようになっている。
【００１４】
セレクタ１２は、メモリ１のデータ出力端子から出力されるｍビットのデータを、Ｌ個のｎビットのデータに分割して、ＣＰＵ２に読み出しデータＲＤＴとして与えるものである。尚、ｍがｎの整数倍でない場合には、上位側に例えば“０”の付加ビットが追加され、各読み出しデータＲＤＴがｎビットに調整されるようになっている。
【００１５】
アドレスデコーダ１３は、ＣＰＵ２から出力されるアドレス信号ＡＤＲの上位ビットを解読して、セレクタ１２に対する選択信号を生成するものである。尚、アドレス信号ＡＤＲは、メモリ１に対して読み書きの領域を指定するための信号であるが、このメモリ１の記憶領域の指定に必要なビット数に加えて、セレクタ１２による選択に必要な信号が、このアドレス信号ＡＤＲの上位ビットに付加されている。
【００１６】
次に、このメモリテスト回路の動作を、マーチング・アルゴリズムによるメモリテストを例にして説明する。
【００１７】
［手順１］  ＣＰＵ２からメモリ１のすべてのアドレスに、オール“０”を書き込む。この時、ＣＰＵ２からｎビットのオール“０”の書き込みデータＷＤＴを出力することにより、ビット拡張部１１でｍビットのオール“０”のデータに拡張されてメモリ１に書き込まれる。従って、この手順１の処理に必要なサイクル数は、ｋ（但し、ｋはメモリ１のワード数）である。
【００１８】
［手順２］  次の（Ａ），（Ｂ）の処理を、最低アドレスから最高アドレスまで順番に繰り返す。
【００１９】
（Ａ）メモリ１の指定されたアドレスのｍビットを読み出し、セレクタ１２によってｎビット単位に分割してＣＰＵ２へ与え、オール“０”であるか否かをチェックする。
【００２０】
（Ｂ）チェックが完了したメモリ１のアドレスにオール“１”を書き込む。
【００２１】
各ワードに対して、（Ａ）の処理に必要なサイクル数はＬ、（Ｂ）の処理に必要なサイクル数は１であるので、この手順２の処理に必要なサイクル数は、（Ｌ＋１）ｋである。
【００２２】
［手順３］  次の（Ｃ），（Ｄ）の処理を、最高アドレスから最低アドレスまで順番に繰り返す。
【００２３】
（Ｃ）メモリ１の指定されたアドレスのｍビットを読み出し、セレクタ１２によってｎビット単位に分割してＣＰＵ１へ与え、オール１であるか否かをチェックする。
【００２４】
（Ｄ）チェックが完了したメモリ１のアドレスにオール“０”を書き込む。
【００２５】
各ワードに対して、（Ｃ）の処理に必要なサイクル数はＬ、（Ｄ）の処理に必要なサイクル数は１であるので、この手順３の処理に必要なサイクル数は、（Ｌ＋１）ｋである。
【００２６】
［手順４］  メモリ１に書き込むデータの値を反転して、手順１〜手順３の処理を繰り返す。
【００２７】
従って、手順１〜手順４の処理に必要なサイクル数は、２（２Ｌ＋３）ｋとなる。これは、図２の従来のメモリテスト回路に比べて、サイクル数が（２Ｌ＋３）／（５Ｌ＋５）に減少することを示している。
【００２８】
以上のように、この第１の実施形態のメモリテスト回路は、ＣＰＵ２から出力されるｎビットの書き込みデータＷＤＴを、メモリ１のデータ幅のｍビットに拡張してこのメモリ１に出力するビット拡張部１１を有している。これにより、ＣＰＵのデータバス幅よりも大きなデータ幅を有するメモリに対し、テストサイクル数を増大させずに試験をすることができるという利点がある。
【００２９】
（第２の実施形態）
図３は、本発明の第２の実施形態を示すビット拡張部の構成図である。
このビット拡張部１１Ａは、図１中のビット拡張部１１に代えて設けられるもので、チェッカパターンによるメモリテストに用いられるものである。チェッカパターン・テストとは、マトリクス状に配置されたメモリセル・アレイの隣接するメモリセルに、相互に異なる値（“０”と“１”）を書き込んで読み出す試験である。メモリセル・アレイ上のデータが市松模様となるので、このように呼ばれる。
【００３０】
ビット拡張部１１Ａは、ＣＰＵ２から与えられるｎビットの書き込みデータＷＤＴの最上位ビットを、交互に反転させて拡張してｍビットのデータを生成し、メモリ１のデータ入力端子に与えるものである。
【００３１】
次に、このようなビット拡張部１１Ａを有するメモリテスト回路を用いた、チェッカパターンによるメモリテストの動作を説明する。
【００３２】
ここでは、第１の実施形態と同様に、メモリ１のワード数をｋ、ｍ／ｎの小数点以下を切り上げた整数をＬとする。
【００３３】
［手順１］  ＣＰＵ２からメモリ１のすべてのアドレスに、チェッカパターンを書き込む。この時、ＣＰＵ２から“０”と“１”が交互に反転するｎビットの書き込みデータＷＤＴを出力することにより、ビット拡張部１１Ａでｍビットのチェッカパターンのデータに拡張されてメモリ１に書き込まれる。従って、この手順１の処理に必要なサイクル数は、ｋである。
【００３４】
［手順２］  メモリ１の指定されたアドレスのｍビットを読み出し、セレクタ１２によってｎビット単位に分割してＣＰＵ２へ与え、所定のパターンとなっているか否かをチェックする。これを、最低アドレスから最高アドレスまで順番に繰り返す。従って、この手順２の処理に必要なサイクル数は、Ｌｋである。
【００３５】
［手順３］  メモリ１に書き込むデータの値を反転して、手順１及び手順２の処理を繰り返す。
【００３６】
従って、手順１〜手順３の処理に必要なサイクル数は、２（Ｌ＋１）ｋとなる。これは、図２の従来のメモリテスト回路に比べて、サイクル数が１／２に減少することを示している。
【００３７】
以上のように、この第２の実施形態のビット拡張部１１Ａは、ＣＰＵ２から出力されるｎビットの書き込みデータＷＤＴを、メモリ１のデータ幅のｍビットに拡張してこのメモリ１に出力するので、チェッカパターン・テストにおいても、第１の実施形態と同様の利点を得ることができる。
【００３８】
（第３の実施形態）
図４は、本発明の第３の実施形態を示すメモリテスト回路の構成図であり、図１中の要素と共通の要素には共通の符号が付されている。
【００３９】
このメモリテスト回路は、ダイアゴナルパターンによるメモリテストに用いられるもので、図１中のビット拡張部１１に代えて、データ拡張手段としてのワードアドレス変換部１４とダイアゴナルパターン生成部１５を備えている。ダイアゴナルパターンは、マトリクス状に配置されたメモリアレイの対角線上のメモリセルを“１”とし、その他のメモリセルを“０”とするパターンである。
【００４０】
ワードアドレス変換部１４は、ＣＰＵ２から出力されるアドレス信号ＡＤＲの下位ビットを削除して、メモリ１のワード線に対応したアドレス信号ＡＤＵを生成するものである。ワードアドレス変換部１４の出力側は、ダイアゴナルパターン生成部１５に接続されている。
【００４１】
ダイアゴナルパターン生成部１５は、メモリ１のデータ幅ｍがＣＰＵ２のデータ幅ｎの整数倍でない場合に、ｎに満たない端数の上位ビットに書き込むダイアゴナルパターンを発生させるものである。ダイアゴナルパターン生成部１５は、アドレス信号ＡＤＵを端数のマトリクスの辺のサイズ（具体的には、ｍ−ｎ（Ｌ−１））で除算して、その除算結果の余りｑを出力する除算器１５ａと、この除算器１５ａから出力された余りｑに基づいて、２のｑ乗のデータを生成する乗算器１５ｂとで構成されている。
【００４２】
乗算器１５ｂから出力されるデータは、ＣＰＵ２から出力されるｎビットのダイアゴナルパターンの書き込みデータＷＤＴと結合され、ｍビットのダイアゴナルパターンのデータとして、メモリ１のデータ入力端子に与えられるようになっている。その他の構成は、図１と同様である。
【００４３】
次に、このメモリテスト回路におけるダイアゴナルパターンによるメモリテストを説明する。ここでは、第１の実施形態と同様に、メモリ１のワード数をｋ、ｍ／ｎの小数点以下を切り上げた整数をＬとする。
【００４４】
［手順１］  ＣＰＵ２からメモリ１のすべてのアドレスに、ダイアゴナルパターンを書き込む。この時、メモリ１の端数の上位ビットには、ダイアゴナルパターン発生部１５で生成されたダイアゴナルパターンが書き込まれる。従って、この手順１の処理に必要なサイクル数は、ｋである。
【００４５】
［手順２］  メモリ１の指定されたアドレスのｍビットを読み出し、セレクタ１２によってｎビット単位に分割してＣＰＵ２へ与え、所定のパターンとなっているか否かをチェックする。これを、最低アドレスから最高アドレスまで順番に繰り返す。従って、この手順２の処理に必要なサイクル数は、Ｌｋである。
【００４６】
従って、手順１及び手順２の処理に必要なサイクル数は、（Ｌ＋１）ｋとなる。これは、図２の従来のメモリテスト回路に比べて、サイクル数が１／２に減少することを示している。
【００４７】
以上のように、この第３の実施形態のメモリテスト回路は、ＣＰＵ２から出力されるｎビットの書き込みデータＷＤＴに加えて、メモリ１のデータ幅のｍビットに対応するダイアゴナルパターンを生成するダイアゴナルパターン生成部１５を有している。これにより、ダイアゴナルパターン・テストにおいても、第１の実施形態と同様の利点を得ることができる。
【００４８】
なお、本発明は、上記実施形態に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
【００４９】
（ａ）  図１や図３では、メモリ１に与える書き込みデータＷＤＴを、各アドレス毎にＣＰＵ２から出力しているが、マーチング・アルゴリズムやチェッカパターンのような単純なパターンの場合であれば、固定のパターンを出力する専用の回路を使用することができる。
【００５０】
（ｂ）  図４では、ＣＰＵ２から書き込みデータＷＤＴとして出力されるダイアゴナルパターンと、ダイアゴナルパターン生成部１５で生成されたダイアゴナルパターンを結合して、メモリ１に与えているが、ｍビットのダイアゴナルパターンを生成する専用の回路を使用しても良い。
【００５１】
（ｃ）  図１、図３、及び図４では、それぞれマーチング・アルゴリズム、チェッカパターン、及びダイアゴナルパターンによるメモリテストに対応する回路を示したが、その他の任意のパターンによるメモリテストにも、ビット拡張部１１の回路を変えることによって同様に対応することができる。
【００５２】
【発明の効果】
以上詳細に説明したように、本発明によれば、処理装置から与えられる書き込みデータを、メモリのデータ幅に拡張して該メモリに書き込むデータ拡張手段を有している。これにより、処理装置のデータバスの幅よりも大きなデータ幅を有するメモリに対し、テストサイクル数（特にメモリへのデータ書き込みサイクル）を増大させずに試験をすることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示すメモリテスト回路の構成図である。
【図２】従来のメモリテスト回路の概略を示す構成図である。
【図３】本発明の第２の実施形態を示すビット拡張部の構成図である。
【図４】本発明の第３の実施形態を示すメモリテスト回路の構成図である。
【符号の説明】
１    メモリ
２    ＣＰＵ
１１，１１Ａ    ビット拡張部１１
１２    セレクタ
１３    アドレスデコーダ
１４    ワードアドレス変換部
１５    ダイアゴナルパターン生成部
【図１】
2004280924.tif 000003
【図２】
2004280924.tif 000004
【図３】
2004280924.tif 000005
【図４】
2004280924.tif 000006