(57)【要約】  自動テスト装置において使用することの可能な波形の生成および測定モジュール。この波形の生成および測定モジュールは、テスト波形をデジタルに描画するために使用される、高速ＳＥＲＤＥＳ（あるいは、他のシフトレジスタ）を含んでいる。テスト中のデバイスから応答波形を（シリアル形式で）受信し、高速処理のために、それをパラレルデータに変換するために、追加的な高速ＳＥＲＤＥＳを使用してもよい。この波形の生成および測定モジュールは、フィールドプログラマブル・ゲートアレイロジックにおいて実施することの可能なものである。
2009543096.tif 000002
【特許請求の範囲】
【請求項１】
自動テスト装置における波形の生成および測定モジュールであって、
テスト波形を特徴づけるベクトル情報を有するメモリデバイスと、
パラレルフォーマットでメモリデバイスからベクトル情報を受信し、前記テスト波形に応じたシリアルの出力を生成する第１の複数のシフトレジスタと、
テスト中のデバイスからシリアルフォーマットで応答波形を受信し、この応答波形に応じたパラレルデータを出力として生成する第２の複数のシフトレジスタとを備える、波形の生成および測定モジュール。
【請求項２】
前記第１および第２の複数のシフトレジスタのそれぞれが、少なくとも１つのシリアライザ−デシリアライザ部材を備えている、請求項１に記載の波形の生成および測定モジュール。
【請求項３】
前記テスト波形が、複数のＴＩＣとして規定されており、各ＴＩＣが、テスト波形内における少なくとも１ビットの位置に対応している、請求項２に記載の波形の生成および測定モジュール。
【請求項４】
データ結合器をさらに備えており、
前記データ結合器が、前記メモリデバイスからパターンデータを受信し、
さらに、このデータ結合器が、前記テスト波形を生成するために、前記パターンデータを、テスト波形を特徴づけるベクトル情報と組み合わせるように構成および配列されている、請求項３に記載の波形の生成および測定モジュール。
【請求項５】
各ＴＩＣが、シリアライザ−デシリアライザ部材における１クロック周期より大きいか、これと等しい持続時間を有している、請求項３に記載の波形の生成および測定モジュール。
【請求項６】
前記ベクトル情報が、ベクトル周期を特定するものである、請求項５に記載の波形の生成および測定モジュール。
【請求項７】
前記ベクトル周期を生成するように構成および配置されている周期生成器をさらに有している、請求項６に記載の波形の生成および測定モジュール。
【請求項８】
波形伸長回路をさらに有しており、各ＴＩＣが、シリアライザ−デシリアライザ部材における少なくとも２クロック周期の持続時間を有するように、前記波形伸長回路が、各ＴＩＣを複製するように構成および配置されている、請求項３に記載の波形の生成および測定モジュール。
【請求項９】
前記メモリデバイスが、比較波形を特徴づける比較ベクトル情報を備えている、請求項１に記載の波形の生成および測定モジュール。
【請求項１０】
前記比較波形および応答波形を受信し、ビットバイビットで応答波形を比較波形と比較するように構成および配列されている異常検出回路をさらに備えている、請求項９に記載の波形の生成および測定モジュール。
【請求項１１】
前記異常検出回路が、応答波形における比較波形との比較に基づいて、異常記録を生成するように構成および配列されている、請求項１０に記載の波形の生成および測定モジュール。
【請求項１２】
異常バッファをさらに備えており、この異常バッファが、前記異常記録を受信し格納するように構成および配列されている、請求項１１に記載の波形の生成および測定モジュール。
【請求項１３】
前記波形の生成および測定モジュールが、フィールドプログラマブル・ゲートアレイとして実施されている、請求項１に記載の波形の生成および測定モジュール。
【請求項１４】
自動テスト装置における波形生成方法であって、
パラレルフォーマットのデジタルデータを、第１の複数のシフトレジスタに提供すること、および、
テスト波形を生成するために、このデジタルデータを、第１の複数のシフトレジスタからシリアルにシフト出力することを含んでいる、方法。
【請求項１５】
前記デジタルデータの提供が、複数のＴＩＣを有するデジタル波形を提供することを含んでおり、各ＴＩＣが、シフトレジスタにおける少なくとも１クロック周期に等しい持続時間を有している、請求項１４に記載の方法。
【請求項１６】
各ＴＩＣが、シフトレジスタにおける少なくとも２クロック周期に等しい持続時間を有するように、前記デジタル波形を伸長することをさらに含んでいる、請求項１５に記載の方法。
【請求項１７】
第２の複数のシフトレジスタによって、シリアルフォーマットの応答波形を受信すること、および、
この応答波形を、パラレルフォーマットの出力データに変換することをさらに含んでいる、請求項１５に記載の方法。
【請求項１８】
前記出力データを比較波形と比較すること、および、
この比較に基づいて、異常データを生成することをさらに含んでいる、請求項１７に記載の方法。
【請求項１９】
前記異常データを格納することをさらに含んでいる、請求項１８に記載の方法。
【請求項２０】
前記出力データにおける比較波形との比較が、ビットバイビットでの比較を実行することを含んでいる、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
発明の分野
本発明における少なくとも１つの実施形態は、自動テスト装置に関するものであり、より具体的には、このような装置における波形の生成および測定のシステムおよび方法に関するものである。
【背景技術】
【０００２】
関連技術の説明
今日、多くの半導体集積回路は、非常に複雑であり、製造欠陥をテストするための、洗練された自動テスト装置（ＡＴＥ）を必要としている。一般的に、ＡＴＥは、集積回路（ＩＣ）をテストするために使用される。このテストでは、ＡＴＥメモリに格納されているテストパターンをテスト用のＩＣに適用して、チップの応答性を予想される応答性と比較するようになっている。これらのテストパターンは、典型的には、特定用途の集積回路（ＡＳＩＣ）を介する波形およびタイミング生成に関連している。ＡＳＩＣの欠点には、製造にお金と時間とがかかること、および、バグの修正および将来の機能強化に関する改良コストのかかることが含まれる。これは、テストを実行するために複雑で性能のよい計算装置を必要とすることに起因して一般的に既に非常に高価なＡＴＥのコストを、増大するものである。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＡＴＥのコストは、ともするとひどく高価である。それにも関わらず、これらは、多くの会社にとって必需品である。製造された集積回路のそれぞれを、それが消費者に出荷される前にテストすることは重要である。なぜなら、加工された集積回路におけるかなりの割合が、製造欠陥を含んでいるからである（特に、大規模集積回路の場合）。したがって、これらの欠陥チップを、これらが消費者に出荷される前に選別して排除することは、非常に重要である。このため、コストを減少し、部品技術の進歩に伴うより高い性能のオプションへの移行を可能とするために、容易に入手可能な部品およびシステムを含むＡＴＥを提供することが望まれている。
【課題を解決するための手段】
【０００４】
発明の概要
本発明の態様および実施形態は、ＡＴＥにおける波形およびタイミング生成に関するデジタルモジュールを対象とするものである。テスト中のデバイス（ここでは、「ＤＵＴ」と称される）を結合することの可能なピンを活性化するために、デジタルモジュール上のメモリデバイスからパラレルの入力データを受信し、それを非常に高速のシリアルの波形に変換することによって、シリアライザ−デシリアライザ部材（ＳＥＲＤＥＳ）のような高速シフトレジスタを、テスト波形をデジタルに描画するために使用することが可能である。ＳＥＲＤＥＳの伝播遅延が一定であるために、従来の波形生成に比べて、改善されたジッタおよび線型性を得ることが可能となる。さらに、ＤＵＴから応答波形を（シリアル形式で）受信し、高速処理のために、それをパラレルデータに変換するために、高速シフトレジスタを使用してもよい。ＤＵＴの応答を分析するために使用することの可能な受信波形が、大量のサンプルを含んでいるため、比較的に非常に詳細な事項を波形内でキャプチャすることが可能となる。したがって、単一のテストサイクルにおいて、単一の波形を、ＤＵＴに対する多数のテストを実行するために使用することが可能となる。このように、シフトレジスタを用いて所望の刺激波形をデジタルに描画し、予想された波形あるいは
測定された波形を処理することによって、改良された機能性を得ることが可能となる。さらに、本発明にしたがうデジタルモジュールを、ＦＰＧＡにおいて実施してもよい。これは、従来のＡＴＥにおいて使用されているＡＳＩＣに比して、はるかに柔軟で、かつ、大幅に低い開発コストをもつことの可能なものである。このように、本発明の態様にしたがうデジタルモジュールは、コストが低く、拡縮自在で、さらに、測定に関する新しい解決法の素早い原型作成をサポートするＡＴＥの開発を、促進することの可能なものである。
【０００５】
一実施形態にしたがうと、自動テスト装置における波形の生成および測定モジュールは、テスト波形を特徴づけるベクトル情報を有するメモリデバイスと、パラレルフォーマットでメモリデバイスからベクトル情報を受信し、上記のテスト波形に応じたシリアルの出力を生成する、第１の複数のシフトレジスタと、テスト中のデバイスからシリアルフォーマットで応答波形を受信し、この応答波形に応じたパラレルデータを出力として生成する、第２の複数のシフトレジスタと、を備えることが可能である。
【０００６】
一実施例では、上記第１および第２の複数のシフトレジスタのそれぞれが、少なくとも１つのシリアライザ−デシリアライザ部材を備えている。他の実施例では、テスト波形を、複数のＴＩＣとして規定することが可能であり、各ＴＩＣが、テスト波形内における、少なくとも１ビットの位置に対応している。一実施例では、各ＴＩＣが、シリアライザ−デシリアライザ部材における１クロック周期より大きいか、これと等しい持続時間を有することが可能である。波形の生成および測定モジュールは、さらに、データ結合器を備えることが可能である。一実施例では、メモリデバイスからパターンデータを受信し、テスト波形を生成するために、パターンデータを、テスト波形を特徴づけるベクトル情報と組み合わせるように、データ結合器を構成および配列することが可能である。他の実施例では、ベクトル情報は、ベクトル周期を特定することが可能である。そして、波形の生成および測定モジュールは、ベクトル周期を生成するように構成および配置されている、周期生成器を有することが可能である。波形の生成および測定モジュールは、波形伸長回路をさらに有することが可能である。この波形伸長回路は、各ＴＩＣがシリアライザ−デシリアライザ部材における少なくとも２クロック周期の持続時間を有するように、各ＴＩＣを複製するように構成および配置されているものである。他の実施例では、メモリデバイスは、比較波形を特徴づける比較ベクトル情報を含んでもよい。波形の生成および測定モジュールは、異常検出回路を備えることが可能である。この異常検出回路は、比較波形および応答波形を受信し、ビットバイビットで応答波形を比較波形と比較するように構成および配列されたものである。異常検出回路を、応答波形における比較波形との比較に基づいて、異常記録を生成するように構成および配列してもよい。一実施例では、波形の生成および測定モジュールは、異常記録を受信し格納するために、異常バッファを備えることも可能である。いくつかの実施例では、波形の生成および測定モジュールを、フィールドプログラマブル・ゲートアレイとして実施することが可能である。
【０００７】
他の実施形態にしたがうと、自動テスト装置における波形生成方法は、パラレルフォーマットのデジタルデータを、第１の複数のシフトレジスタに提供すること、および、テスト波形を生成するために、このデジタルデータを、第１の複数のシフトレジスタからシリアルにシフト出力すること、を含んでもよい。
【０００８】
一実施例では、上記デジタルデータの提供が、複数のＴＩＣを有するデジタル波形を提供することを含むことが可能であり、各ＴＩＣが、シフトレジスタにおける少なくとも１クロック周期に等しい持続時間を有している。他の実施例では、本方法は、さらに、各ＴＩＣがシフトレジスタにおける少なくとも２クロック周期に等しい持続時間を有するように、デジタル波形を伸長することを含んでもよい。いくつかの実施例では、本方法は、第２の複数のシフトレジスタによって、シリアルフォーマットの応答波形を受信すること、および、この応答波形を、パラレルフォーマットの出力データに変換すること、をさらに
含んでもよい。この方法は、また、出力データを比較波形と比較すること、および、この比較に基づいて、異常データを生成すること、および（選択的に）、この異常データを格納すること、をさらに含んでもよい。一実施例では、この比較は、ビットバイビットでの比較を実行することを含んでもよい。
【０００９】
なお他の態様、実施形態、および、これらの例示的な態様および実施形態における有利な点は、以下に詳細に説明される。さらに、上記情報および後述する詳細な説明は、単に、さまざまな態様および実施形態の例を示すものであり、特許請求されている態様および実施形態における性質および特徴を理解するための、概観あるいは枠組みを提供することを意図されたものにすぎない、ということが理解されるべきである。添付図面は、さまざまな態様および実施形態の例示およびさらなる理解を提示するために含まれているものであり、この明細書の一部に組み込まれ、これを構成するものである。これらの図面は、この明細書の残部とともに、記載され特許請求されている態様および実施形態の原理および動作を説明するために機能する。
【００１０】
少なくとも１つの実施形態におけるさまざまな態様が、添付図面を参照しながら以下に説明される。正しい縮尺で描かれるように意図されていないこれらの図では、さまざまな図に示された同一の部材、あるいはほぼ同一の部材が、同様の数字で表現されている。明確さのために、全ての図において、一部の部材だけがラベリングされていることもある。これらの図は、例示および説明のために提供されたものであり、本発明の限定を確定するものとして意図されているものではない。
【図面の簡単な説明】
【００１１】
【図１】本発明の態様にしたがうデジタルモジュールにおける、一実施形態のブロック図である。
【図２】本発明の態様にしたがうベクトルの図である。
【図３】周期生成器の一実施形態におけるブロック図である。
【図４】図３の周期生成器の動作における一実施例を示す、タイミング図である。
【図５】本発明の態様にしたがう、波形テーブル再マップ、周期選択および波形テーブル選択のための回路における、一実施例のブロック図である。
【図６】本発明の態様にしたがうＳＥＲＤＥＳ駆動回路における、一実施例のブロック図である。
【図７】本発明の態様にしたがうデジタルモジュールにおける、他の実施例のブロック図である。
【図８】本発明の態様にしたがうドライバ波形における、一実施例のタイミング図である。
【図９】図７のデジタルモジュールにおいて使用することの可能なＴＩＣ伸長を得るための回路における、一実施例のブロック図である。
【図１０】本発明の態様にしたがう波長伸長回路における、一実施例のブロック図である。
【図１１】本発明の態様にしたがう波形融合回路における、一実施例のブロック図である。
【図１２】図１１の波形融合回路の動作における、実施例のタイミング図である。
【図１３】本発明の態様にしたがう比較波形における、一実施例のタイミング図である。
【図１４】本発明の態様にしたがう、異常検出器回路および異常データ復号の一実施形態における表および回路を示す図である。
【図１５】本発明の態様にしたがう、比較ＳＥＲＤＥＳ回路の一実施例におけるブロック図である。
【図１６】本発明の態様にしたがう、波形テーブル再マップおよび遅延回路の一実施例におけるブロック図である。
【図１７】本発明の態様にしたがう、波遅延回路の一実施形態におけるブロック図である。
【図１８】本発明の態様にしたがう、異常検出回路の一実施形態におけるブロック図である。
【図１９】本発明の態様にしたがう、波形分離回路の一実施例におけるブロック図である。
【図２０】本発明の態様にしたがう、ＳＥＲＤＥＳ多重化回路の一実施例におけるブロック図である。
【図２１】本発明の態様にしたがう、メモリサブシステムの一実施例におけるブロック図である。
【発明を実施するための形態】
【００１２】
詳細な説明
本発明における少なくともいくつかの態様および実施形態は、自動テスト装置（ＡＴＥ）のために波形あるいはタイミングの生成および測定を実行する、モジュールを対象とするものである。上記したように、従来のＡＴＥは、特注品の複雑な回路および計算用部品の必要性に起因して、非常に高価なものとなる可能性がある。本発明の実施形態および態様にしたがうと、従来のＡＴＥにおいて一般的に使用されている特定用途の集積回路（ＡＳＩＣ）を、より柔軟で安価なフィールドプログラマブル・ゲートアレイ（ＦＰＧＡ）技術に置き換えることの可能な、波形生成モジュールが提供される。具体的には、少なくともいくつかの態様および実施形態は、以下に説明されるように、高速シリアライザ−デシリアライザ（ＳＥＲＤＥＳ）入出力チャネルを使用する、ＦＰＧＡをベースとするタイミング発生器を対象としている。ＦＰＧＡ技術を使用することにより、以下にさらに説明されるように、ＡＳＩＣ設計に一般的に付随する回復不能の莫大な開発コストを排除することによって、ＡＴＥのコストを大幅に減少することが可能であるとともに、機能性および柔軟性を改良することができる。
【００１３】
当然のことながら、ここに説明した方法および装置の実施形態は、以下の説明に記載されている、あるいは添付図面に例示されている構造の詳細および部品の構成に対する応用に限られない。この方法および装置は、他の実施形態において実施することが可能であり、さまざまな手法で実現すること、および、実行することの可能なものである。特定の実施例は、説明の便宜のために示されているのであって、これに限ることを目的とするものではない。特に、１つ以上の実施形態のいずれかに関連して説明された挙動、部品および特徴点は、他のいずれかの実施形態における同様の役割から排除されること意図されているものではない。また、ここで使用されている表現および専門用語は、説明のためのものであり、限定とみなされるべきものではない。「含む（ｉｎｃｌｕｄｉｎｇ）」「備える（ｃｏｍｐｒｉｓｉｎｇ）」「有する（ｈａｖｉｎｇ）」「内包する（ｃｏｎｔａｉｎｉｎｇ）」「含有する（ｉｎｖｏｌｖｉｎｇ）」およびこれらの変化形は、その後に記載された事項およびその等価物ならびに追加的な事項を包含するということを意図したものである。
【００１４】
この明細書の全体にわたって、以下の略語が使用されている。
ＳＴＩＬ  ＩＥＥＥ１４５０によって規定されている、標準的なテストインターフェイス言語
ＤＵＴ  テスト用のデバイス
ＡＴＥ  自動テスト装置
ＦＰＧＡ  フィールドプログラマブル・ゲートアレイ
ＡＳＩＣ  特定用途の集積回路
Ｔ  ベクトル周期
Ｔ０  ベクトル周期のスタート地点
ＴＣ  システムクロック周期
ＴＳ  ＳＥＲＤＥＳクロック周期
ＴＩＣ  所定の周波数における所定の波形の最小片
ＷＦＣ  波形特性
ＷＦＭ  波形メモリ
ＷＦＴ  波形テーブル
ＢＬ  バースト長
ＷＳ  波セット
ＷＧＬ  波形生成言語
ＰＥ  ピンエレクトロニクス。
【００１５】
ＡＴＥは、例えば半導体集積回路などのテスト用のデバイス（ＤＵＴ）に接続することの可能な、回路を備えている。この回路は、テスト波形をＤＵＴに供給し、ＤＵＴからの反応を測定してＤＵＴが正確に作動しているか否かを判断してもよい。ＡＴＥには、これらの機能を与えるために、テストヘッドが含まれているものもある。他のＡＴＥでは、ＡＴＥのメインフレーム内の機器から信号が供給される。一実施形態にしたがうと、テスト波形を供給するため、および、ＤＵＴからの応答波形を分析するためにＡＴＥの回路に接続されることの可能な、データモジュールが提供される。このデジタルモジュールは、より低い開発コストおよび増加した柔軟性という上記した利点を得るために、主に、ＦＰＧＡとして実現することが可能なものである。
【００１６】
図１を参照すると、本発明の態様にしたがうデジタルモジュールの一部における、一実施例のブロック図が例示されている。このデジタルモジュール１００は、以下にさらに示すように、形状および周期に関する所望の波形を特定するための情報を内包する、メインメモリ１０４を含んでもよい。このメインメモリ１０４は、製造される１つ以上のテスト波形を特定するための情報を、内包することが可能である。メインメモリのこの部分については、それがＤＵＴをテストするために使用される「ベクトル」を特定することから、「ベクトルメモリ」と称される。例えば、このベクトルメモリは、テスト波形における形状、周波数、パルスのタイミングおよび他のパラメータ、および、テスト波形に応じてＤＵＴから受信されることを予想される応答波形、を特定するための情報を含んでもよい。このメインメモリ１０４の動作については、以下により詳細に説明される。デジタルモジュール１００は、また、メインメモリ制御部１０６を備えることも可能である。このメインメモリ制御部１０６は、メインメモリ１０４から情報を読み出して、メインメモリ１０４にデータを書き込むものである。このメインメモリ制御部は、また、ライン１１０および１１２上にある、ＡＴＥ回路から信号を受信する。このメインメモリ制御部は、バッファメモリ１０８に対して、ベクトルデータ（すなわち、生成された波形の特性を特定するための情報）を提供する。バッファメモリ制御部１１４は、このバッファ内に対するメインメモリの読み込みを管理する。バッファメモリおよびバッファメモリ制御部の動作については、以下にさらに詳細に説明される。
【００１７】
なお図１を参照すると、一実施形態では、デジタルモジュール１００は、１つ以上の高速シフトレジスタのセットを含んでもよい。この高速シフトレジスタは、バッファメモリ１０８から波形情報を受信し、シリアル出力としてのテスト波形を生成するものである。このシリアル出力は、ＤＵＴの接続されるテストピンに印加してもよい。このシフトレジスタ１１６およびそれに関連する制御回路が、ブロック３２６として示されている。１つ以上のシフトレジスタにおける第２のセットを、ＤＵＴからの応答波形を受信し、この応答をパラレルデータに変換し、この応答をメインメモリ制御部１０６に供給するために使用してもよい。このとき、メインメモリ制御部１０６は、この応答をメインメモリ１０４に移動する。これらのシフトレジスタ１１８、および、それに関連する制御回路は、ブロ
ック３２８として例示されている。このように、波形は、これらの高速シフトレジスタを使用することによって、デジタル処理で「描かれる」ことが可能である。これは、さらに以下に説明されるように、柔軟で比較的に安価な設計を可能とする。図１に例示されているように、デジタルモジュール１００における多くの部品については、ＦＰＧＡ１０２内において実施してもよい。明確さのために、図１には、１つのピンに関する回路が例示されている（全てのピンのために使用される、メインメモリ１０４を除く）。しかしながら、当然のことではあるが、本発明は、いかなるピンの定数にも限定されることはなく、また、多数のピンに対応するために、シフトレジスタにおける追加的なセットおよびラインをデジタルモジュール内に設けるようにしてもよい。
【００１８】
一実施例では、シフトレジスタを、シリアライザ−デシリアライザ（ＳＥＲＤＥＳ）部材としてもよい。これらのＳＥＲＤＥＳは、パラレル入力を受信し、それをシリアル出力に変換することのできるものである。あるいは、その代わりに、ＳＥＲＤＥＳは、シリアル入力を受信して、それをパラレル出力に変換してもよい。駆動側では、ブロック３２６におけるＳＥＲＤＥＳ１１６は、ライン１２０上で、所望の波形を表現するパラレルデータを受信することができる。そして、ライン１２２ａおよび１２２ｂ上で、それをシリアル形式にクロック出力あるいはシフト出力することによって、テスト波形を描くことも可能である。同様に、デジタルモジュール１００の入力側では、ＳＥＲＤＥＳ１１８は、ライン１２４ａおよび１２４ｂ上のピンからシリアル形式で応答波形を受信し、処理のために、その応答をパラレルデータに変換してもよい。データは、ＳＥＲＤＥＳのクロック周期ごとに１度、ＳＥＲＤＥＳの中に、あるいはその外にシフトされる。ＳＥＲＤＥＳのクロック周期は、ここではＴＳと称される周期を有している。一実施例では、ＳＥＲＤＥＳは、約４ギガヘルツ（ＧＨｚ）のデータクロック速度を有することができる。これにより、波形は、約２５０ピコ秒（ｐｓ）までの解像度を有することが可能となる。本発明の実施形態における後述する説明は、単純化のために、ＳＥＲＤＥＳを、シフトレジスタと称しているが、当然のことながら、本発明は、ＳＥＲＤＥＳを使用することに限られず、むしろ、当然のことながら、他のいかなるタイプのシフトレジスタを使用してもよい。
【００１９】
ＳＥＲＤＥＳの動作については、システムクロック周期ＴＣを有する、システムクロックによって制御してもよい。このシステムクロックについては、公知のいかなる方法および装置を用いることによって（例えば、当業者に知られている位相ロックループを用いて）、生成するようにしてもよい。一実施形態では、ＳＥＲＤＥＳは、３２ビットのインターフェイスを有することが可能であり、したがって、ＳＥＲＤＥＳのクロック周期ＴＳが、システムクロック周期ＴＣの１／３２となることが可能である。すなわち、ＴＣ＝３２ＴＳである。単純化のために、以下の説明では、３２ビットのＳＥＲＤＥＳインターフェイスを仮定することとし、したがって、デジタルモジュールの動作を、３２ビットのＳＥＲＤＥＳインターフェイスに適したビット数を用いて表現することとする。しかしながら、当然のことではあるが、ＳＥＲＤＥＳは、異なるビット数（例えば、１６ビットあるいは６４ビット）のインターフェイスを有してもよく、したがって、ここに説明した例示的なビット数およびタイミング情報を、ＳＥＲＤＥＳインターフェイスに適合するように調整してもよい。一実施例では、ＴＣを７．５ナノ秒（ｎｓ）とすることもできる。これは、１３３メガヘルツ（ＭＨｚ）のシステムクロック速度に対応するものであり、したがって、ＴＳは２３４ｐｓとなることが可能である。しかしながら、当然のことではあるが、システムクロック速度に関する他の多くの値を使用することも可能であり、本発明は、１３３ＭＨｚのシステムクロックを使用することに限定されるわけではない。
【００２０】
再び図１を参照すると、一実施形態にしたがうと、デジタルモジュール１００は、ライン１２２ａを介してピンに２値（１あるいは０）を供給することによって、各ピンを高（Ｈ）あるいは低（Ｌ）のいずれかに「駆動」することができる。この場合、この駆動については、ライン１２２ｂに供給された２値信号によって「オン」状態とすることが可能で
ある。この手法では、さらに以下に説明されるように、ライン１２２ａ上の信号によってピンを駆動することによって、波形を、ピンに対してシリアルに供給する（すなわち、１ビットづつ「描く」）ことができる。ライン１２２ａおよび１２２ｂ上の信号の状態を制御するための情報は、メインメモリ１０４から供給される。デジタルモジュール１００は、「比較」ライン１２４ａ（比較Ｈ）および１２４ｄ（比較Ｌ）を介して、ＤＵＴからの入力を受信してもよい。この場合、駆動を、ライン１２２ｂ上に供給されら２値信号によってオフ状態とすることが可能である。
【００２１】
ＤＵＴに関するテストは、ベクトル表現によって特定することが可能である。ベクトルは、特定された波形が、駆動ＳＥＲＤＥＳ１１６を介してＤＵＴに供給される間、および／または、ＤＵＴの応答が、比較ＳＥＲＤＥＳ１１８を用いる比較波形と比較される間の、時間周期である。図２を参照すると、ベクトル１３０における一実施例が例示されている。ベクトル１３０は、メインメモリから供給される情報によって特定される、ベクトル周期Ｔを有している。場合によっては、ベクトル周期Ｔは、１つ以上のシステムクロックに対応できる。一実施例では、最小のＴを１ＴＣとしてもよく、さらに、１ＴＣより長いベクトル周期が、ＴＣ周期の一部を含んでもよい（すなわち、Ｔは、ＴＣの整数倍となっている必要はない）。ベクトル周期Ｔの間、メインメモリから供給された情報に基づいて、波形１３２が生成される。波形については、ＴＩＣ１３４の数によって規定するようにしてもよい。ＴＩＣは、所定の周波数における所定の波形の最小片である。したがって、ＴＩＣは、波形の「精度」あるいは解像度を規定するものである。所定のベクトルにおける全てのＴＩＣは、同じサイズである。しかしながら、ＴＩＣのサイズについては、各ベクトルにおいて一定である必要はない。ベクトル周期Ｔがシステムクロック周期ＴＣに対応している一実施例では、各ＴＩＣは、１ＴＳに対応している。しかしながら、Ｔが１ＴＣよりも大きい場合には、各ＴＩＣは、数個のＴＳに対応できる。
【００２２】
ＤＵＴをテストするために、メインメモリからベクトルが読み出される。ベクトルデータ（ベクトルメモリとも称される）は、波形におけるベクトル周期Ｔおよび形状の双方を特定する。その特定のベクトル周期を有する各ベクトルを生成するために、デジタルモジュールは、周期生成器を含んでもよい。デジタルモジュールごとの周期生成器の数は、ＦＰＧＡのレイアウトのような設計要素に依存するものであってもよい。１つの周期生成器を、多数のピンのために使用してもよい。しかしながら、場合によっては、ＦＰＧＡのレイアウトが、単一の周期生成器から全てのピンに回路をつなげることを困難にする可能性もある。したがって、追加的な周期生成器を、必要に応じて含むようにしてもよい。
【００２３】
図３を参照すると、本発明の態様にしたがう周期生成器における一実施例のブロック図が例示されている。この周期生成器１３６は、ダウンカウンタ１３８および加算器１４０を備えている。一実施例では、ベクトル周期（Ｔ）は、３２ＴＳから２３２ＴＳまでの範囲に及ぶ可能性がある。しかしながら、上記したように、ＦＰＧＡ１０２（図１参照）は、周期ＴＣのシステムクロックを用いて動作する。このように、ベクトル周期は、しばしば、システムクロック周期ＴＣに対応していない可能性がある。したがって、周期生成器１３６は、ＴＳの単位において次のＴがスタートする位置を計算する。新しいベクトル周期Ｔがスタートするクロック周期については、複数の目的のために特定してもよい。メモリコントローラは、他のベクトルデータのセットを取ってくるタイミングを知るために、この情報を使用することもできる。さらに、波形機構は、以下で説明するように、新しい波形および波形テーブルの入力を調べるタイミングを知るために、この情報を使用してもよい。
【００２４】
一実施形態では、新しい周期値が、３２個のＴＳを単位として、メインメモリにおける波形テーブル（ＷＦＴ）に格納される。当然のことではあるが、特別の実施例におけるＳＥＲＤＥＳが３２ビットではないインターフェイスを有している場合、これに応じて、周
期値は、他の適切な数より小さいＴＳを単位として格納されてもよい。３２より小さい実際の数値を格納することにより、含まれているハードウェアを単純化できる。例えば、最小のベクトル周期３２ＴＳに関しては、ＷＦＴに格納される値は、３２−３２＝０である。ダウンカウンタ１３８は、ＴＳの数をカウントダウンする。現在のカウントが３２より小さくなった場合、これは、ベクトル周期のサイクルにおける終端が生じているＴＣを示しており、新しい周期が開始される。カウントは、現在のカウントに新しい周期３２を加えたものになる。しかしながら、ＷＦＴが新しい周期（ＴＳを単位とする）３２を格納するので、新しいカウントは、現在のカウントに新しいＷＦＴ入力を加えたものによって与えられる。このＷＦＴ入力は、ライン１４４上の加算器１４０に供給される。この加算器１４０は、新しいＷＦＴ入力（新しい周期を特定する）を現在のカウントと組み合わせるものである。コンパレータ１４２は、現在のカウント値を３２と比較するために使用される。現在の値が３２より小さい場合、これは、現在の周期が終了し、次の周期が開始するシステムクロック周期を示している。一実施例では、コンパレータ１４２は、カウントビット３１：５を全ての０値と比較してもよい。この実施例では、最低の５ビット（４：０）が、常に、ＴＳにおける周期のスタートの正確な位置を示している。
【００２５】
図４を参照すると、周期生成器における動作の実施例が例示されている。カウント（ＴＳの）が、システムクロック（トレース１４６）周期ごとに３２ＴＳとなる、トレース１４８として示されている。この実施例では、ＴＳ数２３において開始される周期は、１７７ＴＳの周期を有しており、さらに、ＴＳ８において開始される９５の周期が後続する。上記したように、１７７ＴＳの周期は、１７７−３２＝１４５として、ＷＦＴに格納される。この実施例では、カウンタが２３までカウントダウンしたとき、それは、２３＋１７７−３２＝１６８となる（ロードパルス１５０ａによって示されている）。カウントが再び３２を下回ったとき、ロードパルス１５ｂによって示されているように、次の周期（９５−３２）が読み込まれる。当然のことではあるが、ＴＳ数によって特定される場所は、ビット周期ＴＳの開始点である。したがって、わずか７．５ｎｓのシステムクロック周期を３２個の区画に分割する場合には、ＴＳ０は、最初の区画の開始点に相当し、さらに、システムクロックの立ち上がりエッジと一致することになる。３１番目の区画は、正確に、システムクロック周期の終端の前の１ＴＳとなる。
【００２６】
少なくともいくつかの実施形態にしたがうと、ベクトルを、ＩＥＥＥ１４５０によって規定されている、標準的なテストインターフェイス言語（ＳＴＩＬ）を用いて規定することが可能である。これらの実施形態では、その周期および波形に関連してベクトルを特定するデータが、波形特性（ＷＦＣ）および波形テーブル（ＷＦＴ）の形態でメインメモリに格納される。波形特性は、ＷＧＬ（波形生成言語）などの他の言語において使用されている、タイムセット定義にやや類似したものである。ＳＴＩＬは、ＷＦＣに関する６３までの異なる符号をサポートしている。しかしながら、いくつかの実施例では、より実用的な限界をピンごとに３２ＷＦＣとしてもよい。ＦＰＧＡの一実施形態は、３２×１８のサイズのメモリプリミティブを有している。これは、３２個の要素波形テーブルにおける簡単な構成を可能とする。ピンのＷＦＣは、波形テーブルから特定の波形を選択することが可能である。
【００２７】
一実施形態では、各波形は、６３ビットの幅のビットパターンである。波形内での各ビットの位置は、上記したように、ＴＩＣとして知られている。ベクトルの周期に応じて、少なくとも３２個のＴＩＣが使用される（ＴＩＣ数は、波形ごとに６３まで）。以下にさらに示すように、６４番目のＴＩＣ位置にあるものは、必要であれば波形を水増しするために使用することも可能な、付け足しのＴＩＣである。ＴＩＣについては、ＴＳごとに１ＴＩＣとするのと同程度に速い高速ＳＥＲＤＥＳ送信器からシフトアウトすることもできる。いくつかの実施例では、以下にさらに示されるように、ＴＩＣを、ベクトルに利用される周期を伸長するために、２のべき乗でくり返すことも可能である。
【００２８】
ＳＴＩＬもまた、波形テーブル（ＷＦＴ）における期間定義とともに、ＷＦＣのセットをサポートしている。使用することの可能なＷＦＴの数に関する、特別の限定はない。しかしながら、ＷＦＣより多くのＷＦＴをサポートすることは有用ではない。一実施形態では、３２個のＷＦＴをサポートすることを選択することによって、ＷＦＴにおいて使用されている実際のアドレスに対して、メインメモリにおけるＷＦＣの選択をマップする、マッピングを実行することが可能となる。一実施例では、このマッピング機能は、小さな１Ｋ×５のルックアップテーブルである。そのアドレスは、５ビット（３２個のうちの１個）のＷＦＴ選択、および、５ビット（３２個のうちの１個）の波形選択からなる。その出力は、５ビットの波形アドレスである。この再マップに加えて、メインメモリから選択されたＷＦＴもまた、周期を調べるために使用される。上記したように、３２個のＴＳ区画における実際の数値を表現する値を有する３２ビット数として、周期を格納してもよい。
【００２９】
図５を参照すると、ＷＦＴの再マップ、周期選択およびＷＦＴ選択における一実施例のブロック図が例示されている。ＷＦＣ選択を示している信号は、ライン１８０上のメインメモリから、ＷＦＴ再マップロジック１７２に供給される。ＷＦＴ選択および周期選択を示している信号もまた、ライン１８２上のメインメモリから、ＷＦＴ再マップロジック１７２および周期選択ロジック１７４に供給される。ＷＦＣ選択をピンに固有のものとすることが可能である一方、周期選択については、全てのピン間で供給してもよい。周期選択ロジック１７４は、周期生成器に向けて、ライン１７６上に信号を出力する。ＷＦＴ選択ロジック１７２は、波形アドレスを波形メモリ（ＷＦＭ）１７８に出力する。次に、ＷＦＭ１７８は、所望の波形を特定する出力信号を出力する。このＷＦＭ１７８は、また、動力学的な歪み調整信号をライン１８０上に供給する（これについては、以下にさらに説明される）。
【００３０】
上記したように、ＴＳごとに１ビットづつ波形をクロックアウトする、高速ＳＥＲＤＥＳ伝送器の入力部に波形データを供給することによって、デジタル処理でテスト波形を描くが可能である。一実施形態では、２つのＳＥＲＤＥＳ出力チャネルを設けることも可能である。各チャネルには、ＴＣごとに、完全な３２ビットワードが供給される。出力ＳＥＲＤＥＳの１つは、ピンエレクトロニクスに対する「駆動ＨＬ」の入力（図１に示したライン１２２ａ上にある）のために使用される。また、他のものは、「有効出力（ｏｕｔｐｕｔ  ｅｎａｂｌｅ）」図１に示したライン１２２ｂ上にある）のために使用される。
【００３１】
図６を参照すると、本発明の態様にしたがうＳＥＲＤＥＳ駆動回路における一実施例のブロック図が例示されている。上記したように、ＷＦＣおよびＷＦＴ選択は、メインメモリからのデータを介して実行される。ＷＦＣ選択信号およびＷＦＴ選択信号は、それぞれ、ライン１８０および１８２上において、メインメモリから波形テーブルロジック１８４（図１０からのＷＦＴ再マップロジック１７２および周期選択ロジック１７４を含んでいる）に供給される。出力波形は、波形ビットパターンを調べること、それを他のパターンデータ（上記したように、Ｄ１・Ｄ２と称される）と結合すること、所定の周期に一致させるために、それを２のべき乗によって伸長すること（オプション）、一連の波形を融合すること、および、結果として得られたビットパターンを出力ＳＥＲＤＥＳに読み込むこと、によって構成される。複数のピンチャネル間で分担することの可能な周期生成器を除いて、出力ピンチャネルごとに１つの完全なＳＥＲＤＥＳ駆動回路がある。
【００３２】
なお図６を参照すると、波形メモリ（波形データ）からの出力信号をパターンデータと結合するために、データ結合器１８６を使用することが可能である。パターンデータは、メインメモリの一部（パターンメモリと称される）から受信した追加的なデータビットを含んでいる。パターンメモリからのこれらの追加的なデータビットを使用することは、これらが使用されない場合に必要な大きなＷＦＭメモリを必要とすることなく、柔軟性をよ
り向上する。上記の結合は、波形伸長回路１８８および波形融合回路１９０を介して駆動ＨＬおよび「有効出力」ＳＥＲＤＥＳ伝送器に供給される、６３ビットのデータストリームを形成することが可能である。波形伸長回路１８８および波形融合回路１９０の動作については後述する
ＳＴＩＬの構文は、５つの状態（すなわち、Ｕ、Ｄ、Ｚ、ＰおよびＮ）からなる記述を含んでいる。Ｕは高駆動を示しており、Ｄは低駆動を示しており、そして、Ｚは、高インピーダンス状態のドライバを示している。Ｐ（ｐｒｅｖｉｏｕｓ（従前））は、最も新しいＵあるいはＤ状態への駆動（すなわち、従前のサイクルの最後の状態への駆動）を示している。そして、Ｎは、「ドントケア」状態への駆動である（すなわち、ＮをＵからＤに（あるいはその逆に）変えることは、テストプログラムの結果を変えるわけではない）。
【００３３】
一実施例では、ＷＦＭに入力される特定の波形内の各ＴＩＣについては、４ビットで表現してもよい。これら４ビットは、さまざまな所望の波形を容易に構築することを可能とする。しかしながら、当然のことではあるが、本発明は、各ＴＩＣを表現するために４ビットを使用することに限られるわけではなく、他の実施例においては、他のビット数を用いることも可能である。ＷＦＭからの４ビットを、パターンメモリからのパターンデータビット（Ｄ１およびＤ２）に結合させて出力ＳＥＲＤＥＳ１１６に供給される駆動Ｈ／Ｌ信号および「有効出力」信号を生成する手法に関する一実施例を、以下の表１に例示している。
【００３４】
【表１】
2009543096.tif 000003
【００３５】
一実施形態では、ＳＴＩＬの状態Ｕ、ＤおよびＰを、直接に記載してもよい。便宜のために、ＵおよびＤの等価物については、Ｄ１、Ｄ１＊、Ｄ２およびＤ２＊を用いて生成し
てもよい。パターンデータビットＤ１およびＤ２をこのように用いることによって、融合されたＳＴＩＬ波形を、より容易に形成することが可能となる。一実施例では、状態Ｎはどのようなものであってもよく、それをＳＴＩＬの状態Ｐと同じものとしてもよい。これは、状態Ｐの生成に有益である。
【００３６】
ＳＴＩＬのＰ状態は、最後のＵ値あるいはＤ値への駆動を意味する。そして、一実施例では、これは、また、同様に、Ｄ１、Ｄ１＊、Ｄ２およびＤ２＊を意味する。したがって、「有効出力」が最後にアクティブになったときに駆動ＨＬにおける最後の値が何であったのか、を記憶する必要がある。このために、一実施例では、Ｚ状態を７つのＺ状態に分けることも可能である。それぞれは、ピンエレクトロニクスに対する駆動ＨＬ入力を異なる方法で駆動するものである一方、その全ては所望される有効出力を有している。ＷＦＭ入力を構築する際、ＴＩＣコードのより具体的な形状を使用することもできる。これは、システムが駆動ＨＬにおいて正確に同じ値を維持することを可能とする。さらに、一実施例では、ＷＦＭ入力が完全な６４ＴＩＣ幅でない場合に、波形の点において最後に有効であったＴＩＣを複製することによって、ＷＦＭ入力を水増ししてもよい。このため、従前の波形における６４番目のＴＩＣを記憶することによって、駆動ＨＬ値を、ベクトルの境界を超えて維持することが可能である。なお、ベクトルからベクトルへシステムが推移するときには、現在のベクトルにおける最後のＴＩＣにおける実際の値は記憶され、それがＤ１あるいはＤ２のいずれにも由来しない。このために、後続するベクトルにおけるＺＰは正確なものとなり、さらに、後のベクトルにおけるＰのどのような使用も、同様に正確なものとなる。
【００３７】
他の実施形態では、ＳＴＩＬ（ＷＦＣおよびＷＦＴを含む）を用いて駆動波形を規定することよりも、むしろ、メインメモリからのベクトルデータを、「波セット（ＷＳ）」と称されるビットのセットに圧縮することが可能である。図７を参照すると、本発明の態様にしたがうデジタルモジュールの一部における、一実施例のブロック図が例示されている。コントローラ１５２は、メインメモリ１０４からベクトルデータを受信し、このデータを、２つのビットセットに変換および圧縮することが可能である。これらのビットセットは、すなわち、ライン１５４上に出力された波セット、および、ライン１５６上に出力されたパターンデータ（上記Ｄ１およびＤ２）である。これら波セットおよびパターンデータは、共同して、ＳＥＲＤＥＳを介してテストピンにシフトアウトされるべき波形を記述するものである。一実施例では、この波セットは、４ビットを含むことが可能であり、パターンデータは、２ビットを含むことができる。しかしながら、当然のことではあるが、これらの数は一実施例であり、本発明は、波セットあるいはパターンデータのいずれに関しても、特定のビット数に限られるものではない。これら波セットおよびパターンデータは、共同して、ＡＴＥのテストヘッドにおけるピンに供給されるべき波形（あるいは、以下にさらに示されるように、ＡＴＥのピンを介してＤＵＴから受信された応答波形と比較されるべき波形）を記述するか、あるいは、その一部を記述することが可能である。
【００３８】
なお図７を参照すると、波セットについては、ＳＥＲＤＥＳドライバ波形回路１５８に供給してもよい。ここで用いられている「ドライバ波形（ドライバ波形）」という用語は、ピンに結合されているＤＵＴを活性化するために、デジタルモジュールによってピンに供給される波形を称するものである。このドライバ波形については、上記したように、所望の波形を複数のＴＩＣＳ（すなわち、等しいサイズの波形状態のセット）に細分割することによって、規定することが可能である。第１のＴＩＣにおける信号の初期状態が与えられると、信号がＴＩＣからＴＩＣにどのように変化するのか、に関連して、ドライバ波形を特定することが可能である。一実施形態では、ドライバ波形は、８つの異なる状態を有することが可能である。これらの状態とは、すなわち、「従前」（従前のサイクルにおける最後の状態を意味する）、Ｚ（高インピーダンスを意味する）、０（２値における０）、１（２値における１）、Ｄ１（パターンデータにおける第１のビットからの、１ある
いは０のいずれか）、Ｄ１＊（Ｄ１の逆数を意味する）、Ｄ２（パターンデータにおける第２のビットからの、１あるいは０のいずれか）およびＤ２＊（すなわち、Ｄ２の逆数）、である。一実施例では、ドライバ波形を、「ＤＲＶ＿ＴＩＣ」と呼ばれるビットパターンに変換してもよい。一実施例では、ＤＲＶ＿ＴＩＣを、６４個のＴＩＣ（各ＴＩＣが３ビット）の長さとすることが可能である。このビットパターンについては、ドライバ波形メモリ１１６に格納することができる。このドライバ波形が、６４個のＴＩＣの長さに達しないという場合には、６４個のうちの残りのＴＩＣに関する信号の状態を、ドライバ波形における最後のＴＩＣに定めることも可能である。これにより、異なる長さのドライバ波形を特定することについて、大きな柔軟性を与えることが可能となる。もちろん、当然なことではあるが、本発明は、ＤＲＶ＿ＴＩＣに関して、６４個のＴＩＣを使用することに限られるわけではなく、他のいかなる数を使用するようにしてもよい。さらに、各ＴＩＣを特定するために使用されるビット数については、変数としてもよいし、および／または、設計固有のものとしてもよい。また、このビット数は、３ビットに限られない。例えば、上記実施形態において、各ＴＩＣを、４ビットの長さとしてもよい。
【００３９】
以下の表２は、２つのデータセット（ＤＩＯおよびＤＲＶ）にフォーマットされたＤＲＶ＿ＴＩＣにおける一実施例を例示している。図７を参照すると、ＤＲＶは、ライン１２２ａ上の駆動信号を生成するために、駆動ＳＥＲＤＥＳ１１６ａに供給することの可能なものである。そして、ＤＩＯは、駆動信号をオンおよびオフにするために、Ｉ／Ｏ・ＳＥＲＤＥＳ１１６ｂに供給することの可能なものである。表２に与えられた実施例は、各ＳＥＲＤＥＳをエンコードするための１つの手法である。しかしながら、当然なことではあるが、この実施例は、例示を目的とするものであり、これに限ることを意図されたものではない。「パターン」とは、Ｄ１およびＤ２を含むパターンデータのことである。
【００４０】
【表２】
2009543096.tif 000004
【００４１】
図８を参照すると、本発明の態様にしたがうドライバ波形における一実施例が示されている。
【００４２】
上記したように、一実施例では、高速ＳＥＲＤＥＳが、約２５０ｐｓのビット周期を有することが可能である。しかしながら、状況次第では、ＤＵＴは、もっとずっとゆっくり作動してもよい。したがって、駆動波形を「スローダウンする」ことが望ましい場合もある。このため、図６に関連して上に説明したように、出力ＳＥＲＤＥＳに供給される前に、１システムクロック周期ＴＣより長いベクトル周期Ｔに対応するように、波形を「伸長
する」ようにしてもよい。この伸長については、ＴＩＣが数ＴＳの長さになるように各ＴＳのビット値を複製することによって、実現可能である。波形を「スローダウンする」ために、各ＴＳを数回あるいは多数回くり返すことによって、ＴＩＣを「伸長する」ようにしてもよい。これにより、例えば、１ＴＳの長さ（４ＧＨｚのＳＥＲＤＥＳに関する２５０ｐｓに対応している）となっている可能性のあるパルスが、ＴＳを１２８回くり返すことによって、１２８ＴＳの長さ（３２ｎｓに対応している）となることが可能となり、これにより、次のＴＩＣを送る前に「伸長された」ＴＩＣが生成される。このコンセプトについては、波形伸長と呼ぶことが可能である。
【００４３】
図７に例示した実施形態では、波形伸長を、駆動回路１５８内で実現可能である。同様に、比較側において、波形伸長を、比較回路１６０内で実現することもできる（これについては後述する）。図９を参照すると、駆動回路１５８（および／または比較回路１６０）内に組み込まれることの可能な伸長回路の一実施例が例示されている。一実施例では、波形データにおける全てのフォーマット設定を、伸長の実行される前に実現することが可能である。このため、所定の回数だけ各ＴＩＣを単純に複製することによって、伸長を得ることが可能となる。この手法では、最小のベクトル周期が１システムクロック周期ＴＣより短くはなれない、という条件さえ満足すれば、どのようなベクトル周期であっても得ることが可能である。多くの異なるベクトル周期に対応するためのこの能力は、一般的には１ｎｓと１００ｎｓとの間で固定された周期の波形を生成する、調整されることのないＡＳＩＣの設計に関して、重大な利点を与える。固定されたＡＳＩＣとは対称的に、本発明の態様にしたがうデジタルモジュールについては、技術の改善（例えば、デバイスがより速くなるにつれて、ＴＩＣをより短くすることができ、より高速のテストが可能となる）に応じて伸縮自在とすることが可能であり、また、必要に応じてＴＩＣを伸長することによって、異なるテスト用デバイスをテストする必要に応じて多くの異なる波形周期に対応するように、柔軟なものとすることができる。このように、本発明の実施形態にしたがうデジタルモジュールは、必要に応じて調整可能にＴＩＣを伸縮することによって、非常に高速の波形（短い周期を伴う）と低速の波形（例えば、ミリ秒の周期）との双方に対応することが可能なものである。
【００４４】
いくつかの実施形態では、特に、各テストが全てのテストベクトルに関して単一のベクトル周期しか使用しない場合には、システムクロック速度を、ベクトル周期に応じて変更してもよい。これにより、波形は、いつも、最大の解像度を有する（すなわち、各ＴＩＣが１つのＴＳに対応する）ことになる。しかしながら、多くの場合、ベクトル周期が最大レートからスローダウンするにつれて、より高いクロックレートにおける解像度と同じ解像度の波形を生成することは、非実用的になる。いくつかの実施形態では、これは、ＷＦＣテーブルの幅における限界に起因する。この幅は、一実施例では、６４ＴＩＣ幅に固定されることもある。７．５ｎｓ〜１４ｎｓのシステムクロック周期ＴＣに関しては、ＴＩＣごとに１ＴＳを使用して波形を形成することが可能なときには、波形を伸長しないことが要求されることもある。しかしながら、１５ｎｓ以上のベクトル周期は、ＴＩＣをいくらか伸長することを要求する可能性がある。当然なことではあるが、ここで与えられた例示的な限界値（例えば１５ｎｓ）は、ＳＥＲＤＥＳインターフェイスにおけるビット数、および／または、ＷＦＣテーブルおよびＷＦＴのサイズに依存する。したがって、これらのサイズ（ビット数におけるサイズ）が変わると、これにしたがって、タイミングの限界も変わることになる。したがって、当然なことではあるが、ここで与えられた数は、例にすぎないものであり、これに限定することを意図されたものではない。
【００４５】
一実施形態にしたがうと、伸長を、１５ｎｓの周期でスタートする２のべき乗において実行することが可能である。波形伸長を、ＴＩＣごとに多数のＴＳを使用することによって実行することもできる。伸長の後でも、内容の変化（すなわち、６３個のＴＩＣ）が生じることの可能な波形には、６３ポイントの最大数がなお存在する。しかしながら、波形
は、膨大な時間に及んでいる。例えば、１５ｎｓと３０ｎｓとの間の周期にあわせるために波形を伸長するためには、ＷＦＣメモリからの各ＴＩＣは、複製され（×２）、２ＴＳに及ぶ。他の実施例では、３０ｎｓと６０ｎｓとの間の周期にあわせるために波形を伸長するために、各ＴＩＣは、４回くり返され（×４）、４ＴＳに及ぶ。伸長は、タイミング発生器の全周期範囲を通じて可能である。ベクトル周期がＴＳの整数倍であるために、伸長された波形における最後のＴＩＣは、完全な２のべき乗個のＴＳにはなりえない。この最後のＴＩＣについては、単一のＴＳからＴＳの伸長倍数までとすることが可能である。
【００４６】
上記したように、少なくともいくつかの実施形態では、出力ＳＥＲＤＥＳは、３２ビットのインターフェイスを使用している。したがって、伸長計算の全てを、ＷＦＣメモリが６４ビットの幅であったとしても、３２ビットの塊で実行することが可能である。出力レジスタは、３２ビットで読み込まれ、ＴＣごと（例えば、７．５ｎｓごと）に新しい３２ビットで、波形融合ロジック（後述する）に供給される。一実施例では、所定のＷＦＣ入力が特定のＷＦＴに（したがって、特定の周期にも）固有のものである、という有利な点を得ることが可能であり、また、ハードウェアによってより容易に伸長を実行するという方法で、ＷＦＣ入力を読み込むことが可能である。マルチプレクサとシフトレジスタとを組み合わせることは、この機能を容易に実現する。例えば、出力レジスタビット０を検討されたい。波形が伸長されているか否かに関わらず、出力レジスタビット０は、常にＷＦＣ［０］から供給される。出力レジスタビット１については、伸長のない場合にはＷＦＣ［１］から供給することが可能であり、また、２以上の伸長倍数に関しては、ＷＦＣ［０］から供給することが可能である。出力レジスタビット２については、伸長がなければＷＦＣ［２］から、２倍に伸長されているならＷＦＣ［４］から、また、４倍に伸長されている場合にはＷＦＣ［０］によって、供給することが可能である。残りのビットソースは、以下の３に記載されている。なお、出力レジスタを供給するソースは、ＷＦＣメモリにおける６４ビットの幅にわたっている。これにより、シフトおよびマルチプレクサを使用することによって、伸長を完全に実現することが可能となる。
【００４７】
【表３】
2009543096.tif 000005
【００４８】
伸長倍数を決定するために、ベクトル周期（これは、「現実の」ベクトル周期であり、ＷＦＴ入力ではない）を得て、３２で除算し、その結果より小さいかあるいはそれに等しい、最も大きな２のべき乗を探す。例えば、周期Ｔ＝１１７７ＴＳに関しては、１７７／３２＝５．５３という計算を実行する。５．５３より小さい最も大きな２のべき乗は、４である。したがって、このベクトル周期を得るためには、伸長倍数は４×となる。この実
施例では、ＴＩＣにおける波形の長さは１７７／４であり、これは、４４．２５に等しいので、４５ＴＩＣに四捨五入される。その結果、最後のＴＩＣの持続時間は、単一のＴＳだけになる（一方、他の全てのＴＩＣの持続時間は、４ＴＳとなる）。
【００４９】
図１０を参照すると、本発明の態様にしたがう波形伸長ロジック１８８における、一実施例のブロック図が例示されている。例示されている実施形態では、２つの同一の伸長ユニットがあり、これらは偶数伸長ユニット１９６ａおよび奇数伸長ユニット１９６ｂと称され、それぞれは、交互の波形を伸長するために使用される。単純化のために、以下の説明では、偶数伸長ユニットを介する部分だけをたどることとする。この偶数伸長ユニットは、偶数のベクトル周期を伸長するために使用されるものである。当然のことではあるが、奇数伸長ユニットは、偶数伸長ユニットとまったく同様に機能することの可能なものである。また、奇数伸長ユニットにおいて符号「ｂ」を伴う参照数字によって特定されているものは、偶数伸長ユニットにおいて符号「ａ」を伴う同じ参照数字によって特定されているものと、同一のものである。
【００５０】
以前のベクトル周期のそれぞれが失効したときに、新しい波形が、データ結合器１８６の出力部から、交互のユニットのシフトレジスタに読み込まれる。例えば、以前の偶数のベクトル周期が失効したとき、ライン２００ａによって示されているように、新しい波形が、データ結合器１８６から偶数シフトレジスタ１９２ａに読み込まれる。一実施例では、このシフトレジスタ１９２ａは、１ビットを、それが新しいＷＦＭを伴って読み込まれることのない限り、常に右側に（最小の有効ビットに向けて）シフトする。シフトレジスタにおける６４番目のビットは、決してシフトされない。その値は、新しい波形が開始されて再読み込みされるまで、残存する。このビットの値は、ライン２０２ａによって示されているように、データ結合器１８６に出力される。この６４番目のビットは、次のベクトルにおいて使用される、１つのベクトルから呼び出され、「従前」の状態を生成する。
【００５１】
なお図１０を参照すると、シフトレジスタ１９２ａからのビットストリームが、マルチプレクサアレイ１９８ａに供給される。マルチプレクサアレイ１９８は、また、現在のベクトル周期に関して実施される伸長倍率を示す、ライン２０４ａ上の信号を受信する。この伸長倍率は、上記したように決定される。伸長倍率の情報に基づいて、マルチプレクサアレイ１９８ａは、上に表３において示したように、受信したビットストリームを多重化する。シフト制御ブロック１９４ａは、また、伸長倍率情報を受信し、結果として生じる伸長された波形を得るという要求に応じて、６４ビットのシフトレジスタ１９２ａをシフトする。２、４、８、１６あるいは３２という伸長値に関して、シフトレジスタ１９２ａは、ＴＣごとにシフトされる。３２より大きい伸長値については、シフトレジスタ１９２ａは、ＴＣＳごと（伸長倍率／３２）にシフトされる。シフト制御部１９４ａは、また、最初のシフトの前のＴＣＳの数を減少することによって３２より大きい値によって伸長された波形における、本当に最初のＴＩＣに使用された伸長を、修正してもよい。この最初のＴＩＣ修正は、動力学的な歪み調整の一部であり、これについては、さらに以下に説明する。マルチプレクサアレイ１９８ａからの出力は、３２ビットの出力レジスタ２０６ａに供給される。それは、この３２ビットの出力レジスタ２０６ａから、波形融合回路１９０（図６参照）に出力され、さらに、最後には、出力ＳＥＲＤＥＳ１１６に出力される
上記したように、ベクトル周期については、ＴＳの任意数分とすることが可能であり、システムクロック周期の整数個分に対応していなくてもよい。したがって、１つのベクトル周期から他のベクトル周期への途切れのない伝送のために、ベクトルは、「偶数」および「奇数」の経路（任意に設計されるもの。いずれのベクトル周期においても、偶数あるいは奇数のＴＳ数を意味する意図はない）を介して、交互に入れ替えられる。そして、以下に示すように一連の波形が「融合」され、これが、システムクロック周期の中間でベクトル伝送が生じることの説明となる。
【００５２】
一実施形態にしたがうと、波形融合回路は、現在の（選択的に伸長されている）波形から残存するＮ（Ｎ＝０，…，３１）個のＴＳビットを抜き出し、それを、次の（選択的に伸長されている）波形からの３２−Ｎ個のＴＳビットと融合し、これにより、３２個のＴＳビットのシステムクロック周期を満たす。この波形融合回路は、次に、現在のベクトル周期内に残存するＴＳビットが３２個より少なくなるまで、３２ビットの塊（ＴＣごとに１つの塊）における次の波形からＴＳビットを分配する。そして、それは、次の（選択的に伸長されている）波形と融合する。このプロセスは、テストの継続期間中、継続される。
【００５３】
図１１を参照すると、波形融合回路１９０の一実施例のブロック図が例示されている。図１０と同様に、符号「ａ」を有する参照数字によって特定される物は、「偶数の経路」に配置されており、符号「ｂ」を有する同じ参照数字によって特定される物（「奇数の経路」にある）と同一ものである。融合プロセスの例示が、図１２に示されている。この実施例では、１４５個のＴＳの周期がくり返されている。図１２では、偶数の経路１９６ａ（図１０参照）からの出力は、トレース２０８で示されており、奇数の経路１９６ｂからの出力は、トレース２１０で示されている。オーバーラップの生じる部分で、融合が実行される。オーバーラップは、周期カウント（トレース２１２）が３２より少ないときに、生じる。周期カウント２１２が０である場合、全体的なクロック周期は、伸長された新しい波形によって満たされており、以前の波形からの寄与はない。
【００５４】
図１２に例示されている実施例では、周期カウントは、最初に、正確に０までカウントダウンされる。これは、次の波形におけるスタートのビット位置が０ビットとなること、および、この波形がたまたま偶数の波形になること、を示している。偶数の融合信号２２４および偶数の融合位置２２８は、偶数側のシフタ２１６ａに、オフセットされていない３２ビットの偶数伸長出力レジスタ２０６ａを選択するように指示する。必要な場合には、オフセットは、レジスタ２１４ａから与えられる。最も新しい奇数融合位置２３０（この実施例では、この値は未知であるが、それは重要なことではない。なぜなら、偶数融合位置＝０だからである）は、奇数側に関して、何らかのシフト値を（レジスタ２１４ｂから）選択している。シフタ２１６ａおよび２１６ｂは、シフトされたビットパターンを、それぞれ、保持レジスタ２１８ａおよび２１８ｂに提供する。２つの融合位置（偶数および奇数）および２つの融合信号（偶数および奇数）は、マルチプレクサアレイ２２０に対し、融合サイクル中に、偶数側からビット３１：０を選択することを指示するとともに、奇数側からビットを選択しないことを指示する。
【００５５】
融合の後、かつ次の融合まで、偶数側は、同じ（０）シフトオフセットを有するワードを出力し続ける。次の融合は奇数融合であり、この実施例における奇数融合の位置は、１７である。融合の間、偶数融合の位置２２４（なお０）は、偶数波形から３２ビットの同じセットを選択する。新しい奇数融合位置２３０は、３２ビットの奇数ワードを形成するために、奇数側の３２ビットのレジスタ２０６ｂからビット１４：０を選択し、そして、その３１ビットのレジスタ２１４ｂからビット３１：１５を選択することになる。偶数ワードおよび奇数ワードは、奇数融合位置２３０を用いることによって結合される。これにより、偶数側（偶数波形における最後の位置）から抜き出されるビット１６：０、および、奇数側（奇数波形における最初の位置、ビット１４：０）から抜き出されるビット３１：１７が、結果として生じる。この融合の後、後続のワードは、３２ビットのレジスタ２０６ａにおける最も低いビットからの上位の１５ビット、および、３１ビットのレジスタ２１４ｂにおける最上のビットからの下位の１７ビットをともなって、奇数側から引き出される。融合された波形は、図１２においてトレース２３２として示されており、出力ＳＥＲＤＥＳ１１６（図６参照）に送られるために、出力レジスタ２２２に提供される。この融合動作は、テストの継続期間中、続行される。
【００５６】
ベクトル周期がどんどん長くなるにつれて、上記したように生じる可能性のある伸長によって、ＴＩＣも、どんどん長くなる可能性がある。異なるピンチャネルにおける何らかのイベント間におけるタイミングが、伸長されたＴＩＣの解像度をもって可能となるものよりも正確であることが必要である（あるいは好ましい）可能性のある場合もありえる。したがって、少なくともいくつかの実施形態は、動力学的な歪み調整と称する処置を実施する可能性がある。動力学的な歪み調整は、全体的な（伸長された）波形が、１ＴＳに満たない１ＴＩＣまでの時間に先んじているＴＳの増大において歪んでいることを許すものである。したがって、他のチャネルに関連する波形内に重要なエッジのある場合には、動力学的な歪み調整が、エッジをＴＳの解像度での配置を可能とし、波形内における他の残りのイベントとともに、ＴＩＣの解像度を保ち続ける。
【００５７】
一実施形態では、使用されているメモリプリミティブ（３２×１８）が、全メモリのサイズ７２×４をもたらすことが可能である。しかしながら、６４×４だけが、ＷＦＭのために使用される。残りの８×４＝３２の部分については、動力学的な歪み値を格納するために使用することが可能である。この値は、波形の遷移に対するＴＳの解像度の位置的な調整のために使用することの可能なものである。これは、ＴＩＣが多くのＴＳ幅である場合に、特に重要となる可能性がある。一実施形態にしたがうと、ＷＦＴのために使用されているメモリ素子における使用されていないビットを使用することによって、動力学的な歪み調整値を、各ＷＦＣに関連させることが可能となる。この値における下位の５ビットは、融合前の波形をシフトするために、ＴＳの数を提供することが可能である。上位のビットについては、３２個のＴＳ（完全なＴＣのもの）の倍数を最初のＴＩＣの伸長から除去するために使用することが可能である。動力学的な歪み調整については、マイナスのタイムシフト（波形内のイベントを低い時間値に（時間的に前に）移動する動作）と考えることも可能である。
【００５８】
例えば、２ＭＨｚのクロックで動作するデバイス、および、システムが、セットアップ時間５ｎｓの入力をテストする必要があると仮定する。この実施例におけるシステムクロック周期は５００ｎｓであり、これは、２１３３個のＴＳ（各ＴＳはおよそ２３４ｐｓ）をもって生成することが可能なものである。このサイズの周期では、６４個のＴＳからなるＴＩＣサイズを使用することが可能であり、これは、ＴＩＣごとに約１５ｎｓに相当する。チャネル間を調整するどのような手法も取らない場合に、チャネルが完全に互いに整列していることを仮定すると、セットアップ時間０ｎｓあるいは１５ｎｓをテストすることが可能である。しかしながら、これらのいずれもが、所望のテスト値である５ｎｓに非常に近くない。動力学的な歪み調整を用いる場合には、２つのチャネルは、まず、０ｎｓのセットアップを提供するようにプログラムされることとなる。次に、−５ｎｓの動力学的な歪み調整値が使用される。これは、この実施例では、約２１ＴＳに相当する。ベクトルが活躍する（ｐｌａｙ）とき、この波形は、歪み調整のない場合に比して、２１ＴＳほど早く出力される。これにより、５ｎｓのセットアップ時間のテストが可能となる。当然のことではあるが、少なくとも一実施形態では、動力学的な歪み調整回路を、ベクトル周期ごとに１回の調整を実行するだけ、としてもよい。通常、できるだけ正確に調整されなければならない時間を有する周期内には、１つのイベントがあるだけであり、残りのイベントは、調整されたＴＩＣの境界上にある必要があることになる。したがって、上記の実施例では、システムは、５ｎｓのセットアップと５ｎｓのホールドとを同時にテストすることはできない。なぜならば、第１のエッジがシステムクロックに先立って５ｎｓに調整された場合、後続のエッジは、その後に増大したＴＩＣ（１５ｎｓ）の中にある必要があるからである。システムは、１０ｎｓのホールドあるいは２５ｎｓのホールドをテストすることが可能であるものの、５ｎｓのホールドについてはテストすることができない。しかしながら、セットアップおよびホールドについては、異なるベクトルにおいてテストすることが可能である。この場合、各ベクトルは、異なる歪み調整を有することが可能であり、これは、５ｎｓのセットアップと５ｎｓのホールドとの双方をテストすることを可能
とするものである。
【００５９】
上記したように、例えば、図７を再び参照すると、デジタルモジュールも、ＤＵＴから応答波形を受信することが可能である（ライン１２４ａおよび１２４ｂに接続されているピンを介して）。応答波形が予想されている波形に応じているか否かを判断するために、この応答波形を、比較波形と比較することが可能である。一実施例では、図示するように、チャネルごとに２つの入力ＳＥＲＤＥＳ１１８ａ・１１８ｂを使用することが可能であり、これらは、ピンエレクトロニクス１２４ａ・１２４ｂからなる２つのコンパレータ出力からの供給を受ける。これらＳＥＲＤＥＳ１１８ａ・１１８ｂは、シリアルの応答波形をビットバイビットで受信し、それを、より速い処理からのパラレルデータに変換する。
【００６０】
図７に示した実施形態では、駆動波形を規定した手法と同様の手法で、比較波形を、ＴＩＣに関して規定してもよい。また、比較波形を、比較回路１６０において処理してもよい。一実施例では、比較波形を、６４個のＴＩＣ（各ＴＩＣは４ビット）を含むビットパターンに変換してもよい。このビットパターンは、ＣＭＰ＿ＴＩＣと称される。さらに、比較波形が６４個のＴＩＣに到達しないとき、残りのＴＩＣをＸと指定してもよい。これは、重要なデータは終了しているために、これらのＴＩＣの間に何ビットの値が現れたのかについては重要ではない、ということを意味する。ＳＥＲＤＥＳ１１８ａからの応答波形については、ＣＭＰ＿ＴＩＣのビットパターンおよび異常検出回路１６２の使用と比較することが可能であり、これについては、以下にさらに詳細に説明する。一実施例では、比較波形を、各ＴＩＣを有するストローブ位置に関して規定してもよい。一実施例では、比較波形に関する９つの異なる状態があってもよい。しかしながら、当然のことではあるが、本発明はこれに限られるわけではなく、より多い、あるいはより少ない比較波形状態を使用してもよい。特に、ＴＩＣごとに３ビットを使用することを望む場合（上記実施例のドライバ波形に関して）、８つだけの異なる比較波形の状態を使用することを選択することが可能である。
【００６１】
例えば、いくつかの比較波形の状態は、Ｘ（すなわち、ビット値が重要ではない）、Ｖ（比較が有効であり、高いあるいは低いのいずれかであることを示す）、Ｌ（ＴＩＣが低いはずの間に受信された信号）、Ｈ（ＴＩＣが高いはずの間に受信された信号）、Ｚ（高インピーダンス）、Ｄ１（ピンからの低いあるいは高い受信信号を、パターンデータからのＤ１の値と比較すること）、Ｄ１＊（Ｄ１の逆数）、Ｄ２（ピンからの低いあるいは高い受信信号を、パターンデータからのＤ２の値と比較すること）、およびＤ２＊を含んでもよい。表４は、３つのデータセットにフォーマットされたＣＭＰ＿ＴＩＣにおける、一実施例を以下に示している。これらのデータセットとは、すなわち、ＳＴＢ（ストローブがオン（１）、あるいはオフ（０）を意味する）、高い比較に関するＣＰＨ、低い比較に関するＣＰＬである。パターンは、今回も、Ｄ１およびＤ２を含むパターンデータのことを指している。
【００６２】
【表４】
2009543096.tif 000006
【００６３】
図１３は、本発明の態様にしたがう比較波形における、一実施例を例示している。
図１４を参照すると、異常検出回路の一実施例が例示されている。この回路については、異常検出ブロック１６２内、比較データおよび異常データに関するフォーマットの一実施例を示す表に含めることができる。上記したように、比較ＳＥＲＤＥＳ１１８ａは、シリアルのフォーマットで応答波形を受信し、それをパラレルデータに変換する。このパラレルデータは、異常検出回路１６２に供給される。この異常検出器１６２は、比較波形を用いて、応答波形内のＴＩＣに対するパラレル処理を実行可能である。これにより、ＤＵＴが正しく動作している（応答波形が、ベクトルメモリから受信された予想されたデータに適合している）か否か、あるいは、デバイスに異常が生じているか否かを判断する。この比較については、従来のＡＴＥにおいてなされているように、ストローブ信号を使用するよりも、むしろ、ＴＩＣごとに実行可能である。ＤＵＴに異常が生じた場合、デジタルモジュールは、ＤＵＴに不具合があることをオペレータに知らせるために、異常信号を出力することが可能である。一実施形態では、異常の生じた状況を格納するために、異常メモリ１７２を使用することが可能である。例えば、異常メモリは、ＣＭＰ＿ＴＩＣの予想される状態がＤＵＴによって満たされていない、ということに関連する情報を格納してもよい。これは、ＤＵＴの異常だけでなく、それがなぜ異常になったかについてもオペレータに知らせることができる、という点において、有用である。異常検出器回路および動作における他の実施例について、以下に説明する。
【００６４】
再び図１を参照すると、少なくとも１つの実施形態では、比較ＳＥＲＤＥＳ１１８ａが、ライン１２４ａ（比較Ｈ）および１２４ｂ（比較Ｌ）上の反応信号を受信する。ＳＥＲＤＥＳ比較回路（図示せず）は、このデータを分析するために使用され、その結果は、異常バッファ１２６、および、追加的なキャプチャバッファ１２８に収集される。異常バッファ１２６は、異常の記録を、メインメモリ１０４に対する最終的な格納の前に、一次的に格納するバッファである。この異常バッファ１２６は、異常データの格納に使用される、メインメモリのアドレスを保持してもよい。キャプチャバッファ１２８は、キャプチャデータを、メインメモリ１０４に対する最終的な格納の前に、一次的に格納するバッファである。このキャプチャバッファ１２８は、キャプチャデータの格納に使用される、メインメモリのアドレスを保持してもよい。
【００６５】
図１５を参照すると、本発明の態様にしたがうＳＥＲＤＥＳ比較回路の一実施例におけ
るブロック図が示されている。ＳＥＲＤＥＳ駆動回路（図６に示されている）と同様に、ベクトルメモリからのＷＦＣ選択（ライン２３４上）およびＷＦＴ選択（ライン２３６上）の入力が、ＷＦＴ内の波形情報を調べるために使用される。ＷＦＴからの出力は、異常を検出するために、予想されている値との比較に入力ＳＥＲＤＥＳ１１８（図１参照）からのどのサンプルが使用されるのか、を決定するために使用される。一実施形態では、どのベクトルが異常だったか、および、その異常に先立つイベントの順序を解明するために必要な情報とともに、異常データを保存することが可能である。
【００６６】
表５に、比較に関するＳＴＩＬの状態を記載した。
【００６７】
【表５】
2009543096.tif 000007
【００６８】
ＳＴＩＬの状態Ｌ（低い値との比較）について考える。この状態については、いずれかの時点における任意の波形に配することが可能である。少なくともいくつかの実施形態にしたがう構造に基づく波形においては、１つのＴＩＣ（最大６３のなかの１）が、Ｌ比較の実行に割り当てられる。したがって、そのＴＩＣにおいて低くなるコンパレータのテストを実行するよう、比較回路に命じるために十分な情報を、波形メモリ内に示すことのできることが好ましい。波形を伸長した場合（以下に示す）には、ＴＩＣは、多数のＴＳにわたる可能性がある。しかしながら、少なくとも１つの実施例では、最初の１つのＴＳにおいてのみ、テストを実行することが可能である。
【００６９】
次に、ＳＴＩＬの状態ｌ（低い値とのウィンドウ比較）について考える。この状態については、いずれかの時点における任意の波形に配することが可能である。少なくともいくつかの実施形態にしたがう構造に基づく波形においては、ウィンドウ比較が開始される、１つのＴＩＣを規定することが可能である。ウィンドウ中では、その目的は、全てのＴＳおいてＬとの比較を継続することにあり、ウィンドウを閉じるＸにおいて比較が停止される。この目的については、「ｐ」すなわち、従前（ｐｒｅｖｉｏｕｓ）との比較を導入することによって、得ることが可能である。１つの実施例では、これについては、単に、隣接する（前の）ＴＳのサンプルに対するＴＳのサンプルのＸＯＲとすることが可能である。ソフトウェアが、ウィンドウの開始時において１をセットし、ウィンドウの波形における後続する全てのＴＩＣにおいてｐをセットした場合、結果は、１をセットされたＴＩＣにおける最初のＴＳでの低い値との困難な比較、および、最初のＴＩＣ（もしあれば）における残りの全てのＴＳでのｐとの比較になる。その後、ウィンドウにおける残りの全てのＴＩＣにおける全てのＴＳに関するｐとの比較が続く。ｐとの比較の全てにおける出力
を、各ベクトルとともに保存および格納することが可能である。
【００７０】
駆動側と同様に、Ｌ、Ｈ、Ｘ、ＴおよびＶを実施するために、ＴＩＣコードを生成することが可能である。この場合も、パターンデータビットＤ１あるいはＤ２と比較するための、何らかの能力を与えることが好ましい。さらに、波形の伸長が実施されたことに起因して（これについては後述する）この場合も、全てのＴＳが使用されているウィンドウ比較を実施するための、何らかの能力を与えることが好ましい。比較ＴＩＣコードの完全なリストの一実施例が、表６に示されている。この実施例では、ＴＩＣごとに５ビットを有する、１６個のＴＩＣコードがある。５番目のビットは、ベクトル内の異常位置（第１あるいは第２の位置）を選択するために使用される。これは、ダブルデータレートモードに使用される。このモードでは、２つの異常位置が、同じベクトル内に生じる可能性があり、これらは別個に識別されるはずである。
【００７１】
【表６】
2009543096.tif 000008
【００７２】
図１６を参照すると、本発明の態様にしたがう波形テーブル（ＷＦＴ）回路２３８の、一実施例におけるブロック図が示されている。ＷＦＴ回路は、駆動側の波形テーブル回路から、波形アドレス（ライン２４０上の）、およびＷＦＴ選択信号（ライン２４２上）を受信する。上記したように、メインメモリは、タイミング発生器の駆動側および受信側を制御する、ベクトル情報を提供する。しかしながら、受信側は、駆動側よりも後の時間に動作する。これは、ピンエレクトロニクス、ｐｃｂトレース、コネクタなどを介してＤＵＴに至り、ＤＵＴを通過して、ピンエレクトロニクスコンパレータに至る同様の経路で後戻りし、最終的にタイミング発生器に戻るように駆動される信号の、伝播遅延に起因する。タイミング発生器における適切な動作のために、この遅延を補償することが好ましいこともある。
【００７３】
一実施形態にしたがうと、この遅延を補償するために、２つのメカニズムを使用することが可能である。すなわち、クロック周期（ＴＣ）における粗い遅延補償、および、ＴＳサイクルにおける精密な遅延補償である。実際の全体的な遅延時間は、デジタルモジュールにおける正確な回路実装、および、ＤＵＴに依存する可能性がある。しかしながら、多くの場合には、ピンエレクトロニクス（ＰＥ）に関する数ナノ秒の遅延、ＤＵＴに向かう方向あるいはＤＵＴからの方向の双方における約２フィートのｐｃｂトレース、および、コンパレータに関する他の数ナノ秒が予想される可能性がある。したがって、合理的に予想される延滞的な往復遅延は、２０ｎｓ程度となる可能性がある。
【００７４】
一実施例では、粗い遅延補償については、パターンデータ、ＷＦＣおよびＷＦＴ選択に対して、ＴＣクロック周期の変数を追加することによって得ることが可能である。一実施形態にしたがうと、ＷＦＴ再マップメモリを複製するよりも、むしろ、その出力が、周期ルックアップに関するＷＦＴ選択とともに、遅延される可能性がある。粗い遅延２４４は、図１６に示されている。精密な遅延補償については、比較側の周期生成器１３６（図１５参照）において使用されている、初期値として実施可能である。
【００７５】
遅延補償については、図７に例示した実施形態において実施可能である。図７を参照すると、一実施形態にしたがって、デジタルモジュールが、波遅延メモリ１６４および波遅延回路１６６を備えることが可能である。波遅延回路１６６および波遅延メモリ１６４は、ピンに向かう出力ライン上に信号を「一列に並べる」ために、異なる部材を介する異なる信号伝播遅延を補償するために使用することの可能なものである。一実施形態では、波遅延を、初期時間Ｔ０から波形のスタート時までの、遅延ＴＩＣにおける特定の数として定義することが可能である。一実施形態では、比較側において、往復遅延を波遅延に加えることも可能である。図１７を参照すると、波遅延回路１６６の一実施例が例示されている。ライン１６８上の波遅延信号は、波遅延メモリ１６４によって供給することの可能なものである。図１７に示されているように、上記したように往復遅延を比較波形に追加するために、往復遅延回路１７０を設けることも可能である。
【００７６】
図１６を再び参照すると、粗い遅延２４４が波形アドレス信号およびＷＦＴ選択信号に追加された後、これらの信号が、それぞれ、波形メモリ２４６および周期選択回路２４８に移される。駆動側において行われたのと同様に、ＷＦＭ２４６における使用されていなビットを、ＷＦＣごとの３２ビットの動力学的な歪み調整値（ライン２５４上）を提供するために、使用することが可能である。この調整値は、比較側の波形伸長回路２５０および波形融合回路２５２（図１５参照）に送信されるものである。周期選択回路２４８は、周期信号（ライン２５６上）を周期生成器１３６に与えるものである。
【００７７】
図１５を再び参照すると、ＷＦＭ２３８の出力が、（データ結合器２６０において）パターンデータビットＤ１およびＤ２に結合されている。そして、この出力は、受信ＳＥＲ
ＤＥＳの出力部との実際の比較が実施されるロジックを駆動するための、Ｉ（異常無視）ビットにも結合されている。これらのパターンデータビットおよび異常無視ビットは、メインメモリからライン２５８上に出力される。比較側のデータ結合器ロジックにおける一実施例が、以下に示す表７に示されている。この実施例では、異常位置選択ビットが、異常位置１あるいは異常位置２のいずれにＴＩＣコードが使用されているのか、を選択している。
【００７８】
【表７】
2009543096.tif 000009
【００７９】
データ結合器２６０の出力については、波形伸長回路２５０に提供することが可能である。この波形伸長回路２５０は、駆動側において使用されているものと、機能の点で同様のものである。しかしながら、伸長された場合には、駆動側の波形は、伸長倍率によって複製された自身のイベント（ＴＩＣ）を有している。対称的に、受信（比較）波形は、伸長された場合に、間隔を開けて配置された、複製されていない自身のイベントを有する。表８は、比較側の波形伸長における実施例を例示している。なお、表８における「Ｓ」は、「空間」を示すものである。空間は、ウィンドウ比較において使用される従前との比較を除いた、全ての比較を無効にする。したがって、Ｓに関するソースビットがＨ、Ｌ、ＴあるいはＶである場合には、Ｓ＝Ｘである。Ｓに関するソースビットがｈ、ｌ、ｔあるいはｖである場合には、Ｓ＝ｐである。
【００８０】
【表８】
2009543096.tif 000010
【００８１】
一実施形態では、ベクトルごとのデータをキャプチャする能力を提供してもよい。このキャプチャデータは、キャプチャバッファ１２８（図１参照）に格納することができる。各ＷＦＣは、ベクトルごとに２つまでのキャプチャ位置を、特定することが可能である。一実施例では、キャプチャ位置を、６ビットのＴＩＣ値として特定することが可能である。したがって、ＷＦＣは、キャプチャＴＩＣ位置を示す、２つの６ビット数を含んでもよ
い。一実施例では、「法定の（ｌｅｇａｌ）」ＴＩＣ値が０〜６２であり、６３は、キャプチャのないことを示すために使用されている。波形が伸長されている場合、キャプチャ位置においても実施される必要のある伸長もある。これは、上記表８に示されていない。一実施例では、データのキャプチャは、特定のＴＩＣにおける最初のＴＳにおいて、常に生じる可能性がある。したがって、最終的な（伸長後の）ＴＳ位置を、ＳＥＲＤＥＳからのサンプルをキャプチャするために、使用してもよい。このサンプルは、その後、キャプチャバッファ１２８に供給される。一実施例では、比較Ｈおよび比較Ｌの双方におけるＳＥＲＤＥＳ出力（図１５における１２４ａ、１２４ｂ）を、サンプリングして格納してもよい。これにより、その時点におけるピンの完全な状態が与えられる。キャプチャバッファでは、サンプルを、メインメモリ１０４に格納する前に、合理的なサイズに結合することが可能である（このサイズは、潛在的に変化するものであり、したがって、バッファや有効メモリなどのサイズといった要因に依存する可能性がある）。
【００８２】
他の実施形態では、デジタルモジュールが、「ロジック分析モード」と称されるモードにおいて動作している場合には、ＴＳサンプルに相当する所定数のシステムクロック周期を格納するために、キャプチャバッファを使用してもよい。このロジック分析モードは、さらに以下に説明される。
【００８３】
再び図１５を参照すると、偶数および奇数の伸長された波形を、波形融合回路２５２に供給することが可能である。波形融合回路２５２では、偶数および奇数の伸長された波形が、単一の３２×５のビットストリームに結合され、異常検出ブロック２６２に供給されている。一実施例では、波形融合回路２５２を、２ビットではなく５ビットで伸長を実行することができる点を除いて、駆動側で使用されている波形融合回路１９０（図１１参照）とほぼ同一のものとすることが可能である。
【００８４】
図１８を参照すると、本発明の態様にしたがう異常検出回路２６２の一実施例における、ブロック図が示されている。例示されている実施形態では、異常比較ロジックが、受信ＳＥＲＤＥＳからのビットごとに１個づつの、３２個のくり返されたブロックから構成されている。最小有効ビット（ｌｓｂ）および最大有効ビット（ｍｓｂ）に関する回路だけが、図１８に示されている。しかしながら、この回路は、ＳＥＲＤＥＳのビットごとにくり返されているはずのものである。ロジックブロックのそれぞれは、特定の値（すなわち、「有効」な表示、あるいは従前のＳＥＲＤＥＳビット）との比較（例えば、ＸＯＲ機能を介した比較）を実行することのできる能力を有している。最後の場合には、ＳＥＲＤＥＳのｌｓｂに関して、クロック周期からの従前のｍｓｂに対する比較をあらかじめ実行することが可能である。異常位置の選択（ライン２８６に出力される）に応じて、各ビットは、２６４に出力される異常０、あるいは、２６６に出力される異常１を、生成することが可能である。これらの出力については、ベクトル周期の間中、蓄積しておくことが可能であり、そして、周期の終わりに記録することが可能である。
【００８５】
なお図１８を参照すると、一実施形態では、２つのＳＥＲＤＥＳ入力、すなわち、高コンパレータ（ＣＨ）１２４ａからのもの、および、低コンパレータ（ＣＬ）１２４ｂからのものが存在する。各ＳＥＲＤＥＳ１１８からの各タップ（２つのＳＥＲＤＥＳのそれぞれに、３２のタップがある）は、それに関連するＸＯＲゲート２６８を有している。各ＸＯＲゲート２６８に対する他の入力は、データ結合器２６０、ＣＨｖａｌ（ライン２７０上）、あるいはＣＬｖａｌ（ライン２７２上）からのビットに由来する。ここで、「ｖａｌ」とは、値（ｖａｌｕｅ）の省略である。各タップに関して、これら２つのＸＯＲゲートは、ＯＲゲート２７４においてともにＯＲ結合され、マルチプレクサ２７６における１つの入力部に供給される。この入力（ＨＬ入力）は、ライン２７８に出力されるイネーブル［１：０］信号がＨＬに設定された場合に、選択される。各ＳＥＲＤＥＳ１１８における各タップは、また、ＸＯＲゲート２８０に入力する。ＸＯＲゲート２８０における他の
入力は、他のＳＥＲＤＥＳにおける対応するタップに由来する。これにより、ＣＬのＳＥＲＤＥＳ上のタップのＸＯＲが、ＣＨのＳＥＲＤＥＳ上におけるタップと同一となることが可能となる。このＸＯＲゲート２８０は、マルチプレクサ２７６における第２の入力部に入信する。この第２の入力部（「有効」とラベリングされている）は、ライン２７８に出力されるイネーブル［１：０］信号が「有効」に設定された場合に、選択される。
【００８６】
最後に、２つのＳＥＲＤＥＳ１１８における各タップは、他のＸＯＲゲート２８２に入信する。このＸＯＲゲート２８２における他の入力は、同一のＳＥＲＤＥＳにおける従前のタップ２８４（ｌｓｂに向かうもの）に由来する。タップ０に関しては、従前のクロック周期（ＴＣ）からの最近のタップ３１との比較が実行される。これらのＸＯＲゲート２８２の出力は、ＯＲゲート２８４に供給される。このＯＲゲート２８４における他の入力は、図示するように、他のＳＥＲＤＥＳからの同様のＸＯＲゲート２８２に由来する。このＯＲゲート２８４は、マルチプレクサ２７６における第３の入力部に入信する。この第３の入力部（従前とラベリングされている）は、ライン２７８に出力されるイネーブル［１：０］信号が「従前」に設定された場合に、選択される。一実施例では、マルチプレクサは、第４の入力部（図示せず）を有してもよい。この入力部は、０をもって駆動され、ライン２７８に出力されるイネーブル［１：０］信号が「なし」に設定された場合に、選択される。マルチプレクサ２７６の出力は、ＴＳレベルに対して異常を示す。これは、ＳＥＲＤＥＳからの各ビット（各ＴＳでクロックされる）が、異常比較を与えるからである。一実施例では、全てのビット（全てのＴＳ）からの表示を、ベクトルレベルで異常を表示するために、ＯＲ結合してもよい。
【００８７】
再び図１５を参照すると、異常検出ロジック２６２の出力を、波形分離回路２８８に向けて、ライン２９０上に供給してもよい。駆動側の波形融合１９０（図６参照）と同様に、比較側のベクトルは、互いに分離されている必要性があってもよい。これは、各ベクトル内において検出された全ての異常を、個別に記録する可能性があるからである。上記したように、一連のベクトルは、偶数あるいは奇数として特定されている。所定の全てのクロック周期（ＴＣ）内においては、異常検出ロジック２６２からの出力について、その全てを偶数ベクトルからのものとしてもよく、または、その全てを奇数ベクトルからのものとしてもよく、あるいは、一部を偶数としながら他部を奇数とするようにしてもよい。これについては、クロック周期内に、奇数が最初に来たのか、あるいは偶数が最初に来たのか、のいずれかによって、より差別化することが可能となる。したがって、波形分離回路２８８は、異常検出ロジック２６２から受信した信号を、偶数ベクトルおよび奇数ベクトルを分離するように、処理することが可能である。
【００８８】
図１９を参照すると、本発明の態様にしたがう波形分離回路２８８の一実施例における、ブロック図が示されている。部分的に偶数および奇数となっているクロック周期の間中、温度計タイプの２つの回路２９２ａ・２９２ｂが、ライン２９０に出力さている異常検出信号からの望まないビットを隠すために使用される。部分的に偶数および奇数となっているこれらのサイクルの間中、１つのマルチプレクサ、例えば、いちばん上のマルチプレクサ３１８が、通常の温度計出力を選択する。そして、他のマルチプレクサ３２０が、反転した温度計出力を選択する。いちばん上のマルチプレクサ３１８からの出力は、奇数ベクトルに属するＴＳビットだけを隠すための、マスクを含んでいるはずである。この出力は、以下のＯＲゲート３１４ｂによってＯＲ結合されている奇数ベクトルに属する異常検出ロジックからのＴＳ出力だけを許可する、ＡＮＤゲート３１２ｂ（ＴＳごとに１つ）のセットに供給される。累算器３１６ｂは、システムクロック周期にわたって生じた全ての異常の経過を追う。同様に、マルチプレクサ３２０は、偶数ベクトルに属するＴＳビットだけを選択するための、マスクを含んでいるはずである。その出力は、偶数ベクトルに属するＴＳビットだけを選択するＡＮＤゲート３１２ａにおける、同様のセットに供給される。そして、これらは、ＯＲゲート３１４ａにおいてＯＲ結合され、累算器３１６ａによ
って積算される。ベクトル周期の終わりに、積算された全ての異常が、異常ベクトルを特定することの可能な情報とともに、異常バッファ１２６（図１あるいは図１５参照）に書き込まれる。この異常バッファ１２６では、メインメモリ１０４（図１参照）への移動および格納のために、情報を待ち行列に入れることが可能である。
【００８９】
上記したように、少なくともいくつかの実施形態では、デジタルモジュールは、「ロジック分析モード」を提供することが可能である。これらの実施形態では、キャプチャバッファ１２８（図１参照）を、ロジック分析モードおよびキャプチャデータの格納のために使用される、２目的バッファとすることが可能である。他の実施例では、ロジック分析モードのためにキャプチャバッファ１２８を使用することよりも、むしろ、異常バッファ１２６を使用することが可能である。この場合、異常バッファについては、２目的バッファとすることが可能である。以下に示す説明は、ロジック分析バッファ２９４（図１５参照）に言及するものである。当然のことではあるが、これは、異常バッファ１２６となることが可能であり、キャプチャバッファ１２８、あるいは別個のロジック分析バッファを、キャプチャバッファおよび異常バッファに加えて設けることも可能である。
【００９０】
一実施例では、ロジック分析バッファ２９４を、ＴＣごとに生のＳＥＲＤＥＳ入力（３２×２）を継続的に格納する、循環バッファとすることが可能である。ピンチャネルごとに、１つのロジック分析バッファを設けることも可能である。一実施例では、各ロジック分析バッファ２９４を、１２８×３２×２のサイズとしてもよい。ロジック分析バッファを、少なくとも２つのモード、すなわち、第１の異常イベントが検出されるモードである、「第１異常モード」あるいは、静的にプログラム化したクロック周期カウントを加えたビットを操作することによって、バッファが始動されるモードである、「パターン制御モード」において、始動してもよい。異常の生じたとき、ほぼ半分のロジック分析バッファに対し、異常位置を越えて書き込むことを許すことも可能である。これにより、異常位置を、このバッファのほぼ中間とすることが可能となる。一実施例では、全てのチャネルは、同じ異常トリガによって格納してもよい。異常を、ベクトル周期の終わりに検出してもよい。この場合には、周期生成器の残余を、０から３１までとすることが可能である。この残余を、異常検出の瞬間に格納することが可能である。これにより、ロジック分析バッファ内で、異常の生じるベクトルの境界が明らかになる。非常に長いベクトル周期（例えば、数ミリ秒のオーダ）をもついくつかの実施例では、システムクロック周期ＴＣにおける静的なカウントを、ロジック分析モードが始動される周期内から特定のクロック周期を選択するために、使用することが可能である。ロジック分析バッファ内にデータがいったん格納されれば、それを読み出すことが可能であり（例えば、デジタルモジュールにおける専用のロジック分析出力部に読み出すなど）、また、テストサイクルの終わりに、それをメインメモリに移すことも可能である。これにより、ロジック分析モードに関して、メインメモリのバンド幅を消費することない。
【００９１】
上記したように、少なくともいくつかの実施形態では、ＳＥＲＤＥＳを、約２３４ｐｓのＴＳを有することの可能な、非常に高速のＳＥＲＤＥＳとしてもよい。しかしながら、場合によっては、デジタルモジュールは、より長いＴＳを有する、より遅いＳＥＲＤＥＳを含んでもよい。また、技術の進歩にしたがって、現在のＳＥＲＤＥＳが供給できるものよりも高いＴＳ解像度（すなわち、より短いＴＳ）を有することが、好ましくなる可能性もある。これらの場合、ライン１２２ａ・１２２ｂ上（図１参照）に対し、より短く効果的なＴＳを有する駆動波形を出力するために、複数のＳＥＲＤＥＳをともにシフトし多重化するようなシステムを設けることも可能である。
【００９２】
図２０を参照すると、ＳＥＲＤＥＳ多重化回路の一実施例における、ブロック図が示されている。例示されている実施例では、ＳＥＲＤＥＳ１１６ａ・１１６ｂ（図７参照）のそれぞれが、ライン１２２ａ・１２２ｂへの出力を提供するように結合されている、４つ
の個別のＳＥＲＤＥＳ３００ａ・３００ｂ・３００ｃおよび３００ｄを備えている。これらの個別のＳＥＲＤＥＳのそれぞれについては、全体で３２ビットのＳＥＲＤＥＳ１１６を構成するように、４ビットのＳＥＲＤＥＳとすることが可能である。しかしながら、当然のことではあるが、本発明は、適切ないずれのビット数を使用することも可能である限り、４ビットのＳＥＲＤＥＳを使用することに限られるわけではない。さらに、ＳＥＲＤＥＳが４つからなるグループとなっている必要もなく、他のグループわけについても、受け入れ可能となることも可能である。コントローラ２９８は、ライン２９６上の駆動波形信号（例えば、図６における波形融合回路１９０からの信号、あるいは、図７における駆動回路１５８からの信号）を受信することが可能である。コントローラ２９８は、駆動Ｈ／Ｌ信号および駆動イネーブル信号（究極的には、それぞれ、ライン１２２ａおよび１２２ｂから供給される信号）のそれぞれを、ＳＥＲＤＥＳ３００ａ・３００ｂ・３００ｃおよび３００ｄのそれぞれに１つづつ、４つのサブ信号に分割することが可能である。図２０に例示されているように、４つのＳＥＲＤＥＳ３００ａ・３００ｂ・３００ｃおよび３０ｄについては、それぞれ、互いに９０度づつ、位相シフトすることが可能である。したがって、ＳＥＲＤＥＳ３００ａは、０度の位相シフトを有することが可能であり、ＳＥＲＤＥＳ３００ｂは、９０度の位相シフトを有することが可能であり、ＳＥＲＤＥＳ３００ｃは、１８０度の位相シフトを有することが可能であり、そして、ＳＥＲＤＥＳ３００ｄは、２７０度の位相シフトを有することが可能である。４つのＳＥＲＤＥＳのそれぞれからの位相シフトされた出力については、ＸＯＲゲート３０２ａおよび３０２ｂを介して交互配置することが可能である。これにより、ライン１２２ａおよび１２２ｂｂ上のシリアル出力が、グループ内の各ＳＥＲＤＥＳからのシーケンシャルビットを有することになる。このようにして、駆動信号は、個別のＳＥＲＤＥＳ３００ａ・３００ｂ・３００ｃあるいは３００ｄのいずれのタイミングに比して４倍も速い、効果的なタイミングを有することが可能となる。
【００９３】
図１に関連して上に示したように、本発明の態様にしたがうデジタルモジュールの動作については、メインメモリ１０４から供給される情報を介して、制御することが可能である。さらに、ＤＵＴ上のＡＴＥによって実行されたテストの結果については、メインメモリ１０４に記録することが可能である。次に、メインメモリ、それによる通信、および他のメモリ部材に関する動作について、より詳細に説明する。
【００９４】
図２１を参照すると、本発明の態様にしたがうメモリサブシステムの一実施例における、ブロック図が示されている。このメモリサブシステムは、メインメモリ１０４、メインメモリ制御部１０６、バッファメモリ１０８およびバッファメモリ制御部１１４を備えることが可能である。ＤＵＴをテストするために、テストベクトルおよび比較ベクトルの列（パターンと称される）を、メインメモリ１０４からバッファメモリ１０８に読み出すことが可能である。一実施例では、メインメモリ１０４からパターンデータを読み出して、ベクトルがデコードおよび実行される、バッファメモリ１０８を満たすことも可能である。バッファメモリ１０８が満たされると、メインメモリ１０４からのデータフローが停止され、バッファメモリ１０８が空になり始めると、メインメモリ１０４が再び読み出される。
【００９５】
メモリの特性に起因して、何らかのメモリ動作（例えばＪＵＭＰ）の実行に際して、いくらかの固有の待ち時間があってもよい。ＪＵＭＰ命令をデコードし、新しい位置における読み出しを開始すべきことをメモリコントローラに指示し、そして、その位置からのデータを待つ、ということには時間がかかる。また、リフレッシュなどのいくつかの動作については、ＪＵＭＰがデコードされたときに実行中である可能性があり、その動作が完了するのを待つための時間がかかる。一実施例では、ＪＵＭＰに関する待ち時間は、ほぼ１２ベクトルとなると予想される。メインメモリ１０４におけるＪＵＭＰｉｎｇの待ち時間は、メインメモリ１０４から実行することのできるベクトルのループのサイズを、制限す
る可能性がある。待ち時間が１２ベクトルである場合、これは、本質的に、最小のループサイズとなる。これより小さいループを可能とするために、必要に応じて、バッファ制御部１１４を、バッファメモリ１０８を再読み出しするために使用することが可能である。これにより、バッファメモリ１０８から直接的に、小さいループを効率的に実行することが可能となる。ＪＵＭＰｉｎｇの待ち時間は、また、ＪＵＭＰのタイプの命令をベクトルメモリに配することのできる頻度にも影響する可能性がある。
【００９６】
一実施例では、メインメモリ１０４を、ＦＰＧＡ１０２ごとに、複数（例えば１６）の、６４Ｍ×９ＲＬＤＲＡＭＩＩメモリから構成してもよい（図１参照）。しかしながら、当然なことではあるが、本発明は、上記の構成に限られるわけではなく、ＤＤＲ、ＤＤＲ２およびＤＤＲ３を含む、他のタイプのメモリを使用してもよい。一実施例では、フル１６ビットのシーケンサ／タイミング発生器リソースを提供するために、２つのＦＰＧＡを一緒に使用することが可能である。このチャネル（ピン）ごとのデータについては、チャネルごとに１つのメモリチップの中に備えることが可能である。ベクトル（制御）ごとのデータはＦＰＧＡ間で共通であるが、各ＦＰＧＡは、１００％同期されたメモリコントローラを防ぐような、異なる書き込み活動（異常およびキャプチャ）を有することが可能である。したがって、少なくとも一実施形態においては、制御データを、各ＦＰＧＡに関して再現することが可能である。
【００９７】
少なくともいくつかの実施形態にしたがうと、データバス３０４を、完全な読み出し／書き込みの機能性に関して、双方向とすることが可能となる。これは、パターンがメインメモリ１０４に格納されるだけでなく、メインメモリ１０４が、異常情報、キャプチャデータを格納することもできる、ということ、および、メインメモリ１０４を、ホストのＡＴＥにデータを送り返すより前における、キャプチャデータの後のいずれの処理にも使用される、スクラッチエリアとすることさえも可能となる、ということを意味する。一実施例では、メインメモリ１０４に、ＴＣ（例えば、通常、２６７ＭＨｚ）の周波数の２倍のクロックで、そして、ＤＤＲ型の入力および出力データをもって動作する能力をもたせることも可能となる。これにより、メモリへの、およびメモリからのピークデータレートが、４×最大ベクトルレートとなる。周到な管理およびバッファメモリ１０８を使用すること、ベクトルデータを読み出すこと、異常データおよびキャプチャデータを書き込むこと、および、必要なリフレッシュコマンドを実行することの全てを、１３３ＭＨｚでの途切れのないパターン提示（すなわち、途切れのないＤＵＴのテスト）とともに達成することが可能である。
【００９８】
なお図２１を参照すると、メインメモリ制御部１０６が、メインメモリ１０４への直接のインターフェイスを提供している。このメインメモリ制御部１０６は、ＲＬＤＲＡＭＩＩコントローラコア３０６を含んでもよい。このメインメモリ制御部１０６は、最大ベクトルレート（一実施例では、１秒ごとに１３３Ｍのベクトル）×４のバーストレートでのメインメモリの読み出し、×４のバーストレートでのメインメモリへの書き込み、リフレッシュ、メモリの初期化、さまざまな送信元（ソース）／送信先の間での読み出しおよび書き込みの仲裁、バンクの管理、および、充填、消去、ＣＲＣチェックなどに関するハードウェアサポートの提供、を実行するための機構を有することが可能である。
【００９９】
一実施形態にしたがうと、各ＦＰＧＡ１０２（図１参照）は、バッファメモリ１０８を含んでもよい。一実施例では、各バッファメモリ１０８を、ＦＰＧＡ内において１２８×１４４のサイズとすることが可能である。バッファメモリ１０８は、メインメモリのバースト性が存続することを可能としながら、ベクトル回路への一定のデータフローを可能とするために、メインメモリ１０４と同時に使用される。すなわち、少なくともいくつかの実施例では、メインメモリ１０４を、特定のバースト長を有する「バースト」フォーマットで読み出すことが可能である。しかしながら、ベクトル（駆動および比較）回路は、複
数のベクトルを含んでいる可能性のあるバーストフォーマットではなく、ベクトルごとのフォーマットのデータを受信することを予想している可能性がある。したがって、メインメモリからバーストデータを受信するとともに、このデータをベクトルごとに読み出すために、バッファメモリ１０８を使用することが可能である。一実施例では、バッファメモリ０８を、いずれのＪＵＭＰタイプの動作の後であっても、および、いずれの書き込み動作とともに実行される、必要ないずれのリフレッシュ動作の後であっても、空になる前にそれを再充填することが可能な程度に、十分に大きくすることが可能である。
【０１００】
なお図２１を参照すると、バッファメモリ制御部１１４は、バッファメモリ１０８が空になったときにメインメモリ１０４からの追加のデータを要求するために、バッファメモリ１０８からの「充填」表示に応答することが可能である。バッファメモリ制御部１１４は、また、バッファメモリ１０８が満杯になったときにメインメモリ１０４からのデータフローを停止するように機能してもよい。一実施例では、バッファメモリ制御部１１４は、メモリのＪＵＭＰおよび小ループを補助するためのロジックを含んでもよく、また、ループの居所を作るため、および、手続き呼び出しを実行するために必要な、一時的記憶装置（ｓｔａｃｋ）を含んでもよい。
【０１０１】
図２１に示すように、補助ポート３０８およびホストインターフェイス３１０を、メインメモリ制御部１０６およびデータバス３０４を介して、メインメモリ１０４に結合してもよい。ホストインターフェイス３１０は、ホストコンピュータによるメインメモリ１０４に対する読み出しおよび書き込みのために、双方向の経路を供給することが可能である。補助ポート３０８は、さまざまな用途（例えば、オンボードのキャプチャプロセッサによる、データおよびメモ帳へのアクセスに関する用途など）のための、双方向のポートを提供することが可能である。
【０１０２】
上記したように、少なくともいくつかの実施形態にしたがうと、異常データを、異常バッファ１２６に記録し、メインメモリに出力することが可能である。一実施例では、２つのタイプの記録を異常バッファ１２６に書き込むことによって、異常報告を実行することが可能である。第１の記録タイプは、Ｘラベル記録である。この記録は、単に、３６ビット値を形成するために詰められたベクトルゼロ内にある、Ｘラベルである。第２の記録タイプは、異常記録である。この記録は、例えば、１６ビットの異常情報（８チャネルのそれぞれに関して、異常１および異常２）および、２０ビットのカウントを含むものである。このカウントは、あらゆるベクトルに関してＸラベル記録が書き込まれて増加する度に、リセットされる。このため、最も新しいＸラベルを加えたカウントは、正確な異常位置を提供することが可能である
一実施例では、各記録を、３６ビットとすることが可能である。各ＦＰＧＡは、４に等しいバースト長（ＢＬ）を有する、１４４ビット幅のメインメモリ１０４を理解することが可能である。一度に１６の記録を、集結して書き込むことが可能である（４アクロス、４ディープ）。一実施例では、各ＴＣにおいて、最大で２つの記録を生成することが可能である（１つのＸラベル記録、および、１つの異常記録）。したがって、異常メモリのアップデート（メインメモリに対するもの）は、最大で８ＴＣごとに１回、生じることが可能である。この実施例では、ほぼ３２×３６の異常バッファ１２６を、メインメモリ１０４に移る前の損失を防止するために、異常データのために使用することが可能である。メインメモリの一部を、異常データに割り当てることが可能である。メインメモリにおける異常部分の配置は、例えば、ＲＡＭの開始アドレス、および、割り当てられたメモリのサイズを指定することが可能である。いくつかの実施例では、異常バッファの終わりに到達したとき、あるいは、従前のデータを包囲あるいは上書きしたときに、終了するためのオプションを提供することが可能である。
【０１０３】
上記したように、少なくともいくつかの実施形態では、デジタルモジュールにおける各
（あるいは、いくつかの）ＦＰＧＡは、キャプチャバッファ１２８を有してもよい。一実施例では、キャプチャデータは、チャネルごとに最大で４ビットを含んでもよい（高コンパレータ値および低コンパレータ値の双方を含むベクトルごとに２つのキャプチャ位置）。ＦＰＧＡごとに８チャネルであれば、キャプチャデータを、ＴＣごとに最大３２ビットとすることが可能である。しかしながら、当然のことではあるが、本発明は、いずれかの特定の数値に限られるわけではなく、特に、より多いチャネルあるいはより少ないチャネルを、ＦＰＧＡごとに設けることも可能であり、より多いビットあるいはより少ないビットを用いることも可能である。異常データが書き込まれるのと同様に、キャプチャデータについても、一度に１６個、書き込むことが可能である（４アクロス、４ディープ）。一実施例では、キャプチャデータは、最大で、１６ＴＣＳに１回、書き込まれる必要性があってもよい。したがって、異常バッファ１２６と同様に、キャプチャバッファは、３２のキャプチャ記録を保持するために十分なメモリと等しい大きさであれば、十分である可能性がある。
【０１０４】
要約すれば、本発明における少なくともいくつかの態様および実施形態は、波形およびタイミング生成、および、ＡＴＥでの測定に関する、デジタルモジュールを対象とするものである。デジタルモジュールにおけるメインメモリからパラレルの入力データを受信すること、および、それを、ＤＵＴを結合することの可能なピンを活性化するために、シリアルの波形に変換することによって、高ＳＥＲＤＥＳ（あるいは他のシフトレジスタ）を、テスト波形をデジタルに描画するために使用することが可能である。従来のＡＴＥにおける場合のようにストローブを使用するのではなく、ＴＩＣに関連して波形を規定してもよい。ＴＩＣは、波形とは無関係である。これは、ＴＩＣが、システムクロックによって規定されているからである。波形を生成するためにＳＥＲＤＥＳ素子を使用することによって、従来の波形生成に比べて、改善されたジッタおよび線型性を得ることが可能となる（これは、ＳＥＲＤＥＳの伝播遅延が一定であるからである）。さらに、高速ＳＥＲＤＥＳを、ＤＵＴから応答波形を（シリアル形式で）受信するため、および、高速処理のために、それをパラレルデータに変換するために使用してもよい。さらに、ＤＵＴの応答を分析するために使用することの可能な、比較波形および駆動波形については、ＴＩＣを用いて規定することが可能であるため、より具体的には、これらを、波形内でキャプチャすることが可能であり、したがって、単一の波形を、単一のベクトルにおけるＤＵＴに対する多数のテストを実行するために、使用することが可能となる。例えば、高から低への送信および低から高への送信にかかるデバイスをテストするために、同じ波形を使用することが可能である。従来のストローブ技術を用いる場合、これら２つのテストは、異なるベクトルにおける２つの異なる波形を用いて実行されることになる。ＴＩＣにおいてデジタルに波形を描画することによって、および、ＳＥＲＤＥＳを用いることによって、改良された機能性を得ることが可能となる。さらに、上記したように、本発明にしたがうデジタルモジュールを、ＦＰＧＡにおいて実施してもよい。これは、従来のＡＴＥにおいて使用されているＡＳＩＣに比して、はるかに柔軟で、かつ安価に開発することの可能なものである。このように、本発明の態様にしたがうデジタルモジュールは、よりコストが低く、拡縮自在で、さらに、測定に関する新しい解決法の素早い原型作成をサポートするＡＴＥの開発を、促進することの可能なものである。
【０１０５】
以上のように、少なくとも１つの実施形態における複数の態様について説明してきた。当然のことではあるが、さまざまな変化形、修正形および改善形が、当業者に容易に想定されるはずである。これらのような変化形、修正形および改善形は、この開示の一部となることを意図されているとともに、本発明の範囲内にあることを意図されているものである。したがって、これまでに示した記述および図面は、単なる例示目的のものであって、本発明の範囲は、添付された請求項およびその等価物における、適切な解釈から決定されるべきものである。
【図１】
2009543096.tif 000011
【図２】
2009543096.tif 000012
【図３】
2009543096.tif 000013
【図４】
2009543096.tif 000014
【図５】
2009543096.tif 000015
【図６】
2009543096.tif 000016
【図７】
2009543096.tif 000017
【図８】
2009543096.tif 000018
【図９】
2009543096.tif 000019
【図１０】
2009543096.tif 000020
【図１１】
2009543096.tif 000021
【図１２】
2009543096.tif 000022
【図１３】
2009543096.tif 000023
【図１４】
2009543096.tif 000024
【図１５】
2009543096.tif 000025
【図１６】
2009543096.tif 000026
【図１７】
2009543096.tif 000027
【図１８】
2009543096.tif 000028
【図１９】
2009543096.tif 000029
【図２０】
2009543096.tif 000030
【図２１】
2009543096.tif 000031
【国際調査報告】
2009543096.tif 000032
2009543096.tif 000033