JP2004079032A - 半導体装置のテスト方法及び半導体装置 - Google Patents

半導体装置のテスト方法及び半導体装置 Download PDF

Info

Publication number
JP2004079032A
JP2004079032A JP2002234812A JP2002234812A JP2004079032A JP 2004079032 A JP2004079032 A JP 2004079032A JP 2002234812 A JP2002234812 A JP 2002234812A JP 2002234812 A JP2002234812 A JP 2002234812A JP 2004079032 A JP2004079032 A JP 2004079032A
Authority
JP
Japan
Prior art keywords
memory
address
data
instruction
read
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.)
Pending
Application number
JP2002234812A
Other languages
English (en)
Inventor
Takahisa Kawakami
川上 隆央
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002234812A priority Critical patent/JP2004079032A/ja
Publication of JP2004079032A publication Critical patent/JP2004079032A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】プロセッサコアと複数のメモリバンクを持つシステムLSIにおいて、メモリテストを実施するための回路増加を抑え、かつテストステップ数の増加を抑える。
【解決手段】プロセッサコア部101により各々のメモリバンク102〜105内における同一のアドレスに対し同時にデータを書き込む全ライト命令を実行した後、全てのメモリバンク102〜105に書き込まれたデータを同時に読み出す全リード命令を実行し、データ判定部106において、全てのメモリバンク102〜105から読み出したデータを対応する期待値と比較し全ての読み出しデータが期待値と一致したときに正常と判定し、それ以外のときに異常と判定する。これにより、プロセッサコア部101の既存の機能を使用して複数のメモリバンク102〜105を同時にテストできる。
【選択図】    図1

Description

【0001】
【発明の属する技術分野】
本発明は、プロセッサコアと内蔵メモリとして複数のメモリバンクを持つLSIである半導体装置のテスト方法および半導体装置に関する。
【0002】
【従来の技術】
近年のLSI開発は、特定の機能を持った複数のチップを組み合わせてシステムを構築するチップセット思考から、必要な機能ブロックをまとめて1つのチップに組み込みシステムを構築するシステムオンチップ思考に移行してきている。
【0003】
このようなシステムオンチップ思考によるLSI(以下、システムLSI)では、個々のブロックの高機能化・複雑化が進み、機能ブロック間の扱うデータ量およびデータ授受が増大する傾向にある。それに伴い記憶手段としてのメモリは同様に増大する方向に進んでいる。この場合メモリがシステムLSI外部にあるとすると、転送のための時間ロスや、実装面積の観点からシステムLSIの性能を十分に活かせないことになる。従ってシステムLSIでは内部に大量のメモリを搭載する。
【0004】
一般にメモリは占有する面積が大きいため、内蔵メモリ不良はシステムLSIの歩留まりを落とす主要因の1つとなっている。このためメモリに対し、それを確実にテストすることが求められている。また、システムLSIの動作の高速化に伴い、メモリの動作も高速化が要求されている。そのため、メモリの動作を論理的にテストするだけでなく、メモリの動作速度を保証するテスト方法も重要となる。
【0005】
メモリテストは次のステップで実施される。テスト対象メモリのあるアドレスに所望のデータを書き込む。次に書き込んだデータを読み出す。最後に読み出したデータが正しいどうかを読み出されることが期待される値(期待値)と比較することで判断する。
【0006】
メモリテストはアドレス選択の仕方、書き込むデータ、書き込み・読み出しの順序などの要因により様々なアルゴリズムが存在する。
【0007】
例えば、チェッカーボードテストはメモリセル上でデータが市松模様に並ぶように書き込んだパターンを読み出してテストする。このテストではセルスタック障害、センスアンプ障害といった論理的な障害が検出可能である。メモリへの書き込みに1ステップ、読み出しに1ステップ、アドレス指定のステップ数を無視すると、チェッカーボードテストはNワードのメモリに対し4Nステップを要する。ほかにはギャロッピングテストがあり、チェッカーボードテストでは検出できない速度故障を検出できる点で重要であり、現時点ではもっとも検出能力の高いメモリテスト手法である。しかしその分ステップ数を要し、先例と同様の考え方で、6N*N+6Nステップを必要とし、一般に膨大なテストステップ数が必要となる。
【0008】
これらメモリテストを実現する従来のメモリのテスト方法としては、次の3つに大別される。
【0009】
第1にアイソレーションテストである。これはLSIの外部端子から直接メモリにアクセスできる回路を設け、テスタなどを用いてテストパターンをテスト対象メモリに与えること及びそのメモリの出力信号を得る方法である。
【0010】
第2にビルトインセルフテスト(BIST)である。これはテストを行うための回路(BIST回路)をLSIの内部に組み込んでテストを行う方法である。BIST回路はテストパターン発生部とデータ比較部及び制御部を持ち、BIST回路が生成したパターンをメモリに入力し、そのときのメモリからの出力結果を比較部で別に保持していた期待値と比較し、比較結果でメモリに故障がないかどうかを判断する。
【0011】
第3にプロセッサのマイクロコードを用いたテストである。これはメモリテストを行うためのテストパターン発生、供給とそのテスト対象メモリの出力データを期待値と比較するための比較をプロセッサのマイクロコードを用いたプログラムにより実施する方法である。前記プログラムは例えばアセンブラプログラムなどにより作成される。
【0012】
【発明が解決しようとする課題】
しかしながら従来のテスト方法では、現時点で最も強力なギャロッピングテストを実行するにあたり以下の問題がある。
【0013】
アイソレーションテストにおいては、メモリをテストするための端子を必要とすること及び低速動作のI/O部により動作速度の保証が困難であるという問題がある。
【0014】
またBISTにおいては、BIST専用回路を追加する必要があり、ギャロッピングテストのような複雑なメモリテストアルゴリズムに対応させようとすると、制御部の回路増加が非常に大きくなるという問題がある。
【0015】
プロセッサのマイクロコードを用いたテストにおいては、回路増加がない反面、プロセッサの演算資源に依存したテスト方法しか取れないため効率が悪く、大容量メモリに対してテストステップ数が膨大になるという問題がある。
【0016】
以上の問題に鑑みて、本発明は、プロセッサコアと複数のメモリバンクを持つシステムLSIにおいて、上記アイソレーションテストにおける問題がなく、メモリテストを実施するための回路増加を抑え、かつテストステップ数の増加を抑えることのできる半導体装置のテスト方法および半導体装置を提供することである。
【0017】
【課題を解決するための手段】
本発明の請求項1記載の半導体装置のテスト方法は、それぞれアクセスアドレスの上位ビットに対応して選択され内部にそれぞれアクセスアドレスの下位ビットに対応する共通のアドレスを有する複数のメモリバンクを備えるとともに、命令コードをデコードする命令デコーダと、命令デコーダでデコードした命令が所定のアクセスアドレスに対しデータを読み出すリード命令または書き込むライト命令であるときに、所定のアクセスアドレスの上位ビットに対応するメモリバンクを選択するメモリバンク選択手段と、所定のアドレスの下位ビットに対応するアドレスを複数のメモリバンクに対し指定するアドレス指定手段とを有し、メモリバンク選択手段で選択されたメモリバンクのアドレス指定手段で指定されたアドレスに対しデータの読み出しまたは書き込みを行うプロセッサコアとを備えた半導体装置のテスト方法であって、命令デコーダでデコードした命令が所定のアクセスアドレスの下位ビットに対応する各々のメモリバンク内における同一のアドレスに対し同時にデータを読み出す全リード命令または書き込む全ライト命令であるときに、メモリバンク選択手段は全てのメモリバンクを選択するようにし、命令デコーダでデコードした命令が全リード命令であるときに、全てのメモリバンクから読み出したデータを対応する期待値と比較し全ての読み出しデータが期待値と一致したときに正常と判定し、それ以外のときに異常と判定するメモリテスト判定部を設け、全ライト命令により全てのメモリバンク内の所定のアドレスにデータを書き込み、この書き込まれたデータを全リード命令により読み出してメモリテスト判定部で判定する処理を、メモリバンク内の異なるアドレスに対して順次実施することを特徴とする。
【0018】
また、請求項2記載の半導体装置のテスト方法は、請求項1記載の半導体装置のテスト方法において、メモリテスト判定部で異常と判定したときのアクセスアドレスの下位ビットに対応するメモリバンク内におけるアドレスを格納保持する記憶手段を設け、全ライト命令および全リード命令とメモリテスト判定部での判定をメモリバンク内の異なるアドレスに対して順次実施した後、記憶手段に記憶されたアドレスを参照する。
【0019】
本発明の請求項3記載の半導体装置は、それぞれアクセスアドレスの上位ビットに対応して選択され内部にそれぞれアクセスアドレスの下位ビットに対応する共通のアドレスを有する複数のメモリバンクを備えるとともに、命令コードをデコードする命令デコーダと、命令デコーダでデコードした命令が所定のアクセスアドレスに対しデータを読み出すリード命令または書き込むライト命令であるときに、所定のアクセスアドレスの上位ビットに対応するメモリバンクを選択するメモリバンク選択手段と、所定のアドレスの下位ビットに対応するアドレスを複数のメモリバンクに対し指定するアドレス指定手段とを有し、メモリバンク選択手段で選択されたメモリバンクのアドレス指定手段で指定されたアドレスに対しデータの読み出しまたは書き込みを行うプロセッサコアとを備えた半導体装置であって、命令デコーダでデコードした命令が所定のアクセスアドレスの下位ビットに対応する各々のメモリバンク内における同一のアドレスに対し同時にデータを読み出す全リード命令または書き込む全ライト命令であるときに、メモリバンク選択手段は全てのメモリバンクを選択するようにし、命令デコーダでデコードした命令が全リード命令であるときに、全てのメモリバンクから読み出したデータを対応する期待値と比較し全ての読み出しデータが期待値と一致したときに正常と判定し、それ以外のときに異常と判定するメモリテスト判定部を設けたことを特徴とする。
【0020】
また、本発明の請求項4記載の半導体装置は、請求項3記載の半導体装置において、メモリテスト判定部で異常と判定したときのアクセスアドレスの下位ビットに対応するメモリバンク内におけるアドレスを格納保持する記憶手段を設けている。
【0021】
以上、本発明によれば、命令デコーダでデコードした命令が所定のアクセスアドレスの下位ビットに対応する各々のメモリバンク内における同一のアドレスに対し同時にデータを読み出す全リード命令または書き込む全ライト命令であるときに、メモリバンク選択手段は全てのメモリバンクを選択するようにし、命令デコーダでデコードした命令が全リード命令であるときに、全てのメモリバンクから読み出したデータを対応する期待値と比較し全ての読み出しデータが期待値と一致したときに正常と判定し、それ以外のときに異常と判定するメモリテスト判定部を設け、全ライト命令により全てのメモリバンク内の所定のアドレスにデータを書き込み、この書き込まれたデータを全リード命令により読み出してメモリテスト判定部で判定する処理を、メモリバンク内の異なるアドレスに対して順次実施することにより、複数のメモリバンクを同時にテストすることができ、テストステップ数を低減し、メモリテスト時間を短縮することができる。また、メモリバンク選択手段に全リード命令および全ライト命令で全てのメモリバンクを選択する機能を付加したことと、メモリテスト判定部を設けたこと以外はプロセッサコアの既存の機能を使用して実施するため、回路増加を抑えることができる。また、プロセッサコアの既存の機能を使用することで、高速にメモリテストを実施でき、アイソレーションテストにおけるメモリをテストするための端子を不要とし、また動作速度の問題もない。
【0022】
さらに、メモリテスト判定部で異常と判定したときのアクセスアドレスの下位ビットに対応するメモリバンク内におけるアドレスを格納保持する記憶手段を設け、全ライト命令および全リード命令とメモリテスト判定部での判定をメモリバンク内の異なるアドレスに対して順次実施した後、記憶手段に記憶されたアドレスを参照することにより、メモリ不良が生じているアドレスを知ることができる。
【0023】
【発明の実施の形態】
以下、図面を参照しながら、本発明にかかるLSIの内蔵メモリのテスト方法及びその装置の実施形態について説明する。
【0024】
図1は、本発明のLSIの内蔵メモリをテストするための装置の全体構成を示すものである。LSI(100)は、プロセッサコア部(101)と4Kワードのメモリバンク4個[メモリバンク0(102)、メモリバンク1(103)、メモリバンク2(104)、メモリバンク3(105)]とデータ判定部(106)を備える。
【0025】
プロセッサコア部(101)と各メモリバンク(102,103,104,105)は、クロック(140)、アドレス12ビット(110)、バンクセレクト信号4ビット(120)、リード・ライト制御信号1ビット(130)、転送バス16ビット(160)、メモリリードデータバス16ビット(181)で接続される。バンクセレクト信号4ビット(120)は各メモリバンク(102,103,104,105)に1ビットずつ接続される。各メモリバンク(102,103,104,105)とデータ判定部(106)はバンク0出力データ16ビット(150)、バンク1出力データ16ビット(151)、バンク2出力データ16ビット(152)、バンク3出力データ16ビット(153)で接続される。データ判定部(106)とプロセッサコア部(101)はデータ判定信号(170)、転送バス16ビット(160)、期待値レジスタ選択信号(161)で接続される。
【0026】
まず初めにプロセッサコア部(101)と各メモリバンク(102,103,104,105)の接続と動作について説明する。クロック(140)は、プロセッサコア部(101)から各メモリバンク(102,103,104,105)へ供給される。アドレス12ビット(110)はアドレス16ビット(109:図3参照)の下位12ビットのアドレスであり、プロセッサコア部(101)から各メモリバンク(102,103,104,105)へ供給され、バンク内のアドレス指定に使用する。バンクセレクト信号(120)はアドレス16ビット(109:図3参照)の上位4ビットをデコードして生成した信号であり、プロセッサコア部(101)から各メモリバンク(102,103,104,105)へ供給される。4ビットのバンクセレクト信号(120)は各メモリバンクに1ビットずつ接続されていて、1のときバンクが選択される。リード・ライト制御信号(130)は各メモリバンク(102,103,104,105)にデータを書き込むか、各メモリバンク(102,103,104,105)のデータを読み出すかを決定する信号であり、データライトする場合は0、リードする場合は1とする。リード・ライト制御信号(130)はまたプロセッサコア部(101)から各メモリバンク(102,103,104,105)へ供給され、各バンク共通の信号である。メモリライトデータはメモリライト時にプロセッサコア部(101)から各メモリバンク(102,103,104,105)へ転送バス(160)を介し供給する。メモリリードデータ(181)はメモリリード時に各メモリバンク(102,103,104,105)からプロセッサコア部(101)へ、トライステートバッファ(190,191,192,193)を通して出力される。トライステートバッファ(190,191,192,193)は選択されたメモリバンクのみの出力が有効となるよう制御される。図2にメモリ動作タイミングチャートを示す。
【0027】
次に各メモリバンク(102,103,104,105)とデータ判定部(106)の接続と動作について説明する。各メモリバンク(102,103,104,105)から読み出されたデータ(150,151,152,153)はそれぞれ直接データ判定部(106)に入力される。また、読み出されたデータ(150,151,152,153)と比較をするための期待値はプロセッサコア部(101)から予め供給され、データ判定部(106)で保持しておく。入力された前記データと前記期待値が比較され、一致不一致を示すデータ判定信号(170)がプロセッサコア部(101)へ出力される。期待値が複数ある場合にはプロセッサコア部(101)から出力される期待値レジスタ選択信号(161)により所望の期待値が選択される。
【0028】
具体的な構成について説明する。
【0029】
図3はプロセッサコア部(101)およびデータ判定部(106)の構成を示すものである。プロセッサコア部(101)はクロック発生部(200)、命令メモリ(201)、命令デコード部(202)、データメモリポインタ部(203)、バンクセレクト信号生成部(204)、割り込み制御部(213)、不良アドレス保持部(214)、汎用レジスタ0(206)、汎用レジスタ1(207)、転送バス(160)を備える。クロック発生部(200)はプロセッサコア部(101)内の各部および、各メモリバンク(102,103,104,105)、データ判定部(106)へのクロック供給を行う。
【0030】
次に本構成の動作を説明する。まず、命令メモリ(201)から命令コード(230)が命令デコード部(202)へ供給される。ここで供給される命令は、既存の命令と、本発明の実施の形態で提案する各メモリバンクに同時に書き込む命令および各メモリバンクから同時に読み出す命令であり、各メモリバンクに同時に書き込む命令を全ライト命令、各メモリバンクから同時に読み出す命令を全リード命令とする。
【0031】
命令デコード部(202)では、命令コード(230)をデコードし、ポインタ選択信号(231)、ポインタ更新信号(232)、全バンクセレクト信号(234)、リード・ライト制御信号(130)、期待値レジスタ選択信号(161)を出力する。なお、全バンクセレクト信号(234)は、全ライト命令および全リード命令をデコードしたときに1となる信号が生成される。
【0032】
ポインタ選択信号(231)およびポインタ更新信号(232)はデータメモリポインタ部(203)に入力される。このデータメモリポインタ部(203)の動作について説明する。図4にデータメモリポインタ部の構成を示す。このデータメモリポインタ部(203)は、ポインタレジスタが4セットp0(410)、pl(411)、p2(412)、p3(413)と、演算器(415)と、増分レジスタ(414)と、使用ポインタセレクタ(417)と,更新ポインタセレクタ(416)と、ポインタ更新値セレクタ(418)とから構成される。
【0033】
増分レジスタ(414)は転送バス(160)に接続され、任意の値を設定できる。
【0034】
更新ポインタセレクタ(416)は演算器(415)の出力をどのポインタレジスタに出力するのかを選択するための回路である。選択はポインタ選択信号(231)の値により実行される。
【0035】
使用ポインタセレクタ(417)はどのポインタレジスタの出力をアドレス(109)として使用するかを選択するための回路である。選択はポインタ選択信号(231)の値により実行される。
【0036】
ポインタ更新値セレクタ(418)はポインタレジスタの値を更新する際に、どの更新値を演算器(415)に出力するのかを選択するための回路である。選択はポインタ更新信号(232)の値により実行される。
【0037】
命令デコード部(202)よりポインタ選択信号(231)、ポインタ更新信号(232)が入力され、それらの値により各ポインタの値が命令実行後に図5に示すように更新される。
【0038】
また、命令実行時のポインタ選択信号(231)により選択されたポインタレジスタからアドレス(109)が出力される。
【0039】
データメモリポインタ部(203)から出力されたアドレス16ビット(109)の下位12ビットはそのまま各メモリバンク(102,103,104,105)へ供給される。アドレス16ビット(109)の上位4ビットはバンクセレクト信号生成部(204)へ出力される。
【0040】
バンクセレクト信号生成部(204)へはまた、全バンクセレクト信号(234)が入力される。全バンクセレクト信号(234)は全ライト命令および全リード命令時に1となる信号である。
【0041】
バンクセレクト信号生成部(204)は2つの入力に対し、図6に示されるバンクセレクト信号真理値表に従って各バンクのバンクセレクト信号(121,122,123,124)を生成する。生成されたバンクセレクト信号は各メモリバンク(102,103,104,105)に供給される。全バンクセレクト信号(234)が1の場合、全てのメモリバンクを選択するため、各バンクのバンクセレクト信号(121,122,123,124)が全て1となる。
【0042】
汎用レジスタ0(206)および汎用レジスタ1(207)は各メモリバンク(102,103,104,105)に書き込むデータを保持しておくためのレジスタである。この2つのレジスタには予め命令により書き込んでおく。各メモリバンク(102,103,104,105)にライトする際、汎用レジスタ選択信号(240)により選択されるレジスタの値を出力し、転送バス(160)を経由して各メモリバンク(102,103,104,105)に供給される。
【0043】
期待値レジスタ選択信号(161)はデータ判定部(106)に入力される。データ判定部(106)は期待値レジスタ0(209)、期待値レジスタ1(210)、データ判定回路(211)、セレクタ(212)、転送バス(160)を備える。
【0044】
期待値レジスタ選択信号(161)は、期待値レジスタ0(209)および期待値レジスタ1(210)のどちらの値を期待値として使用するかを選択する信号である。2つの期待値レジスタ(209,210)には予め命令により期待値を保持しておく。
【0045】
データ判定回路(211)には、期待値レジスタ選択信号(161)に応じてセレクタ(212)で選択された期待値レジスタ0(209)の出力または期待値レジスタ1(210)の出力と、各メモリバンクからの出力データ(150,151,152,153)とが入力される。データ判定回路(211)では各メモリバンクから出力されたデータ(150,151,152,153)とセレクタ(212)で選択された期待値とを比較する。データの比較はデータのビット毎に実施する。
【0046】
例えば、メモリにx’5555’、x’aaaa’の2つを書き込むテストを実施する場合、正しく読みされるデータはx’5555’、x’aaaa’であるため、期待値レジスタ0(209)にx’5555’、期待値レジスタ1(210)にx’aaaa’を予め書き込む。
【0047】
命令デコード部(202)では、全リード命令の命令コード(230)に基づいて期待値レジスタ選択信号(161)を生成する。本実施の形態のように、例えば2つの期待値レジスタが存在する場合、全リード命令時に期待値レジスタを選択できるように1ビットの命令コード領域を確保しておき、その命令コードが0ならば期待値レジスタ0(209)を選択する、1ならば期待値レジスタ1(210)を選択するとすると、その命令コードに従って期待値レジスタ選択信号(161)を生成する。なお、期待値レジスタの個数に従って、前記命令コード中に確保するビット長を変えてもよい。
【0048】
図7にデータ判定回路(211)の真理値表を示す。図7では各メモリバンクの出力データ(150,151,152,153)のビット0(最下位ビット)における真理値表が示されている。全ライト命令では各バンクに同時に書かれる値は全て等しいため、正常動作の場合ビット0期待値と各バンクのビット0データ全ての値が一致する。このときのビット0データ判定信号を0とする。それ以外は全て異常動作とし、このときのビット0データ判定信号を1とする。
【0049】
図8はデータ判定回路(211)におけるデータ判定信号の出力回路図である。図中は最下位ビットのビット0の判定回路(360)および最上位ビットのビット15の判定回路(370)のみを記載しているが、実際には点線部分に同様のビット1からビット14の判定回路が存在する。各ビットの判定回路はそれぞれNANDゲートとORゲートとセレクタで構成され、例えばビット0の判定回路(360)では、ビット0の期待値が1のとき、セレクタ(363)はNANDゲート(361)の出力を選択してORゲート(350)へ出力し、期待値が0のときORゲート(362)の出力を選択してORゲート(350)へ出力する。同様にしてビット毎に判定した結果全てをORゲート(350)に入力することにより判定結果を1ビット出力とする。正常動作の場合、各ビットの判定信号は0となるのでデータ判定信号(170)は0となる。異常動作の場合、ある任意のビットの判定信号が1となるためデータ判定信号(170)は1となる。
【0050】
割り込み制御部(213)では、データ判定信号(170)が入力される。割り込み制御部(213)では、データ判定信号(170)を終了割り込み要求信号として扱う。この終了割り込み要求信号を受けて終了割り込み処理を実行するかどうかは、メモリテストを実施する前に予め要求を受けつける設定をしておくかどうかに依る。もし、終了割り込み処理を実施するように設定したとすると、入力されたデータ判定信号(170)が0の揚合、正常動作のため、そのままメモリテストを続行する。入力されたデータ判定信号(170)が1の場合、終了割り込み処理を実行し、テストを終了させる。
【0051】
メモリテストでは不良メモリを選別するというスクリーニングの他に故障モード(故障箇所、原因)を明確にするという目的がある。
【0052】
故障モードの調査では、どのアドレスにアクセスした時に、どのようにデータが誤っているのかが非常に重要になる。そのため、データ判定部(106)より、読み出されたデータが誤っているという情報(データ判定信号(170)が1)が出力された場合、アクセスに使用したアドレスを順次保持する機構を設け、全テストが終了した後にそれらを読み出し解析に使用するとする。この場合、割り込み制御部(213)は終了割り込み要求を受けつけないように設定され、割り込み制御部(213)によるテスト終了の終了割り込み処理は行われない。
【0053】
不良アドレス保持部(214)にはFIFO形式の記憶手段を採用する。不良アドレス保持部(214)はメモリアクセスに使用するアドレスに接続され、データ判定信号(170)が1になる度にアクセスアドレスを遅延させたデータを格納する。
【0054】
図9にその場合の動作を示す。クロックに同期してデータメモリポインタ部(203)よりアドレス12ビット(110)が供給される。図中破線矢印で示した様にメモリからデータが実際に出力されるまでには遅延がある。各バンクからは図に示したようなデータが読まれるとすると、データ判定部データは図中のようになる。各バンクからのデータはビット毎で見ると全て同じであるはずなので、データ判定部データがx’0000’でない場合は、データ判定信号(170)が1として出力される。データ判定信号(170)をもとに1サイクル遅延させた不良アドレスがFIFO記憶手段(アドレス保持レジスタ)に積まれていく。以上により、正しくないデータが読み出された場合は、対応するアドレスが順次記憶されていく。
【0055】
次に本実施の形態の構成における実際の動作を説明する。
【0056】
まず、通常のライト命令および通常のリード命令の動作を説明する。通常のライト命令の命令コード(230)が命令メモリ(201)より命令デコード部(202)に供給されると、命令がデコードされ、データメモリポインタ部(230)へポインタ選択信号(231)、ポインタ更新信号(232)が供給される。また、バンクセレクト信号生成部(204)へ全バンクセレクト信号(234)として0が供給される。また、リード・ライト制御信号(130)が0となり各メモリバンク(102〜105)へ供給される。データメモリポインタ部(203)では選択されたポインタからアドレスが出力され、ポインタを更新する。バンクセレクト信号生成部(204)ではアドレスをデコードしてある1つのメモリバンクを選択する。ライトデータは汎用レジスタ選択信号(240)により選択された汎用レジスタ(206または207)からメモリバンクへ供給される。ここで、命令デコード部(202)では、ライト命令の命令コード(230)に基づいて汎用レジスタ選択信号(240)を生成している。本実施の形態のように、例えば2つの汎用レジスタが存在する場合、ライト命令時に汎用レジスタを選択できるように1ビットの命令コード領域を確保しておき、その命令コードが0ならば汎用レジスタ0(206)を選択する、1ならば汎用レジスタ1(207)を選択するとすると、その命令コードに従って汎用レジスタ選択信号(240)を生成する。なお、汎用レジスタの個数に従って、前記命令コード中に確保するビット長を変えてもよい。アドレス(110)、リード・ライト制御信号(130)、ライトデータは全てのメモリバンク(102〜105)に共通であり、異なるのはバンクセレクト信号(121〜124)のみである。これら4つの信号を用いてメモリにデータをライトする。
【0057】
通常のリード命令の命令コード(230)が命令メモリ(201)より命令デコード部(202)に供給されると、命令がデコードされ、データメモリポインタ部(230)へポインタ選択信号(231)、ポインタ更新信号(232)が供給される。また、バンクセレクト信号生成部(204)へ全バンクセレクト信号(234)として0が供給される。また、リード・ライト制御信号(130)が1となり各メモリバンク(102〜105)へ供給される。データメモリポインタ部(203)では選択されたポインタからアドレスが出力され、ポインタを更新する。バンクセレクト信号生成部(204)ではアドレスをデコードしてある1つのメモリバンクを選択する。アドレス(110)、リード・ライト制御信号(130)は全てのメモリバンク(102〜105)に共通であり、異なるのはバンクセレクト信号(121〜124)のみである。これら3つの信号を用いてメモリからデータをリードする。各メモリバンクからリードされるデータはトライステートバッファ(190〜193)により選択され、選択されたメモリバンクの値のみをメモリリードデータバス(181)に出力するよう制御される。
【0058】
次に全ライト命令および全リード命令について説明する。全ライト命令と通常のライト命令の違いは、全ライト命令の場合はバンクセレクト信号(120すなわち121〜124)が全て1となるのに対し、通常のライト命令の場合はある1つのメモリバンクのバンクセレクト信号のみが1となることである(全バンクセレクト信号(234)が1か0かの相違は当然ある)。全リード命令と通常のリード命令の違いは、ライト命令の場合同様、全リード命令の場合はバンクセレクト信号が全て1となるのに対し、通常のリード命令の場合はある1つのメモリバンクのバンクセレクト信号のみが1となること(全バンクセレクト信号(234)が1か0かの相違は当然ある)と、通常のリード命令の場合はメモリバンクから読み出されたデータがトライステートバッファ(190〜193)を介しメモリリードデータバス181に出力されるが、全リード命令の場合はメモリリードデータバス181に出力されない(データ判定部106に出力される)ことである。
【0059】
全ライト命令と全リード命令を使用するギャロッピングテストの手順ついて説明する。まず初めにギャロッピングテストのアルゴリズムについて説明する。図10にギャロッピングテストの手順図を示す。ここで図中のメモリは列方向8ワード、行方向2ワードとし、左下のセルを0番地とし、その列の右方向に1番地、2番地、…、7番地とし、左上のセルを8番地とし、その列の右方向に10番地、11番地、…、15番地とする。また、図中のセル内の0,1はライトしたデータ、またはライトされているデータ、Hは1をリードする、Lは0をリードするという意味である。以下、図中の番号に従い説明を進める。(1)メモリマクロの全領域に0を書く。(2)最初の基点の0番地に1を書く。(3)テストセルである1番地をリードする。(4)基点の0番地をリードする。(5)テストセルである1番地をリードする。(6)2番地をリードする。(7)0番地をリードする。(8)2番地をリードする。アドレスをインクリメントしながら前述のように3つのリードを繰り返す。(9)15番地をリードする。(10)0番地をリードする。(11)15番地をリードする。(12)全アドレスに対しリードを終了したら、0番地に0をライトし、元に戻す。(13)基点を次の番地にするため1番地に1をライトする。(14)0番地をリードする。(15)基点の1番地をリードする。(16)0番地をリードする。この手順を繰り返して、全領域に対して基点を選択し、テストを実施していく。もし全領域で正しく動作した場合はテストを終了する。途中で誤った動作が生じた場合には、テストストップの割り込み動作によりテストを終了するか、または誤ったデータに対応するアドレスを記憶させ、最終アドレスまでテストを行ってテストを終了する。
【0060】
また、このテスト手順ではテストステップ数が膨大となるため、簡易版として、ダイアゴナルギャロッピングテストがある。これは基点の選択の仕方とテストセルの選択方法を一部省略して実施するテスト法である。図11にダイアゴナルギャロッピングテストの動作手順図を示す。まず基点の選択方法はメモリバンクの物理セル配置に対し、斜線方法に選択する。アドレス指定にはp0を使用する。次にテストセルの選択方向は、基点を含む行および列方向のセルについて選択する。列方向のセルのアドレス選択にp1、行方向のセル選択にp2を使用する。p0、p1、p2を命令によりデータポインタ部で制御してテストを実施する。
【0061】
以上のメモリテスト実施時におけるメモリへのリード・ライト命令は全て全ライト命令および全リード命令を使用して実施する。
【0062】
以上、説明してきたメモリテストの流れをメモリテストフローチャートとして図12に示す。以下、図12に基づいて本実施の形態の一連の動作を説明する。
【0063】
まず、全ライト命令、全リード命令及び既存命令を使用して、所望のメモリテストプログラムを作成する(ステップS1)。
【0064】
次に、プログラムとメモリテストにおける設定をプロセッサに供給する(ステップS2)。ここで、設定とは、異常動作時に前述の終了割り込み要求を受理してテストを終了させるのか、もしくは故障アドレスを保持させる故障調査モードにするのかを選択し、プロセッサにその設定をすることである。
【0065】
プロセッサを動作させ、プログラムに従ってメモリテストを実施する。まずテスト対象メモリへデータを書き込む(ステップS3)。この書き込みに全ライト命令を使用して複数バンクへの同時書き込みを実施する。
【0066】
データの書き込みが終了したら次のステップに進み、そうでない場合は書き込みを続ける(ステップS4)。
【0067】
データの書き込みが終了したら、テスト対象メモリの読み出しを実施する(ステップS5)。この読み出しに全リード命令を使用して複数バンクからの同時読み出しを実施し、かつ予め期待値レジスタに用意しておいた期待値のうち、どの期待値と比較するのかを選択する。
【0068】
読み出したデータと予め用意しておいた期待値とを比較し(ステップS6)、一致していたら、全てのヂータを読み出し比較したかどうかを判定する(ステップS7)。
【0069】
全てのデータを読み出し比較したならば、全てのテストが終了したかどうかを判定し(ステップS9)、全てのテストが終了していれば、メモリテスト動作が終了する。全てのテストが終了していなければ、新たにテスト対象メモリへの書き込みを実施し(ステップS3)、以下同様にテストを繰り返す。
【0070】
また読み出したデータと予め用意しておいた期待値とを比較したとき(ステップS6)、不一致である場合には、ステップS2で予めプロセッサに設定しておいた動作を開始する(ステップS8)。テスト終了割り込み要求を受理する設定にした場合には終了割り込み処理が動作し(ステップS11)、直ちにメモリテストが終了する。故障調査モードを設定した場合には、故障アドレス保持動作を実施し(ステップS10)、実施後はステップS6で一致した場合と同様に全てのデータを読み出し比較したかどうかを判定して、以下同様にテストを繰り返す。
【0071】
本実施の形態では、図中のテスト対象メモリへの書き込み実施(ステップS3)のための全ライト命令を実施できる構成と、テスト対象メモリからの読み出し実施(ステップS5)のための全リード命令を実施できる構成および全リード命令で読み出したデータを同時に判定できる構成を設けることにより、4つのバンクを同時にテストすることで、テストステップ数を1バンク分と同等にできる。
【0072】
以上のように本実施の形態によれば、複数のメモリバンクを同時にテストするため、テストステップ数を低減し、LSIのメモリテスト時間を短縮することができる。これによりLSI全体のテスト時間が短縮され、検査コストが低減される。また、テストパターン発生、すなわちメモリへのアドレス出力、データ出力、リード・ライト制御信号出力をプロセッサの既存の機能を使用して実施するため回路増加を抑えることができる。これによりLSIテスト用回路を挿入することにより発生する面積増加、消費電力増加、動作速度低下が低減される。
【0073】
【発明の効果】
本発明によれば、複数のメモリバンクを同時にテストすることができ、テストステップ数を低減し、メモリテスト時間を短縮することができる。また、メモリバンク選択手段に全リード命令および全ライト命令で全てのメモリバンクを選択する機能を付加したことと、メモリテスト判定部を設けたこと以外はプロセッサコアの既存の機能を使用して実施するため、回路増加を抑えることができる。また、プロセッサコアの既存の機能を使用することで、高速にメモリテストを実施でき、アイソレーションテストにおけるメモリをテストするための端子を不要とし、また動作速度の問題もない。
【図面の簡単な説明】
【図1】本発明の実施の形態の半導体装置の全体構成図
【図2】本発明の実施の形態におけるメモリ動作のタイミングチャート
【図3】本発明の実施の形態におけるプロセッサコア部およびデータ判定部の構成図
【図4】本発明の実施の形態におけるデータメモリポインタ部の構成図
【図5】本発明の実施の形態におけるデータメモリポインタ部の動作表を示す図
【図6】本発明の実施の形態におけるバンクセレクト信号真理値表を示す図
【図7】本発明の実施の形態におけるデータ判定回路の真理値表を示す図
【図8】本発明の実施の形態におけるデータ判定回路におけるデータ判定信号の出力回路図
【図9】本発明の実施の形態における不良アドレス保持部のアドレス保持動作のタイミングチャート
【図10】本発明の実施の形態におけるギャロッピングテストの手順図
【図11】本発明の実施の形態におけるダイアゴナルギャロッピングテストの動作手順図
【図12】本発明の実施の形態におけるメモリテストのフローチャート
【符号の説明】
100 LSI
101 プロセッサコア部
102 メモリバンク0
103 メモリバンク1
104 メモリバンク2
105 メモリバンク3
106 データ判定部
110 アドレス
120 バンクセレクト信号
121 メモリバンク0セレクト信号
122 メモリバンク1セレクト信号
123 メモリバンク2セレクト信号
124 メモリバンク3セレクト信号
130 リード・ライト信号
140 クロック
150 メモリバンク0リードデータ
151 メモリバンク1リードデータ
152 メモリバンク2リードデータ
153 メモリバンク3リードデータ
160 転送バス
161 期待値レジスタ選択信号
170 データ判定信号
181 メモリリードデータ
190 メモリバンク0リードデータ用トライステートバッファ
191 メモリバンク1リードデータ用トライステートバッファ
192 メモリバンク2リードデータ用トライステートバッファ
193 メモリバンク3リードデータ用トライステートバッファ
200 クロック発生部
201 命令メモリ
202 命令でコード部
203 データメモリポインタ部
204 バンクセレクト信号部
206 汎用レジスタ0
207 汎用レジスタ1
209 期待値レジスタ0
210 期待値レジスタ1
211 データ判定回路
212 セレクタ
213 割り込み制御部
214 不良アドレス保持部
230 命令コード
231 ポインタ選択信号
232 ポインタ更新信号
234 全バンクセレクト信号
240 汎用レジスタ選択信号
310 ビット0データ判定信号
311 ビット16データ判定信号
350 ORゲート
360 ビット0データ判定回路
370 ビット16データ判定回路
410 ポインタ0
411 ポインタ1
412 ポインタ2
413 ポインタ3
414 増分レジスタ
415 加算器
416 更新ポインタセレクタ
417 使用ポインタセレクタ
418 ポインタ更新値セレクタ

Claims (4)

  1. それぞれアクセスアドレスの上位ビットに対応して選択され内部にそれぞれアクセスアドレスの下位ビットに対応する共通のアドレスを有する複数のメモリバンクを備えるとともに、
    命令コードをデコードする命令デコーダと、前記命令デコーダでデコードした命令が所定のアクセスアドレスに対しデータを読み出すリード命令または書き込むライト命令であるときに、前記所定のアクセスアドレスの上位ビットに対応する前記メモリバンクを選択するメモリバンク選択手段と、前記所定のアドレスの下位ビットに対応するアドレスを前記複数のメモリバンクに対し指定するアドレス指定手段とを有し、前記メモリバンク選択手段で選択されたメモリバンクの前記アドレス指定手段で指定されたアドレスに対しデータの読み出しまたは書き込みを行うプロセッサコアとを備えた半導体装置のテスト方法であって、
    前記命令デコーダでデコードした命令が所定のアクセスアドレスの下位ビットに対応する各々の前記メモリバンク内における同一のアドレスに対し同時にデータを読み出す全リード命令または書き込む全ライト命令であるときに、前記メモリバンク選択手段は全ての前記メモリバンクを選択するようにし、
    前記命令デコーダでデコードした命令が前記全リード命令であるときに、全ての前記メモリバンクから読み出したデータを対応する期待値と比較し全ての読み出しデータが前記期待値と一致したときに正常と判定し、それ以外のときに異常と判定するメモリテスト判定部を設け、
    前記全ライト命令により全ての前記メモリバンク内の所定のアドレスにデータを書き込み、この書き込まれたデータを前記全リード命令により読み出して前記メモリテスト判定部で判定する処理を、前記メモリバンク内の異なるアドレスに対して順次実施することを特徴とする半導体装置のテスト方法。
  2. 前記メモリテスト判定部で異常と判定したときのアクセスアドレスの下位ビットに対応する前記メモリバンク内におけるアドレスを格納保持する記憶手段を設け、前記全ライト命令および全リード命令と前記メモリテスト判定部での判定を前記メモリバンク内の異なるアドレスに対して順次実施した後、前記記憶手段に記憶されたアドレスを参照する請求項1記載の半導体装置のテスト方法。
  3. それぞれアクセスアドレスの上位ビットに対応して選択され内部にそれぞれアクセスアドレスの下位ビットに対応する共通のアドレスを有する複数のメモリバンクを備えるとともに、
    命令コードをデコードする命令デコーダと、前記命令デコーダでデコードした命令が所定のアクセスアドレスに対しデータを読み出すリード命令または書き込むライト命令であるときに、前記所定のアクセスアドレスの上位ビットに対応する前記メモリバンクを選択するメモリバンク選択手段と、前記所定のアドレスの下位ビットに対応するアドレスを前記複数のメモリバンクに対し指定するアドレス指定手段とを有し、前記メモリバンク選択手段で選択されたメモリバンクの前記アドレス指定手段で指定されたアドレスに対しデータの読み出しまたは書き込みを行うプロセッサコアとを備えた半導体装置であって、
    前記命令デコーダでデコードした命令が所定のアクセスアドレスの下位ビットに対応する各々の前記メモリバンク内における同一のアドレスに対し同時にデータを読み出す全リード命令または書き込む全ライト命令であるときに、前記メモリバンク選択手段は全ての前記メモリバンクを選択するようにし、
    前記命令デコーダでデコードした命令が前記全リード命令であるときに、全ての前記メモリバンクから読み出したデータを対応する期待値と比較し全ての読み出しデータが前記期待値と一致したときに正常と判定し、それ以外のときに異常と判定するメモリテスト判定部を設けたことを特徴とする半導体装置。
  4. 前記メモリテスト判定部で異常と判定したときのアクセスアドレスの下位ビットに対応する前記メモリバンク内におけるアドレスを格納保持する記憶手段を設けた請求項3記載の半導体装置。
JP2002234812A 2002-08-12 2002-08-12 半導体装置のテスト方法及び半導体装置 Pending JP2004079032A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002234812A JP2004079032A (ja) 2002-08-12 2002-08-12 半導体装置のテスト方法及び半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002234812A JP2004079032A (ja) 2002-08-12 2002-08-12 半導体装置のテスト方法及び半導体装置

Publications (1)

Publication Number Publication Date
JP2004079032A true JP2004079032A (ja) 2004-03-11

Family

ID=32019509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002234812A Pending JP2004079032A (ja) 2002-08-12 2002-08-12 半導体装置のテスト方法及び半導体装置

Country Status (1)

Country Link
JP (1) JP2004079032A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276423A (ja) * 2004-03-22 2005-10-06 Hynix Semiconductor Inc バンク選択が可能な並列テスト回路及び該並列テスト方法
JP2006105783A (ja) * 2004-10-05 2006-04-20 Nec Electronics Corp メモリテスト回路及びメモリテスト方法
US7263642B1 (en) * 2005-09-15 2007-08-28 Azul Systems, Inc Testing replicated sub-systems in a yield-enhancing chip-test environment using on-chip compare to expected results for parallel scan chains testing critical and repairable sections of each sub-system
JP2007257698A (ja) * 2006-03-20 2007-10-04 Ricoh Co Ltd 半導体集積回路
CN110489259A (zh) * 2019-07-29 2019-11-22 深圳中电长城信息安全系统有限公司 一种内存故障检测方法及设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276423A (ja) * 2004-03-22 2005-10-06 Hynix Semiconductor Inc バンク選択が可能な並列テスト回路及び該並列テスト方法
JP2006105783A (ja) * 2004-10-05 2006-04-20 Nec Electronics Corp メモリテスト回路及びメモリテスト方法
US7526697B2 (en) 2004-10-05 2009-04-28 Nec Electronics Corporation Memory test circuit and method
JP4695373B2 (ja) * 2004-10-05 2011-06-08 ルネサスエレクトロニクス株式会社 メモリテスト回路及びメモリテスト方法
US7263642B1 (en) * 2005-09-15 2007-08-28 Azul Systems, Inc Testing replicated sub-systems in a yield-enhancing chip-test environment using on-chip compare to expected results for parallel scan chains testing critical and repairable sections of each sub-system
JP2007257698A (ja) * 2006-03-20 2007-10-04 Ricoh Co Ltd 半導体集積回路
CN110489259A (zh) * 2019-07-29 2019-11-22 深圳中电长城信息安全系统有限公司 一种内存故障检测方法及设备
CN110489259B (zh) * 2019-07-29 2023-03-24 深圳中电长城信息安全系统有限公司 一种内存故障检测方法及设备

Similar Documents

Publication Publication Date Title
US6493839B1 (en) Apparatus and method for testing memory in a microprocessor
US6436741B2 (en) Semiconductor integrated circuit device
US7814385B2 (en) Self programmable shared bist for testing multiple memories
US8201037B2 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
US20030005353A1 (en) Methods and apparatus for storing memory test information
JP2001510611A (ja) 集積dmaコントローラを用いて集積メモリをテストする方法
US7308623B2 (en) Integrated circuit and method for testing memory on the integrated circuit
CN108899061A (zh) 一种电源常开芯片中的存储器内建自测试方法和系统
MX2008011173A (es) Aparato y metodo de prueba de arreglo de memoria de multiple puerto a-velocidad.
US6862704B1 (en) Apparatus and method for testing memory in a microprocessor
JPH09318707A (ja) 半導体メモリ試験方法および装置
US20050262401A1 (en) Central processing unit and micro computer
JP2003338200A (ja) 半導体集積回路装置
JP2002203398A (ja) 不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法
US20060268633A1 (en) Semiconductor device
CN111816241B (zh) 存储器及其测试方法
US20100313081A1 (en) Cache memory, processor, and production methods for cache memory and processor
KR20030085466A (ko) 반도체 집적 회로 장치
JP2004079032A (ja) 半導体装置のテスト方法及び半導体装置
JP5510107B2 (ja) エラー訂正試験方法
CN1185574C (zh) 具有内置测试功能的处理器及其处理方法
JP4695373B2 (ja) メモリテスト回路及びメモリテスト方法
CN103871476B (zh) 嵌入式存储器测试系统
JPH0512900A (ja) テスト機能を有する半導体記憶装置及びそのテスト方法
WO2022246668A1 (zh) 一种测试电路、集成芯片及测试方法