JP3972416B2 - Memory test pattern generation circuit - Google Patents

Memory test pattern generation circuit Download PDF

Info

Publication number
JP3972416B2
JP3972416B2 JP16994797A JP16994797A JP3972416B2 JP 3972416 B2 JP3972416 B2 JP 3972416B2 JP 16994797 A JP16994797 A JP 16994797A JP 16994797 A JP16994797 A JP 16994797A JP 3972416 B2 JP3972416 B2 JP 3972416B2
Authority
JP
Japan
Prior art keywords
instruction
data
counter
address
test
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.)
Expired - Lifetime
Application number
JP16994797A
Other languages
Japanese (ja)
Other versions
JPH1115740A (en
Inventor
郁 森脇
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP16994797A priority Critical patent/JP3972416B2/en
Publication of JPH1115740A publication Critical patent/JPH1115740A/en
Application granted granted Critical
Publication of JP3972416B2 publication Critical patent/JP3972416B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は半導体集積回路の検査に係るものであり、より詳細にはメモリ回路のテスト用回路に関する。
【0002】
【従来の技術】
半導体回路技術の進歩により、同一チップ上にメモリとロジックを搭載することが一般的になっている。このようなチップ上のメモリ回路を検査するためには、チップの一次ピンと内部メモリのピン間の経路を活性化する手段を用意し、検査時に内部メモリのピンをチップの一次ピンと対応づけてテスタからアルゴリズミックなパタンを用いてテストする外部テスト方法があるが、内部メモリのピン数が大きい場合や、内部メモリから外部ピンまでの論理が深い場合に、前記活性化のための回路および配線の面積やディレイオーバーヘッドが大きくなる、アクセスパスが長くなり高速なテストが困難、外部でテストを生成するため高価なテスタが必要などの問題があった。
【0003】
上記の如き問題を解決する一手法として、組込み型自己検査あるいはBIST(Built−In Self−Test)と呼ばれる非検査回路と同一チップ上に検査のための回路を埋設する手法が知られている。
【0004】
この手法に係る公知の例として、日本特許特開平6−325600号公報では全メモリセルを一回アクセスする操作をステップと表現し、このステップ単位に2進カウンタの出力を加工する手段を有するメモリ用テストパタン生成回路が示されている。
【0005】
他の例として、日本特許特開平6−342040号公報では、超LSIチップ上に配置され、チップ製造後も指示のコードを介してデータパタンが選択可能な決定性のデータパタン生成器が示されている。
【0006】
別の例として汎用のMPUとテスト用プログラムをチップ上に検査用回路として埋設する方法も考えられる。
【0007】
【発明が解決しようとする課題】
前記BIST手法は前記の如き、外部テスト手法の問題を軽減するが、一方、テスト回路がハードウェアとして組込まれるため、製造後にメモリの故障原因から、特定のテストアルゴリズムを追加あるいは変更できない問題があった。
【0008】
日本特許特開平6−325600号公報では、ギャロッピングやウォーキングのようなアドレス変化が2系統以上あるような複雑なテストは実行できない。また、あらかじめテスト生成のアルゴリズムがハードウェアとして実現されているため、チップ製造後にアルゴリズムの変更ができないという問題があった。
【0009】
日本特許特開平6−342040号公報では、やはり、決定性のパタン生成器であるためアルゴリズムが固定されているか、手順が固定されてしまい、アルゴリズム変更の自由度が小さいという問題があった。
【0010】
汎用のMPUとテスト用プログラムをチップ上に検査用回路として埋設する方法では、前記のような複雑なテストができるとしても、そのコストやハードウェアオーバヘッドが大きくなること、メモリへのアクセスと制御のための命令が複数ステップで複数クロックサイクルに渡ってしまい、高速なテストが困難である等の問題があった。
【0011】
本発明は、メモリテストにおける前記従来技術の問題点を解決し、BISTに好適なコンパクトでプログラマブルな高速メモリ用テストパタン生成回路を提供するものである。
【0012】
【課題を解決するための手段】
上記課題を解決するため、本発明の一手段では、単一あるいは複数個のメモリアクセス用のアドレスカウンタと、単一あるいは複数個のメモリアクセス用のデータレジスタと、実行ステップ管理用のプログラムカウンタと、命令語を格納する複数の命令レジスタと、該命令で操作される単一あるいは複数個の制御レジスタを有するテストパタン生成回路が提供される。該命令レジスタには、メモリに対する1回のアクセスを1ステップとして、この1ステップ単位に、該メモリへのアクセス指示と、該メモリへの書き込みあるいは読み出しアドレスおよび書き込みあるいは読み出し期待データの操作と、命令実行制御変数の操作を同時に表現する命令によって構成されたメモリテスト用アルゴリズムを実現するプログラムが格納される。
【0013】
また、本発明の別の一手段では、前記テストパタン生成回路において、命令レジスタの部分を、RAMあるいはROMなど別の記憶素子で置き換えるよう構成する。
【0014】
さらに、また、本発明の別の一手段では、前記テストパタン生成回路を、被試験メモリと同一の半導体集積回路上に埋設し、前記テストパタン生成回路内部の命令レジスタを含む各FFに半導体回路の一次入力から直接あるいは間接的に値を設定可能なように構成する。
【0015】
【発明の実施の形態】
簡単のため被検査メモリを4ワード×2ビットのSRAMとしたときの本発明の第一の実施例を図1に示す。
【0016】
<図1の説明>
テストパタン生成回路100は、2個のアドレスカウンタ(以下AC)116と、1個のデータレジスタ(以下DR)117と、プログラムカウンタ(以下PC)112と、8個の命令レジスタ(以下IR)111と、該命令で操作される制御レジスタ類として、ループカウンタ(以下LC)115、2個のワークカウンタ(以下WC)118、最大ワードアドレス格納レジスタ(以下MAR)113を備えている。さらに、各レジスタおよびカウンタを構成する全てのフリップフロップ(以下FF)は、テストクロック(以下TC)101によってクロックされ、また、スキャンクロック(以下SC)102に同期したシフト動作による、スキャンインデータ(以下SI)からのスキャンインおよびスキャンアウトデータ(以下SO)へのスキャンアウトが可能である。なお、PC112はIR111が8個のため、2の対数より3ビット、AC 119とWC 118とMAR113は全て最大ワードアドレス3(アドレス数4)を表現できるよう、2の対数より2ビットからなる。LC115は最大2回のループを前提として2ビットである。
【0017】
<図2の説明>
図2は、図1のより詳細な回路の実現例である。
【0018】
セレクタ114aはPC112の値に従い8個あるIR111の0〜7のいずれかを選択出力する。
【0019】
8個のIR111は各々12ビットの幅を持ち、各ビット111a〜111iは図3に示す意味を持つ。
【0020】
後述のテスト生成アルゴリズムの理解を容易にするため、この機械語表現の命令を図4のようなニモニック表現で示すことにする。
【0021】
選択されたIR111の2ビットの命令ビットINS0およびINS1ビット111aはその命令の種類を命令デコーダ114bでデコードされ、書き込み命令では書き込みインジケータW106、読み込み命令では読み込みモードインジケータR105、NOPおよびLOOP命令では、マスクモードインジケータM107が各々1となる。
【0022】
LC115はDEC端子が1のときTCに同期してデクリメント処理を行い、内容が0になるとZERO端子が1となる。
【0023】
従って、LOOP命令ではLC115のDEC端子が1となり、TCの印加に同期してLCの値がデクリメントされる。
【0024】
選択されたIR111のAC選択ビット111bの値でアドレス処理器114c内のセレクタは、指示されたAC0またはAC1を選択する。さらに、この結果は、選択されたIR111の補数アドレス指示ビット111eの値が0あるいは1により、114c内の補数器が各々非補数あるいは補数値に変更されて端子A108に出力される。
【0025】
AC116はINC端子が1のときTCに同期してインクリメント処理を行い、インクリメント処理でオーバーフローすると、また、0に戻るものである。
【0026】
従って、選択されたIR111のAC0加算ビット111cの値が0または1かにより、TCの印加に同期してAC0は各々現在の値を保持またはインクリメントする。
【0027】
また、選択されたIR111のAC1加算ビット111dの値が0または1かにより、TCの印加に同期してAC1は各々現在の値を保持またはインクリメントする。
【0028】
選択されたIR111のDR反転指示ビット111fの値は0か1かにより、114d内のセレクタが現在のDRの値の非反転か反転値を選択し、その結果が、TCの印加に同期してDRに記憶される。
【0029】
WC118は、DEC端子が1のときTCの印加に同期してデクリメント処理を行い、内容が0になるとZERO端子が1となる。
【0030】
従って、選択されたIR111のWC0減算指示ビット111gの値が1の場合、WC0のDEC端子が1となり、TCの印加に同期してWC0の値はデクリメントされる。
【0031】
選択されたIR111のWC1減算指示ビット111hの値が1の場合、WC1のDEC端子が1となり、TCの印加に同期してWC1の値はデクリメントされる。
【0032】
PC112はL端子が1のときTCの印加に同期してD端子の値をロードし、INC端子が1のときはTCの印加に同期してインクリメンタル処理を行う。
【0033】
選択されたIR111のWC0減算指示ビット111gの値が1でかつ現在のWC0が0であることを示すWC0のZERO出力端子が1、あるいは、選択されたIR111のWC1減算指示ビット111hの値が1でかつ現在のWC1が0であることを示すWC1のZERO出力端子が1の少なくともいずれか1つが成り立つとき、ワークカウンタ処理器114e内のORゲートの非反転出力は1となり、PCのINC端子が1となるので、TCの印加に同期してPCの値はインクリメントされる。
【0034】
選択されたIR111のWC0減算指示ビット111gの値が0または現在のWC0のZERO出力端子が0、かつ、選択されたIR111のWC1減算指示ビット111hの値が0または現在のWC1のZERO出力端子が0が同時に成り立つとき、ワークカウンタ処理器114e内のORゲートの反転出力が1となり、PCのL端子が1となるので、TCの印加に同期して選択されたIR111の次の実行ステップno.ビット111iの3ビットの値がPCにロードされる。
【0035】
なお、本図では、その接続の図示を省略しているが、テストパタン生成回路100内部のすべてのFFは、よく知られているシフトスキャン構造を持っており、SC102に同期してSI103からのスキャンインおよびSO110へのスキャンアウトが可能である。
【0036】
かかる、回路の実現は数100ゲート程度で実現でき、汎用のMPU等を使用する場合に比べれば大幅に少ない回路規模ですむ。
【0037】
<図4 パラメタの説明>
図4の命令仕様の中で使用している記号パラメタのうち、P0は各命令につけた0からのステップ番号である。P1はアドレスカウンタ(AC)を指示する。ただし、反転記号(〜)が付いている場合は、ACの補数値を示す。この補数値は、ACの示す値が昇順の値を採るとき、実際にメモリに与えられるアドレスが降順の値を採ることを意味する。P2はデータの編集(この実施例では反転)の有無を指示する。P3は、インクリメント対象のACを指示する。P4はデクリメント対象のワークカウンタ(WC)を指示する。P5は次に処理するステップ番号を指示する。
【0038】
<図4 命令の説明>
WT命令はテスト対象メモリに対し、P1の示す現在のACが示すアドレスに、現在のDRのデータを書き込む、また、後述の命令共通処理を行う。RD命令はテスト対象メモリに対し、P1の示す現在のACが示すアドレスのデータを読み出し、現在のDRのデータを期待値として比較し、また、後述の命令共通処理を行う。NP命令はテスト対象メモリに対するアクセスは行わず、後述の命令共通処理のみを行う。LP命令はNO命令と同じく命令共通処理を行い、さらに、ループカウンタ(LC)のデクリメント処理を行う。この結果LCが0であると処理の終了を示すE信号を真(1)とする。全ての命令に共通の処理としてP2指示に従うデータの編集、P3に従うACのインクリメント、P4に従うWCのデクリメントが行われる。WCのデクリメント指示があった場合、該WCが本命令実行時に0ならばプログラムカウンタ(以下PCと呼ぶ)は現在のPCの内容+1となり、でなければ、P5がPCに代入される。
【0039】
<処理手順>
本実施例における回路動作の処理手順としては、最初にテスト生成の準備として、テストパタン生成器の全てのFFがスキャン動作により初期化される。この時、アドレスレジスタは0、ワークカウンタは最大ワードアドレスである3、プログラムカウンタは0とされる。ループカウンタは、今回は2を設定する。この後、実際のテストクロックが送出されると、テスト生成動作となる。最後に、テスト生成回路からE信号に1が送出されるとテストエンドである。
【0040】
<図5、図6 マーチプログラムの説明>
より、具体的な説明として、図5のマーチプログラムを例に回路動作を説明する。
【0041】
図5のマーチプログラムの機械語は、
ステップ0がINC<0−1>=’00’、SAC=’0’、
INC0=’1’、INC1=’0’、CA=’0’、INVD=’1’、
DW0=’1’、DW1=’0’、NS<0−2>=’000’、
ステップ1がINC<0−1>=’01’、SAC=’0’、
INC0=’1’、INC1=’0’、CA=’0’、INVD=’1’、
DW0=’1’、DW1=’0’、NS<0−2>=’001’、
ステップ2がINC<0−1>=’11’、SAC=’0’、
INC0=’0’、INC1=’0’、CA=’0’、INVD=’1’、
DW0=’0’、DW1=’0’、NS<0−2>=’000’、
となる。
【0042】
回路動作は、まず初期値として、AC0=AC1=PC=0、WC0=WC1=3、LC=2、DR=’00’を設定する。この初期値は、TCを0の状態でSI103端子に回路100内のFFのシフト順序を考慮したデータを順次設定しSC102を印加していくことによって設定できることは公知の技術として容易に理解できるであろう。その後、図6の順序でTCに同期して図6に示すごとく処理が実行される。なお、図6は、1行目に前記初期状態を、2行目以降にTC101に同期したサイクルごとの処理順序で、被テスト対象メモリへのアクセスの種類、アクセスするアドレスおよびそのアドレスを決めるAC、以下、AC0、AC1、DR、WC0、WC1、PC、LCの値を記述している。AC0からLCについては、各行の上段にTC印加前、下段にTC印加後の値を示している。
【0043】
この例ではAC0とWC0を利用して単純なくり返しを行いながら、しかも、各サイクルでデータの反転を実現している。このように、カウンタとデータ編集とループを巧みに使うことにより、わずか、3ステップの命令でマーチテスト生成が記述できている。
【0044】
<図7、図8 ギャロッピングプログラムの説明>
もう少し、複雑な例として図7のギャロッピングプログラムの場合の動作を図8を用いて説明する。初期値としては、マーチの場合と同様AC0=AC1=PC=0、WC0=WC1=3、LC=2、DR=’00’を設定する。図8は、図6とほぼ同じだが、紙面の関係で、DRとLCの欄については処理順序1〜38対応の値をA欄に39〜76対応の値をB欄に記載した。他の欄は、処理順序1〜38対応の値と39〜76対応の値は同じであるため片方で代表している。図8の処理順序1〜4では、マーチ同様AC0とWC0を用いて全アドレスを0クリアしている。処理手順5でDRを反転した後、手順6〜38では、AC0,AC1、WC0,WC1を工夫して使用することによって、主アドレス(Xとする)を0〜3へ変化させながら、その中で各Xについて従アドレス(Yとする)をX+1〜X−1まで変化させるような、複雑なフローを実現している。ただし、ここでアドレスのインクリメントは0、1、2、3、0、1、というようにサイクリックであることを前提にしている。本実施例によればこのような複雑なフローもわずか7ステップの命令で記述できている。しかも、テスト生成器のハードウェアを変更することなく、命令語の変更を含めた、初期設定だけで、生成されるテストパタンを変更できている。他にも、類似の手法のプログラムを書くことで、ウォーキングパタン等も発生できる。このことは、ハードに変更を加えることなく、チップ作成後にかなり複雑なパタン生成アルゴリズムをプログラムできることを示しており、本発明の重要な特徴の一つである。
【0045】
また、さらに、ループカウンタ(LC)のビット幅および値をもっと大きくすれば、必要回数だけループを回してのバーンインもできる。
【0046】
あるいは、同じくバーンインテストの目的などで、特定の信号がくるまで、LCをデクリメントしない等の回路変更をくわえることも可能である。
【0047】
また、さらには、本実施例は、ワードアドレス数が2のべき乗の例であったが、そうでない場合は、カウンタの内容をワードアドレスと比較する回路を追加する、あるいは、あらかじめ最大アドレスを格納しておいてデクリメント結果が0となることを判定するなどの対策をとればよい。
【0048】
データの編集方法として、本実施例では、反転回路を取り上げたが、メモリテスト側の要請により、サイクル毎にシフトさせるようなパタンも場合により必要となるかも知れない。このような場合には、命令語の中に、データ編集の種類を表現するビットを追加することも可能である。
【0049】
本発明の第二の実施例として、BIST環境下でのメモリ用テストパタン生成器として利用する場合の回路接続例を図9に示す。テストパタン生成器100は被テスト対象であるメモリ208と同一のチップ200上に埋設され、チップのテスト制御回路201の管理下に置かれる。被テストメモリとは通常論理動作時のREAD信号202とテスト時READ信号、通常論理動作時のWRITE信号203とテスト時WRITE信号、通常論理動作時のアドレス信号204とテスト時アドレス信号、通常論理動作時のデータ信号205とテスト時データ信号がテスト時に各々テスト側信号を選択するようなマルチプレクサ207を介して接続されている。また、メモリ出力結果はそのファンアウト信号をテスト生成器の出力するデータ信号と比較器210で比較する接続となっている。さらに、テスト生成器の出力するマスク信号はこの比較器210の出力結果を無条件一致とさせるべく働く。テスト制御回路201は、チップ200のテスト用入力ピン群211により外部から動作を制御され、また、その結果が、テスト用出力ピン群212に出力される。典型的な例では、入力ピン群211は、そのまま、テストパタン生成回路100の101、102、103、104、およびMUX207の選択信号206と接続し、また、出力ピン群212がテストパタン生成回路100のテスト終了インジケータE104および比較器210の出力211と直結させればよい。この接続の場合、テストパタン生成回路100の動作は、前記実施例1と同様であり、本実施例では、初期状態設定後に、206をテスト論理選択側に設定しておくこと、および、比較器が211で不一致を報告するかどうかを212で監視することだけが変わる。
【0050】
なお、比較器の出力結果を、制御回路内に蓄積して、テスト終了後に観測するなどの手段も可能である。
【0051】
本実施例では、典型的な例を示したが、他にも、本発明の範囲内で、例えば、テスタのテストパタン発生回路として本回路を利用すること、あるいは、テスタとの接続冶具上に本回路を利用すること、本回路を、テスト対象メモリとは別のチップに搭載して、他のチップ上のメモリをテストすること等もできる。
【0052】
【発明の効果】
以上述べた如く、本発明を用いれば、メモリテストにおける前記従来技術の問題点を解決し、BISTに好適なコンパクトでプログラマブルな高速メモリ用テストパタン生成回路を得ることができる。
【図面の簡単な説明】
【図1】4ワード×2ビットのSRAM向けのテストパタン生成回路の概略ブロック図である。
【図2】4ワード×2ビットのSRAM向けのテストパタン生成回路のより詳な回路構成を示すブロック図である。
【図3】図1、図2の回路を動作させる機械命令語の構成ビットの仕様である。
【図4】図3機械命令をニモニック命令語表現したときの仕様である。
【図5】図4のニモニック命令で表現したマーチパタン生成プログラムの記述例である。
【図6】図5のプログラムの実行をステップ毎の内部状態を含めてトレースした動作例である。
【図7】図4のニモニック命令で表現したギャロッピングパタン生成プログラムの記述例である。
【図8】図7のプログラムの実行をステップ毎の内部状態を含めてトレースした動作例である。
【図9】実施例として、BIST環境下でのメモリ用テストパタン生成器として利用する場合の回路接続例である。
【符号の説明】
100…テストパタン生成回路、 101…テストクロック(TC)、
102…スキャンクロック(SC)、 103…スキャンインデータ(SI)、
104…テスト終了インジジケータ(E)、
105…読み込みモードインジケータ(R)、
106…書き込みインジケータ(W)、
107…マスクモードインジケータ(M)、
108…アドレス出力(A)、 109…データ出力(D)、
110…スキャンアウトデータ(SO)、
111…命令レジスタ(IR)、 111a…命令(INS<0−1>)、
111b…AC選択(SAC)、 111c…AC0加算(INC0)、
111d…AC1加算(INC1)、 111e…補数アドレス指示(CA)、
111f…DR反転指示(INVD)、111g…WR0減算(DW0)、
111h…WR1減算(DW1)、
111i…次実行ステップ番号(NS<0−2>)、
112…プログラムカウンタ(PC)、
113…最大ワードアドレス格納レジスタ、
114…制御回路(CL)、 114a…セレクタ、
114b…命令デコーダ、 114c…アドレス処理器、
114d…データ処理器、 114e…ワークカウンタ処理器、
115…ループカウンタ(LC)、 116…アドレスカウンタ(AC)、
117…データレジスタ(DR)、 118…ワークカウンタ(WC)、
118a…ワークカウンタ(WC0)、118b…ワークカウンタ(WC1)、
200…チップ、
201…チップテスト制御回路、
202…通常論理動作時のREAD信号、
203…通常論理動作時のWRITE信号、
204…通常論理動作時のアドレス信号、
205…通常論理動作時のデータ信号、 206…テストモード信号、
207…マルチプレクサ、 208…被テストメモリ、
209…メモリ出力、 210…比較器、
211…比較結果、 212…テスト用入力ピン群、
213…テスト用出力ピン群。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a test of a semiconductor integrated circuit, and more particularly to a test circuit for a memory circuit.
[0002]
[Prior art]
Due to advances in semiconductor circuit technology, it is common to mount memory and logic on the same chip. In order to inspect the memory circuit on such a chip, a means for activating the path between the primary pin of the chip and the pin of the internal memory is prepared, and the tester is configured by associating the pin of the internal memory with the primary pin of the chip at the time of inspection. There is an external test method for testing using an algorithmic pattern, but when the number of pins of the internal memory is large or when the logic from the internal memory to the external pin is deep, the circuit and wiring for the activation are not There are problems such as an increase in area and delay overhead, a long access path and high-speed testing is difficult, and an expensive tester is required to generate a test externally.
[0003]
As a technique for solving the above problems, a technique of embedding a circuit for inspection on the same chip as a non-inspection circuit called built-in self-test or BIST (Built-In Self-Test) is known.
[0004]
As a known example of this technique, Japanese Patent Application Laid-Open No. 6-325600 expresses an operation of accessing all memory cells once as a step, and a memory having means for processing the output of a binary counter for each step. A test pattern generation circuit is shown.
[0005]
As another example, Japanese Patent Application Laid-Open No. 6-342040 discloses a deterministic data pattern generator which is arranged on a VLSI chip and can select a data pattern via an instruction code even after the chip is manufactured. Yes.
[0006]
As another example, a method of embedding a general-purpose MPU and a test program as an inspection circuit on a chip is also conceivable.
[0007]
[Problems to be solved by the invention]
The BIST method reduces the problem of the external test method as described above. However, since the test circuit is incorporated as hardware, there is a problem that a specific test algorithm cannot be added or changed due to the cause of memory failure after manufacturing. It was.
[0008]
In Japanese Patent Laid-Open No. 6-325600, a complicated test such as galloping or walking in which there are two or more address changes cannot be executed. Further, since the test generation algorithm is realized as hardware in advance, there is a problem that the algorithm cannot be changed after the chip is manufactured.
[0009]
In Japanese Patent Laid-Open No. 6-342040, there is still a problem that the algorithm is fixed or the procedure is fixed because it is a deterministic pattern generator, and the degree of freedom in changing the algorithm is small.
[0010]
In the method of embedding a general-purpose MPU and a test program on a chip as an inspection circuit, even if the above-described complicated test can be performed, the cost and hardware overhead are increased, and access and control of the memory are increased. Therefore, there are problems such that it is difficult to perform a high-speed test because an instruction for the above operation takes a plurality of clock cycles in a plurality of steps.
[0011]
The present invention provides a compact and programmable high-speed memory test pattern generation circuit suitable for BIST, which solves the problems of the prior art in memory testing.
[0012]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, in one means of the present invention, a single or a plurality of memory access address counters, a single or a plurality of memory access data registers, a program counter for execution step management, A test pattern generation circuit having a plurality of instruction registers for storing instruction words and a single or a plurality of control registers operated by the instructions is provided. In the instruction register, one access to the memory is regarded as one step, and an instruction to access the memory, a write or read address to the memory, an operation of write or read expected data, Stores a program that implements a memory test algorithm configured by instructions that simultaneously represent operations of execution control variables.
[0013]
According to another aspect of the present invention, the test pattern generation circuit is configured such that the instruction register portion is replaced with another storage element such as a RAM or a ROM.
[0014]
Furthermore, in another means of the present invention, the test pattern generation circuit is embedded in the same semiconductor integrated circuit as the memory under test, and a semiconductor circuit is provided in each FF including an instruction register inside the test pattern generation circuit. The value can be set directly or indirectly from the primary input.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
For simplicity, FIG. 1 shows a first embodiment of the present invention in which the memory to be inspected is a 4-word × 2-bit SRAM.
[0016]
<Description of FIG. 1>
The test pattern generation circuit 100 includes two address counters (hereinafter referred to as AC) 116, one data register (hereinafter referred to as DR) 117, a program counter (hereinafter referred to as PC) 112, and eight instruction registers (hereinafter referred to as IR) 111. As the control registers operated by the instruction, a loop counter (hereinafter referred to as LC) 115, two work counters (hereinafter referred to as WC) 118, and a maximum word address storage register (hereinafter referred to as MAR) 113 are provided. Further, all flip-flops (hereinafter referred to as FF) constituting each register and counter are clocked by a test clock (hereinafter referred to as TC) 101, and scan-in data (by a shift operation synchronized with the scan clock (hereinafter referred to as SC) 102) ( Scan-in from SI) and scan-out to scan-out data (hereinafter SO) are possible. Since the PC 112 has 8 IRs 111, 3 bits from the logarithm of 2 and AC 119, WC 118, and MAR 113 all have 2 bits from the logarithm of 2 so that the maximum word address 3 (address number 4) can be expressed. The LC 115 is 2 bits on the premise of a maximum of 2 loops.
[0017]
<Description of FIG. 2>
FIG. 2 is an example implementation of the more detailed circuit of FIG.
[0018]
The selector 114a selects and outputs one of eight IR111s 0 to 7 according to the value of the PC 112.
[0019]
Each of the eight IRs 111 has a width of 12 bits, and each of the bits 111a to 111i has the meaning shown in FIG.
[0020]
In order to facilitate the understanding of the test generation algorithm described later, this machine language expression instruction is represented by a mnemonic expression as shown in FIG.
[0021]
The selected instruction bit INS0 and INS1 bit 111a of the selected IR 111 are decoded by the instruction decoder 114b for the type of the instruction. The write indicator W106 for the write instruction, the read mode indicator R105 for the read instruction, and the mask for the NOP and LOOP instructions The mode indicator M107 is 1 each.
[0022]
The LC 115 performs a decrement process in synchronization with TC when the DEC terminal is 1, and the ZERO terminal becomes 1 when the content becomes 0.
[0023]
Therefore, in the LOOP instruction, the DEC terminal of the LC 115 becomes 1, and the LC value is decremented in synchronization with the application of TC.
[0024]
The selector in the address processor 114c selects the designated AC0 or AC1 with the value of the AC selection bit 111b of the selected IR 111. Further, this result is output to the terminal A 108 by changing the complement address indicator bit 111e of the selected IR 111 to 0 or 1 and changing the complement in 114c to a non-complement or a complement value, respectively.
[0025]
The AC 116 performs an increment process in synchronization with TC when the INC terminal is 1, and returns to 0 when it overflows in the increment process.
[0026]
Therefore, depending on whether the value of the AC0 addition bit 111c of the selected IR111 is 0 or 1, AC0 holds or increments the current value in synchronization with the application of TC.
[0027]
Further, depending on whether the value of the AC1 addition bit 111d of the selected IR111 is 0 or 1, AC1 holds or increments the current value in synchronization with the application of TC.
[0028]
Depending on whether the DR inversion instruction bit 111f of the selected IR 111 is 0 or 1, the selector in 114d selects a non-inverted or inverted value of the current DR value, and the result is synchronized with the application of TC. Stored in DR.
[0029]
The WC 118 performs decrement processing in synchronization with the application of TC when the DEC terminal is 1, and the ZERO terminal becomes 1 when the content becomes 0.
[0030]
Therefore, when the value of the WC0 subtraction instruction bit 111g of the selected IR 111 is 1, the DEC terminal of WC0 becomes 1, and the value of WC0 is decremented in synchronization with the application of TC.
[0031]
When the value of the WC1 subtraction instruction bit 111h of the selected IR 111 is 1, the DEC terminal of the WC 1 becomes 1, and the value of the WC 1 is decremented in synchronization with the application of TC.
[0032]
When the L terminal is 1, the PC 112 loads the value of the D terminal in synchronization with the application of TC, and when the INC terminal is 1, the PC 112 performs an incremental process in synchronization with the application of TC.
[0033]
The ZERO output terminal of WC0 indicating that the value of the WC0 subtraction instruction bit 111g of the selected IR111 is 1 and the current WC0 is 0, or the value of the WC1 subtraction instruction bit 111h of the selected IR111 is 1 When at least one of the ZERO output terminals of WC1 indicating that the current WC1 is 0 holds, the non-inverted output of the OR gate in the work counter processor 114e is 1, and the INC terminal of the PC is Since it becomes 1, the value of PC is incremented in synchronization with the application of TC.
[0034]
The value of the WC0 subtraction instruction bit 111g of the selected IR111 is 0 or the ZERO output terminal of the current WC0 is 0, and the value of the WC1 subtraction instruction bit 111h of the selected IR111 is 0 or the ZERO output terminal of the current WC1 is When 0 holds simultaneously, the inverted output of the OR gate in the work counter processor 114e becomes 1, and the L terminal of the PC becomes 1. Therefore, the next execution step no. Of the IR 111 selected in synchronization with the application of TC. The 3-bit value of bit 111i is loaded into the PC.
[0035]
In this figure, the illustration of the connection is omitted, but all the FFs in the test pattern generation circuit 100 have a well-known shift scan structure, and from the SI 103 in synchronization with the SC 102. Scan-in and scan-out to SO110 are possible.
[0036]
Such a circuit can be realized with about several hundred gates, and the circuit scale is significantly smaller than that in the case of using a general-purpose MPU or the like.
[0037]
<Figure 4 Explanation of parameters>
Of the symbol parameters used in the instruction specification of FIG. 4, P0 is a step number from 0 attached to each instruction. P1 indicates an address counter (AC). However, when an inversion symbol (˜) is attached, it indicates an AC complement value. This complementary value means that when the value indicated by AC takes an ascending value, the address actually given to the memory takes a descending value. P2 indicates whether data is edited (inverted in this embodiment). P3 indicates the AC to be incremented. P4 indicates the work counter (WC) to be decremented. P5 indicates the step number to be processed next.
[0038]
<Figure 4 Instruction explanation>
In the WT instruction, the current DR data is written to the test target memory at the address indicated by the current AC indicated by P1, and the instruction common processing described later is performed. The RD instruction reads the data of the address indicated by the current AC indicated by P1 from the test target memory, compares the data of the current DR as an expected value, and performs an instruction common process described later. The NP instruction does not access the test target memory and performs only the instruction common processing described later. The LP instruction performs an instruction common process similar to the NO instruction, and further performs a decrement process of the loop counter (LC). As a result, if the LC is 0, the E signal indicating the end of the process is set to true (1). As processing common to all commands, data editing according to the P2 instruction, AC incrementing according to P3, and WC decrementing according to P4 are performed. If there is a WC decrement instruction, if the WC is 0 at the time of execution of this instruction, the program counter (hereinafter referred to as PC) becomes the contents of the current PC + 1, and if not, P5 is substituted into the PC.
[0039]
<Processing procedure>
As a processing procedure of circuit operation in the present embodiment, first, as preparation for test generation, all FFs of the test pattern generator are initialized by a scan operation. At this time, the address register is set to 0, the work counter is set to 3 which is the maximum word address, and the program counter is set to 0. The loop counter is set to 2 this time. Thereafter, when an actual test clock is transmitted, a test generation operation is performed. Finally, when 1 is sent to the E signal from the test generation circuit, it is a test end.
[0040]
<FIGS. 5 and 6 Description of March Program>
More specifically, the circuit operation will be described by taking the March program of FIG. 5 as an example.
[0041]
The machine language of the March program in FIG.
Step 0 is INC <0-1> = '00', SAC = '0',
INC0 = '1', INC1 = '0', CA = '0', INVD = '1',
DW0 = '1', DW1 = '0', NS <0-2> = '000',
Step 1 is INC <0-1> = '01', SAC = '0',
INC0 = '1', INC1 = '0', CA = '0', INVD = '1',
DW0 = '1', DW1 = '0', NS <0-2> = '001',
Step 2 is INC <0-1> = '11', SAC = '0',
INC0 = '0', INC1 = '0', CA = '0', INVD = '1',
DW0 = '0', DW1 = '0', NS <0-2> = '000',
It becomes.
[0042]
In the circuit operation, first, AC0 = AC1 = PC = 0, WC0 = WC1 = 3, LC = 2, and DR = “00” are set as initial values. It can be easily understood as a known technique that the initial value can be set by sequentially setting data taking into consideration the shift order of the FFs in the circuit 100 to the SI103 terminal in a state where TC is 0 and applying SC102. I will. Thereafter, processing is executed as shown in FIG. 6 in synchronization with TC in the order of FIG. FIG. 6 shows an AC that determines the type of access to the memory under test, the address to be accessed, and the address in the processing order for each cycle synchronized with the TC 101 in the second and subsequent rows. Hereinafter, the values of AC0, AC1, DR, WC0, WC1, PC, and LC are described. For AC0 to LC, the upper part of each row shows values before TC application, and the lower part shows values after TC application.
[0043]
In this example, data is inverted in each cycle while performing simple repetition using AC0 and WC0. Thus, by using the counter, the data editing and the loop skillfully, the generation of the march test can be described with only three steps of instructions.
[0044]
<Fig. 7 and Fig. 8 Explanation of galloping program>
As a more complicated example, the operation in the case of the galloping program of FIG. 7 will be described with reference to FIG. As initial values, AC0 = AC1 = PC = 0, WC0 = WC1 = 3, LC = 2, and DR = '00 'are set as in the case of the march. FIG. 8 is almost the same as FIG. 6, but with regard to the DR and LC fields, values corresponding to the processing orders 1 to 38 are described in the A column and values corresponding to 39 to 76 are described in the B column. Since the values corresponding to the processing orders 1 to 38 and the values corresponding to 39 to 76 are the same, the other columns are represented by one side. In the processing order 1 to 4 in FIG. 8, all addresses are cleared to 0 using AC0 and WC0 as in the case of the march. After reversing DR in processing procedure 5, in procedures 6 to 38, AC0, AC1, WC0, and WC1 are devised and used to change the main address (X) from 0 to 3, Thus, a complicated flow is realized in which the slave address (Y) is changed from X + 1 to X−1 for each X. Here, it is assumed that the address increment is cyclic, such as 0, 1, 2, 3, 0, 1. According to the present embodiment, such a complicated flow can be described with an instruction of only 7 steps. In addition, the test pattern to be generated can be changed only by the initial setting including the change of the instruction word without changing the hardware of the test generator. In addition, walking patterns can be generated by writing a program using a similar method. This indicates that a fairly complicated pattern generation algorithm can be programmed after chip creation without changing hardware, and is an important feature of the present invention.
[0045]
Furthermore, if the bit width and value of the loop counter (LC) are further increased, burn-in can be performed by rotating the loop as many times as necessary.
[0046]
Alternatively, for the purpose of the burn-in test, it is possible to add a circuit change such as not decrementing the LC until a specific signal is received.
[0047]
Furthermore, the present embodiment is an example in which the number of word addresses is a power of 2, but if this is not the case, a circuit for comparing the contents of the counter with the word address is added or the maximum address is stored in advance. Then, a measure such as determining that the decrement result is 0 may be taken.
[0048]
In this embodiment, an inverting circuit is taken up as a data editing method. However, a pattern that shifts every cycle may be required depending on a request from the memory test side. In such a case, it is possible to add a bit representing the type of data editing in the instruction word.
[0049]
As a second embodiment of the present invention, FIG. 9 shows an example of circuit connection when used as a memory test pattern generator in a BIST environment. The test pattern generator 100 is embedded in the same chip 200 as the memory 208 to be tested, and is placed under the management of the chip test control circuit 201. The memory under test includes a READ signal 202 and a READ signal during a normal logic operation, a WRITE signal 203 and a WRITE signal during a normal logic operation, an address signal 204 and a test address signal during a normal logic operation, and a normal logic operation. The data signal 205 at the time and the data signal at the time of the test are connected via the multiplexer 207 that selects the test side signal at the time of the test. Further, the memory output result is connected so that the fan-out signal is compared with the data signal output from the test generator by the comparator 210. Further, the mask signal output from the test generator serves to make the output result of the comparator 210 unconditional match. The operation of the test control circuit 201 is controlled from the outside by the test input pin group 211 of the chip 200, and the result is output to the test output pin group 212. In a typical example, the input pin group 211 is directly connected to the selection signals 206 of the test pattern generation circuit 100, 101, 102, 103, and 104, and the MUX 207, and the output pin group 212 is connected to the test pattern generation circuit 100. The test end indicator E104 and the output 211 of the comparator 210 may be directly connected. In the case of this connection, the operation of the test pattern generation circuit 100 is the same as that of the first embodiment. In this embodiment, after setting the initial state, 206 is set to the test logic selection side, and the comparator The only change is to monitor at 212 whether it reports a mismatch at 211.
[0050]
It is possible to store the output result of the comparator in the control circuit and observe it after the test is completed.
[0051]
In the present embodiment, a typical example is shown. However, within the scope of the present invention, for example, the circuit is used as a test pattern generation circuit of a tester, or on a connection jig with the tester. By using this circuit, it is possible to test the memory on another chip by mounting this circuit on a chip different from the memory to be tested.
[0052]
【The invention's effect】
As described above, by using the present invention, it is possible to solve the problems of the prior art in the memory test and obtain a compact and programmable high-speed memory test pattern generation circuit suitable for BIST.
[Brief description of the drawings]
FIG. 1 is a schematic block diagram of a test pattern generation circuit for SRAM of 4 words × 2 bits.
FIG. 2 is a block diagram showing a more detailed circuit configuration of a test pattern generation circuit for SRAM of 4 words × 2 bits.
FIG. 3 is a specification of constituent bits of a machine instruction word for operating the circuits of FIGS. 1 and 2;
FIG. 4 shows specifications when machine instructions are expressed as mnemonic instructions.
5 is a description example of a march pattern generation program expressed by a mnemonic instruction in FIG. 4;
6 is an operation example in which the execution of the program of FIG. 5 is traced including the internal state for each step.
7 is a description example of a galloping pattern generation program expressed by a mnemonic instruction in FIG. 4;
8 is an operation example in which the execution of the program in FIG. 7 is traced including the internal state for each step.
FIG. 9 is an example of circuit connection when used as a test pattern generator for a memory under a BIST environment as an embodiment.
[Explanation of symbols]
100 ... Test pattern generation circuit, 101 ... Test clock (TC),
102: Scan clock (SC), 103: Scan-in data (SI),
104 ... Test end indicator (E),
105 ... Read mode indicator (R),
106 ... write indicator (W),
107 ... mask mode indicator (M),
108 ... Address output (A) 109 ... Data output (D)
110 ... scan-out data (SO),
111: Instruction register (IR), 111a: Instruction (INS <0-1>),
111b ... AC selection (SAC), 111c ... AC0 addition (INC0),
111d ... AC1 addition (INC1), 111e ... complement address instruction (CA),
111f ... DR inversion instruction (INVD), 111g ... WR0 subtraction (DW0),
111h ... WR1 subtraction (DW1),
111i: Next execution step number (NS <0-2>),
112 ... Program counter (PC),
113 ... Maximum word address storage register,
114 ... Control circuit (CL), 114a ... Selector,
114b: instruction decoder, 114c: address processor,
114d: Data processor 114e: Work counter processor
115: Loop counter (LC), 116: Address counter (AC),
117: Data register (DR) 118: Work counter (WC)
118a ... Work counter (WC0), 118b ... Work counter (WC1),
200 ... chip,
201: Chip test control circuit,
202 ... READ signal during normal logic operation,
203 ... WRITE signal during normal logic operation,
204: Address signal during normal logic operation,
205 ... Data signal in normal logic operation, 206 ... Test mode signal,
207 ... multiplexer, 208 ... memory under test,
209 ... Memory output, 210 ... Comparator,
211: Comparison result, 212: Test input pin group,
213: Test output pin group.

Claims (2)

複数の命令レジスタと、
命令セレクタと、
命令デコーダと、
プログラムカウンタと、
ワークカウンタと、
格納するアドレスをアドレス信号としてメモリへ出力するアドレスカウンタと、
格納するデータをデータ信号として前記メモリへ出力するデータレジスタとを有し、
前記各命令レジスタは、WT命令、RD命令、NO命令、LP命令の何れか一を格納するものであって、
前記セレクタは、前記プログラムカウンタの値に従い、前記命令レジスタの前記命令を前記デコーダへ選択出力するものであって、
前記命令デコーダは、前記命令をデコードするものであって、
前記命令デコーダが前記WT命令をデコードした場合には、前記データレジスタのデータを前記アドレスカウンタの示すアドレスへ書き込み、前記データレジスタのデータの編集、前記アドレスカウンタのインクリメント、前記ワークカウンタのデクリメントが行われるものであって、
前記命令デコーダが前記RD命令をデコードした場合には、前記アドレスカウンタの示すアドレスからデータを読み出し、期待値と比較し、前記データレジスタのデータの編集、前記アドレスカウンタのアドレスのインクリメント、前記ワークカウンタのデクリメントが行われるものであって、
前記命令デコーダが前記NO命令をデコードした場合には、前記データレジスタのデータの編集、アドレスカウンタのアドレスのインクリメント、前記ワークカウンタのデクリメントが行われるものであって、
前記命令デコーダが前記LP命令をデコードした場合には、前記ループカウンタのデクリメントが行われるものであって、
前記ワークカウンタのデクリメント際に、前記ワークカウンタの値が0の場合には、前記プログラムカウンタの値をインクリメントし、0以外の場合は前記命令に処理する命令を格納する前記命令レジスタを指定するステップ番号前記プログラムカウンタへ代入するものであって、
前記ループカウンタの値が0の場合に、テストを終了するものであって、
外部から直接又は間接に、前記命令レジスタ内の命令が設定されることを特徴とするテストパタン生成回路。
Multiple instruction registers;
An instruction selector;
An instruction decoder;
A program counter,
A work counter,
An address counter that outputs the address to be stored to the memory as an address signal;
A data register that outputs data to be stored to the memory as a data signal;
Each instruction register stores one of a WT instruction, an RD instruction, a NO instruction, and an LP instruction,
The selector selectively outputs the instruction of the instruction register to the decoder according to the value of the program counter,
The instruction decoder is for decoding the instruction,
When the instruction decoder decodes the WT instruction, data in the data register is written to an address indicated by the address counter, data in the data register is edited, the address counter is incremented, and the work counter is decremented. And
When the instruction decoder decodes the RD instruction, it reads data from the address indicated by the address counter, compares it with an expected value, edits data in the data register, increments the address of the address counter, and the work counter Is decremented, and
When the instruction decoder decodes the NO instruction, the data in the data register is edited, the address counter is incremented, and the work counter is decremented.
When the instruction decoder decodes the LP instruction, the loop counter is decremented,
Upon decrementing the workpiece counter, when the value of the work counter is 0, the instruction register increments the value of the program counter, otherwise 0 for storing instructions for processing the next the instruction a step number to specify those substituted into the program counter,
When the value of the loop counter is 0, the test is terminated,
A test pattern generation circuit, wherein an instruction in the instruction register is set directly or indirectly from outside.
請求項1記載のパタン生成回路において
ータセレクタを有し、
前記データレジスタのデータの編集に際し、前記データセレクタが、前記データレジスタの値又はその反転値を、前記データレジスタへ選択出力することを特徴とするテストパタン生成回路。
The pattern generation circuit according to claim 1 ,
It has a de Tasereku data,
A test pattern generation circuit, wherein, when editing data in the data register, the data selector selectively outputs the value of the data register or its inverted value to the data register.
JP16994797A 1997-06-26 1997-06-26 Memory test pattern generation circuit Expired - Lifetime JP3972416B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16994797A JP3972416B2 (en) 1997-06-26 1997-06-26 Memory test pattern generation circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16994797A JP3972416B2 (en) 1997-06-26 1997-06-26 Memory test pattern generation circuit

Publications (2)

Publication Number Publication Date
JPH1115740A JPH1115740A (en) 1999-01-22
JP3972416B2 true JP3972416B2 (en) 2007-09-05

Family

ID=15895833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16994797A Expired - Lifetime JP3972416B2 (en) 1997-06-26 1997-06-26 Memory test pattern generation circuit

Country Status (1)

Country Link
JP (1) JP3972416B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3934434B2 (en) 2002-02-19 2007-06-20 富士通株式会社 Circuit testing equipment
KR20150029213A (en) 2013-09-09 2015-03-18 삼성전자주식회사 System on chip including built-in self test circuit achieving various test patterns and built-in self test method thereof

Also Published As

Publication number Publication date
JPH1115740A (en) 1999-01-22

Similar Documents

Publication Publication Date Title
US7225379B2 (en) Circuit and method for testing semiconductor device
KR970004074B1 (en) Memory device and integrated circuit thereof
US7437645B2 (en) Test circuit for semiconductor device
KR20010089236A (en) Semiconductor integrated circuit device and manufacturing method the same
JP3830550B2 (en) Integrated circuit design test method
US20060184848A1 (en) Semiconductor integrated circuit having test function and manufacturing method
Du et al. Full-speed field-programmable memory BIST architecture
JP4147005B2 (en) Semiconductor integrated circuit, test method and manufacturing method thereof
JP2005332555A (en) Test circuit, test method and semiconductor integrated circuit device
Manasa et al. Implementation of BIST technology using March-LR algorithm
US7870453B2 (en) Circuit arrangement and method of testing an application circuit provided in said circuit arrangement
JPH10209376A (en) System and method for testing semiconductor device
deJong et al. Memory interconnection test at board level
JP3972416B2 (en) Memory test pattern generation circuit
JP2003224468A (en) Semiconductor integrated circuit, its manufacturing method, and testing method
JP2002373086A (en) Semiconductor integrated circuit
US20030172333A1 (en) Built-in self test parallel JTAG serial chain architecture for reduced test vector size
US6381720B1 (en) Test circuit and method for system logic
JPH0763821A (en) Test circuit
JP4176944B2 (en) Semiconductor integrated circuit and recording medium
JP3043871B2 (en) Semiconductor integrated circuit
KR100683436B1 (en) Generator of memory BIST circuit
US6804803B2 (en) Method for testing integrated logic circuits
JPH06201782A (en) Semiconductor integrated circuit
US20230230650A1 (en) Methods and devices for flexible ram loading

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040616

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040616

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070423

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070522

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070604

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120622

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120622

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130622

Year of fee payment: 6

EXPY Cancellation because of completion of term