JP2009543096A - 自動テスト装置におけるデジタル波形の生成および測定 - Google Patents

自動テスト装置におけるデジタル波形の生成および測定 Download PDF

Info

Publication number
JP2009543096A
JP2009543096A JP2009519455A JP2009519455A JP2009543096A JP 2009543096 A JP2009543096 A JP 2009543096A JP 2009519455 A JP2009519455 A JP 2009519455A JP 2009519455 A JP2009519455 A JP 2009519455A JP 2009543096 A JP2009543096 A JP 2009543096A
Authority
JP
Japan
Prior art keywords
waveform
data
tic
comparison
period
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.)
Withdrawn
Application number
JP2009519455A
Other languages
English (en)
Inventor
カッパウフ,ウィリアム・エフ
ブランカ,バリー・エドワード
哲朗 中尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Asterion Inc
Original Assignee
Asterion Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Asterion Inc filed Critical Asterion Inc
Publication of JP2009543096A publication Critical patent/JP2009543096A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/26Testing of individual semiconductor devices
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

自動テスト装置において使用することの可能な波形の生成および測定モジュール。この波形の生成および測定モジュールは、テスト波形をデジタルに描画するために使用される、高速SERDES(あるいは、他のシフトレジスタ)を含んでいる。テスト中のデバイスから応答波形を(シリアル形式で)受信し、高速処理のために、それをパラレルデータに変換するために、追加的な高速SERDESを使用してもよい。この波形の生成および測定モジュールは、フィールドプログラマブル・ゲートアレイロジックにおいて実施することの可能なものである。

Description

発明の背景
発明の分野
本発明における少なくとも1つの実施形態は、自動テスト装置に関するものであり、より具体的には、このような装置における波形の生成および測定のシステムおよび方法に関するものである。
関連技術の説明
今日、多くの半導体集積回路は、非常に複雑であり、製造欠陥をテストするための、洗練された自動テスト装置(ATE)を必要としている。一般的に、ATEは、集積回路(IC)をテストするために使用される。このテストでは、ATEメモリに格納されているテストパターンをテスト用のICに適用して、チップの応答性を予想される応答性と比較するようになっている。これらのテストパターンは、典型的には、特定用途の集積回路(ASIC)を介する波形およびタイミング生成に関連している。ASICの欠点には、製造にお金と時間とがかかること、および、バグの修正および将来の機能強化に関する改良コストのかかることが含まれる。これは、テストを実行するために複雑で性能のよい計算装置を必要とすることに起因して一般的に既に非常に高価なATEのコストを、増大するものである。
ATEのコストは、ともするとひどく高価である。それにも関わらず、これらは、多くの会社にとって必需品である。製造された集積回路のそれぞれを、それが消費者に出荷される前にテストすることは重要である。なぜなら、加工された集積回路におけるかなりの割合が、製造欠陥を含んでいるからである(特に、大規模集積回路の場合)。したがって、これらの欠陥チップを、これらが消費者に出荷される前に選別して排除することは、非常に重要である。このため、コストを減少し、部品技術の進歩に伴うより高い性能のオプションへの移行を可能とするために、容易に入手可能な部品およびシステムを含むATEを提供することが望まれている。
発明の概要
本発明の態様および実施形態は、ATEにおける波形およびタイミング生成に関するデジタルモジュールを対象とするものである。テスト中のデバイス(ここでは、「DUT」と称される)を結合することの可能なピンを活性化するために、デジタルモジュール上のメモリデバイスからパラレルの入力データを受信し、それを非常に高速のシリアルの波形に変換することによって、シリアライザ−デシリアライザ部材(SERDES)のような高速シフトレジスタを、テスト波形をデジタルに描画するために使用することが可能である。SERDESの伝播遅延が一定であるために、従来の波形生成に比べて、改善されたジッタおよび線型性を得ることが可能となる。さらに、DUTから応答波形を(シリアル形式で)受信し、高速処理のために、それをパラレルデータに変換するために、高速シフトレジスタを使用してもよい。DUTの応答を分析するために使用することの可能な受信波形が、大量のサンプルを含んでいるため、比較的に非常に詳細な事項を波形内でキャプチャすることが可能となる。したがって、単一のテストサイクルにおいて、単一の波形を、DUTに対する多数のテストを実行するために使用することが可能となる。このように、シフトレジスタを用いて所望の刺激波形をデジタルに描画し、予想された波形あるいは
測定された波形を処理することによって、改良された機能性を得ることが可能となる。さらに、本発明にしたがうデジタルモジュールを、FPGAにおいて実施してもよい。これは、従来のATEにおいて使用されているASICに比して、はるかに柔軟で、かつ、大幅に低い開発コストをもつことの可能なものである。このように、本発明の態様にしたがうデジタルモジュールは、コストが低く、拡縮自在で、さらに、測定に関する新しい解決法の素早い原型作成をサポートするATEの開発を、促進することの可能なものである。
一実施形態にしたがうと、自動テスト装置における波形の生成および測定モジュールは、テスト波形を特徴づけるベクトル情報を有するメモリデバイスと、パラレルフォーマットでメモリデバイスからベクトル情報を受信し、上記のテスト波形に応じたシリアルの出力を生成する、第1の複数のシフトレジスタと、テスト中のデバイスからシリアルフォーマットで応答波形を受信し、この応答波形に応じたパラレルデータを出力として生成する、第2の複数のシフトレジスタと、を備えることが可能である。
一実施例では、上記第1および第2の複数のシフトレジスタのそれぞれが、少なくとも1つのシリアライザ−デシリアライザ部材を備えている。他の実施例では、テスト波形を、複数のTICとして規定することが可能であり、各TICが、テスト波形内における、少なくとも1ビットの位置に対応している。一実施例では、各TICが、シリアライザ−デシリアライザ部材における1クロック周期より大きいか、これと等しい持続時間を有することが可能である。波形の生成および測定モジュールは、さらに、データ結合器を備えることが可能である。一実施例では、メモリデバイスからパターンデータを受信し、テスト波形を生成するために、パターンデータを、テスト波形を特徴づけるベクトル情報と組み合わせるように、データ結合器を構成および配列することが可能である。他の実施例では、ベクトル情報は、ベクトル周期を特定することが可能である。そして、波形の生成および測定モジュールは、ベクトル周期を生成するように構成および配置されている、周期生成器を有することが可能である。波形の生成および測定モジュールは、波形伸長回路をさらに有することが可能である。この波形伸長回路は、各TICがシリアライザ−デシリアライザ部材における少なくとも2クロック周期の持続時間を有するように、各TICを複製するように構成および配置されているものである。他の実施例では、メモリデバイスは、比較波形を特徴づける比較ベクトル情報を含んでもよい。波形の生成および測定モジュールは、異常検出回路を備えることが可能である。この異常検出回路は、比較波形および応答波形を受信し、ビットバイビットで応答波形を比較波形と比較するように構成および配列されたものである。異常検出回路を、応答波形における比較波形との比較に基づいて、異常記録を生成するように構成および配列してもよい。一実施例では、波形の生成および測定モジュールは、異常記録を受信し格納するために、異常バッファを備えることも可能である。いくつかの実施例では、波形の生成および測定モジュールを、フィールドプログラマブル・ゲートアレイとして実施することが可能である。
他の実施形態にしたがうと、自動テスト装置における波形生成方法は、パラレルフォーマットのデジタルデータを、第1の複数のシフトレジスタに提供すること、および、テスト波形を生成するために、このデジタルデータを、第1の複数のシフトレジスタからシリアルにシフト出力すること、を含んでもよい。
一実施例では、上記デジタルデータの提供が、複数のTICを有するデジタル波形を提供することを含むことが可能であり、各TICが、シフトレジスタにおける少なくとも1クロック周期に等しい持続時間を有している。他の実施例では、本方法は、さらに、各TICがシフトレジスタにおける少なくとも2クロック周期に等しい持続時間を有するように、デジタル波形を伸長することを含んでもよい。いくつかの実施例では、本方法は、第2の複数のシフトレジスタによって、シリアルフォーマットの応答波形を受信すること、および、この応答波形を、パラレルフォーマットの出力データに変換すること、をさらに
含んでもよい。この方法は、また、出力データを比較波形と比較すること、および、この比較に基づいて、異常データを生成すること、および(選択的に)、この異常データを格納すること、をさらに含んでもよい。一実施例では、この比較は、ビットバイビットでの比較を実行することを含んでもよい。
なお他の態様、実施形態、および、これらの例示的な態様および実施形態における有利な点は、以下に詳細に説明される。さらに、上記情報および後述する詳細な説明は、単に、さまざまな態様および実施形態の例を示すものであり、特許請求されている態様および実施形態における性質および特徴を理解するための、概観あるいは枠組みを提供することを意図されたものにすぎない、ということが理解されるべきである。添付図面は、さまざまな態様および実施形態の例示およびさらなる理解を提示するために含まれているものであり、この明細書の一部に組み込まれ、これを構成するものである。これらの図面は、この明細書の残部とともに、記載され特許請求されている態様および実施形態の原理および動作を説明するために機能する。
少なくとも1つの実施形態におけるさまざまな態様が、添付図面を参照しながら以下に説明される。正しい縮尺で描かれるように意図されていないこれらの図では、さまざまな図に示された同一の部材、あるいはほぼ同一の部材が、同様の数字で表現されている。明確さのために、全ての図において、一部の部材だけがラベリングされていることもある。これらの図は、例示および説明のために提供されたものであり、本発明の限定を確定するものとして意図されているものではない。
本発明の態様にしたがうデジタルモジュールにおける、一実施形態のブロック図である。 本発明の態様にしたがうベクトルの図である。 周期生成器の一実施形態におけるブロック図である。 図3の周期生成器の動作における一実施例を示す、タイミング図である。 本発明の態様にしたがう、波形テーブル再マップ、周期選択および波形テーブル選択のための回路における、一実施例のブロック図である。 本発明の態様にしたがうSERDES駆動回路における、一実施例のブロック図である。 本発明の態様にしたがうデジタルモジュールにおける、他の実施例のブロック図である。 本発明の態様にしたがうドライバ波形における、一実施例のタイミング図である。 図7のデジタルモジュールにおいて使用することの可能なTIC伸長を得るための回路における、一実施例のブロック図である。 本発明の態様にしたがう波長伸長回路における、一実施例のブロック図である。 本発明の態様にしたがう波形融合回路における、一実施例のブロック図である。 図11の波形融合回路の動作における、実施例のタイミング図である。 本発明の態様にしたがう比較波形における、一実施例のタイミング図である。 本発明の態様にしたがう、異常検出器回路および異常データ復号の一実施形態における表および回路を示す図である。 本発明の態様にしたがう、比較SERDES回路の一実施例におけるブロック図である。 本発明の態様にしたがう、波形テーブル再マップおよび遅延回路の一実施例におけるブロック図である。 本発明の態様にしたがう、波遅延回路の一実施形態におけるブロック図である。 本発明の態様にしたがう、異常検出回路の一実施形態におけるブロック図である。 本発明の態様にしたがう、波形分離回路の一実施例におけるブロック図である。 本発明の態様にしたがう、SERDES多重化回路の一実施例におけるブロック図である。 本発明の態様にしたがう、メモリサブシステムの一実施例におけるブロック図である。
詳細な説明
本発明における少なくともいくつかの態様および実施形態は、自動テスト装置(ATE)のために波形あるいはタイミングの生成および測定を実行する、モジュールを対象とするものである。上記したように、従来のATEは、特注品の複雑な回路および計算用部品の必要性に起因して、非常に高価なものとなる可能性がある。本発明の実施形態および態様にしたがうと、従来のATEにおいて一般的に使用されている特定用途の集積回路(ASIC)を、より柔軟で安価なフィールドプログラマブル・ゲートアレイ(FPGA)技術に置き換えることの可能な、波形生成モジュールが提供される。具体的には、少なくともいくつかの態様および実施形態は、以下に説明されるように、高速シリアライザ−デシリアライザ(SERDES)入出力チャネルを使用する、FPGAをベースとするタイミング発生器を対象としている。FPGA技術を使用することにより、以下にさらに説明されるように、ASIC設計に一般的に付随する回復不能の莫大な開発コストを排除することによって、ATEのコストを大幅に減少することが可能であるとともに、機能性および柔軟性を改良することができる。
当然のことながら、ここに説明した方法および装置の実施形態は、以下の説明に記載されている、あるいは添付図面に例示されている構造の詳細および部品の構成に対する応用に限られない。この方法および装置は、他の実施形態において実施することが可能であり、さまざまな手法で実現すること、および、実行することの可能なものである。特定の実施例は、説明の便宜のために示されているのであって、これに限ることを目的とするものではない。特に、1つ以上の実施形態のいずれかに関連して説明された挙動、部品および特徴点は、他のいずれかの実施形態における同様の役割から排除されること意図されているものではない。また、ここで使用されている表現および専門用語は、説明のためのものであり、限定とみなされるべきものではない。「含む(including)」「備える(comprising)」「有する(having)」「内包する(containing)」「含有する(involving)」およびこれらの変化形は、その後に記載された事項およびその等価物ならびに追加的な事項を包含するということを意図したものである。
この明細書の全体にわたって、以下の略語が使用されている。
STIL IEEE1450によって規定されている、標準的なテストインターフェイス言語
DUT テスト用のデバイス
ATE 自動テスト装置
FPGA フィールドプログラマブル・ゲートアレイ
ASIC 特定用途の集積回路
T ベクトル周期
ベクトル周期のスタート地点
システムクロック周期
SERDESクロック周期
TIC 所定の周波数における所定の波形の最小片
WFC 波形特性
WFM 波形メモリ
WFT 波形テーブル
BL バースト長
WS 波セット
WGL 波形生成言語
PE ピンエレクトロニクス。
ATEは、例えば半導体集積回路などのテスト用のデバイス(DUT)に接続することの可能な、回路を備えている。この回路は、テスト波形をDUTに供給し、DUTからの反応を測定してDUTが正確に作動しているか否かを判断してもよい。ATEには、これらの機能を与えるために、テストヘッドが含まれているものもある。他のATEでは、ATEのメインフレーム内の機器から信号が供給される。一実施形態にしたがうと、テスト波形を供給するため、および、DUTからの応答波形を分析するためにATEの回路に接続されることの可能な、データモジュールが提供される。このデジタルモジュールは、より低い開発コストおよび増加した柔軟性という上記した利点を得るために、主に、FPGAとして実現することが可能なものである。
図1を参照すると、本発明の態様にしたがうデジタルモジュールの一部における、一実施例のブロック図が例示されている。このデジタルモジュール100は、以下にさらに示すように、形状および周期に関する所望の波形を特定するための情報を内包する、メインメモリ104を含んでもよい。このメインメモリ104は、製造される1つ以上のテスト波形を特定するための情報を、内包することが可能である。メインメモリのこの部分については、それがDUTをテストするために使用される「ベクトル」を特定することから、「ベクトルメモリ」と称される。例えば、このベクトルメモリは、テスト波形における形状、周波数、パルスのタイミングおよび他のパラメータ、および、テスト波形に応じてDUTから受信されることを予想される応答波形、を特定するための情報を含んでもよい。このメインメモリ104の動作については、以下により詳細に説明される。デジタルモジュール100は、また、メインメモリ制御部106を備えることも可能である。このメインメモリ制御部106は、メインメモリ104から情報を読み出して、メインメモリ104にデータを書き込むものである。このメインメモリ制御部は、また、ライン110および112上にある、ATE回路から信号を受信する。このメインメモリ制御部は、バッファメモリ108に対して、ベクトルデータ(すなわち、生成された波形の特性を特定するための情報)を提供する。バッファメモリ制御部114は、このバッファ内に対するメインメモリの読み込みを管理する。バッファメモリおよびバッファメモリ制御部の動作については、以下にさらに詳細に説明される。
なお図1を参照すると、一実施形態では、デジタルモジュール100は、1つ以上の高速シフトレジスタのセットを含んでもよい。この高速シフトレジスタは、バッファメモリ108から波形情報を受信し、シリアル出力としてのテスト波形を生成するものである。このシリアル出力は、DUTの接続されるテストピンに印加してもよい。このシフトレジスタ116およびそれに関連する制御回路が、ブロック326として示されている。1つ以上のシフトレジスタにおける第2のセットを、DUTからの応答波形を受信し、この応答をパラレルデータに変換し、この応答をメインメモリ制御部106に供給するために使用してもよい。このとき、メインメモリ制御部106は、この応答をメインメモリ104に移動する。これらのシフトレジスタ118、および、それに関連する制御回路は、ブロ
ック328として例示されている。このように、波形は、これらの高速シフトレジスタを使用することによって、デジタル処理で「描かれる」ことが可能である。これは、さらに以下に説明されるように、柔軟で比較的に安価な設計を可能とする。図1に例示されているように、デジタルモジュール100における多くの部品については、FPGA102内において実施してもよい。明確さのために、図1には、1つのピンに関する回路が例示されている(全てのピンのために使用される、メインメモリ104を除く)。しかしながら、当然のことではあるが、本発明は、いかなるピンの定数にも限定されることはなく、また、多数のピンに対応するために、シフトレジスタにおける追加的なセットおよびラインをデジタルモジュール内に設けるようにしてもよい。
一実施例では、シフトレジスタを、シリアライザ−デシリアライザ(SERDES)部材としてもよい。これらのSERDESは、パラレル入力を受信し、それをシリアル出力に変換することのできるものである。あるいは、その代わりに、SERDESは、シリアル入力を受信して、それをパラレル出力に変換してもよい。駆動側では、ブロック326におけるSERDES116は、ライン120上で、所望の波形を表現するパラレルデータを受信することができる。そして、ライン122aおよび122b上で、それをシリアル形式にクロック出力あるいはシフト出力することによって、テスト波形を描くことも可能である。同様に、デジタルモジュール100の入力側では、SERDES118は、ライン124aおよび124b上のピンからシリアル形式で応答波形を受信し、処理のために、その応答をパラレルデータに変換してもよい。データは、SERDESのクロック周期ごとに1度、SERDESの中に、あるいはその外にシフトされる。SERDESのクロック周期は、ここではTと称される周期を有している。一実施例では、SERDESは、約4ギガヘルツ(GHz)のデータクロック速度を有することができる。これにより、波形は、約250ピコ秒(ps)までの解像度を有することが可能となる。本発明の実施形態における後述する説明は、単純化のために、SERDESを、シフトレジスタと称しているが、当然のことながら、本発明は、SERDESを使用することに限られず、むしろ、当然のことながら、他のいかなるタイプのシフトレジスタを使用してもよい。
SERDESの動作については、システムクロック周期Tを有する、システムクロックによって制御してもよい。このシステムクロックについては、公知のいかなる方法および装置を用いることによって(例えば、当業者に知られている位相ロックループを用いて)、生成するようにしてもよい。一実施形態では、SERDESは、32ビットのインターフェイスを有することが可能であり、したがって、SERDESのクロック周期Tが、システムクロック周期Tの1/32となることが可能である。すなわち、T=32Tである。単純化のために、以下の説明では、32ビットのSERDESインターフェイスを仮定することとし、したがって、デジタルモジュールの動作を、32ビットのSERDESインターフェイスに適したビット数を用いて表現することとする。しかしながら、当然のことではあるが、SERDESは、異なるビット数(例えば、16ビットあるいは64ビット)のインターフェイスを有してもよく、したがって、ここに説明した例示的なビット数およびタイミング情報を、SERDESインターフェイスに適合するように調整してもよい。一実施例では、Tを7.5ナノ秒(ns)とすることもできる。これは、133メガヘルツ(MHz)のシステムクロック速度に対応するものであり、したがって、Tは234psとなることが可能である。しかしながら、当然のことではあるが、システムクロック速度に関する他の多くの値を使用することも可能であり、本発明は、133MHzのシステムクロックを使用することに限定されるわけではない。
再び図1を参照すると、一実施形態にしたがうと、デジタルモジュール100は、ライン122aを介してピンに2値(1あるいは0)を供給することによって、各ピンを高(H)あるいは低(L)のいずれかに「駆動」することができる。この場合、この駆動については、ライン122bに供給された2値信号によって「オン」状態とすることが可能で
ある。この手法では、さらに以下に説明されるように、ライン122a上の信号によってピンを駆動することによって、波形を、ピンに対してシリアルに供給する(すなわち、1ビットづつ「描く」)ことができる。ライン122aおよび122b上の信号の状態を制御するための情報は、メインメモリ104から供給される。デジタルモジュール100は、「比較」ライン124a(比較H)および124d(比較L)を介して、DUTからの入力を受信してもよい。この場合、駆動を、ライン122b上に供給されら2値信号によってオフ状態とすることが可能である。
DUTに関するテストは、ベクトル表現によって特定することが可能である。ベクトルは、特定された波形が、駆動SERDES116を介してDUTに供給される間、および/または、DUTの応答が、比較SERDES118を用いる比較波形と比較される間の、時間周期である。図2を参照すると、ベクトル130における一実施例が例示されている。ベクトル130は、メインメモリから供給される情報によって特定される、ベクトル周期Tを有している。場合によっては、ベクトル周期Tは、1つ以上のシステムクロックに対応できる。一実施例では、最小のTを1Tとしてもよく、さらに、1Tより長いベクトル周期が、T周期の一部を含んでもよい(すなわち、Tは、Tの整数倍となっている必要はない)。ベクトル周期Tの間、メインメモリから供給された情報に基づいて、波形132が生成される。波形については、TIC134の数によって規定するようにしてもよい。TICは、所定の周波数における所定の波形の最小片である。したがって、TICは、波形の「精度」あるいは解像度を規定するものである。所定のベクトルにおける全てのTICは、同じサイズである。しかしながら、TICのサイズについては、各ベクトルにおいて一定である必要はない。ベクトル周期Tがシステムクロック周期Tに対応している一実施例では、各TICは、1Tに対応している。しかしながら、Tが1Tよりも大きい場合には、各TICは、数個のTに対応できる。
DUTをテストするために、メインメモリからベクトルが読み出される。ベクトルデータ(ベクトルメモリとも称される)は、波形におけるベクトル周期Tおよび形状の双方を特定する。その特定のベクトル周期を有する各ベクトルを生成するために、デジタルモジュールは、周期生成器を含んでもよい。デジタルモジュールごとの周期生成器の数は、FPGAのレイアウトのような設計要素に依存するものであってもよい。1つの周期生成器を、多数のピンのために使用してもよい。しかしながら、場合によっては、FPGAのレイアウトが、単一の周期生成器から全てのピンに回路をつなげることを困難にする可能性もある。したがって、追加的な周期生成器を、必要に応じて含むようにしてもよい。
図3を参照すると、本発明の態様にしたがう周期生成器における一実施例のブロック図が例示されている。この周期生成器136は、ダウンカウンタ138および加算器140を備えている。一実施例では、ベクトル周期(T)は、32Tから232までの範囲に及ぶ可能性がある。しかしながら、上記したように、FPGA102(図1参照)は、周期Tのシステムクロックを用いて動作する。このように、ベクトル周期は、しばしば、システムクロック周期Tに対応していない可能性がある。したがって、周期生成器136は、Tの単位において次のTがスタートする位置を計算する。新しいベクトル周期Tがスタートするクロック周期については、複数の目的のために特定してもよい。メモリコントローラは、他のベクトルデータのセットを取ってくるタイミングを知るために、この情報を使用することもできる。さらに、波形機構は、以下で説明するように、新しい波形および波形テーブルの入力を調べるタイミングを知るために、この情報を使用してもよい。
一実施形態では、新しい周期値が、32個のTを単位として、メインメモリにおける波形テーブル(WFT)に格納される。当然のことではあるが、特別の実施例におけるSERDESが32ビットではないインターフェイスを有している場合、これに応じて、周
期値は、他の適切な数より小さいTを単位として格納されてもよい。32より小さい実際の数値を格納することにより、含まれているハードウェアを単純化できる。例えば、最小のベクトル周期32Tに関しては、WFTに格納される値は、32−32=0である。ダウンカウンタ138は、Tの数をカウントダウンする。現在のカウントが32より小さくなった場合、これは、ベクトル周期のサイクルにおける終端が生じているTを示しており、新しい周期が開始される。カウントは、現在のカウントに新しい周期32を加えたものになる。しかしながら、WFTが新しい周期(Tを単位とする)32を格納するので、新しいカウントは、現在のカウントに新しいWFT入力を加えたものによって与えられる。このWFT入力は、ライン144上の加算器140に供給される。この加算器140は、新しいWFT入力(新しい周期を特定する)を現在のカウントと組み合わせるものである。コンパレータ142は、現在のカウント値を32と比較するために使用される。現在の値が32より小さい場合、これは、現在の周期が終了し、次の周期が開始するシステムクロック周期を示している。一実施例では、コンパレータ142は、カウントビット31:5を全ての0値と比較してもよい。この実施例では、最低の5ビット(4:0)が、常に、Tにおける周期のスタートの正確な位置を示している。
図4を参照すると、周期生成器における動作の実施例が例示されている。カウント(Tの)が、システムクロック(トレース146)周期ごとに32Tとなる、トレース148として示されている。この実施例では、T数23において開始される周期は、177Tの周期を有しており、さらに、T8において開始される95の周期が後続する。上記したように、177Tの周期は、177−32=145として、WFTに格納される。この実施例では、カウンタが23までカウントダウンしたとき、それは、23+177−32=168となる(ロードパルス150aによって示されている)。カウントが再び32を下回ったとき、ロードパルス15bによって示されているように、次の周期(95−32)が読み込まれる。当然のことではあるが、T数によって特定される場所は、ビット周期Tの開始点である。したがって、わずか7.5nsのシステムクロック周期を32個の区画に分割する場合には、T0は、最初の区画の開始点に相当し、さらに、システムクロックの立ち上がりエッジと一致することになる。31番目の区画は、正確に、システムクロック周期の終端の前の1Tとなる。
少なくともいくつかの実施形態にしたがうと、ベクトルを、IEEE1450によって規定されている、標準的なテストインターフェイス言語(STIL)を用いて規定することが可能である。これらの実施形態では、その周期および波形に関連してベクトルを特定するデータが、波形特性(WFC)および波形テーブル(WFT)の形態でメインメモリに格納される。波形特性は、WGL(波形生成言語)などの他の言語において使用されている、タイムセット定義にやや類似したものである。STILは、WFCに関する63までの異なる符号をサポートしている。しかしながら、いくつかの実施例では、より実用的な限界をピンごとに32WFCとしてもよい。FPGAの一実施形態は、32×18のサイズのメモリプリミティブを有している。これは、32個の要素波形テーブルにおける簡単な構成を可能とする。ピンのWFCは、波形テーブルから特定の波形を選択することが可能である。
一実施形態では、各波形は、63ビットの幅のビットパターンである。波形内での各ビットの位置は、上記したように、TICとして知られている。ベクトルの周期に応じて、少なくとも32個のTICが使用される(TIC数は、波形ごとに63まで)。以下にさらに示すように、64番目のTIC位置にあるものは、必要であれば波形を水増しするために使用することも可能な、付け足しのTICである。TICについては、Tごとに1TICとするのと同程度に速い高速SERDES送信器からシフトアウトすることもできる。いくつかの実施例では、以下にさらに示されるように、TICを、ベクトルに利用される周期を伸長するために、2のべき乗でくり返すことも可能である。
STILもまた、波形テーブル(WFT)における期間定義とともに、WFCのセットをサポートしている。使用することの可能なWFTの数に関する、特別の限定はない。しかしながら、WFCより多くのWFTをサポートすることは有用ではない。一実施形態では、32個のWFTをサポートすることを選択することによって、WFTにおいて使用されている実際のアドレスに対して、メインメモリにおけるWFCの選択をマップする、マッピングを実行することが可能となる。一実施例では、このマッピング機能は、小さな1K×5のルックアップテーブルである。そのアドレスは、5ビット(32個のうちの1個)のWFT選択、および、5ビット(32個のうちの1個)の波形選択からなる。その出力は、5ビットの波形アドレスである。この再マップに加えて、メインメモリから選択されたWFTもまた、周期を調べるために使用される。上記したように、32個のT区画における実際の数値を表現する値を有する32ビット数として、周期を格納してもよい。
図5を参照すると、WFTの再マップ、周期選択およびWFT選択における一実施例のブロック図が例示されている。WFC選択を示している信号は、ライン180上のメインメモリから、WFT再マップロジック172に供給される。WFT選択および周期選択を示している信号もまた、ライン182上のメインメモリから、WFT再マップロジック172および周期選択ロジック174に供給される。WFC選択をピンに固有のものとすることが可能である一方、周期選択については、全てのピン間で供給してもよい。周期選択ロジック174は、周期生成器に向けて、ライン176上に信号を出力する。WFT選択ロジック172は、波形アドレスを波形メモリ(WFM)178に出力する。次に、WFM178は、所望の波形を特定する出力信号を出力する。このWFM178は、また、動力学的な歪み調整信号をライン180上に供給する(これについては、以下にさらに説明される)。
上記したように、Tごとに1ビットづつ波形をクロックアウトする、高速SERDES伝送器の入力部に波形データを供給することによって、デジタル処理でテスト波形を描くが可能である。一実施形態では、2つのSERDES出力チャネルを設けることも可能である。各チャネルには、Tごとに、完全な32ビットワードが供給される。出力SERDESの1つは、ピンエレクトロニクスに対する「駆動HL」の入力(図1に示したライン122a上にある)のために使用される。また、他のものは、「有効出力(output enable)」図1に示したライン122b上にある)のために使用される。
図6を参照すると、本発明の態様にしたがうSERDES駆動回路における一実施例のブロック図が例示されている。上記したように、WFCおよびWFT選択は、メインメモリからのデータを介して実行される。WFC選択信号およびWFT選択信号は、それぞれ、ライン180および182上において、メインメモリから波形テーブルロジック184(図10からのWFT再マップロジック172および周期選択ロジック174を含んでいる)に供給される。出力波形は、波形ビットパターンを調べること、それを他のパターンデータ(上記したように、D1・D2と称される)と結合すること、所定の周期に一致させるために、それを2のべき乗によって伸長すること(オプション)、一連の波形を融合すること、および、結果として得られたビットパターンを出力SERDESに読み込むこと、によって構成される。複数のピンチャネル間で分担することの可能な周期生成器を除いて、出力ピンチャネルごとに1つの完全なSERDES駆動回路がある。
なお図6を参照すると、波形メモリ(波形データ)からの出力信号をパターンデータと結合するために、データ結合器186を使用することが可能である。パターンデータは、メインメモリの一部(パターンメモリと称される)から受信した追加的なデータビットを含んでいる。パターンメモリからのこれらの追加的なデータビットを使用することは、これらが使用されない場合に必要な大きなWFMメモリを必要とすることなく、柔軟性をよ
り向上する。上記の結合は、波形伸長回路188および波形融合回路190を介して駆動HLおよび「有効出力」SERDES伝送器に供給される、63ビットのデータストリームを形成することが可能である。波形伸長回路188および波形融合回路190の動作については後述する
STILの構文は、5つの状態(すなわち、U、D、Z、PおよびN)からなる記述を含んでいる。Uは高駆動を示しており、Dは低駆動を示しており、そして、Zは、高インピーダンス状態のドライバを示している。P(previous(従前))は、最も新しいUあるいはD状態への駆動(すなわち、従前のサイクルの最後の状態への駆動)を示している。そして、Nは、「ドントケア」状態への駆動である(すなわち、NをUからDに(あるいはその逆に)変えることは、テストプログラムの結果を変えるわけではない)。
一実施例では、WFMに入力される特定の波形内の各TICについては、4ビットで表現してもよい。これら4ビットは、さまざまな所望の波形を容易に構築することを可能とする。しかしながら、当然のことではあるが、本発明は、各TICを表現するために4ビットを使用することに限られるわけではなく、他の実施例においては、他のビット数を用いることも可能である。WFMからの4ビットを、パターンメモリからのパターンデータビット(D1およびD2)に結合させて出力SERDES116に供給される駆動H/L信号および「有効出力」信号を生成する手法に関する一実施例を、以下の表1に例示している。
Figure 2009543096
一実施形態では、STILの状態U、DおよびPを、直接に記載してもよい。便宜のために、UおよびDの等価物については、D1、D1、D2およびD2を用いて生成し
てもよい。パターンデータビットD1およびD2をこのように用いることによって、融合されたSTIL波形を、より容易に形成することが可能となる。一実施例では、状態Nはどのようなものであってもよく、それをSTILの状態Pと同じものとしてもよい。これは、状態Pの生成に有益である。
STILのP状態は、最後のU値あるいはD値への駆動を意味する。そして、一実施例では、これは、また、同様に、D1、D1、D2およびD2を意味する。したがって、「有効出力」が最後にアクティブになったときに駆動HLにおける最後の値が何であったのか、を記憶する必要がある。このために、一実施例では、Z状態を7つのZ状態に分けることも可能である。それぞれは、ピンエレクトロニクスに対する駆動HL入力を異なる方法で駆動するものである一方、その全ては所望される有効出力を有している。WFM入力を構築する際、TICコードのより具体的な形状を使用することもできる。これは、システムが駆動HLにおいて正確に同じ値を維持することを可能とする。さらに、一実施例では、WFM入力が完全な64TIC幅でない場合に、波形の点において最後に有効であったTICを複製することによって、WFM入力を水増ししてもよい。このため、従前の波形における64番目のTICを記憶することによって、駆動HL値を、ベクトルの境界を超えて維持することが可能である。なお、ベクトルからベクトルへシステムが推移するときには、現在のベクトルにおける最後のTICにおける実際の値は記憶され、それがD1あるいはD2のいずれにも由来しない。このために、後続するベクトルにおけるZは正確なものとなり、さらに、後のベクトルにおけるPのどのような使用も、同様に正確なものとなる。
他の実施形態では、STIL(WFCおよびWFTを含む)を用いて駆動波形を規定することよりも、むしろ、メインメモリからのベクトルデータを、「波セット(WS)」と称されるビットのセットに圧縮することが可能である。図7を参照すると、本発明の態様にしたがうデジタルモジュールの一部における、一実施例のブロック図が例示されている。コントローラ152は、メインメモリ104からベクトルデータを受信し、このデータを、2つのビットセットに変換および圧縮することが可能である。これらのビットセットは、すなわち、ライン154上に出力された波セット、および、ライン156上に出力されたパターンデータ(上記D1およびD2)である。これら波セットおよびパターンデータは、共同して、SERDESを介してテストピンにシフトアウトされるべき波形を記述するものである。一実施例では、この波セットは、4ビットを含むことが可能であり、パターンデータは、2ビットを含むことができる。しかしながら、当然のことではあるが、これらの数は一実施例であり、本発明は、波セットあるいはパターンデータのいずれに関しても、特定のビット数に限られるものではない。これら波セットおよびパターンデータは、共同して、ATEのテストヘッドにおけるピンに供給されるべき波形(あるいは、以下にさらに示されるように、ATEのピンを介してDUTから受信された応答波形と比較されるべき波形)を記述するか、あるいは、その一部を記述することが可能である。
なお図7を参照すると、波セットについては、SERDESドライバ波形回路158に供給してもよい。ここで用いられている「ドライバ波形(ドライバ波形)」という用語は、ピンに結合されているDUTを活性化するために、デジタルモジュールによってピンに供給される波形を称するものである。このドライバ波形については、上記したように、所望の波形を複数のTICS(すなわち、等しいサイズの波形状態のセット)に細分割することによって、規定することが可能である。第1のTICにおける信号の初期状態が与えられると、信号がTICからTICにどのように変化するのか、に関連して、ドライバ波形を特定することが可能である。一実施形態では、ドライバ波形は、8つの異なる状態を有することが可能である。これらの状態とは、すなわち、「従前」(従前のサイクルにおける最後の状態を意味する)、Z(高インピーダンスを意味する)、0(2値における0)、1(2値における1)、D1(パターンデータにおける第1のビットからの、1ある
いは0のいずれか)、D1(D1の逆数を意味する)、D2(パターンデータにおける第2のビットからの、1あるいは0のいずれか)およびD2(すなわち、D2の逆数)、である。一実施例では、ドライバ波形を、「DRV_TIC」と呼ばれるビットパターンに変換してもよい。一実施例では、DRV_TICを、64個のTIC(各TICが3ビット)の長さとすることが可能である。このビットパターンについては、ドライバ波形メモリ116に格納することができる。このドライバ波形が、64個のTICの長さに達しないという場合には、64個のうちの残りのTICに関する信号の状態を、ドライバ波形における最後のTICに定めることも可能である。これにより、異なる長さのドライバ波形を特定することについて、大きな柔軟性を与えることが可能となる。もちろん、当然なことではあるが、本発明は、DRV_TICに関して、64個のTICを使用することに限られるわけではなく、他のいかなる数を使用するようにしてもよい。さらに、各TICを特定するために使用されるビット数については、変数としてもよいし、および/または、設計固有のものとしてもよい。また、このビット数は、3ビットに限られない。例えば、上記実施形態において、各TICを、4ビットの長さとしてもよい。
以下の表2は、2つのデータセット(DIOおよびDRV)にフォーマットされたDRV_TICにおける一実施例を例示している。図7を参照すると、DRVは、ライン122a上の駆動信号を生成するために、駆動SERDES116aに供給することの可能なものである。そして、DIOは、駆動信号をオンおよびオフにするために、I/O・SERDES116bに供給することの可能なものである。表2に与えられた実施例は、各SERDESをエンコードするための1つの手法である。しかしながら、当然なことではあるが、この実施例は、例示を目的とするものであり、これに限ることを意図されたものではない。「パターン」とは、D1およびD2を含むパターンデータのことである。
Figure 2009543096
図8を参照すると、本発明の態様にしたがうドライバ波形における一実施例が示されている。
上記したように、一実施例では、高速SERDESが、約250psのビット周期を有することが可能である。しかしながら、状況次第では、DUTは、もっとずっとゆっくり作動してもよい。したがって、駆動波形を「スローダウンする」ことが望ましい場合もある。このため、図6に関連して上に説明したように、出力SERDESに供給される前に、1システムクロック周期Tより長いベクトル周期Tに対応するように、波形を「伸長
する」ようにしてもよい。この伸長については、TICが数Tの長さになるように各Tのビット値を複製することによって、実現可能である。波形を「スローダウンする」ために、各Tを数回あるいは多数回くり返すことによって、TICを「伸長する」ようにしてもよい。これにより、例えば、1Tの長さ(4GHzのSERDESに関する250psに対応している)となっている可能性のあるパルスが、Tを128回くり返すことによって、128Tの長さ(32nsに対応している)となることが可能となり、これにより、次のTICを送る前に「伸長された」TICが生成される。このコンセプトについては、波形伸長と呼ぶことが可能である。
図7に例示した実施形態では、波形伸長を、駆動回路158内で実現可能である。同様に、比較側において、波形伸長を、比較回路160内で実現することもできる(これについては後述する)。図9を参照すると、駆動回路158(および/または比較回路160)内に組み込まれることの可能な伸長回路の一実施例が例示されている。一実施例では、波形データにおける全てのフォーマット設定を、伸長の実行される前に実現することが可能である。このため、所定の回数だけ各TICを単純に複製することによって、伸長を得ることが可能となる。この手法では、最小のベクトル周期が1システムクロック周期Tより短くはなれない、という条件さえ満足すれば、どのようなベクトル周期であっても得ることが可能である。多くの異なるベクトル周期に対応するためのこの能力は、一般的には1nsと100nsとの間で固定された周期の波形を生成する、調整されることのないASICの設計に関して、重大な利点を与える。固定されたASICとは対称的に、本発明の態様にしたがうデジタルモジュールについては、技術の改善(例えば、デバイスがより速くなるにつれて、TICをより短くすることができ、より高速のテストが可能となる)に応じて伸縮自在とすることが可能であり、また、必要に応じてTICを伸長することによって、異なるテスト用デバイスをテストする必要に応じて多くの異なる波形周期に対応するように、柔軟なものとすることができる。このように、本発明の実施形態にしたがうデジタルモジュールは、必要に応じて調整可能にTICを伸縮することによって、非常に高速の波形(短い周期を伴う)と低速の波形(例えば、ミリ秒の周期)との双方に対応することが可能なものである。
いくつかの実施形態では、特に、各テストが全てのテストベクトルに関して単一のベクトル周期しか使用しない場合には、システムクロック速度を、ベクトル周期に応じて変更してもよい。これにより、波形は、いつも、最大の解像度を有する(すなわち、各TICが1つのTに対応する)ことになる。しかしながら、多くの場合、ベクトル周期が最大レートからスローダウンするにつれて、より高いクロックレートにおける解像度と同じ解像度の波形を生成することは、非実用的になる。いくつかの実施形態では、これは、WFCテーブルの幅における限界に起因する。この幅は、一実施例では、64TIC幅に固定されることもある。7.5ns〜14nsのシステムクロック周期Tに関しては、TICごとに1Tを使用して波形を形成することが可能なときには、波形を伸長しないことが要求されることもある。しかしながら、15ns以上のベクトル周期は、TICをいくらか伸長することを要求する可能性がある。当然なことではあるが、ここで与えられた例示的な限界値(例えば15ns)は、SERDESインターフェイスにおけるビット数、および/または、WFCテーブルおよびWFTのサイズに依存する。したがって、これらのサイズ(ビット数におけるサイズ)が変わると、これにしたがって、タイミングの限界も変わることになる。したがって、当然なことではあるが、ここで与えられた数は、例にすぎないものであり、これに限定することを意図されたものではない。
一実施形態にしたがうと、伸長を、15nsの周期でスタートする2のべき乗において実行することが可能である。波形伸長を、TICごとに多数のTを使用することによって実行することもできる。伸長の後でも、内容の変化(すなわち、63個のTIC)が生じることの可能な波形には、63ポイントの最大数がなお存在する。しかしながら、波形
は、膨大な時間に及んでいる。例えば、15nsと30nsとの間の周期にあわせるために波形を伸長するためには、WFCメモリからの各TICは、複製され(×2)、2Tに及ぶ。他の実施例では、30nsと60nsとの間の周期にあわせるために波形を伸長するために、各TICは、4回くり返され(×4)、4Tに及ぶ。伸長は、タイミング発生器の全周期範囲を通じて可能である。ベクトル周期がTの整数倍であるために、伸長された波形における最後のTICは、完全な2のべき乗個のTにはなりえない。この最後のTICについては、単一のTからTの伸長倍数までとすることが可能である。
上記したように、少なくともいくつかの実施形態では、出力SERDESは、32ビットのインターフェイスを使用している。したがって、伸長計算の全てを、WFCメモリが64ビットの幅であったとしても、32ビットの塊で実行することが可能である。出力レジスタは、32ビットで読み込まれ、Tごと(例えば、7.5nsごと)に新しい32ビットで、波形融合ロジック(後述する)に供給される。一実施例では、所定のWFC入力が特定のWFTに(したがって、特定の周期にも)固有のものである、という有利な点を得ることが可能であり、また、ハードウェアによってより容易に伸長を実行するという方法で、WFC入力を読み込むことが可能である。マルチプレクサとシフトレジスタとを組み合わせることは、この機能を容易に実現する。例えば、出力レジスタビット0を検討されたい。波形が伸長されているか否かに関わらず、出力レジスタビット0は、常にWFC[0]から供給される。出力レジスタビット1については、伸長のない場合にはWFC[1]から供給することが可能であり、また、2以上の伸長倍数に関しては、WFC[0]から供給することが可能である。出力レジスタビット2については、伸長がなければWFC[2]から、2倍に伸長されているならWFC[4]から、また、4倍に伸長されている場合にはWFC[0]によって、供給することが可能である。残りのビットソースは、以下の3に記載されている。なお、出力レジスタを供給するソースは、WFCメモリにおける64ビットの幅にわたっている。これにより、シフトおよびマルチプレクサを使用することによって、伸長を完全に実現することが可能となる。
Figure 2009543096
伸長倍数を決定するために、ベクトル周期(これは、「現実の」ベクトル周期であり、WFT入力ではない)を得て、32で除算し、その結果より小さいかあるいはそれに等しい、最も大きな2のべき乗を探す。例えば、周期T=1177Tに関しては、177/32=5.53という計算を実行する。5.53より小さい最も大きな2のべき乗は、4である。したがって、このベクトル周期を得るためには、伸長倍数は4×となる。この実
施例では、TICにおける波形の長さは177/4であり、これは、44.25に等しいので、45TICに四捨五入される。その結果、最後のTICの持続時間は、単一のTだけになる(一方、他の全てのTICの持続時間は、4Tとなる)。
図10を参照すると、本発明の態様にしたがう波形伸長ロジック188における、一実施例のブロック図が例示されている。例示されている実施形態では、2つの同一の伸長ユニットがあり、これらは偶数伸長ユニット196aおよび奇数伸長ユニット196bと称され、それぞれは、交互の波形を伸長するために使用される。単純化のために、以下の説明では、偶数伸長ユニットを介する部分だけをたどることとする。この偶数伸長ユニットは、偶数のベクトル周期を伸長するために使用されるものである。当然のことではあるが、奇数伸長ユニットは、偶数伸長ユニットとまったく同様に機能することの可能なものである。また、奇数伸長ユニットにおいて符号「b」を伴う参照数字によって特定されているものは、偶数伸長ユニットにおいて符号「a」を伴う同じ参照数字によって特定されているものと、同一のものである。
以前のベクトル周期のそれぞれが失効したときに、新しい波形が、データ結合器186の出力部から、交互のユニットのシフトレジスタに読み込まれる。例えば、以前の偶数のベクトル周期が失効したとき、ライン200aによって示されているように、新しい波形が、データ結合器186から偶数シフトレジスタ192aに読み込まれる。一実施例では、このシフトレジスタ192aは、1ビットを、それが新しいWFMを伴って読み込まれることのない限り、常に右側に(最小の有効ビットに向けて)シフトする。シフトレジスタにおける64番目のビットは、決してシフトされない。その値は、新しい波形が開始されて再読み込みされるまで、残存する。このビットの値は、ライン202aによって示されているように、データ結合器186に出力される。この64番目のビットは、次のベクトルにおいて使用される、1つのベクトルから呼び出され、「従前」の状態を生成する。
なお図10を参照すると、シフトレジスタ192aからのビットストリームが、マルチプレクサアレイ198aに供給される。マルチプレクサアレイ198は、また、現在のベクトル周期に関して実施される伸長倍率を示す、ライン204a上の信号を受信する。この伸長倍率は、上記したように決定される。伸長倍率の情報に基づいて、マルチプレクサアレイ198aは、上に表3において示したように、受信したビットストリームを多重化する。シフト制御ブロック194aは、また、伸長倍率情報を受信し、結果として生じる伸長された波形を得るという要求に応じて、64ビットのシフトレジスタ192aをシフトする。2、4、8、16あるいは32という伸長値に関して、シフトレジスタ192aは、Tごとにシフトされる。32より大きい伸長値については、シフトレジスタ192aは、TCSごと(伸長倍率/32)にシフトされる。シフト制御部194aは、また、最初のシフトの前のTCSの数を減少することによって32より大きい値によって伸長された波形における、本当に最初のTICに使用された伸長を、修正してもよい。この最初のTIC修正は、動力学的な歪み調整の一部であり、これについては、さらに以下に説明する。マルチプレクサアレイ198aからの出力は、32ビットの出力レジスタ206aに供給される。それは、この32ビットの出力レジスタ206aから、波形融合回路190(図6参照)に出力され、さらに、最後には、出力SERDES116に出力される
上記したように、ベクトル周期については、Tの任意数分とすることが可能であり、システムクロック周期の整数個分に対応していなくてもよい。したがって、1つのベクトル周期から他のベクトル周期への途切れのない伝送のために、ベクトルは、「偶数」および「奇数」の経路(任意に設計されるもの。いずれのベクトル周期においても、偶数あるいは奇数のT数を意味する意図はない)を介して、交互に入れ替えられる。そして、以下に示すように一連の波形が「融合」され、これが、システムクロック周期の中間でベクトル伝送が生じることの説明となる。
一実施形態にしたがうと、波形融合回路は、現在の(選択的に伸長されている)波形から残存するN(N=0,…,31)個のTビットを抜き出し、それを、次の(選択的に伸長されている)波形からの32−N個のTビットと融合し、これにより、32個のTビットのシステムクロック周期を満たす。この波形融合回路は、次に、現在のベクトル周期内に残存するTビットが32個より少なくなるまで、32ビットの塊(Tごとに1つの塊)における次の波形からTビットを分配する。そして、それは、次の(選択的に伸長されている)波形と融合する。このプロセスは、テストの継続期間中、継続される。
図11を参照すると、波形融合回路190の一実施例のブロック図が例示されている。図10と同様に、符号「a」を有する参照数字によって特定される物は、「偶数の経路」に配置されており、符号「b」を有する同じ参照数字によって特定される物(「奇数の経路」にある)と同一ものである。融合プロセスの例示が、図12に示されている。この実施例では、145個のTの周期がくり返されている。図12では、偶数の経路196a(図10参照)からの出力は、トレース208で示されており、奇数の経路196bからの出力は、トレース210で示されている。オーバーラップの生じる部分で、融合が実行される。オーバーラップは、周期カウント(トレース212)が32より少ないときに、生じる。周期カウント212が0である場合、全体的なクロック周期は、伸長された新しい波形によって満たされており、以前の波形からの寄与はない。
図12に例示されている実施例では、周期カウントは、最初に、正確に0までカウントダウンされる。これは、次の波形におけるスタートのビット位置が0ビットとなること、および、この波形がたまたま偶数の波形になること、を示している。偶数の融合信号224および偶数の融合位置228は、偶数側のシフタ216aに、オフセットされていない32ビットの偶数伸長出力レジスタ206aを選択するように指示する。必要な場合には、オフセットは、レジスタ214aから与えられる。最も新しい奇数融合位置230(この実施例では、この値は未知であるが、それは重要なことではない。なぜなら、偶数融合位置=0だからである)は、奇数側に関して、何らかのシフト値を(レジスタ214bから)選択している。シフタ216aおよび216bは、シフトされたビットパターンを、それぞれ、保持レジスタ218aおよび218bに提供する。2つの融合位置(偶数および奇数)および2つの融合信号(偶数および奇数)は、マルチプレクサアレイ220に対し、融合サイクル中に、偶数側からビット31:0を選択することを指示するとともに、奇数側からビットを選択しないことを指示する。
融合の後、かつ次の融合まで、偶数側は、同じ(0)シフトオフセットを有するワードを出力し続ける。次の融合は奇数融合であり、この実施例における奇数融合の位置は、17である。融合の間、偶数融合の位置224(なお0)は、偶数波形から32ビットの同じセットを選択する。新しい奇数融合位置230は、32ビットの奇数ワードを形成するために、奇数側の32ビットのレジスタ206bからビット14:0を選択し、そして、その31ビットのレジスタ214bからビット31:15を選択することになる。偶数ワードおよび奇数ワードは、奇数融合位置230を用いることによって結合される。これにより、偶数側(偶数波形における最後の位置)から抜き出されるビット16:0、および、奇数側(奇数波形における最初の位置、ビット14:0)から抜き出されるビット31:17が、結果として生じる。この融合の後、後続のワードは、32ビットのレジスタ206aにおける最も低いビットからの上位の15ビット、および、31ビットのレジスタ214bにおける最上のビットからの下位の17ビットをともなって、奇数側から引き出される。融合された波形は、図12においてトレース232として示されており、出力SERDES116(図6参照)に送られるために、出力レジスタ222に提供される。この融合動作は、テストの継続期間中、続行される。
ベクトル周期がどんどん長くなるにつれて、上記したように生じる可能性のある伸長によって、TICも、どんどん長くなる可能性がある。異なるピンチャネルにおける何らかのイベント間におけるタイミングが、伸長されたTICの解像度をもって可能となるものよりも正確であることが必要である(あるいは好ましい)可能性のある場合もありえる。したがって、少なくともいくつかの実施形態は、動力学的な歪み調整と称する処置を実施する可能性がある。動力学的な歪み調整は、全体的な(伸長された)波形が、1Tに満たない1TICまでの時間に先んじているTの増大において歪んでいることを許すものである。したがって、他のチャネルに関連する波形内に重要なエッジのある場合には、動力学的な歪み調整が、エッジをTの解像度での配置を可能とし、波形内における他の残りのイベントとともに、TICの解像度を保ち続ける。
一実施形態では、使用されているメモリプリミティブ(32×18)が、全メモリのサイズ72×4をもたらすことが可能である。しかしながら、64×4だけが、WFMのために使用される。残りの8×4=32の部分については、動力学的な歪み値を格納するために使用することが可能である。この値は、波形の遷移に対するTの解像度の位置的な調整のために使用することの可能なものである。これは、TICが多くのT幅である場合に、特に重要となる可能性がある。一実施形態にしたがうと、WFTのために使用されているメモリ素子における使用されていないビットを使用することによって、動力学的な歪み調整値を、各WFCに関連させることが可能となる。この値における下位の5ビットは、融合前の波形をシフトするために、Tの数を提供することが可能である。上位のビットについては、32個のT(完全なTのもの)の倍数を最初のTICの伸長から除去するために使用することが可能である。動力学的な歪み調整については、マイナスのタイムシフト(波形内のイベントを低い時間値に(時間的に前に)移動する動作)と考えることも可能である。
例えば、2MHzのクロックで動作するデバイス、および、システムが、セットアップ時間5nsの入力をテストする必要があると仮定する。この実施例におけるシステムクロック周期は500nsであり、これは、2133個のT(各Tはおよそ234ps)をもって生成することが可能なものである。このサイズの周期では、64個のTからなるTICサイズを使用することが可能であり、これは、TICごとに約15nsに相当する。チャネル間を調整するどのような手法も取らない場合に、チャネルが完全に互いに整列していることを仮定すると、セットアップ時間0nsあるいは15nsをテストすることが可能である。しかしながら、これらのいずれもが、所望のテスト値である5nsに非常に近くない。動力学的な歪み調整を用いる場合には、2つのチャネルは、まず、0nsのセットアップを提供するようにプログラムされることとなる。次に、−5nsの動力学的な歪み調整値が使用される。これは、この実施例では、約21Tに相当する。ベクトルが活躍する(play)とき、この波形は、歪み調整のない場合に比して、21Tほど早く出力される。これにより、5nsのセットアップ時間のテストが可能となる。当然のことではあるが、少なくとも一実施形態では、動力学的な歪み調整回路を、ベクトル周期ごとに1回の調整を実行するだけ、としてもよい。通常、できるだけ正確に調整されなければならない時間を有する周期内には、1つのイベントがあるだけであり、残りのイベントは、調整されたTICの境界上にある必要があることになる。したがって、上記の実施例では、システムは、5nsのセットアップと5nsのホールドとを同時にテストすることはできない。なぜならば、第1のエッジがシステムクロックに先立って5nsに調整された場合、後続のエッジは、その後に増大したTIC(15ns)の中にある必要があるからである。システムは、10nsのホールドあるいは25nsのホールドをテストすることが可能であるものの、5nsのホールドについてはテストすることができない。しかしながら、セットアップおよびホールドについては、異なるベクトルにおいてテストすることが可能である。この場合、各ベクトルは、異なる歪み調整を有することが可能であり、これは、5nsのセットアップと5nsのホールドとの双方をテストすることを可能
とするものである。
上記したように、例えば、図7を再び参照すると、デジタルモジュールも、DUTから応答波形を受信することが可能である(ライン124aおよび124bに接続されているピンを介して)。応答波形が予想されている波形に応じているか否かを判断するために、この応答波形を、比較波形と比較することが可能である。一実施例では、図示するように、チャネルごとに2つの入力SERDES118a・118bを使用することが可能であり、これらは、ピンエレクトロニクス124a・124bからなる2つのコンパレータ出力からの供給を受ける。これらSERDES118a・118bは、シリアルの応答波形をビットバイビットで受信し、それを、より速い処理からのパラレルデータに変換する。
図7に示した実施形態では、駆動波形を規定した手法と同様の手法で、比較波形を、TICに関して規定してもよい。また、比較波形を、比較回路160において処理してもよい。一実施例では、比較波形を、64個のTIC(各TICは4ビット)を含むビットパターンに変換してもよい。このビットパターンは、CMP_TICと称される。さらに、比較波形が64個のTICに到達しないとき、残りのTICをXと指定してもよい。これは、重要なデータは終了しているために、これらのTICの間に何ビットの値が現れたのかについては重要ではない、ということを意味する。SERDES118aからの応答波形については、CMP_TICのビットパターンおよび異常検出回路162の使用と比較することが可能であり、これについては、以下にさらに詳細に説明する。一実施例では、比較波形を、各TICを有するストローブ位置に関して規定してもよい。一実施例では、比較波形に関する9つの異なる状態があってもよい。しかしながら、当然のことではあるが、本発明はこれに限られるわけではなく、より多い、あるいはより少ない比較波形状態を使用してもよい。特に、TICごとに3ビットを使用することを望む場合(上記実施例のドライバ波形に関して)、8つだけの異なる比較波形の状態を使用することを選択することが可能である。
例えば、いくつかの比較波形の状態は、X(すなわち、ビット値が重要ではない)、V(比較が有効であり、高いあるいは低いのいずれかであることを示す)、L(TICが低いはずの間に受信された信号)、H(TICが高いはずの間に受信された信号)、Z(高インピーダンス)、D1(ピンからの低いあるいは高い受信信号を、パターンデータからのD1の値と比較すること)、D1(D1の逆数)、D2(ピンからの低いあるいは高い受信信号を、パターンデータからのD2の値と比較すること)、およびD2を含んでもよい。表4は、3つのデータセットにフォーマットされたCMP_TICにおける、一実施例を以下に示している。これらのデータセットとは、すなわち、STB(ストローブがオン(1)、あるいはオフ(0)を意味する)、高い比較に関するCPH、低い比較に関するCPLである。パターンは、今回も、D1およびD2を含むパターンデータのことを指している。
Figure 2009543096
図13は、本発明の態様にしたがう比較波形における、一実施例を例示している。
図14を参照すると、異常検出回路の一実施例が例示されている。この回路については、異常検出ブロック162内、比較データおよび異常データに関するフォーマットの一実施例を示す表に含めることができる。上記したように、比較SERDES118aは、シリアルのフォーマットで応答波形を受信し、それをパラレルデータに変換する。このパラレルデータは、異常検出回路162に供給される。この異常検出器162は、比較波形を用いて、応答波形内のTICに対するパラレル処理を実行可能である。これにより、DUTが正しく動作している(応答波形が、ベクトルメモリから受信された予想されたデータに適合している)か否か、あるいは、デバイスに異常が生じているか否かを判断する。この比較については、従来のATEにおいてなされているように、ストローブ信号を使用するよりも、むしろ、TICごとに実行可能である。DUTに異常が生じた場合、デジタルモジュールは、DUTに不具合があることをオペレータに知らせるために、異常信号を出力することが可能である。一実施形態では、異常の生じた状況を格納するために、異常メモリ172を使用することが可能である。例えば、異常メモリは、CMP_TICの予想される状態がDUTによって満たされていない、ということに関連する情報を格納してもよい。これは、DUTの異常だけでなく、それがなぜ異常になったかについてもオペレータに知らせることができる、という点において、有用である。異常検出器回路および動作における他の実施例について、以下に説明する。
再び図1を参照すると、少なくとも1つの実施形態では、比較SERDES118aが、ライン124a(比較H)および124b(比較L)上の反応信号を受信する。SERDES比較回路(図示せず)は、このデータを分析するために使用され、その結果は、異常バッファ126、および、追加的なキャプチャバッファ128に収集される。異常バッファ126は、異常の記録を、メインメモリ104に対する最終的な格納の前に、一次的に格納するバッファである。この異常バッファ126は、異常データの格納に使用される、メインメモリのアドレスを保持してもよい。キャプチャバッファ128は、キャプチャデータを、メインメモリ104に対する最終的な格納の前に、一次的に格納するバッファである。このキャプチャバッファ128は、キャプチャデータの格納に使用される、メインメモリのアドレスを保持してもよい。
図15を参照すると、本発明の態様にしたがうSERDES比較回路の一実施例におけ
るブロック図が示されている。SERDES駆動回路(図6に示されている)と同様に、ベクトルメモリからのWFC選択(ライン234上)およびWFT選択(ライン236上)の入力が、WFT内の波形情報を調べるために使用される。WFTからの出力は、異常を検出するために、予想されている値との比較に入力SERDES118(図1参照)からのどのサンプルが使用されるのか、を決定するために使用される。一実施形態では、どのベクトルが異常だったか、および、その異常に先立つイベントの順序を解明するために必要な情報とともに、異常データを保存することが可能である。
表5に、比較に関するSTILの状態を記載した。
Figure 2009543096
STILの状態L(低い値との比較)について考える。この状態については、いずれかの時点における任意の波形に配することが可能である。少なくともいくつかの実施形態にしたがう構造に基づく波形においては、1つのTIC(最大63のなかの1)が、L比較の実行に割り当てられる。したがって、そのTICにおいて低くなるコンパレータのテストを実行するよう、比較回路に命じるために十分な情報を、波形メモリ内に示すことのできることが好ましい。波形を伸長した場合(以下に示す)には、TICは、多数のTにわたる可能性がある。しかしながら、少なくとも1つの実施例では、最初の1つのTにおいてのみ、テストを実行することが可能である。
次に、STILの状態l(低い値とのウィンドウ比較)について考える。この状態については、いずれかの時点における任意の波形に配することが可能である。少なくともいくつかの実施形態にしたがう構造に基づく波形においては、ウィンドウ比較が開始される、1つのTICを規定することが可能である。ウィンドウ中では、その目的は、全てのTおいてLとの比較を継続することにあり、ウィンドウを閉じるXにおいて比較が停止される。この目的については、「p」すなわち、従前(previous)との比較を導入することによって、得ることが可能である。1つの実施例では、これについては、単に、隣接する(前の)Tのサンプルに対するTのサンプルのXORとすることが可能である。ソフトウェアが、ウィンドウの開始時において1をセットし、ウィンドウの波形における後続する全てのTICにおいてpをセットした場合、結果は、1をセットされたTICにおける最初のTでの低い値との困難な比較、および、最初のTIC(もしあれば)における残りの全てのTでのpとの比較になる。その後、ウィンドウにおける残りの全てのTICにおける全てのTに関するpとの比較が続く。pとの比較の全てにおける出力
を、各ベクトルとともに保存および格納することが可能である。
駆動側と同様に、L、H、X、TおよびVを実施するために、TICコードを生成することが可能である。この場合も、パターンデータビットD1あるいはD2と比較するための、何らかの能力を与えることが好ましい。さらに、波形の伸長が実施されたことに起因して(これについては後述する)この場合も、全てのTが使用されているウィンドウ比較を実施するための、何らかの能力を与えることが好ましい。比較TICコードの完全なリストの一実施例が、表6に示されている。この実施例では、TICごとに5ビットを有する、16個のTICコードがある。5番目のビットは、ベクトル内の異常位置(第1あるいは第2の位置)を選択するために使用される。これは、ダブルデータレートモードに使用される。このモードでは、2つの異常位置が、同じベクトル内に生じる可能性があり、これらは別個に識別されるはずである。
Figure 2009543096
図16を参照すると、本発明の態様にしたがう波形テーブル(WFT)回路238の、一実施例におけるブロック図が示されている。WFT回路は、駆動側の波形テーブル回路から、波形アドレス(ライン240上の)、およびWFT選択信号(ライン242上)を受信する。上記したように、メインメモリは、タイミング発生器の駆動側および受信側を制御する、ベクトル情報を提供する。しかしながら、受信側は、駆動側よりも後の時間に動作する。これは、ピンエレクトロニクス、pcbトレース、コネクタなどを介してDUTに至り、DUTを通過して、ピンエレクトロニクスコンパレータに至る同様の経路で後戻りし、最終的にタイミング発生器に戻るように駆動される信号の、伝播遅延に起因する。タイミング発生器における適切な動作のために、この遅延を補償することが好ましいこともある。
一実施形態にしたがうと、この遅延を補償するために、2つのメカニズムを使用することが可能である。すなわち、クロック周期(T)における粗い遅延補償、および、Tサイクルにおける精密な遅延補償である。実際の全体的な遅延時間は、デジタルモジュールにおける正確な回路実装、および、DUTに依存する可能性がある。しかしながら、多くの場合には、ピンエレクトロニクス(PE)に関する数ナノ秒の遅延、DUTに向かう方向あるいはDUTからの方向の双方における約2フィートのpcbトレース、および、コンパレータに関する他の数ナノ秒が予想される可能性がある。したがって、合理的に予想される延滞的な往復遅延は、20ns程度となる可能性がある。
一実施例では、粗い遅延補償については、パターンデータ、WFCおよびWFT選択に対して、Tクロック周期の変数を追加することによって得ることが可能である。一実施形態にしたがうと、WFT再マップメモリを複製するよりも、むしろ、その出力が、周期ルックアップに関するWFT選択とともに、遅延される可能性がある。粗い遅延244は、図16に示されている。精密な遅延補償については、比較側の周期生成器136(図15参照)において使用されている、初期値として実施可能である。
遅延補償については、図7に例示した実施形態において実施可能である。図7を参照すると、一実施形態にしたがって、デジタルモジュールが、波遅延メモリ164および波遅延回路166を備えることが可能である。波遅延回路166および波遅延メモリ164は、ピンに向かう出力ライン上に信号を「一列に並べる」ために、異なる部材を介する異なる信号伝播遅延を補償するために使用することの可能なものである。一実施形態では、波遅延を、初期時間T0から波形のスタート時までの、遅延TICにおける特定の数として定義することが可能である。一実施形態では、比較側において、往復遅延を波遅延に加えることも可能である。図17を参照すると、波遅延回路166の一実施例が例示されている。ライン168上の波遅延信号は、波遅延メモリ164によって供給することの可能なものである。図17に示されているように、上記したように往復遅延を比較波形に追加するために、往復遅延回路170を設けることも可能である。
図16を再び参照すると、粗い遅延244が波形アドレス信号およびWFT選択信号に追加された後、これらの信号が、それぞれ、波形メモリ246および周期選択回路248に移される。駆動側において行われたのと同様に、WFM246における使用されていなビットを、WFCごとの32ビットの動力学的な歪み調整値(ライン254上)を提供するために、使用することが可能である。この調整値は、比較側の波形伸長回路250および波形融合回路252(図15参照)に送信されるものである。周期選択回路248は、周期信号(ライン256上)を周期生成器136に与えるものである。
図15を再び参照すると、WFM238の出力が、(データ結合器260において)パターンデータビットD1およびD2に結合されている。そして、この出力は、受信SER
DESの出力部との実際の比較が実施されるロジックを駆動するための、I(異常無視)ビットにも結合されている。これらのパターンデータビットおよび異常無視ビットは、メインメモリからライン258上に出力される。比較側のデータ結合器ロジックにおける一実施例が、以下に示す表7に示されている。この実施例では、異常位置選択ビットが、異常位置1あるいは異常位置2のいずれにTICコードが使用されているのか、を選択している。
Figure 2009543096
データ結合器260の出力については、波形伸長回路250に提供することが可能である。この波形伸長回路250は、駆動側において使用されているものと、機能の点で同様のものである。しかしながら、伸長された場合には、駆動側の波形は、伸長倍率によって複製された自身のイベント(TIC)を有している。対称的に、受信(比較)波形は、伸長された場合に、間隔を開けて配置された、複製されていない自身のイベントを有する。表8は、比較側の波形伸長における実施例を例示している。なお、表8における「S」は、「空間」を示すものである。空間は、ウィンドウ比較において使用される従前との比較を除いた、全ての比較を無効にする。したがって、Sに関するソースビットがH、L、TあるいはVである場合には、S=Xである。Sに関するソースビットがh、l、tあるいはvである場合には、S=pである。
Figure 2009543096
一実施形態では、ベクトルごとのデータをキャプチャする能力を提供してもよい。このキャプチャデータは、キャプチャバッファ128(図1参照)に格納することができる。各WFCは、ベクトルごとに2つまでのキャプチャ位置を、特定することが可能である。一実施例では、キャプチャ位置を、6ビットのTIC値として特定することが可能である。したがって、WFCは、キャプチャTIC位置を示す、2つの6ビット数を含んでもよ
い。一実施例では、「法定の(legal)」TIC値が0〜62であり、63は、キャプチャのないことを示すために使用されている。波形が伸長されている場合、キャプチャ位置においても実施される必要のある伸長もある。これは、上記表8に示されていない。一実施例では、データのキャプチャは、特定のTICにおける最初のTにおいて、常に生じる可能性がある。したがって、最終的な(伸長後の)T位置を、SERDESからのサンプルをキャプチャするために、使用してもよい。このサンプルは、その後、キャプチャバッファ128に供給される。一実施例では、比較Hおよび比較Lの双方におけるSERDES出力(図15における124a、124b)を、サンプリングして格納してもよい。これにより、その時点におけるピンの完全な状態が与えられる。キャプチャバッファでは、サンプルを、メインメモリ104に格納する前に、合理的なサイズに結合することが可能である(このサイズは、潛在的に変化するものであり、したがって、バッファや有効メモリなどのサイズといった要因に依存する可能性がある)。
他の実施形態では、デジタルモジュールが、「ロジック分析モード」と称されるモードにおいて動作している場合には、Tサンプルに相当する所定数のシステムクロック周期を格納するために、キャプチャバッファを使用してもよい。このロジック分析モードは、さらに以下に説明される。
再び図15を参照すると、偶数および奇数の伸長された波形を、波形融合回路252に供給することが可能である。波形融合回路252では、偶数および奇数の伸長された波形が、単一の32×5のビットストリームに結合され、異常検出ブロック262に供給されている。一実施例では、波形融合回路252を、2ビットではなく5ビットで伸長を実行することができる点を除いて、駆動側で使用されている波形融合回路190(図11参照)とほぼ同一のものとすることが可能である。
図18を参照すると、本発明の態様にしたがう異常検出回路262の一実施例における、ブロック図が示されている。例示されている実施形態では、異常比較ロジックが、受信SERDESからのビットごとに1個づつの、32個のくり返されたブロックから構成されている。最小有効ビット(lsb)および最大有効ビット(msb)に関する回路だけが、図18に示されている。しかしながら、この回路は、SERDESのビットごとにくり返されているはずのものである。ロジックブロックのそれぞれは、特定の値(すなわち、「有効」な表示、あるいは従前のSERDESビット)との比較(例えば、XOR機能を介した比較)を実行することのできる能力を有している。最後の場合には、SERDESのlsbに関して、クロック周期からの従前のmsbに対する比較をあらかじめ実行することが可能である。異常位置の選択(ライン286に出力される)に応じて、各ビットは、264に出力される異常0、あるいは、266に出力される異常1を、生成することが可能である。これらの出力については、ベクトル周期の間中、蓄積しておくことが可能であり、そして、周期の終わりに記録することが可能である。
なお図18を参照すると、一実施形態では、2つのSERDES入力、すなわち、高コンパレータ(CH)124aからのもの、および、低コンパレータ(CL)124bからのものが存在する。各SERDES118からの各タップ(2つのSERDESのそれぞれに、32のタップがある)は、それに関連するXORゲート268を有している。各XORゲート268に対する他の入力は、データ結合器260、CHval(ライン270上)、あるいはCLval(ライン272上)からのビットに由来する。ここで、「val」とは、値(value)の省略である。各タップに関して、これら2つのXORゲートは、ORゲート274においてともにOR結合され、マルチプレクサ276における1つの入力部に供給される。この入力(HL入力)は、ライン278に出力されるイネーブル[1:0]信号がHLに設定された場合に、選択される。各SERDES118における各タップは、また、XORゲート280に入力する。XORゲート280における他の
入力は、他のSERDESにおける対応するタップに由来する。これにより、CLのSERDES上のタップのXORが、CHのSERDES上におけるタップと同一となることが可能となる。このXORゲート280は、マルチプレクサ276における第2の入力部に入信する。この第2の入力部(「有効」とラベリングされている)は、ライン278に出力されるイネーブル[1:0]信号が「有効」に設定された場合に、選択される。
最後に、2つのSERDES118における各タップは、他のXORゲート282に入信する。このXORゲート282における他の入力は、同一のSERDESにおける従前のタップ284(lsbに向かうもの)に由来する。タップ0に関しては、従前のクロック周期(T)からの最近のタップ31との比較が実行される。これらのXORゲート282の出力は、ORゲート284に供給される。このORゲート284における他の入力は、図示するように、他のSERDESからの同様のXORゲート282に由来する。このORゲート284は、マルチプレクサ276における第3の入力部に入信する。この第3の入力部(従前とラベリングされている)は、ライン278に出力されるイネーブル[1:0]信号が「従前」に設定された場合に、選択される。一実施例では、マルチプレクサは、第4の入力部(図示せず)を有してもよい。この入力部は、0をもって駆動され、ライン278に出力されるイネーブル[1:0]信号が「なし」に設定された場合に、選択される。マルチプレクサ276の出力は、Tレベルに対して異常を示す。これは、SERDESからの各ビット(各Tでクロックされる)が、異常比較を与えるからである。一実施例では、全てのビット(全てのT)からの表示を、ベクトルレベルで異常を表示するために、OR結合してもよい。
再び図15を参照すると、異常検出ロジック262の出力を、波形分離回路288に向けて、ライン290上に供給してもよい。駆動側の波形融合190(図6参照)と同様に、比較側のベクトルは、互いに分離されている必要性があってもよい。これは、各ベクトル内において検出された全ての異常を、個別に記録する可能性があるからである。上記したように、一連のベクトルは、偶数あるいは奇数として特定されている。所定の全てのクロック周期(T)内においては、異常検出ロジック262からの出力について、その全てを偶数ベクトルからのものとしてもよく、または、その全てを奇数ベクトルからのものとしてもよく、あるいは、一部を偶数としながら他部を奇数とするようにしてもよい。これについては、クロック周期内に、奇数が最初に来たのか、あるいは偶数が最初に来たのか、のいずれかによって、より差別化することが可能となる。したがって、波形分離回路288は、異常検出ロジック262から受信した信号を、偶数ベクトルおよび奇数ベクトルを分離するように、処理することが可能である。
図19を参照すると、本発明の態様にしたがう波形分離回路288の一実施例における、ブロック図が示されている。部分的に偶数および奇数となっているクロック周期の間中、温度計タイプの2つの回路292a・292bが、ライン290に出力さている異常検出信号からの望まないビットを隠すために使用される。部分的に偶数および奇数となっているこれらのサイクルの間中、1つのマルチプレクサ、例えば、いちばん上のマルチプレクサ318が、通常の温度計出力を選択する。そして、他のマルチプレクサ320が、反転した温度計出力を選択する。いちばん上のマルチプレクサ318からの出力は、奇数ベクトルに属するTビットだけを隠すための、マスクを含んでいるはずである。この出力は、以下のORゲート314bによってOR結合されている奇数ベクトルに属する異常検出ロジックからのT出力だけを許可する、ANDゲート312b(Tごとに1つ)のセットに供給される。累算器316bは、システムクロック周期にわたって生じた全ての異常の経過を追う。同様に、マルチプレクサ320は、偶数ベクトルに属するTビットだけを選択するための、マスクを含んでいるはずである。その出力は、偶数ベクトルに属するTビットだけを選択するANDゲート312aにおける、同様のセットに供給される。そして、これらは、ORゲート314aにおいてOR結合され、累算器316aによ
って積算される。ベクトル周期の終わりに、積算された全ての異常が、異常ベクトルを特定することの可能な情報とともに、異常バッファ126(図1あるいは図15参照)に書き込まれる。この異常バッファ126では、メインメモリ104(図1参照)への移動および格納のために、情報を待ち行列に入れることが可能である。
上記したように、少なくともいくつかの実施形態では、デジタルモジュールは、「ロジック分析モード」を提供することが可能である。これらの実施形態では、キャプチャバッファ128(図1参照)を、ロジック分析モードおよびキャプチャデータの格納のために使用される、2目的バッファとすることが可能である。他の実施例では、ロジック分析モードのためにキャプチャバッファ128を使用することよりも、むしろ、異常バッファ126を使用することが可能である。この場合、異常バッファについては、2目的バッファとすることが可能である。以下に示す説明は、ロジック分析バッファ294(図15参照)に言及するものである。当然のことではあるが、これは、異常バッファ126となることが可能であり、キャプチャバッファ128、あるいは別個のロジック分析バッファを、キャプチャバッファおよび異常バッファに加えて設けることも可能である。
一実施例では、ロジック分析バッファ294を、Tごとに生のSERDES入力(32×2)を継続的に格納する、循環バッファとすることが可能である。ピンチャネルごとに、1つのロジック分析バッファを設けることも可能である。一実施例では、各ロジック分析バッファ294を、128×32×2のサイズとしてもよい。ロジック分析バッファを、少なくとも2つのモード、すなわち、第1の異常イベントが検出されるモードである、「第1異常モード」あるいは、静的にプログラム化したクロック周期カウントを加えたビットを操作することによって、バッファが始動されるモードである、「パターン制御モード」において、始動してもよい。異常の生じたとき、ほぼ半分のロジック分析バッファに対し、異常位置を越えて書き込むことを許すことも可能である。これにより、異常位置を、このバッファのほぼ中間とすることが可能となる。一実施例では、全てのチャネルは、同じ異常トリガによって格納してもよい。異常を、ベクトル周期の終わりに検出してもよい。この場合には、周期生成器の残余を、0から31までとすることが可能である。この残余を、異常検出の瞬間に格納することが可能である。これにより、ロジック分析バッファ内で、異常の生じるベクトルの境界が明らかになる。非常に長いベクトル周期(例えば、数ミリ秒のオーダ)をもついくつかの実施例では、システムクロック周期Tにおける静的なカウントを、ロジック分析モードが始動される周期内から特定のクロック周期を選択するために、使用することが可能である。ロジック分析バッファ内にデータがいったん格納されれば、それを読み出すことが可能であり(例えば、デジタルモジュールにおける専用のロジック分析出力部に読み出すなど)、また、テストサイクルの終わりに、それをメインメモリに移すことも可能である。これにより、ロジック分析モードに関して、メインメモリのバンド幅を消費することない。
上記したように、少なくともいくつかの実施形態では、SERDESを、約234psのTを有することの可能な、非常に高速のSERDESとしてもよい。しかしながら、場合によっては、デジタルモジュールは、より長いTを有する、より遅いSERDESを含んでもよい。また、技術の進歩にしたがって、現在のSERDESが供給できるものよりも高いT解像度(すなわち、より短いT)を有することが、好ましくなる可能性もある。これらの場合、ライン122a・122b上(図1参照)に対し、より短く効果的なTを有する駆動波形を出力するために、複数のSERDESをともにシフトし多重化するようなシステムを設けることも可能である。
図20を参照すると、SERDES多重化回路の一実施例における、ブロック図が示されている。例示されている実施例では、SERDES116a・116b(図7参照)のそれぞれが、ライン122a・122bへの出力を提供するように結合されている、4つ
の個別のSERDES300a・300b・300cおよび300dを備えている。これらの個別のSERDESのそれぞれについては、全体で32ビットのSERDES116を構成するように、4ビットのSERDESとすることが可能である。しかしながら、当然のことではあるが、本発明は、適切ないずれのビット数を使用することも可能である限り、4ビットのSERDESを使用することに限られるわけではない。さらに、SERDESが4つからなるグループとなっている必要もなく、他のグループわけについても、受け入れ可能となることも可能である。コントローラ298は、ライン296上の駆動波形信号(例えば、図6における波形融合回路190からの信号、あるいは、図7における駆動回路158からの信号)を受信することが可能である。コントローラ298は、駆動H/L信号および駆動イネーブル信号(究極的には、それぞれ、ライン122aおよび122bから供給される信号)のそれぞれを、SERDES300a・300b・300cおよび300dのそれぞれに1つづつ、4つのサブ信号に分割することが可能である。図20に例示されているように、4つのSERDES300a・300b・300cおよび30dについては、それぞれ、互いに90度づつ、位相シフトすることが可能である。したがって、SERDES300aは、0度の位相シフトを有することが可能であり、SERDES300bは、90度の位相シフトを有することが可能であり、SERDES300cは、180度の位相シフトを有することが可能であり、そして、SERDES300dは、270度の位相シフトを有することが可能である。4つのSERDESのそれぞれからの位相シフトされた出力については、XORゲート302aおよび302bを介して交互配置することが可能である。これにより、ライン122aおよび122bb上のシリアル出力が、グループ内の各SERDESからのシーケンシャルビットを有することになる。このようにして、駆動信号は、個別のSERDES300a・300b・300cあるいは300dのいずれのタイミングに比して4倍も速い、効果的なタイミングを有することが可能となる。
図1に関連して上に示したように、本発明の態様にしたがうデジタルモジュールの動作については、メインメモリ104から供給される情報を介して、制御することが可能である。さらに、DUT上のATEによって実行されたテストの結果については、メインメモリ104に記録することが可能である。次に、メインメモリ、それによる通信、および他のメモリ部材に関する動作について、より詳細に説明する。
図21を参照すると、本発明の態様にしたがうメモリサブシステムの一実施例における、ブロック図が示されている。このメモリサブシステムは、メインメモリ104、メインメモリ制御部106、バッファメモリ108およびバッファメモリ制御部114を備えることが可能である。DUTをテストするために、テストベクトルおよび比較ベクトルの列(パターンと称される)を、メインメモリ104からバッファメモリ108に読み出すことが可能である。一実施例では、メインメモリ104からパターンデータを読み出して、ベクトルがデコードおよび実行される、バッファメモリ108を満たすことも可能である。バッファメモリ108が満たされると、メインメモリ104からのデータフローが停止され、バッファメモリ108が空になり始めると、メインメモリ104が再び読み出される。
メモリの特性に起因して、何らかのメモリ動作(例えばJUMP)の実行に際して、いくらかの固有の待ち時間があってもよい。JUMP命令をデコードし、新しい位置における読み出しを開始すべきことをメモリコントローラに指示し、そして、その位置からのデータを待つ、ということには時間がかかる。また、リフレッシュなどのいくつかの動作については、JUMPがデコードされたときに実行中である可能性があり、その動作が完了するのを待つための時間がかかる。一実施例では、JUMPに関する待ち時間は、ほぼ12ベクトルとなると予想される。メインメモリ104におけるJUMPingの待ち時間は、メインメモリ104から実行することのできるベクトルのループのサイズを、制限す
る可能性がある。待ち時間が12ベクトルである場合、これは、本質的に、最小のループサイズとなる。これより小さいループを可能とするために、必要に応じて、バッファ制御部114を、バッファメモリ108を再読み出しするために使用することが可能である。これにより、バッファメモリ108から直接的に、小さいループを効率的に実行することが可能となる。JUMPingの待ち時間は、また、JUMPのタイプの命令をベクトルメモリに配することのできる頻度にも影響する可能性がある。
一実施例では、メインメモリ104を、FPGA102ごとに、複数(例えば16)の、64M×9RLDRAMIIメモリから構成してもよい(図1参照)。しかしながら、当然なことではあるが、本発明は、上記の構成に限られるわけではなく、DDR、DDR2およびDDR3を含む、他のタイプのメモリを使用してもよい。一実施例では、フル16ビットのシーケンサ/タイミング発生器リソースを提供するために、2つのFPGAを一緒に使用することが可能である。このチャネル(ピン)ごとのデータについては、チャネルごとに1つのメモリチップの中に備えることが可能である。ベクトル(制御)ごとのデータはFPGA間で共通であるが、各FPGAは、100%同期されたメモリコントローラを防ぐような、異なる書き込み活動(異常およびキャプチャ)を有することが可能である。したがって、少なくとも一実施形態においては、制御データを、各FPGAに関して再現することが可能である。
少なくともいくつかの実施形態にしたがうと、データバス304を、完全な読み出し/書き込みの機能性に関して、双方向とすることが可能となる。これは、パターンがメインメモリ104に格納されるだけでなく、メインメモリ104が、異常情報、キャプチャデータを格納することもできる、ということ、および、メインメモリ104を、ホストのATEにデータを送り返すより前における、キャプチャデータの後のいずれの処理にも使用される、スクラッチエリアとすることさえも可能となる、ということを意味する。一実施例では、メインメモリ104に、T(例えば、通常、267MHz)の周波数の2倍のクロックで、そして、DDR型の入力および出力データをもって動作する能力をもたせることも可能となる。これにより、メモリへの、およびメモリからのピークデータレートが、4×最大ベクトルレートとなる。周到な管理およびバッファメモリ108を使用すること、ベクトルデータを読み出すこと、異常データおよびキャプチャデータを書き込むこと、および、必要なリフレッシュコマンドを実行することの全てを、133MHzでの途切れのないパターン提示(すなわち、途切れのないDUTのテスト)とともに達成することが可能である。
なお図21を参照すると、メインメモリ制御部106が、メインメモリ104への直接のインターフェイスを提供している。このメインメモリ制御部106は、RLDRAMIIコントローラコア306を含んでもよい。このメインメモリ制御部106は、最大ベクトルレート(一実施例では、1秒ごとに133Mのベクトル)×4のバーストレートでのメインメモリの読み出し、×4のバーストレートでのメインメモリへの書き込み、リフレッシュ、メモリの初期化、さまざまな送信元(ソース)/送信先の間での読み出しおよび書き込みの仲裁、バンクの管理、および、充填、消去、CRCチェックなどに関するハードウェアサポートの提供、を実行するための機構を有することが可能である。
一実施形態にしたがうと、各FPGA102(図1参照)は、バッファメモリ108を含んでもよい。一実施例では、各バッファメモリ108を、FPGA内において128×144のサイズとすることが可能である。バッファメモリ108は、メインメモリのバースト性が存続することを可能としながら、ベクトル回路への一定のデータフローを可能とするために、メインメモリ104と同時に使用される。すなわち、少なくともいくつかの実施例では、メインメモリ104を、特定のバースト長を有する「バースト」フォーマットで読み出すことが可能である。しかしながら、ベクトル(駆動および比較)回路は、複
数のベクトルを含んでいる可能性のあるバーストフォーマットではなく、ベクトルごとのフォーマットのデータを受信することを予想している可能性がある。したがって、メインメモリからバーストデータを受信するとともに、このデータをベクトルごとに読み出すために、バッファメモリ108を使用することが可能である。一実施例では、バッファメモリ08を、いずれのJUMPタイプの動作の後であっても、および、いずれの書き込み動作とともに実行される、必要ないずれのリフレッシュ動作の後であっても、空になる前にそれを再充填することが可能な程度に、十分に大きくすることが可能である。
なお図21を参照すると、バッファメモリ制御部114は、バッファメモリ108が空になったときにメインメモリ104からの追加のデータを要求するために、バッファメモリ108からの「充填」表示に応答することが可能である。バッファメモリ制御部114は、また、バッファメモリ108が満杯になったときにメインメモリ104からのデータフローを停止するように機能してもよい。一実施例では、バッファメモリ制御部114は、メモリのJUMPおよび小ループを補助するためのロジックを含んでもよく、また、ループの居所を作るため、および、手続き呼び出しを実行するために必要な、一時的記憶装置(stack)を含んでもよい。
図21に示すように、補助ポート308およびホストインターフェイス310を、メインメモリ制御部106およびデータバス304を介して、メインメモリ104に結合してもよい。ホストインターフェイス310は、ホストコンピュータによるメインメモリ104に対する読み出しおよび書き込みのために、双方向の経路を供給することが可能である。補助ポート308は、さまざまな用途(例えば、オンボードのキャプチャプロセッサによる、データおよびメモ帳へのアクセスに関する用途など)のための、双方向のポートを提供することが可能である。
上記したように、少なくともいくつかの実施形態にしたがうと、異常データを、異常バッファ126に記録し、メインメモリに出力することが可能である。一実施例では、2つのタイプの記録を異常バッファ126に書き込むことによって、異常報告を実行することが可能である。第1の記録タイプは、Xラベル記録である。この記録は、単に、36ビット値を形成するために詰められたベクトルゼロ内にある、Xラベルである。第2の記録タイプは、異常記録である。この記録は、例えば、16ビットの異常情報(8チャネルのそれぞれに関して、異常1および異常2)および、20ビットのカウントを含むものである。このカウントは、あらゆるベクトルに関してXラベル記録が書き込まれて増加する度に、リセットされる。このため、最も新しいXラベルを加えたカウントは、正確な異常位置を提供することが可能である
一実施例では、各記録を、36ビットとすることが可能である。各FPGAは、4に等しいバースト長(BL)を有する、144ビット幅のメインメモリ104を理解することが可能である。一度に16の記録を、集結して書き込むことが可能である(4アクロス、4ディープ)。一実施例では、各Tにおいて、最大で2つの記録を生成することが可能である(1つのXラベル記録、および、1つの異常記録)。したがって、異常メモリのアップデート(メインメモリに対するもの)は、最大で8Tごとに1回、生じることが可能である。この実施例では、ほぼ32×36の異常バッファ126を、メインメモリ104に移る前の損失を防止するために、異常データのために使用することが可能である。メインメモリの一部を、異常データに割り当てることが可能である。メインメモリにおける異常部分の配置は、例えば、RAMの開始アドレス、および、割り当てられたメモリのサイズを指定することが可能である。いくつかの実施例では、異常バッファの終わりに到達したとき、あるいは、従前のデータを包囲あるいは上書きしたときに、終了するためのオプションを提供することが可能である。
上記したように、少なくともいくつかの実施形態では、デジタルモジュールにおける各
(あるいは、いくつかの)FPGAは、キャプチャバッファ128を有してもよい。一実施例では、キャプチャデータは、チャネルごとに最大で4ビットを含んでもよい(高コンパレータ値および低コンパレータ値の双方を含むベクトルごとに2つのキャプチャ位置)。FPGAごとに8チャネルであれば、キャプチャデータを、Tごとに最大32ビットとすることが可能である。しかしながら、当然のことではあるが、本発明は、いずれかの特定の数値に限られるわけではなく、特に、より多いチャネルあるいはより少ないチャネルを、FPGAごとに設けることも可能であり、より多いビットあるいはより少ないビットを用いることも可能である。異常データが書き込まれるのと同様に、キャプチャデータについても、一度に16個、書き込むことが可能である(4アクロス、4ディープ)。一実施例では、キャプチャデータは、最大で、16TCSに1回、書き込まれる必要性があってもよい。したがって、異常バッファ126と同様に、キャプチャバッファは、32のキャプチャ記録を保持するために十分なメモリと等しい大きさであれば、十分である可能性がある。
要約すれば、本発明における少なくともいくつかの態様および実施形態は、波形およびタイミング生成、および、ATEでの測定に関する、デジタルモジュールを対象とするものである。デジタルモジュールにおけるメインメモリからパラレルの入力データを受信すること、および、それを、DUTを結合することの可能なピンを活性化するために、シリアルの波形に変換することによって、高SERDES(あるいは他のシフトレジスタ)を、テスト波形をデジタルに描画するために使用することが可能である。従来のATEにおける場合のようにストローブを使用するのではなく、TICに関連して波形を規定してもよい。TICは、波形とは無関係である。これは、TICが、システムクロックによって規定されているからである。波形を生成するためにSERDES素子を使用することによって、従来の波形生成に比べて、改善されたジッタおよび線型性を得ることが可能となる(これは、SERDESの伝播遅延が一定であるからである)。さらに、高速SERDESを、DUTから応答波形を(シリアル形式で)受信するため、および、高速処理のために、それをパラレルデータに変換するために使用してもよい。さらに、DUTの応答を分析するために使用することの可能な、比較波形および駆動波形については、TICを用いて規定することが可能であるため、より具体的には、これらを、波形内でキャプチャすることが可能であり、したがって、単一の波形を、単一のベクトルにおけるDUTに対する多数のテストを実行するために、使用することが可能となる。例えば、高から低への送信および低から高への送信にかかるデバイスをテストするために、同じ波形を使用することが可能である。従来のストローブ技術を用いる場合、これら2つのテストは、異なるベクトルにおける2つの異なる波形を用いて実行されることになる。TICにおいてデジタルに波形を描画することによって、および、SERDESを用いることによって、改良された機能性を得ることが可能となる。さらに、上記したように、本発明にしたがうデジタルモジュールを、FPGAにおいて実施してもよい。これは、従来のATEにおいて使用されているASICに比して、はるかに柔軟で、かつ安価に開発することの可能なものである。このように、本発明の態様にしたがうデジタルモジュールは、よりコストが低く、拡縮自在で、さらに、測定に関する新しい解決法の素早い原型作成をサポートするATEの開発を、促進することの可能なものである。
以上のように、少なくとも1つの実施形態における複数の態様について説明してきた。当然のことではあるが、さまざまな変化形、修正形および改善形が、当業者に容易に想定されるはずである。これらのような変化形、修正形および改善形は、この開示の一部となることを意図されているとともに、本発明の範囲内にあることを意図されているものである。したがって、これまでに示した記述および図面は、単なる例示目的のものであって、本発明の範囲は、添付された請求項およびその等価物における、適切な解釈から決定されるべきものである。

Claims (20)

  1. 自動テスト装置における波形の生成および測定モジュールであって、
    テスト波形を特徴づけるベクトル情報を有するメモリデバイスと、
    パラレルフォーマットでメモリデバイスからベクトル情報を受信し、前記テスト波形に応じたシリアルの出力を生成する第1の複数のシフトレジスタと、
    テスト中のデバイスからシリアルフォーマットで応答波形を受信し、この応答波形に応じたパラレルデータを出力として生成する第2の複数のシフトレジスタとを備える、波形の生成および測定モジュール。
  2. 前記第1および第2の複数のシフトレジスタのそれぞれが、少なくとも1つのシリアライザ−デシリアライザ部材を備えている、請求項1に記載の波形の生成および測定モジュール。
  3. 前記テスト波形が、複数のTICとして規定されており、各TICが、テスト波形内における少なくとも1ビットの位置に対応している、請求項2に記載の波形の生成および測定モジュール。
  4. データ結合器をさらに備えており、
    前記データ結合器が、前記メモリデバイスからパターンデータを受信し、
    さらに、このデータ結合器が、前記テスト波形を生成するために、前記パターンデータを、テスト波形を特徴づけるベクトル情報と組み合わせるように構成および配列されている、請求項3に記載の波形の生成および測定モジュール。
  5. 各TICが、シリアライザ−デシリアライザ部材における1クロック周期より大きいか、これと等しい持続時間を有している、請求項3に記載の波形の生成および測定モジュール。
  6. 前記ベクトル情報が、ベクトル周期を特定するものである、請求項5に記載の波形の生成および測定モジュール。
  7. 前記ベクトル周期を生成するように構成および配置されている周期生成器をさらに有している、請求項6に記載の波形の生成および測定モジュール。
  8. 波形伸長回路をさらに有しており、各TICが、シリアライザ−デシリアライザ部材における少なくとも2クロック周期の持続時間を有するように、前記波形伸長回路が、各TICを複製するように構成および配置されている、請求項3に記載の波形の生成および測定モジュール。
  9. 前記メモリデバイスが、比較波形を特徴づける比較ベクトル情報を備えている、請求項1に記載の波形の生成および測定モジュール。
  10. 前記比較波形および応答波形を受信し、ビットバイビットで応答波形を比較波形と比較するように構成および配列されている異常検出回路をさらに備えている、請求項9に記載の波形の生成および測定モジュール。
  11. 前記異常検出回路が、応答波形における比較波形との比較に基づいて、異常記録を生成するように構成および配列されている、請求項10に記載の波形の生成および測定モジュール。
  12. 異常バッファをさらに備えており、この異常バッファが、前記異常記録を受信し格納するように構成および配列されている、請求項11に記載の波形の生成および測定モジュール。
  13. 前記波形の生成および測定モジュールが、フィールドプログラマブル・ゲートアレイとして実施されている、請求項1に記載の波形の生成および測定モジュール。
  14. 自動テスト装置における波形生成方法であって、
    パラレルフォーマットのデジタルデータを、第1の複数のシフトレジスタに提供すること、および、
    テスト波形を生成するために、このデジタルデータを、第1の複数のシフトレジスタからシリアルにシフト出力することを含んでいる、方法。
  15. 前記デジタルデータの提供が、複数のTICを有するデジタル波形を提供することを含んでおり、各TICが、シフトレジスタにおける少なくとも1クロック周期に等しい持続時間を有している、請求項14に記載の方法。
  16. 各TICが、シフトレジスタにおける少なくとも2クロック周期に等しい持続時間を有するように、前記デジタル波形を伸長することをさらに含んでいる、請求項15に記載の方法。
  17. 第2の複数のシフトレジスタによって、シリアルフォーマットの応答波形を受信すること、および、
    この応答波形を、パラレルフォーマットの出力データに変換することをさらに含んでいる、請求項15に記載の方法。
  18. 前記出力データを比較波形と比較すること、および、
    この比較に基づいて、異常データを生成することをさらに含んでいる、請求項17に記載の方法。
  19. 前記異常データを格納することをさらに含んでいる、請求項18に記載の方法。
  20. 前記出力データにおける比較波形との比較が、ビットバイビットでの比較を実行することを含んでいる、請求項18に記載の方法。
JP2009519455A 2006-07-10 2007-07-10 自動テスト装置におけるデジタル波形の生成および測定 Withdrawn JP2009543096A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US81977206P 2006-07-10 2006-07-10
PCT/US2007/015291 WO2008008227A1 (en) 2006-07-10 2007-07-10 Digital waveform generation and measurement in automated test equipment

Publications (1)

Publication Number Publication Date
JP2009543096A true JP2009543096A (ja) 2009-12-03

Family

ID=38923533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009519455A Withdrawn JP2009543096A (ja) 2006-07-10 2007-07-10 自動テスト装置におけるデジタル波形の生成および測定

Country Status (7)

Country Link
US (2) US7769558B2 (ja)
EP (1) EP2044452A1 (ja)
JP (1) JP2009543096A (ja)
KR (1) KR20090083327A (ja)
CN (1) CN101512362A (ja)
TW (1) TW200821606A (ja)
WO (1) WO2008008227A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013533466A (ja) * 2010-05-28 2013-08-22 アドバンテスト (シンガポール) プライベート リミテッド Dutをフルスピードで並列に試験する方法
US9742513B2 (en) 2015-06-16 2017-08-22 Fujitsu Limited Transmission apparatus and clock regeneration method
JP2021520570A (ja) * 2019-01-22 2021-08-19 株式会社アドバンテスト 1または複数の被テストデバイスをテストするための自動試験装置、1または複数の被テストデバイスの自動試験のための方法、および、コマンドエラーを処理するためのコンピュータプログラム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101512362A (zh) * 2006-07-10 2009-08-19 阿斯特瑞昂公司 自动测试设备的数字波形产生及测量
US7539592B2 (en) * 2007-03-23 2009-05-26 Advantest Corporation Test apparatus and electronic device
US7990990B2 (en) * 2007-12-11 2011-08-02 Macronix International Co., Ltd. Circuit and method for transmitting data stream
US8362791B2 (en) * 2008-06-20 2013-01-29 Advantest Corporation Test apparatus additional module and test method
JP4843102B2 (ja) * 2008-06-20 2011-12-21 株式会社アドバンテスト 試験装置および試験方法
JP2012174313A (ja) * 2011-02-23 2012-09-10 Advantest Corp 試験装置
KR101384334B1 (ko) * 2012-08-13 2014-04-14 주식회사 유니테스트 메모리 테스터에서 데이터 및 클록 동기화장치
US9632136B2 (en) * 2013-04-04 2017-04-25 International Business Machines Corporation Precise estimation of arrival time of switching events close in time and space
CN108362995A (zh) * 2013-10-12 2018-08-03 深圳市爱德特科技有限公司 一种创新的fpga的使用方法
US9832094B2 (en) 2014-03-24 2017-11-28 Qualcomm Incorporated Multi-wire electrical parameter measurements via test patterns
US9577818B2 (en) * 2015-02-04 2017-02-21 Teradyne, Inc. High speed data transfer using calibrated, single-clock source synchronous serializer-deserializer protocol
CN104965169A (zh) * 2015-07-29 2015-10-07 江苏杰进微电子科技有限公司 全自动ic电信号测试装置及测试方法
JP6386434B2 (ja) * 2015-10-08 2018-09-05 株式会社アドバンテスト 試験装置、試験信号供給装置、試験方法、およびプログラム
CN106154144A (zh) * 2016-06-23 2016-11-23 湖北航天技术研究院计量测试技术研究所 Cpu器件测试图形向量的生成方法
CN107688304B (zh) * 2016-08-04 2019-10-18 东元电机股份有限公司 利用控制指令转换波形检核驱动装置控制指令的方法
US10598722B1 (en) 2016-12-23 2020-03-24 Advanced Testing Technologies, Inc. Automated waveform analysis methods using a parallel automated development system
US9739827B1 (en) 2016-12-23 2017-08-22 Advanced Testing Technologies, Inc. Automated waveform analysis using a parallel automated development system
CN106646197A (zh) * 2016-12-26 2017-05-10 中国电子科技集团公司第五十八研究所 用于自动测试设备ate测试的调制信号的产生方法
KR102276895B1 (ko) * 2017-08-17 2021-07-12 삼성전자주식회사 반도체 장치 및 그 이벤트 프로파일링 방법
TWI683202B (zh) * 2017-12-27 2020-01-21 大陸商彩優微電子(昆山)有限公司 數位波形訊號產生裝置
KR102512985B1 (ko) 2018-06-12 2023-03-22 삼성전자주식회사 반도체 장치를 위한 테스트 장치 및 반도체 장치의 제조 방법
CN110456122B (zh) * 2019-07-22 2021-05-14 国营芜湖机械厂 一种数字波形编辑和对比显示的方法
CN115037287B (zh) * 2021-03-05 2023-07-28 默升科技集团有限公司 扩频时钟转换器
KR102308990B1 (ko) * 2021-07-20 2021-10-06 (주) 에이블리 반도체 테스트 패턴 발생 장치 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3237473B2 (ja) * 1995-06-29 2001-12-10 安藤電気株式会社 マスク制御装置
TW495616B (en) * 1999-04-06 2002-07-21 Advantest Corp Test device and method for electrically testing electronic device
US6658363B2 (en) * 2001-01-18 2003-12-02 Hewlett-Packard Development Company, L.P. Digital data pattern detection methods and arrangements
TWI274166B (en) * 2004-06-18 2007-02-21 Unitest Inc Semiconductor test apparatus for simultaneously testing plurality of semiconductor devices
US7398443B2 (en) * 2004-10-15 2008-07-08 Genesis Microchip Inc. Automatic fault-testing of logic blocks using internal at-speed logic-BIST
JP2006277867A (ja) * 2005-03-30 2006-10-12 Toshiba Corp 半導体記憶装置
CN101512362A (zh) * 2006-07-10 2009-08-19 阿斯特瑞昂公司 自动测试设备的数字波形产生及测量

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013533466A (ja) * 2010-05-28 2013-08-22 アドバンテスト (シンガポール) プライベート リミテッド Dutをフルスピードで並列に試験する方法
JP2014503083A (ja) * 2010-05-28 2014-02-06 株式会社アドバンテスト 並列処理が可変であり、ファームウェアのアップグレードが可能な、柔軟な記憶装置インタフェース試験器
KR101825244B1 (ko) * 2010-05-28 2018-03-14 주식회사 아도반테스토 전속 병렬 dut 테스트용 솔루션
US9742513B2 (en) 2015-06-16 2017-08-22 Fujitsu Limited Transmission apparatus and clock regeneration method
JP2021520570A (ja) * 2019-01-22 2021-08-19 株式会社アドバンテスト 1または複数の被テストデバイスをテストするための自動試験装置、1または複数の被テストデバイスの自動試験のための方法、および、コマンドエラーを処理するためのコンピュータプログラム
JP7058759B2 (ja) 2019-01-22 2022-04-22 株式会社アドバンテスト 1または複数の被テストデバイスをテストするための自動試験装置、1または複数の被テストデバイスの自動試験のための方法、および、コマンドエラーを処理するためのコンピュータプログラム

Also Published As

Publication number Publication date
WO2008008227A1 (en) 2008-01-17
US20110015891A1 (en) 2011-01-20
US20080114563A1 (en) 2008-05-15
US8423315B2 (en) 2013-04-16
KR20090083327A (ko) 2009-08-03
EP2044452A1 (en) 2009-04-08
US7769558B2 (en) 2010-08-03
CN101512362A (zh) 2009-08-19
TW200821606A (en) 2008-05-16

Similar Documents

Publication Publication Date Title
JP2009543096A (ja) 自動テスト装置におけるデジタル波形の生成および測定
US6243841B1 (en) Automated test and evaluation sampling system and method
US7444559B2 (en) Generation of memory test patterns for DLL calibration
US20070208969A1 (en) Testing apparatus and testing method
US6970798B1 (en) Method, apparatus and computer program product for high speed memory testing
KR20080024413A (ko) 데이터 입출력 오류 검출 기능을 갖는 반도체 메모리 장치
US7010732B2 (en) Built-in test support for an integrated circuit
US7013413B1 (en) Method for compressing output data and a packet command driving type memory device
US20080222460A1 (en) Memory test circuit
US9989590B2 (en) Self-test circuit in integrated circuit, and data processing circuit
JP4737929B2 (ja) 半導体記憶装置
US20050278596A1 (en) Semiconductor integrated circuit device
TWI682184B (zh) 單一可現場規劃閘陣列中多排組數位刺激響應之技術
US7802154B2 (en) Method and apparatus for generating high-frequency command and address signals for high-speed semiconductor memory device testing
US7917825B2 (en) Method and apparatus for selectively utilizing information within a semiconductor device
US6865707B2 (en) Test data generator
US20060155898A1 (en) Data generator for generating data of arbitrary length
JP4724774B2 (ja) 半導体回路装置、メモリテスト回路及び半導体回路装置の試験方法
US7788564B2 (en) Adjustable test pattern results latency
JP4869911B2 (ja) ロジックbist回路及びモジュロ回路
US20110041035A1 (en) Semiconductor memory apparatus and data read method of the same
US7418638B2 (en) Semiconductor memory device and method for testing memory cells using several different test data patterns
JP2532718B2 (ja) 半導体集積回路装置
JP2002131394A (ja) 半導体試験装置のテスト波形生成装置
JP2006179144A (ja) Icの高速試験方法及び装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20101005