(57)【要約】【課題】試験対象デバイス(DUT)をテストするためのテストデータをより効果的に圧縮する。【解決手段】テストデータを適応的に圧縮するための方法の１つは、第１の複数のDUTピン(110)に対応する第１の複数のデータユニット(104)と、第２の複数のDUTピン(110)に対応する第２の複数のデータユニット(105)とを有するテストデータファイル(101)を検査するステップと、第１の圧縮技法を使用して第１の複数のデータユニット(104)を圧縮するステップと、第２の圧縮技法を使用して第２の複数のデータユニット(105)を圧縮するステップを含む。【選択図】図３
2005037396.tif 000002
【特許請求の範囲】
【請求項１】
試験対象デバイス（ＤＵＴ）（１０６）に提供されるテストデータを適応的に圧縮するための方法であって、
第１の複数のＤＵＴピン（１１０）に対応する第１の複数のデータユニット（１０４）と、第２の複数のＤＵＴピン（１１０）に対応する第２の複数のデータユニット（１０５）とを具備するテストデータファイル（１０１）を検査するステップと、
第１圧縮技術を用いて、前記第１の複数のデータユニット（１０４）を圧縮するステップと、
第２圧縮技術を用いて、前記第２の複数のデータユニット（１０５）を圧縮するステップ
とを含む、方法。
【請求項２】
前記圧縮するステップの前に、
前記第１の複数のデータユニット（１０４）のタイミングの複雑度を決定するステップと、
前記第２の複数のデータユニット（１０５）のタイミングの複雑度を決定するステップ
とをさらに含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記第１の複数のデータユニット（１０４）がクロック信号に対応し、前記第２の複数のデータユニット（１０５）が非クロック信号に対応することを特徴とする、請求項１に記載の方法。
【請求項４】
前記第１の複数のデータユニット（１０４）を予め決められた圧縮率で圧縮するステップが、前記第２の複数のデータユニット（１０５）を前記予め決められた圧縮率で圧縮するステップよりも多くのリソースを必要とすることを特徴とする、請求項１に記載の方法。
【請求項５】
前記第１の複数のデータユニット（１０４）が、前記第２の複数のデータユニット（１０５）とは異なるタイミングの複雑度を有することを特徴とする、請求項１に記載の方法。
【請求項６】
試験対象デバイス（ＤＵＴ）（１０６）に提供されるテストデータを適応的に圧縮するための方法において、
ＤＵＴ（１０６）のテストを可能にするように構成されたテストデータを含むテストデータファイル（１０１）を検査するステップであって、前記テストデータファイル（１０１）が第１の複数のデータユニット（１０４）および第２の複数のデータユニット（１０５）を具備し、前記第１の複数のデータユニット（１０４）が第１の複数のＤＵＴピン（１１０）に対応し、前記第２の複数のデータユニット（１０５）が第２の複数のＤＵＴピン（１１０）に対応することからなる、ステップと、
前記第１の複数のデータユニット（１０４）が第１の圧縮特性を有することを決定するステップと、
前記第２の複数のデータユニット（１０５）が第２の圧縮特性を有することを決定するステップ
とを含む、方法。
【請求項７】
前記第１の複数のデータユニット（１０４）を前記第２の複数のデータユニット（１０５）とは独立に圧縮するステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記第１の複数のＤＵＴピン（１１０）がクロックピンであり、前記第２の複数のＤＵＴピン（１１０）が非クロックピンであることを特徴とする、請求項６に記載の方法。
【請求項９】
前記テストデータファイル（１０１）が、ＳＴＩＬ（標準テストインターフェース言語）ファイルおよびＷＧＬ（波形生成言語）ファイルの一方であることを特徴とする、請求項６に記載の方法。
【請求項１０】
前記第１の複数のデータユニット（１０４）が、前記第２の複数のデータユニット（１０５）とは異なるタイミングの複雑度、異なるベクタデータ量、および、それより多くの反復データパターンを有することを特徴とする、請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００３年７月１５日に出願された「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｔｅｓｔｉｎｇ  ａ  Ｄｅｖｉｃｅ  Ｕｎｄｅｒ  Ｔｅｓｔ」と題する係属中の米国実用新案出願第１０／６２０，１９１号、並びに２００３年６月１２日に出願された「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｔｅｓｔｉｎｇ  Ｐｅｒｆｏｒｍａｎｃｅ  ｏｆ  ａｎ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅ」と題する係属中の米国実用新案出願第１０／４６１，２５２号の一部継続出願であり、これらの出願の全体は、この引用により本明細書に組み込まれるものとする。
【背景技術】
【０００２】
マイクロプロセッサなどの電子的な試験対象デバイス（ＤＵＴ）の構造をテストするには、一般に、デバイスに入力を提供して、デバイスの出力を検査し、何らかの不具合があるかどうかを判断する必要がある。ＤＵＴに提供される入力は、テストデバイスのメモリ容量が限られているため、テストデバイスに提供する前に一般に圧縮される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、状況によっては、テストデバイスに提供されるデータを適切に圧縮するために利用できる十分な計算リソースがない場合がある。したがって、こうした問題および／またはＤＵＴのテストに関連するその他の問題に対処するためのシステムおよび方法に対する必要性が存在する。
【課題を解決するための手段】
【０００４】
テストデータを適応的に圧縮するためのシステムおよび方法を開示する。テストデータを適応的に圧縮するための方法の一実施態様は、第１の複数のＤＵＴピンに対応する第１の複数のデータユニットと、第２の複数のＤＵＴピンに対応する第２の複数のデータユニットとを含むテストデータファイルを検査するステップと、第１圧縮技術を用いて第１の複数のデータユニットを圧縮するステップと、第２圧縮技術を用いて第２の複数のデータユニットを圧縮するステップとを含む。
【０００５】
テストデータを適応的に圧縮するための方法のもう１つの実施態様は、ＤＵＴをテストできるように構成されたテストデータを含むテストデータファイルであって、第１の複数のデータユニットおよび第２の複数のデータユニットを含み、第１の複数のデータユニットが第１の複数のＤＵＴピンに対応し、第２の複数のデータユニットが第２の複数のＤＵＴピンに対応することからなる、テストデータファイルを検査するステップと、第１の複数のデータユニットが第１の圧縮特性（または圧縮可能特性。例えば圧縮率などの特性。以下同じ）を有することを決定するステップと、第２の複数のデータユニットが第２の圧縮特性を有することを決定するステップとを含む。
【０００６】
テストデータを適応的に圧縮するためのシステムの一実施態様は、第１の複数のＤＵＴピンに対応する第１の複数のデータユニットと、第２の複数のＤＵＴピンに対応する第２の複数のデータユニットとを含むテストデータファイルを記憶するように構成されたメモリと、第１圧縮技術を用いて第１の複数のデータユニットを圧縮し、第２圧縮技術を用いて第２の複数のデータユニットを圧縮するようにプログラムされたプロセッサとを備える。
【０００７】
テストデータを適応的に圧縮するためのシステムのもう１つの実施態様は、ＤＵＴをテストできるように構成されたテストデータを含むテストデータファイルであって、第１の複数のデータユニットと、第２の複数のデータユニットとを含み、前記第１の複数のデータユニットが第１の複数のＤＵＴピンに対応し、第２の複数のデータユニットが第２の複数のＤＵＴピンに対応することからなる、テストデータファイルを記憶するように構成されたメモリと、第１の複数のデータユニットが第１の圧縮特性を有し、第２の複数のデータユニットが第２の圧縮特性を有することを決定するようにプログラムされたプロセッサとを備える。
【０００８】
その他のシステム、方法、特徴および／または利点は、当業者であれば、添付の図面および詳細な説明を検討することにより明かになるであろう。こうした追加のシステム、方法、特徴および／または利点は、本明細書の開示範囲に含まれ、特許請求の範囲により保護されることが意図されている。
【０００９】
図中、同じ参照符号は、いくつかの図面を通じて対応する部分を示す。また、図中の構成要素は、一定の縮尺で描かれていない。
【実施例】
【００１０】
電子的な試験対象デバイス（ＤＵＴ）をテストするためのテストデータを適応的に圧縮するためのシステムおよび方法を開示する。以下で詳細に説明するとおり、テストデータファイル内のテストデータを、テストデータの１つまたは複数の特性に基づいて分離することができる。たとえば、第１の組のＤＵＴピンに対応する第１の組のデータは、第２の組のＤＵＴピンに対応する第２の組のデータから分離される。この方法では、第１および第２の組のデータを、様々な圧縮技術を使用して圧縮し、様々なタイミング領域で動作するそれぞれのテストリソースに提供することができる。次に、テストリソースは、それぞれの組のデータを使用して、それぞれの組のＤＵＴピンを介してＤＵＴの構造、機能、動作および／または性能をテストすることができる。
【００１１】
図１Ａは、テストシステム１００の一実施態様を表すブロック図である。テストシステム１００は、少なくとも１個のＤＵＴピン１１０に結合されるＤＵＴテスタ１０９を備える。ＤＵＴテスタ１０９は、ＤＵＴピン１１０に入力を提供し、および／またはＤＵＴピン１１０から出力を受信することにより、ＤＵＴ１０６の動作時にエラーを検知するために使用される。ＤＵＴ１０６は、たとえば、プロセッサ、またはディジタル信号を受信および出力するその他のディジタルデバイスで良い。コンピュータ２００は、ＤＵＴテスタ１０９に対するテストデータを構成し、および／またはそのテストデータをＤＵＴテスタ１０９に提供するために使用されうる。コンピュータ２００は、特定用途のコンピュータまたは汎用のコンピュータでよく、たとえば、特に、デスクトップコンピュータ、ラップトップコンピュータ、またはメインフレームコンピュータとすることができる。代替の一実施態様では、コンピュータ２００の機能を、ＤＵＴテスタ１０９内に内蔵することができる。
【００１２】
図１Ｂは、テストシステム１００−１の一実施態様を表すブロック図である。テストシステム１００−１は、第１の組のＤＵＴピンに対応するテストデータを第２の組のＤＵＴピンに対応するテストデータから分離するためのピン分類モジュール１０２−１を備える。ピン分類モジュール１０２−１は、第１の組のＤＵＴピンに対応するテストデータと、第２の組のＤＵＴピンに対応するテストデータを含むテストデータファイル１０１を受け取る。テストデータファイル１０１のフォーマットは、たとえば、特には、ＳＴＩＬ（標準テストインターフェース言語：standard test interface language）またはＷＧＬ（波形生成言語：waveform generation language）とすることができる。テストデータファイル１０１から、ピン分類モジュール１０２−１は、第１の組のＤＵＴピンに対応するテストデータ１０４を第２の組のＤＵＴピンに対応するテストデータ１０５と分離し、テストデータ１０５とは別個にテストデータ１０４を走査変換器（スキャンコンバータ）１０６に提供する。たとえば、テストデータ１０４を、テストデータ１０５の前および／または後に走査変換器１０６に提供することができる。
【００１３】
走査変換器１０６は、テストデータ１０５とは別個にテストデータ１０４をフォーマットして、フォーマットされたテストデータ１０７および１０８をそれぞれ生成する。これらのテストデータは、その後、圧縮モジュール１２０に提供される。フォーマットされたテストデータ１０８は、フォーマットされたテストデータ１０７とは異なる特性を有する。たとえば、特には、異なるタイミングの複雑度（または時間計算量または時間複雑度：timing complexity）、ベクタデータ量および反復性などを有する。圧縮モジュール１２０は、フォーマットされたテストデータ１０７および１０８を圧縮して、第１の組のＤＵＴピンに対応する圧縮されたテストデータ１２１と、第２の組のＤＵＴピンに対応する圧縮されたテストデータ１２２とをそれぞれ生成する。圧縮されたテストデータ１２１および圧縮されたテストデータ１２２は、次にＤＵＴテスタ１０９に提供される。
【００１４】
圧縮モジュール１２０は、圧縮モジュール１２０により受信されるデータ１０７および１０８の圧縮特性に関するフィードバック１２３もピン分類モジュール１０２−１に提供する。このフィードバック１２３は、ピン分類モジュールが、圧縮特性に基づいてテストデータ１０４と１０５とをより良好に分離することを可能にする。
【００１５】
ＤＵＴテスタ１０９は、第１の組のＤＵＴピンに結合されたリソース１１０と、第２の組のＤＵＴピンに結合されたリソース１１１とを備える。リソース１１０は、リソース１１１とは異なるタイミング領域で動作することができる。たとえば、リソース１１０は、第１クロック速度で動作するプロセッサを備え、リソース１１１は、第２クロック速度で動作するプロセッサを備えることができる。リソース１１０は、圧縮されたテストデータ１２１を受信して、第１の組のＤＵＴピンに対応するテスト信号を提供するか、または第１の組のＤＵＴピンから対応するテスト信号を受信する。一方、リソース１１１は、圧縮されたテストデータ１２２を受信して、第２の組のＤＵＴピンに対応するテスト信号を提供するか、または第２の組のＤＵＴピンから対応するテスト信号を受信する。
【００１６】
図１Ｃは、テストシステム１００−２の一実施態様を表すブロック図である。ピン分類モジュール１０２−２は、テストデータファイル１０１を受信し、テストデータファイル１０１を使用して、第１の組のＤＵＴピンおよび／または第２の組のＤＵＴピンを特定するピン分類情報１０３を生成する。次に、ピン分類モジュール１０２−２は、ピン分類情報１０３およびテストデータファイル１０１を走査変換器１０６に提供する。走査変換器１０６は、ピン分類情報１０３を使用して、第２の組のＤＵＴピンに対応するテストデータとは別に、第１の組のＤＵＴピンに対応するテストデータ（テストデータファイル１０１内にある）をフォーマットする。次に、走査変換器１０６は、フォーマットされたテストデータ１０７（第１の組のＤＵＴピンに対応する）およびフォーマットされたテストデータ１０８（第２の組のＤＵＴピンに対応する）を圧縮モジュール１２０に提供する。図１Ｂに示すＤＵＴテスタ１０９および圧縮モジュール１２０を、たとえば、図１Ａに関して説明するように動作するよう構成することができる。ピン分類モジュール１０２−２は、圧縮モジュール１２０からのフィードバック１２３を使用して、ピン分類情報１０３を公式化することができる。このフィードバック１２３は、ピン分類モジュールが、個々のテストデータの圧縮特性に基づいてＤＵＴピンをより良好に分類することを可能にする。
【００１７】
図２は、ピン分類モジュール１０２と、走査変換器１０６と、図１Ａおよび１Ｂに示した圧縮モジュール１２０とを実行するためのコンピュータ２００の一実施態様を表すブロック図である。一般に、図２に示すように、ハードウェアのアーキテクチャの点で、コンピュータ２００のコンポーネントは、プロセッサ２０２と、メモリ２０４と、入力／出力（Ｉ／Ｏ）インターフェース２０６と、記憶装置２０８とを備える。これらのコンポーネント（２０２、２０４、２０６および２０８）は、たとえば１つもしくは複数のバス、またはその他の有線もしくは無線接続を含むローカルインターフェース２２０を介して通信可能に結合されることができる。
【００１８】
プロセッサ２０２は、特にメモリ２０４内に格納されたソフトウェアを実行するためのハードウェアデバイスである。コンピュータ２００が動作する場合、プロセッサ２０２は、メモリ２０４内に格納されたソフトウェアを実行し、メモリ２０４との間でデータをやりとりし、ソフトウェアに従ってコンピュータ２００の動作を全体的に制御するように構成される。
【００１９】
Ｉ／Ｏインターフェース２０６は、たとえばプリンタ、複写機、キーボード、マウスおよび／またはモニタなどを含む１個または複数の周辺装置と通信するために使用されうる。Ｉ／Ｏインターフェース２０６は、たとえばシリアルポート、パラレルポート、ＩＲインターフェース、ＲＦインターフェースおよび／または汎用シリアルバス（ＵＳＢ）インターフェースを備えることができる。
【００２０】
メモリ２０４は、現在既知かまたは後日開発される揮発性および／または不揮発性メモリ素子の何れか一方またはそれらの組合せを備えることができる。たとえば、メモリ２０４としては、特にランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、ハードディスク、テープおよび／またはコンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）が挙げられる。メモリ２０４は、種々のコンポーネントが互いに離れて配置されているが、プロセッサ２０２によりアクセス可能な分散アーキテクチャを有することができることに留意されたい。
【００２１】
メモリ２０４内のソフトウェアアプリケーションは、オペレーティングシステム（ＯＳ）２１０、圧縮モジュール１２０、走査変換器１０６、およびピン分類モジュール１０２を含む。ＯＳ２１０は、本質的に、その他のアプリケーションの実行を制御し、他の機能の中でも特に、スケジューリング、入力−出力制御、ファイルおよびデータ管理、メモリ管理、および／または通信制御を行う。ピン分類モジュール１０２は、第１の組のＤＵＴピンに対応するテストデータを特定し、および／またはクロックピン用のテストデータを第２の組のＤＵＴピン用のテストデータから分離するために使用されうる。走査変換器１０６を、テストデータをフォーマットするために使用することができ、圧縮モジュール１２０を、以下でより詳細に説明するように、複数の圧縮技術を用いてテストデータを圧縮するために使用することができる。走査変換器１０６、圧縮モジュール１２０およびピン分類モジュール１０２は、それぞれソースプログラム、実行可能プログラム（たとえば、オブジェクトコード）、スクリプト、または実行される命令の集合を含むその他の任意のエンティティとすることができる。
【００２２】
さらに、走査変換器１０６、圧縮モジュール１２０、ピン分類モジュール１０２は、コンピュータベースのシステムまたはプロセッサ内蔵システムなどの命令実行システム、装置またはデバイスにより使用されるか、またはこれらに関連して使用される任意のコンピュータ読み取り可能な媒体で実現されることができる。本開示に関して、「コンピュータ読み取り可能な媒体」は、命令実行システム、装置またはデバイスにより使用されるか、またはこれらに関連して使用されるプログラムを記憶、通信、伝播または移送することが可能な任意の手段とすることができる。コンピュータ読み取り可能な媒体は、たとえば、現在既知か、または後日開発される、特には、電子、磁気、光、電磁気、赤外線または半導体システム、装置、デバイスまたは伝播媒体とすることができる。
【００２３】
図３は、テスト方法２００−１の一実施態様を表すフローチャートである。ステップ３０１に示すように、テストデータファイル１０１が検査される。テストデータファイル１０１のフォーマットは、たとえばＳＴＩＬまたはＷＧＬで良い。テストデータファイル１０１は、第１の複数のＤＵＴピンに対応する第１の複数のデータユニットと、第２の複数のＤＵＴピンに対応する第２の複数のデータユニットとを備える。この場合、第１の複数のデータユニットは、それぞれブロック３０２および３０３に示すように、第１圧縮技術を用いて圧縮され、第２の複数のデータユニットは第２圧縮技術を用いて圧縮される。第１圧縮技術は、たとえばランレングス符号化であり、第２圧縮技術は、以下でさらに述べるように、たとえば波形テーブル７０８により記述される波形を生成することを含むことができる。あるいは、現在既知か、または後日開発される任意の実行可能な圧縮技術を使用することができる。
【００２４】
図４Ａは、テスト方法２００−２の一実施態様を示すフローチャートである。ステップ４０１に示すように、テストデータファイル１０１（図１Ａ）は、テストデータファイル１０１における各データエントリがクロックピンまたは非クロックピンに対応するかどうかを決定するために検査される。たとえば、ＳＴＩＬファイルでは、クロックピンに対応するデータエントリは、そのデータエントリをそのものとして識別するラベルを含む。これらのラベルを、それぞれの各データエントリが対応するピンのタイプを決定するために使用することができる。クロックピンに対応するデータユニットは、それぞれステップ４０２よび４０３に示すように、非クロックピンに対応するデータユニットから分離され、それらとは独立にフォーマットされおよび圧縮される。対応するＤＵＴピンのタイプ（クロックピン対非クロックピン）に基づくデータユニットのこうした適応的圧縮の結果として、データユニットを、より効果的かつ効率的に圧縮することができる。
【００２５】
図４Ｂは、テスト方法２００−３の一実施態様を示すフローチャートである。ステップ４１１に示すように、テストデータファイル１０１（図１Ａ）は、テストデータファイル１０１内の各データエントリがスキャンピンまたは非スキャンピンに対応するかどうかを決定するために検査される。たとえば、ＳＴＩＬファイルでは、スキャンピンに対応するデータエントリは、そのデータエントリをそのものとして識別するラベルを含む。これらのラベルを、それぞれの各データエントリが対応するピンのタイプを決定するために使用することができる。次に、スキャンピンに対応するデータユニットは、それぞれステップ４１２および４１３に示すように、非スキャンピンに対応するデータユニットから分離され、それらとは独立にフォーマットされおよび圧縮される。対応するＤＵＴピンのタイプ（スキャンピン対非スキャンピン）に基づくデータユニットのこうした適応的圧縮の結果として、データユニットをより効果的かつ効率的に圧縮することができる。
【００２６】
図５は、テスト方法２００−４の一実施態様を示すフローチャートである。ステップ５０１に示すように、テストデータファイルが検査される。このテストデータファイルは、第１の複数のデータユニットおよび第２の複数のデータユニットを含む。それぞれステップ５０２および５０３に示すように、第１の複数のデータユニットは、第１の圧縮特性を有すると決定され、第２の複数のデータユニットは、第２の圧縮特性を有すると決定される（または、第１の複数のデータユニットが第１の圧縮特性を有するか否か、及び、第２の複数のデータユニットが第２の圧縮特性を有するか否かが決定される）。ステップ５０２および５０３で決定された情報は、ステップ５０４に示すように、テストデータファイルをフォーマットおよび／または圧縮するように構成された１個または複数のモジュールに提供される。この情報により、第２の複数のデータユニットとは異なる方法および／またはフォーマットを用いて、第１の複数のデータユニットを圧縮することが可能になる。
【００２７】
図６Ａは、テスト方法２００−５の一実施態様を示すフローチャートである。ステップ６０１に示すように、テストデータファイル１０１（図１Ｂ）は、テストデータを受信するＤＵＴクロックピンおよび／または非クロックピンを識別するために検査される。次に、それぞれステップ６０２および６０３に示されているように、クロックピンおよび／または非クロックピンを識別する情報は、メモリ内に記憶されて、テストデータファイル１０１をフォーマットするように構成されたモジュールに（テストデータファイル１０１に加えて）提供される。この情報により、非クロックピンに対応するデータとは異なる方法および／またはフォーマットを用いて、クロックピンに対応するデータを圧縮することが可能になる。
【００２８】
図６Ｂは、テスト方法２００−６の一実施態様を示すフローチャートである。ステップ６１１に示すように、テストデータファイル１０１（図１Ｂ）は、テストデータを受信するＤＵＴスキャンピンおよび／または非スキャンピンを識別するために検査される。次に、それぞれステップ６１２および６１３に示されているように、スキャンピンおよび／または非スキャンピンを識別する情報は、メモリに内に記憶され、テストデータファイル１０１をフォーマットするように構成されたモジュールに（テストデータファイル１０１に加えて）提供される。この情報により、非スキャンピンに対応するデータとは異なる方法および／またはフォーマットを用いて、スキャンピンに対応するデータを圧縮することが可能になる。
【００２９】
図７は、波形テーブル７０８を使用してテストデータの圧縮を行うテストシステム１００−３の一実施態様を示すブロック図である。このテストシステム１００−３は、ＤＵＴピン１１０に結合されたＤＵＴテスタ１０９を備える。ＤＵＴテスタ１０９は、ＤＵＴピン１１０に入力を提供するか、および／またはＤＵＴピン１１０から出力を受信することにより、ＤＵＴ１０６の動作時のエラーを検知するために使用される。ＤＵＴテスタ１０９は、テストデータをＤＵＴ１０６に提供する時に使用される波形テーブル７０８を含む。波形テーブル７０８は、個々の波形を規定する波形エントリを含む。コンピュータ２００は、波形テーブル７０８を構成するために使用される波形構成システム７０２を備える。代替の実施態様では、波形構成システム７０２の機能をＤＵＴテスタ１０９に組み込むことができる。
【００３０】
図８は、波形テーブル７０８（図７）を構成する方法２００−７の一実施態様を示すフローチャートである。ＤＵＴピン１１０に対応するベクタは、ブロック８０１に示すように検査される。ブロック８０２に示すように、各々別個のベクタ構成を表す波形エントリ（検査したベクタの中で遭遇する）が生成される。波形エントリは、ブロック８０３に示すように、ＤＵＴピン１１０に対応する波形テーブル内に記憶される。次に、波形テーブルを、たとえば図９および図１１に関連して説明するように、ＤＵＴピン１１０に対する入力を提供するか、および／またはＤＵＴピン１１０の出力と比較されるデータを提供するために使用することができる。
【００３１】
非限定的な一例として、以下のキャラクタ列が、ＤＵＴピン１１０に提供される入力に対応すると仮定する。
【００３２】
【表１】
2005037396.tif 000003
【００３３】
表１のキャラクタ列を、以下の３−キャラクタベクタに変換することができる。
【００３４】
【表２】
2005037396.tif 000004
【００３５】
次に、波形エントリを、表８のベクタの中に現れる各々別個のベクタ構成に関して生成することができる。別個のベクタ構成は、以下のとおりである。
【００３６】
【表３】
2005037396.tif 000005
【００３７】
上記の実施例では、波形エントリは、可能なベクタ１１０および０１１に関しては形成されないであろう。こうしたベクタは、検査されたベクタ内には現れない（または、検査されたベクタ内では遭遇しない）からである。ＤＵＴピン１１０に対する入力がより複雑な場合、方法２００−７を、可能な波形エントリの数の非常に小部分を表す、限られた数の波形エントリを生成するために使用することができる。
【００３８】
波形テーブル７０８に対応する波形エントリの数が予め決められた限界を超えるか、または波形エントリが、他の点でＤＵＴテスタ１０９の圧倒的なリソースである場合、遭遇したタイプのベクタのうちの一番小さなものに対応する波形エントリを除去することができる（たとえば、波形エントリの数が予め決められた限界に等しくなるまで）。代替的には、または追加的に、波形エントリのサイズを、より小さいベクタ（つまり、より少ない状態キャラクタを有するベクタ）に対応するように縮小することができる。たとえば、３−キャラクタベクタを使用すると、予め決められた限界を超える多数の波形エントリを生じる場合、２−キャラクタベクタを代わりに使用することができる。
【００３９】
図９は、波形テーブル７０８（図７）を使用してデータ圧縮を行う方法１０９−１の一実施態様を示すフローチャートである。方法１０９−１は、非クロックピンに対応するデータの圧縮を行うのに適する。クロックピンに対応するデータの圧縮を行うために、その他の方法を使用することができ、そのような方法として、たとえばランレングス符号化が挙げられる。ブロック９０１に示すように、ＤＵＴピン１１０に対する入力に対応するベクタが検査される。次に、ブロック９０２に示すように、ベクタに対応する波形エントリがルックアップされ、ブロック９０３に示すように、波形エントリによって識別された波形が生成される。次に、生成された波形は、ブロック９０４に示すように、ＤＵＴピン１１０に提供される。
【００４０】
図１０は、入力ベクタ１００２に応じて構成される波形１００６の一例である。各々の入力ベクタ１００２は、波形テーブル７０８（図７）内の波形エントリ１００４にマッピングされる。次に、各波形エントリ１００４を使用して、波形１００６の対応部分を生成する。波形１００６の各部分（最初の部分を除く）は、波形１００６のそれらの直前の部分から予め決められた時間後に出力されて、波形１００６の連続性が確保される。次に、波形１００６を、入力ベクタ１００２がＤＵＴ入力に対応するか、またはＤＵＴ出力に対応するかに応じて、ＤＵＴ１０６（図１）に提供するか、またはＤＵＴ１０６から受信した波形と比較することができる。
【００４１】
図１１は、波形テーブル７０８（図７）を使用するもう１つの方法１０９−３の一実施態様を示すフローチャートである。ブロック１１０１に示すように、ＤＵＴピン１１０に対する入力に対応するベクタが検査される。次に、ブロック１１０２に示すように、波形テーブル７０８（図７）を使用して、ベクタに対応する波形エントリがルックアップされ、ブロック１１０３に示すように、波形エントリにより識別されるテスト波形が生成される。次に、テスト波形は、ブロック１１０４に示されているように、ＤＵＴピン１１０の出力と比較される。テスト波形をＤＵＴピン１１０の出力と比較することにより、ＤＵＴ１０６（図１）の性能（または動作または機能）における可能性のある誤差を検出することができる。
【００４２】
図１２は、ＤＵＴテスタ１０９の一実施態様を示すブロック図である。ＤＵＴテスタ１０９は、テストプロセッサ１２００と、ベクタメモリ１２０２と、ＤＵＴピンインターフェース１２０４とを備える。ベクタメモリ１２０２は、ＤＵＴ１０６（図１）をテストするために使用されるテストデータを記憶する。ＤＵＴピンインターフェース１２０４は、入力テスト信号を特定のＤＵＴピン１１０に提供するか、および／または出力テスト信号を特定のＤＵＴピン１１０から受信する。テスト用プロセッサ１２００は、ベクタメモリ１２０２から受信したテストデータを入力および／または出力波形に変換する。
【００４３】
シーケンサ１２０６は、ベクタ（たとえば、キャラクタ（文字）シーケンス）をベクタメモリ１２０２から順次取り出し、波形テーブル７０８にそれぞれの波形データを出力させ、エッジ発生器１２０８にそれぞれのタイミング情報を出力させる。
【００４４】
ベクタメモリ１２０２から取り出されたベクタが、ＤＵＴピン１１０に提供されるデータを表す場合は、ドライブデータフォーマッタ１２１０は、波形データおよびタイミング情報（それぞれ、波形テーブル７０８およびエッジ発生器１２０８により提供される）を使用して波形をフォーマット（例えば、波形整形）する。次に、ドライブデータフォーマッタ１２１０は、フォーマットされた波形をドライバ１２１２に提供し、ドライバ１２１２は、フォーマットされた波形をＤＵＴピン１１０に出力する。
【００４５】
ベクタメモリ１２０２から取り出されたベクタが、ＤＵＴピン１１０から受け取るデータに対応する場合は、データ比較フォーマッタ１２１６は、波形データおよびタイミング情報（それぞれ、波形テーブル７０８およびエッジ発生器１２０８により提供される）を使用して波形をフォーマットする。次に、データ比較フォーマッタ１２１６は、フォーマットされた波形をエラー検出器１２１８に提供する。エラー検出器１２１８は、フォーマットされた波形を、ＤＵＴピン１１０から受信した対応する波形と比較する。フォーマットされた波形と、ＤＵＴピン１１０から受信した対応する波形との相違は、ＤＵＴ１０６における性能（または動作または機能）の誤差（エラー）を表す。こうした誤差に関する情報は、エラーマップ１２２０に記憶される。
【００４６】
上記の実施態様は、実施可能なものを例示したにすぎない。上記の実施態様には、多くの変形および変更を加えることができる。こうしたすべての変更および変形は、本明細書の開示の範囲内に含まれ、特許請求の範囲により保護されることが意図されている。
【図面の簡単な説明】
【００４７】
【図１Ａ】テストシステムの一実施態様を示すブロック図である。
【図１Ｂ】図１Ａのテストシステムの実施態様を示すブロック図である。
【図１Ｃ】図１Ａのテストシステムのもう１つの実施態様を示すブロック図である。
【図２】図１Ａに示すコンピュータの一実施態様を示すブロック図である。
【図３】図１Ａに示すコンピュータによって実施可能な方法の一実施態様を示すフローチャートである。
【図４Ａ】図１Ａに示すコンピュータによって実施可能な方法のもう１つの実施態様を示すフローチャートである。
【図４Ｂ】図１Ａに示すコンピュータによって実施可能な方法のもう１つの実施態様を示すフローチャートである。
【図５】図１Ａに示すコンピュータによって実施可能な方法のさらにもう１つの実施態様を示すフローチャートである。
【図６Ａ】図１Ａに示すコンピュータによって実施可能な方法のさらに他の実施態様を示すフローチャートである。
【図６Ｂ】図１Ａに示すコンピュータによって実施可能な方法のさらに他の実施態様を示すフローチャートである。
【図７】テストシステムのもう１つの実施態様を示すブロック図である。
【図８】図７に示す波形テーブルを構成するための方法の一実施態様を示すフローチャートである。
【図９】図７に示す波形テーブルを使用するための方法の一実施態様を示すフローチャートである。
【図１０】図７に示すＤＵＴテスタにより構成される波形の一例を示す。
【図１１】図７に示す波形テーブルを使用するためのもう１つの方法の一実施態様を示すフローチャートである。
【図１２】ＤＵＴテスタの一実施態様を示すブロック図である。
【符号の説明】
【００４８】
１０１  テストデータファイル
１０４  第１の複数のデータユニット
１０５  第２の複数のデータユニット
１０６  試験対象デバイス（ＤＵＴ）
１０９  ＤＵＴテスタ
１１０  ＤＵＴピン
【図１Ａ】
2005037396.tif 000006
【図１Ｂ】
2005037396.tif 000007
【図１Ｃ】
2005037396.tif 000008
【図２】
2005037396.tif 000009
【図３】
2005037396.tif 000010
【図４Ａ】
2005037396.tif 000011
【図４Ｂ】
2005037396.tif 000012
【図５】
2005037396.tif 000013
【図６Ａ】
2005037396.tif 000014
【図６Ｂ】
2005037396.tif 000015
【図７】
2005037396.tif 000016
【図８】
2005037396.tif 000017
【図９】
2005037396.tif 000018
【図１０】
2005037396.tif 000019
【図１１】
2005037396.tif 000020
【図１２】
2005037396.tif 000021
【外国語明細書】
2005037396000001.pdf