(57)【特許請求の範囲】
【請求項１】
テストベクトルを圧縮する方法であって、
少なくとも１つの要素がドントケア状態を示すドントケア値を含む要素シーケンスを有するテストベクトルを生成するステップと、
前記テストベクトルと同数の要素を有する、要素のランダムシーケンスを生成するステップと、
前記テストベクトルの要素を複数のテストベクトルセグメントに順次区分するステップと、
同様に前記ランダムシーケンスの要素を前記テストベクトルセグメントに対応する複数のランダムシーケンスセグメントに区分するステップと、
前記テストベクトルセグメントのそれぞれを対応するランダムシーケンスセグメントと比較するステップと、
前記比較に基づいて圧縮テストベクトルを作成するステップと、
からなり、
前記圧縮テストベクトルを作成するステップが、
（ａ）前記対応するセグメントが一致するか否かを検討するステップと、
（ｂ）一致する場合に、第１フラグ値を第１シーケンスへと順次挿入するステップと、
（ｃ）一致しない場合に、第２フラグ値を前記第１シーケンスに順次挿入し、当該第２フラグ値に続いて、当該一致しないテストベクトルセグメントの要素を前記第１シーケンスに挿入するステップを含む方法。
【請求項２】
前記テストベクトルセグメントの全てが検討されるまで、前記検討するステップ（ａ）及び前記順次挿入するステップ（ｂ）、（ｃ）を繰り返すステップをさらに含み、それによって、前記第１シーケンスから前記圧縮テストベクトルが作成される請求項１に記載の方法。
【請求項３】
前記検討するステップ（ａ）において、前記テストベクトルセグメントの各要素が、前記対応するランダムシーケンスセグメントの対応する要素と一致している場合に、対応するセグメントが一致する請求項１に記載の方法。
【請求項４】
前記検討するステップ（ａ）の間、それぞれの要素が同じ値を有する場合、又は前記テストベクトルセグメントの要素がドントケア値を有する場合に、前記テストベクトルセグメントの要素が前記ランダムシーケンスセグメントの対応する要素と一致する請求項３に記載の方法。
【請求項５】
前記圧縮テストベクトルを圧縮解除して圧縮解除テストベクトルを生成するステップをさらに含む請求項１に記載の方法。
【請求項６】
前記圧縮解除するステップが、
（ｄ）前記第１フラグ値及び前記第２フラグ値に関して、前記圧縮テストベクトルを順次調べるステップと、
（ｅ）前記第１フラグ値が見つかった場合、前記ランダムシーケンスの対応する要素を第２シーケンスに順次挿入するステップと、
（ｆ）前記第２フラグ値が見つかった場合、前記第２フラグ値に続く前記圧縮テストベクトルの要素を前記第２シーケンスに順次挿入するステップを含む請求項５に記載の方法。
【請求項７】
前記圧縮解除するステップが、前記圧縮テストベクトルの全ての要素が調べられるまで、前記調べるステップ（ｄ）及び前記順次挿入するステップ（ｅ）、（ｆ）を繰り返すステップをさらに含み、それによって、前記第２シーケンスから圧縮解除されたテストベクトルが生成される請求項６に記載の方法。
【請求項８】
前記圧縮解除されたテストベクトルが完全指定テストベクトルである請求項７に記載の方法。
【請求項９】
前記対応する要素を順次挿入するステップ（ｅ）の前に、前記圧縮解除するステップが、
前記ランダムシーケンスを生成するステップにおいて生成される前記ランダムシーケンスと同様の、要素の他のランダムシーケンスを生成するステップと、
前記順次挿入するステップ（ｅ）において、前記他のランダムシーケンスからの対応する要素を利用するステップをさらに含む請求項６に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は複雑なシステムや集積回路を試験する為の自動試験装置に関する。より詳細には、本発明は、自動試験装置で利用されるテストベクトルの生成及び記憶に関する。
【０００２】
【従来の技術】
システム及び、システムを一定不変に構成する集積回路（ＩＣ）すなわち半導体装置は弛まなく進歩し、その複雑化は益々進んでいる。このような複雑化はこれまでにも実際に経験されたことであり、また、将来的にも一層進行することが予想される為、これらのシステム及びそれらを構成する回路を試験する為の自動試験装置（ＡＴＥ）の利用も広範囲に広がっている。実際、システムの複雑化が進み、手動による精密なかつ完全な試験が現実的ではなく、又は不可能でさえある程度にまで達している場合もある。ＡＴＥを利用した自動試験は、システムが複雑である場合に、精密なかつ相対的に完成された試験を実施できることに加え、システム及び／又はその構成部品の製造コストを大幅に削減することが可能である。近年では、単純なシステムやＩＣの試験においてでさえＡＴＥの利用が広がる傾向にある。現在、主要なシステム及びＩＣの製造ラインのほとんどが、何らかの形態のＡＴＥを利用していると言える。
【０００３】
図１Ａのブロック図に示すように、代表的なＡＴＥ 10は中央処理装置（ＣＰＵ）14、メモリ12、入出力（Ｉ／Ｏ）ハードウエア16、そして通常は何らかの形態のオペレータインタフェース18を含んでいる。ＣＰＵ 14は、メモリ12に記憶されたテストベクトルを利用してＡＴＥ 10が実施する操作を制御する。多くの場合外部ソース20により生成されたテストベクトルが、Ｉ／Ｏハードウエア16を利用してＡＴＥへと送られ、メモリ12へとロードされる。自動試験が実施される間、ＣＰＵ 14はテストベクトルをメモリから読み出し、Ｉ／Ｏハードウエア16を制御して被験装置（ＤＵＴ）30の試験を管理する。オペレータはオペレータインタフェース18を介してＡＴＥと対話する。説明の便宜上、試験が行われているシステム又はＩＣを、以下ＤＵＴと称する。
【０００４】
先にも述べたように、代表的なＡＴＥによる自動試験においてはテストベクトルが使用される。テストベクトルとは、実行されるべき試験操作及び／又は試験されているシステム又はＩＣに対してＡＴＥによって印加されるべき試験値のシーケンスである。最新型ＡＴＥにおいて、テストベクトルは、デジタル演算機能及びＡＴＥ内のメモリを膨大に使用すること、並びに複雑なシステムが主にデジタル形であることから、バイナリシーケンスである。ＡＴＥが利用する各テストベクトルは、通常、試験されるシステム又はＩＣのデザインデータベース又は機能を記述した仕様を最初に照会することによって生成される。所定のＤＵＴに対するテストベクトルは、所望のＤＵＴ機能試験をＡＴＥの機能試験能力へと「マッピング」すること、すなわち変換することによって生成される。その後このテストベクトルは、通常はＡＴＥへと送られ、ＡＴＥのメモリ内に記憶される。このテストベクトルは後にＡＴＥによるＤＵＴの試験を制御する。
【０００５】
図１Ｂは、ＡＴＥ 10を利用したＤＵＴの自動試験を実施する従来方法における手順を示すフローチャートである。この自動試験方法は、設計仕様を照会するステップ40を含む。設計仕様はＤＵＴの性能を画定し、自動試験中に実施されるべき試験の決定を容易にする。自動試験方法は更に、テストベクトルを生成するステップ42を含む。テストベクトルを生成するステップでは、通常、設計仕様からの情報を利用してＤＵＴを適正に試験するテストベクトルを生成する為の自動テストパターン発生器（ＡＴＰＧ）と呼ばれる装置又はコンピュータプログラムが使用される。従来の自動試験方法においては、テストベクトルを生成するステップ42に続いて、完全指定テストベクトルを作成するステップ44が実行される。テストベクトルを生成するステップ42によって生成されるテストベクトルは、一般的に、所謂「ドントケア」状態を複数（多数含む場合が多い）有する。完全指定テストベクトルを作成するステップ44は、そのテストベクトル中の「ドントケア」状態に対して明確な数値を割り当てる。この割り当て処理は、ランダムシーケンスを生成するステップ43において生成されたランダムシーケンスを利用して実施されることが多い。
【０００６】
従来の自動試験方法においては、完全指定テストベクトルを作成するステップ44に続き、随意選択ステップとして、テストベクトルのサイズを小さくする為の完全指定テストベクトルを圧縮するステップ46が実施される場合がある。自動試験方法は更に、完全指定テストベクトル及び場合によっては圧縮完全指定テストベクトルをＡＴＥ 10のメモリ12へと伝送し、記憶するステップ48を含む。試験するステップ52において、ＡＴＥ 10が、記憶された完全指定テストベクトルを利用して、自動試験処理手順は終了する。完全指定テストベクトルが圧縮されている場合には、圧縮解除するステップ50において完全指定テストベクトルを圧縮解除しなければならない。圧縮及び圧縮解除する随意選択ステップ46及び50は、図１Ｂにおいて点線で表す箱により示した。
【０００７】
上述したように、テストベクトルはバイナリシーケンスである。以下の説明においては、殆どの場合、一般論としてデジタル装置をバイナリテストベクトルで試験することを想定している。当事者であれば、以下に説明する概念を容易にデジタル試験状況へと拡張することができる。ＡＴＥの試験機能は、通常、所定のＤＵＴに対して要求される機能試験を超える。更に、操作状況の検証及び／又は不具合の個所の特定を行う為に、一般的なＤＵＴにおいて入出力の可能な組み合わせ全てを試験しなければならないわけではない。従って、テストベクトルは指定状態（すなわち明確に指定された数値を持つもの）に加え、指定されていない、すなわち「ドントケア」状態を例外なく多数含んでいる。多くの場合、所定のテストベクトルには指定状態よりも多数の「ドントケア」状態が含まれている。
【０００８】
本願においては、「指定状態」とは、ＤＵＴ試験機能をＡＴＥ試験機能へとマッピングした結果、特定値が割り当てられたテストベクトル要素を指す。また、「ドントケア」状態とは、ＤＵＴとＡＴＥの間の機能マッピングにより指定されなかったテストベクトル要素であり、つまりテストベクトル要素に課せられた制約範囲にある限りいずれの値であっても良い。例えば、バイナリテストベクトルの場合、指定状態とはマッピングにより指定された「１」又は「０」のいずれかである。「ドントケア状態」はマッピングにより指定されない「１」又は「０」のいずれかである。
【０００９】
ここまでの説明で述べたように、テストベクトルは通常、ＡＴＰＧとして知られる装置又はコンピュータプログラムを利用して構築、すなわち生成される。デジタルの場合、ＡＴＰＧは一般的に、{１、０、Ｘ}から成る３値論理を用いてＤＵＴ試験スペックに基づきテストベクトルを生成するが、この場合Ｘは「ドントケア」状態を示す「ドントケア」値である。従ってテストベクトルは、最初は「１」、「０」及び「Ｘ」のシーケンスで満たされている。ＡＴＰＧがどのようにテストベクトルを決定し、構築するかは本願の範囲外にある。しかしながら、概して、ＡＴＰＧは一般的に全ての潜在的不具合を発見する確率を最大化しつつ、同時に所定ＤＵＴの試験に要する時間を最短化するテストベクトルを構築しようとするものである。
【００１０】
ＡＴＥメモリへと送られ、ＡＴＥメモリに記憶される場合、テストベクトルは明確な値を持っていなければならない。従ってＡＴＰＧは全ての「ドントケア」状態に対して決定的な値を割り当てなければならない。一般的にＡＴＰＧによる「ドントケア」状態への値の割り当ては、ランダムシーケンス発生器を利用して実施される。ランダムシーケンス発生器は、テストベクトルの「ドントケア」状態をランダム値で「満たす」。例えばバイナリテストベクトルの場合、まず指定状態に「１」又は「０」の適切な値が割り当てられ、その後ランダムバイナリストリングを生成するランダムシーケンス発生器が照会され、「ドントケア」状態が満たされる。
【００１１】
図２は、ＡＴＰＧにより生成された代表的なテストベクトルの一例と、従来の完全指定テストベクトルを生成する為にランダムシーケンスを利用して「ドントケア」状態を満たす処理を説明する。図２の最上行81には、ＡＴＰＧにより生成された「ドントケア」状態を含むシーケンスが示されている。次の行82には、ランダムシーケンス発生器により生成され得るランダムバイナリシーケンスが示される。そして図２の最終行83には、「ドントケア」状態がランダムシーケンス中の対応ビットで置き換えられた、完全指定テストベクトルが示されている。従来方法においては、図２の最終行83の最終シーケンスがＡＴＥのメモリへと送られ、ＡＴＥのメモリに記憶される。本願においては、「ドントケア」状態を含むテストベクトルから区別する為に、この満たされたテストベクトルを「完全指定」テストベクトルと呼ぶ。
【００１２】
従来、完全指定テストベクトルはＡＴＥのメモリへと送られ、ＡＴＥのメモリに記憶される。テストベクトルのサイズが非常に大きく、ＡＴＥのメモリの殆どの領域を占有してしまうことがある。ＡＴＥ中にテストベクトルを記憶しておく為に必要なメモリのコストがＡＴＥ全体のコストの50%にまで及ぶ場合も多い。更に、ＡＴＥのメモリのコストを問わない場合であっても、テストベクトルをＡＴＥのメモリへ伝送する時間が重要視されることがある。更に装置によっては、テストベクトルを記憶する為に所定のＡＴＥの持つ容量よりも大量のメモリ容量を必要とする場合もある。従って、テストベクトルを圧縮し、所定のテストベクトルに要するメモリ容量を最少化する為の手法を考案することは、有益である。
【００１３】
従来のテストベクトル圧縮手法には、（ｉ）テストベクトルを符号化する何らかの方式を利用する方法、及び（ii）１つのテストベクトルを、一方がデータビット、他方が制御プログラムを含む一対のベクトルへと分割する方法が含まれる。この２つの手法のうち、前者はディスクドライブやデジタル通信等の技術分野で利用されている従来の圧縮技術を借りた手法である。完全指定テストベクトルに対して圧縮アルゴリズムが適用される。圧縮アルゴリズムは、符号化技術を通常利用して冗長を排除することにより、完全指定テストベクトルのサイズを縮小する。圧縮テストベクトルはＡＴＥのメモリへ送られ、ＡＴＥのメモリに記憶される。ＡＴＥによる試験の実施中、圧縮テストベクトルは、圧縮に利用された圧縮アルゴリズムを逆にしたものを使用して圧縮解除される。この手法によれば、50%に達するバイナリテストベクトルの圧縮を達成することができる。当業者であれば、完全指定テストベクトルの圧縮に適用可能な複数の圧縮アルゴリズムを容易にあげることができる。
【００１４】
テストベクトル圧縮の第二の手法は、ＡＴＰＧにより生成された完全指定テストベクトルを２つ以上のより小さなベクトル（これらを併せても元の完全指定テストベクトルよりも小さくなる）へと分離する為のアルゴリズムを使用する。これら２つの小さなベクトルは、一般に、「データ」を含むベクトル、及び「命令」を含むベクトルとして区別される。データベクトルと命令ベクトルを共に使用することにより、ＡＴＰＧにより作成された元の完全指定テストベクトルに相当する完全指定テストベクトルを再構成することができる。勿論、この手法を完全指定テストベクトルの圧縮に使用するには、ＡＴＥに「命令実行」能力がなければならない。ＡＴＥに命令実行能力を付与することは、第一の圧縮手法に要した圧縮解除アルゴリズムを実行することと、基本的には相違しない。G.Lesmeisterによる米国特許第5,696,772号には、この形式の圧縮方法の一例が記載されている。
【００１５】
通常、ＡＴＥはごく一般的なソフトウエアプログラムをＡＴＥの中央処理装置（ＣＰＵ）中で実行する能力を備える。従って、上述した圧縮手段によりＡＴＥに課せられた圧縮解除に対する要件はたいした制約とはならない。上述したいずれのテストベクトル圧縮方式においても、ＡＴＰＧにより生成され、圧縮アルゴリズムによって処理されるテストベクトルは、完全指定テストベクトルである。
【００１６】
【発明が解決しようとする課題】
従って、ＡＴＥにおいて使用されるテストベクトルを生成し、記憶する為の方法として、これらのパターンを記憶する為に要するメモリ容量を大幅に縮小することができる方法が望まれている。更に、このような方法は、テストベクトルの圧縮を容易にする為に、一般的にテストベクトルの完全指定処理を行う前に存在する「ドントケア」状態を利用するものであることが望ましい。このような方法によれば、平均圧縮効率は大幅に改善し、これによりＡＴＥ試験の分野において長い間望まれていたテストベクトルメモリの縮小化を図ることができる。
【００１７】
【課題を解決するための手段】
本発明は新規のテストベクトル圧縮方法を提供するものである。本テストベクトル圧縮方法は、自動試験装置（ＡＴＥ）と共働して使用するための圧縮テストベクトルを生成するものである。
【００１８】
本発明の一態様においては、テストベクトルを圧縮する方法が提供される。本圧縮方法は、要素のシーケンスを有するテストベクトルを生成するステップと、このテストベクトルと少なくとも同じ数の要素を有するランダムシーケンスを生成するステップとを含む。テストベクトル要素のうち少なくとも１つの要素は「ドントケア」状態を示す「ドントケア」値である。本圧縮方法は更に、テストベクトルをテストベクトル要素の複数のセグメントへと順次区分して行くステップと、同様にランダムシーケンスをランダムシーケンス要素の対応する複数のセグメントへと区分するステップとを含む。テストベクトルの各セグメントはランダムシーケンスの対応するセグメントと比較され、これらの対応するセグメントが一致するかしないかが判定される。一致が見つかると、第１シーケンスに第１フラグ値が逐次挿入される。不一致が見つかると、第１シーケンスに、第２フラグ値が逐次挿入されるとともに、不一致となったテストベクトルセグメントの要素が逐次挿入されて行く。圧縮テストベクトルは、全セグメントの比較が終了した後に第１シーケンスから生成される。
【００１９】
本発明の方法により生成された圧縮テストベクトルは、ＡＴＥのメモリへ伝送し、ＡＴＥのメモリに記憶することができる。更に、本発明に基づく圧縮方法は、圧縮するステップの前に実施される「ドントケア」状態を指定する処理を排除することができる。本発明の方法により生成された圧縮テストベクトルに要する記憶容量は、ＡＴＥに従来利用されている完全指定テストベクトルに要するものよりも大幅に小さい。
【００２０】
一実施例において、テストベクトルの圧縮方法は更に、圧縮テストベクトルを圧縮解除し、ＡＴＥで従来利用されている完全指定テストベクトルと同一である圧縮解除テストベクトルを生成するステップを含む。ＡＴＥは、本発明の方法に基づいて圧縮解除に対して適合させることができる。圧縮解除は、圧縮テストベクトルが第１フラグ値であるか、第２フラグ値であるかを順次調べるステップを含む。第１フラグ値が見つかった場合、対応するランダムシーケンス要素が第２シーケンスへと挿入される。第２フラグ値が見つかった場合、その第２フラグ値の後に続く圧縮テストベクトル要素が第２シーケンスへと挿入される。圧縮解除テストベクトルは、圧縮テストベクトル全体が調べられた後に、第２シーケンスから生成される。圧縮解除テストベクトルは、ＡＴＥに従来利用されているものと同様の完全指定テストベクトルである。
【００２１】
本発明の他の態様において、要素のシーケンスを有するテストベクトルの圧縮及び圧縮解除方法が提供される。この方法は、少なくともテストベクトルと同じ数の要素を有するランダムシーケンス要素を生成するステップを含む。この方法は更に、テストベクトルをテストベクトル要素の複数のセグメントへと順次区分するステップ（ここではテストベクトルの少なくとも１つの要素が「ドントケア」値を含む）と、同様にランダムシーケンスをランダムシーケンス要素の対応する複数のセグメントへと区分するステップを含む。この方法は更に、ランダムシーケンスの対応するセグメントにテストベクトルの各セグメントを比較して、対応するこれらのセグメントが一致するかどうかを判定するステップを含む。一致する対応するセグメントにはあるフラグ値を挿入し、一致しない対応するセグメントには他の異なるフラグ値を挿入することによりテストベクトルが圧縮される。その後圧縮テストベクトルは、これらの異なるフラグ値に基づいて完全指定テストベクトルへと圧縮解除される。
【００２２】
テストベクトルを圧縮し及び圧縮解除する方法の一実施例において、圧縮するステップは、対応するランダムシーケンスセグメントに一致する各テストベクトルセグメントについて、第１フラグ値を第１シーケンスへと順次挿入するステップを含む。圧縮処理は更に、対応するランダムシーケンスセグメントに一致しない各テストベクトルセグメントについて、第２フラグ値を第１シーケンスへと順次挿入し、これに続いて不一致であるテストベクトルセグメントの要素を第１シーケンスへと挿入するステップを含む。圧縮テストベクトルは、全てのセグメントが検討された後に、第１シーケンスから生成される。
【００２３】
テストベクトルを圧縮し及び圧縮解除する方法の他の実施例において、圧縮解除するステップは、ランダムシーケンスを生成するステップで生成されたランダムシーケンスと同様の要素の他のランダムシーケンスを生成するステップと、一致を示す各フラグ値について、該他のランダムシーケンスの対応する要素を第２シーケンスへと順次挿入するステップと、不一致を示す各フラグ値に続く圧縮テストベクトル要素を第２シーケンスへと順次挿入するステップとを含む。圧縮解除テストベクトルは、圧縮テストベクトル全体が検討された後に第２シーケンスから生成される。この圧縮解除テストベクトルは完全指定テストベクトルである。
【００２４】
本発明によれば、テストベクトルセグメント中の各要素が、これに対応するランダムシーケンスセグメント中の対応要素にそれぞれ一致していれば、対応するセグメントは一致している。更に、テストベクトルセグメントのある要素とランダムシーケンスセグメントの対応する要素が同じ値を持っている場合、又はテストベクトルセグメント要素が「ドントケア」値を有する場合、このテストベクトルセグメント要素は対応するランダムシーケンスセグメント要素に一致している。圧縮テストベクトルはＡＴＥのメモリへと送られ、ＡＴＥのメモリに記憶される。ＡＴＰＧが生成したテストベクトルに一般的に含まれる「ドントケア」状態の数を理由の１つとして、この圧縮テストベクトルは、従来方法を利用してテストベクトルから生成された完全指定テストベクトルと比べると、メモリ内で大幅に小さな記憶空間しか必要としないことが利点として挙げられる。ＡＴＥが本発明の圧縮解除するステップに対応するように変更されれば、従来のＡＴＥにより圧縮解除するステップを実施することができる。
【００２５】
本発明の様々な特徴及び利点は、添付図を参照しつつ以下の詳細な説明を読むことにより明らかとなる。図において、同様の構成要素は同様の符号で示した。
【００２６】
【発明の実施の形態】
本発明は、自動試験装置（ＡＴＥ）と共に使用されるテストベクトルを圧縮及び圧縮解除する為の新規の方法である。本発明の方法は、自動テストパターン発生器（ＡＴＰＧ）により生成されたテストベクトルから圧縮テストベクトルを生成する。本発明の方法により生成された圧縮テストベクトルは、ＡＴＥのメモリへと送られ、ＡＴＥのメモリに記憶可能である。この圧縮テストベクトルの利点は、その記憶に要する容量が、ＡＴＥに従来利用されている完全指定テストベクトルの記憶に要する容量よりも大幅に小さいことである。更に本発明によれば、ＡＴＥの作動中において、ＡＴＥは圧縮テストベクトルを圧縮解除し、自動試験に利用される完全指定テストベクトルを生成することができる。
【００２７】
図３は、自動試験装置（ＡＴＥ）と共に利用されるテストベクトルを圧縮し及び圧縮解除する為の本発明に基づく方法100を説明するフローチャートである。本発明の圧縮及び圧縮解除方法100は、圧縮方法100aと圧縮解除方法100bを含む。圧縮方法100aは圧縮テストベクトルを生成し、圧縮解除方法100bは圧縮テストベクトルを圧縮解除して完全指定テストベクトルを生成する。
【００２８】
圧縮方法100aは、好ましくは自動テストパターン発生器（ＡＴＰＧ）により、又は好適な他の手段により、指定状態及び「ドントケア」状態を含むテストベクトルを生成するステップ102を含む。この生成するステップ102は、ＡＴＥ用のテストベクトルを生成する従来方法のいずれを採用したものであっても良い。従って、例えばバイナリテストベクトルを生成するステップ102においては、｛０、１、Ｘ｝の要素の組から構成されるテストベクトル（Ｘは「ドントケア」状態又は値を示す）が結果として生じる。このようなテストベクトルが、一例として、図４のコラム１の第１行121に示される。「ドントケア」状態を含むテストベクトルを生成するためのいずれの従来方法も、本発明の範囲に含まれる。更に本発明の方法100は、ＤＵＴに印加する少なくとも１つの、好ましくは全てのテストベクトルに適用することができる。
【００２９】
図３に示したように、方法100aは更に、ランダムシーケンス発生器を利用してランダムシーケンスを生成するステップ104を含む。図４を参照すると、コラム１の第２行122はランダムシーケンスを生成するステップ104から結果生じるランダムシーケンスの一例を示す。ランダムシーケンスは、ランダムシーケンスを生成するための周知のアルゴリズムのうちのいずれによっても生成することができる。唯一の条件は、このように生成されるランダムシーケンスには再現性がなければならないということである。所定の「シード」値、すなわち初期値が特有のランダムシーケンスを生成することは、ディジタルコンピューターに利用されるランダムシーケンス発生器の共通の特性である。同じシード値は、同じランダムシーケンス、より正確には疑似ランダムシーケンスを常に生成する。当業者は、相当以上の実験をすることなく、好適なランダムシーケンス発生器を容易に特定することができる。全てのこのようなランダムシーケンス発生器又はアルゴリズムは本発明の範囲内に入るものである。
【００３０】
再度図３を参照して、方法100aは更に、テストベクトル及びランダムシーケンスを複数のテストベクトルセグメント及び複数のランダムシーケンスセグメントへと区分するステップ106を含む。これらのセグメントの長さは固定長又は可変長のいずれであっても良い。例えばセグメント長を４とした場合、区分するステップ106は、テストベクトル及びランダムシーケンスの各々から、それぞれに４個の要素群を順次選択し、これらの要素を順次テストベクトルセグメント及びランダムシーケンスセグメントに割り当てるステップ106aを含む。図４に示す例を再度参照すると、区分するステップ106から得られた結果がコラム２の第１行131及び第２行132に示されている。図４に示す例において、セグメントサイズは４に固定されている。セグメントサイズを固定長の４としたのは、単に便宜上のことであり、本発明の範囲を限定する意図はない。コラム２の第１行131は区分化されたテストベクトルに相当し、コラム２の第２行132は区分化されたランダムシーケンスに相当する。
【００３１】
方法100aは更に、図３に示されるように区分されたテストベクトルのセグメントを対応する区分されたランダムシーケンスのセグメントと比較するステップ108を含む。この比較するステップ108において、区分されたテストベクトルの各セグメント中の要素が、区分されたランダムシーケンスの対応するセグメント中の対応する要素と比較される。所定のテストベクトルセグメントの全ての要素が対応するランダムシーケンスセグメントの対応要素に一致している場合、これらのセグメントは一致しているものとみなされる。この比較処理は、各セグメントに対して「一致」又は「不一致」のいずれかの判定結果を出すものである。
【００３２】
テストベクトルセグメントからのある要素とランダムシーケンスセグメントからの要素の一対が互いに「合致」している場合、この一対の要素は一致しているものとみなされる。例えば、テストベクトルセグメントの所定位置に「０」があり、ランダムシーケンスセグメントの対応位置に「０」があるという状態である。表１はこの概念を延長したもので、テストベクトルセグメント及びランダムシーケンスセグメントの要素の全ての可能な状態について一致又は不一致を定義するものである。「テストベクトルビット」の項目はテストベクトルセグメントからの要素に対応し、「ランダムシーケンスビット」の項目はランダムシーケンスセグメントからの要素に対応する。表１に示した例は、｛０、１、Ｘ｝の組のいずれかの値を持つ要素から構成される３値論理を想定したものであり、ここでＸは「ドントケア」状態を表す。従って、テストベクトルセグメントにおける「１」はランダムシーケンスセグメントにおける「１」と、そして「０」は「０」と一致し、「Ｘ」は「１」又は「０」のいずれかに一致する。
【００３３】
【表１】
0004194785.tif 000002
【００３４】
図３の説明に戻ると、方法100aは更に圧縮テストベクトルを作成するステップ110を含んでいるが、この処理は、一致した各セグメントについて第１シーケンス、すなわち圧縮シーケンスに「１」を順次挿入し、及び／又は一致しなかった各セグメントについて圧縮シーケンスに「０」と、この後に続けてテストベクトルセグメントの要素を順次挿入することにより実施される。これが終了した時、圧縮シーケンスは圧縮テストベクトルとなる。圧縮テストベクトルを作成するステップ110は、セグメントの対を検討するステップ110aと、そしてこのセグメント対が比較するステップ108において一致したか否かに応じて「１」又は「０」及び対象セグメントの要素を挿入するステップ110bとを含む。これについて以下に詳細を説明する。
【００３５】
基本的に、作成するステップ110は、第１セグメント対を検討するステップ110aから開始される。第１セグメント対が比較するステップ108において一致又は合致すると判定された場合、第１シーケンス、すなわち圧縮シーケンスの第１要素として「１」が挿入される（110b）。第１セグメント対が不一致であった場合、圧縮シーケンスの第１要素として「０」が挿入され（110b）、そしてテストベクトルの第１セグメントからコピーされた要素が次のＳ個の要素として圧縮シーケンスへと挿入される（110b）。ここでＳはセグメントサイズであり、すなわちセグメントの要素数である。その後、次のセグメント対が検討され（110a）、次のセグメント対が一致していれば、圧縮シーケンスの次の要素として「１」が挿入される（110b）。また、このセグメント対が不一致であった場合、先に述べたように、圧縮シーケンスの次の要素は「０」となり、これに続いてテストベクトルセグメントの要素が挿入される。あるセグメント対が不一致であり、そのテストベクトルセグメントが１つ以上の「ドントケア」要素を含む場合、「ドントケア」要素に対して、圧縮シーケンスにはランダムベクトルセグメントの対応する要素がコピーされる。検討するステップ110aと挿入するステップ110bを含む作成ステップ110は、テストベクトルの全てのセグメントの処理が終了するまで、連続するセグメント対の各々に対して順次繰り返される。
【００３６】
図４に示される例を再度参照して、コラム２の第３行133は、本発明の方法100、100aの比較するステップ108及び作成するステップ110を経た第１シーケンスから得られる圧縮テストベクトルである。図４に示されている例から理解されるように、第１セグメント対は、セグメントの最後の要素の下に引かれた縦線に記された×印からわかるように、不一致である。従って、圧縮テストベクトルの最初の要素は「０」となる。第１セグメントの要素は全て指定されている為、圧縮テストベクトルの次の４つの要素（Ｓ＝４）は圧縮テストベクトルへテストベクトルからコピーされる。この例の次のセグメント対は、そのテストベクトルセグメントが「ドントケア」、すなわち「Ｘ」の要素しか含んでいない為、一致と判定される。従って、行133における圧縮テストベクトルの次の要素（行133の左端から数えて６個目の要素）は「１」となる。同様に、第３、第４、第５及び第６セグメント対も全て一致している為、これらのセグメント対のそれぞれに対して行133の圧縮テストベクトル中（行133の７〜10番目の要素）に「１」が挿入される（110b）。第７セグメント対は、最後のセグメントの最初の要素の下の縦線に記された×印からわかるように、不一致と判定される。更に、テストベクトルの第７セグメントにおいて、最後の２つの要素が「ドントケア」状態を表す「Ｘ」となっている。この場合も、不一致である第１セグメント対の場合と同様に、これらの２つの区分間の不一致を示す「０」が「フラグ値」として圧縮テストベクトルへと挿入される。その後、テストベクトルの指定されている要素、すなわち「１」又は「０」の値のいずれかを持つ要素がコピーされ、圧縮テストベクトルの対応する要素位置へ挿入される。更に、テストベクトルにおいて「ドントケア」状態を有する要素の値として、ランダムベクトルセグメントの対応位置から値がコピーされ、これらが行133の圧縮テストベクトルへ挿入される。
【００３７】
本発明の方法100aにより生成された圧縮テストベクトルは、一連の「フラグ」、すなわち指示値から構成されているが、一方のフラグはセグメント対間の一致を示し、他方のフラグは不一致を示している。圧縮テストベクトルで不一致を示すフラグの後には、このフラグに付随する元のテストベクトルセグメントの指定要素と、そのセグメントのドントケア状態に対するランダムシーケンスからの要素が続いている。上述した{０、１、Ｘ}の値の組を利用する３値論理は説明目的で使用したに過ぎない。ここに説明した方法100aを、ｍが３よりも大きな、ｍ値論理又はｍ個の記号へと拡張することは、当業者が容易になし得ることである。更に、一致を「１」及び／又は不一致を「０」とするフラグに対する値についても、方法100aによる圧縮処理の基本的性質を変えることなく、他の値をこれらに代えて使用し得ることは、当業者が容易に認識し得るものである。このようなｍ個の記号及び他のフラグ値は全て本発明の範囲に入るものである。
【００３８】
圧縮テストベクトルはＡＴＥのメモリへと送られ、ＡＴＥのメモリに記憶される。この圧縮テストベクトルの利点は、従来方法を利用してテストベクトルから生成された完全指定テストベクトルと比較すると、メモリ中に占める記憶空間が大幅に小さいというところにあり、その理由の１つは一般的にＡＴＰＧ内の生成されたテストベクトルが含む「ドントケア」状態の数にある。本発明の方法100aにより生成されたバイナリ圧縮テストベクトルを記憶する為に必要とされるビット数は、以下の式（１）から得ることができる。
【００３９】
【数１】
0004194785.tif 000003
【００４０】
ここでＳはセグメントサイズ、Ｎjはｊ個の指定ビット（すなわち値「１」又は「０」のいずれか）を有するテストベクトル内のセグメントの数、ｐはあるセグメント中の指定ビットが対応するランダムセグメントの対応ビットと一致する確率であり、以下の式（２）が成り立つ。
【００４１】
【数２】
0004194785.tif 000004
【００４２】
更に、本発明の方法100aと共働して利用されるセグメントサイズＳを変えることにより圧縮処理の効果を最適化することができる。
【００４３】
圧縮テストベクトルは、ＡＴＥにより実施される自動試験中に、圧縮解除されて完全指定テストベクトルを生成する。圧縮テストベクトルの圧縮解除処理を容易にする為に、圧縮方法100aのステップ104で生成されたランダムシーケンスと同一のものを生成するランダムシーケンス発生器が必要である。圧縮解除において使用されるランダムシーケンス発生器は、ランダムシーケンスを生成するステップ104において使用されるものと同じもので良い。しかし同一のランダムシーケンスを生成する他のランダムシーケンス発生器が、圧縮解除処理用に設けられることが好ましい。先に説明した３値論理の例における圧縮テストベクトルのフラグ値「１」は、「一致」を示すものであった。圧縮テストベクトルの圧縮解除処理においては、フラグ値「１」は「ランダムシーケンスからの対応値を使用する」ということを示す。同様に、フラグ値「０」は「圧縮テストベクトルのその後に続くＳ個の値を完全指定テストベクトルとして使用する」ということを示す。従って、本発明によれば、圧縮及び圧縮解除処理において同じランダムシーケンスが必要とされる。
【００４４】
本発明の圧縮解除方法100bは、圧縮テストベクトルを処理して、ＡＴＥによって利用される完全指定テストベクトルに相当する圧縮解除テストベクトルを生成する。圧縮解除方法100bは、圧縮テストベクトルのフラグ値を調べるステップ112と、圧縮解除テストベクトルへと値を挿入するステップ114とを含むが、以下にその詳細を説明する。
【００４５】
圧縮解除方法100bは、圧縮テストベクトルの第１要素を調べるステップ112から開始される。圧縮テストベクトルの第１要素は、その定義から第１フラグ値である。第１フラグ値が不一致を示す場合、例えば先に説明した３値論理の例においては「０」である場合、圧縮テストベクトルの次のＳ個の要素が第２シーケンス、すなわち圧縮解除シーケンス中の最初のＳ個の位置に挿入される（114）。圧縮テストベクトルにおける次の要素となる次のフラグ値は、コピーされたＳ個の要素の直後に位置する。不一致を示すフラグ値が見つかった場合、ランダムシーケンスの次のＳ個の要素は破棄される。
【００４６】
第１フラグ値が一致を示す場合、例えば先に説明した３値論理の例においては「１」である場合、生成するステップ116においてランダムシーケンス発生器により生成されたランダムシーケンスの最初のＳ個の要素が圧縮解除シーケンスへ挿入される（114）。一致を示すフラグ値が見つかった場合、次のフラグ値はこの圧縮テストベクトルの次の要素である。本発明の方法100bによれば、調べるステップ112及び挿入するステップ114が圧縮テストベクトルのフラグ値に相当する要素の各々に対して繰り返される。
【００４７】
圧縮解除方法100bについてよりわかり易く説明する為に、再度図４を参照する。図４に示す例において、圧縮テストベクトルは二進値から成り、フラグ値は一致を示す「１」、又は不一致を示す「０」のいずれかであり、セグメントサイズＳは４であった。図５は、図４に示す例において生成された圧縮テストベクトルを圧縮解除する例を描いたものである。
【００４８】
図５を参照すると、第１行141は、図４の行133に示す圧縮テストベクトルに一致する。第２行142は生成するステップ116からのランダムシーケンスに一致する。このランダムシーケンスは、圧縮方法100aの生成するステップ104において生成された、図４の行122及び132に示されるランダムシーケンスと同一のものであることに注意されたい。
【００４９】
図５を参照して、圧縮テストベクトルの最初の要素は不一致を示す「０」である為、圧縮テストベクトルの次の４個の要素が図５の第３行143に示されているように、最初の４個の要素として圧縮解除シーケンスにコピー、すなわち挿入される（144）。図５の行142に示されるランダムシーケンスの最初の４個の要素は破棄される。圧縮テストベクトル141における次のフラグ値は６番目の位置（行141の左から数えて６番目）にあり、圧縮処理において一致すると判定されたことを示す「１」である。この結果、行142のランダムシーケンスの次の４個の要素、５番目、６番目、７番目、８番目の要素が、行143の圧縮解除シーケンスの５番目、６番目、７番目、８番目の要素位置にコピーされる。この処理は、第２シーケンス、すなわち圧縮解除シーケンスから圧縮解除テストベクトルが完全に生成されるまで、各フラグ値に対して繰り返される。図５の行143の圧縮解除テストベクトルと図４の行121のテストベクトルを比較すると、圧縮解除テストベクトル143が、「ドントケア」状態（「Ｘ」）を有するテストベクトル121をランダムシーケンスの対応する値により置き換えたものであることがわかる。
【００５０】
圧縮テストベクトルを圧縮解除する方法100bの利点は、従来方法を利用して生成され、ＡＴＥのメモリへと伝送され、ＡＴＥのメモリに記憶される完全指定テストベクトルと全く同じ圧縮解除テストベクトルを生成することができるという点にある。従って、ＡＴＥは本発明の圧縮解除テストベクトルを従来の完全指定テストベクトルと同様に利用することができるが、この圧縮テストベクトルを記憶するためにより小さなメモリしか必要としない点で有利である。本発明に基づくテストベクトル圧縮、圧縮解除方法100を実施する為に既存のＡＴＥに加えなければならない変更は、同じ、又は同一のランダムシーケンスを生成する能力（104、116）と、方法100bの圧縮解除ステップを実施する能力だけである。
【００５１】
圧縮解除する方法100bは、本発明に基づいてハードウエア又はソフトウエアにおいて実現することができる。ハードウエアを使用する場合、圧縮解除する方法100bはチップ上の超小型電子回路として実現することができる。ソフトウエアを使用する場合、圧縮解除するステップを実行するソフトウエアをＡＴＥの中央処理装置（ＣＰＵ）に組み込むことができる。他の従来の圧縮方式においてと同様に、本発明に基づく圧縮解除方法100bにおいてＡＴＥに課せられる要件は、本発明の適用性を著しく制約することは無い。
【００５２】
本発明のテストベクトル圧縮、圧縮解除方法100の更なる利点は、これを従来の圧縮方式と共働して利用することにより、更に大きな圧縮率を得ることができるという点にある。例えば、従来の圧縮アルゴリズムを本発明の方法100aにより生成された圧縮テストベクトルに適用することができる。ＡＴＥにおいて、圧縮解除方法100bを開始する前に、従来の圧縮アルゴリズムを逆にしたものを適用し、元の圧縮テストベクトルが生成される。方法100aにより生成される圧縮テストベクトルには長い「１」のシーケンスが含まれる可能性が高い為、ランレングス符号化アルゴリズムのような単純なものを付加しただけであっても方法100により得られる圧縮率よりも更に高い圧縮率を得ることが可能である。
【００５３】
以上、ＡＴＥ用途のテストベクトルを圧縮（100a）及び圧縮解除（100b）する新規の方法100について説明してきた。これまでに記載した実施例は、本発明の原理を利用する多数の特定の実施例の一部を説明したものにしか過ぎないことが理解されなければならない。本発明の範囲から逸脱することなく、当業者が様々な他の構成を考案することは容易なことであることは明らかである。
【００５４】
以下においては、本発明の種々の構成要件の組み合わせからなる例示的な実施態様を示す。
１．一連の要素を有するテストベクトルを圧縮し、圧縮解除する方法であって；
前記テストベクトルと少なくとも同じ数の要素を有するランダムシーケンスを生成するステップ（104）と；
前記テストベクトルを複数のテストベクトル要素セグメントへと順次区分し、前記テストベクトル要素の少なくとも１つがドントケア値を有するステップ（106）と；
同様に、前記ランダムシーケンスを前記テストベクトルセグメントに対応する複数のランダムシーケンス要素セグメントへ区分するステップ（106）と；
前記テストベクトルセグメントの各々を前記ランダムシーケンスの対応するセグメントと順次比較し、テストベクトルセグメントとランダムシーケンスセグメントの対応する対が一致しているかどうかを判定するステップ（108）と；
一致する対応セグメント対と一致しない対応セグメント対に対して、異なるフラグ値を挿入することにより前記テストベクトルを圧縮するステップ（100a）と；そして
前記異なるフラグ値に基づいて前記圧縮されたテストベクトルを完全指定テストベクトルへと圧縮解除するステップ（100b）とを含む方法（100）。
【００５５】
２．前記圧縮するステップ（100a）が；
前記ランダムシーケンスの対応するセグメントに一致したテストベクトルセグメントの各々に対して、第１フラグ値を第１シーケンスへと順次挿入するステップ（110b）と；そして、
前記ランダムシーケンスの対応するセグメントに一致しないテストベクトルセグメントの各々に対して、第２フラグ値を前記第１シーケンスへ、及びこれに続いて当該一致しないテストベクトルセグメントの要素を前記第１シーケンスへと順次挿入し、前記第１シーケンスから圧縮テストベクトルを生成するステップ（110b）を含む１項に記載のテストベクトルの方法。
【００５６】
３．前記圧縮解除するステップ（100b）が；
前記生成するステップ（104）において生成されたランダムシーケンスと同一の、もう１つのランダムシーケンスを生成するステップ（116）と；
一致を示すフラグ値の各々に対して、前記もう１つのランダムシーケンスの対応する要素を第２シーケンスへ順次挿入するステップ（114）と；そして、
不一致を示すフラグ値の各々の後に続く前記圧縮テストベクトルの要素を前記第２シーケンスへ順次挿入し、前記第２シーケンスから前記完全指定テストベクトルを生成するステップ（114）を含む１項又は２項に記載のテストベクトルの方法。
【００５７】
４．前記圧縮するステップ（100a）において、前記テストベクトルセグメントの各要素が前記対の対応するランダムシーケンスセグメントの対応する要素に一致している場合、対応するセグメントが一致する１〜３項のいずれか１項に記載の方法。
【００５８】
５．前記圧縮するステップ（100a）において、前記テストベクトルセグメントの１要素がランダムシーケンスセグメントの対応する要素と同じ値、又はドントケア値を有する場合、前記テストセグメントの前記１要素がこの対の前記ランダムシーケンスセグメントの対応する要素と一致する１〜４項のいずれか１項に記載の方法。
【００５９】
６．前記テストベクトルを順次区分し、同様に前記ランダムシーケンスを順次区分するステップ（106）において、テストベクトル及びランダムシーケンスセグメント対応する各対の要素の数が同じである１〜５項のいずれか１項に記載の方法。
【００６０】
７．前記テストベクトルを順次区分し、同様に前記ランダムシーケンスを順次区分するステップ（106）において、テストベクトルセグメントとランダムシーケンスセグメントの少なくとも１つの対応する一対の要素数が、セグメントの他の対応する対の要素数と異なる１〜６項のいずれか１項に記載の方法。
【００６１】
８．自動試験装置を利用して被験装置の全てのテストベクトルに適用される１〜７項のいずれか１項に記載の方法。
【００６２】
９．前記圧縮解除するステップ（100b）が、自動試験装置においてハードウエア及び／又はソフトウエアにより実現される１〜８項１のいずれか１項に記載の方法。
【００６３】
１０．前記ハードウエアが超小型チップであり、前記ソフトウエアが前記自動試験装置の中央処理装置に組み込まれている９項に記載の方法。
【００６４】
【発明の効果】
本発明は、自動試験装置（ＡＴＥ）と共働して利用される圧縮テストベクトルを生成するテストベクトルを圧縮する方法100aに関する。本方法100aは、要素のシーケンスを有するテストベクトルを生成するステップ102を含み、少なくとも１つの要素は「ドントケア」値を含む。また要素のランダムシーケンスはステップ104で生成される。テストベクトル及びランダムシーケンスはステップ106で区分される。テストベクトルの各セグメントはステップ108でランダムシーケンスの対応するセグメントと比較され、対応するセグメントが一致するかどうか判定される。対応するセグメントが一致する場合（110a）、第１フラグ値が圧縮テストベクトルへ順次挿入される（110b）。対応するセグメントが不一致である場合（110a）、第２フラグ値が圧縮ベクトルに順次挿入されるとともに、一致しないテストベクトルセグメントの要素が圧縮ベクトルに挿入される（110b）。本発明100によれば、圧縮テストベクトルは、フラグ値を利用して完全指定テストベクトルに直接圧縮解除される。
【図面の簡単な説明】
【図１】図１Ａは、テストベクトルを生成するためのＡＴＰＧを含む代表的なＡＴＥシステムのブロック図であり、図１Ｂは、図１ＡのＡＴＥにおいてテストベクトルを生成し、使用する為の主なステップを説明するフローチャートである。
【図２】テストベクトル、ランダムシーケンス及び対応する完全指定テストベクトルの例を示す図である。
【図３】自動試験装置（ＡＴＥ）と共に使用するテストベクトルを圧縮する為の本発明に基づく方法を説明するフローチャートである。
【図４】本発明のテストベクトルを圧縮する方法を利用して圧縮テストベクトルを生成する例を示す説明図である。
【図５】本発明の方法に基づき、図４の例の圧縮テストベクトルを圧縮解除する例を示す説明図である。
【符号の説明】
１２１    テストベクトル
１２２    ランダムシーケンス
１３１    テストベクトル
１３２    ランダムシーケンス
１３３    圧縮テストベクトル
１４１    圧縮テストベクトル
１４２    ランダムシーケンス
１４３    圧縮解除テストベクトル
【図１】
0004194785.tif 000005
【図２】
0004194785.tif 000006
【図３】
0004194785.tif 000007
【図４】
0004194785.tif 000008
【図５】
0004194785.tif 000009