(57)【要約】【課題】組み込み自己試験（ＢＩＳＴ）機能をリモート低速実行可能命令およびローカル高速実行可能命令にセグメント化する埋め込みメモリ・アレイのためのハイブリッドＢＩＳＴアーキテクチャを提供する。【解決手段】独立型ＢＩＳＴロジック・コントローラ（１１０）は、より低い周波数で動作し、ＢＩＳＴ命令セットを用いて複数の埋め込みメモリ・アレイ（１１１−１１３）と通信する。高速試験ロジックのブロック（１１６）は、試験中の各埋め込みメモリ・アレイに組み込まれ、独立型ＢＩＳＴロジック・コントローラ（１１０）から受信されたＢＩＳＴ命令をより高い周波数で局所的に処理する。高速試験ロジックは、ＢＩＳＴ命令の周波数を、より低い周波数からより高い周波数に増大させるためのマルチプライヤ（１１８）を含む。独立型ＢＩＳＴロジック・コントローラは、複数の埋め込みメモリ・アレイにおける複数の高速試験ロジック構造を可能にする。【選択図】図１
2007522593.tif 000002
【特許請求の範囲】
【請求項１】
組み込み自己試験（ＢＩＳＴ）機能をリモート低速実行可能命令およびローカル高速実行可能命令にセグメント化する埋め込みメモリ・アレイのためのハイブリッドＢＩＳＴアーキテクチャであって、
より低い周波数で動作し、ＢＩＳＴ命令セットを用いて複数の埋め込みメモリ・アレイと通信するように適合された独立型ＢＩＳＴロジック・コントローラと、
試験中の各埋め込みメモリ・アレイに組み込まれ、前記独立型ＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令を、前記より低い周波数よりも高い周波数で局所的に処理するように適合された高速試験ロジックのブロックと、
を含むハイブリッドＢＩＳＴアーキテクチャ。
【請求項２】
前記高速試験ロジックは、前記ＢＩＳＴ命令の前記周波数を、前記より低い周波数から前記より高い周波数まで増大させるためのマルチプライヤを含む、請求項１に記載のハイブリッドＢＩＳＴアーキテクチャ。
【請求項３】
前記独立型ＢＩＳＴロジック・コントローラは、複数の埋め込みメモリ・アレイにおける複数の高速試験ロジック構造を可能にする、請求項１に記載のハイブリッドＢＩＳＴアーキテクチャ。
【請求項４】
前記独立型ロジック・コントローラは、異なるタイプの埋め込みメモリの試験を可能にする、請求項１に記載のハイブリッドＢＩＳＴアーキテクチャ。
【請求項５】
前記より低い速度で動作し、前記独立型ＢＩＳＴロジック・コントローラを前記高速試験ロジックに接続する低速制御バスをさらに含む、請求項１に記載のハイブリッドＢＩＳＴアーキテクチャ。
【請求項６】
前記独立型ＢＩＳＴロジック・コントローラは、読み出し専用メモリ（ＲＯＭ）、走査可能読み出し専用メモリ（ＳＲＯＭ）、およびマクロ命令セットを格納するように適合されたその他のタイプのメモリのうちの少なくとも１つを含む、請求項１に記載のハイブリッドＢＩＳＴアーキテクチャ。
【請求項７】
前記独立型ＢＩＳＴロジック・コントローラは、分岐予測、プログラム・カウンタ管理、ユーティリティ・カウント、ならびに一般ＢＩＳＴ操作制御および診断出力を提供するように適合されたロジックを含む、請求項１に記載のハイブリッドＢＩＳＴアーキテクチャ。
【請求項８】
集積回路内の機能回路に埋め込まれたメモリ・アレイと共に使用するための組み込み自己試験（ＢＩＳＴ）アーキテクチャであって、
埋め込みメモリ・アレイに組み入れられた複数の試験ロジックの埋め込みブロックと、
前記試験ロジックの埋め込みブロックから分離した、リモートＢＩＳＴロジック・コントローラと、
前記リモートＢＩＳＴロジック・コントローラを、前記試験ロジックの埋め込みブロックに接続するバスとを含み、
前記リモートＢＩＳＴロジック・コントローラは、前記試験ロジックの埋め込みブロックのすべてに共通する機能を実行し、
前記リモートＢＩＳＴロジック・コントローラおよび前記バスは、前記試験ロジックの埋め込みブロックよりも低い周波数で動作する、
ＢＩＳＴアーキテクチャ。
【請求項９】
前記試験ロジックの埋め込みブロックは各々、前記ＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令の前記周波数を、対応する埋め込みメモリ・アレイのより高い周波数に増大させるためのマルチプライヤを含む、請求項８に記載のＢＩＳＴアーキテクチャ。
【請求項１０】
前記試験ロジックの埋め込みブロックの各々は、対応する埋め込みメモリ・アレイに特有な独自のロジック・ブロックを含む、請求項８に記載のＢＩＳＴアーキテクチャ。
【請求項１１】
前記試験ロジックの埋め込みブロックの各々は、
クロック・マルチプライヤと、
冗長割付けロジックと、
データ・アドレス制御生成ロジックと、
前記リモートＢＩＳＴロジック・コントローラから受信されたマクロ命令セットを、多数の個々のミクロ命令に復号化するように適合された復号ロジックとを含む、
請求項８に記載のＢＩＳＴアーキテクチャ。
【請求項１２】
前記リモートＢＩＳＴロジック・コントローラは、異なるタイプの埋め込みメモリの試験を可能にする、請求項８に記載のＢＩＳＴアーキテクチャ。
【請求項１３】
前記独立型ＢＩＳＴロジック・コントローラは、読み出し専用メモリ（ＲＯＭ）、走査可能読み出し専用メモリ（ＳＲＯＭ）、およびマクロ命令セットを格納するように適合されたその他のタイプのメモリのうちの少なくとも１つを含む、請求項８に記載のＢＩＳＴアーキテクチャ。
【請求項１４】
前記リモートＢＩＳＴロジック・コントローラは、分岐予測、プログラム・カウンタ管理、ユーティリティ・カウント、ならびに一般ＢＩＳＴ操作制御および診断出力を提供するように適合されたロジックを含む、請求項８に記載のＢＩＳＴアーキテクチャ。
【請求項１５】
集積回路内の機能回路に埋め込まれたメモリ・アレイと共に使用するための組み込み自己試験（ＢＩＳＴ）アーキテクチャであって、
埋め込みメモリ・アレイに組み入れられた複数の試験ロジックの埋め込みブロックと、
前記試験ロジックの埋め込みブロックから分離した、リモートＢＩＳＴロジック・コントローラと、
前記リモートＢＩＳＴロジック・コントローラを、前記試験ロジックの埋め込みブロックに接続するバスとを含み、
前記リモートＢＩＳＴロジック・コントローラおよび前記バスは、前記試験ロジックの埋め込みブロックよりも低い周波数で動作し、
前記リモートＢＩＳＴロジック・コントローラは、分岐予測、プログラム・カウンタ管理、ユーティリティ・カウント、ならびに一般ＢＩＳＴ操作制御および診断出力の提供を含む、前記試験ロジックの埋め込みブロックのすべてに共通する機能を実行する、
ＢＩＳＴアーキテクチャ。
【請求項１６】
前記試験ロジックの埋め込みブロックは各々、前記ＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令の前記周波数を、対応する埋め込みメモリ・アレイのより高い周波数に増大させるためのマルチプライヤを含む、請求項１５に記載のＢＩＳＴアーキテクチャ。
【請求項１７】
前記試験ロジックの埋め込みブロックの各々は、対応する埋め込みメモリ・アレイに特有な独自のロジック・ブロックを含む、請求項１５に記載のＢＩＳＴアーキテクチャ。
【請求項１８】
前記試験ロジックの埋め込みブロックの各々は、
クロック・マルチプライヤと、
冗長割付けロジックと、
データ・アドレス制御生成ロジックと、
前記リモートＢＩＳＴロジック・コントローラから受信されたマクロ命令セットを、多数の個々のミクロ命令に復号化するように適合された復号ロジックとを含む、
請求項１５に記載のＢＩＳＴアーキテクチャ。
【請求項１９】
前記リモートＢＩＳＴロジック・コントローラは、異なるタイプの埋め込みメモリの試験を可能にする、請求項１５に記載のＢＩＳＴアーキテクチャ。
【請求項２０】
前記独立型ＢＩＳＴロジック・コントローラは、読み出し専用メモリ（ＲＯＭ）、走査可能読み出し専用メモリ（ＳＲＯＭ）、およびマクロ命令セットを格納するように適合されたその他のタイプのメモリのうちの少なくとも１つを含む、請求項１５に記載のＢＩＳＴアーキテクチャ。
【請求項２１】
前記リモートＢＩＳＴロジック・コントローラは、分岐予測、プログラム・カウンタ管理、ユーティリティ・カウント、ならびに一般ＢＩＳＴ操作制御および診断出力を提供するように適合されたロジックを含む、請求項１５に記載のＢＩＳＴアーキテクチャ。
【請求項２２】
集積回路内の機能回路に埋め込まれたメモリ・アレイを、組み込み自己試験（ＢＩＳＴ）アーキテクチャを用いて試験する方法であって、
各埋め込みメモリ・アレイに組み入れられた試験ロジックの埋め込みブロックに共通なＢＩＳＴ試験機能を、前記試験ロジックの各埋め込みブロックから分離した、リモートＢＩＳＴロジック・コントローラを用いて実行するステップと、
ＢＩＳＴ命令を、前記リモートＢＩＳＴロジック・コントローラから前記試験ロジックの埋め込みブロックに送信するステップと、
前記ＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令の前記周波数を、前記試験ロジックの埋め込みブロックを用いて、対応する埋め込みメモリ・アレイのより高い周波数に増大させるステップとを含む、
方法。
【請求項２３】
ＢＩＳＴ命令を前記リモートＢＩＳＴロジック・コントローラから前記試験ロジックの埋め込みブロックに送信する前記ステップは、前記リモートＢＩＳＴロジック・コントローラを前記試験ロジックの埋め込みブロックに接続するバスを用い、前記バスは、前記リモートＢＩＳＴロジック・コントローラと同じ周波数で動作する、請求項２２に記載の方法。
【請求項２４】
前記試験ブロックの埋め込みの各々において対応する埋め込みメモリ・アレイに特有なロジック・ブロックを介して独自の試験を実行するステップをさらに含む、請求項２２に記載の方法。
【請求項２５】
前記試験ロジックの埋め込みブロックの各々は、
前記リモートＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令を増倍するステップと、
冗長割付けを実行するステップと、
データアドレス制御および生成を実行するステップと、
前記リモートＢＩＳＴロジック・コントローラから受信されたマクロ命令セットを、個々の命令に復号化するステップとを含む、
請求項２２に記載の方法。
【請求項２６】
前記リモートＢＩＳＴロジック・コントローラにより実行される前記送信ステップは、異なるタイプの埋め込みメモリの試験を可能にする、請求項２２に記載の方法。
【請求項２７】
マクロ命令セットを、読み出し専用メモリ（ＲＯＭ）、走査可能読み出し専用メモリ（ＳＲＯＭ）、および前記リモートＢＩＳＴロジック・コントローラ中のその他のタイプのメモリに格納するステップをさらに含む、請求項２２に記載の方法。
【請求項２８】
前記リモートＢＩＳＴロジック・コントローラにより、
分岐予測と、
プログラム・カウンタ管理と、
ユーティリティ・カウントと、
一般ＢＩＳＴ操作制御および診断出力とを、
提供するステップをさらに含む、請求項２２に記載の方法。
【請求項２９】
集積回路内の機能回路に埋め込まれたメモリ・アレイを、組み込み自己試験（ＢＩＳＴ）アーキテクチャを用いて試験する方法であって、
各埋め込みメモリ・アレイに組み入れられた試験ロジックの埋め込みブロックに共通なＢＩＳＴ試験機能を、第１の周波数で動作するリモートＢＩＳＴロジック・コントローラを用いて実行するステップであって、前記リモートＢＩＳＴロジック・コントローラは、前記試験ロジックの埋め込みブロックから分離されているステップと、
ＢＩＳＴ命令を、前記リモートＢＩＳＴロジック・コントローラから前記試験ロジックの埋め込みブロックに前記第１の周波数で送信するステップと、
前記ＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令の前記周波数を、前記試験ロジックの埋め込みブロックを用いて、前記第１の周波数よりも高い第２の周波数に増大させるステップとを含む、
方法。
【請求項３０】
ＢＩＳＴ命令を前記リモートＢＩＳＴロジック・コントローラから前記試験ロジックの埋め込みブロックに送信する前記ステップは、前記リモートＢＩＳＴロジック・コントローラを前記試験ロジックの埋め込みブロックに接続するバスを用いる、請求項２９に記載の方法。
【請求項３１】
前記試験ロジック埋め込みブロックの各々において対応する埋め込みメモリ・アレイに特有なロジック・ブロックを介して独自の試験を実行するステップをさらに含む、請求項２９に記載の方法。
【請求項３２】
前記試験ロジックの前記埋め込みブロックの各々は、
前記リモートＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令を増倍するステップと、
冗長割付けを実行するステップと、
データ・アドレス制御および生成を実行するステップと、
前記リモートＢＩＳＴロジック・コントローラから受信されたマクロ命令セットを、個々の命令に復号化するステップとを含む、
請求項２９に記載の方法。
【請求項３３】
前記リモートＢＩＳＴロジック・コントローラにより実行される前記送信ステップは、異なるタイプの埋め込みメモリの試験を可能にする、請求項２９に記載の方法。
【請求項３４】
マクロ命令セットを、読み出し専用メモリ（ＲＯＭ）、走査可能読み出し専用メモリ（ＳＲＯＭ）、および前記リモートＢＩＳＴロジック・コントローラ中のその他のタイプのメモリに格納するステップをさらに含む、請求項２９に記載の方法。
【請求項３５】
前記リモートＢＩＳＴロジック・コントローラにより、
分岐予測と、
プログラム・カウンタ管理と、
ユーティリティ・カウントと、
一般ＢＩＳＴ操作制御および診断出力とを提供するステップをさらに含む、
請求項２９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＢＩＳＴアーキテクチャに関し、より具体的には、ＢＩＳＴ機能をリモート低速実行可能命令およびローカル高速実行可能命令にセグメント化する埋め込みメモリ・アレイのためのアーキテクチャに関する。
【背景技術】
【０００２】
埋め込みメモリのサイズの増大に伴い、総ＢＩＳＴ試験時間も増大し、それゆえ、試験の保全性（ｉｎｔｅｇｒｉｔｙ）および診断分解能を維持しつつ試験時間を低減する新規な方式が重要である。
【０００３】
現在および将来のデザインにおいて、メモリ・アレイを分離しダイ（ｄｉｅ）全体にわたって分布させ、メモリ・アレイを、それらが関連付けられた機能ユニットの近くに配置する必要がある。ＢＩＳＴを各メモリ・アレイと関連付けることは、チップ上の面積をかなりの量消費することになるであろう。上述の傾向からして、試験のための著しい追加時間なしですべてのメモリを試験できる単一ＢＩＳＴに備えるアーキテクチャが有利であろう。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
埋め込みメモリの性能および複雑さが増大し続けるにつれ、アプリケーション速度でのＢＩＳＴ試験もより重要になり、それゆえ、依然としてＢＩＳＴの柔軟性を維持しかつデザイン・スケジュールおよびチップ上の面積の影響を最小にしつつ、向上されたＢＩＳＴ性能をサポートする新規な方式が重要である。広範なメモリのタイプおよびサイズを、多くの異なる性能ポイントで試験できる単一ＢＩＳＴを可能にするアーキテクチャが有利であろう。
【課題を解決するための手段】
【０００５】
組み込み自己試験（ＢＩＳＴ：ｂｕｉｌｔ−ｉｎ  ｓｅｌｆ  ｔｅｓｔ）機能をリモート低速実行可能命令およびローカル高速実行可能命令にセグメント化する埋め込みメモリ・アレイのためのハイブリッドＢＩＳＴアーキテクチャが開示される。独立型ＢＩＳＴロジック・コントローラは、より低い周波数で動作し、ＢＩＳＴ命令セットを用いて複数の埋め込みメモリ・アレイと通信する。高速試験ロジックのブロックは、試験中の各埋め込みメモリ・アレイに組み込まれ、この高速試験ロジックは、独立型ＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令をより高い周波数で局所的に処理する。高速試験ロジックは、ＢＩＳＴ命令の処理周波数を増大させるためのクロック・マルチプライヤ（ｍｕｌｔｉｐｌｉｅｒ）およびＢＩＳＴ命令をより低い周波数からより高い周波数に変換するための命令マルチプライヤとして働くロジックを含み得る。独立型ＢＩＳＴロジック・コントローラは、複数の埋め込みメモリ・アレイにおける複数の高速試験ロジック構造を可能にする。
【０００６】
従って、本発明は、より低い周波数で動作するリモートＢＩＳＴロジック・コントローラを用いて各埋め込みメモリ・アレイに組み込まれた試験ロジックの埋め込みブロックに共通なＢＩＳＴ試験機能を実行する。本発明は、ＢＩＳＴ命令を、リモートＢＩＳＴロジック・コントローラから、試験ロジックの埋め込みブロックに第１の周波数で送信し、試験ロジックの埋め込みブロックを用いて、ＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令の周波数を増大させる。本発明は、（対応する埋め込みメモリ・アレイに特有な）試験ロジックの埋め込みブロックを介して独自の試験を実行する。より具体的には、試験ロジックの埋め込みブロックの各々は、マクロ命令セットを多数の個々のミクロ命令に復号化することによりリモートＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令の増倍（乗算）を実行し、冗長割付けを実行し、復号化された多数の個々のミクロ命令に基づいてデータ／アドレス／制御生成を実行するための特別なロジックを含む。
【０００７】
リモートＢＩＳＴロジック・コントローラは、種々のタイプの埋め込みメモリの試験を可能にする。マクロ命令セットは、リモートＢＩＳＴロジック・コントローラ中の読み出し専用メモリ（ＲＯＭ）に格納される。リモートＢＩＳＴロジック・コントローラは、分岐予測、プログラム・カウンタ管理、ユーティリティ・カウント（計数）、ならびに一般ＢＩＳＴ操作制御および診断出力を提供する。
【０００８】
言い換えれば、本発明は、集積回路内の機能回路に埋め込まれたメモリ・アレイと共に使用するための組み込み自己試験（ＢＩＳＴ）アーキテクチャを含む。試験ロジックの複数の埋め込みブロックは、埋め込みメモリ・アレイに組み入れられ、リモートＢＩＳＴロジック・コントローラが、試験ロジックの埋め込みブロックから分離して設けられる。バスが、リモートＢＩＳＴロジック・コントローラを、試験ロジックの埋め込みブロックに接続する。リモートＢＩＳＴロジック・コントローラおよびバスは、試験ロジックの埋め込みブロックよりも低い周波数で動作する。
【０００９】
リモートＢＩＳＴロジック・コントローラは、分岐予測、プログラム・カウンタ管理、ユーティリティ・カウント、ならびに一般ＢＩＳＴ操作制御および診断出力を含む、試験ロジックの埋め込みブロックのすべてに共通な機能を実行する。従って、リモートＢＩＳＴロジック・コントローラは、分岐予測、プログラム・カウンタ管理、ユーティリティ・カウント、一般ＢＩＳＴ操作管理、および診断出力を提供するように適合されたロジックを含む。これに対して、試験ロジックの埋め込みブロックは各々、ＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令の周波数を、埋め込みメモリ・アレイが動作する速度に対応するより高い周波数に増倍させるためのロジックを含む。また、試験ロジックの埋め込みブロックの各々は、対応する埋め込みメモリ・アレイに対し特有な独自の試験ロジック・ブロックを含む。より具体的には、試験ロジックの埋め込みブロックの各々は、クロック・マルチプライヤ、冗長割付けロジック、データ／アドレス／制御生成ロジック、およびリモートＢＩＳＴロジック・コントローラから受信されたマクロ命令セットを多数の個々のミクロ命令に復号化するように適合された復号化ロジックを含む。
【００１０】
リモートＢＩＳＴアーキテクチャは、１つのＢＩＳＴが、低周波数で実行される複合マクロ命令のセットを介して一連の埋め込みメモリと相互作用することを可能にする。各埋め込みメモリ・マクロは、埋め込みメモリ・アレイを高速で正しく刺激（ｓｔｉｍｕｌａｔｅ）するための高速ミクロ命令を生成する高速試験ロジックのローカル・ブロックを有する。このアーキテクチャは、最小幅の単純な低速バスが、リモートＢＩＳＴと埋め込みメモリ・マクロとの間の通信を可能にできるようにする。また、このアーキテクチャは、多数の埋め込みメモリ・マクロの柔軟で高速な試験に同時に備える。
【００１１】
本発明のこれらの側面および目的、ならびにその他の側面および目的は、以下の説明および添付図面と共に検討された場合に、いっそうよく認識および理解される。しかしながら、以下の説明は、本発明の好ましい実施形態および本発明の多くの具体的な詳細を示すと同時に、限定の目的ではなく例示の目的で与えられたものであることが理解されるべきである。多くの変更および修正が、本発明の精神を逸脱することなく本発明の範囲内で行うことができ、本発明はすべてのそのような修正を含む。
【発明を実施するための最良の形態】
【００１２】
本発明は、図面に関連した以下の詳細な説明からよりいっそう理解される。
【００１３】
本発明ならびに本発明の様々な特徴および有利な詳細は、添付図面において例示され、以下の説明において詳述される非限定的な実施形態に関連してより完全に説明される。図面中に例示される特徴が必ずしも縮尺通りに描かれているわけではないことに留意されたい。本発明を不必要に曖昧にしないように、周知の構成要素および処理手法の説明は省略される。本明細書中で用いられる例は、本発明の実施のされ方の理解を容易にすること、さらに当業者が本発明を実施できるようにすることをもっぱら意図している。従って、それらの例は、本発明の範囲を限定するものとして解釈されるべきではない。
【００１４】
以下でより詳細に示されるように、本発明は、複数の埋め込みメモリを試験するためのリモート組み込み自己試験デバイスを提供し、それによってＢＩＳＴは、低周波数で動作し、マクロ命令セットを介して多数のＤＲＡＭと通信し、マクロ命令セットは次にローカル高速ミクロ命令に変換される。各ＤＲＡＭに埋め込まれたローカル・ブロックは、クロック・マルチプライヤ、データ／アドレス／制御生成回路、およびネイティブ（高速）ＤＲＡＭ周波数で動作する冗長割付け回路を含み、それによって、低周波数マクロ命令が、さらに復号化され、増倍され、ＤＲＡＭマクロを直接刺激するために使用される。
【００１５】
従って、本発明は、１つのアーキテクチャを提供し、それによって、リモートＢＩＳＴエンジンが、低速制御バスを介した多数の、ことによると異なるタイプの埋め込みメモリ（ＤＲＡＭ”、ＳＲＡＭ”、ＣＡＭ”等）の高速試験を可能にする。例えば、図１は、リモートＢＩＳＴアーキテクチャの１つの非限定的な特定の実施例を示す。当業者は、図１が単に本発明を例示している例にすぎないこと、および本発明がどのような数の各種の同様な実施形態においても実施できるであろうことを理解するであろう。従って、本発明は、図１に例示される例に限定されない。
【００１６】
図１において、単一リモートＢＩＳＴマスタ・エンジン１１０が、バス１２０を介して試験ロジック１１６の多くの埋め込みブロックと通信している。ＤＲＡＭ０−ＤＲＡＭｎ（１１１−１１３）のような埋め込みメモリ・マクロの各々は、試験ロジック１１６の埋め込みブロックおよびクロック・マルチプライヤ１１８（これは、図１に示されるように試験ロジックのブロック１１６から分離したり、試験ロジックのブロック１１６と統合させたり、またはＤＲＡＭマクロ１１１−１１３から物理的に隔てかつそれらのＤＲＡＭマクロ間で共有させることができる）を有している。アイテム１２２は、ＢＩＳＴロジック・コントローラ１１０および試験ロジック１１６の埋め込みブロック（および／または、マルチプライヤ１１８）に供給されるシステム・クロックを表す。
【００１７】
リモートＢＩＳＴエンジン１１０は、（各ＤＲＡＭマクロ１１１−１１３に含まれるローカル命令復号ロジック／ＲＡＬロジック１１６よりＮ倍遅い）低周波数で動作する。図１に示される例では、Ｎは４である。ＢＩＳＴロジック・コントローラ１１０は、ＢＩＳＴ試験パターン・ストレージ用のＲＯＭ／ＳＲＯＭ１２４を含んでいる（ＳＲＯＭは、オフチップ試験装置および／またはテスタからの新しい試験パターンを再ロード可能である）。他のメモリ・タイプをパターン・ストレージに用い得る。ＢＩＳＴロジック・コントローラ１１０は、分岐予測／プログラム・カウンタ管理、ユーティリティ・カウントに必要なロジック、ならびに一般ＢＩＳＴ操作制御および診断出力を扱うロジックも含む。分岐予測／プログラム・カウンタ管理に必要なロジックは、ＢＩＳＴ試験パターンがどのように実行されるかを制御する。このロジックは実際には、ＢＩＳＴ試験パターン命令の一部分の復号（デコード）およびすべての関連した分岐条件（典型的には、ユーティリティ・カウンタ状態ならびに他の試験ロジックおよび／またはテスタからの入力に関する）の検査に基づいてＲＯＭ／ＳＲＯＭ１２４のアドレス・ポインタを調整する。ユーティリティ・カウントに用いられるロジックは、プログラムされたカウントが得られるまでＢＩＳＴロジック・コントローラ１１０が命令を何回か実行できるようにするいくつかのプログラマブル・カウンタから成る。一般ＢＩＳＴロジック・コントローラ１１０操作制御および診断出力のために用いられるロジックは、ＢＩＳＴ１１０がテスタおよび他のオンチップ試験マクロと相互作用できるようにする。このロジックは、ＢＩＳＴロジック・コントローラ１１０を実行中にイネーブル／ディスエーブルさもなければ休止し、ビット・フェイル・マッピングを制御し、現在のＢＩＳＴ状態の観測を可能にし、ＳＲＯＭ１２４ＢＩＳＴパターン命令を再プログラムし、試験ロジック１１６の埋め込みブロックにおける試験モード（または他の設定）（および／またはクロック・マルチプライヤ１１８ならびにＤＲＡＭマクロ１１１−１１３）を変更することができる。このロジックは、ＲＯＭ／ＳＲＯＭ１２４と共に、すべてのＤＲＡＭマクロ試験に共通な部分である。ＢＩＳＴ試験エンジン１１０を含むロジックの約７５％は、このリモート部分に含まれるであろう。
【００１８】
クロック・マルチプライヤ回路１１８は、ローカル命令復号ロジックが、必要に応じてｘの増倍された周波数で、すなわち高速でＤＲＡＭ１１１−１１３と共に動作できるようにする。ローカル復号ロジック１１６は、冗長割付けロジック、データ／アドレス／制御生成ロジック、および復号化を制御するための設定（例えば、リモートＢＩＳＴマクロ・コマンドを、ローカル・アドレス・カウンタおよびデータ発生器を制御し高速でアレイ制御を生成するＮ個の個々のミクロ命令に復号化する設定）を含む。
【００１９】
ローカル復号ロジック１１６の一部分は、リモートＢＩＳＴロジック・コントローラ１１０からの単一マクロ命令を適切に復号化および増倍してＮ個の個々のミクロ命令を生成するために、局所的に格納された試験モード／設定を用いる。単一ミクロ命令は、普通に設計されたローカル復号ロジック１１６が特定の埋め込みメモリに合わせて調整されたミクロ命令を生成できるように、局所的に格納された設定により修正されたやり方で復号化される。次にローカル復号ロジック１１６のこの部分のミクロ命令出力は、ローカル復号ロジック１１６のデータ／アドレス／制御生成部分を制御する。ミクロ命令は、アドレス・カウンタ・ロジックが増分／減分（インクリメント／デクリメント）してアドレスを生成するシーケンスを決定し、様々なデータタイプを生成するデータ・パターン・ロジックを修正し、埋め込みアレイのための制御（読み取り、書き込み、リフレッシュ、マッチング等）を生成する埋め込みマクロ制御ロジックを更新する。生成されるアドレス／データ／制御は次に、試験中の埋め込みアレイに刺激として適用される。ローカル復号ロジック１１６の冗長割付けロジック部分は、予想されるデータを、埋め込みメモリＤＲＡＭ１１１−１１３から現在読み取られているものと比較する。ローカル復号ロジック１１６のデータ／アドレス／制御生成部分からの刺激が、データと予想されるデータとの間での不一致または失敗という結果になる場合、冗長割付けロジックは、その失敗を補償するために冗長の要素（ｒｅｄｕｎｄａｎｔ  ｅｌｅｍｅｎｔ）を割り当てる。このローカル復号ロジック１１６は、ローカル設定を介してソフトウェアにおいて、または物理的変更を介してハードウェアにおいて修正され得ることが注目されるべきである。これらの変更は、ローカル復号ロジック１１６が、試験中のメモリのサイズおよびタイプを適合させることを可能にし、すなわち同じリモートＢＩＳＴロジック・コントローラ１１０は、特定の埋め込みメモリ・タイプ（ＤＲＡＭ、ＣＡＭ、ＳＲＡＭ等）サイズまたは周波数を適切に刺激するために修正された多数のローカル復号ロジック・ブロック１１６を制御できる。
【００２０】
試験ロジック１１６のローカル部分（ＢＩＳＴアーキテクチャとは無関係に様々な方法で実施できる冗長割付けロジックは含めない）は、試験ロジックの残り２５％を含む。従って、本発明は、埋め込みメモリの各々に含まれるＢＩＳＴ回路の量を実質的に減少させ、それによってスペースを節減し、ＢＩＳＴ速度を実質的に増大させる。周波数ｘの１つのＢＩＳＴマクロ・コマンドは、周波数ＮｘのＮ個のアレイ・コマンド、または周波数ｘの１つの試験モード・セット・コマンドを生成する。従って、本発明は、多数の操作を多数のアドレスにより高い周波数で適用する初期コマンドをより低い周波数で生成することができ、あるいは試験のモードを制御または他の設定を変更する単一コマンドを単に送信することができる。
【００２１】
本発明は、ＢＩＳＴが内部で１つの命令を高速で生成および復号化し、次いで復号化された単一命令に従ってＤＲＡＭを試験する従来のものとは、根本的に異なる。本発明は、機能の分離を可能にし、それによって共通部分は低周波で遠隔的に処理され、各マクロに特有な部分はＤＲＡＭの高速で処理され、１つの低速命令が多数の高速ＤＲＡＭ試験を生成する。従来のＢＩＳＴ−ＤＲＡＭ接続は所望の試験速度で動作することを余儀なくされたのに対して、リモートＢＩＳＴロジック・コントローラ１１０と試験ロジック１１６の埋め込みブロックとの間のすべての接続１２０は低速度で動作する。
【００２２】
図２は、流れ図の形で本発明を例示しているが、処理ステップは、図２に示される順序に必ずしも束縛されるわけではない。代わりに、当業者により理解されるように、図２に示される処理を再配列することおよび／またはステップのいくつかを同時におよび／または連続的に実行できるであろう。より具体的には、本発明は、より低い周波数で動作するリモートＢＩＳＴロジック・コントローラを用いて、各埋め込みメモリ・アレイに組み入れられた試験ロジックの埋め込みブロックに共通なＢＩＳＴ試験機能を実行する（２００）。本発明は、リモートＢＩＳＴロジック・コントローラから試験ロジックの埋め込みブロックにＢＩＳＴ命令を第１の周波数で送信し（２０２）、ＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令の周波数を、試験ロジックの埋め込みブロックを用いて増大させる（２０４）。本発明は、試験ロジックの埋め込みブロック（これらは、対応する埋め込みメモリ・アレイに対し特有である）を介して独自の試験を実行する（２０６）。より具体的には、試験ロジックの埋め込みブロックの各々は、マクロ命令セットを多数の個々のミクロ命令に復号化することによってリモートＢＩＳＴロジック・コントローラから受信されたＢＩＳＴ命令の増倍を実行し、冗長割当てを実行し、復号化された多数の個々のミクロ命令に基づいてデータ／アドレス／制御生成を実行する（２０８）ための特別なロジックを含む。
【００２３】
リモートＢＩＳＴロジック・コントローラ１１０は、種々のタイプの埋め込みメモリ１１１−１１３の試験を可能にする。マクロ命令セットは、リモートＢＩＳＴロジック・コントローラ１１０中の読み出し専用メモリ（ＲＯＭ）１２４に格納される。リモートＢＩＳＴロジック・コントローラ１１０は、分岐予測、プログラム・カウンタ管理、ユーティリティ・カウント、ならびに一般ＢＩＳＴ操作制御および診断出力を提供する。
【００２４】
言い換えれば、本発明は、集積回路（図１）内の機能回路に埋込まれたメモリ・アレイ１１１−１１３と共に用いるための組み込み自己試験（ＢＩＳＴ）アーキテクチャ（例えば、図１）を含む。複数の試験ロジック１１６の埋め込みブロックが埋め込みメモリ・アレイに組み込まれ、リモートＢＩＳＴロジック・コントローラ１１０が、試験ロジック１１６の埋め込みブロックから分離して提供される。バス１２０が、リモートＢＩＳＴロジック・コントローラ１１０を試験ロジック１１６の埋め込みブロックに接続する。リモートＢＩＳＴロジック・コントローラ１１０およびバス１２０は、試験ロジック１１６の埋め込みブロックよりも低い周波数で動作する。
【００２５】
リモートＢＩＳＴロジック・コントローラ１１０は、分岐予測、プログラム・カウンタ管理、ユーティリティ・カウント、ならびに一般ＢＩＳＴ操作制御および診断出力の提供を含む試験ロジック１１６の埋め込みブロックのすべてに共通な機能を実行する。従って、リモートＢＩＳＴロジック・コントローラ１１０は、分岐予測、プログラム・カウンタ管理、ユーティリティ・カウント、ならびに一般ＢＩＳＴ操作管理および診断出力を提供するように適合されたロジックを含む。これに対して、試験ロジック１１６の埋め込みブロックは各々、ＢＩＳＴロジック・コントローラ１１０から受信されたＢＩＳＴ命令の周波数を、対応する埋め込みメモリ・アレイ１１１−１１３のより高い周波数に増大させるためのマルチプライヤ１１８を含む。また、試験ロジック１１６の埋め込みブロックの各々は、対応する埋め込みメモリ・アレイに特有な独自の試験ロジック１１６のブロックを含む。より具体的には、試験ロジック１１６の埋め込みブロックの各々は、クロック・マルチプライヤ、冗長割付けロジック、データ・アドレス制御生成ロジック、およびリモートＢＩＳＴロジック・コントローラ１１０から受信されたマクロ命令セットを多数の個々のミクロ命令に復号化するように適合された復号ロジックを含む。
【００２６】
上記で示されるように、リモートＢＩＳＴアーキテクチャは、１つのＢＩＳＴが、低周波数で動作する複合マクロ命令のセットを介して一連のＤＲＡＭと相互作用することを可能にする。各ＤＲＡＭマクロ１１１−１１３は、ＤＲＡＭアレイを高速で正しく刺激するための高速ミクロ命令を生成する高速試験ロジック１１６のローカル・ブロックを有する。このアーキテクチャは、最小幅（例えば、この特定の実施例においては４８ビット未満）の単純な低速バスが、リモートＢＩＳＴとＤＲＡＭマクロ１１１−１１３との間の通信を可能にできるようにする。また、このアーキテクチャは、多数のＤＲＡＭマクロ１１１−１１３の同時の柔軟な高速試験に備える。
【００２７】
最も重要なことであるが、この単一リモートＢＩＳＴブロック１１０は、ハードウェアまたはソフトウェアを介してローカル復号ロジック１１６をカスタマイズすることにより各種のメモリ・タイプ／サイズ／周波数を試験できる。加えて、この単一リモートＢＩＳＴブロックは、単一マクロの試験について必要なＢＩＳＴ面積の最大の部分を占める。従って、このアーキテクチャは、リモートＢＩＳＴブロック１１０と試験中の各マクロとの間の通信バス・オーバーヘッドを（速度およびバス幅双方において）引き続き最小限にすると同時に、チップ上の面積への試験ロジックの影響を最小限にする。このアーキテクチャは、完全にプログラム可能なＢＩＳＴエンジンにより提供される使いやすさを、生成された命令を試験時のメモリの動作周波数まで増倍させるローカル・ロジック・ブロック１１６と組み合わせることにより、高速での十分な試験柔軟性も可能にする。
【００２８】
従って、上記で示されるように、リモートＢＩＳＴブロック１１０が包括的なメモリ・ロード／アンロード・コマンドを生成する一方で、ローカルＢＩＳＴロジック１１６は、これらのコマンドを、特定のメモリ・アーキテクチャ（ＳＲＡＭ／ＤＲＡＭ／ＣＡＭ）にマッピングする。リモートＢＩＳＴは、ローカルＢＩＳＴから物理的に分離されており、多くの異なるメモリ・タイプ／サイズ／周波数等の試験を並列で可能にするために多くの異なるカスタマイズされたローカルＢＩＳＴと共に動作するように設計される。ローカルＢＩＳＴの増倍係数は、ソフトウェアにより調整できる。このアーキテクチャは、リモートＢＩＳＴの作用により完全に制御される。なぜならば、ローカルＢＩＳＴは、リモートＢＩＳＴにより供給された命令を単に復号化し増倍させるからである。さらに、本発明のアーキテクチャは、多数のローカルＢＩＳＴブロックが、それらの独自に修正された復号化プロセスおよび包括的に供給されたリモートＢＩＳＴ命令の増倍を実行する時に、並列で動作することを可能にする。
【００２９】
本発明を好ましい実施形態の観点から説明してきたが、本発明は添付の特許請求の範囲の精神および範囲内の修正で実施できることが当業者には認識されるであろう。
【図面の簡単な説明】
【００３０】
【図１】本発明の１つの実施形態の概略図である。
【図２】本発明の好ましい方法を例示する流れ図である。
【図１】
2007522593.tif 000003
【図２】
2007522593.tif 000004
【国際調査報告】
2007522593.tif 000005