JP3667146B2 - Built-in self-test circuit for memory - Google Patents

Built-in self-test circuit for memory Download PDF

Info

Publication number
JP3667146B2
JP3667146B2 JP09020699A JP9020699A JP3667146B2 JP 3667146 B2 JP3667146 B2 JP 3667146B2 JP 09020699 A JP09020699 A JP 09020699A JP 9020699 A JP9020699 A JP 9020699A JP 3667146 B2 JP3667146 B2 JP 3667146B2
Authority
JP
Japan
Prior art keywords
address
self
built
memory
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
JP09020699A
Other languages
Japanese (ja)
Other versions
JP2000285700A (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.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC 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 Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Priority to JP09020699A priority Critical patent/JP3667146B2/en
Publication of JP2000285700A publication Critical patent/JP2000285700A/en
Application granted granted Critical
Publication of JP3667146B2 publication Critical patent/JP3667146B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Static Random-Access Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、テストとメモリのテストハードウエアに関するものである。さらに詳しくは、本発明は同一チップに埋め込められたメモリ用内蔵自己テスト回路に関するものである。
【0002】
【従来の技術および発明が解決しようとする課題】
メモリは、チップまたはマスク上の塵粒子により引き起こされる損傷(掻き傷およびゲート酸化ピンホール)に対する製造プロセスを受けやすい。これらの損傷により開回路を生じたり、ショートを生じる。多くの方法やハードウエアが、メモリが正常に機能することができるかどうかをテストするために開発されてきた。しかしながら、集積回路技術が徐々に発達するにつれて、メモリの機能がさらに複雑になっている。結果として、メモリの機能テストを行うには、しばしば非常に長い時間がかかりかつ複雑な回路を必要とする。
【0003】
上記問題を解決するために、メモリ用内蔵自己テスト(BIST)の技術が発達してきた。メモリ用内蔵自己テストにおいて、テストアルゴリズムは、テスト下でメモリに付与される一連のコマンド、データ、及びアドレスに翻訳される。従来、配線による有限状態機械(FSM)が翻訳過程を実行するために使用されている。高速テスト可能性を具備するために、BIST回路はテスト下でのメモリと同様の早さで作動する。この方式の欠点は、有限状態機械がテストパターンの特別なセット(複雑さがテストアルゴリズムに依存する)に合わせて作られていることである。テストアルゴリズムの複雑さが増大するにつれてこの方式は適当なものではないと言える。なぜなら、有限状態機械は非常に大きくかつ非常に遅くなるので、テスト下でのメモリを集中的に使用するための各クロックサイクルでのテストパターンを生成できないからである。
【0004】
いくつかのBIST回路(プログラム可能または構成可能なBIST回路として知られている)としては、1992年に Dreibelbis 氏らにより開示された米国特許第 5173906号明細書「集積回路用内蔵自己テスト」を参照することができる。テストパターンを生成するためにリードオンリーメモリの内容に決められたマイクロコード化シーケンスを使用する回路を開示したものとしては、1993年に Popyack氏らによる米国特許第 5224101号明細書がある。米国特許第 5301156号明細書「埋設RAM用構成可能自己テスト」において、Talley氏らは、テストパターンまたは制御パターンを入力する(shift in)ために、かつ結果を出力する(shift out)ために、回路のアドレス、コマンド、及びデータ部を介して送られるシリアル経路を有する回路を開示している。各スキャンには数クロックサイクルを必要とする。
【0005】
【課題を解決するための手段】
従って、本発明はメモリ(特にメモリデバイス)をテストするための回路及び方法を提供する。本回路は、パターンジェネレータと、内蔵自己テスト出力バッファと、遅延バッファと、比較器とを備える。パターンジェネレータは、さらに、3つのモジュールを備え、すなわち、テストパターンのデータ及びコマンドを生成するための有限状態機械と、アドレス計算を実行するためのアドレスジェネレータと、前もって決められたアドレス変化のシーケンスに基づいて、前のサイクルのアドレス情報から次のクロックのアドレスを予測するための予測ロジックとを備える。
【0006】
本発明は、サイクリック・パス・ブレーキング・テクニックを使用する。複数のフリップフロップをパターンジェネレータの初期クリティカル・パスに挿入することにより、初期クリティカル・パスは複数のセグメントになる。よって、パターンジェネレータのクロックサイクル時間は、これらのセグメント内の最長クロックサイクル時間により支配される。しかしながら、フリップフロップは初期クリティカル・パスに挿入されているので、クロックサイクルは遅延する。この遅延したクロックサイクルを各フリップフロップの挿入により埋め合わせるために、予測ロジックが各フリップフロップ間に挿入される。結果として、フリップフロップの挿入により生じるレイテンシ(待ち時間)が解消し、その間パターンジェネレータのクロックサイクル時間が効果的に減少する。
【0007】
前述の概略的記載及び以下の記載は、例示的および説明用のものであって、クレームされたように、本発明を制限するものではない。
【0008】
【発明の実施の形態】
図1は、メモリデバイスをテストするための内蔵自己テスト回路のブロック図を示す。
図2から図4は、本発明による内蔵自己テスト回路におけるパターンジェネレータを発展させたものであって、図2は単純なパターンジェネレータであり、図3はリタイミング(retiming)後のパターンジェネレータであり、図4はパターンジェネレータの高速版である。
図5は、予測ロジックのマーチ(March)のアルゴリズム用状態遷移図である。
図6は、予測ロジックのためのレジスタ転送レベルコードを示している。
【0009】
<テストアルゴリズム>
メモリデバイスのテストを行う一方で、高級言語にてプログラムとして書かれたテストアルゴリズムがしばしば提供されている。R行及びC列を備えるメモリデバイスがテストされると仮定すると、4つのステップがマーチのアルゴリズムには含まれている。第1ステップにて、‘0’が各セルに書き込まれる。第2ステップでは、前進により(すなわち、第1行の第1セルから最後行の最後セルへ)、全配列を巡回する。各セルにおいて、いわゆるリード(0)−ライト(1)−リード(1)操作が行われる。このリード−ライト−リード操作は、メモリセルの潜在的動的欠陥をよりよく表示することをねらいとして提供される。第3ステップでは、最後セルから最初セルへと全セルを巡回する。各セルにおいて、リード(1)−ライト(0)−リード(0)操作が行われる。このアルゴリズムの第4ステップにおいて、各セルの値が最初の3ステップの後においても依然ゼロであるかどうかをチェックする。
【0010】
高級言語にてプログラムされたマーチのアルゴリズムの一例としては、以下に示されたものである。

Figure 0003667146
【0011】
<内蔵自己テスト回路>
内蔵自己テスト回路が本発明において開示されている。図1に示すように、内蔵自己テスト回路は、パターンジェネレータと、内蔵自己テスト(BIST)回路出力バッファ(BOB)と、遅延バッファと、比較器とを備えている。
【0012】
パターンジェネレータは、一連のテストパターンを生成する有限状態機械である。これは上記テストアルゴリズムに対応する。BOBはBIST回路とメモリデバイス(例えばSRAM)との間のバッファであって、BIST回路を導入したことによるメモリデバイスの潜在的な機能低下を排除する。遅延バッファは、パターンジェネレータと比較器との間のファースト・イン・ファースト・アウト(FIFO)レジスタファイルである。第1に、メモリ・リード・コマンドの予測された応答を計算する。遅延されたクロックサイクル数は、メモリのリード操作のレイテンシに依存する。比較器は、組み合わせロジックの一部であり、メモリが正常に機能しているかどうかを決めるためにメモリの出力応答を予測値と比較する。ここで、予測値は遅延バッファにより提供される。
【0013】
BIST回路の4つの構成部材において、パターンジェネレータはクロックサイクル時間を支配するタイミング・クリティカルなものである。タイミング・クリティカル・パスを遮断するためのテクニックは、以下の段落で記載されよう。
【0014】
図2から図4は、本発明による図1に示されたような内蔵自己テスト回路内のパターンジェネレータの発展を示している。図2は単純なパターンジェネレータの構造を示している。前述したように、パターンジェネレータは、データ部、コマンド部、及びアドレス部をそれぞれ備えたテストパターンを生成するものである。よって、パターンジェネレータはさらに2つのモジュール(すなわち、PG_fsmと示された有限状態機械と、A_genと示されたアドレスジェネレータ)に分けられる。図に示すように、モジュールPG_fsmは、テストパターンのコマンド部、データ部、及び(a_commandと示された)アドレスコマンドを生成する。アドレスコマンドa_commandはモジュールA_genを駆動するために使用される。モジュールA_genは、各テストパターンのアドレス部を生成するものである。この実施形態において、9つのアドレスコマンドが様々なテストアルゴリズムを適合させるために使用される。これらの9つのアドレスコマンドは、NO_CHANGE、INIT_ADDRESS、LAST_ADDERSS、NEXT_CELL、PREVIOUS_CELL、Y_NEXT_CELL、Y_PREVIOUS_CELL、CROSS_CELL、及びRECALLである。各アドレスコマンドによると、モジュールA_gen は、各クロックサイクルごとに、アドレスレジスタ10の値を更新する。この構成では、タイミング・クリティカル・パスがアドレスレジスタ10の出力から出発し、モジュールPG_fsmとA_genとの組み合わせ部を通過し、最後にアドレスレジスタ10の入力に終わる。さらに、パターンジェネレータは有限状態機械のための初期状態レジスタ(pg_stateとして示される)を備えている。
【0015】
リタイミング変換が、タイミング最適化のための効果的な手段となるように具備されている。しかしながら、クリティカル・パスは実際ループを形成しているので、この構成においてリタイミング変換は適用することができない。図3はリタイミング変換のデモンストレーションを示している。リタイミングが、アドレスレジスタ10をモジュールA_genを反対側に背後に移動させる。リタイムされた版では、タイミング・クリティカル・パスは若干変化しているが、クロックサイクル時間は、A_gen及びPG_fsmの組み合わせ部分を介して伝達遅延の和により依然として支配されている。
【0016】
この発明のテクニックの動機は、モジュールPG_fsmとA_genとの間だけでなく、A_genからPG_fsmへのパス間にもレジスタを挿入することで、サイクリック・パスを遮断することである。この考えは、図4に示されるような新しい構成を導く。2つの組み合わせモジュールPG_fsmとA_genに加えて、新しい構成には4つのレジスタと別の組み合わせロジックがある。4つのレジスタは、初期状態レジスタpg_stateと、初期セルアドレスレジスタaddressと、PG_fsmにより生成されたアドレスコマンドを表すレジスタaddress-command 20と、1クロックサイクルだけ遅延されたセルアドレスを表すレジスタdelay-address30とを備えている。delay-address30は、信号address commandにて加えられたレジスタのために遅延する。
【0017】
新たに加えられた組み合わせモジュール(予測ロジックと呼ばれている)が、このテクニックの最も重要な部分である。この目的は、前クロックサイクルのアドレス情報に基づく次クロックサイクルのアドレスを予測することである。よって、向上された版のタイミングは初期のものとほぼ同等のである。
【0018】
初期のパターンジェネレータのセルアドレスが、最初の6クロックサイクルの対するA1,A2、A3、A4、A5、A6であると仮定する。これらのアドレスは必ずしも連続していない。これらの高速版の3観測点の信号の値と、レジスタ遅延アドレス30と、予測ロジックの出力と、レジスタaddress-command20とが表1にリストされている。
【0019】
【表1】
Figure 0003667146
【0020】
例えば第2クロックサイクルにおいて、現在のアドレスがA2であるのに対して、予測ロジックの入力は、遅延されたアドレスA1である。予測ロジックの初期機能の記載に基づいて、その出力は次クロックサイクルのアドレス(A3)でなければならない。このアドレスは、モジュールPG_fsmを供給する前の別のレジスタにより遅延されたもので、よってPG_fsmへのアドレス入力は依然として現在のアドレスA2である(これはパターンジェネレータの初期版でのアドレスと同じである)。この例において、予測ロジックはA1からA3を予測する必要がある。アドレス変化のシーケンスが裏に潜んだテストアルゴリズムにて前もって決められたものであるので、このような予測は可能である。以下において、予測ロジックの実行を示す。より複雑なテストアルゴリズムに対する実行が同様にして得られる。
【0021】
<マーチのアルゴリズムに対する予測ロジック>
一般性を損なうこと無いように単純化するために、メモリアレイはN個のセルを有する1次元であると仮定する。半分のマーチアルゴリズムの状態遷移図が図6に示されている。ここで、遷移上にラベルされた変数aはセルアドレスを表す。開始状態と終了状態とに加えて、5つの状態(すなわちS1、S2、S3、S4、S5)がある。各状態は、各サイクル中に示されたように固有のテストコマンドとデータを生成する。予測ロジックに対するレジスタ転送レベル(RTL)コードが図6に示されている。
【0022】
上記記載を要約すると、本発明はメモリデバイスをテストするための内蔵自己テスト回路を提供している。最大クロックサイクル時間を支配する構成部材は、パターンジェネレータである。パターンジェネレータは、有限状態機械PG_fsmと、アドレスジェネレータA_genと、予測ロジックと、フリップフロップの3セット(すなわち初期セルアドレスレジスタaddressと、アドレス・コマンド・レジスタaddress commandと、1クロックサイクルだけ遅延されたセルアドレスのためのdelay-address)とを備えている。このようにして、時間・クリティカル・パスは、PG_fsmとA_genと予測ロジックでの3セグメントに分けられる。このようにして、クロックサイクル時間が、PG_fsmとA_genと予測ロジックのうちの最長パスにより決められる。単純なジェネレータでのループと比較すると、クロックサイクル時間が効果的に減少している。追加レジスタの挿入によりレイテンシが生じるが、これらのレジスタ内の各信号が前もって予測ロジックにより1クロックサイクルだけ前計算される。
【0023】
<総合した結論>
本発明は、レジスタ転送レベル(RTL)コードとして実行された。機能の正常さの信頼性を打ち立てるためのテストにおいて、メモリデバイスの機能モデルでシミュレーションした。総合ツール(設計コンパイル)がRTLコードをネットリストに変換することに使用され、かつ0.35μm CMOS技術ライブラリを使用してロジック最適化を行っている。静的タイミング解析ツール(設計時間)は、クロックサイクル時間が2.5ns以下であることを示している。位置決め・ラウトツール(place-and-rout tool)(Apollo)のタイミング駆動特性が、レイアウトを生成するために使用された。後レイアウトタイミングチェックが、上記クロックサイクル時間内で、タイミング違反がないことを示している。これらの結果に基づき、本発明で提供されたBIST構成部材は400MHzもの早さで実行するための大きな潜在能力を有していると結論付けることができる。このことは、提供されたテクニックを有しない単純に実行した場合に比べて約30%の速度上昇である。
【0024】
本発明の他の実施形態は、明細書及びここに開示された本発明の具体例から当業者にとっては明らかであろう。明細書及び具体例は単に例として考慮されるべきであり、本発明の真の範囲及び精神が請求項により示されていることを強調しておく。
【図面の簡単な説明】
【図1】 メモリデバイスをテストするための内蔵自己テスト回路のブロック図である。
【図2】 単純なパターンジェネレータを示す図である。
【図3】 リタイミング後のパターンジェネレータを示す図である。
【図4】 パターンジェネレータの高速版を示す図である。
【図5】 予測ロジックのマーチのアルゴリズム用状態遷移図である。
【図6】 予測ロジックのためのレジスタ転送レベルコードを示す図である。
【符号の説明】
10 初期状態アドレスレジスタ(pg_state)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to test and memory test hardware. More particularly, the present invention relates to a built-in memory self-test circuit embedded in the same chip.
[0002]
[Background Art and Problems to be Solved by the Invention]
Memory is susceptible to manufacturing processes against damage (scratches and gate oxidation pinholes) caused by dust particles on the chip or mask. These damages cause an open circuit or a short circuit. Many methods and hardware have been developed to test whether the memory can function properly. However, as integrated circuit technology develops gradually, memory functions become more complex. As a result, memory functional tests are often very time consuming and require complex circuitry.
[0003]
In order to solve the above problems, a built-in self test (BIST) technique for memory has been developed. In the built-in self test for memory, the test algorithm is translated into a series of commands, data, and addresses that are applied to the memory under test. Traditionally, finite state machines (FSM) with wires are used to perform the translation process. To provide fast testability, the BIST circuit operates as fast as the memory under test. The disadvantage of this scheme is that the finite state machine is tailored to a special set of test patterns (complexity depends on the test algorithm). It can be said that this scheme is not suitable as the complexity of the test algorithm increases. This is because the finite state machine is so large and very slow that it cannot generate a test pattern at each clock cycle for intensive use of the memory under test.
[0004]
For some BIST circuits (known as programmable or configurable BIST circuits), see US Pat. No. 5,173,906 “Integrated Self Test for Integrated Circuits” disclosed by Dreibelbis et al. In 1992. can do. US Pat. No. 5,224,101 by Popyack et al. In 1993 discloses a circuit that uses a microcoded sequence defined in the contents of a read-only memory to generate a test pattern. In US Pat. No. 5,301,156, “Configurable Self Test for Embedded RAM”, Talley et al. To shift in and to output test results or control patterns. Disclosed is a circuit having a serial path that is routed through the address, command, and data portions of the circuit. Each scan requires several clock cycles.
[0005]
[Means for Solving the Problems]
Accordingly, the present invention provides a circuit and method for testing a memory (especially a memory device). The circuit includes a pattern generator, a built-in self test output buffer, a delay buffer, and a comparator. The pattern generator further comprises three modules: a finite state machine for generating test pattern data and commands, an address generator for performing address calculations, and a predetermined sequence of address changes. And a prediction logic for predicting the address of the next clock from the address information of the previous cycle.
[0006]
The present invention uses a cyclic path breaking technique. By inserting multiple flip-flops into the initial critical path of the pattern generator, the initial critical path becomes multiple segments. Thus, the clock cycle time of the pattern generator is dominated by the longest clock cycle time in these segments. However, since the flip-flop is inserted in the initial critical path, the clock cycle is delayed. In order to make up for this delayed clock cycle by inserting each flip-flop, prediction logic is inserted between each flip-flop. As a result, the latency caused by the flip-flop insertion is eliminated, and the clock cycle time of the pattern generator is effectively reduced during that time.
[0007]
The foregoing general description and the following description are exemplary and explanatory and are not intended to limit the invention as claimed.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows a block diagram of a built-in self-test circuit for testing a memory device.
FIGS. 2 to 4 are developments of the pattern generator in the built-in self-test circuit according to the present invention. FIG. 2 is a simple pattern generator, and FIG. 3 is a pattern generator after retiming. FIG. 4 is a high-speed version of the pattern generator.
FIG. 5 is a state transition diagram for the March algorithm of the prediction logic.
FIG. 6 shows the register transfer level code for the prediction logic.
[0009]
<Test algorithm>
While testing memory devices, test algorithms written as programs in high-level languages are often provided. Assuming a memory device with R rows and C columns is tested, four steps are included in the March algorithm. In the first step, “0” is written in each cell. In the second step, the entire array is cycled by advancement (ie, from the first cell in the first row to the last cell in the last row). In each cell, a so-called read (0) -write (1) -read (1) operation is performed. This read-write-read operation is intended to better display potential dynamic defects in the memory cell. In the third step, all cells are cycled from the last cell to the first cell. In each cell, a read (1) -write (0) -read (0) operation is performed. In the fourth step of the algorithm, it is checked whether the value of each cell is still zero after the first three steps.
[0010]
An example of a March algorithm programmed in a high-level language is shown below.
Figure 0003667146
[0011]
<Built-in self-test circuit>
A built-in self-test circuit is disclosed in the present invention. As shown in FIG. 1, the built-in self-test circuit includes a pattern generator, a built-in self-test (BIST) circuit output buffer (BOB), a delay buffer, and a comparator.
[0012]
A pattern generator is a finite state machine that generates a series of test patterns. This corresponds to the above test algorithm. The BOB is a buffer between the BIST circuit and the memory device (for example, SRAM), and eliminates a potential functional degradation of the memory device due to the introduction of the BIST circuit. The delay buffer is a first-in-first-out (FIFO) register file between the pattern generator and the comparator. First, calculate the predicted response of the memory read command. The number of delayed clock cycles depends on the latency of the memory read operation. The comparator is part of the combinational logic and compares the memory output response with the predicted value to determine whether the memory is functioning normally. Here, the predicted value is provided by a delay buffer.
[0013]
In the four components of the BIST circuit, the pattern generator is a timing critical that dominates the clock cycle time. Techniques for breaking timing critical paths will be described in the following paragraphs.
[0014]
2 to 4 show the development of the pattern generator in the built-in self-test circuit as shown in FIG. 1 according to the present invention. FIG. 2 shows the structure of a simple pattern generator. As described above, the pattern generator generates a test pattern including a data part, a command part, and an address part. Thus, the pattern generator is further divided into two modules (ie, a finite state machine denoted PG_fsm and an address generator denoted A_gen). As shown in the figure, the module PG_fsm generates a command part, a data part, and an address command (indicated as a_command) of the test pattern. The address command a_command is used to drive the module A_gen. The module A_gen generates an address part for each test pattern. In this embodiment, nine address commands are used to adapt various test algorithms. These nine address commands are NO_CHANGE, INIT_ADDRESS, LAST_ADDERSS, NEXT_CELL, PREVIOUS_CELL, Y_NEXT_CELL, Y_PREVIOUS_CELL, CROSS_CELL, and RECALL. According to each address command, the module A_gen updates the value of the address register 10 every clock cycle. In this configuration, the timing critical path starts from the output of the address register 10, passes through the combination of the modules PG_fsm and A_gen, and finally ends at the input of the address register 10. In addition, the pattern generator has an initial state register (denoted as pg_state) for a finite state machine.
[0015]
Retiming conversion is provided to be an effective means for timing optimization. However, since the critical path actually forms a loop, retiming conversion cannot be applied in this configuration. FIG. 3 shows a demonstration of retiming conversion. Retiming moves the address register 10 behind module A_gen. In the retimed version, the timing critical path has changed slightly, but the clock cycle time is still governed by the sum of the propagation delays through the combination of A_gen and PG_fsm.
[0016]
The motive of the technique of the present invention is to interrupt the cyclic path by inserting a register not only between the modules PG_fsm and A_gen but also between the paths from A_gen to PG_fsm. This idea leads to a new configuration as shown in FIG. In addition to the two combination modules PG_fsm and A_gen, the new configuration has four registers and another combination logic. The four registers are an initial state register pg_state, an initial cell address register address, a register address-command 20 representing an address command generated by PG_fsm, and a register delay-address 30 representing a cell address delayed by one clock cycle. It has. delay-address 30 delays for the register added in the signal address command.
[0017]
Newly added combination modules (called prediction logic) are the most important part of this technique. The purpose is to predict the address of the next clock cycle based on the address information of the previous clock cycle. Thus, the improved version timing is about the same as the initial version.
[0018]
Assume that the initial pattern generator cell addresses are A1, A2, A3, A4, A5, A6 for the first six clock cycles. These addresses are not necessarily consecutive. These high speed versions of the three observation point signal values, the register delay address 30, the output of the prediction logic, and the register address-command 20 are listed in Table 1.
[0019]
[Table 1]
Figure 0003667146
[0020]
For example, in the second clock cycle, the current address is A2, while the input of the prediction logic is the delayed address A1. Based on the description of the initial function of the prediction logic, its output must be the address (A3) of the next clock cycle. This address was delayed by another register before supplying the module PG_fsm, so the address input to PG_fsm is still the current address A2 (this is the same as the address in the initial version of the pattern generator) ). In this example, the prediction logic needs to predict A1 to A3. Such a prediction is possible because the sequence of address changes is predetermined by a hidden test algorithm. In the following, the execution of the prediction logic is shown. Implementations for more complex test algorithms are obtained in the same way.
[0021]
<Prediction logic for March's algorithm>
For the sake of simplicity without compromising generality, the memory array is assumed to be one-dimensional with N cells. A state transition diagram of the half march algorithm is shown in FIG. Here, the variable a labeled on the transition represents a cell address. In addition to the start state and the end state, there are five states (ie, S1, S2, S3, S4, S5). Each state generates a unique test command and data as indicated during each cycle. The register transfer level (RTL) code for the prediction logic is shown in FIG.
[0022]
In summary, the present invention provides a built-in self-test circuit for testing memory devices. The component that governs the maximum clock cycle time is the pattern generator. The pattern generator has three sets of finite state machine PG_fsm, address generator A_gen, prediction logic, and flip-flops (ie, initial cell address register address, address command register address command, and cell delayed by one clock cycle) Delay-address for address). In this way, the time-critical path is divided into three segments of PG_fsm, A_gen, and prediction logic. In this way, the clock cycle time is determined by the longest path among PG_fsm, A_gen, and the prediction logic. Compared to a loop with a simple generator, the clock cycle time is effectively reduced. Insertion of additional registers causes latency, but each signal in these registers is precalculated by the prediction logic one clock cycle in advance.
[0023]
<Overall conclusion>
The present invention has been implemented as a register transfer level (RTL) code. In the test to establish the reliability of the normality of the function, a simulation was performed with a functional model of the memory device. Comprehensive tools (design compilation) are used to convert RTL code to netlists and perform logic optimization using a 0.35 μm CMOS technology library. The static timing analysis tool (design time) shows that the clock cycle time is 2.5 ns or less. The timing drive characteristics of the place-and-rout tool (Apollo) were used to generate the layout. The post-layout timing check indicates that there is no timing violation within the clock cycle time. Based on these results, it can be concluded that the BIST component provided in the present invention has great potential to run as fast as 400 MHz. This is a speed increase of about 30% compared to a simple run without the provided technique.
[0024]
Other embodiments of the invention will be apparent to those skilled in the art from the specification and specific examples of the invention disclosed herein. It should be emphasized that the specification and specific examples are to be considered merely as examples and that the true scope and spirit of the invention is indicated by the claims.
[Brief description of the drawings]
FIG. 1 is a block diagram of a built-in self test circuit for testing a memory device.
FIG. 2 shows a simple pattern generator.
FIG. 3 is a diagram showing a pattern generator after retiming.
FIG. 4 is a diagram showing a high-speed version of a pattern generator.
FIG. 5 is a state transition diagram for the March algorithm of the prediction logic.
FIG. 6 is a diagram illustrating a register transfer level code for prediction logic.
[Explanation of symbols]
10 Initial state address register (pg_state)

Claims (6)

パターンジェネレータを備えるメモリデバイス用内蔵自己テスト回路であって、さらに、
テストパターンのコマンド部及びデータ部を生成するための有限状態機械と、
前記テストパターンのアドレス部を生成するためのアドレスジェネレータと、
前もって決められたアドレス変化のシーケンスに基づいて、前クロックサイクルのアドレスから前クロックサイクルに続くクロックサイクルのアドレスを予測するための予測ロジックと、
前記内蔵自己テスト回路と前記メモリデバイスとの間のバッファとして機能する出力バッファと、
予測されるメモリ応答を遅延させるための遅延バッファと、
前記メモリデバイスの出力応答と、前記遅延バッファにより供給される予測されるメモリ応答とを比較するための比較器とを備えて成り、
前記予測ロジックにより予測されたアドレスは、前記バッファが遅延させる前記予測されるメモリ応答を求めるために用いられ、
これにより前記メモリデバイスが正常に機能するかどうかを決定することができるメモリデバイス用内蔵自己テスト回路。
A built-in self-test circuit for a memory device comprising a pattern generator,
A finite state machine for generating the command and data portions of the test pattern;
An address generator for generating an address part of the test pattern;
Prediction logic for predicting the address of the clock cycle following the previous clock cycle from the address of the previous clock cycle based on a predetermined sequence of address changes;
An output buffer that functions as a buffer between the built-in self-test circuit and the memory device;
A delay buffer to delay the expected memory response;
A comparator for comparing the output response of the memory device with an expected memory response provided by the delay buffer;
The address predicted by the prediction logic is used to determine the predicted memory response that the buffer delays,
A built-in self-test circuit for a memory device that can determine whether or not the memory device functions normally.
前記メモリデバイスは静的ランダム・アクセス・メモリ(SRAM)を備えることを特徴とする請求項1記載の内蔵自己テスト回路。  The built-in self-test circuit of claim 1, wherein the memory device comprises a static random access memory (SRAM). 前記テストパターンが前記メモリデバイスにより決められた一連のメモリコマンドにより生成されることを特徴とする請求項1記載の内蔵自己テスト回路。  2. The built-in self-test circuit according to claim 1, wherein the test pattern is generated by a series of memory commands determined by the memory device. 複数のレジスタが前記有限状態機械と、前記アドレスジェネレータと、前記予測ロジックとの間に挿入されることを特徴とする請求項1記載の内蔵自己テスト回路。  2. The built-in self-test circuit according to claim 1, wherein a plurality of registers are inserted between the finite state machine, the address generator, and the prediction logic. メモリデバイスをテストするための内蔵自己テスト回路内で使用されるパターンジェネレータにおいて、
少なくともテストパターンの、アドレス部と、データ部と、コマンド部とを生成するための有限状態機械と、
前記テストパターンのアドレス部を生成するためのアドレスコマンドにより駆動されるアドレスジェネレータと、
前もって決められたアドレス変化のシーケンスに基づいて、前クロックサイクルのアドレスから前クロックサイクルに続くクロックサイクルのアドレスを予測するための予測ロジックと、
を備えることを特徴とするパターンジェネレータ。
In a pattern generator used in a built-in self-test circuit for testing memory devices,
A finite state machine for generating at least an address part, a data part, and a command part of the test pattern;
An address generator driven by an address command for generating an address portion of the test pattern;
Prediction logic for predicting the address of the clock cycle following the previous clock cycle from the address of the previous clock cycle based on a predetermined sequence of address changes ;
A pattern generator comprising:
前記有限状態機械との間に挿入されたアドレス・コマンド・レジスタと、
前記アドレスジェネレータと前記予測ロジックとの間に挿入された遅延アドレスレジスタと、
前記予測ロジックと前記有限状態機械との間に挿入された初期アドレスレジスタと、
をさらに備えたことを特徴とする請求項5記載のパターンジェネレータ
An address command register inserted between the finite state machine;
A delay address register inserted between the address generator and the prediction logic;
An initial address register inserted between the prediction logic and the finite state machine;
The pattern generator according to claim 5, further comprising:
JP09020699A 1999-03-30 1999-03-30 Built-in self-test circuit for memory Expired - Lifetime JP3667146B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09020699A JP3667146B2 (en) 1999-03-30 1999-03-30 Built-in self-test circuit for memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09020699A JP3667146B2 (en) 1999-03-30 1999-03-30 Built-in self-test circuit for memory

Publications (2)

Publication Number Publication Date
JP2000285700A JP2000285700A (en) 2000-10-13
JP3667146B2 true JP3667146B2 (en) 2005-07-06

Family

ID=13992025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09020699A Expired - Lifetime JP3667146B2 (en) 1999-03-30 1999-03-30 Built-in self-test circuit for memory

Country Status (1)

Country Link
JP (1) JP3667146B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100384890B1 (en) * 2000-12-27 2003-05-22 한국전자통신연구원 Apparatus for self test of Embedded Memory in Semiconductor Circuit
JP4737929B2 (en) * 2003-12-12 2011-08-03 株式会社東芝 Semiconductor memory device
JP4601305B2 (en) * 2004-02-27 2010-12-22 富士通セミコンダクター株式会社 Semiconductor device
JP5304030B2 (en) 2008-05-30 2013-10-02 富士通株式会社 Memory test method and memory test apparatus
US8847646B2 (en) 2013-02-27 2014-09-30 Kabushiki Kaisha Toshiba Semiconductor integrated circuit

Also Published As

Publication number Publication date
JP2000285700A (en) 2000-10-13

Similar Documents

Publication Publication Date Title
US5222066A (en) Modular self-test for embedded SRAMS
US6829728B2 (en) Full-speed BIST controller for testing embedded synchronous memories
US7478028B2 (en) Method for automatically searching for functional defects in a description of a circuit
US5583787A (en) Method and data processing system for determining electrical circuit path delays
JP3795822B2 (en) Embedded self-test circuit and design verification method
US7228262B2 (en) Semiconductor integrated circuit verification system
EP1031994B1 (en) Built-in self-test circuit for memory
JP3667146B2 (en) Built-in self-test circuit for memory
CN113609804A (en) Case generation method and device, test method and testability design method
JP2008505310A (en) CIRCUIT DEVICE AND METHOD FOR TESTING APPLICATION CIRCUIT PROVIDED IN THE CIRCUIT DEVICE
US20060143582A1 (en) Generating testcases based on numbers of testcases previously generated
US6694495B1 (en) Method of analyzing static current test vectors for semiconductor integrated circuits
Du et al. A field programmable memory BIST architecture supporting algorithms with multiple nested loops
EP1031995B1 (en) Built-in self-test circuit for memory
JP4622443B2 (en) Semiconductor integrated circuit
Cheng Comprehensive study on designing memory BIST: algorithms, implementations and trade-offs
Huang On speeding up extended finite state machines using catalyst circuitry
KR100683436B1 (en) Generator of memory BIST circuit
JP3628545B2 (en) Built-in self-test circuit for memory devices
JP2004178267A (en) Memory circuit creation method and device, memory circuit, circuit model verification method and device, and circuit model creation method and device
EP1115072A2 (en) Gate addressing system for logic simulation machine
JP5625241B2 (en) Semiconductor device and test method thereof
JP4526985B2 (en) Test system
JP2648528B2 (en) LSI design method
JP2002243801A (en) Semiconductor integrated circuit

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040810

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050207

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: 20050308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050405

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110415

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120415

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120415

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130415

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130415

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term