JP3827575B2 - 多数のチップを同時にテストするためのテスタ - Google Patents
多数のチップを同時にテストするためのテスタ Download PDFInfo
- Publication number
- JP3827575B2 JP3827575B2 JP2001520117A JP2001520117A JP3827575B2 JP 3827575 B2 JP3827575 B2 JP 3827575B2 JP 2001520117 A JP2001520117 A JP 2001520117A JP 2001520117 A JP2001520117 A JP 2001520117A JP 3827575 B2 JP3827575 B2 JP 3827575B2
- Authority
- JP
- Japan
- Prior art keywords
- word
- pattern generator
- chip
- memory
- bitstream
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31917—Stimuli generation or application of test patterns to the device under test [DUT]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/31903—Tester hardware, i.e. output processing circuits tester configuration
- G01R31/31907—Modular tester, e.g. controlling and coordinating instruments in a bus based architecture
Description
[関連事件]
この発明は、上記事件登録番号および名称によって識別されるように、他の2件の発明に関連し、それらは1つの共通の発明の詳細な説明によって本明細書中に記載される。これらの2件の関連発明は、米国連続番号第09/387,197号を有する、「ワードバウンダリ上で終端する未使用ビットによって間隔をあけられ、いかなる長さのチップテストビットストリームも生成する命令を含むプログラム記憶装置」(“A Program Storage Device Containing Instructions That are Spaced Apart by Unused Bits That End on Word Boundaries and Which Generate Chip Testing Bit Streams of Any Length”)と題された事件登録番号550,609および;米国連続番号第09/386,945号を有する、「チップの電力消費を限定する、プログラム制御下の選択可能なサブセット中で順次にまたは同時に多数のチップの組をテストするための電子システム」(“An Electronic System for Testing a Set of Multiple Chips Concurrently or Sequentially in Selectable Subsets Under Program Control to Limit Chip Power Dissipation”)と題された事件登録番号550,611として識別される。3件すべての発明に関する特許出願は、1999年8月31日に米国特許庁に同時出願された。
【0002】
【発明の背景】
この発明は、請求項に記載のように、チップドライバー回路の選択可能なセットに異なるビットストリームを同時にブロードキャストする、選択可能な数のパターン発生器を有する、チップをテストするための電子システムを含む。先行技術では、チップをテストするための関連の電子システムが米国特許第5,390,129号に開示されている。この先行技術のシステムは、同様にこの発明の譲受人であるユニシス・コーポレイション(Unisys Corporation)に譲渡されている。
【0003】
先行技術のチップテストシステムの単純化されたブロック図が特許’129の図2に示される。このシステムは、時分割バス52を介して複数のドライバボード100に結合されるコンピュータ50を含み、各々のドライバボード100は、テストされるべきいくつかの集積回路チップを保持するそれぞれのバーンインボード500に結合される。
【0004】
動作において、コンピュータ50は、各々のドライバボード100に、チップをテストするのに用いる、別個の組のテストデータパターンを順次送る。これらのテストデータパターンは大きなSRAM中の各ドライバボードに記憶され、これは図3に参照番号107で示され、図9に参照番号145でより詳細に示される。任意のある時間にどの特定のドライバボードがテストデータパターンを受けかつ記憶するかは、図2のブロック図に示されるように、ドライバボード上のアドレス回路100Aによって定められる。
【0005】
テストデータパターンがすべてのドライバボード100上のSRAM145に記憶された後、すべてのバーンインボード500上のチップを並行してテストすることができる。それを行なうため、テストパターンは、SRAMのすべてから同時に読出されかつ、図14に示されるように、それぞれの出力ドライバモジュール164を通してバーンインボード500のすべての上のチップに送られる。
【0006】
特許’129中のチップテストシステムの1つの特定の特徴は、各バーンインボードが、ボード上でテストすべきチップのタイプを識別するIDコードを含むことである。そのIDコードはドライバボード100によって感知され、コンピュータ50に送られる。応答して、コンピュータ50がドライバボードに送るテストデータパターンが、感知されるIDコードに適合される。
【0007】
しかしながら、特許’129中のチップテストシステムは、図2のアーキテクチャが課すいくつかの大きな限界も有する。たとえば、コンピュータ50は、ドライバボード100のすべてにとって、テストデータパターンの唯一のソースである。その結果、チップテストシステムの動作の速度が限定される。なぜなら、コンピュータ50は、バス52を介して、テストデータパターンを一度に単一のドライバボードにしか送ることができないからである。
【0008】
特許’129中のチップテストシステムの別の限界は、各々のドライバボード100がバーンインボード500上のチップのすべてを同時に常にテストすることである。しかしながら、各々のバーンインボードは、ボード上のチップが消費可能な総電力量に対する限界を元来有している。したがって、各バーンインボード500上での総電力消費をある限界よりも下に保つためには、チップ当りの最大電力消費が増加するに従って、各バーンインボード上のチップの総数を減らさなければならない。
【0009】
特許’129のチップテストシステムのさらに別の限界は、各ドライバボード上の大きなSRAM145中の記憶済テストデータパターンがSRAMメモリセルを非常に非効率的に利用する可能性があることである。特許’129の図9は、各々のSRAM145が19アドレスビットを受取り、8データ出力ビットを有することを示し、したがって各ドライバ回路上のSRAM145は800万個のメモリセルを有する。しかしながら、あるタイプのチップは、時間によって数が異なるシリアルビットストリームのシーケンスをそれらに送ることによってテストされる。したがって、1つの時間間隔の間にSRAM145がビットストリームを4つ送り、他の時間間隔の間にビットストリームを2つだけ送るならば、ビットストリームを2つ送っているときはSRAMの半分が無駄である。
また、先行技術においては、集積回路チップをテストするための別のシステムが米国特許第5,504,670号によって開示されている。そのチップテストシステムにおいては、チップをテストする多数のリソースが設けられ、それらのリソースは、時分割される共通のバスによってともに結合される。この共通の時分割されたバスは、必要に応じてリソースをいくつかの処理素子に割当て得るために必要である。しかしながら、バスの時分割は、テスト信号をリソースから読出し、チップに送ることができる速度を限定してしまう。
【0010】
したがって、本明細書中に開示されるチップテストシステムの主要な目的は、上記限界のすべてを扱いかつ克服することである。
【0011】
【発明の概要】
この発明は、請求項に記載のように、動作の速度に関する上記限定を扱う、開示されたチップテストシステムの1つの局面を含む。この発明に従うと、集積回路チップをテストするためのシステムは、選択可能な数のパターン発生器を含み、その各々は、別個のバスを介して選択可能な数のチップドライバ回路に結合される。各々のパターン発生器はそれぞれのメモリにも結合され、これは、一度に1ワードずつ読出可能な異なるビットストリームを記憶する。動作においては、各々のパターン発生器は、そのそれぞれのメモリから1ワードずつビットストリームを選択的に読出しかつ、その別個のバスに結合されるチップドライバ回路のすべてに、読出されるワードを同時に送る。それが起こっている間に、各々のチップドライバは、それが送られるワードを、並行して多数の集積回路チップをテストするビットシリアルテスト信号に変換する。
【0012】
1つの別個のバスに結合されるすべてのチップドライバ回路が1つのパターン発生器から同時にビットストリームのワードを受取るため、動作の速度は先行技術よりも増す。また、パターン発生器のすべてが同時に別個のバス上に異なるビットストリームを送るため、動作の速度は先行技術よりもさらに増す。
【0013】
【詳細な説明】
ここで図1を参照して、この発明に従う集積回路チップをテストするシステムの1つの実施例が説明される。このシステムは5つの異なるタイプのモジュール10−14を含み、各モジュールの説明が以下の表1に与えられる。
【0014】
表1
モジュール…説明
10…各モジュール10は、チップをテストする間にいくつかの集積回路チップ10aを保持するチップアセンブリである。図1のシステムにおいては、チップアセンブリ10の総数を選択可能である。各チップアセンブリ10は1つのプリント回路基板10bを含み、その上にいくつかのソケット10cがはんだ付けされ、各ソケットはチップ10aのうち1つを保持する。プリント回路基板10bの端縁上にコネクタ10dが装着され、プリント回路基板中の電気導体10eがコネクタ10dとチップ10aとの間でテスト信号を搬送する。
【0015】
11…各モジュール11はチップドライバ回路である。図1のシステムでは、各チップアセンブリ10ごとに別個のチップドライバ回路11が設けられる。各チップドライバ回路11は、図6、図8、図9および図10に示される回路構成のすべてを含む。その回路構成により、テスト信号が、プログラム可能なさまざまなビットシリアルシーケンスとしてチップ10aに送られかつそれから受取られる。
【0016】
12…各項目12はパターン発生器である。図1のシステムでは、各パターン発生器12は、バス12aを介して、選択可能な数のチップドライバ回路に結合される。図1は、チップドライバ回路11のすべてがサブグループに区分される例を示し、別個のパターン発生器12が別個のバス12aを介して各サブグループに結合される。これに代えて、チップドライバ回路11のすべてを単一のバス12aで単一のパターン発生器に結合することができる。または、各チップドライバ回路11を別個のバス12aで別個のパターン発生器に結合することができる。各パターン発生器12は、図5および図6に示される回路構成のすべてを含む。その回路構成により、各パターン発生器12は、チップ10cをテストするために特定のビット−シリアルシーケンスを指定するプログラム可能命令の別個のシーケンスを実行する。命令を実行する際、各パターン発生器12はビット−シリアルシーケンスをワードに区分し、そのバス12aに結合されるチップドライバ回路11のすべてにワードをブロードキャストする。
【0017】
13…各項目13はランダムアクセス読出−書込メモリである。各パターン発生器12ごとに別個のメモリ13が設けられる。各メモリ13は、対応するパターン発生器が実行するプログラム可能命令の別個のシーケンスを記憶する。これらの命令は、アクセスポート13aを介してパターン発生器12によってメモリ13から読出され、それらは別のアクセスポート13bを介してメモリに書込まれる。両アクセスポートは同時に動作するため、いくつかの命令をポート13aから読出すことができる一方、同時に、他の命令をポート13bに書込むことができる。
【0018】
14…モジュール14は、図1のシステム全体の動作を指示する単一のホストコンピュータである。ホストコンピュータ14はバス13cを介してメモリ13のすべての上のポート13bに結合される。ホストコンピュータ14内には、ディスク14a、キーボード14bおよびモニタ14cが含まれる。ディスク14aには、パターン発生器12のためのいくつかのプログラムが記憶され、各々のそのようなプログラムは、チップ10cをテストするために信号の特定のビット−シリアルシーケンスを指定するプログラム可能命令の異なるセットを含む。プログラムのうち1つを選択し、特定のパターン発生器のメモリ13にそれを送るため、オペレータ(図示せず)は、キーボード14bを介してさまざまなコマンドをホストコンピュータ14に入力する。その後、選択されたプログラムを用いてチップをテストすることから得られる結果をパターン発生器によりメモリ13中に記憶し、ホストコンピュータ14によりそれらをモニタ14cに表示する。
【0019】
次に図2を参照して、これは、モジュール10−14のすべてがどのように1つのシステムとしてともに物理的にパッケージされるかを示す。図2の項目20は、スタック状に互いの上に配置される、多数の水平方向スロット21−1、21−2などを有する機械的ラックである。各スロットは、1つのドライバ回路11および1つのチップアセンブリ10を選択的に保持するかまたは、1つのパターン発生器12および1つのメモリ13を保持するかのいずれかである。
【0020】
図2は、ラック20の中のスロットの総数が14である例を示す。一番上のスロットが21−1であり、次のスロットが21−2であり、以下同じである。図2では、スロット21−1から21−14は以下のように占められる。
【0021】
スロット21−1から21−7の各々はドライバ回路11およびチップアセンブリ10を保持し、次のスロット21−8は1つのパターン発生器12およびそのメモリ13を保持する。スロット21−8中のパターン発生器12は、バス12aでスロット21−1から21−7中の7つのドライバ回路に結合される。スロット21−8中のパターン発生器は、そのバス上に、スロット21−1から21−7中のチップドライバ回路の7つすべてへビット−シリアルテスト信号をブロードキャストする。
【0022】
スロット21−9はドライバ回路11およびチップアセンブリ10を保持し、スロット21−10は1つのパターン発生器12およびそのメモリ13を保持する。スロット21−10中のパターン発生器はバス12aでスロット21−9中のドライバ回路に結合され、スロット21−10中のパターン発生器は、そのバス上に、スロット21−9中の1つのチップドライバ回路のみにビット−シリアルテスト信号を送る。
【0023】
スロット21−11から21−13の各々はドライバ回路11およびチップアセンブリ10を保持し、次のスロット21−14は1つのパターン発生器12およびそのメモリ13を保持する。スロット21−14中のパターン発生器は、バス12aでスロット21−11から21−14中の3つのドライバ回路に結合され、スロット21−14中のパターン発生器は、そのバス上に、スロット21−11から21−13中のチップドライバ回路の3つすべてへビット−シリアルテスト信号をブロードキャストする。
【0024】
スロット21−8、21−10および21−14中のメモリ13の各々は、パターン発生器12がブロードキャストするビット−シリアルテスト信号を規定するいくつかのタイプの命令の異なるシーケンスを記憶する。3つの異なるタイプの命令が図3に示される。命令31は第1のタイプであり、命令32は第2のタイプであり、命令33は第3のタイプである。
【0025】
第1のタイプの各々の命令31は、動作コードOP、ワードカウントWCNTおよびビットカウントBCNTを含むワードW0を含む。動作コードが特定の値OP1を有すると、命令31は、ビットストリームTDIを、テストされるチップ10a中にあるデータレジスタに書込ませる。動作コードが別の特定の値OP2を有すると、命令31は、TDIビットストリームを、チップ10a中にある命令レジスタに書込ませる。
【0026】
動作コードOP1およびOP2の両者について、書込まれるべきTDIビットストリームは、図3に示されるように、命令31内に指定される。このTDIビットストリームはワードW0のすぐ後に始まり、それは、1つのビットのインクリメントが異なる長さを有する。TDIビットストリーム中のビットの総数は(WCNT−1)(X)+BCNTであり、式中、Xはワード当りのビット数である。TDIビットストリームを指定しない、最後のワード中のすべてのビットが未使用である。
【0027】
第2のタイプの各々の命令32は、動作コード、ワードカウントWCNTおよびビットカウントBCNTを含むワードW0を含む。動作コードが特定の値OP3を有すると、命令32は、チップ10a中のデータレジスタの中身が読出されかつ命令の中のデータストリームと選択的に比較されるようにする。動作コードが別の特定の値OP4を有すると、命令32は、チップ10a中の命令レジスタの中身が読出されかつ命令の中のデータストリームと選択的に比較されるようにする。
【0028】
動作コードOP3およびOP4の両者について、比較動作で用いるために2つのビットストリームETDOおよびMASKが命令32内に指定される。それらの2つのビットストリームはワードW0のすぐ後に始まり、それらは、図3に示されるように、ワードごとにインタリーブされる。MASKビットストリーム中のi番目のビットが「1」ならば、チップから読出されるi番目のビットが比較動作に加わり、チップからのその特定のビットがETDOビットストリーム中のi番目のビットと比較される。ビットストリームETDOおよびMASKの各々は長さが可変であり、それらのビットストリームの各々の中のビット総数は(WCNT−1)(X)+BCNTである。ETDOおよびMASKビットストリームを指定しない、最後の2つのワード中のビットのすべてが未使用である。
【0029】
第3のタイプの各々の命令33は、動作コードOP、ワードカウントWCNTおよびビットカウントBCNTを含むワードW0を含む。動作コードが特定の値OP5を有すると、命令33は、ビットストリームTDIがチップ10a中のデータレジスタに書込まれるようにし、同時に、命令33は、チップ10a中のデータレジスタの中身が読出されかつ命令の中のデータストリームと選択的に比較されるようにする。動作コードが別の特定の値OP6を有すると、命令33は、TDIビットストリームがチップ10a中の命令レジスタの中に書込まれるようにし、同時に、命令33は、チップ10a中の命令レジスタの中身が読出されかつ命令の中のデータストリームと選択的に比較されるようにする。
【0030】
動作コードOP5およびOP6の両者について、TDIビットストリームは命令33内に指定され、2つの他のビットストリームETDOおよびMASKも、比較動作で用いるために命令内に指定される。これらの3つのビットストリームはワードW0のすぐ後に始まり、それらは、図3に示されるように、ワードごとにインタリーブされる。MASKビットストリーム中のi番目のビットが「1」ならば、チップから読出されるi番目のビットが比較動作に加わり、チップからのその特定のビットがETDOビットストリーム中のi番目のビットと比較される。3つのビットストリームTDI、ETDOおよびMASKの各々は長さが可変であり、それらのビットストリームの各々の中のビットの総数は(WCNT−1)(X)+(BCNT)である。TDI、ETDOおよびMASKビットストリームを指定しない、最後の3つのワード中のビットのすべてが未使用である。
【0031】
パターン発生器12が命令31、32および33の各々を実行するとき、それは、図3の命令内に述べられていないさらなるビットストリームも生成する。そのさらなるビットストリームは、TMSと呼ばれる制御信号として用いられ、これは、チップ10aを特定の状態に置いて、データレジスタを選択的に読出したり、データレジスタに書込んだり、命令レジスタを読出したりまたは命令レジスタに書込んだりする。各々のTMSビットストリームは、命令レジスタまたはデータレジスタのいずれを用いるべきかを指定する動作コードOP1−OP6と、TMS信号中のビット数を決定するWCNTおよびBCNTカウントとに応答して生成される。
【0032】
図4は、3つのタイプの命令31、32および33がどのようにパターン発生器12の各メモリ13内に異なるシーケンスで記憶されるかの例を示す。図4の例では、命令のシーケンスはI(k)、I(k+1)…などである。命令I(k+1)およびI(k+3)は第1のタイプ31であり、命令I(k)およびI(k+4)は第2のタイプ32であり、命令I(k+2)およびI(k+5)は第3のタイプ33である。
【0033】
第1のタイプの各々の命令31は動作コードOP1またはOP2で識別され、それは単一の可変長ビットストリームTDIを指定する。第2のタイプの各々の命令32は動作コードOP3またはOP4で識別され、それは2つの可変長ビットストリームETDOおよびMASKを指定する。第3のタイプの各々の命令33は動作コードOP5またはOP6で識別され、それは3つの可変長ビットストリームTDI、ETDOおよびMASKを指定する。用いられていないビット(NU)のそれぞれのシリーズは各シリアルビットストリームのすぐ後に始まり、ワードバウンダリ上で終端する。これにより、シーケンス中の次の命令が常にワードバウンダリ上で始まるのが可能になる。
【0034】
ここで図5を参照して、各パターン発生器12内の回路構成の詳細を説明する。その回路構成は、順序ステートマシン40、カウンタ41、7つのレジスタ42−48の組、マルチプレクサ49および発振器50を含む。示されるように、それらの構成要素40−50のすべてが互いに相互接続されている。
【0035】
カウンタ41およびレジスタ42−48の各々は、データ入力Dおよびクロック入力Cの組を有する。入力D上のデータをカウンタまたは特定のレジスタに記憶するため、ステートマシン40はクロックパルスをクロック入力Cに送る。カウンタ42はカウントダウン入力CDも有し、カウンタは、CD入力上でパルスを受取るとその記憶されたカウントを1だけデクリメントする。
【0036】
動作において、ステートマシン40は、構成要素41−48の各々を用いて以下の情報を記憶する。レジスタ42は、図3の命令31、32および33の第1のワードW0中で生じる動作コードOPを記憶する。カウンタ41はワードカウントWCNTを記憶し、レジスタ43は、図3の命令のうち各々の第1のワードW0中で生じるビットカウントBCNTを記憶する。
【0037】
レジスタ44は、図3の命令31および33中で生じるビットストリームTDIの1つのワードを記憶する。レジスタ45は、図3の命令32および33中で生じるビットストリームETDOの1つのワードを記憶する。また、レジスタ46は、図3の命令32および33中で生じるビットストリームMASKの1つのワードを記憶する。
【0038】
レジスタ47は、図3の命令の実行の間にパターン発生器12が内部で生成するさらなるビットストリームTMSの1つのワードを記憶する。レジスタ48は、少し後で説明される態様でパターン発生器12およびチップドライバ回路11の両者が内部で用いるさまざまな制御ビットを記憶する汎用レジスタである。
【0039】
図3の命令のうち1つの実行の始めに、パターン発生器12はメモリ13から命令の第1のワードW0を読出す。その読出動作を行なうため、ステートマシン40は、図1に示されるメモリ13のポート13aに向かう1組のアドレス線40aの上にメモリアドレスMADDRを送る。応答して、メモリ13のポート13aは、1組のデータ線40bの上に、メモリデータMDATAとしてアドレス指定されたワードをステートマシン40に戻す。次に、ステートマシン40は3つのクロックライン40c−40e上にクロックパルスを送ってレジスタ42にOPコードを記憶し、カウンタ41にワードカウントWCNTを記憶しかつ、レジスタ43にビットカウントBCNTを記憶する。
【0040】
その後、ステートマシン40は、レジスタ42中のOPコードを調査する。レジスタ42中のOPコードが、命令がTDIデータストリームを含むタイプのものであることを示せば、そのデータストリームの第1のワードをメモリ13から読出し、レジスタ44に記憶する。レジスタ42中のOPコードが、命令がETDOデータストリームを含むタイプのものであることを示せば、そのデータストリームの第1のワードをメモリ13から読出し、レジスタ45に記憶する。レジスタ42中のOPコードが、命令がMASKデータストリームを含むタイプのものであることを示せば、MASKデータストリームの第1のワードをメモリ13から読出し、レジスタ46に記憶する。
【0041】
メモリアドレスをアドレス線40a上に順次送ることおよびデータ線40b上でメモリ13から戻るアドレス指定されたワードを受取ることによって、パターン発生器ステートマシン40を介して上記データストリームワードを一度に1つずつ入手する。メモリ13からの受取った各々のワードは、クロックライン40f、40gまたは40hのうち1つの上にクロックパルスを送ることにより、適切なレジスタ44、45または46に記憶される。
【0042】
上記動作の後に、ステートマシン40は、前に説明されたさらなるビットストリームTMSの1つのワードを内部で生成する。その内部で生成された、TMSビットストリームのワードが1組の信号線40iの上に送られ、それは、クロックライン40j上のクロックパルスによってTMSレジスタ47にロードされる。
【0043】
その後、ステートマシン40はマルチプレクサ49を用いて、以前にロードされたレジスタ44−47の出力を、JDATAと呼ばれるデータ信号を搬送する1組のデータ線55上に順次伝える。マルチプレクサ49を通して特定のレジスタの出力を伝えるため、ステートマシン40は、マルチプレクサ49に向かう1組の制御線40k上に、SEL(i)と呼ばれる制御信号を生成する。
【0044】
レジスタの出力をJDATA線55上に送る間に、ステートマシン40は、1組のアドレス線56上に、JADDRと呼ばれるアドレス信号も生成し、それらのアドレス信号がJDATA信号の宛先を定める。JDATA信号およびJADDR信号がいつ送られているかを示すため、ステートマシン40は、クロックライン57上に、JSTROBEと呼ばれるパルスを送る。また、ステートマシン40は、クロックライン58上に、BUSCKと呼ばれる自走クロックを送る。線55−58のすべてが、選択可能な数のチップドライバ回路11にパターン発生器12を接続する、図1および図2に示されるバス12aをともに構成する。
【0045】
次に、図6を参照して、チップドライバ回路11の各々の中の回路構成の詳細を説明する。その回路構成は、アドレスデコーダ60、5つのレジスタ61−65の組、4つのパラレル−シリアルシフトレジスタ66−69の組、シフト制御回路70および可変遅延線71を含む。図6に示されるように、構成要素60−71のすべては互いに相互接続されている。
【0046】
レジスタ61−65の各々は、データ入力D、イネーブル入力Eおよびクロック入力Cの組を有する。データ入力Dは図5のパターン発生器からデータ信号JDATAを受取り、クロック入力Cはパターン発生器からJSTROBEクロックパルスを受取る。JDATA信号を特定のレジスタ61−65に記憶するため、別個のイネーブル信号E1−E6がそのレジスタのイネーブル入力Eに送られる。
【0047】
レジスタ61−65のためのイネーブル信号E1−E5のすべては、アドレスデコード回路60により1組の信号線60a−60e上に生成される。イネーブル信号E1はレジスタ61に送られ、イネーブル信号E2はレジスタ62に送られ、以下同じである。これらのイネーブル信号E1−E5はJADDRアドレス線56上の特定のアドレスをデコードすることによりアドレスデコーダ60で生成される。
【0048】
動作において、図5のパターン発生器ステートマシン40は、レジスタ62−65が以下の情報を記憶するように、JADDR、JDATAおよびJSTROBE信号を送る。MASKビットストリームの1つのワードをレジスタ62に記憶し、そのワードを図5のレジスタ46からマルチプレクサ49を通して送る。TDIビットストリームの1つのワードをレジスタ63に記憶し、そのワードを図5のレジスタ44からマルチプレクサ49を通して送る。ETDOビットストリームの1つのワードをレジスタ64に記憶し、そのワードを図5のレジスタ45からマルチプレクサ49を通して送る。TMSビットストリームの1つのワードをレジスタ65に記憶し、そのワードを図5のレジスタ47からマルチプレクサ49を通して送る。
【0049】
レジスタ62−65の各々は、パラレル−シリアルシフトレジスタ66−69のうち1つの上のデータ入力Dにそれぞれ結合される。それらのパラレル−シリアルシフトレジスタはロード入力Lおよびクロック入力Cも有する。クロック入力CがSERIALCKクロック信号の立上がり縁を受けるときに入力L上のLOAD信号が「1」状態にあれば、データ入力信号のすべてをパラレル−シリアルシフトレジスタ66−69に記憶する。そうでなく、SERIALCKクロック信号の立上がり縁が発生するときにLOAD信号が「0」状態にあれば、レジスタ66−69のすべてが、それらが記憶するデータの1つのビットを外にシフトする。
【0050】
LOAD信号およびSERIALCKクロック信号の両者がシフト制御回路70によって生成され、それは、TMSビットストリームのワードをレジスタ65にロード可能にするイネーブル信号E5に応答して動作する。イネーブル信号E5が、TMSレジスタがロードされるようにした後、シフト制御回路70は線70a上にSERIALCKクロック信号を生成し始める。これは、バスクロック信号BUSCKをクロックライン58からクロックライン70aへゲート制御することによって行なわれる。
【0051】
SERIALCKクロック信号の第1のサイクルの間、シフト制御回路70は、シリアル−パラレルレジスタ66−69のすべてに「1」としてLOAD信号を送る。それにより、レジスタ66−69は、レジスタ62−65に保持されるビットストリームの1つのワードを記憶するようになる。次に、シフト制御回路70は「0」としてLOAD信号を生成し、これは、パラレル−シリアルレジスタ66−69の各々に、レジスタが記憶したビットストリームのワードを外にシフトさせる。
【0052】
レジスタ66−69からの各ビットはSERIALCKクロックと同期してシフトされる。MASKビットストリームは信号線66a上にシフトされ、TDIビットストリームは信号線67a上にシフトされ、ETDOビットストリームは信号線68a上にシフトされ、TMSビットストリームは信号線69a上にシフトされる。このシフトは、LOAD信号の「0」状態に応答して、シフトレジスタ66−69の各々が空になるまで継続する。
【0053】
ビットストリームMASK、TDI、ETDOおよびTMSのいずれの1つが第2のワードの中に延びても、それらのワードは、上記シフトが起こっている間にパターン発生器ステートマシン40によってメモリ13から読出され、レジスタ62−65にロードされる。その場合、シフト制御回路70は、イネーブル信号E5がTMSレジスタ65に二度目として再送されたことを覚えている。
【0054】
後に、シフトレジスタ66−69が空になると、シフト制御回路70は、第2のイネーブル信号E5が送られたか否かを見るためにチェックを行なう。送られていれば、シフト制御回路70は、シリアル−パラレルレジスタ66−69のすべてに「1」としてLOAD信号を再送する。それにより、レジスタ66−69は、レジスタ62−65に保持されるビットストリームの第2のワードを記憶するようになる。次に、シフト制御回路70は、パラレル−シリアルレジスタ66−69の各々が、それらが記憶したビットストリームの第2のワードを外にシフトするまで、「0」としてLOAD信号を生成する。
【0055】
上記ロードおよびシフトは、メモリ13の命令について、シリアルビットストリームの終端に到達するまで継続する。次に、ビットストリームの最後のビットがレジスタ66−69からシフトされると、シフト制御回路70は、クロックライン70a上にクロック信号SERIALCKを生成するのを止める。
【0056】
上述の動作のすべてに加えて、図6のチップドライバ回路は、クロックライン71a上にクロック信号TCKも生成する。このTCKクロック信号は、線53上のBUSCK信号の遅延した複製であり、これは可変遅延回路71によって生成される。可変遅延回路による遅延の量は、レジスタ61に記憶される信号線61a上の制御信号によって選択される。
【0057】
次に図7を参照して、これは、図3の各命令を図5のパターン発生器および図6のチップドライバ回路が実行するシーケンス全体を図示する。まず、パターン発生器ステートマシン40は状態S1にあり、ここで、そのメモリ13から命令の第1のワードW0を読出す。その後、状態S2で、ステートマシン40はレジスタ42中の動作コードを調査し、それが実行中の命令のタイプを判断する。
【0058】
命令が第1のタイプ31または第3のタイプ33ならば、ステートマシン40はTDIビットストリームの1つのワードを読出し、これは状態S3で起こる。そのワードはステートマシン40によりレジスタ44に記憶される。
【0059】
命令が第2のタイプ32または第3のタイプ33ならば、ステートマシン40はETDOビットストリームの1つのワードを読出し、これは状態S4で起こる。ETDOビットストリームのそのワードは、ステートマシン40によりレジスタ45に記憶される。
【0060】
同様に、命令が第2のタイプ32または第3のタイプ33ならば、ステートマシン40はMASKビットストリームの1つのワードを読出し、これは状態S5で起こる。MASKビットストリームのそのワードは、ステートマシン40によりレジスタ46に記憶される。
【0061】
その後、ステートマシン40はTMSビットストリームの1つのワードを内部で生成し、これは状態S6で起こる。TMSビットストリームのそのワードは、ステートマシン40によりレジスタ47に記憶される。
【0062】
次に状態S7で、ステートマシン40は、それが第1または第3のタイプの命令31または33を実行中ならば、TDIビットストリームの1つのワードをブロードキャストする。TDIビットストリームのこのワードは、レジスタ44からマルチプレクサ49を通って送られ、パターン発生器に接続される各々のチップドライバ回路のレジスタ63の中に送られる。
【0063】
次に状態S8で、ステートマシン40は、それが第2または第3のタイプの命令32または33を実行中ならば、ETDOビットストリームの1つのワードをブロードキャストする。ETDOビットストリームのこのワードは、レジスタ45からマルチプレクサ49を通って送られ、パターン発生器に接続される各々のチップドライバ回路のレジスタ64の中に送られる。
【0064】
次に状態S9で、ステートマシン40は、それが第2または第3のタイプの命令32または33を実行中ならば、MASKビットストリームの1つのワードをブロードキャストする。MASKビットストリームのこのワードは、レジスタ46からマルチプレクサ49を通って送られ、パターン発生器に接続される各々のチップドライバ回路のレジスタ62の中に送られる。
【0065】
次に状態S10で、ステートマシン40はTMSビットストリームの1つのワードをブロードキャストする。TMSビットストリームのこのワードは、レジスタ47からマルチプレクサ49を通って送られ、パターン発生器に接続される各々のチップドライバ回路のレジスタ65の中に送られる。
【0066】
次に状態S11で、ステートマシン40はカウンタ41中のワードカウントWCNTを1だけデクリメントし、結果が0であるかどうかを見るようにチェックを行なう。結果が0でなければ、状態S3−S10の動作のすべてが繰返される。そうでなく、結果が0ならば、ステートマシン40は、状態S1に入ることによって次の命令を実行し始める。
【0067】
状態S10でステートマシン40がTMSビットストリームのワードをブロードキャストするたびに、パターン発生器に接続される各々のチップドライバ回路中のシフト制御回路70がそのイベントを覚える。このとき、パラレル−シリアルシフトレジスタ66−69が空ならば、保持レジスタ62−65の中身でそれらをロードする。これはチップドライバ回路が状態S21にあるときに起こる。
【0068】
その後、パラレル−シリアルシフトレジスタ66−69の中身が信号線66a−69a上にシフトされる。これは、チップドライバ回路が状態S22にあるときに起こる。次に、シフトレジスタ66−69中の最後のビットが外にシフトされているとき、シフト制御回路70は、レジスタ65がTMSビットストリームの別のワードでロードされたかどうかを見るようにチェックを行なう。ロードされていれば、状態S21およびS22のロードおよびシフト動作を繰返す。
【0069】
TDI、ETDO、MASKおよびTMSのビットストリームが数ワードの長さであるとき、チップドライバ回路11中の状態S21およびS22はパターン発生器12中の状態S3−S11と同時に起こる。その同時の動作により、チップドライバ回路11およびパターン発生器12は、パターン発生器がビットストリームの次のワードを読出しかつブロードキャストする間にチップドライバ回路がビットストリームの1つのワードからビットをシフトさせる、多段パイプラインとして働く。
【0070】
また、パターン発生器ステートマシン40が次の命令を実行し始めると、チップドライバ回路11は、状態S22で、パラレル−シリアルシフトレジスタ66−69の中に残るいずれのビットもシフトし続ける。その同時の動作により、チップドライバ回路11およびパターン発生器12はここでも、パターン発生器が次の命令のワードW0を読出しかつデコードしている間に1つの命令のビットストリーム中のビットをシフトさせる、多段パイプラインとして働く。
【0071】
ここで図8を参照して、これは、各チップドライバ回路がどのように、テストされる集積回路チップと相互結合されるかについてのさらなる詳細を示す。図8で、参照番号10は図1および図2に示されるのと同じチップアセンブリを識別し、参照番号10aは、アセンブリ10中のテストされるべきチップを識別する。
【0072】
アセンブリ10中のテストされるべき各チップ10aごとに、4つの送信器81−84および1つの受信器85の別個の組がチップドライバ回路11に設けられる。各々の送信器81は、線71aから別個のチップ10aにクロック信号TCKを送る。各々の送信器82は、線67aから別個のチップ10aにビットストリームTDIを送る。各々の送信器83は、線69aから別個のチップ10aにビットストリームTMSを送る。また、各々の送信器84は、それぞれの高周波クロックHFCK(i)を別個のチップ10aに送るが、これは図9および図10に関連して後に説明される。
【0073】
送信器81−84から受ける信号に応答して、アセンブリ10中の各チップ10aは、TDOと呼ばれる別個の出力ビットストリームを生成する。各チップ10aからのそのTDOビットストリームは、チップドライバ回路上の別個の受信器85に送られる。受信器85から、TDOビットストリームのすべては、図8に示される、チップドライバ回路の残余の構成要素90−98により、並行して処理される。
【0074】
図8の構成要素90は排他的ORゲートであり、構成要素91はANDゲートであり、構成要素92はフリップフロップである。受信器85の各々ごとに構成要素90−92の別個の組が設けられる。図8の構成要素93はマルチプレクサであり、構成要素94はデコーダ回路であり、構成要素95は可変遅延回路であり、構成要素96はレジスタであり、構成要素97はデコーダ回路であり、構成要素98はレジスタであり、構成要素99はデコーダ回路である。
【0075】
動作において、ビットストリームETDO、MASKおよびTCKは可変遅延回路95を通って送られ、それにより、それぞれDETDO、DMASKおよびDTCKと呼ばれる3つの対応の遅延ビットストリームを生成する。可変遅延回路95による遅延の量は、レジスタ96の出力によって選択され、その遅延が、TDOビットストリームを生成する各チップ10a内で発生する遅延を補う。特定の遅延を選択するため、レジスタ96は、デコーダ回路97が予め定められたJADRアドレスを検出するときにJDATA信号でロードされる。
【0076】
遅延回路95から、排他的ORゲート90のすべてに遅延ビットストリームDETDOが送られ、ここでそれは受信器85のすべてから来るTDOビットストリームと比較される。DETDOビットストリーム中の任意のビットとTDO(i)ビットストリーム中の対応するビットとの間で比較ミス(miscompare)が起これば、比較ミスが起こる排他的ORゲート90は、「1」状態の出力信号ERA(i)を生成する。
【0077】
排他的ORゲート90からのエラー信号ERA(i)の各々はANDゲート91の別個の1つに送られ、それらのANDゲートは他の2つの入力信号も受取る。一方のそのような入力信号が遅延ビットストリームDMASKであり、他方の入力信号がレジスタ98からの別個のイネーブル信号EN(i)である。エラー信号ERA(i)がTDO(i)ビットストリーム中の特定のビットに対して「1」であり、DMASK信号中の対応するビットも「1」であり、イネーブル信号EN(i)も「1」ならば、i番目のANDゲートからの出力信号ERB(i)は「1」である。
【0078】
ビットストリームTDO(i)中の任意の1つの特定のビット中の比較ミスを無視するため、DMASKビットストリーム中の対応するビットが「0」にセットされる。また、対応するイネーブル信号EN(i)を「0」にセットすることにより、ビットストリームTDO(i)全体を無視することができる。
【0079】
ANDゲート91のいずれの1つからのエラー信号ERB(i)も「1」になると、これは、対応するフリップフロップ92をセットされた状態にする。セットされた状態の各フリップフロップ92はその後、パターン発生器12によって読出されかつリセットされるまで、セットされた状態のままである。
【0080】
エラーフリップフロップ92を読出すため、パターン発生器12は特定のJADRアドレスをデコーダ回路94に送る。応答して、デコーダ回路94は、出力94a上に、フリップフロップ92のすべてからマルチプレクサ93を通ってエラー信号をJDATA線50に伝える信号を生成する。次に、パターン発生器12は別のJADRアドレスを送り、これは、デコーダ回路94に、出力94b上に、フリップフロップ92のすべてをリセットする信号を生成させる。
【0081】
次に図9を参照して、チップドライバ回路11の各々の中に含まれるいくつかのさらなる回路構成要素100−109を説明する。これらの構成要素100−109のすべては相互作用して、テストされている各チップ10aごとに別個の高周波クロック信号HFCK(i)を生成する。
【0082】
図9では、構成要素100は自走高周波発振器であり、構成要素101はデコーダ回路であり、構成要素102はレジスタであり、構成要素103は、選択可能な整数Nで除算する除算器回路である。構成要素104は順序ステートマシンであり、構成要素105はステートマシン104に対してカウントを保持するカウンタ回路であり、構成要素106は、ステートマシン104に対する制御信号を保持するメモリである。構成要素107はフリップフロップであり、構成要素108はORゲートであり、構成要素109は送信器である。生成される各高周波クロック信号HFCK(i)ごとに、構成要素107−109の別個の組110(i)が設けられる。
【0083】
動作において、発振器100は、単一の高周波数で自走クロックFRCK1を生成する。そのクロック信号FRCK1は除算器回路103に送られ、ここでこれは選択可能な整数Nだけ周波数を減じられる。次に、除算器103からの出力クロックFRCK2が回路107−109の各組110(i)に送られる。
【0084】
回路110(i)の各組は、選択可能なサイクルの自走クロックFRCK2を伝えることにより、高周波クロック信号HFCK(i)を生成する。伝えられるそれらのサイクルは、2つの制御信号START(i)およびSTOP(i)によって選択され、それらは順序ステートマシン104によって生成される。
【0085】
信号STOP(i)が「1」として生成されると、フリップフロップ107は、自走クロック信号FRCK2と同期してセットする。フリップフロップ107のそのセット状態は、ORゲート108の出力が常に「1」を生成するようにする。したがって、高周波クロック信号HFCK(i)は「1」状態で止められる。
【0086】
フリップフロップ107をリセットするには、ステートマシン104は「0」としてSTOP(i)信号を生成し、「1」としてSTART(i)信号を生成する。フリップフロップ107のそのリセット状態により、ORゲート108がクロック信号FRCK2を伝えるようになり、ORゲート108の出力から、高周波クロックFRCK2が送信器109を通って伝わり、ここでそれはクロック信号HFCK(i)になる。
【0087】
回路110(i)の各組ごとに制御信号STOP(i)およびSTART(i)を生成するため、ステートマシン104は、制御メモリ106に記憶されるさまざまな制御ビットを読出す。それらの制御ビットの例が図10の「1」および「0」で示される。1組の制御ビットを読出すため、ステートマシン104はアドレス線104a上のアドレスをメモリ106に送る。応答して、メモリは、アドレス指定された組の制御ビットを信号線104b上のステートマシン104に送る。
【0088】
図10は、制御ビットの各組が、ビットB1−B16として識別される16ビットからなる例を示す。始めの14ビットB1−B14の各々は、回路110(i)のうち特定の1つの動作を制御する。ビットB1は回路110(1)を制御し、ビットB2は回路110(2)を制御し、以下同じである。残余のビットB15およびB16は、ステートマシン104をシーケンスモードまたは自走モードのいずれかで動作させるモード制御ビットである。
【0089】
JDATA線上の特定のメモリアドレスとともにSTARTコマンドがデコーダ101からステートマシン104に送られるとき、それは、そのアドレスでメモリ106から制御ビットの組を読出す。ステートマシン104が、ビットB15が「1」である制御ビットの組を読出せば、ステートマシンはシーケンスモードで動作する。そのモードでは、ステートマシン104は、それがメモリ106に送るアドレスを順次インクリメントし、応答して、ステートマシンは、制御信号のアドレス指定された組を受取る。動作のこのシーケンスモードは、ビットB16が「1」である制御ビットの組を読出すまで継続し、このときに動作のシーケンスモードが停止する。
【0090】
シーケンスモードで読出される制御信号の各組ごとに、ステートマシン104は制御ビットB1−B14を調査する。「1」である、ビットB1−B14の各々は、ステートマシン104にSTOP(i)およびSTART(i)を生成させ、それにより回路110(i)は、カウンタ105が指定する数のサイクルの間クロックFRCK2を伝える。
【0091】
図10では、アドレス「A」が読出す制御ビットの組は、「1」にセットされたビットB1−B4を有する。したがって、その組の制御ビットに応答して、ステートマシン104は、回路110(1)から110(4)の各々が、カウンタ105が指定する数のサイクルの間クロック信号FRCK2を伝えるようにする。
【0092】
次に、アドレス「A+1」が読出す制御ビットの組は、「1」にセットされたビットB5−B7を有する。したがって、その組の制御ビットに応答して、ステートマシン104は、回路110(5)から110(7)の各々が、カウンタ105が指定する数のサイクルの間クロック信号FRCK2を伝えるようにする。
【0093】
次に、アドレス「A+2」が読出す制御ビットの組は、「1」にセットされたビットB8−B11を有する。したがって、制御ビットのその組に応答して、ステートマシン104は、回路110(8)から110(11)の各々が、カウンタ105が指定する数のサイクルの間クロック信号FRCK2を伝えるようにする。
【0094】
最後に、アドレス「A+3」が読出す制御ビットの組は、「1」にセットされたビットB12−B14を有する。したがって、制御ビットのその組に応答して、ステートマシン104は、回路110(12)から110(14)の各々が、カウンタ105が指定する数のサイクルの間クロック信号FRCK2を伝えるようにする。
【0095】
比較して、ステートマシン104が、ビットB15が「0」である1組の制御ビットを読出せば、ステートマシンは自走モードで動作する。そのモードでは、ステートマシン104は、それがメモリ106に送るアドレスをインクリメントしないが、代わりにステートマシンは、それが読出すただ1つの組の制御信号にと連続して動作する。
【0096】
その単一の組の制御信号を用いて、ステートマシン104はここでも制御ビットB1−B14を調査する。「1」である、ビットB1−B14の各々は、ステートマシン104にSTOP(i)およびSTART(i)信号を生成させ、それにより回路110(i)は連続してクロックFRCK2を伝える。動作のこの自走モードを終了させるには、ステートマシン104に、デコーダ101からSTOPコマンドを送る必要がある。そのコマンドは、デコーダ101が特定のJADRアドレスを受取るときに送られる。
【0097】
図10では、アドレス「A+4」が読出す制御ビットの組は、「0」にセットされたビットB15を有し、それはステートマシン104を自走モードに置く。アドレス「A+4」にある制御ビットの組においても、ビットB1−B14のすべてが「1」にセットされため、応答して、ステートマシン104は、STOPコマンドを受取るまで、回路110(1)から110(14)の各々がクロック信号FRCK2を連続して伝えるようにする。
【0098】
同様に図10では、アドレス「A+5」が読出す制御ビットの組は、「0」にセットされたB15も有し、それはステートマシン104を自走モードに置く。しかしながら、アドレス「A+5」にある制御ビットの組では、ビットB2のみが「1」にセットされるため、応答して、ステートマシン104は、回路110(2)のみにクロック信号FRCK2を連続して伝えさせる。
【0099】
図9および図10の回路構成を用いて達成される1つの特定の特徴は、それが、チップアセンブリ10中のチップ10aを、選択可能なサブセットの中で順次にまたは1組として同時にテスト可能にすることである。この特徴は、テスト中のチップ10aが、高周波クロック信号HFCK(i)を受けるときに大量の電力を消費するが、高周波クロック信号を受けないときには実質的により少ない電力しか消費しないタイプのものであるときに望ましい。そのようなチップは、たとえば、CMOSマイクロプロセッサチップおよびCMOSメモリチップを含む。高周波クロック信号HFCK(i)を同時に受けるチップ10aの数を限定することにより、チップ10aのすべてにおいて消費される総電力量を、チップのすべてが高周波クロック信号を受けるとすれば超えてしまうであろういかなる予め定められた電力限界よりも下に保つことができる。
【0100】
図9および図10の回路構成を用いて達成される別の特定の特徴は、それが、ビットの一意なストリームをチップ10aの各々の中に別個に書込むのを可能にすることである。それは、高周波クロック信号HFCK(i)をチップ10aの各々に一度に1つずつ送るようにする、メモリ106中の制御ビットを記憶することによって達成される。また、1つの特定のチップが高周波クロック信号HFCK(i)を受けているとき、そのチップに書込まれるべきデータは、TDIビットストリームとしてチップ10aのすべてに送られる。この特徴は、シリアル番号などのある一意な情報を、テスト中の各チップ10aに書込む必要があるときに望ましい。
【0101】
ここで図11を参照して、これは、図3の、以前に説明された命令31、32、33とともに、メモリ13のチップテストプログラムに含まれ得る3つのさらなる命令34、35および36を示す。命令34は、動作コードOP7、JADRフィールド34aおよびJDATAフィールド34bを含むただ1つの単一ワードW0からなる内部制御命令である。命令34がパターン発生器12によって実行されると、ステートマシン40はJADR信号線56上にJADRフィールド34aを送り、それはJDATA信号線55上にJDATAフィールド34bを送る。
【0102】
命令34を用いて、図6のレジスタ61をロードし、図10のレジスタ96および98をロードしかつ図9のレジスタ102をロードすることができる。また、命令34を用いて、図8のデコーダ94にアドレスを送り、図9のカウンタ105にカウントを送り、106上の制御メモリに制御ビットの各組を書込むこともできる。また、命令34を用いて、デコーダ101からステートマシン104へSTARTおよびSTOPコマンドを送ることもできる。
【0103】
命令35は、同様にただ1つの単一ワードW0からなる分岐命令である。命令35は、動作コードOP8、テスト条件フィールド35aおよびジャンプアドレスフィールド35bを含む。命令35がパターン発生器12によって実行されると、ステートマシン40は、テスト条件フィールド35aが指定する条件をテストする。そのテストされる条件が真ならば、メモリ13から実行される次の命令が、フィールド35b中のジャンプアドレスを引いた分岐命令35のアドレスで生じる。
【0104】
命令36は、同様に単一ワードW0からなる書込メモリ命令である。命令36は、それを書込メモリ命令として識別する動作コードOP9を含み、メモリアドレスフィールド36aを含む。命令36がパターン発生器12によって実行されると、エラー信号が図8のマルチプレクサ93から読出され、メモリアドレスフィールド36aにメモリ13に書込まれる。
【0105】
この発明に従う集積回路チップをテストするシステムの1つの好ましい実施例が詳細に説明された。しかしながら、さらに、この発明の性質および精神から逸脱することなく、この実施例の詳細に対してさまざまな変更および修正をなすことができる。
【0106】
たとえば、図2は、合計で14のスロットを有するラック20にチップテストシステムを収容する例を1つだけ図示する。しかしながら、修正例として、ラック20はいずれの数のスロットも含み得、多数のラックが存在し得る。また、各ラック中のスロットに、チップアセンブリ10、ドライバ回路11およびそのそれぞれのメモリ13を備えるパターン発生器12のいずれの組合せを入れることもできる。
【0107】
同様に、図1は、各チップアセンブリ10が、テストすべき集積回路チップ10aの4つのみを保持する例を1つだけ示す。しかしながら、修正例として、各チップアセンブリ10はいずれの所望の数の集積回路チップ10aも保持することができる。
【0108】
また、別の修正例として、図1に示されるモジュール11、12、13および14の各々は、どのタイプの回路構成からも構築可能である。たとえば、(図5、図6、図8、図9および図10に詳細に示されるような)チップドライバ回路11中の回路構成のすべておよびパターン発生器12中の回路構成のすべてをTTL回路、ECL回路、MOS回路およびCMOS回路から構築することができる。同様に、図1の各メモリモジュール13を、フリップフロップもしくはキャパシタの中にまたは磁気記憶媒体もしくは光学記憶媒体上にデータビットを記憶するものなどの、いずれのタイプのメモリセルからも構築可能である。
【0109】
同様に、図示されたチップテストシステム中の順序制御回路の各々は、いずれのタイプの内部構造も有し得る。それらの順序制御回路は、図5のパターン発生器ステートマシン40、図6のシフト制御回路70および図9のクロックシーケンスステートマシン104を含む。パターン発生器ステートマシン40のためのいずれの内部構造も、それが図7の状態S1−S11に従って動作する限りは好適である。チップ制御回路構成70のためのいずれの内部構造も、それが図7の状態S21−S23に従って動作する限りは好適である。また、図9のクロックシーケンスステートマシン104のためのいずれの内部構造も、図10と関連して説明されたように、それがシーケンスモードおよび自走モードで動作する限りは好適である。
【0110】
また、別の修正例として、各メモリモジュール13からワードとして読出されるビットの数は、いずれの予め定められた数でもあり得る。図3は、メモリモジュール13中の各ワードが「X」ビットからなるのを示す。好適には、Xは、16ビット、32ビット、48ビット、64ビットなどの整数バイトである。
【0111】
さらに、別の修正例として、テストされるチップ10aを特定の状態に置くように生成される各TMSビットストリームは、いずれの予め規定されたビットのシリーズでもあり得る。各々のビットストリームがどのようであるべきかは、チップ10aの内部構造によって定められる。1つの具体例として、TMSビットストリームを、以下に表2に示されるように予め規定しかつ生成することができる。
【0112】
表2
TMSヘッダ ヘッダに応答するチップ10aの状態
010000 命令レジスタ読出
011000 命令レジスタ書込
011100 データレジスタ読出
011110 データレジスタ書込
表2中の各TMSヘッダの後に「1」ビットのシリーズが続くが、これは、命令/データレジスタから読出されるTDOビットの数またはそれらのレジスタに書込まれるTDIビットの数と等しい。「1」ビットのそのシリーズの後に、「0」ビットのシリーズが続き、これは次のTMSヘッダが始まるまで継続する。
【0113】
別の例として、各TMSビットストリームを、いずれの所望の標準に従って予め規定しかつ生成することもできる。1つのそのような標準がIEEE1149.1バウンダリスキャン標準であり、これは本明細書中に引用により援用されている。
【0114】
さらに、図12は、パターン発生器が送るビットストリームTDI、ETDO、MASKおよびTMSの4つすべてが命令37内に明確に指定されるさらに別の修正例を示す。この命令37は、第1のワードW0中の動作コードOP10によって識別される。命令37は、送られるべきTMSビットストリームを指定する1つの新たなTMSフィールドを含む。他のフィールドBCNT、WCNT、TDI、ETDOおよびMASKのすべては、図3の命令33について以前説明された対応のフィールドと同じである。
【0115】
命令37内にTMSビットストリームを明確に規定できることにより、単一のパターン発生器12は、異なるTMSビットストリームが同じ状態に入るのを必要とする異なるタイプのチップを順次テストすることができる。しかしながら、テスト中のチップがすべて同じTMS信号シーケンスを用いるならば、命令33が命令37よりも好ましい。なぜなら命令33は25%より少ないメモリ空間を占めるからである。
【0116】
別の修正例として、命令37中のビットストリームTDI、ETDOおよびMASKのどの1つもその命令から除去することができる。TDIビットストリームが除去されれば、TMSビットストリームを所望のように指定可能であることを除き、結果は図3の以前説明された命令32と同様である。EDTOおよびMASKビットストリームが命令37から除去されれば、ここでもTMSビットストリームを所望のように指定可能であることを除き、結果は図3の以前説明された命令31と同様である。
【0117】
したがって、この発明はいずれの1つの特定の実施例または修正例の詳細に限定されるものではなく、添付の請求項によって規定されることを理解されたい。
【図面の簡単な説明】
【図1】 この発明の1つの好ましい実施例を構成するチップテストシステムのブロック図である。
【図2】 図1のチップテストシステムがどのように物理的にパッケージされるかを示す図である。
【図3】 集積回路チップをテストするため、図1のシステムが実行する3つの異なるタイプの可変長命令を示す図である。
【図4】 テストプログラムを形成するため、図3の命令がどのようにシーケンスに配置されるかの例を示す図である。
【図5】 図1のシステム中に選択された量で発生する、パターン発生器の内部詳細図である。
【図6】 図1のシステム中に選択可能な量で発生する、チップドライバ回路の内部詳細図である。
【図7】 図5のパターン発生器および図6のチップドライバ回路がどのように図1のシステム中で相互作用するかを示す図である。
【図8】 各チップドライバ回路上のさらなる回路構成であって、それにより、テストされるチップ中のエラーが検出される、図である。
【図9】 各ドライバ回路上のさらなる回路構成であって、それにより、多数のチップがプログラム制御下の選択可能なサブセット中で同時にまたは順次にテストされる、図である。
【図10】 図9の回路構成の一部である制御メモリの構造を示す図である。
【図11】 図1のチップテストシステムが実行するさらなる3つのタイプ命令を示す図である。
【図12】 図3に示される3つの命令に対してなされ得る修正を示す図である。
Claims (7)
- 集積回路チップ(10a)をテストするためのシステムであって、テスト信号を前記チップに送るのと並行して動作する多数のパターン発生器(12)を含み、
各々のパターン発生器(12)は、それ自身の別個の第1のバス(40a,40b)を介してそれぞれのメモリ(13)に結合され、各それぞれのメモリは、一度に1ワードずつ読出し可能な異なるビットストリーム(TDI,ETDO,MASK,TMS)を記憶し、
各々のパターン発生器(12)は、それ自身の別個の第2のバス(12a)を介して、並列な、選択可能な数のチップドライバ回路(11)に結合され、
各々のパターン発生器(12)は、そのそれぞれのメモリ(13)から、その別個の第2のバスに結合される前記チップドライバ回路(11)のすべてへ、1ワードずつ前記ビットストリームを同時に選択的に送るための手段(40−50,55−58)を含み、
各々のチップドライバ回路(11)は、送られるワードをビットシリアルテスト信号に変換しかつ多数のチップ(10a)を前記ビットシリアルテスト信号と同時にテストするための手段(60−71)を含み、
各々のチップドライバ回路(11)は、それぞれの多段パイプラインとしてそのパターン発生器(12)に相互結合され、ここで、各々のチップドライバ回路(11)は送られたワードを前記ビットシリアルテスト信号に変換し、同時に、各々のパターン発生器(12)はそのそれぞれのメモリ(13)から異なるワードを読み出す、請求項1に記載のシステム。 - 前記ビットストリーム(TDI,ETDO,MASK,TMS)は、1以上のビットストリームを同時に選択するいくつかの異なるコマンドコード(OP1−OP6,OP10)を有する命令の部分として各メモリ(13)に記憶され、各々のチップドライバ回路(11)は1つの特定の命令から送られたワードを変換し、同時に、前記パターン発生器(12)は別の命令からコマンドコードを読出す、請求項1に記載のシステム。
- 各々のパターン発生器(12)は、さらなる制御ビットストリーム(TMS)を内部で生成しかつ、前記さらなる制御ビットストリームを、そのそれぞれのメモリ(13)から送られる前記ビットストリームとともに、その別個のバスに結合される
チップドライバ回路(11)のすべてに送ることによって、特定のコマンドコード(OP1−OP6)に応答する、請求項2に記載のシステム。 - 各々のパターン発生器(12)はまた、前記メモリ中の単一のビットストリーム(TDI)を一度に1ワードずつ順次読出しかつ、読出されるワードを、前記内部で生成されたビットストリーム(TMS)とともに同時に送ることによって、前記特定のコマンドコード(OP1,OP2)に応答する、請求項3に記載のシステム。
- 各々のパターン発生器(12)はまた、前記メモリ中の2つのビットストリーム(ETDO,MASK)を一度に1ワードずつ順次読出しかつ、読出されるワードを、前記内部で生成されたビットストリーム(TMS)とともに同時に送ることによって、前記特定のコマンドコード(OP3,OP4)に応答する、請求項3に記載のシステム。
- 各々のパターン発生器(12)はまた、前記メモリ中の3つのビットストリーム(TDI,ETDO,MASK)を一度に1ワードずつ順次読出しかつ、読出されるワードを、前記内部で生成されたビットストリーム(TMS)とともに同時に送ることによって、前記特定のコマンドコード(OP5,OP6)に応答する、請求項3に記載のシステム。
- 各々のパターン発生器(12)は、一切のさらなるビットストリームを内部で生成したり送ったりすることなく、前記メモリから読出されるビットストリームのワードを送ることによって、特定のコマンドコード(OP10)に応答する、請求項2に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/386,946 | 1999-08-31 | ||
US09/386,946 US6363510B1 (en) | 1999-08-31 | 1999-08-31 | Electronic system for testing chips having a selectable number of pattern generators that concurrently broadcast different bit streams to selectable sets of chip driver circuits |
PCT/US2000/023216 WO2001016613A1 (en) | 1999-08-31 | 2000-08-23 | Tester for concurrently testing multiple chips |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003508758A JP2003508758A (ja) | 2003-03-04 |
JP3827575B2 true JP3827575B2 (ja) | 2006-09-27 |
Family
ID=23527768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001520117A Expired - Fee Related JP3827575B2 (ja) | 1999-08-31 | 2000-08-23 | 多数のチップを同時にテストするためのテスタ |
Country Status (5)
Country | Link |
---|---|
US (1) | US6363510B1 (ja) |
EP (1) | EP1212629B1 (ja) |
JP (1) | JP3827575B2 (ja) |
DE (1) | DE60015991T2 (ja) |
WO (1) | WO2001016613A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651203B1 (en) * | 1999-05-17 | 2003-11-18 | Infineon Technologies Ag | On chip programmable data pattern generator for semiconductor memories |
US6502051B1 (en) * | 2000-03-16 | 2002-12-31 | Sun Microsystems, Inc. | Method and apparatus for optimizing testing sequences for electronic equipment |
TWI278778B (en) * | 2002-05-06 | 2007-04-11 | Nextest Systems Corp | Apparatus for testing semiconductor devices and method for use therewith |
US7080283B1 (en) * | 2002-10-15 | 2006-07-18 | Tensilica, Inc. | Simultaneous real-time trace and debug for multiple processing core systems on a chip |
US6941232B2 (en) * | 2003-01-28 | 2005-09-06 | Texas Instruments Incorporated | Method and apparatus for performing multi-site integrated circuit device testing |
US6910162B2 (en) * | 2003-05-12 | 2005-06-21 | Kingston Technology Corp. | Memory-module burn-in system with removable pattern-generator boards separated from heat chamber by backplane |
DE10324080B4 (de) | 2003-05-27 | 2006-03-23 | Infineon Technologies Ag | Verfahren zum Testen von zu testenden Schaltungseinheiten in einer Testvorrichtung |
DE10326317B4 (de) * | 2003-06-11 | 2007-05-10 | Infineon Technologies Ag | Testsystem zum Testen von integrierten Bausteinen |
US7613184B2 (en) * | 2003-11-07 | 2009-11-03 | Alcatel Lucent | Method and apparatus for performing scalable selective backpressure in packet-switched networks using internal tags |
US7181661B2 (en) * | 2004-02-04 | 2007-02-20 | International Business Machines Corporation | Method and system for broadcasting data to multiple tap controllers |
US20060125504A1 (en) * | 2004-12-10 | 2006-06-15 | Systems On Silicon Manufacturing Company Pte. Ltd. | Printed circuit board for burn-in testing |
KR100660640B1 (ko) * | 2005-08-18 | 2006-12-21 | 삼성전자주식회사 | 웨이퍼 자동선별 테스트를 위한 데이터 기입 장치 및 방법 |
JP2007101395A (ja) * | 2005-10-05 | 2007-04-19 | Sony Corp | 回路装置の検査装置、検査方法及び製造方法 |
US7765450B2 (en) * | 2005-10-20 | 2010-07-27 | Jon Udell | Methods for distribution of test generation programs |
US7478298B2 (en) * | 2006-01-26 | 2009-01-13 | Honeywell International Inc. | Method and system for backplane testing using generic boundary-scan units |
US7511525B2 (en) * | 2006-01-26 | 2009-03-31 | Honeywell International Inc. | Boundary-scan system architecture for remote environmental testing |
US7523368B2 (en) * | 2006-01-26 | 2009-04-21 | Honeywell International Inc. | Diagnostics unit using boundary scan techniques for vehicles |
US8516305B2 (en) * | 2010-09-01 | 2013-08-20 | Advanced Micro Devices, Inc. | Power dissipation test method and device therefor |
CN110806539B (zh) * | 2019-11-26 | 2021-12-28 | 深圳赛意法微电子有限公司 | 一种继电器与驱动芯片的检测器 |
CN115037419B (zh) * | 2022-08-11 | 2023-01-31 | 德州鲲程电子科技有限公司 | 用于芯片测试过程中的不定长编码数据串行传输的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4928278A (en) * | 1987-08-10 | 1990-05-22 | Nippon Telegraph And Telephone Corporation | IC test system |
DE4028819A1 (de) * | 1990-09-11 | 1992-03-12 | Siemens Ag | Schaltungsanordnung zum testen eines halbleiterspeichers mittels paralleltests mit verschiedenen testbitmustern |
US5390129A (en) * | 1992-07-06 | 1995-02-14 | Motay Electronics, Inc. | Universal burn-in driver system and method therefor |
KR970010656B1 (ko) * | 1992-09-01 | 1997-06-30 | 마쯔시다 덴기 산교 가부시끼가이샤 | 반도체 테스트 장치, 반도체 테스트 회로칩 및 프로브 카드 |
US5504670A (en) * | 1993-03-31 | 1996-04-02 | Intel Corporation | Method and apparatus for allocating resources in a multiprocessor system |
EP0642083A1 (en) * | 1993-09-04 | 1995-03-08 | International Business Machines Corporation | Test circuit and method for interconnect testing of chips |
-
1999
- 1999-08-31 US US09/386,946 patent/US6363510B1/en not_active Expired - Fee Related
-
2000
- 2000-08-23 DE DE60015991T patent/DE60015991T2/de not_active Expired - Fee Related
- 2000-08-23 JP JP2001520117A patent/JP3827575B2/ja not_active Expired - Fee Related
- 2000-08-23 EP EP00959345A patent/EP1212629B1/en not_active Expired - Lifetime
- 2000-08-23 WO PCT/US2000/023216 patent/WO2001016613A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US6363510B1 (en) | 2002-03-26 |
JP2003508758A (ja) | 2003-03-04 |
EP1212629B1 (en) | 2004-11-17 |
DE60015991T2 (de) | 2005-11-03 |
WO2001016613A1 (en) | 2001-03-08 |
EP1212629A1 (en) | 2002-06-12 |
DE60015991D1 (de) | 2004-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3827575B2 (ja) | 多数のチップを同時にテストするためのテスタ | |
US4885538A (en) | Low data rate low noise serial digital communication link for magnetic resonance imaging systems | |
US6430718B1 (en) | Architecture, circuitry and method for testing one or more integrated circuits and/or receiving test information therefrom | |
US7290192B2 (en) | Test apparatus and test method for testing plurality of devices in parallel | |
US8521465B2 (en) | General purpose protocol engine | |
US4504783A (en) | Test fixture for providing electrical access to each I/O pin of a VLSI chip having a large number of I/O pins | |
US7003697B2 (en) | Apparatus having pattern scrambler for testing a semiconductor device and method for operating same | |
KR100465085B1 (ko) | 집적 회로 테스터를 위한 가상 채널 데이터 분산 시스템 | |
US6363504B1 (en) | Electronic system for testing a set of multiple chips concurrently or sequentially in selectable subsets under program control to limit chip power dissipation | |
EP1226446B1 (en) | System for testing ic chips selectively with stored or internally generated bit streams | |
JP3762701B2 (ja) | Icチップを試験するためのアルゴリズム試験パターン生成器 | |
JP3581688B2 (ja) | チップテスタシステムのための可変長パターン発生器 | |
US5563524A (en) | Apparatus for testing electric circuits | |
JP3591646B2 (ja) | Icチップを試験するための多段アルゴリズムパターン生成器 | |
US6477676B1 (en) | Intermediate stage of a multi-stage algorithmic pattern generator for testing IC chips | |
WO1998023968A1 (fr) | Generateur de configuration | |
US7343532B2 (en) | Testing memory units in a digital circuit | |
US6480981B1 (en) | Output stage of a multi-stage algorithmic pattern generator for testing IC chips | |
JPH09178824A (ja) | Ic試験装置のパターン発生装置 | |
KR19990040365U (ko) | 메모리 디바이스의 테스트 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040720 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041019 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050705 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050729 |
|
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: 20060606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060704 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |