(57)【要約】【課題】ＲＯＭを機器に組み込んだ実動作状態で、ＲＯＭが正しく動作することを保証できないという問題を防ぐための、テスト回路を提供する。【解決手段】ＲＯＭにテスト回路を内蔵し、停止アドレス設定レジスタ２２を設け、アドレス生成カウンタ２１で、停止アドレス設定レジスタ２２に設定したアドレス値までのテスト用アドレスを生成し、チェックサムをとる。【選択図】図１
2009245493.tif 000002
【特許請求の範囲】
【請求項１】
データが記憶される記憶手段の試験を行う試験回路であって、
前記記憶手段に記憶されているデータの格納場所を示す試験用アドレスを順次生成するアドレス生成手段と、
前記アドレス生成手段による前記試験用アドレスの生成を停止させる制御を行う制御手段と、
前記アドレス生成手段によって生成された前記試験用アドレスにより指定され、前記記憶手段から読み出されたデータを順次加算する加算手段と、
前記アドレス生成手段が前記制御手段の制御によって前記試験用アドレスの生成を停止するまでの前記加算手段の加算結果を被試験データとして出力する被試験データ出力手段と、
を備えることを特徴とする試験回路。
【請求項２】
前記制御手段は、
前記試験用アドレスの生成を停止させるアドレス値を記憶する停止アドレス記憶手段を備え、
前記アドレス生成手段は、
前記停止アドレス記憶手段に記憶されている停止アドレスに基づいて試験用アドレスの生成を停止する
ことを特徴とする請求項１に記載の試験回路。
【請求項３】
前記制御手段は、
前記試験用アドレスの生成が停止するまでの期間を記憶するアドレス期間記憶手段を備え、
前記アドレス生成手段は、
前記アドレス期間記憶手段に記憶されているアドレス期間に基づいて試験用アドレスの生成を停止するアドレスを設定する
ことを特徴とする請求項１に記載の試験回路。
【請求項４】
前記アドレス生成手段が試験用アドレスを生成している状態と試験用アドレスの生成を停止している状態を識別するイネーブル信号を生成するイネーブル信号生成手段を備え、
前記被試験データ出力手段は、
前記アドレス生成手段が試験用アドレスを生成している状態から停止した状態に変化したとき、前記イネーブル信号生成手段によって生成された前記イネーブル信号に基づいて、前記加算手段の加算結果を記憶し、その値を出力する
ことを特徴とする請求項１から請求項３のいずれか１の項に記載の試験回路。
【請求項５】
前記制御手段は、
前記アドレス生成手段が試験用アドレスの生成を開始するアドレス値を記憶する開始アドレス記憶手段をさらに備え、
前記アドレス生成手段は、
前記開始アドレス記憶手段に記憶されている開始アドレスから試験用アドレスを順次生成する
ことを特徴とする請求項１から請求項４のいずれか１の項に記載の試験回路。
【請求項６】
前記記憶手段と請求項１から請求項５のいずれか１の項に記載の試験回路を同一の半導体集積回路内に備える
ことを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置の試験回路に関する。
【背景技術】
【０００２】
従来、半導体記憶装置（以下メモリという）をテストする方法は、メモリの全アドレスに記憶されているデータを読み出して書き込んだデータと比較する方法や、メモリの全アドレスに記憶されているデータを読み出して、出力されたデータを加算して得られるチェックサム（被テストデータ）を算出し、予め書き込むデータで計算しておいたチェックサム（期待値データ）とメモリの外部で照合する方法や、予めチップ内に持たせておいた期待値データと照合する方法がある。
【０００３】
また、非特許文献１では、メモリのテストを容易化するため、チップ内に書き込みパターンを発生するテストパターン発生器とメモリのアドレスを発生するアドレス発生器、メモリから読み出した結果を比較する結果比較器を埋め込んで、メモリ内で自己試験を行うメモリＢＩＳＴ（Built In Self Test：内蔵セルフテスト）が開示されている。
【０００４】
メモリＢＩＳＴは、読み書き可能なメモリ（Random Access Memory：ＲＡＭ）に適用することが基本であるが、メモリＢＩＳＴを読み出し専用メモリ（Read Only Memory：以下ＲＯＭという）に適用するための方法が開示されている。特許文献１では、チップ内に擬似乱数を発生するＬＦＳＲ（Linear Feedback Shift Register）を設け、ＲＯＭデータを圧縮して、ＲＯＭのテスト用データ領域に当該ＲＯＭの固有データとして書き込んでおき、テスト時に読み出してＬＦＳＲ回路が出力したデータと比較する方法が開示されている。
【非特許文献１】小室貴紀，小林春夫，酒寄寛，光野正志，“ミックスト・シグナルＬＳＩテスタ技術の基礎（後編）”，デザインウエーブマガジン No.92，P.94-102，2005年7月号
【特許文献１】特開平９−１４６７９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＲＯＭに書き込んだデータが正しくＲＯＭに記憶されているかをテストする方法は、ＲＯＭを比較的遅い動作速度で動作させて、半導体試験装置（ＬＳＩテスタ）または、ＲＯＭ書き込み装置（ＲＯＭライタ）でＲＯＭのデータを読み出して期待値と比較している。本テスト方法は、ＲＯＭが実際に機器に組み込まれているときの動作速度と異なるため、ＲＯＭの出力に遅延がある場合の動作を確認することができず、ＲＯＭを機器に組み込んだ実動作状態で、ＲＯＭデータに依存することなく正しく動作することを保証できないという問題がある。（図７、図８参照）
【０００６】
本発明は、上記の課題認識に基づいてなされたものであり、ＲＯＭが実際の機器に組み込まれているときの動作速度でテストを正しく行える回路を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明の試験回路は、データが記憶される記憶手段の試験を行う試験回路であって、前記記憶手段に記憶されているデータの格納場所を示す試験用アドレスを順次生成するアドレス生成手段と、前記アドレス生成手段による前記試験用アドレスの生成を停止させる制御を行う制御手段と、前記アドレス生成手段によって生成された前記試験用アドレスにより指定され、前記記憶手段から読み出されたデータを順次加算する加算手段と、前記アドレス生成手段が前記制御手段の制御によって前記試験用アドレスの生成を停止するまでの前記加算手段の加算結果を被試験データとして出力する被試験データ出力手段と、を備えることを特徴とする。
【０００８】
また、本発明の前記制御手段は、前記試験用アドレスの生成を停止させるアドレス値を記憶する停止アドレス記憶手段を備え、前記アドレス生成手段は、前記停止アドレス記憶手段に記憶されている停止アドレスに基づいて試験用アドレスの生成を停止することを特徴とする。
【０００９】
また、本発明の前記制御手段は、前記試験用アドレスの生成が停止するまでの期間を記憶するアドレス期間記憶手段を備え、前記アドレス生成手段は、前記アドレス期間記憶手段に記憶されているアドレス期間に基づいて試験用アドレスの生成を停止するアドレスを設定することを特徴とする。
【００１０】
また、本発明の前記アドレス生成手段が試験用アドレスを生成している状態と試験用アドレスの生成を停止している状態を識別するイネーブル信号を生成するイネーブル信号生成手段を備え、前記被試験データ出力手段は、前記アドレス生成手段が試験用アドレスを生成している状態から停止した状態に変化したとき、前記イネーブル信号生成手段によって生成された前記イネーブル信号に基づいて、前記加算手段の加算結果を記憶し、その値を出力することを特徴とする。
【００１１】
また、本発明の前記制御手段は、前記アドレス生成手段が試験用アドレスの生成を開始するアドレス値を記憶する開始アドレス記憶手段をさらに備え、前記アドレス生成手段は、前記開始アドレス記憶手段に記憶されている開始アドレスから試験用アドレスを順次生成することを特徴とする。
【００１２】
また、本発明の前記記憶手段と前記試験回路を同一の半導体集積回路内に備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、試験回路内に試験用アドレスの生成を停止する機能を設け、ＲＯＭデータの有効データ領域のみでテストを行うようにしたので、ＲＯＭの遅延の大小によってテスト結果が異なることになり、機器に組み込んで実動作をさせたときの動作速度でテストを正しく行えるという効果が得られる。また、アドレス制御手段でテストを行うＲＯＭのアドレス領域を指定してチェックサム結果を確認することができるため、ＲＯＭからの出力に遅延がある場合は、その遅延量を確認することができ、ＲＯＭに記憶されているＲＯＭデータに異常がある場合には、どのアドレスに記憶されたデータに異常があるのかを特定することができるという効果が得られる。
【００１４】
本発明の試験回路をＲＯＭが実装されている基板に搭載することで、機器の基板状態での動作保証をすることができるという効果が得られる。また、本発明の試験回路を半導体記憶装置に搭載することで、半導体記憶装置がそれ自体で機器に組み込まれているときの動作速度でテストを行うことができるという効果が得られる。
【発明を実施するための最良の形態】
【００１５】
＜第１実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態によるテスト回路を内蔵したメモリの構成を示したブロック図である。図１において、メモリ１０は、ＲＯＭ１１、アドレスセレクタ１２、データセレクタ１３、アドレス生成カウンタ２１、停止アドレス設定レジスタ２２（制御手段）、レジスタ取り込みイネーブル生成部２３、加算器２４、および、チェックサムレジスタ２５から構成される。また、チェックサムレジスタ２５は、加算器レジスタ２６、加算結果レジスタ２７から構成される。また、メモリ１０へは、外部からアドレス入力３１、テスト入力３２、クロック入力３３が入力され、メモリ１０からは、データ出力３４が出力される。
【００１６】
本実施形態におけるメモリ１０の動作は、テスト入力３２に通常モードを示す信号（Ｌｏｗレベル、以下“Ｌ”とする）が入力されると、機器に組み込まれる通常のマスクＲＯＭとして動作し、入力されたアドレス入力３１に対応するＲＯＭ１１のデータをデータ出力３４に出力する通常モードと、テスト入力３２にテストモードを示す信号（Ｈｉｇｈレベル、以下“Ｈ”とする）が入力されると、ＲＯＭ１１に対するテストを実行し、チェックサムレジスタ２５に記憶されているデータをデータ出力３４に出力するテストモードがある。テスト入力３２に“Ｈ”が入力されると、次にクロック入力３３が“Ｌ”から“Ｈ”に変化したときに、テストモードとなる。テストモードでは、メモリ１０から出力されるデータ出力３４と別途用意された期待値とをメモリ１０の外部で比較し、当該メモリ１０が正常であるか否かの判定を行う。
【００１７】
ＲＯＭ１１は、機器に組み込まれたときに使用するＲＯＭデータが書き込まれ、当該ＲＯＭデータを記憶しているマスクＲＯＭである。ＲＯＭ１１は、アドレスで指定された場所に記憶されているＲＯＭデータを出力する。
【００１８】
アドレスセレクタ１２は、ＲＯＭ１１に入力するアドレスを通常モード時とテストモード時で切り換えるブロックである。通常モード時は、メモリ１０の外部から入力されたアドレス入力３１をＲＯＭ１１のアドレスとして出力し、テストモード時は、アドレス生成カウンタ２１が生成したテスト用アドレスをＲＯＭ１１のアドレスとして出力する。
【００１９】
データセレクタ１３は、メモリ１０から出力する出力データ３４を通常モード時とテストモード時で切り換えるブロックである。通常モード時は、ＲＯＭ１１が出力するデータをメモリ１０の出力としてデータ出力３４に出力し、テストモード時は、チェックサムレジスタ２５に記憶されている被試験データをメモリ１０の出力としてデータ出力３４に出力する。
【００２０】
アドレス生成カウンタ２１は、テストを行うＲＯＭ１１のアドレス幅と同じ幅のビット数を持ったカウンタである。アドレス生成カウンタ２１は、当該カウンタのカウント値をテストすべきＲＯＭ１１に対するテスト用アドレスとして出力する。アドレス生成カウンタ２１は、テストモードになると、アドレス生成カウンタ２１の現在のカウンタ値をテスト用アドレスとして出力し、クロック入力３３が“Ｌ”から“Ｈ”に変化する毎にカウント値を１づつ加えていき、当該カウント値をテスト用アドレスとしてアドレスセレクタ１２および、後述するレジスタ取り込みイネーブル生成部２３に出力する。また、後述する停止アドレス設定レジスタ２２に記憶されている停止アドレス値（カウント値）になると次のアドレス値（例えば、停止アドレス設定レジスタ２２に、０ｘ００Ｆを設定した場合は、次のアドレス値である０ｘ０１０）でカウントを停止する。次にテストモードになったときは、停止しているカウント値からテスト用アドレスとして出力する。通常モード時は、動作しない。
【００２１】
停止アドレス設定レジスタ２２（制御手段）は、テストを行うＲＯＭ１１に対して出力されているテスト用アドレスを停止させるアドレス値（停止アドレス）を記憶するレジスタである。停止アドレス設定レジスタ２２には、ＲＯＭデータ（有効データ）が存在する最後のアドレス値を設定する。このアドレス値は、メモリ１０の外部から入力されるアドレス入力３１の値によって設定する。停止アドレスを設定する際、停止アドレス設定レジスタ２２は、テスト入力３２が“Ｌ”から“Ｈ”に変化すると、アドレス入力３１の値を取り込んで、停止アドレスとして記憶する。通常モード時は、動作しない。
【００２２】
レジスタ取り込みイネーブル生成部２３は、ＲＯＭ１１のテストを行う期間を示すイネーブル信号を出力するブロックである。レジスタ取り込みイネーブル生成部２３は、アドレス生成カウンタ２１がテスト用アドレスの出力を開始した次のクロック入力３３が“Ｌ”から“Ｈ”に変化した時から有効状態を表すイネーブル信号を後述するチェックサムレジスタ２５に出力する。イネーブル信号は、アドレス生成カウンタ２１が、停止アドレス設定レジスタ２２に設定されたアドレス値と同じアドレス値の出力を完了した次のクロック入力３３が“Ｌ”から“Ｈ”に変化するまで有効状態として継続する。その他の期間は無効状態とするイネーブル信号を出力する。通常モード時は、有効状態を示すイネーブル信号を出力しない。
【００２３】
加算器２４は、ＲＯＭ１１から読み出された各アドレスのデータと、チェックサムレジスタ２５の加算器レジスタ２６に記憶されているデータを加算する加算器である。通常モード時は、動作しない。
【００２４】
チェックサムレジスタ２５は、ＲＯＭ１１のテスト結果を記憶し、メモリ１０の被試験データとして、その値を保持するレジスタである。チェックサムレジスタ２５は、レジスタ取り込みイネーブル生成部２３が出力するイネーブル信号が有効状態を表す期間に加算器２４の加算結果をクロック入力３３の変化毎に記憶する加算器レジスタ２６と、レジスタ取り込みイネーブル生成部２３が出力するイネーブル信号が有効状態から無効状態に変化したときに加算器レジスタ２６のデータを記憶し、その後も値を保持する加算結果レジスタ２７を備える。なお、加算器レジスタ２６は、レジスタ取り込みイネーブル生成部２３が出力するイネーブル信号が有効状態から無効状態に変化し、当該加算器レジスタ２６が記憶しているデータを加算結果レジスタ２７が記憶した後、一定期間後に初期化される。通常モード時は、動作しない。
【００２５】
次に、テストを行うＲＯＭに格納されているデータについて説明する。
図２は、図１に示したＲＯＭ１１に格納されているデータの様子を示した図である。
【００２６】
ＲＯＭ１１のデータは、全ての記憶領域に記憶されておらず、データが記憶されていない無効データの領域は、全てのビットのデータが“０”となっている。停止アドレス設定レジスタ２２に設定するアドレス値は、有効データ領域中で“１”のビットが存在する最後のアドレス値を設定する。
【００２７】
次に、テストを行うタイミングについて説明する。
図３は、図１に示したテスト回路を内蔵したメモリの動作タイミングを示したタイミングチャートである。また、図７は従来のテスト方法でテストした場合を図３と対応付けて示したタイミングチャートである。
【００２８】
図３および、図７は、ＲＯM１１の出力に遅延が少ない場合を示すタイミングチャートである。なお、ＲＯＭ１１は、アドレスが１２ビットで、データが１６ビットのマスクＲＯＭとして説明する。また、ＲＯＭ１１は、アドレス値０ｘ０００からアドレス値０ｘ００Ｆまで有効なＲＯＭデータが記憶され、その他のアドレスの無効なデータは全て“０”（０ｘ００００）となっており、停止アドレス設定レジスタ２２に設定されたアドレス値は、０ｘ００Ｆを設定したものとしてとして説明する。
【００２９】
図３に示すように、本実施形態によるメモリ１０は、テスト入力３２にテストモードを示す“Ｈ”が入力されると、次のｔ１クロック期間でテストモードとなり、テストを開始する。
アドレス生成カウンタ２１は、ｔ１クロックからテスト用アドレスの出力を開始し、以後、クロック入力３３毎にカウント値を１づつ加え、テスト用アドレスとして出力する。ＲＯＭ１１は、テスト用アドレスが入力されると、テスト用アドレスで指定された場所に記憶されているＲＯＭデータを出力する。
【００３０】
ｔ２クロックでレジスタ取り込みイネーブル生成部２３は、イネーブル信号を有効状態にする。加算器２４は、以降、チェックサムレジスタ２５のデータとＲＯＭ１１の出力データを順次加算する。チェックサムレジスタ２５の加算器レジスタ２６は、加算器２４の加算結果をクロック入力３３毎に記憶する。
【００３１】
ｔ５クロックでアドレス生成カウンタ２１は、停止アドレス設定レジスタ２２に設定されたアドレス値（０ｘ００Ｆ）となると、次のｔ６クロックでカウントを停止する。また、レジスタ取り込みイネーブル生成部２３は、次のｔ７クロックでイネーブル信号を無効状態にする。
【００３２】
ｔ７クロックでレジスタ取り込みイネーブル生成部２３が出力するイネーブル信号が有効状態から無効状態に変化すると、加算結果レジスタ２７は、そのときの加算器レジスタ２６のデータを記憶する。このことにより、ＲＯＭ１１の有効データの最初のアドレス値（０ｘ０００）から、有効データの最後のアドレス値（０ｘ００Ｆ）までの加算結果が、加算結果レジスタ２７に記憶され、ＲＯＭ１１の被試験データとしてチェックサムレジスタ２５から出力される。メモリ１０は、チェックサムレジスタ２５の記憶しているＲＯＭ１１の被試験データをメモリ１０の被試験データとしてデータ出力３４に出力する。その後、本実施形態によるメモリ１０のテストを行う試験者または、半導体試験装置（ＬＳＩテスタ）は、ｔ８クロック以降のタイミングで期待値との比較を行い、ＲＯＭ１１のテスト結果を判定する。
【００３３】
一方、図７に示すように従来のテスト方式でテストする場合は、停止アドレス設定レジスタ２２がないため、メモリの最後のアドレスまで加算動作を継続する。このことにより、ＲＯＭ１１の最初のアドレス値（０ｘ０００）から、ＲＯＭ１１の最後のアドレス値（０ｘＦＦＦ）までの加算結果が、ＲＯＭ１１の被試験データとなる。従来のテスト方法の場合、テストを行う試験者または、半導体試験装置（ＬＳＩテスタ）は、ｔ１３クロック以降のタイミングで期待値との比較を行い、ＲＯＭ１１のテスト結果を判定する。
【００３４】
図３および、図７では、ＲＯM１１の出力に遅延が少ないため、本実施形態のテスト回路と従来のテスト方法のテスト結果の判定に差はない。ＲＯＭ１１の無効データ領域の出力データは“０”（０ｘ００００）であるため、ＲＯＭ１１の有効データを含む全てを加算した場合でも、ＲＯＭ１１の被試験データは同じになる。
【００３５】
次に、ＲＯＭ１１の出力に遅延が多い場合について説明する。
図４および、図８は、ＲＯM１１の出力に遅延が多い場合を示すタイミングチャートである。また、図８は従来のテスト方法でテストした場合を図４と対応付けて示したタイミングチャートである。
【００３６】
図４および、図８においては、ＲＯＭ１１の出力の遅延が多いが、アドレス生成カウンタ２１、停止アドレス設定レジスタ２２、レジスタ取り込みイネーブル生成部２３、加算器２４、チェックサムレジスタ２５の動作は、図３および、図７と同様である。
【００３７】
図４に示すように、本実施形態によるメモリ１０は、ｔ７クロックでレジスタ取り込みイネーブル生成部２３が出力するイネーブル信号が有効状態から無効状態に変化すると、加算結果レジスタ２７は、そのときの加算器レジスタ２６のデータを記憶する。このことにより、ＲＯＭ１１の有効データの最初のアドレス値（０ｘ０００）から、有効データのアドレス値（０ｘ００Ｅ）までの加算結果が、加算結果レジスタ２７に記憶され、ＲＯＭ１１の被試験データとしてチェックサムレジスタ２５から出力される。メモリ１０は、チェックサムレジスタ２５の記憶しているＲＯＭ１１の被試験データをメモリ１０の被試験データとしてデータ出力３４に出力する。その後、本実施形態によるメモリ１０のテストを行う試験者または、半導体試験装置（ＬＳＩテスタ）は、ｔ８クロック以降のタイミングで期待値との比較を行い、ＲＯＭ１１のテスト結果を判定するが、ＲＯＭ１１の遅延が多いため、メモリ１０から出力された被試験データは、図３と異なる。このテスト結果は、後述するように、ＲＯＭ１１が不良であることを正確に判定している。
【００３８】
一方、図８に示すように従来のテスト方式でテストする場合は、停止アドレス設定レジスタ２２がないため、メモリの最後のアドレスまで加算動作を継続する。このことにより、ＲＯＭ１１の最初のアドレス値（０ｘ０００）から、ＲＯＭ１１の最後のアドレス値（０ｘＦＦＦ）までの加算結果が、ＲＯＭ１１の被試験データとなる。従来のテスト方法の場合、テストを行う試験者または、半導体試験装置（ＬＳＩテスタ）は、ｔ１３クロック以降のタイミングで期待値との比較を行い、ＲＯＭ１１のテスト結果を判定する。このテスト結果は、後述するように、ＲＯＭ１１が不良であることを正確に判定できていないことを示している。
【００３９】
図４および、図８では、ＲＯM１１の出力に遅延が多いため、本実施形態のテスト回路と従来のテスト方法のテスト結果の判定に差がある。本実施形態では、メモリ１０から出力される被試験データは、図３と図４で異なり、ＲＯＭ１１の判定結果も異なる。しかし、従来のテスト方法では、ＲＯＭ１１の無効データ領域の出力データは“０”（０ｘ００００）であるため、ＲＯＭ１１の出力に遅延があった場合でも、ＲＯＭ１１の有効データを含む全てを加算したことになり、ＲＯＭ１１の被試験データは同じになる。したがって、最終的に期待値を比較するｔ１３クロック以降のタイミングでは、メモリ１０から出力される被試験データは、図７と同じになり、ＲＯＭ１１の判定結果も同じになる。
【００４０】
このことにより、従来のテスト方法では、ＲＯM１１の出力に遅延が多いことを原因とするＲＯＭ１１の不良を判定することができないが、本実施形態では、停止アドレス設定レジスタ２２を設けたことにより、ＲＯM１１の出力に遅延が多いことを原因とするＲＯＭ１１の不良を判定できる。
【００４１】
また、本実施形態において、不良と判定されたＲＯＭ１１の不良原因が、ＲＯＭ１１から出力されるデータが遅延したことによるものであるか、ＲＯＭ１１に記憶されているＲＯＭデータに異常があるかを特定する場合は、停止アドレス設定レジスタ２２に設定する停止アドレス値をＲＯＭの遅延量に対して十分に余裕があると思われる無効データ領域のアドレス値（例えば、ＲＯＭの最後のアドレス値（０ｘＦＦＦ））に設定することで、確認可能である。すなわち、最終のアドレス値（０ｘＦＦＦ）を設定して期待値と合致した場合は、ＲＯＭ１１の遅延が多いことによる不良判定であり、期待値と合致しない場合は、ＲＯＭ１１に記憶されているＲＯＭデータに異常があることによる不良判定であると判断できる。
【００４２】
また、停止アドレス設定レジスタ２２に設定する停止アドレス値をＲＯＭ１１の最後のアドレス値（０ｘＦＦＦ）に設定してテストを行い、ＲＯＭ１１に記憶されているデータは正しいことが確認された場合は、ＲＯＭ１１の遅延量を確認することが可能である。ＲＯＭ１１のデータ出力が遅延していることが原因で不良と判断された場合、停止アドレス設定レジスタ２２に設定する停止アドレス値をメモリ１０の有効なＲＯＭデータが存在する最後のアドレス値の次のアドレス値（本実施形態では、０ｘ０００から０ｘ００ＦまでＲＯＭデータが記憶されているため、０ｘ０１０）を設定してテストを行うことで遅延量を確認することができる。前記の停止アドレス設定レジスタ２２に設定する停止アドレス値の設定（０ｘ０１０）で期待値と合致した場合は、遅延量が１クロック分あると判断できる。期待値と合致しない場合は、さらに停止アドレス設定レジスタ２２に設定する停止アドレス値の設定を次のアドレス値（０ｘ０１１）に設定してテストを行い期待値と合致するかを確認する。今回の設定で期待値と合致した場合、遅延量は２クロック分と判断できる。期待値と合致しない場合はさらに停止アドレス設定レジスタ２２に設定する停止アドレス値の設定を次のアドレス値（無効データ領域のアドレス値）と順次進めて行き期待値と合致したときに設定してあるアドレス値とＲＯＭの有効データが記憶されている最後のアドレス値との差がＲＯＭ１１の遅延量であると判断することができる。
【００４３】
さらに、停止アドレス設定レジスタ２２に設定する停止アドレス値をＲＯＭ１１の最後のアドレス値（０ｘＦＦＦ）に設定してテストを行い、ＲＯＭ１１に記憶されているデータに異常があることが確認された場合は、異常のあるＲＯＭデータのアドレス値を確認することが可能である。ＲＯＭ１１のデータに異常があることが原因で不良と判断された場合、停止アドレス設定レジスタ２２に設定する停止アドレス値をメモリ１０の有効なＲＯＭデータが存在する最後のアドレス値の前のアドレス値（本実施形態では、０ｘ０００から０ｘ００ＦまでＲＯＭデータが記憶されているため、０ｘ００Ｅ）を設定してテストを行うことで異常のあるＲＯＭデータのアドレス値を確認することができる。前記の停止アドレス設定レジスタ２２に設定する停止アドレス値の設定（０ｘ００Ｅ）で期待値と合致した場合は、その後のアドレス値（０ｘ００Ｆ）に記憶されているＲＯＭデータに異常があると判断できる。期待値と合致しない場合は、さらに停止アドレス設定レジスタ２２に設定する停止アドレス値の設定を前のアドレス値（０ｘ００Ｄ）に設定してテストを行い期待値と合致するかを確認する。今回の設定で期待値と合致した場合、その後のアドレス値（０ｘ００Ｅ）に記憶されているＲＯＭデータに異常があると判断できる。期待値と合致しない場合はさらに停止アドレス設定レジスタ２２に設定する停止アドレス値の設定を前のアドレス値（有効データ領域のアドレス値）と順次進めて行き期待値と合致したときに設定してあるアドレス値の次のアドレス値に記憶されているＲＯＭデータに異常があると判断することができる。
【００４４】
なお、本実施例において、アドレス生成カウンタ２１は、クロック入力３３が“Ｌ”から“Ｈ”の変化でカウント値を１づつ加える形態としたが、カウント値を１づつ減らす形態でも適用可能である。また、クロック入力３３が“Ｈ”から“Ｌ”の変化でカウントしても良い。また、本実施形態において、アドレス生成カウンタ２１の動作は、停止アドレス設定レジスタ２２に設定されたアドレス値で停止する形態のみとしたが、アドレス生成カウンタ２１がカウントを開始するアドレス値を設定するレジスタを設け、アドレス生成カウンタ２１のカウント開始からカウント停止までの範囲を変更できる回路を設けても良い。
【００４５】
なお、本実施形態において、停止アドレス設定レジスタ２２は、停止するアドレス値を記憶するレジスタとしたが、アドレス生成カウンタ２１が動作する期間を示す値を記憶するレジスタとしても良い。
例）１２ビットのアドレス（０ｘ０００〜０ｘＦＦＦ）をもつＲＯＭの場合、アドレス期間を０ｘ００Ｆに設定し、
１回目のテストで、０Ｘ０００〜０ｘ００Ｆのテストを行う。
２回目のテストで、０ｘ０１０〜０ｘ０１Ｆのテストを行う。
３回目のテストで、０ｘ０２０〜０ｘ０２Ｆのテストを行う。
さらに、停止アドレス設定レジスタ２２は、アドレス生成カウンタ２１がカウントを開始するアドレス値と、停止するアドレス値または、動作する期間を示す値を記憶するレジスタとしても良い。
例）１２ビットのアドレス（０ｘ０００〜０ｘＦＦＦ）をもつＲＯＭの場合、アドレス期間を０ｘ００Ｆに設定し、
１回目のテストで開始値を０ｘ０００に設定して、０ｘ０００〜０ｘ００Ｆのテストを行う
２回目のテストで開始値を０ｘ０３０に設定して、０ｘ０３０〜０ｘ０３Ｆのテストを行う
３回目のテストで開始値を０ｘ０５０に設定して、０ｘ０５０〜０ｘ０５Ｆのテストを行う
【００４６】
また、本実施形態において、停止アドレス設定レジスタ２２に設定する停止アドレスは、メモリ１０の外部から入力されるアドレス入力３１の全てのデータ幅を有効としたが、アドレス幅の範囲で有効とするデータ幅や、各ビット毎に有効とするか否かを設定することができる構成としても良い。
【００４７】
なお、本実施形態の説明では、無効データを“０”（０ｘ００００）としたが、期待値は有効なＲＯＭデータの範囲から計算された値であるので、無効データが“１”（０ｘＦＦＦＦ）とした場合でも、同様の考え方で判定を行うことができる。ただし、ＲＯＭ１１から出力されるデータが遅延したことによる不良と判定され、ＲＯＭ１１の遅延量を確認する場合は、適宜期待値を変更する必要がある。
【００４８】
＜第２実施形態＞
以下、本発明の実施形態のテスト回路を実装した基板について図面を参照して説明する。図５は、本実施形態によるテスト回路を実装したメモリ基板の構成を示したブロック図である。図５において、メモリ基板４０は、メモリ部４１および、テスト部４２から構成される。また、メモリ部４１は、ＲＯＭ４１１で構成される。また、テスト部４２は、アドレスセレクタ４１２、データセレクタ４１３、アドレス生成カウンタ４２１、停止アドレス設定レジスタ４２２、レジスタ取り込みイネーブル生成部４２３、加算器４２４、および、チェックサムレジスタ４２５から構成される。また、チェックサムレジスタ４２５は、加算器レジスタ４２６、加算結果レジスタ４２７から構成される。また、メモリ基板４０へは、外部からアドレス入力４３１、テスト入力４３２、クロック入力４３３が入力され、メモリ基板４０からは、データ出力４３４が出力される。
【００４９】
本実施形態は、機器に組み込まれたときに通常のマスクＲＯＭとして動作するマスクＲＯＭを基板上でテストを行うものである。なお、機器に組み込むときは、メモリ部４１とテスト部４２を含んだメモリ基板４０を組み込むが、メモリ部４１が着脱できる構成としている場合は、メモリ部４１のみ機器に組み込み、テストを行うときにテスト部４２と併せてマスクＲＯＭのテストを行う構成とすることもできる。本実施形態のメモリ基板４０の動作は、テスト入力４３２に“Ｌ”が入力されると、機器に組み込まれる通常のＲＯＭ基板として動作する通常モードとなり、指定されたアドレス入力４３１に対応するＲＯＭ４１１のデータをデータ出力４３４に出力する。メモリ基板４０のテスト入力４３２に“Ｈ”が入力されると、ＲＯＭ４１１のテストを実行し、チェックサムレジスタ４２５に記憶されているデータをデータ出力４３４に出力するテストモードとなる。テスト部４２は、テスト入力４３２に“Ｈ”が入力されると、次のクロック入力４３３が“Ｌ”から“Ｈ”に変化したときに、テストモードとなる。テストモードでは、メモリ基板４０から出力さるデータ出力４３４と別途用意された期待値とをメモリ基板４０の外部で比較し、当該メモリ基板４０が正常であるか否かの判定を行う。  
【００５０】
ＲＯＭ４１１は、テスト回路を持たない通常のマスクＲＯＭである。ＲＯＭ４１１は、機器に組み込まれたときに使用するＲＯＭデータが書き込まれ、当該ＲＯＭデータを記憶しているマスクＲＯＭである。ＲＯＭ４１１は、アドレスで指定された記憶回路に対応するＲＯＭデータをデータから出力する。ＲＯＭ４１１は、当該ＲＯＭ４１１自体で機器に組み込むことが可能であるが、本実施形態のテスト回路を実装することで、テスト機能を持ったＲＯＭ基板として、機器に組み込むことが可能となる。
【００５１】
テスト部４２は、メモリ部４１に実装されたＲＯＭ４１１をテストするテスト回路部である。テスト部４２の各ブロックは、図１に示した機能と同じ動作を行う。
【００５２】
＜第３実施形態＞
以下、本発明の実施形態のテスト回路を半導体テスタで利用したシステムについて図面を参照して説明する。図６は、本実施形態によるテスト回路を実装した半導体テスタでＲＯＭの試験を行う場合の構成を示したブロック図である。図６において、半導体テスト基板５０は、ＲＯＭ基板５１および、テスト基板５２から構成される。また、ＲＯＭ基板５１は、ＲＯＭ５１１で構成される。また、テスト基板５２は、アドレス生成カウンタ５２１、停止アドレス設定レジスタ５２２、レジスタ取り込みイネーブル生成部５２３、加算器５２４、および、チェックサムレジスタ５２５から構成される。また、チェックサムレジスタ５２５は、加算器レジスタ５２６、加算結果レジスタ５２７から構成される。また、半導体テスト基板５０へは、半導体テスタから、停止アドレス入力５３１、テスト開始入力５３２、クロック入力５３３が入力され、半導体テスト基板５０からは、データ出力５３４が出力される。
【００５３】
本実施形態は、半導体試験装置（ＬＳＩテスタ）でマスクＲＯＭのテストを行うものである。本実施形態の半導体テスト基板５０の動作は、テスト開始入力５３２に“Ｈ”が入力されると、ＲＯＭ５１１のテストを実行し、チェックサムレジスタ５２５に記憶されているデータをデータ出力５３４に出力する。半導体テスト基板５０から出力されたデータ出力５３４と別途半導体テスタで用意された期待値とを半導体テスタ本体で比較し、当該ＲＯＭ５１が正常であるか否かの判定を行う。
【００５４】
ＲＯＭ５１１は、半導体テスタでテストされるマスクＲＯＭである。ＲＯＭ５１１は、アドレスで指定された記憶回路に対応するＲＯＭデータをデータから出力する。
【００５５】
テスト基板５２は、ＲＯＭ５１１をテストするテスト回路基板である。テスト基板５２の各ブロックは、図１に示した機能と同じ動作を行う。ただし、半導体テスタでは通常動作を実施しないためテスト基板５２の外部よりテスト開始入力５３２が入力されるとテストを開始する。
【００５６】
上記に述べたとおり、本発明を実施するための最良の形態によれば、ＲＯＭのテストをＲＯＭが機器に組み込まれているときの動作速度で行うことができ、ＲＯＭを機器に組み込んだ実動作状態で動作保証をすることが可能となる。
【００５７】
なお、本実施形態において、テストを実施するＲＯＭは、マスクＲＯＭとして説明してきたが、試験対象となる半導体記憶装置は、マスクＲＯＭに限定されるものではなく、例えばＰＲＯＭ、ＥＰＲＯＭ、等に対しても適用することができる。また、単体で機能を実現するＲＯＭに限定されるものではなく、例えば中央処理装置（ＣＰＵ）やデジタル信号処理装置（ＤＳＰ）、等に内蔵されたＲＯＭに対しても適用することができる。
【００５８】
以上、本発明の実施形態について、図１乃至図８を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態によるテスト回路を内蔵したメモリの構成を示したブロック図である。
【図２】本発明の実施形態に示したＲＯＭにデータが格納されている状態を示したイメージ図である。
【図３】本発明の実施形態によるテスト回路を内蔵したメモリのタイミングチャートである。
【図４】本発明の実施形態によるテスト回路を内蔵したメモリのタイミングチャートである。
【図５】本発明の実施形態によるテスト回路を実装したメモリ基板の構成を示したブロック図である。
【図６】本発明の実施形態によるテスト回路を実装した半導体テスト基板の構成を示したブロック図である。
【図７】従来方式でメモリのテストを実施した場合のタイミングチャートである。
【図８】従来方式でメモリのテストを実施した場合のタイミングチャートである。
【符号の説明】
【００６０】
１０  メモリ  １１，４１１，５１１  ＲＯＭ  １２，４１２  アドレスセレクタ  １３，４１３  データセレクタ  ２１，４２１，５２１  アドレス生成カウンタ  ２２，４２２，５２２  停止アドレス設定レジスタ  ２３，４２３，５２３  レジスタ取り込みイネーブル生成部  ２４，４２４，５２４  加算器  ２５，４２５，５２５  チェックサムレジスタ  ２６，４２６，５２６  加算器レジスタ  ２７，４２７，５２７  加算結果レジスタ  ３１，４３１  アドレス入力  ３２，４３２  テスト入力  ３３，４３３，５３３  クロック入力  ３４，４３４，５３４  データ出力  ４０  メモリ基板  ４１  メモリ部  ４２  テスト部  ５０  半導体テスト基板  ５１  ＲＯＭ基板  ５２  テスト基板  ５３１  停止アドレス入力  ５３２  テスト開始入力
【図１】
2009245493.tif 000003
【図２】
2009245493.tif 000004
【図３】
2009245493.tif 000005
【図４】
2009245493.tif 000006
【図５】
2009245493.tif 000007
【図６】
2009245493.tif 000008
【図７】
2009245493.tif 000009
【図８】
2009245493.tif 000010