JP3640350B2 - マイクロコードと有限状態機械セルフテストを組み合わせるプログラマブル・メモリビルトイン・セルフテスト - Google Patents

マイクロコードと有限状態機械セルフテストを組み合わせるプログラマブル・メモリビルトイン・セルフテスト Download PDF

Info

Publication number
JP3640350B2
JP3640350B2 JP2001215624A JP2001215624A JP3640350B2 JP 3640350 B2 JP3640350 B2 JP 3640350B2 JP 2001215624 A JP2001215624 A JP 2001215624A JP 2001215624 A JP2001215624 A JP 2001215624A JP 3640350 B2 JP3640350 B2 JP 3640350B2
Authority
JP
Japan
Prior art keywords
instruction
test
instructions
bist
memory
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 - Fee Related
Application number
JP2001215624A
Other languages
English (en)
Other versions
JP2002140900A (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2002140900A publication Critical patent/JP2002140900A/ja
Application granted granted Critical
Publication of JP3640350B2 publication Critical patent/JP3640350B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/24Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3187Built-in tests
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2886Features relating to contacting the IC under test, e.g. probe heads; chucks
    • G01R31/2891Features relating to contacting the IC under test, e.g. probe heads; chucks related to sensing or controlling of force, position, temperature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines

Description

【0001】
【発明の属する技術分野】
本発明は、一般にメモリ構造のテストに関し、より詳細には、超大規模集積回路(VLSI)に含まれるメモリ構造のテストに関する。
【0002】
【従来の技術】
集積回路の集積密度が増大したことにより、単一の半導体チップに含むことのできる回路の性能および機能性が大幅に高まっている。言うまでもなく、機能性が高まると回路がより複雑になることが避けられず、現行技術では、加算器、プロセッサ、論理配列、バッファ、デコーダ、レベル変換器など、機能的に区別された多くの領域が単一チップ上に含まれることがある。このような機能的に区別された領域は、異なるクロック速度や時には異なる電圧でも動作するように設計されることが多いが、一方で一般には同期化された様式で互いと通信することが必要とされる。
【0003】
記憶装置の設計およびその製造過程は非常に高度なものとなり、その結果製造工程コストが非常に低くなり、メモリ・セル・エリアは非常に小さくなっている。したがって現在では、比較的多数の記憶セルをデジタル信号処理回路とともに単一のチップ上に形成することが実用的であり、さらに、チップ上の機能コンポーネント間の通信にマルチポート・メモリを使用すると極めて高速かつ効率的であることが分かり、比較的広く使用されるようになっている。このようなメモリは、集積回路チップ上に記憶機能以外の機能を有する回路とともに含まれる場合に、一般に組込み型メモリ(embedded memory)と呼ばれる。
【0004】
それでも特にデータを容量的に保管する動的タイプのメモリ・セルは比較的精巧なデバイスであり、使用開始後に劣化の損傷を受けやすい。このようなデバイスが機能的領域またはコンポーネント間の通信やデータ転送に使用されると、記憶の信頼性がチップ全体の適切な動作に対して極めて危機的なものになる。したがって操作容易性を確実にするために、記憶セルを定期的にテストするか、あるいはチップのパワーアップなど特定の作動状態においてテストすることが望ましい。
【0005】
しかし特にチップ・スペースおよび外部接続が限られている場合は、テストのために組込み型メモリにアクセスすることが困難なことが多い。この理由から、チップ自体にセルフテスト回路を形成することが好ましい。こうした構成は多数のタイプが知られており、一般にはビルトイン・セルフテスト(BIST)回路またはエンジンと呼ばれる。選択されたテスト方法論に基づいて、テスト・シーケンスを動的に変更させることができる形態のBIST回路が開発されている。BISTに効率的に割当てられるチップ・スペースの量は非常に限られており、一般にはテストする記憶装置のエリアの約2%である。このエリアには、メモリ構造のセルフテストに必要なすべてのコンポーネントが含まれる。
【0006】
通信および他機能を容易にする組込み型メモリの設計も、いくつかの種類および形態が開発されている。組込み型メモリへのデータ、アドレス、制御信号の入力が別の組込み型メモリからのものである場合、その組込み型メモリは従属性であるということになる。そうでない場合、その組込み型メモリは独立性であるということになる。従属性メモリがある場合、データ、アドレスあるいは制御信号、またはそれらすべてを供給している組込み型メモリはソースと呼ばれ、データ、アドレス、または制御信号を受け取る従属組込み型メモリはシンク(sink)と呼ばれる。
【0007】
また従属メモリのデータ、アドレスまたは制御信号などのメモリ・コンポーネントは、所望のメモリ動作に応じてその機能を任意に選択できる論理を通じて、同一の従属メモリの入力にフィード・バックすることができる。このタイプの独立(self-dependent)のメモリ構造は、複合従属メモリ構造と呼ばれる。上記のフィードバックがない場合、そのメモリは単純従属メモリ構造と呼ばれる。1つのRAMがアドレスまたはデータを別のRAMに供給する2つの例示的単純従属RAM構造と、複合従属メモリ構造をそれぞれ、図1、図2、図3に示す。これらの図は従属メモリ構造の高レベルな説明を例証するものであり、本発明に関して従来技術であるとは認められない。
【0008】
複合従属メモリ構造中のメモリ・コンポーネントのフィードバックにより、特にこのようなメモリを用いなければならない動作の組み合わせが多数ある場合にテストは複雑になり、概してその結果高いテスト論理オーバーヘッドが生じる。例えばマルチポート・メモリをテストする場合、単一ポート・メモリに対する従来のテストに加えて、隣接するポートのビット・ラインとアドレス・デコーダ間のショートといった生じる可能性のある相互作用をテストしなければならない。さらに、高速データ・バスに隣接していることが複合従属メモリ構造の特徴である。こうした高速バスも、それらの間で起こりうるショートについてテストしなければならない。これらのバスへのアクセスは組込み型メモリ構造を通じてのみ可能であり、またバスは複合従属メモリ構造のフィードバック・ループの一部なので、連続的動作のテスト・パターンが必要とされる。
【0009】
BIST構造は特定のアプリケーションおよびメモリ構成に適応させなければならず、またチップ設計に組み込まなければならないので、基本的なBISTユニット・ハードウェアの修正を必要とせずに、異なるテスト・アルゴリズムを提供するためのプログラマブルBISTアーキテクチャが開発されている。プログラマブルBISTモジュールには例えば、プログラマブルBISTコントローラと、テスト・データ、アドレス、制御信号の生成を制御するための他のコンポーネントを含むことができる。例示的なマイクロコード・ベースのプログラマブルBISTアーキテクチャ10を図4に示す(これは高レベルの説明であり、本発明に関して従来技術であるとは認められない)。
【0010】
メモリBISTコントローラ20は、コントローラ20中の命令ストア・モジュール40に保管されたサポートされる命令セットの観点から記述されるメモリ・テスト・アルゴリズムに従って、所望のテスト信号を供給するのに必要なストレージ量を減らすために、マイクロコード・ベースのコントローラと、命令デコード論理を含む。したがって命令ストア・モジュール40のサイズは必要命令の数によって決まり、BISTユニットのエリア・オーバーヘッドに対して最大の割合を占める。
【0011】
プログラマブルBISTコントローラ20およびそのコンポーネント内でのプロセスの流れを図5に示す(これも本発明に関して従来技術であるとは認められない)。30、31に示すように、テスト・アルゴリズムが設計されコンパイルされると、プログラマブルBISTコントローラは、例えば外部のテスタを通じて、選択されたテスト・アルゴリズムを表す命令セットによって初期化される32。34で最後の命令であると判定されテスト・プロセスを終了する場合以外は、最初の命令が命令デコード論理35にディスパッチされる(33)。その命令は1つまたは複数のテスト信号パターンにデコードされて順次メモリに加えられ、同時にその応答が集められおそらくは評価される。次いで次の命令がフェッチまたはディスパッチされ、プロセスは、テスト・パターンを生成するための命令がすべて実行されるまで繰り返される。
【0012】
複合組み込みマルチポート・メモリ構造のテストには特に複雑なテスト・アルゴリズムが必要であるが、このアルゴリズムも、多数の命令と、一般には上記で触れた2%のエリア・オーバーヘッドの制限内では提供することのできない大型のマイクロコード・ベース・コントローラを必要とする。したがってプログラマブルBISTアーキテクチャは、複合マルチポート・メモリ構造に効率的に適用することができない。エリア・オーバーヘッドに対する唯一の代替策はテスト手順の徹底性を低減することであるが、これはメモリ構造の高信頼性を確保しなければならないために実行には適さない。
【0013】
さらに、マルチポート複合メモリ構造のテストが可能なプログラマブルBISTアーキテクチャのために多数の命令セットを開発し、コンパイルするための設計労力およびコストと、その命令セットをチップ上に組み込んだBIST回路の設計により、チップの設計コストが大幅に増すことが認識されよう。BISTコントローラと、テスト中のメモリに加えられる各信号に対する命令デコード論理の個々の部分と見なすことのできる、図4に示すような周辺装置30とを再設計せずに、テストする異なる回路に適応できるようにすることがプログラマブルBIST回路の基本の目標なので、この追加のコストについては特に意識される。言うまでもなく、カスタムハードウェア設計に対する必要性を回避することの利点は、多数の追加命令に適合させるためにそのハードウェア設計を広範囲にわたって修正しなければならない場合には失われてしまう。さらにストレージ・スペースが比較的大きい場合にはこのようなプログラマブルROMのテストも難しいので、プログラマブルROMにおける命令の供給は、それ自体自滅的(self-defeating)な部分がある。
【0014】
【発明が解決しようとする課題】
したがって本発明の目的は、複合マルチポート組込み型メモリ構造をテストするための、エリア上効率的なプログラマブルBIST構成を提供することである。
【0015】
本発明の別の目的は、ハードウェアの修正やマイクロコード・ベースのプログラマブルBIST回路の再設計を必要としない、複合マルチポート・メモリ構造に適した多数のテスト命令を提供することである。
【0016】
本発明の別の目的は、設計コストを最小限に抑えて、複合マルチポート・メモリ構造に適応することのできるBIST回路の汎用設計を提供することである。
【0017】
本発明の別の目的は、セルフテスト手順の所与の複合性に対してチップ・エリアが縮小されたBIST回路を提供することである。
【0018】
【課題を解決するための手段】
本発明の上記の目的および他の目的を達成するために、集積回路用のビルトイン・セルフテスト(BIST)構成と、そのようなBIST構成を含んだ集積回路が提供され、BIST構成には、加えられた命令に応答するテスト信号を生成するための命令デコーダと、命令を命令デコーダに供給するためのマイクロコード命令ストアと、複数の命令を生成して、それを前記マイクロコード命令ストアによる出力であるテスト固有命令に応答する、命令デコーダに供給する有限状態機械とが含まれる。
【0019】
本発明の別の態様によるとメモリをテストする方法が提供され、この方法には、命令を命令ストアからディスパッチするステップと、テスト固有命令が命令ストアからディスパッチされるのに応答して命令生成器を活動化するステップと、複数の命令を生成し、それを命令生成器から命令デコーダに送達するステップと、命令ストアからディスパッチされた他の命令を命令デコーダに送達するステップが含まれる。
【0020】
有限状態機械を使用して、保管された命令を命令ストアから送達するのに並列して命令を生成することにより、BIST構成のためにチップ・スペースをより効率的に利用することができる。さらに有限状態機械が状態から状態へ遷移する際の逐次的性質により、テストの結果にそれ以外の方法ではアクセスできないときに、テスト信号シーケンスのテスト信号間に散在する時間におけるデータ・キャプチャを援助する命令が容易に生成できるようになる。
【0021】
FSMの設計方法論は十分に練られたものであり、チップ・レイアウトは比較的単純な動作の記述で大幅に自動化できるので、有限状態機械を使用すること自体によりチップ設計がある程度節減される。この発明(FSMをモジュラ命令生成器として提供する)の好ましい形態のアーキテクチャにより、BISTアーキテクチャ・モジュールの既存モジュールを再使用し節約的に修正することが可能になり、新チップの設計コストがさらに削減される。
【発明の実施の形態】
【0022】
次に図面、詳細には図6に、この発明による機能強化型のプログラマブル・メモリBISTモジュールを非常に概念化した図を示す。図の命令デコーダ30およびマイクロコード・ストア40などエレメントの一部は、図4に示す上記のプログラマブルBISTアーキテクチャ中に示した対応するエレメントと実質的に類似のものである。ただし下記で図7との関連で説明するように、命令ストア40に保管されたマイクロコードは、図4のアーキテクチャで使用されるものとはやや変えられている。本発明によるBISTコントローラ20’については、図9に関連して下記でより完全に説明する。
【0023】
BISTモジュール100のフィーチャで特に特徴的なのは、有限状態機械(FSM)を備える命令生成モジュール110の使用である。概念的には、有限状態機械は有限数の状態のいずれか1つをとることができる回路を備え、状態間の変化は任意ではあるが指定された条件に応答して実行され、各状態は、総称して動作と呼ぶこともある1つまたは複数のアクションと関連付けることができる。複数の条件または入力の各々に対して許可される状態間の変化は、状態シーケンスを形成するように定義してもよい。状態シーケンスは、呈される条件やテスト手順の過程で得られるテスト結果に応じて可変であってもよい(例えばブランチを提供してもよい)。
【0024】
テストに適した例示的な状態機械が図8に示され、FSMは2つの入力および2つの出力を有する5つの状態を含んでいる。2つの入力信号はFSMを活動化し、状態間の遷移の際にFSMでとられる経路をそれぞれ決定する。2つの出力信号はそれぞれ、データ値Dと、アドレス・カウンタを増分する信号である。データ値(非データ値)D(DB)は、読み出すべき予測の結果の極性かまたはメモリ・セルに書き込むべきデータの極性を判定するのに使用される。状態間の遷移は矢印で表され、遷移が応答する条件/入力および出力値(例えばD,0)は、状態遷移を表す各矢印の横に示される。一般にこのような状態機械は、集積回路として形成される場合、あるいは例えば条件レジスタ中の信号によって制御されるトランスミッション・ゲートといった回路部分として形成される場合に、非常に容易にかつ極めてコンパクトなフットプリントで実現することができる。
【0025】
したがって特にメモリ・テストに関しては、有限状態機械は、任意で長い状態シーケンスを供給するように調整することができ、さらに命令デコーダとの組み合わせにより、各状態は相当の長さのテスト・パターン・シーケンスを生成することができる。さらにプログラマブル・マイクロコード・ベース・コントローラとの組み合わせにより、マイクロコードからもテスト・パターンを生成することができ、下記で詳細に説明するように、本発明によると任意数のFSMをBISTモジュールで使用することもできる。
【0026】
言うまでもなく、FSMの数は実際上はBISTモジュールのチップ・スペースの制約によって制限される。ただし使用される各FSMは、ストレージから供給できるほぼ同数のマイクロコード命令に必要とされるエリアに対して、チップ・エリアを相当量節減する。さらにFSMは、知られている方法論により、所望の動作の比較的単純な記述から容易に設計することができ、またチップ・レイアウトは大幅に自動化することができる。この発明で利用され、本発明によるBISTモジュール中のマイクロコード・ベースのBISTコントローラと組み合わされるFSMは実質的にモジュラであり、図6に示すように所望の設計に事実上「プラグ・イン」することができる。
【0027】
次いで図7に、本発明による例示的マイクロコード・コマンドを示す。従属メモリ構造のテストでは、すべてのメモリ・セルからの読出しおよびすべてのメモリ・セルへの書込みを行う通常の命令と、固有のアドレス位置からの読出しまたはそこへの書込み動作を実行するためのアドレス特定命令を、プログラマブルBISTモジュールがサポートすることが必要である。FSM命令生成モジュールの活動化は、テスト固有命令と呼ばれる特別な命令をマイクロコード・ベースのコントローラで実行することにより行われ、この命令は、8ビットのプレ命令およびテスト・データ・パターン・フィールドを作成するビット・セット(例えば39ビット)を備えることが好ましい。
【0028】
マイクロコード・パターンまたはフォーマットは、当業者には下記の種々のフィールドから明らかになろう多くの形態のいずれをとることができるが、これらのフィールドは好ましいと考えられるものであり、本発明を適切に実行するためにその順序、サイズ、数は重要ではない。例えばプレ命令フィールドの第1ビットは命令が有効であるか否かを示す。第2および第3のビットは、テスト固有命令など命令タイプを指定する。それに続く4つの各ビットは、結果としてFSMベースの命令生成モジュールを活動化するメモリ・テスト・アルゴリズムのタイプを示す。プレ命令フィールドの最後のビットは、従属メモリ構造のどのメモリ・コンポーネントがテストされているのかを示す。
【0029】
同様にテスト・データ・パターン・フィールドでは、最初の2ビットは、テスト中のメモリを初期化するのに使用されるテスト・データ・パターンを示す。次の3ビットのフィールドは、フィールドの残りでそれぞれ指定される4ビットのテスト・データ・パターンの数を示す。これらの4ビット・データ・パターンは、テスト中のメモリに加えられる真および補数(the true and complement)のテスト・データ・パターンを指定する。残りのビットはいずれも単純に使用されない。
【0030】
使用される命令生成モジュール・グループはテスト固有モジュール130と呼ばれ、図9から明らかなように、各命令生成モジュールは基本的にFSMベースのマイクロコントローラ110である。描写が内部では異なった表現になっているが、図6および図9がどちらも、本発明による機能強化型のBISTコントローラの機能部分を高レベルに描写していることを理解されたい。図6はより概念的な図であり、図9はより機能的な図である。
【0031】
詳細には図9のレイアウトは、命令ストア・モジュール40あるいは命令生成モジュールの1つのどちらかが、バス140を通じて命令デコード・モジュール30に信号を供給し、それに対して命令デコード・モジュール30がテスト中のメモリを用いるための信号を供給することを示すものである。制御信号および状況信号が、命令ストア・モジュールと任意のアクティブな命令生成モジュールの双方に供給される一方で、いずれの特定の命令生成モジュール110の活動化は、接続150で示されるように命令ストア・モジュール40から読み出されたマイクロコードによって制御される。すなわち、FSMおよびFSMパラメータに対する活動化/非活動化信号は、マイクロコード・ベースのコントローラから命令生成モジュールに供給され、「最後の命令」、「有効な命令」、「モジュール・アクティブ」、「完了」の信号は、命令生成モジュールからマイクロコード・ベースのコントローラ/命令モジュールに送信される。
【0032】
具体的には、マイクロコード命令を命令ストア・モジュール40からデコード・モジュール30に直接供給すべき場合、その命令は接続160を通じてバス140に直接置かれる。ただし、マイクロコード命令のプレ命令の第2および第3のビットがテスト固有命令を示し、第4から第7のビットが特定のFSMベースのコントローラ/命令生成モジュール110を示す場合、そのFSMベース・コントローラは活動化され、バス・ポートはその出力を受け取って、FSMの各状態シーケンスに対応する信号または信号シーケンスを命令デコード・モジュール30に送達するように制御される。
【0033】
命令デコード・モジュールが、命令ストア・モジュールからのマイクロコード命令か、またはアクティブな命令生成モジュール110からの最後の命令信号に対応するテスト信号の送信を完了すると、別のマイクロコード命令が命令ストア・モジュール40から呼び出され、同一または別の命令生成モジュールを実際に活動化することができる。マイクロコード命令で指定される命令生成モジュールがない場合命令はノー・オペレーション・コマンドとして処理され、いくつかのメモリ構成のために作成されたマイクロコード命令セットを、より単純なメモリ構成で使用するか、または数個のマイクロコード命令だけによって呼び出される1つまたは複数の命令生成モジュールを追加することにより、より複雑なメモリ構成に拡張することができる。
【0034】
次いで図10の流れ図を参照して、本発明の好ましい動作モードを詳細に説明する。図の動作の他のシーケンスが可能であり、これは当業者には下記の好ましい動作モードの説明から明らかになろうことが認識されよう。
【0035】
セルフテストのプロセスは、外部から加えられるテスト・コマンド(例えば外部のテスタから)によって開始されるか、または、関連付けられた外部または内部の読出し専用メモリなどから読み出されたチップのパワーアップ・シーケンス中のコマンドなど、内部で生成されるコマンドによって開始される。そのような信号またはコマンドに応答して、各メモリ・セルの内容を所定の所望のデジタル論理状態にセットすることにより、テストするメモリ構造が200に示すように初期化され、201に示すように最初の命令ビットがアサートされる。初期化が完了すると、205に示すようにマイクロコード命令が命令ストア・モジュール40(図9)からディスパッチされる。上記で触れたように、この命令は図7に示す上記のフォーマットであることが好ましい。命令は210でテストされ、それが有効な命令であるかを判定する。第1の命令ビットがチェックされ、第1の命令ビットがアサートされている場合、プロセスは216で終了する(未完了)。そうでない場合プロセスは215で終了する。
【0036】
命令が有効な命令である場合は、命令ヘッダまたはプレ命令の「命令タイプ」ビットがテストされ、その命令がテスト固有命令であるかを220で判定する。テスト固有命令でない場合、その命令は、225に示すように接続160およびバス140を介して命令デコード・モジュール30に転送され、テスト中のメモリに加えられる信号を命令デコード・モジュールによって生成する。ただし命令がテスト固有命令である場合は、命令生成モジュールが、プレ命令の「事前定義のテスト」ビットに従って活動化される(230)。
【0037】
上記で触れたように、テスト中の特定メモリは、1つだけかあるいは数個の命令生成モジュール110で十分にテストすることができるが、本発明に従ってマイクロコードまたは他のアーキテクチャを提供すると利便または経済的、あるいはその両方である(例えば、さらにメモリ固有のテスト・アルゴリズム設計を行うコストを回避するために他のメモリ用に開発された、コードおよび回路設計を使用する)。それでもメモリをより拡張的に用いると、特にメモリの全機能性に関する有用な情報が引き出されない場合には、テスト手順の時間が不必要に延長される。したがってテスト信号の特定シーケンスを省略できる場合は、特定のFSMベースの命令生成モジュールを単純にBIST構造から省いてもよい。したがって命令生成モジュール110の活動化を確かめるためのテスト235は、指定された命令生成モジュールがある場合には、それが実際に活動化されているかどうかを判定する機能と、あるいは命令生成モジュールがない場合は、205にループする(240)ことにより「ノー・オペレーション」を機能的に実行して、次のマイクロコード命令を獲得する機能という2つの機能を有する。
【0038】
指定の命令生成モジュールが活動化されている場合は、240に示すように、有限状態機械(FSM)の現在の状態に従って、活動化された命令生成モジュールから命令が生成される。1つまたは複数の命令を、FSMのいずれの特定状態から生成することができる。命令生成モジュールのFSMの状態変更は、テスト結果と予測の結果との比較、あるいは命令または命令シーケンスの所与回数の繰り返しを含むいずれの所望の方式で制御することができるがこれらに制限されるものではなく、各命令はテスト中のメモリを用いるための1つまたは複数の信号を供給する。テストの結果にそれ以外の方法では直接アクセスできないときに、メモリ構造中のアクセス可能なポイントでの情報キャプチャを制御する命令を生成することもできる。
【0039】
各命令生成モジュールは、生成すべき命令がそれ以上ないときには、最後の命令信号をアサートする。この信号はテストされ(245)、アサートされていない場合、命令は250に示すようにバス140を介して命令デコード・モジュール30に転送される。その命令が、活動化された命令生成モジュールによって生成すべき最後の命令である場合は、命令を命令デコード・モジュールに転送する前にそのモジュールが非活動化される(255)。生成された各命令を命令デコード・モジュールに加えることは、上記のように、命令ストア・モジュール40から読み出されたマイクロコード命令を命令デコード・モジュール30に加えることと正確に並列して行われる。ただしFSMベースの命令生成モジュールから獲得可能な、可能性として多数の命令が実時間で生成されるのと同時にテストが実行されており、それに対応する多数のマイクロコード命令をストアするために、ストレージ・スペースを割当てる必要がないことは容易に理解できよう。
【0040】
したがって、本発明によるプロセスでは260に示すように、次の3つの方法のいずれかで命令を命令デコード・モジュール30に送達する。ストアされたマイクロコード命令またはアドレス特定命令は、それがテスト固有命令でない場合には直接送達することができる。あるいは、テスト固有命令または通常の命令は、その命令が、活動化された命令生成モジュールによって生成された最後の命令であるか否かに基づいて、活動化されたFSMベースの命令生成モジュールにより、モジュールを非活動化するかまたは非活動化せずに、実時間で生成し送達することができる。命令デコード・モジュール30が、テスト中のメモリに加えられる1つまたは複数の信号の生成を開始することにより命令を実行すると、265に示すように次の命令が呼び出され、命令カウンタを増分し、最初の命令ビットをアサート解除し、少なくとも1つの有効命令の実行がうまく行われたことを示し、235にループし(270)、命令生成モジュールが活動化されているかどうかを再度判定する。
【0041】
命令生成モジュール110が活動化状態のままである場合、命令生成モジュールによって生成された最後の命令に達してモジュールが非活動化されるまで、上記のプロセスが繰り返される。ループ270を実行してモジュールが非活動化される場合、プロセスはループ240により205にループし、そこで別のマイクロコード命令を命令ストア・モジュール40から獲得し、その結果、そのマイクロコード命令がテスト固有命令であるか否かに応じて、別のまたは同一の命令生成モジュール110を活動化するか、または活動化しない。
【0042】
205でフェッチ/ディスパッチされた命令が無効な命令である場合にはテスト・プロセスは完了し(260での先行命令のデコードはまだ完了しておらず、テスト結果の評価は始まっているかあるいは始まっていないか、あるいは進行中なので、少なくともメモリに加えるべき信号を指定する点までは完了している)、メモリ・テストは215を終了する。無効な命令の場合には(210)最初の命令ビットの状況がテストされ、その最初の命令ビットがアサートされている場合、メモリ・テストは未完了であるということになる。ただし最初の命令ビットがアサートされていない場合には、プロセスは完了していると考えられる。このプロセスは上記のいずれの場合に終了する。
【0043】
前述の内容を考慮すると、この発明により、新しいメモリ設計に適したテストを提供するための設計コストを低減または除去する、BIST回路用のモジュラ・アーキテクチャが提供されることが認識されよう。本発明によるBIST構成は、メモリに割当てられるチップ・エリアが非常に制限される複合メモリのテストに適応することができる。本発明による有限状態機械の命令生成器を使用して得られるチップ・エリアの効率性により、テストの所与の複合性のために必要とされるチップ・エリアを大幅に縮小することが可能になる。特に、意図した性能に他の介在(intervene)論理が一致しない、複合メモリまたは他の高速データ・リンクの部分内において、有限状態機械が提供できる信号の逐次的性質は信号キャプチャにも非常に適している。FSMベースの命令生成器のモジュラ・アーキテクチャは、既存のBIST設計の再使用と、より単純化された修正を提供して新しいチップ設計を一層節減する。FSMの設計方法論もよく知られており、チップ・レイアウトはその大部分を自動化することができ、それによりさらに節減を達成できる可能性がある。
【0044】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0045】
(1)加えられた命令に応答してテスト信号を生成する命令デコーダと、
命令を前記命令デコーダに供給するマイクロコード命令ストアと、
複数の命令を生成し、テスト固有命令が前記マイクロコード命令ストアによって出力されるのに応答して、前記複数の命令を前記命令デコーダに供給する有限状態機械とを備えた、集積回路用のビルトイン・セルフテスト(BIST)構成。
(2)前記集積回路が組込み型メモリを含み、前記命令デコーダがテスト信号を前記組込み型メモリに加える上記(1)に記載のBIST構成。
(3)前記組込み型メモリが複合従属メモリ構造である上記(2)に記載のBIST構成。
(4)前記有限状態機械が命令生成モジュールを備える上記(1)に記載のBIST構成。
(5)前記有限状態機械が、複数の命令生成モジュールのうち1つを備える上記(1)に記載のBIST構成。
(6)少なくとも1つの機能セクションと、前記機能セクションをテストするビルトイン・セルフテスト(BIST)構成を有する集積回路であって、前記BIST構成が、
そこに加えられる命令に応答してテスト信号を生成する命令デコーダと、
命令を前記命令デコーダに供給するマイクロコード命令ストアと、
複数の命令を生成し、テスト固有命令が前記マイクロコード命令ストアによって出力されるのに応答して、前記複数の命令を前記命令デコーダに供給する有限状態機械とを含む集積回路。
(7)前記機能セクションが組込み型メモリを含み、前記命令デコーダがテスト信号を前記組込み型メモリに加える上記(6)に記載の集積回路。
(8)前記組込み型メモリが複合従属メモリ構造である上記(7)に記載のBIST構成。
(9)前記有限状態機械が命令生成モジュールを備える上記(6)に記載のBIST構成。
(10)前記有限状態機械が、複数の命令生成モジュールのうち1つを備える上記(6)に記載のBIST構成。
(11)集積回路の部分をテストする方法であって、前記方法が、
命令を命令ストアからディスパッチするステップと、
テスト固有命令が前記命令ストアからディスパッチされるのに応答して命令生成器を活動化するステップと、
複数の命令を生成し、それを前記命令生成器から命令デコーダに送達するステップと、
前記命令ストアからディスパッチされた他の命令を前記命令デコーダに送達するステップを含む方法。
(12)前記複数の命令を生成および送達するステップが、有限状態機械の各状態に従って実行される上記(11)に記載の方法。
(13)前記命令生成器が前記活動化ステップによって活動化されないとき、次の命令をディスパッチするステップをさらに含む上記(12)に記載の方法。
(14)最後の命令が前記命令デコーダから出力されるのに応答して、命令生成器を非活動化するステップをさらに含む上記(11)に記載の方法。
(15)命令の有効性を示す命令ビットをアサートするステップをさらに含む上記(11)に記載の方法。
(16)最後の命令が前記命令生成器から出力されると、前記命令ビットをアサート解除するステップをさらに含む上記(15)に記載の方法。
(17)前記命令ビットが無効な命令とともにアサートされているとき、テストは未完了であると判定するステップをさらに含む上記(16)に記載の方法。
(18)前記集積回路の部分が組込み型メモリである上記(11)に記載の方法。
(19)前記組込み型メモリが複合従属メモリである上記(18)に記載の方法。
(20)前記複数の命令の各々が、前記集積回路の前記部分を用いて、テスト結果のキャプチャを制御する上記(11)に記載の方法。
【図面の簡単な説明】
【図1】例示的な単純マルチポート依存型のメモリ構造をきわめて概略的に示した図である。
【図2】例示的な単純マルチポート依存型のメモリ構造をきわめて概略的に示した図である。
【図3】例示的な複合マルチポート依存型のメモリ構造をきわめて単純化した図である。
【図4】例示的なプログラマブルBISTアーキテクチャを示すブロック図である。
【図5】図4のBISTコントローラ中のアクセスの流れを示す流れ図である。
【図6】本発明によるプログラマブルBISTアーキテクチャをきわめて概念化した図である。
【図7】例示的テスト命令のコードの概略図である。
【図8】本発明の好ましい実施形態で使用することのできる例示的有限状態機械の図である。
【図9】本発明によるBISTコントローラのブロック図である。
【図10】図9のBISTコントローラの動作を表す流れ図である。
【符号の説明】
10 プログラマブルBISTアーキテクチャ
100 BISTモジュール
130 テスト固有モジュール
215 BISTコントローラの動作

Claims (20)

  1. 加えられた命令に応答してテスト信号を生成する命令デコーダと、
    テスト固有命令と該テスト固有命令以外の命令とを含む命令を記憶し、前記テスト固有命令以外の命令を前記命令デコーダに供給するマイクロコード命令ストアと、
    前記テスト固有命令が前記マイクロコード命令ストアによって出力されるのに応答して、複数の命令を生成し、前記テスト固有命令以外の命令と並行して前記複数の命令を前記命令デコーダに供給する有限状態機械とを備えた、集積回路用のビルトイン・セルフテスト(BIST)構成。
  2. 前記集積回路が組込み型メモリを含み、前記命令デコーダがテスト信号を前記組込み型メモリに加える請求項1に記載のBIST構成。
  3. 前記組込み型メモリが複合従属メモリ構造である請求項2に記載のBIST構成。
  4. 前記有限状態機械が命令生成モジュールを備える請求項1に記載のBIST構成。
  5. 前記有限状態機械が、複数の命令生成モジュールのうち1つを備える請求項1に記載のBIST構成。
  6. 少なくとも1つの機能セクションと、前記機能セクションをテストするビルトイン・セルフテスト(BIST)構成を有する集積回路であって、前記BIST構成が、
    そこに加えられる命令に応答してテスト信号を生成する命令デコーダと、
    テスト固有命令と該テスト固有命令以外の命令とを含む命令を記憶し、前記テスト固有命令以外の命令を前記命令デコーダに供給するマイクロコード命令ストアと、
    前記テスト固有命令が前記マイクロコード命令ストアによって出力されるのに応答して、複数の命令を生成し、前記テスト固有命令以外の命令と並行して前記複数の命令を前記命令デコーダに供給する有限状態機械とを含む集積回路。
  7. 前記機能セクションが組込み型メモリを含み、前記命令デコーダがテスト信号を前記組込み型メモリに加える請求項6に記載の集積回路。
  8. 前記組込み型メモリが複合従属メモリ構造である請求項7に記載の集積回路
  9. 前記有限状態機械が命令生成モジュールを備える請求項6に記載の集積回路
  10. 前記有限状態機械が、複数の命令生成モジュールのうち1つを備える請求項6に記載の集積回路
  11. 集積回路の部分をテストする方法であって、前記方法が、
    命令を命令ストアからディスパッチするステップと、
    テスト固有命令が前記命令ストアからディスパッチされるのに応答して命令生成器を活動化するステップと、
    複数の命令を生成し、前記複数の命令を前記命令生成器から命令デコーダに送達するステップと、
    前記命令生成器からの前記複数の命令と並行して、前記命令ストアからディスパッチされた他の命令を前記命令デコーダに送達するステップを含む方法。
  12. 前記複数の命令を生成および送達するステップが、有限状態機械の各状態に従って実行される請求項11に記載の方法。
  13. 前記命令生成器が前記活動化ステップによって活動化されないとき、次の命令をディスパッチするステップをさらに含む請求項12に記載の方法。
  14. 最後の命令が前記命令デコーダから出力されるのに応答して、命令生成器を非活動化するステップをさらに含む請求項11に記載の方法。
  15. 命令の有効性を示す命令ビットをアサートするステップをさらに含む請求項11に記載の方法。
  16. 最後の命令が前記命令生成器から出力されると、前記命令ビットをアサート解除するステップをさらに含む請求項15に記載の方法。
  17. 前記命令ビットが無効な命令とともにアサートされているとき、テストは未完了であると判定するステップをさらに含む請求項16に記載の方法。
  18. 前記集積回路の部分が組込み型メモリである請求項11に記載の方法。
  19. 前記組込み型メモリが複合従属メモリである請求項18に記載の方法。
  20. 前記複数の命令の各々が、前記集積回路の前記部分を用いて、テスト結果のキャプチャを制御する請求項11に記載の方法。
JP2001215624A 2000-07-26 2001-07-16 マイクロコードと有限状態機械セルフテストを組み合わせるプログラマブル・メモリビルトイン・セルフテスト Expired - Fee Related JP3640350B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/626,715 US6651201B1 (en) 2000-07-26 2000-07-26 Programmable memory built-in self-test combining microcode and finite state machine self-test
US09/626715 2000-07-26

Publications (2)

Publication Number Publication Date
JP2002140900A JP2002140900A (ja) 2002-05-17
JP3640350B2 true JP3640350B2 (ja) 2005-04-20

Family

ID=24511522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001215624A Expired - Fee Related JP3640350B2 (ja) 2000-07-26 2001-07-16 マイクロコードと有限状態機械セルフテストを組み合わせるプログラマブル・メモリビルトイン・セルフテスト

Country Status (4)

Country Link
US (1) US6651201B1 (ja)
JP (1) JP3640350B2 (ja)
KR (1) KR100436805B1 (ja)
TW (1) TW588370B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941495B2 (en) * 2002-02-15 2005-09-06 Intel Corporation Low cost built-in self test state machine for general purpose RAM testing
US7533309B2 (en) * 2004-02-26 2009-05-12 Nilanjan Mukherjee Testing memories using algorithm selection
US7178076B1 (en) * 2004-06-16 2007-02-13 Sun Microsystems, Inc. Architecture of an efficient at-speed programmable memory built-in self test
US7260759B1 (en) 2004-06-16 2007-08-21 Sun Microsystems, Inc. Method and apparatus for an efficient memory built-in self test architecture for high performance microprocessors
US7293199B1 (en) 2004-06-22 2007-11-06 Sun Microsystems, Inc. Method and apparatus for testing memories with different read/write protocols using the same programmable memory bist controller
US7206979B1 (en) 2004-06-28 2007-04-17 Sun Microsystems, Inc. Method and apparatus for at-speed diagnostics of embedded memories
JP4494474B2 (ja) * 2004-11-18 2010-06-30 メンター・グラフィクス・コーポレーション プログラマブル・メモリ・ビルト・イン・セルフ・テスト(mbist)の方法及び装置
EP1708080A1 (en) * 2005-03-31 2006-10-04 STMicroelectronics Pvt. Ltd Configurable length first-in first-out memory
KR100680473B1 (ko) 2005-04-11 2007-02-08 주식회사 하이닉스반도체 액세스 시간이 감소된 플래시 메모리 장치
US20080195901A1 (en) * 2007-02-12 2008-08-14 Marvell Semiconductor Israel Ltd. Op-code based built-in-self-test
US8027592B2 (en) * 2007-07-20 2011-09-27 Telefonaktiebolaget L M Ericsson (Publ) Infrared remote control signaling generator
US7941713B2 (en) * 2008-08-27 2011-05-10 Taiwan Semiconductor Manufacturing Company, Ltd. Programmable self-test for random access memories
US8908394B2 (en) * 2011-04-18 2014-12-09 Hewlett-Packard Development Company, L.P. Power supply with digital feedback signaling
US8677196B1 (en) 2011-06-20 2014-03-18 Cadence Design Systems, Inc. Low cost production testing for memory
US9514842B2 (en) * 2014-09-24 2016-12-06 Apple Inc. Memory testing system
US10541043B1 (en) * 2017-01-31 2020-01-21 Cadence Design Systems, Inc. On demand data stream controller for programming and executing operations in an integrated circuit
WO2020077107A1 (en) * 2018-10-10 2020-04-16 Nvidia Corporation Test systems for executing self-testing in deployed automotive platforms
KR20210101799A (ko) 2020-02-11 2021-08-19 삼성전자주식회사 메모리 테스트 장치 및 테스트 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4744049A (en) 1984-10-15 1988-05-10 Motorola, Inc. Microcode testing of a cache in a data processor
US4745574A (en) 1984-10-15 1988-05-17 Motorola, Inc. Microcode testing of PLA's in a data processor
FR2670299B1 (fr) * 1990-12-07 1993-01-22 Thomson Composants Militaires Circuit integre avec controleur de test peripherique.
US5331643A (en) 1991-09-04 1994-07-19 International Business Machines Corporation Self-testing logic with embedded arrays
US5535164A (en) 1995-03-03 1996-07-09 International Business Machines Corporation BIST tester for multiple memories
US5553082A (en) 1995-05-01 1996-09-03 International Business Machines Corporation Built-in self-test for logic circuitry at memory array output
US5790564A (en) 1995-06-07 1998-08-04 International Business Machines Corporation Memory array built-in self-test circuit having a programmable pattern generator for allowing unique read/write operations to adjacent memory cells, and method therefor
US5640509A (en) 1995-10-03 1997-06-17 Intel Corporation Programmable built-in self-test function for an integrated circuit
US5677913A (en) 1996-07-01 1997-10-14 Sun Microsystems, Inc. Method and apparatus for efficient self testing of on-chip memory
US5796745A (en) 1996-07-19 1998-08-18 International Business Machines Corporation Memory array built-in self test circuit for testing multi-port memory arrays
JPH1083698A (ja) 1996-09-05 1998-03-31 Mitsubishi Electric Corp 半導体集積回路装置
US5862151A (en) * 1997-01-23 1999-01-19 Unisys Corporation Array self-test fault tolerant programmable threshold algorithm
US5961653A (en) * 1997-02-19 1999-10-05 International Business Machines Corporation Processor based BIST for an embedded memory
US5764655A (en) * 1997-07-02 1998-06-09 International Business Machines Corporation Built in self test with memory
US6032279A (en) * 1997-11-07 2000-02-29 Atmel Corporation Boundary scan system with address dependent instructions

Also Published As

Publication number Publication date
TW588370B (en) 2004-05-21
KR20020009413A (ko) 2002-02-01
KR100436805B1 (ko) 2004-06-23
JP2002140900A (ja) 2002-05-17
US6651201B1 (en) 2003-11-18

Similar Documents

Publication Publication Date Title
JP3640350B2 (ja) マイクロコードと有限状態機械セルフテストを組み合わせるプログラマブル・メモリビルトイン・セルフテスト
US7631236B2 (en) Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method
JP3823087B2 (ja) 組み込み型メモリを含むシステム及びビルトイン・セルフテスト機構を備える集積回路及びこれのテスト方法。
US6829728B2 (en) Full-speed BIST controller for testing embedded synchronous memories
US6105105A (en) Data processing system using configuration select logic, an instruction store, and sequencing logic during instruction execution
US7168005B2 (en) Programable multi-port memory BIST with compact microcode
JP2007522593A (ja) 高速試験および冗長計算のためのリモートbist
US5574692A (en) Memory testing apparatus for microelectronic integrated circuit
US20030167431A1 (en) Programmable test for memories
US20040151017A1 (en) Test circuit for memory
JP5274069B2 (ja) 低電力モードにおける漏洩電力削減
US7149944B2 (en) Semiconductor integrated circuit device equipped with read sequencer and write sequencer
KR20020033560A (ko) 불량열 프로그램 소모 시간 회피 방법
US6567942B1 (en) Method and apparatus to reduce the size of programmable array built-in self-test engines
US7472224B1 (en) Reconfigurable processing node including first and second processor cores
US8046643B2 (en) Transport subsystem for an MBIST chain architecture
JP2005527037A (ja) 構成可能なプロセッサ
US6611929B1 (en) Test circuit for memory
US7194670B2 (en) Command multiplier for built-in-self-test
US6900661B2 (en) Repairable finite state machines
JP2002197900A (ja) 半導体集積回路および半導体集積回路のメモリテスト方法
JP2004022014A (ja) 半導体装置およびそのテスト方法
JP2004030783A (ja) パターン発生回路及び半導体装置並びに半導体装置の試験方法
JP2877505B2 (ja) Lsi実装ボード及びデータ処理装置
JP2984628B2 (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040603

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20040701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040902

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20041228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050114

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120128

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees