(57)【要約】【課題】  メモリテストを容易に行うことのできるメモリテスト回路およびメモリテスト方法を提供する。【解決手段】  アドレス／データ生成部２でテスト対象アドレスとテスト用データを生成して、アドレス保持レジスタ３とデータ保持レジスタ４に保持した後、メモリ１００から読み出した初期値のデータのテスト対象アドレスのデータをテスト用データに置換して演算部８で演算を行い、その結果を期待値レジスタ９に保持する。その後、アドレス保持レジスタ３とデータ保持レジスタ４に保持していたデータを用いてメモリ書き換え部５でメモリ１００を書き換えた後、メモリ１００からデータを読み出して演算部８で演算を行い、その結果をメモリ出力結果レジスタ１０に保持する。比較部１１は、メモリ出力結果レジスタ１０と期待値レジスタ９の値を比較して比較結果信号を出力する。【選択図】  図１
2006079678.tif 000002
【特許請求の範囲】
【請求項１】
メモリへ与えるアドレスおよびデータを生成するアドレス／データ生成手段と、
前記アドレス／データ生成回路で生成されたテスト対象の特定のアドレスを保持するアドレス保持レジスタと、
前記アドレス／データ生成回路で生成されたテスト用データを保持するデータ保持レジスタと、
前記メモリから読み出したデータを、前記アドレス保持レジスタに保持された前記特定のアドレスに該当するアドレスのデータは前記データ保持レジスタに保持された前記テスト用データに置換し、それ以外のアドレスのデータはそのまま出力するデータ置換手段と、
前記メモリの前記アドレス保持レジスタに保持された前記特定のアドレスを前記データ保持レジスタに保持された前記テスト用データに書き換えるメモリ書き換え手段と、
前記データ置換手段の出力データと前記メモリから読み出されたデータのいずれかを選択する選択手段と、
前記選択手段の出力に対して所定の演算を行う演算手段と、
前記選択手段が前記データ置換手段の出力データを選択したときの前記演算手段の出力を期待値として保持する期待値レジスタと、
前記選択手段が前記メモリから読み出されたデータを選択したときの前記演算手段の出力をメモリ出力結果として保持するメモリ出力結果レジスタと、
前記期待値レジスタの出力と前記メモリ出力結果レジスタの出力を比較して比較結果信号を出力する比較手段と
を具備することを特徴とするメモリテスト回路。
【請求項２】
前記比較結果信号が、前記特定アドレス対するメモリ動作の良否を判定する信号として使用される請求項１に記載のメモリテスト回路。
【請求項３】
予め初期値が書き込まれたメモリのテスト対象の特定のアドレスを書き換えるためのテスト用データを生成するステップと、
前記テスト用データを保持するステップと、
前記メモリの全アドレスのデータを順次読み出し、そのうちの前記特定のアドレスのデータのみは前記保持されている前記テスト用データに置換して置換データを生成するステップと、
前記置換データに対して所定の演算を行うステップと、
前記置換データに対する演算結果を期待値として保持するステップと、
前記メモリの前記特定のアドレスのデータを前記保持されている前記テスト用データで書き換えるステップと、
前記書き換え後の前記メモリの全アドレスのデータを順次読み出す２回目の読み出しステップと、
前記２回目の読み出しステップで前記メモリから読み出されたデータに対して前記所定の演算を行う２回目の演算ステップと、
前記２回目の演算ステップの演算結果をメモリ出力結果として保持するステップと、
前記期待値と前記メモリ出力結果を比較して比較結果信号を出力するステップと、
前記比較結果信号に基づき前記メモリの前記アドレスに対する動作の良否を判定するステップと
を具備することを特徴とするメモリテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に内蔵されたメモリをテストするためのメモリテスト回路およびメモリテスト方法に関する。
【背景技術】
【０００２】
論理回路とメモリが組み合わされて構成された半導体集積回路をテストする場合、メモリを効率よくテストする手法として、テスト回路などを用いてメモリを論理回路から切り離し、メモリ単体でのテストを行う手法が一般的に用いられている。
【０００３】
このような手法をとってメモリの出力を半導体集積回路の外部で観測しようとする場合、メモリの出力が直接外部出力端子となっていないときには、メモリの出力を外部端子で観測できるようにするモニタ回路をメモリの出力に付加することなどが行われる。そのような場合、メモリの出力ビット数が多いと、付加するモニタ回路の規模が大きくなって半導体集積回路のチップサイズが増大する可能性があった。
【０００４】
そこで、従来、メモリの出力データを演算回路で圧縮し、メモリの出力ビット数より少ないビット数の圧縮データを外部端子で観測するようにすることが行われていた（例えば、特許文献１参照。）。
【０００５】
しかし、このような圧縮データを観測してメモリ回路の良否を判定する場合、期待値として用いる圧縮データが必要であり、この期待値データをシミュレーションなどを用いて予め作成しておかなければならないという問題があった。特に、メモリがＤＲＡＭなどの場合、メモリセル間の干渉やビット線間の干渉などの検証のため多種多様のテストパターンを作成しなければならず、それぞれのテストパターンに対して期待値データを作成しなければならなかった。そのため、期待値データの作成に手間と時間がかかって煩わしいという問題があった。
【特許文献１】特開平１０−３００８２４号公報（第２ページ、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、本発明の目的は、予め期待値データを作成しておかなくても、メモリの出力データの演算出力結果を用いてメモリの良否を判定することのできるメモリテスト回路およびメモリテスト方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、メモリへ与えるアドレスおよびデータを生成するアドレス／データ生成手段と、前記アドレス／データ生成回路で生成されたテスト対象の特定のアドレスを保持するアドレス保持レジスタと、前記アドレス／データ生成回路で生成されたテスト用データを保持するデータ保持レジスタと、前記メモリから読み出したデータを、前記アドレス保持レジスタに保持された前記特定のアドレスに該当するアドレスのデータは前記データ保持レジスタに保持された前記テスト用データに置換した上で、それ以外のアドレスのデータはそのまま出力するデータ置換手段と、前記メモリの前記アドレス保持レジスタに保持された前記特定のアドレスを前記データ保持レジスタに保持された前記テスト用データに書き換えるメモリ書き換え手段と、前記データ置換手段の出力データと前記メモリから読み出されたデータのいずれかを選択する選択手段と、前記選択手段の出力に対して所定の演算を行う演算手段と、前記選択手段が前記データ置換手段の出力データを選択したときの前記演算手段の出力を期待値として保持する期待値レジスタと、前記選択手段が前記メモリから読み出されたデータを選択したときの前記演算手段の出力をメモリ出力結果として保持するメモリ出力結果レジスタと、前記期待値レジスタの出力と前記メモリ出力結果レジスタの出力を比較して比較結果信号を出力する比較手段とを具備することを特徴とするメモリテスト回路が提供される。
【０００８】
また、本発明の一態様によれば、予め初期値が書き込まれたメモリのテスト対象の特定のアドレスを書き換えるためのテスト用データを生成するステップと、前記テスト用データを保持するステップと、前記メモリの全アドレスのデータを順次読み出し、そのうちの前記特定のアドレスのデータのみは前記保持されている前記テスト用データに置換して置換データを生成するステップと、前記置換データに対して所定の演算を行うステップと、前記置換データに対する演算結果を期待値として保持するステップと、前記メモリの前記特定のアドレスのデータを前記保持されている前記テスト用データで書き換えるステップと、前記書き換え後の前記メモリの全アドレスのデータを順次読み出す２回目の読み出しステップと、前記２回目の読み出しステップで前記メモリから読み出されたデータに対して前記所定の演算を行う２回目の演算ステップと、前記２回目の演算ステップの演算結果をメモリ出力結果として保持するステップと、前記期待値と前記メモリ出力結果を比較して比較結果信号を出力するステップと、前記比較結果信号に基づき前記メモリの前記アドレスに対する動作の良否を判定するステップとを具備することを特徴とするメモリテスト方法が提供される。
【発明の効果】
【０００９】
本発明によれば、メモリの出力データに対する演算を行う演算回路を用いて期待値データを作成するので、予め期待値データを作成する必要がなく、メモリのテストを容易に行うことができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施例を図面を参照して説明する。
【実施例】
【００１１】
図１は、本発明の実施例に係るメモリテスト回路の構成の例を示すブロック図である。本実施例のメモリ回路１は、テスト対象のメモリ１００が正しくメモリ動作をするかどうかをテストする回路であり、特にアドレス単位でメモリ動作の良否を判定することのできる回路である。
【００１２】
メモリテスト回路１は、メモリ１００へ与えるアドレスおよびテスト用データを生成するアドレス／データ生成部２と、アドレス／データ生成部２で生成されたアドレスのうちテスト対象の特定のアドレスを保持するアドレス保持レジスタ３と、アドレス／データ生成部２で生成されたテスト用データを保持するデータ保持レジスタ４と、メモリ１００に記憶されているデータのうちアドレス保持レジスタ３に保持されているアドレスのデータをデータ保持レジスタ４に保持されているデータに書き換えるメモリ書き換え部５とを有している。
【００１３】
さらに、メモリテスト回路１は、データ置換部６と、選択部７と、演算部８と、期待値レジスタ９と、メモリ結果出力レジスタ１０と、比較部１１とを有している。
【００１４】
データ置換部６は、メモリ１００から読み出されたデータが入力され、入力されたデータのうちアドレス保持レジスタ３に保持されたアドレスに該当するアドレスのデータはデータ保持レジスタ４に保持されたデータに置換し、その他のアドレスのデータはそのまま出力する。
【００１５】
選択部７は、データ置換部６から出力されたデータか、メモリ１００から読み出されたデータかのいずれかを選択して出力する。
【００１６】
演算部８は、選択部７から入力されたデータに対して出力データ量が少なくなるように、例えばパターン圧縮演算などを行う。
【００１７】
期待値レジスタ９は、選択部７がデータ置換部６から出力されたデータを選択したときの演算部８の出力を期待値として保持する。
【００１８】
メモリ結果出力レジスタ１０は、選択部７がデータメモリ１００から読み出されたデータを選択したときの演算部８の出力をメモリ出力結果として保持する。
【００１９】
比較部１１は、メモリ結果出力レジスタ１０に保持されたメモリ出力結果と期待値レジスタ９に保持された期待値とを比較し、両者の一致／不一致を示す比較結果信号を出力する。
【００２０】
次に、図２のフローチャートを用いて、本実施例のメモリテスト回路１によりメモリ１００のテストを行う方法について説明する。なお、図２に示すフローに先立って、メモリ１００には初期値データが書き込まれているものとする。
【００２１】
最初に、アドレス／データ生成部２でテストを行いたいアドレスの値とテスト用データを生成し（ステップＳ１）、生成したアドレスはアドレス保持レジスタ３に保持し、テスト用データはデータ保持レジスタ４に保持する（ステップＳ２）。ここで、テスト用データは、この後メモリ１００に書き込んでメモリ動作をテストするために用いるデータであり、メモリ１００に書き込まれている初期値とは異なる任意のデータである。
【００２２】
続いて、アドレス／データ生成部２でアドレスを順次発生させて、メモリ１００から全データを順次読み出す（ステップＳ３）。このときメモリ１００から読み出されるデータは、初期値のデータである。
【００２３】
この読み出しのとき、選択部７がデータ置換部６からの出力を選択するようにしておくと、メモリ１００から読み出されたデータは、データ置換部６で処理された上で演算部８へ入力される。
【００２４】
データ置換部６は、メモリ１００へ与えられるアドレスをチェックし、アドレス保持レジスタ３に保持されたアドレスに該当するアドレスについては、メモリ１００から読み出されたデータに換えてデータ保持レジスタ４に保持されているテスト用データを出力する（ステップＳ４）。これにより、メモリ１００のこれからテストしようとしているアドレスのみが、これから書き込もうとしているテスト用データになっているデータが演算部８へ入力される。
【００２５】
すなわち、このとき演算部８へ入力されるデータは、テスト用データがメモリ１００へ書き込まれたときにメモリ１００から出力されることが期待されるデータである。
【００２６】
そこで、演算部８で演算を実行し（ステップＳ５）、演算の結果を期待値として期待値レジスタ９に保持する（ステップＳ６）。
【００２７】
続いて、メモリ書き換え部５によりアドレス保持レジスタ３に保持されているアドレス、すなわちメモリ１００のテストしたいアドレスのデータをデータ保持レジスタ４に保持されているテスト用データに書き換える（ステップＳ７）。
【００２８】
メモリ１００の書き換え後、アドレス／データ生成部２でアドレスを順次発生させて、メモリ１００から全データを順次読み出す（ステップＳ８）。
【００２９】
この読み出しのとき、選択部７がデータメモリ１００からの出力を選択するようにしておくと、メモリ１００から読み出されたデータは、そのまま演算部８へ入力される。
【００３０】
そこで、演算部８で演算を実行し（ステップＳ９）、演算の結果をメモリ出力結果としてメモリ出力結果レジスタ１０に保持する（ステップＳ１０）。
【００３１】
ここで、先に期待値レジスタ９に保持された期待値とメモリ出力結果レジスタ１０に保持されたメモリ出力結果を比較部１１で比較し、その一致／不一致を示す比較結果信号を出力する（ステップＳ１１）。
【００３２】
メモリ１００が正常に動作していれば、メモリ出力結果は期待値と一致し、メモリ１００が正常に動作していなければ、メモリ出力結果と期待値は不一致となる。
【００３３】
この比較部１１から出力される比較結果信号を観測することにより、メモリ１００のテスト対象のアドレスへのデータの書き込み／読み出しが正常に行われたかどうかの判定、すなわちメモリ動作の良否の判定を行うことができる（ステップＳ１２）。
【００３４】
次に、上述の方法でメモリテストを行っているときのメモリテスト回路１の動作の様子を図３および図４を用いて説明する。
【００３５】
図３は、アドレス／データ生成部２でテスト対象の特定のアドレスとテスト用データを生成してから期待値レジスタ８に期待値が保持されるまでの動作の様子を示す波形図である。なお、ここではメモリ１００に初期値として１６進数のＡＡＨ（Ｈは１６進数を示す記号、以下も同様。）が与えられているものとする。
【００３６】
いま、テスト対象のアドレスを０Ｈ、テスト用データを５５Ｈとすると、まず、アドレス／データ生成部１から、０Ｈ、５５Ｈの順にデータが出力される。
【００３７】
そこで、アドレス保持レジスタ３にはアドレス０Ｈが保持され、データ保持レジスタ４にはテスト用データ５５Ｈが保持される。
【００３８】
次に、アドレス／データ生成部２からアドレスを０Ｈから最終アドレスｎＨ（ｎは任意の数）まで順次発生させ、メモリ１００のデータを読み出す。このときメモリ１００から読み出されたデータは、総てのアドレスにおいて初期値のＡＡＨである。
【００３９】
このメモリ１００から読み出されたデータに対して、データ置換部６は、アドレス保持レジスタ３保持されているアドレス０Ｈのデータをデータ保持レジスタ４に保持されているテスト用データ５５Ｈに置換して出力する。
【００４０】
このデータ置換部６の出力に対して演算部８は順次演算を行う。そして、最終アドレスｎＨのデータの出力が終了した時点の演算部８の出力を期待値レジスタ９に保持する。
【００４１】
続いて、図４は、メモリ１００をテスト用データに書き換えてからメモリ出力結果レジスタ９にメモリ出力結果が保持されるまでの動作の様子を示す波形図である。
【００４２】
アドレス保持部３に保持されているアドレスおよびデータ保持レジスタ４に保持されているテスト用データを用いてメモリ書き換え部５からテスト対象のアドレス０Ｈに与えるデータ５５Ｈが出力され、メモリ１００のデータが書き換えられる。
【００４３】
その後、アドレス／データ生成部１でアドレスを０Ｈから最終アドレスｎＨまでのアドレスを順次生成し、メモリ１００からデータを順次読み出す。このときメモリ１００から読み出されたデータは、データの書き換えが正常に行われて読み出しも正常に行われていれば、アドレス０Ｈのデータが５５Ｈとなり、その他のアドレスのデータがＡＡＨとなるデータが読み出されるはずである。
【００４４】
このメモリ１００から読み出されたデータに対して演算部８は順次演算を行う。そして、最終アドレスｎＨのデータの出力が終了した時点の演算部８の出力をメモリ出力結果レジスタ１０に保持する。
【００４５】
最後に、比較部１１が、メモリ出力結果レジスタ１０に保持されたメモリ出力結果と、期待値レジスタ９に保持されている期待値とを比較して、一致／不一致を示す比較結果信号を出力する。
【００４６】
このような本実施例のメモリテスト回路およびメモリテスト方法によれば、回路内の演算で期待値を作成するので予め期待値を準備しておく必要がない。また、テストに用いるテスト用データの作成もテスト対象のアドレスの分だけ作成すればよいので簡単である。そのため、メモリテストの準備にかける手間と時間が少なくて済み、メモリのテストを容易に行うことができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施例に係るメモリテスト回路の構成の例を示すブロック図。
【図２】本発明の実施例に係るメモリテスト回路を用いたメモリテスト方法の例を示すフローチャート。
【図３】本発明の実施例に係るメモリテスト回路の動作の例を示す波形図。
【図４】本発明の実施例に係るメモリテスト回路の動作の例を示す波形図。
【符号の説明】
【００４８】
１  メモリテスト回路
２  アドレス／データ生成部
３  アドレス保持レジスタ
４  データ保持レジスタ
５  メモリ書き換え部
６  データ置換部
７  選択部
８  演算部
９  期待値レジスタ
１０  メモリ出力結果レジスタ
１１  比較部
【図１】
2006079678.tif 000003
【図２】
2006079678.tif 000004
【図３】
2006079678.tif 000005
【図４】
2006079678.tif 000006