(58)【調査した分野】(Int.Cl.,DB名)
生成するステップは、ダブル・データ・レート・デバイス用の差動ストローブ信号を生成するステップをさらに含み、前記ストローブ信号の前記トレイリングエッジを変調するステップは、前記ストローブ信号の前記トレイリングエッジと前記ストローブ信号の相補ストローブ信号のトレイリングエッジとを変調するステップをさらに含み、前記ストローブ信号を反転するステップは、該相補ストローブ信号を反転するステップをさらに含む、請求項1に記載の方法。
前記ストローブ信号の前記トレイリングエッジを変調するステップは、I/O目幅を調整するために送信する試験データと受信する試験データとの間のスキューを調整するために前記ストローブ信号のデューティサイクルを調整するステップを含む、請求項1または2のいずれか一項に記載の方法。
前記デューティサイクルを調整するステップは、前記反転ストローブ信号により、前記I/O目幅に保持時間パラメータを不合格にさせるようにするために前記デューティサイクルを減らすステップを含む、請求項3に記載の方法。
前記デューティサイクルを調整するステップは、前記反転ストローブ信号により、前記I/O目幅にセットアップ時間パラメータを不合格にさせるようにするために前記デューティサイクルを増やすステップを含む、請求項3に記載の方法。
前記エラー検出ロジックは、I/O目幅を設定するために書き込みトリガと読み込みトリガとの間の選択されたスキューを有する反転ストローブ信号に起因するI/Oエラーを検出するためのものである、請求項9に記載の回路デバイス。
前記エラー検出ロジックは、減らされたデューティサイクルを有するストローブ信号からの前記反転ストローブ信号に基づいて保持時間パラメータ違反を試験するためのものか、または増加したデューティサイクルを有するストローブ信号からの前記反転ストローブ信号に基づいてセットアップ時間パラメータ違反を試験するためのものである、請求項10に記載の回路デバイス。
前記受信するステップは、ダブル・データ・レート・デバイスに対する差動ストローブ信号を受信するステップをさらに含み、前記ストローブ信号を反転するステップは、相補ストローブ信号を反転するステップをさらに含む、請求項14に記載の方法。
受信された前記ストローブ信号を反転するステップは、I/O目幅を調整するために送信する試験データと受信する試験データとの間の選択されたスキューを有する反転ストローブ信号を生成するステップを含む、請求項14から15のいずれか一項に記載の方法。
前記反転ストローブ信号を生成するステップは、前記反転ストローブ信号により、前記I/O目幅に保持時間パラメータを不合格にさせるようにするために減らされたデューティサイクルを有するストローブ信号から前記反転ストローブ信号を生成するステップを含む、請求項14から16のいずれか一項に記載の方法。
前記反転ストローブ信号を生成するステップは、前記反転ストローブ信号により、前記I/O目幅にセットアップ時間パラメータを不合格にさせるようにするために増やされたデューティサイクルを有するストローブ信号から前記反転ストローブ信号を生成するステップを含む、請求項14から17のいずれか一項に記載の方法。
前記反転ストローブ信号を生成するステップは、前記I/O目幅を調整して、第1の不合格条件に対して前記I/O目のトレイリングエッジを試験するよう前記反転ストローブ信号を生成するステップを含む、請求項14から19のいずれか一項に記載の方法。
前記反転ストローブ信号を生成するステップは、前記I/O目幅を調整して、全ての合格条件に対して前記I/O目のリーディングエッジを試験するよう前記反転ストローブ信号を生成するステップを含む、請求項14から20のいずれか一項に記載の方法。
I/O(入力/出力)インターフェースを試験するための装置であって、請求項1から8のいずれか一項による方法を実行するための動作を行うための手段を含む、装置。
I/O(入力/出力)インターフェースを試験するための装置であって、請求項14から21のいずれか一項による方法を実行するための動作を行うための手段を含む、装置。
【発明を実施するための形態】
【0010】
本明細書で説明するように、システムは、インターフェースに対してI/O(入力/出力)目幅(eye width)の試験を可能にする。本システムは、反転変調ストローブまたはクロック信号を生成し、非反転ストローブまたはクロック信号で送信動作をトリガしながら、受信動作をトリガする。I/Oインターフェースは、複数の信号線を含み、それぞれが、タイミング特性を有するハードウェアI/Oバッファを伴う。I/OインターフェースのAC(交流電流)マージニングは、トリガ信号のエッジのタイミングを示す。試験は、特定の被試験デバイス(DUT)に対して目幅サイズの予測をまとめ、予測された目幅サイズに対するI/Oチャネルの動作を比較することによって異常値を検出することができる。同じ回路処理で作り出されたチャネルの大部分が、異常値が最小数となる、ほぼ同じI/O目幅をもたらすことが予期される。
【0011】
本明細書で説明するものによれば、試験は機能的であり、各別々の部品の各別々の動作を評価する厳密な構造試験ではなく、DUTの機能的能力を試験する。機能試験では、試験システムは、試験データを送信し、DUTが様々な異なるタイミング設定で試験データを読み書きできるかどうかを評価する。特定のタイミング設定では、I/Oで不合格の原因となることが予想され、一方、他のタイミング設定は、合格動作を引き起こすことが予想される。不合格および合格の使用は、以下でより詳細に記載する。異常値回路は、それらが不合格であると予想される場合に合格を記録する、および/またはそれらが合格であると予想される場合に不合格を記録する回路とすることができる。
【0012】
試験システムは、ストローブ信号またはクロック信号ならびに試験データを生成する。試験システムにクロック信号を生成させることによって、DUTは、タイミング信号を生成するための回路を含む必要がなくなり、場所とコストを節約することができる。さらに、試験システムからのクロック信号により、以下でより詳細に示すように、I/O目幅の機能的試験が可能になる。試験システムのストローブ信号は、送信または書き込みをトリガするトリガエッジ、およびストローブ信号のデューティサイクルを調整することによって変調されるトリガリングエッジを有する。一実施形態において、トリガエッジは立ち上がりエッジであり、トレイリングエッジは、ストローブの立ち下がりエッジであるが、システムは、立ち下がりエッジでトリガされるよう設計することができることを理解されよう。本システムは、変調されたストローブ信号を反転し、反転ストローブ信号を生成し、反転ストローブ信号は、変調されたトレイリングエッジを反転することで生成される変調トリガエッジを有する。本試験システムまたは被試験デバイスのいずれかは、反転ストローブ信号を生成することができる。被試験デバイスは、オリジナルのストローブ信号のトリガエッジに基づいて試験データを書き込み、反転ストローブ信号のトリガエッジに基づいて試験データを読み込む。一実施形態において、被試験デバイスは、I/Oエラーを記録するためのエラー検出回路を含む。
【0013】
一実施形態では、マージニング試験により、従来使用されたものとは異なる合格/不合格方式の採用が可能となる。特定の回路要素の動作を測定するよう直接試みるか、または目幅を直接測定する代わりに、システムは、I/O目のリーディングエッジとI/O目のトレイリングエッジとを別々に試験することができる。目のリーディングエッジおよび目のトレイリングエッジは、整列する可能性があるが、クロック信号のトリガまたはリーディングエッジおよびクロック信号のトレイリングエッジと混同してはならないことが理解されよう。ダブルデータレート実装では、目のリーディングエッジとトレイリングエッジとの両方が、クロック信号のリーディングエッジまたはトリガエッジと整列する。産業界では、I/O目パターン図の観測に関して、リーディングエッジは、典型的に、「左」エッジと称され、トレイリングエッジは、「右」エッジである。限定のためではなく、説明を明瞭にするために、「左エッジ」および「右エッジ」という用語を、I/Oシグナリング目に関して、本明細書で使用する。
【0014】
一実施形態では、本システムは、第1の不合格方法を使用し、目の合格右エッジを識別し、データ信号に対する保持時間を示す。一実施形態では、本システムは、全合格方法を使用し、目の合格左エッジを識別し、データ信号に対するセットアップ時間を示す。一実施形態において、本システムは、目の左エッジを試験する前に、目の右エッジを試験する。第1の不合格方法は、検出された第1の不合格を使用して、目の右エッジに対して使用することができる最長時間を指示する試験を意味する。最長時間は、可能な最長保持時間と称することができる。全合格方法は、全ての回路が合格を記録する時点が、目の左エッジに対して使用することができる最早時間を指示するために使用される試験を意味する。最早時間は、可能な最短セットアップ時間と称することができる。
【0015】
右エッジの第1の不合格と左エッジの全合格との間は、典型的に小さいと仮定されるセットアップ時間窓と保持時間窓との間の準安定性窓である。この仮定は、従来、窓が試験のために無視されるという結果をもたらす。標準フリップフロップにおける準安定性窓は、数ピコ秒幅である可能性があり、処理、電圧、および温度の関数として変化することができる。したがって、保持時間を満たさないということは、全てのI/Oチャネルが保持時間に不合格となった場合に、後続データのセットアップ時間が満たされることを必ずしも意味しないことが理解されよう。全合格方法は、準安定性窓の幅について仮定せず、したがって、マージン測定について楽観的な仮定を除外する。
【0016】
試験システムが試験クロックのデューティサイクルを変調する場合、オンチップクロックがI/Oマージニングを実行する必要性がないことが理解されよう。試験システムは、HVM(大量生産)と相性の良い、試験の自動化および連続化を可能にすることができる。試験の他の方法は、速度が非常に遅く、帯域幅が非常に集中し、および/または並列で多くのデバイスを試験するのにあまり適していない。本明細書で説明する試験は、目幅を調整するために送信クロックと受信クロックとの間のスキューを動的に調整することに基づいており、したがって、I/Oインターフェースの動作を機能的に試験する。したがって、動的に調整されるスキューにより、I/Oインターフェースに対してACマージニングを実行することができる。
【0017】
本明細書で説明するような試験は自動化することができ、したがって、各I/Oチャネルを直接プロービングすることなく電子チップ自体で実行することができる。一実施形態では、被試験デバイスは、ウェハ試験で複数のデバイスチップを含む。一実施形態では、被試験デバイスは、同じ基板上で処理される複数の異なるデバイスを含むシステムオンチップ(SoC)を含む。一実施形態では、被試験デバイスは、単一のパッケージ内に結合された複数の異なるチップを含み、典型的に、高帯域幅インターフェースによって接続される、マルチチップパッケージを含む。
【0018】
多くの異なる種類のチップパッケージングへの適用において柔軟性を持たせることに加え、本試験は、異なる種類のI/Oにも適用することができる。データI/Oは、典型的に、双方向であり、I/Oポートが書き込み機能と読み込み機能の両方を有することを意味する。クロック信号のトリガエッジで送信をトリガし、反転されたクロック信号の変調トリガエッジで受信をトリガする試験は、書き込み機能と読み込み機能の両方を利用する。いくつかのI/O線またはピンは、単方向性(例えば、コマンド/アドレス線(CA)線)であり、通常、そのような試験を利用することができない可能性があることが理解されるだろう。一実施形態では、単方向線は回路の動作をシャットオフすることができるダミーの送信器または受信器を含む。したがって、ダミーI/Oは、I/Oポートを試験し、次いで、シャットオフするためにのみ使用することができる。
【0019】
一実施形態では、試験は、共通タイミング信号または共通クロックを共有する複数の信号線を意味することができる、信号群または複数の信号線の群として共に信号線で実行することができる。例えば、特定のメモリデバイスでは、DQS(クロックストローブ)信号の共通の対を共有する多数のDQ(データ信号)および関連付けられたDMI信号が存在することができる。信号線の群による間接的試験は、インターフェース内の全てのチャネルの全ての信号群に対してデータ信号の有効な目幅の同時試験を可能にすることができる。さらに、本試験は、それぞれが別々のI/Oインターフェースを有する、複数デバイスの試験を、並列に、または同時に可能にすることができる。本試験は、半導体ウェハの複数または全ての回路ダイを試験することを可能にすることができる。単一試験データシーケンスは、複数デバイスに、各デバイスの各チャネルに、各チャネルの各群に、および各群の各信号線に、分配させることができる。群に対する合格/不合格情報を収集することによって、本システムは、試験結果を試験リソースに送り返すのに必要とされる帯域幅を著しく削減することができる。各信号線に対する各データビットでの合格または不合格を示す代わりに、群は、合格ビットおよび不合格ビットの数を示す値を送り返すことができる。
【0020】
本システムは、複数の試験を反復するために1つまたは複数のタイミング設定を調整することによって、データ目幅を試験することができる。例えば、試験データは、あるタイミング設定に対して全ての信号線に分配させることができ、次いで、異なるタイミング設定に対して全ての信号線に再度分配させることができる。試験データは、ビットの同一シーケンスとすることができるが、信号線が信号を受信およびサンプリングする方法を制御する異なるI/Oインターフェースパラメータを有することができる。より詳しくは、本明細書で説明するように、ストローブ信号のトレイリングエッジを変調することができ、信号は、ストローブ信号またはクロック信号の変調リーディングエッジを提供するために反転することができる。本システムは、各タイミング設定(例えば、異なる目幅サイズを引き起こす、異なるデューティサイクル)に対するエラー結果を生成することができ、したがって、異なる設定に対する信号群によって受信されるエラーの数をモニタリングすることによって、目の幅を判断することができる。本試験システムは、信号群を有する全ての信号の複合データ目サイズとして目の幅を測定することができる。本システムは、全てのデータサイクルに対して信号群の全てのI/Oバッファまたはピンで正確なデータを取得する試験の反復の数をカウントすることができ、その場合、間接的な目サイズ幅を提供することができる。一実施形態では、信号群およびデバイス全体(I/Oインターフェース)は、互いに比較して、エラーの統計パターン内にあるかどうかを判断することができる。例えば、本システムは、エラーの数が低閾値および高閾値内にある場合、信号群が試験に合格したと判断することができる。エラーの数が目標範囲外にある信号群は試験に不合格だったとみなすことができる。
【0021】
一実施形態では、そのような試験は、新たなメモリ設計を試験するのに特に有用であるだろう。例えば、WI02(JEDEC(Joint Electronic Device Engineering Council)から入手可能なJESD229 2011年12月のWide Input/Outputバージョン2)およびHBM(JEDECから入手可能な高帯域幅メモリJESD235、2013年10月)DRAM設計などのメモリ設計、またはワイドI/Oインターフェースを有する他のメモリデバイスがある。そのようなデバイスは、デバイスインターフェース内に多数の信号線を有し、そのようなデバイスを製造するために使用される製造技術のフィーチャサイズは、従来の直接接触方法を使用して実際に試験することができないデバイスをもたらすことができる。例えば、WI02は最大8つの64ビットデータチャネルを含み、HBMは最大8つの128ビットデータチャネルを含む。本明細書で説明する試験は、メモリデバイスサプライヤ/製造業者が、HVMと互換性のある製造試験におけるI/O欠陥を効果的にスクリーニングすることを可能にすることができる。メモリデバイス設計に加えて、本明細書で説明する試験は、ワイドI/Oインターフェースを用いて設計されるロジックデバイスおよび/またはSOC(チップ上のシステム)に適用することができることが理解されよう。一例では、特定のロジックデバイスおよびSOCは、新しいワイド・インターフェース・メモリ・デバイスと結合するよう設計される。したがって、本明細書で説明する試験は、直接接触試験方式のためのデバイスをプローブする必要なく、ワイド・インターフェース・デバイスのためのACマージニング解決策を提供する。説明されるACマージニングは、どんなI/Oインターフェースにも広く適用することができ、メモリ固有の設計のみに限定されない。
【0022】
図1は、間接的I/O試験のためにデューティサイクルベースのマージニングを提供するシステムの一実施形態のブロック図である。システム100は、デューティサイクルベースのタイミングマージンで試験されるI/Oインターフェースを有する1つまたは複数の被試験デバイス(DUT)130を含む。被試験デバイス130は、メモリデバイス、または間接的に試験されるI/Oインターフェースを有する他の部品とすることができる。被試験デバイス130のI/Oインターフェースは、信号群として編成された複数の信号線を含むことができる。一実施形態では、被試験デバイス130は個別の回路ダイである。一実施形態では、デバイスは、半導体ウェハとして(例えば、分離されてパッケージ化される前に)一緒にして試験することができる。
【0023】
一実施形態では、システム100は、インターフェース132に対する信号群単位で有効なI/Oタイミング目マージンを同時に測定する。本試験は、自動試験装置(ATE)を製造することにより、信号群ごとのオーバーヘッドを最小限にして、全ての信号群のI/O性能を同時に測定する能力を提供することができる。一実施形態では、1つのウェハ・プローバ・ステッピング(例えば、一度に128ダイ)で接触された全ての被試験デバイス(例えば、全てのDRAMダイまたは他のデバイス)を同時に試験することができる。
【0024】
システム100は、試験装置または試験システムを意味する、自動試験装置(ATE)110を含む。試験システムは、試験データソース、および試験クロックのソースとして理解することができる。自動試験システム110は、I/O試験を実行するためのロジック(ハードウェアおよび/またはソフトウェア)を意味する、コントローラ120を含む。コントローラ120は、試験データおよび変調クロックを生成することができる。一実施形態では、コントローラ120は、試験中に使用されるデバイス130でのI/Oに対するタイミング設定を提供する、設定122を含む。コントローラ120が制御するタイミング設定の少なくとも1つは、クロック信号のトレイリングエッジのデューティサイクルである。クロック信号のデューティサイクルを変更することによって、システム100は、クロック信号を反転させ、変調トリガエッジを生成することが可能となる。一実施形態では、自動試験装置は、反転信号を生成し、反転クロック信号および非反転クロック信号の両方を被試験デバイス130に送信する。一実施形態では、被試験デバイス130は、コントローラ120から受信した非反転クロック信号から反転クロック信号を生成する。I/Oタイミングパラメータ(設定122)を変更することにより、システム100は、I/Oのために適切な目サイズを判断することができる。一実施形態では、設定122は、両方とも非反転信号および反転信号を有することができる、送信(TxClk)および受信(RxClk)クロックの両方に対する設定を含む。TxClkはラウンチクロックと称することができ、RxClkはキャプチャクロックと称することができる。一実施形態では、設定122は、TxClkとRxClkとの間のタイミング、または一方のクロック信号の他方に対するスキュー位置を設定する。
【0025】
コントローラ120は、試験データを生成して1つまたは複数の被試験デバイス130に提供する信号生成器124を含む。信号生成器124は、試験される信号線のI/O性能を試験するための特定のビットまたはビットパターンを含む、一連の試験データを生成することができる。試験データシーケンスは、数十ビット長、または数千ビット長とすることができる。一実施形態では、コントローラ120は、複数の試験反復にわたって毎回同じ試験データシーケンスパターンを送信し、各試験反復は、異なるタイミング設定122を試験する。一実施形態では、コントローラ120は、各信号グループから、および/または各デバイス130から、合格/不合格指示または合格/不合格結果を受信するために、各試験反復の最後に単一のクエリを送信する。
【0026】
前述のように、コントローラ120は、ストローブ126によって表される非反転クロック信号を生成する。一実施形態では、コントローラ120はまた、反転ストローブ128を生成する。1つまたは複数のストローブ信号は、被試験デバイス130にデータとともに送信される。一実施形態では、自動試験装置110のコントローラ120によってもたらされるクロック信号は、固有のエッジ配置精度エラーを有することが予想される。一実施形態では、TxClkまたはRxClkのタイミングエッジ配置精度は、試験データシーケンスが広範囲のデータにわたる2つのクロック間のスキューをスキャンして、有効なデータ目サイズを測定することに基づいている場合、ループバック試験回路の性能に関連する要素ではない。したがって、配置精度エラーは試験とは無関係とすることができ、本試験は、特定のタイミング配置ではなく、I/Oに対して信号群データ有効目の幅を依然として正確に測定できることが分かる。
【0027】
一実施形態では、TxClkに使用されるストローブ信号のデューティサイクルは、動的に調整される。クロックのトレイリングエッジを調整することによって、送信のトリガには何らの影響も及ぼさない。しかしながら、RxClkに反転ストローブ信号を使用することにより、デューティサイクルを変更することによって、受信クロックのリーディングエッジが変調され、TxClkに対してRxClkのエッジ配置が動的に調整される。したがって、システム100は、互いに対するクロック信号のスキューを制御し、相対オフセットを使用して目幅を試験することができる。一実施形態では、コントローラ120は、異なる設定122に対するステップサイズの差異を変更するために、異なるエッジ配置解像度を使用することができる。RxClkエッジ配置ステップサイズが粗いと、目幅測定の分解能が制限される。解像度ステップサイズを細かくすると、試験の反復が増え、試験時間が長くなるが、目幅測定の精度は向上する。いくつかのデバイス130では、比較的粗い解像度でも、十分な目幅測定を提供することができる。他のデバイス(特定のDRAMなど)の場合には、デバイス130は、より微細な解像度を必要とする小性能マージンを有することができる。したがって、システム100の異なる実施形態は、例えば8つの異なるスキュー設定で目幅サイズマージンを測定することができ、一方、他のものは、16以上の異なるスキュー設定で測定することができる。クロックジッタはまた、測定データの有効な目幅を減らすこともできる。ジッタソースは、コントローラ120からデバイス130に供給されるクロックにおけるジッタと、デバイス130内の内部ルーティングで追加されるジッタとを含む。適切な試験回路設計およびデバイスレイアウトにより、ジッタを減らすことができる。
【0028】
デバイス130は、試験対象のI/Oに関する、インターフェース132を含む。一実施形態では、被試験デバイスは、自動試験装置110が反転クロック信号を生成する代わりに、コントローラ120から受信したストローブ信号126から反転ストローブ134を生成する。そのような実装態様では、被試験デバイス上に追加のロジックが必要となることが理解されよう。デバイス130はまた、エラー検出を実行するために各被試験デバイス内の1つまたは複数のロジック回路を示す、試験ロジック136を含む。エラー検出により、デバイスは、I/Oインターフェース132が正しく動作しているかどうかを判断することが可能となる。一実施形態では、デバイス130は、試験シーケンスまたは試験反復の間に検出されたエラー数および/または合格数をレポートする。次いで、自動試験装置110は、群またはデバイスによって提供された試験結果が試験の合格または不合格を示すかどうかを判断することができる。
【0029】
信号生成器124によって生成された試験データ、ストローブ126によって提供されるクロック信号、反転ストローブ128および/または反転ストローブ134によって供給される反転クロック信号、および試験ロジック136により、システム100は、自動試験装置110によって、被試験デバイス130に直接接続または直接プロービングすることなく、ACタイミング欠陥に対して試験を行うことができる。設定122は、被試験デバイス130上のオンダイ遅延ロックループ(DLL)または位相ロックループ(PLL)を必要とせずに、システムがタイミングマージンを提供することを可能にする。さらに、一実施形態では、システム100は、タイミング試験が2つの制御されたクロック信号(上述したようなTxClkおよびRxClk)の間の相対的なオフセットによって提供される場合に、補償されるか、または補償されない、遅延線を必要としない。したがって、システム100におけるI/O試験は、従来の試験よりも低コストおよび低電力で実現することができる。
【0030】
図2は、被試験デバイスが反転変調クロック信号を生成する、I/O試験のためのデューティサイクルベースのマージニングを提供するシステムの一実施形態のブロック図である。システム200は、
図1のシステム100の要素の一例とすることができ、被試験デバイス内のクロックおよびデータの分配および使用の詳細の一例を提供する。システム200における試験は、ACタイミングマージン損失を引き起こすほとんどの欠陥が、リンクされたドライバ/受信器ループバック接続で測定することができるという仮定に基づいている。そのような仮定は、全ての被試験デバイスに対して有効ではない可能性があることが理解されよう。したがって、システム200は、全てのシステム実装に必ずしも存在しない特定の例を示している。そのようなループバック構成は、双方向I/Oポートで良好に動作することができる。単方向I/Oポートを試験するための一実施形態では、受信器または送信器のいずれかが、試験に使用されるダミー回路であり、動作のために無効化することができる一実施形態では、本システムの構成は、各個々のI/Oバッファ(信号線またはI/Oポート)に対して、および各信号線群に対して、蓄積結果をレポートするために関連付けられた群エラー検出機構を有する、エラー検出機構を含む。システム200で示される特定のエラー検出ロジックは、他の検出ロジックによって置き換えることができることが理解されよう。
【0031】
一実施形態では、試験システムは試験モードをトリガし、ビット[0]からビット[N−1]を含む被試験回路デバイスは、トリガに応答して試験モードに入る。一実施形態では、試験モードに入ることの一部は、カウンタおよび/または他の試験コンポーネントをリセットすることを含む。ソースパターン生成器210は、試験データを生成する試験ソースである。一実施形態では、試験データは、試験のためにI/Oに印加される試験データビットのパターンまたはシーケンスに関する、試験データワードと称することができる。一実施形態では、試験データは、試験パターンを生成するためのLSFR(線形フィードバック・シフト・レジスタ)からの出力を含む。システム200は、試験データを複数の異なる信号群202に分配し、試験中の複数の異なるデバイスに試験信号を分配することができる。各デバイスおよび各信号群は信号を受信し、合格/不合格情報を試験システムにレポートする。
【0032】
試験システムはまた、ストローブ生成器220を用いてストローブ信号を生成する。一実施形態では、試験システムは、ラウンチクロック信号(TxClk、非反転クロック信号)およびキャプチャクロック信号(RxClk、非反転クロックから反転された信号)の両方を生成する。一実施形態では、試験システムは、TxClkのみを生成し、被試験デバイスは、クロックロジック(CLK)230を用いてTxClkからRxClkを生成する。試験システムは、ストローブのデューティサイクルを調整することによって、TxClkのトレイリングエッジを変調する。信号のトレイリングエッジを変調することは、クロックのリーディングエッジでトリガする、送信クロックに影響しないことが理解されよう。しかしながら、トレイリングエッジを変調し、次いで、クロック信号を反転すると、RxClkのリーディングエッジを変調することにつながる。一実施形態では、クロック信号は、厳密に制御されたスキューまたは飛行時間を考慮することなく、クロックロジック230を介して試験システムからそれぞれの信号群および回路部品に分配され、ルーティングされる。
【0033】
一実施形態では、試験システムは、有効な目幅を測定するために複数の試験反復を生成し、したがって、様々な異なるI/Oタイミング設定により反復する。より詳しくは、試験システムは、異なるデューティサイクルをストローブ生成器220に適用して、より早いか、またはより遅いトレイリングエッジを有するTxClkを生成する。一実施形態では、試験システムは、I/O目幅を所望の解像度で試験するために使用されるデューティ・サイクル・ステップの数に等しい数の試験反復を生成する。試験反復は、所与のタイミング設定またはデューティサイクルを使用して信号群に送信され、受信された、データワードまたは試験シーケンスの数サイクルまたは多サイクルを意味する。デューティサイクルへの変更により、被試験デバイスに適用されるTxClkとRxClkとの間のスキュー設定が調整される。各試験反復に対して、試験システムは特定のタイミング設定を設定し、エラー追跡コンポーネントをリセットすることができる。一実施形態では、信号群内の全ての信号は、その試験反復に合格したと考えられる試験反復の全てのサイクルに対するデータを正しく受信しなければならない。
【0034】
被試験デバイスは、システム200において詳述された信号群202内にNビットまたはNピンを有するよう示される。Nは、クロック信号を共有する信号線の任意の数とすることができる。信号群によって共有されるクロック信号は、試験装置によって直接生成されたストローブではなく、試験システムによって生成されるストローブ信号由来の、信号線を動作させるために装置上で使用されるクロックまたはタイミング信号を意味することが理解されよう。この違いは、異なるビットまたは信号線が異なる絶対位相遅延で動作することができることを示すが、そのような遅延は、TxClkとRxClkとの両方に等しく適用すべきであり、2つのクロックの間の相対的なスキューが実質的に一定のままであることを意味する。一実施形態では、インターフェース内の全ての信号群が同じ数の信号線を有するわけではない。例えば、図示した信号群が一部である被試験デバイスのインターフェースは、N+Mビット、またはN−Mビットを有する信号群を有することができ、MはNよりも小さい何らかの他の整数である。同じインターフェースの2つの信号群が異なる数のビットを有する一実装態様では、本システムは、信号群のビット数と一致するように、生成器210から適切な数の信号を分配することができる。
【0035】
一実施形態では、信号群の各ビットは、I/Oバッファロジック240によって示される、I/Oバッファと関連付けられる。一実施形態では、バッファ240は標準的なI/Oバッファであり、本明細書で説明する試験を実行するためにI/Oバッファロジックに何らかの変更を必ずしも必要としないことを意味する。システム200に示すように、バッファ240の一実施形態は、受信ラッチ242で試験信号を受信し、増幅器244を有するラッチ242の出力からの信号をパッド250にバッファリングする。あるいは、パッド250は、内部ロジックを信号線を介して外部デバイスとインターフェースするピンまたは他のハードウェア要素と称することができる。試験モードで構成したように、バッファ240は、ループバック構成にすることができ、パッド250は、増幅器246を介してラッチ248にビットを送ることによって、受信したビットを出力として提供する。示したように、TxClkは、ラッチ242の動作をトリガし、RxClkは、ラッチ248の動作をトリガする。一実施形態では、試験データの各新しいサイクルまたはビットが、TxClk立ち上がりエッジの立ち上がりエッジで起動され、そのビットに対するデータキャプチャが、RxClkの立ち上がりエッジでトリガされる。
【0036】
試験のためのラッチ248の出力は、XORゲート270に出力することができる。一実施形態では、ラッチ248の出力は、XORゲート270で、生成器210から受信した入力ビットと比較される。XORゲート270での比較のタイミングを管理することは、適切なエラー検出を得るために重要であることが理解されよう。ラッチ262および266は、試験のタイミングを保証して、パッド250から読み取られたビットが、対応する入力ビットに対して試験されることを確実にすることができる。図示のように、ラッチ262は、TxClkによってトリガされ、その出力をラッチ266の入力に供給する。次いで、ラッチ266は、その出力をXORゲート270に供給するためにRxClkによってトリガされ、右ビットがXORゲート270にラッチされて、受信器/ドライバ・ループ・バック・ビットと比較されることを保証する。ビット[0]から[N−1]のそれぞれは、各特定のI/Oバッファが試験データビットを正しく受信したかどうかを判断するための同様の信号線エラー検出機構を含む。全ての信号線のXORゲートが、グループロジック280に供給される。したがって、信号線群上の任意の信号線上の任意のエラーは、グループロジック280でエラーをトリガすべきであり、ロジックブロックと、合格/不合格情報を検出して累積するためのカウンタとを含むことができる。一実施形態では、グループロジック280は、合格/不合格情報を累積することができ、したがって、各サイクルで試験システムへの合格/不合格条件を識別することを必要とする代わりに、合格/不合格情報を試験反復後に試験システムに戻すことを可能にする。
【0037】
一実施形態では、システム200は、ラッチ262とラッチ266との間に遅延264を適用する。一実施形態では、遅延264を選択的に適用することができる。例えば、一実施形態では、試験は、まず、遅延264を使用せずにデータ目のトレイリングエッジを検出し、次いで、遅延264で目のリーディングエッジを試験する。I/O目幅のリーディングエッジおよびトレイリングエッジを試験することに関するさらなる詳細は、以下に提供する。
【0038】
図3は、異なるタイミング設定によるI/Oインターフェース試験のためのデューティサイクルベースのマージニングを提供するシステムの一実施形態を示すタイミング図である。
図300は、システム100および/またはシステム200による信号のタイミングの一例とすることができる。
図300は、ストローブ信号上の異なるレベルのデューティサイクル変調に対するシステムクロック信号Clk310、試験データ340、およびクロック信号の相対的なタイミングを示す。相対的なタイミングは、説明のために図示され、必ずしも一定の縮尺で示されているわけではなく、したがって、実際のシステムの実際の相対的なタイミングを必ずしも代表するものではないことが理解されよう。試験データ340は、
図300においてクロックサイクル幅全体として示される。ダブル・データ・レートが使用される一実施形態(例えば、
図4)では、半クロックサイクルごとにデータビットが存在する。
【0039】
クロック信号310は、デューティサイクルの、TxClkのトレイリングエッジに対する差異を指摘するため、比較するためのものである。一実施形態では、試験システムはTxClkを送信するが、システムクロック310を送信しない。
図300では、TxClk最短320、およびTxClk最長350の、TxClkの2つのバージョンが存在する。これらの2つのクロック信号は、それぞれRxClk最早330およびRxClk最遅360に対応する。RxClkは、TxClkの反転バージョンであると観測されるであろう。したがって、TxClkは、非反転ストローブ信号とすることができ、RxClkは、反転ストローブ信号とすることができる。TxClk最短320およびTxClk最長350は、説明のために試験データ340を参照して同じ
図300に示されるが、典型的に、(
図300に示されるものとは反対に)別々の信号線で共に送信されない。
【0040】
図示したように、本試験システムは、TxClk最短320とTxClk最長350との両方を有する試験データ340を整列することによって見られるように、TxClkに基づいてデータを送信する。リーディングエッジ(
図300における立ち上がりエッジ)は同じ相対位置にあるが、トレイリングエッジは、TxClk信号に適用されるデューティサイクルに応じて(TxClk最短320で)より早く、または(TxClk最長350で)より遅く来ることが観測される。一実施形態では、N個のデューティサイクル変動の合計に対して、信号320と350との間にN−2個の他のデューティサイクル変動が存在する。
【0041】
本試験システムは、TxClkに基づいてデータを送信するが、TxClkが送信された場合(システムクロック310のリーディングエッジにあると仮定された場合)および(信号320および350のリーディングエッジによって示されるように)被試験デバイス内で動作をトリガする場合の間にいくらかの伝搬遅延(tProp)が観測される。tPropは、
図300に示されているものより長くすることも短くすることもできることが理解されよう。伝搬遅延は、信号が分配される経路の関数である。したがって、tPropは、異なる信号群に対して異なるものとなる。しかしながら、同じ遅延(または、実質的に同じ遅延)がRxClkにも適用されるべきであり、したがって、本システムは、TxClk320、350およびRxClk330、360の間の差異をそれぞれ測定することができる。試験データ340は、I/Oバッファのパッドでのデータ信号を表す。TxClkが、本来、試験システムから送信される場合の(クロック310によって示される)遅延tPropは、試験データ信号340がI/Oバッファで見られるまでの時間を示す。
【0042】
最初に信号TxClk350(TxClk最長)およびRxClk360(RxClk最遅)を参照すると、試験データ340の前のビットの左エッジとRxClk360のリーディングエッジとの間にセットアップ時間tSetupがある。セットアップ時間は、被試験デバイスが次のデータビットのトリガエッジを検出することを可能にするために必要であるデータビット間の最小時間である。
図300について。TxClk350のデューティサイクルがより小さくなるように調整されると、RxClk360のリーディングエッジは、それだけ早く到来する。したがって、RxClk360のリーディングエッジは、
図300において、データBの左エッジに向かって左にシフトする。ストローブ信号のデューティサイクルを調整することによって、本試験システムは、データBの左エッジ(目幅の左エッジ)に向けて検索することができる。
【0043】
信号TxClk320(TxClk最短)およびRxClk330(RxClk最早)を参照すると、試験データ340の左エッジとRxClk330のリーディングエッジとの間に保持時間tHoldがある。保持時間は、データが適切なデータ収集を実行するために被試験デバイスに存在しなければならない最小時間である。TxClk320のデューティサイクルがより大きくなるように調整されると、RxClk330のリーディングエッジは、それだけ遅く到来する。したがって、RxClk330のリーディングエッジは、
図300において、データAの右エッジに向かって右にシフトする。ストローブ信号のデューティサイクルを調整することによって、本試験システムは、データAの右エッジ(目幅の右エッジ)に向けて検索することができる。
【0044】
従来の目幅試験では、左の不合格方法と右の不合格方法とを使用して、目幅エッジを検出する。従来の試験では、第1の不合格方法または検索で左エッジを判断し、全ての不合格方法または検索で右エッジを判断する。
図300に対応する試験システムは、全合格方法または目の左エッジ(セットアップ時間またはセットアップパラメータ違反)の検索を使用する。
図300に対応する試験システムは、目の右エッジ(保持時間または保持パラメータ違反)に対して第1の不合格を使用する。最遅RxClkエッジ(RxClk360)は、データBの左エッジを試験するために使用され、一方、最早RxClkエッジ(RxClk330)は、データAの右エッジを試験するために使用されることが観測される。したがって、一実施形態において、本システムは、正しいデータビットと試験対象ビットとを比較するために適切な遅延を使用することが必要である。
【0045】
図4は、デューティサイクルベースマージニングによるホールド時間の試験の一実施形態を示すタイミング図である。
図400は、システム100および/またはシステム200による信号のタイミングの一例とすることができる。
図400は、相対的なタイミングを示しているが、必ずしも縮尺通りに示されてはおらず、これは、説明のためのものである。送信データおよび受信データは、オーバーラップする相補クロック信号のリーディングエッジが、異なるデータビット信号をトリガするために使用される、半クロックサイクルであるとして示されている。
【0046】
タイミング信号は、差動信号として示され、したがって、タイミング信号は、相補信号を有する。システムクロック信号は、クロック信号412(Clk_t)およびその相補信号414(Clk_c)として示されている。クロック信号差動対(412、414)は、被試験デバイスにデータを送信するために試験システムによって使用されるクロックとすることができる。クロック信号は、被試験デバイスに対して外部を参照する、外部参照クロックと称することができる。クロック信号(412、414)と送信データ(Tx DQ)420との間の伝搬遅延と、クロック信号と受信データ(Rx DQ)440との間の伝搬遅延が存在する。Tx DQ420は、送信クロック差動対信号432(Tx DQS_t)および434(Tx DQS_c)とエッジ整列される。信号432および434は、本質的に、外部参照クロック412および414の複製であることが観測される。
【0047】
一実施形態では、マージニングまたはタイミング検索は順方向に全て実行され、したがって、
図400に示すような保持時間マージン検証は、
図5の
図500に示すように、セットアップ時間マージン検証の前に実行することができる。セットアップ時間マージンの検証の前に保持時間マージン検証を実行することにより、試験時間を節約することができる。通常は、試験は、入力基準のデューティサイクルを変調し、入力データおよびストローブの位相関係を操作することができる受信器デバイスで使用されるキャプチャリングストローブを反転させる。
図400の実施形態では、クロック信号の立ち上がりエッジは、リーディングエッジまたはトリガエッジである。
【0048】
図400では、Tx DQS_t 432は、データAおよびデータCの左エッジに位置合わせされる立ち上がりエッジを有する。同様に、Tx DQS_c 434は、データBおよびデータDの左エッジに位置合わせされる立ち上がりエッジを有する。
図400は、複数の異なる線を有するクロックTx DQS_t 432およびTx DQS_c 434の立ち下がりエッジを表す。複数の異なる線は異なるデューティサイクル設定を表し、したがって、クロックの立ち下がりエッジの変調を表す。分かりやすくするために、
図400において、クロック信号は、実線で最小のデューティサイクルで示され、追加の線は、一度に1つのデューティサイクル設定が使用されることを表す破線であり、追加のデューティサイクル設定が他の試験反復のために使用される。
【0049】
Rx DQS_t 452およびRx DQS_c 454は、それぞれ、Tx DQS_t 432およびTx DQS_c 434の反転バージョンであることが観測される。したがって、Rx DQS_t 452およびRx DQS_c 454は、それらの立ち上がりエッジが変調され、固定された立ち下がりエッジを有する。Txクロックの立ち上がりエッジは、それぞれのデータビットの左に整列されるが、Rxクロックの変調された立ち上がりエッジは、データビットの右エッジ(保持側)に整列されることも観測される。したがって、Rx DQS_t 452は、データAおよびデータCの右エッジ付近に立ち上がりエッジを有し、Rx DQS_c 454は、反転によりデータBおよびデータDの右エッジ付近に立ち上がりエッジを有する。
【0050】
一実施形態では、
図400と関連付けられたシステムは、クロック信号のデューティサイクルを最低値で開始し、様々な試験反復にわたって増加する。それに対応して、反転クロックは、まず、Rx DQ440の保持時間マージンをサンプリングする。デューティサイクルは、データのセットアップ時間を確実に満たす点で開始すべきである。デューティサイクルを増やすと、Rx DQSクロックの立ち上がりエッジがデータビットの右エッジにプッシュされる。デューティサイクルを増やし、クロックを反転することにより、目の測定においてより良好な分解能および精度をもたらすことができることが理解されよう。本システムがデューティサイクルを所望の目の測定分解能を達成するために十分に小さいパルスに低減しようとすると、高速I/O設定において信頼性が低くなり過ぎることにより、分解能に実際に悪影響を及ぼす可能性がある。対照的に、デューティサイクルを増やし、信号を反転すると、より正確な測定信号がもたらされる。
【0051】
一実施形態では、本試験システムは、各デューティサイクル設定に対して、任意のI/Oポートまたは信号線に障害があるかどうかを判断する。受信したデータが期待されるデータと一致する場合、本試験システムはデューティサイクルを増加させて試験を再実行することができる。一実施形態では、試験は信号群で実行され、信号線の群は、共通のクロックまたはストローブ信号を共有する。例えば、WI02では、16本のDQ線が1対の相補的なDQSストローブを共有する。そのような状況では、16本のDQ信号線のうちの1つだけが比較に不合格だったしたとしても、試験不合格を示すように試験システムを構成することができる。そのような方法は、任意の信号線(ある群における任意の信号線またはあるデバイスにおける任意の信号線)の任意の障害が特定の目幅設定に対して不合格である場合に、第1の不合格と称することができる。本試験システムは、マージン計算のため、以前の合格反復でのデューティサイクル設定を記録することができる。説明した試験は保持時間を単に測定するのではなく、データストローブスキュー、クロックおよびデータジッタ、チャネル上に存在する場合にISI(符号間干渉)、送信器ドライバのSSO(同時スイッチング出力)ノイズ、ならびにダイ上および/またはチャネル内の回路に存在する様々なミスマッチおよび非線形性の結合影響を測定することができることが理解されよう。保持時間マージンへの参照は、目の右側のマージンを示すプロキシとすることができる。
【0052】
図5は、デューティサイクルベースマージニングによるセットアップ時間の試験の一実施形態を示すタイミング図である。
図500は、システム100および/またはシステム200による信号のタイミングの一例とすることができる。
図500は、相対的なタイミングを示しているが、必ずしも縮尺通りに示されてはおらず、これは、説明のためのものである。送信データおよび受信データは、オーバーラップする相補クロック信号のリーディングエッジが、異なるデータビット信号をトリガするために使用される、半クロックサイクルであるとして示されている。一実施形態では、
図500は、
図4の
図400の拡張であり、より大きなデューティサイクルが使用される後の時点で同じ図とすることができる。
【0053】
一実施形態では、
図400を参照して説明した反転変調クロック信号は、保持時間マージンの試験から後続のデータビット(例えば、データAの右エッジを試験した後のデータB)のセットアップ時間マージンの試験に切り替えることができる。上記のように、一実施形態では、目の右エッジを第1の不合格方法で検索することができる。第1の障害を検出した後にデューティサイクルの増加を続けることにより、全ての障害が発生するか、または全ての信号線が試験データを適切に受信するために障害が登録されることが理解されよう。次いで、デューティサイクルを増加し続けると、データBのセットアップ時間に対する第1の合格につながる可能性がある。本試験システムは、全ての信号線が合格反復を示す(全ての信号線が試験データを適切に受信したことを意味する)までデューティサイクルを増加し続ける。
図400と同様に、
図500のクロックの立ち上がりエッジは、トリガエッジとして理解されるべきである。
【0054】
図示のように、
図500は、異なるタイミング信号およびそれらの相補(complement)を示す。システムクロック信号は、クロック信号512(Clk_t)およびその相補信号514(Clk_c)として示されている。クロック信号差動対(512、514)は、被試験デバイスにデータを送信するために試験システムによって使用されるクロックとすることができる。クロック信号は、被試験デバイスに対して外部を参照する、外部参照クロックと称することができる。クロック信号(512、514)と送信データ(Tx DQ)520との間の伝搬遅延と、クロック信号と受信データ(Rx DQ)540との間の伝搬遅延が存在する。Tx DQ520は、送信クロック差動対信号532(Tx DQS_t)および534(Tx DQS_c)とエッジ整列される。信号532および534は、本質的に、外部参照クロック512および514の複製であることが観測される。
【0055】
図500では、Tx DQS_t 532は、データAおよびデータCの左エッジに位置合わせされる立ち上がりエッジを有する。同様に、Tx DQS_c 534は、データBおよびデータDの左エッジに位置合わせされる立ち上がりエッジを有する。Tx DQS_t 532およびTx DQS_c 534は、クロック信号のデューティサイクルを調整することによって変調される。Rx DQS_t 552およびRx DQS_c 554は、それぞれ、Tx DQS_t 532およびTx DQS_c 534の反転バージョンであり、変調された立ち上がりエッジを有する。
図500におけるRxクロックの立ち上がりエッジは、データビットの左エッジと整列しているが、1ビットオフセットされていることも観察される。したがって、正しいデータビットを適切にキャプチャして比較するために、試験システムは、デューティサイクルの変化によって引き起こされるシフトを考慮に入れるために試験ロジックに遅延を導入することができる。図示のように、Rx DQS_t 552は、データBの左エッジ付近に立ち上がりエッジを有し、Rx DQS_c 554は、データCの左エッジ付近に立ち上がりエッジを有する。
【0056】
一実施形態では、
図500と関連付けられたシステムは、様々な試験反復にわたってクロックのデューティサイクルを増加する。それに対応して、反転されたクロックは右にシフトし続ける。したがって、Rxクロックは、セットアップ時間パラメータが全ての信号線に対して侵害される、全ての不合格条件を記録することが第一に予想される。最終的に、試験の複数の反復にわたって、セットアップ時間パラメータが全ての信号線(全ての合格条件)を満たすことが期待される。
【0057】
したがって、
図500は、セットアップ時間または左側の目マージン検証のためのタイミング探索の一例とすることができる。一実施形態では、(例えば、
図400に示すように)データAに対する保持時間検証の不合格点が、データBのセットアップ時間マージン検証の開始点として使用される。本システムは、目の左エッジを識別するための全合格条件をもたらすデューティサイクルを記録することができる。
図400および
図500によって必ずしも図示されていないが、デューティサイクルが、保持時間違反およびセットアップ時間違反を試験するために増加する場合に説明された試験は、使用される必要のあるデューティサイクルの範囲を少なくすることができることが判明した。そのような試験処理は、同じデータビットの時間を保持するためにデータビットのセットアップ時間を検出するためにデータビット全体をサンプリングする必要はない。代わりに、本システムは、準安定窓の直前から直後まで、1つのデータビットの右有効エッジと後続データビットの左有効エッジとの間で簡単に測定することができる。
【0058】
図6は、間接的I/Oインターフェース試験のための処理の一実施形態のフロー図である。試験システムは、一度に1つまたは複数のデバイスでのI/O試験のために処理を実行し(600)、デバイスI/Oインターフェースの信号線を試験するする。製造業者はデバイスを製造し(602)、デバイス上でI/Oインターフェース試験を実行する(604)。I/Oインターフェース試験は、製造業者が実行する複数の試験のうちのただ1つとすることができる。
【0059】
一実施形態では、試験システムは試験モードに入り、試験モードに入るために被試験デバイスをトリガする(606)。試験モードに入ることは、試験中に合格/不合格情報を追跡するために使用される試験カウンタをリセットすることを含むことができる。試験システムは、被試験デバイスの信号線に印加するための試験信号を生成する(608)。試験信号は、I/OインターフェースのI/Oバッファ/信号線の機能を試験することを意図した1つまたは複数のデータワードまたは一連のビットとすることができる。
【0060】
一実施形態では、試験システムは、特定の試験反復に対するI/Oタイミングパラメータを設定する(610)。試験システムは、生成された試験信号の試験データ用のクロックとして、特定のタイミング設定用のストローブ信号を生成する(612)。一実施形態では、試験システムは、ストローブ信号(例えば、データストローブ)およびその差動信号の相補を生成する。試験システムは、ストローブ信号のデューティサイクルを調整することによって、ストローブ信号のトレイリングエッジを変調する(614)。一実施形態では、I/Oタイミングパラメータを設定することは、ストローブ信号に対する変調を設定することと同じである。試験システムは、変調されたストローブ信号を反転させて、反転されたストローブ信号および非反転ストローブ信号を生成する(616)。一実施形態では、試験システムは、差動非反転ストローブ信号および差動反転ストローブ信号を生成する。一実施形態では、試験コントローラは、反転ストローブ信号を生成し、それを被試験デバイスに送信する。一実施形態では、被試験デバイスは、非反転ストローブ信号から反転ストローブ信号を生成する。一実施形態では、ストローブ信号は、被試験デバイス内のロジックデバイスの反転クロック入力に印加される。
【0061】
一実施形態では、試験システムは、複数の試験反復を実行し、各デューティサイクル設定に対して複数の試験サイクルをループする。試験システムは、試験信号を提供し、各被試験デバイスは、I/Oインターフェースの1つまたは複数の信号群に分配して、インターフェースの信号線に印加する(618)。試験システムはまた、使用する被試験デバイスに対して1つまたは複数のストローブ信号を送信する。ストローブ信号は、被試験デバイスが、I/Oインターフェースを介して受信された試験データに対する合格/不合格情報を生成して、試験システムが有効なI/O目幅を判断することを可能にすることができる。
【0062】
一実施形態では、試験は、I/Oループバック試験を含む。そのような実施形態では、各信号線は、非反転ストローブ信号を印加して、インターフェースに試験データを書き込み(620)、反転ストローブ信号を印加して、インターフェースから試験データを読み込む(622)。各信号線は、各I/Oバッファに対して、信号ビットまたは信号サイクルが正しく受信されたかどうか、またはI/Oエラーがあったかどうかを判断するためにエラー検出を使用する(624)。一実施形態では、試験システムは、全ての合格条件または第1の不合格条件を判断するために、合格/不合格情報を蓄積する。反復の終わりで、試験システムは、異なる試験設定を適用して、異なるデューティサイクルを、ストローブ信号に適用する。全ての試験設定が適用されると、試験は完了する。したがって、試験の最後の反復に達した場合(626 いいえ分岐)、試験システムは、試験モードを終了し、試験モードを終了するよう被試験デバイスをトリガする。その場合、試験システムは、被試験デバイスによって提供される合格/不合格情報から試験結果を判断することができる。適用する設定が他にもある場合(626、はい分岐)、試験システムは、新しいI/Oタイミングパラメータを設定し、別の試験反復を実行する(610)。
【0063】
図7は、デューティサイクルベースのマージニングを実施することができるコンピューティングシステムの一実施形態のブロック図である。システム700は、本明細書に記載の任意の実施形態によるコンピューティングデバイスを示し、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、ゲームまたはエンターテイメント制御システム、スキャナ、コピー機、プリンタ、ルーティングまたはスイッチングデバイス、または他の電子機器とすることができる。システム700は、システム700のための命令の処理、動作管理、および実行を提供するプロセッサ720を含む。プロセッサ720は、システム700に対して処理を提供するために、任意の種類のマイクロプロセッサ、中央処理装置(CPU)、処理コア、または他の処理ハードウェアを含むことができる。プロセッサ720は、システム700の全体的な動作を制御し、1つまたは複数のプログラマブル汎用または特定用途向けマイクロプロセッサ、デジタル信号プロセッサ(DSP)、プログラマブルコントローラ、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)など、またはそのようなデバイスの組み合わせとするか、それらを含むことができる。
【0064】
メモリサブシステム730は、システム700のメインメモリを意味し、プロセッサ720によって実行されるコード、またはルーチンを実行する際に使用されるデータ値のための一時ストレージを提供する。メモリサブシステム730は、リード・オンリ・メモリ(ROM)、フラッシュメモリ、1つまたは複数の種類のランダム・アクセス・メモリ(RAM)、もしくは他のメモリデバイス、またはそのようなデバイスの組み合わせなどの1つまたは複数のメモリデバイスを含むことができる。とりわけ、メモリサブシステム730は、オペレーティングシステム(OS)736を記憶およびホストし、システム700内の命令を実行するためのソフトウェアプラットフォームを提供する。さらに、他の命令738は、メモリサブシステム730に記憶され、実行されて、システム700のロジックおよび処理を提供する。OS736および命令738は、プロセッサ720によって実行される。メモリサブシステム730は、データ、命令、プログラム、または他のアイテムを記憶するメモリデバイス732を含む。一実施形態では、メモリサブシステムは、メモリコントローラ734を含み、メモリコントローラ734は、メモリデバイス732にコマンドを生成して発行するメモリコントローラである。メモリコントローラ734は、プロセッサ720の物理的部分とすることができることが理解されよう。
【0065】
プロセッサ720およびメモリサブシステム730は、バス/バスシステム710に結合される。バス710は、適切なブリッジ、アダプタ、および/またはコントローラによって接続された、任意の1つまたは複数の別個の物理バス、通信回線/インターフェース、および/またはポイントツーポイント接続を表す抽象概念である。したがって、バス710は、例えば、システムバス、周辺構成機器相互接続(PCI)バス、ハイパートランスポートまたは業界標準アーキテクチャ(ISA)バス、スモール・コンピュータ・システム・インターフェース(SCSI)バス、ユニバーサル・シリアル・バス(USB)、電気電子技術者協会(IEEE)の標準1394バス(一般的に、”Firewire”と呼ばれる)の1つまたは複数を含むことができる。バス710のバスはまた、ネットワークインターフェース750内のインターフェースに対応することができる。
【0066】
システム700はまた、バス710に結合された、1つまたは複数の入力/出力(I/O)インターフェース740、ネットワークインターフェース750、1つまたは複数の内部大容量ストレージデバイス760、および周辺インターフェース770を含む。I/Oインターフェース740は、ユーザがシステム700(例えば、ビデオ、オーディオ、および/または英数字インターフェース)と対話する1つまたは複数のインターフェースコンポーネントを含むことができる。ネットワークインターフェース750は、システム700に、1つまたは複数のネットワークを介して遠隔デバイス(例えば、サーバ、他のコンピューティングデバイス)と通信する機能を提供する。ネットワークインターフェース750は、イーサネット(登録商標)アダプタ、無線相互接続コンポーネント、USB(ユニバーサル・シリアル・バス)、または他の有線もしくは無線の標準ベースもしくは専用インターフェースを含むことができる。
【0067】
ストレージ760は、1つまたは複数の磁気、ソリッドステート、もしくは光学ベースのディスク、またはその組み合わせなどの、不揮発性の方法で大量のデータを記憶するための任意の従来の媒体であるか、またはそれらを含むことができる。ストレージ760は、コードまたは命令およびデータ762を持続状態に保持する(すなわち、値は、システム700への電力が中断されても保持される)。メモリ730は、プロセッサ720に命令を提供するための実行メモリまたは動作メモリであるが、ストレージ760は、一般に、「メモリ」とみなすことができる。ストレージ760は、不揮発性であるが、メモリ730は、揮発性メモリを含むことができる(すなわち、システム700への電力が中断された場合、データの値または状態は不安定である)。
【0068】
周辺インターフェース770は、上記で特に言及されていない任意のハードウェアインターフェースを含むことができる。周辺装置は、一般に、システム700に従属接続するデバイスを意味する。従属接続は、システム700が、動作を実行し、ユーザが対話するソフトウェアおよび/またはハードウェアプラットフォームを提供する接続である。
【0069】
一実施形態では、システム700の1つまたは複数の回路コンポーネントは、適切なI/O目幅を判断するために、デューティサイクルベースのマージニングで機能的に試験されるI/Oインターフェースを含む。一実施形態では、システム700の要素は、他のチップと並列に試験されるSOCまたはマルチチップパッケージに含まれる。一実施形態において、本コンポーネントは、反転変調ストローブまたはクロック信号を生成し、非反転ストローブまたはクロック信号で送信動作をトリガしながら、受信動作をトリガする試験システムによって試験される。ストローブ信号のデューティサイクルを調整することにより、ストローブ信号のトレイリングエッジが、ストローブ信号のリーディングエッジ(トリガエッジ)に対して調整される。デューティサイクルを調整されたストローブ信号を反転させることによって、本試験は、ストローブ信号のトレイリングエッジへのデューティサイクルの変化によって変調されたリーディングエッジ(トリガエッジ)を有する反転ストローブ信号を生成する。変調トリガエッジは、より正確な試験信号を提供することができる。一実施形態では、インターフェース試験は、信号群内のI/Oインターフェースを試験することを含み、各信号群は、試験システム(図示せず)に送信する合格/不合格情報を累積する。
【0070】
図8は、デューティサイクルベースのマージニングを実施することができるモバイルデバイスの一実施形態のブロック図である。デバイス800は、コンピューティングタブレット、携帯電話またはスマートフォン、無線対応電子リーダー、ウェアラブルコンピューティングデバイス、または他のモバイルデバイスなどの、モバイルコンピューティングデバイスを表す。特定のコンポーネントが全体的に示され、そのようなデバイスの全てのコンポーネントがデバイス800に示されているわけではないことが理解されよう。
【0071】
デバイス800は、デバイス800の主要な処理動作を実行する、プロセッサ810を含む。プロセッサ810は、マイクロプロセッサ、アプリケーションプロセッサ、マイクロコントローラ、プログラマブルロジックデバイス、または他の処理手段などの、1つまたは複数の物理デバイスを含むことができる。プロセッサ810によって実行される処理動作は、アプリケーションおよび/またはデバイス機能が実行される動作プラットフォームまたはオペレーティングシステムの実行を含む。処理動作は、人間のユーザまたは他のデバイスとのI/O(入力/出力)に関する動作、電力管理に関連する動作、および/またはデバイス800を他のデバイスに接続することに関連する動作を含む。処理動作は、オーディオI/Oおよび/またはディスプレイI/Oに関連する動作も含むことができる。
【0072】
一実施形態では、デバイス800は、オーディオ機能をコンピューティングデバイスに提供することと関連付けられたハードウェア(例えば、オーディオハードウェアおよびオーディオ回路)およびソフトウェア(例えば、ドライバ、コーデック)コンポーネントを表す、オーディオサブシステム820を含む。オーディオ機能には、スピーカおよび/またはヘッドホンの出力、ならびにマイク入力を含むことができる。そのような機能のためのデバイスは、デバイス800に統合することができ、またはデバイス800に接続することができる。一実施形態では、ユーザは、プロセッサ810によって受信され、処理されるオーディオコマンドを提供することによって、デバイス800と対話する。
【0073】
ディスプレイサブシステム830は、ユーザがコンピューティングデバイスと対話するための視覚および/または触覚ディスプレイを提供するハードウェア(例えば、ディスプレイデバイス)およびソフトウェア(例えば、ドライバ)コンポーネントを表す。ディスプレイサブシステム830は、ユーザにディスプレイを提供するために使用される特定のスクリーンまたはハードウェアデバイスを含む、ディスプレイインターフェース832を含む。一実施形態では、ディスプレイインターフェース832は、ディスプレイに関連する少なくともいくつかの処理を実行するためにプロセッサ810とは別々のロジックを含む。一実施形態では、ディスプレイサブシステム830は、出力および入力の両方をユーザに提供するタッチスクリーンデバイスを含む。
【0074】
I/Oコントローラ840は、ユーザとの対話に関連するハードウェアデバイスおよびソフトウェアコンポーネントを表す。I/Oコントローラ840は、オーディオサブシステム820および/またはディスプレイサブシステム830の一部であるハードウェアを管理するよう動作することができる。さらに、I/Oコントローラ840は、ユーザがシステムと対話することができるデバイス800に接続する追加デバイスのための接続ポイントを示す。例えば、デバイス800に取り付けることができるデバイスは、マイクロフォンデバイス、スピーカもしくはステレオシステム、ビデオシステムもしくは他のディスプレイデバイス、キーボードもしくはキーパッドデバイス、またはカードリーダーもしくは他のデバイスなどの特定用途で使用するための他のI/Oデバイスを含むことができる。
【0075】
上述のように、I/Oコントローラ840は、オーディオサブシステム820および/またはディスプレイサブシステム830と対話することができる。例えば、マイクロフォンまたは他のオーディオデバイスを介した入力は、デバイス800の1つまたは複数のアプリケーションまたは機能に対して入力またはコマンドを提供することができる。さらに、ディスプレイ出力の代わりに、またはディスプレイ出力に加えて、オーディオ出力を提供することができる。別の例では、ディスプレイサブシステムがタッチスクリーンを含む場合、ディスプレイデバイスは、入力デバイスとしても機能し、I/Oコントローラ840によって少なくとも部分的に管理することができる。I/Oコントローラ840によって管理されるI/O機能を提供するために、デバイス800上に追加のボタンまたはスイッチを設けることもできる。
【0076】
一実施形態では、I/Oコントローラ840は、加速度計、カメラ、光センサもしくは他の環境センサ、ジャイロスコープ、全地球測位システム(GPS)、またはデバイス800に含めることができる他のハードウェアなどのデバイスを管理する。入力は、直接のユーザ対話の一部であり、システムに環境入力を提供して、その動作(ノイズのフィルタリング、輝度検出のためのディスプレイの調整、カメラのフラッシュの適用、または他の機能など)に影響を及ぼすことができる。一実施形態では、デバイス800は、バッテリ電力使用、バッテリの充電、および省電力動作に関連する機能を管理する電力管理850を含む。
【0077】
メモリサブシステム860は、デバイス800内に情報を記憶するためのメモリデバイス862を含む。メモリサブシステム860は、不揮発性(メモリデバイスへの電力が中断されても変化しない)および/または揮発性(メモリデバイスへの電力が中断された場合に状態が不確定)メモリデバイスを含むことができる。メモリ860は、アプリケーションデータ、ユーザデータ、音楽、写真、文書、または他のデータ、ならびにシステム800のアプリケーションおよび機能の実行に関連するシステムデータ(長期的または一時的なもの)を記憶することができる。一実施形態では、メモリサブシステム860は、メモリコントローラ864(システム800の制御の一部と考えることもでき、場合によっては、プロセッサ810の一部と考えることもできる)を含む。メモリコントローラ864は、メモリデバイス862へのコマンドを生成し発行するためのスケジューラを含む。
【0078】
接続870は、デバイス800が外部デバイスと通信することを可能にするハードウェアデバイス(例えば、無線および/または有線コネクタならびに通信ハードウェア)およびソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含む。外部デバイスは、他のコンピューティングデバイス、無線アクセスポイントまたは基地局、ならびにヘッドセット、プリンタ、または他のデバイスなどの周辺機器などの別個のデバイスとすることができる。
【0079】
接続870は、複数の異なる種類の接続を含むことができる。一般化するために、デバイス800は、セルラ接続872および無線接続874で示す。セルラ接続872は、一般に、GSM(汎欧州デジタル移動電話方式)(登録商標)または変形または派生物、CDMA(コード分割多重アクセス)または変形または派生物、TDM(時分割多重化)または変形または派生物、LTE(ロング・ターム・エボリューション−”4G”とも呼ばれる)、または他のセルラサービス規格などを介して提供される、無線キャリアによって提供されるセルラネットワーク接続を意味する。無線接続874は、携帯電話ではなく、パーソナル・エリア・ネットワーク(Bluetooth(登録商標)など)、ローカル・エリア・ネットワーク(WiFiなど)、および/またはワイド・エリア・ネットワーク(WiMaxなど)、または他の無線通信を含むことができる、無線接続を意味する。無線通信とは、非固体媒体を介して変調された電磁放射を使用してデータを転送することを意味する。有線通信は、固体通信媒体を介して行われる。
【0080】
周辺機器接続880は、周辺機器接続を行うためのハードウェアインターフェースおよびコネクタ、ならびにソフトウェアコンポーネント(例えば、ドライバ、プロトコルスタック)を含む。デバイス800は、他のコンピューティングデバイスに対する周辺デバイス(”to”882)とすることができ、周辺デバイスをデバイス800に接続してもよい(”from”884)ことが理解されよう。デバイス800は、一般的に、デバイス800上のコンテンツを管理(例えば、ダウンロードおよび/またはアップロード、変更、同期化)するなどのために、他のコンピューティングデバイスに接続するための「ドッキング」コネクタを有する。さらに、ドッキングコネクタは、デバイス800が、例えば、オーディオビジュアルまたは他のシステムへのコンテンツ出力を制御することを可能にする特定の周辺機器にデバイス800が接続することを可能にすることができる。
【0081】
独自のドッキングコネクタまたは他の独自の接続ハードウェアに加えて、デバイス800は、共通または標準ベースのコネクタを介して周辺機器接続880を行うことができる。一般的な種類には、ユニバーサル・シリアル・バス(USB)コネクタ(任意の様々な異なるハードウェアインターフェースを含むことができる)、MiniDisplayPort(MDP)、High Definition Multimedia Interface(HDMI)(登録商標)、Firewire、またはその他の種類を含むDisplayPortを含むことができる。
【0082】
一実施形態では、システム800の1つまたは複数の回路部品は、適切なI/O目幅を判断するために、デューティサイクルベースのマージニングで機能的に試験されるI/Oインターフェースを含む。一実施形態では、システム800の要素は、他のチップと並列に試験されるSOCまたはマルチチップパッケージに含まれる。一実施形態において、本コンポーネントは、反転変調ストローブまたはクロック信号を生成し、非反転ストローブまたはクロック信号で送信動作をトリガしながら、受信動作をトリガする試験システムによって試験される。ストローブ信号のデューティサイクルを調整することにより、ストローブ信号のトレイリングエッジが、ストローブ信号のリーディングエッジ(トリガエッジ)に対して調整される。デューティサイクルを調整されたストローブ信号を反転させることによって、本試験は、ストローブ信号のトレイリングエッジへのデューティサイクルの変化によって変調されたリーディングエッジ(トリガエッジ)を有する反転ストローブ信号を生成する。変調トリガエッジは、より正確な試験信号を提供することができる。一実施形態では、インターフェース試験は、信号群内のI/Oインターフェースを試験することを含み、各信号群は、試験システム(図示せず)に送信する合格/不合格情報を累積する。
【0083】
一態様では、I/O(入力/出力)インターフェースを試験する方法は、試験データ信号を送受信するためにクロック信号としてストローブ信号を生成するステップであって、ストローブ信号が、書き込みをトリガするトリガエッジとトレイリングエッジとを有する、ステップと、ストローブ信号のデューティサイクルを調整することによってストローブ信号のトレイリングエッジを変調するステップと、反転ストローブ信号を生成するために変調トレイリングエッジでストローブ信号を反転するステップであって、反転ストローブ信号が変調トリガエッジを有する、ステップと、ストローブ信号のトリガエッジで試験データの送信をトリガするステップと、反転ストローブ信号のトリガエッジで試験データの受信をトリガするステップと、を含む。
【0084】
一実施形態では、生成するステップは、ダブル・データ・レート・デバイス用の差動ストローブ信号を生成するステップをさらに備え、ストローブ信号のトレイリングエッジを変調するステップは、ストローブ信号のトレイリングエッジとその相補を変調するステップをさらに備え、ストローブ信号を反転するステップは、反転された相補ストローブ信号を生成するステップをさらに備える。一実施形態では、ストローブ信号のトレイリングエッジを変調するステップは、I/O目幅を調整するために送信する試験データと受信する試験データとの間のスキューを調整するためにストローブ信号のデューティサイクルを調整するステップを備える。一実施形態では、デューティサイクルを調整するステップは、反転ストローブ信号により、I/O目幅に保持時間パラメータを不合格にさせるようにするためにデューティサイクルを減少するステップを備える。一実施形態では、デューティサイクルを調整するステップは、反転ストローブ信号により、I/O目幅がセットアップ時間パラメータを不合格にさせるようにするためにデューティサイクルを増やすステップを備える。一実施形態では、本方法は、セットアップ時間パラメータを試験するために遅延によりデータキャプチャをオフセットするステップをさらに備える。一実施形態では、デューティサイクルを調整するステップは、第1の不合格条件に対してI/O目のトレイリングエッジを試験するためにI/O目幅を調整するステップを備える。一実施形態では、デューティサイクルを調整するステップは、全ての合格条件に対してI/O目のリーディングエッジを試験するためにI/O目幅を調整するステップを備える。
【0085】
一態様では、試験されるI/O(入力/出力)インターフェースを有する回路デバイスは、それぞれがI/OインターフェースのハードウェアI/Oバッファにインターフェースする複数の信号線であって、信号線のそれぞれが、試験ソースから複数の信号線に分配される試験データ信号のビットを受信するためのものである、複数の信号線と、試験データ信号に対するクロック信号としてのストローブ信号に対するハードウェアインターフェースであって、ストローブ信号が書き込みをトリガするトリガエッジとトレイリングエッジとを有し、ストローブ信号がストローブ信号のトレイリングエッジを変調するよう調整されるデューティサイクルを有する、ハードウェアインターフェースと、タイミングパラメータに違反するI/O目幅によって引き起こされるI/Oエラーを検出するためのエラー検出ロジックであって、ストローブ信号のトリガエッジに基づいてI/Oバッファに書き込まれて、変調トリガエッジを有する反転ストローブ信号に基づいてI/Oバッファから読み込まれるデータビットを、期待されるデータビットと比較するステップを含み、反転ストローブ信号が受信ストローブ信号の反転バージョンである、エラー検出ロジックとを含む。
【0086】
一実施形態では、ストローブ信号は、ダブル・データ・レート・デバイスに対する差動ストローブ信号を備え、ストローブ信号の変調トレイリングエッジが、ストローブ信号のトレイリングエッジおよびその相補をさらに備える。一実施形態では、
エラー検出ロジックは、I/O目幅を設定するために書き込みトリガと読み込みトリガとの間の選択されたスキューを有する反転ストローブ信号に起因するI/Oエラーを検出するためのものである。一実施形態では、エラー検出ロジックは、減らされたデューティサイクルを有するストローブ信号からの反転ストローブ信号に基づいて保持時間パラメータ違反を試験するためのものか、または増加したデューティサイクルを有するストローブ信号からの反転ストローブ信号に基づいてセットアップ時間パラメータ違反を試験するためのものである。一実施形態では、エラー検出ロジックは、セットアップ時間パラメータを試験するために遅延によりデータキャプチャをさらにオフセットするためのものである。一実施形態では、エラー検出ロジックは、第1の不合格条件に対してI/O目のトレイリングエッジを試験するためのものである。一実施形態では、エラー検出ロジックは、全ての合格条件に対してI/O目のリーディングエッジを試験するためのものである。
【0087】
一態様では、試験されるハードウェアI/O(入力/出力)インターフェースを有するシステムは、試験データシーケンスを生成するための試験ソースと、複数の別個の回路ダイが内部で処理される半導体ウェハであって、各回路ダイが、それぞれがI/OインターフェースのハードウェアI/Oバッファにインターフェースする複数の信号線を含み、信号線のそれぞれが、試験ソースから複数の信号線に分配される試験データ信号のビットを受信するためのものである、半導体ウェハと、試験データ信号に対するクロック信号としてのストローブ信号に対するハードウェアインターフェースであって、ストローブ信号が書き込みをトリガするトリガエッジとトレイリングエッジとを有し、ストローブ信号がストローブ信号のトレイリングエッジを変調するよう調整されるデューティサイクルを有する、ハードウェアインターフェースと、タイミングパラメータに違反するI/O目幅によって引き起こされるI/Oエラーを検出するためのエラー検出ロジックであって、ストローブ信号のトリガエッジに基づいてI/Oバッファに書き込まれて、変調トリガエッジを有する反転ストローブ信号に基づいてI/Oバッファから読み込まれるデータビットを、期待されるデータビットと比較するステップを含み、反転ストローブ信号が、受信ストローブ信号の反転バージョンであり、エラー検出ロジックとを含み、試験データシーケンスが、半導体ウェハ上の複数の回路ダイ上の信号線群に分配されて、複数の回路ダイのI/Oインターフェースを同時に、間接的に試験する。
【0088】
一実施形態では、ストローブ信号は、ダブル・データ・レート・デバイスに対する差動ストローブ信号を備え、ストローブ信号の変調トレイリングエッジが、ストローブ信号のトレイリングエッジおよびその相補をさらに備える。一実施形態では、エラー検出ロジックは、I/O目幅を設定するために書き込みトリガと読み込みトリガとの間の選択されたスキューを有する反転ストローブ信号に起因するI/Oエラーを検出するためのものである。一実施形態では、エラー検出ロジックは、減らされたデューティサイクルを有するストローブ信号からの反転ストローブ信号に基づいて保持時間パラメータ違反を試験するためのものか、または増加したデューティサイクルを有するストローブ信号からの反転ストローブ信号に基づいてセットアップ時間パラメータ違反を試験するためのものである。一実施形態では、エラー検出ロジックは、セットアップ時間パラメータを試験するために遅延によりデータキャプチャをさらにオフセットするためのものである。一実施形態では、エラー検出ロジックは、第1の不合格条件に対してI/O目のトレイリングエッジを試験するためのものである。一実施形態では、エラー検出ロジックは、全ての合格条件に対してI/O目のリーディングエッジを試験するためのものである。
【0089】
一態様では、コンテンツを記憶するコンピュータ読み取り可能記憶媒体を備える製品であって、実行されると、I/O(入力/出力)インターフェースを試験するための動作を実行し、試験データ信号を送受信するためにクロック信号としてストローブ信号を生成するステップであって、ストローブ信号が、書き込みをトリガするトリガエッジとトレイリングエッジとを有する、ステップと、ストローブ信号のデューティサイクルを調整することによってストローブ信号のトレイリングエッジを変調するステップと、反転ストローブ信号を生成するために変調トレイリングエッジでストローブ信号を反転するステップであって、反転ストローブ信号が変調トリガエッジを有する、ステップと、ストローブ信号のトリガエッジで試験データの送信をトリガするステップと、反転ストローブ信号のトリガエッジで試験データの受信をトリガするステップと、を含む。
【0090】
一実施形態では、生成するためのコンテンツは、ダブル・データ・レート・デバイス用の差動ストローブ信号を生成するためのコンテンツをさらに備え、ストローブ信号のトレイリングエッジを変調するためのコンテンツは、ストローブ信号のトレイリングエッジとその相補とを変調するためのコンテンツをさらに備え、ストローブ信号を反転するためのコンテンツは、反転された相補ストローブ信号を生成するためのコンテンツをさらに備える。一実施形態では、ストローブ信号のトレイリングエッジを変調するためのコンテンツは、I/O目幅を調整するために送信する試験データと受信する試験データとの間のスキューを調整するためにストローブ信号のデューティサイクルを調整するためのコンテンツを備える。一実施形態では、デューティサイクルを調整するコンテンツは、反転ストローブ信号により、I/O目幅に保持時間パラメータを不合格にさせるようにするためにデューティサイクルを減少するコンテンツを備える。一実施形態では、デューティサイクルを調整するコンテンツは、反転ストローブ信号により、I/O目幅がセットアップ時間パラメータを不合格にさせるようにするためにデューティサイクルを増やすコンテンツを備える。一実施形態では、セットアップ時間パラメータを試験するために遅延によりデータキャプチャをオフセットするコンテンツをさらに備える。一実施形態では、デューティサイクルを調整するコンテンツは、第1の不合格条件に対してI/O目のトレイリングエッジを試験するためにI/O目幅を調整するコンテンツを備える。一実施形態では、デューティサイクルを調整するコンテンツは、全ての合格条件に対してI/O目のリーディングエッジを試験するためにI/O目幅を調整するコンテンツを備える。
【0091】
一態様では、I/O(入力/出力)インターフェースを試験する装置は、試験データ信号を送受信するためにクロック信号としてストローブ信号を生成する手段であって、ストローブ信号が、書き込みをトリガするトリガエッジとトレイリングエッジとを有する、手段と、ストローブ信号のデューティサイクルを調整することによってストローブ信号のトレイリングエッジを変調する手段と、反転ストローブ信号を生成するために変調トレイリングエッジでストローブ信号を反転する手段であって、反転ストローブ信号が変調トリガエッジを有する、手段と、ストローブ信号のトリガエッジで試験データの送信をトリガする手段と、反転ストローブ信号のトリガエッジで試験データの受信をトリガする手段と、を含む。
【0092】
一実施形態では、生成するための手段は、ダブル・データ・レート・デバイス用の差動ストローブ信号を生成するための手段をさらに備え、ストローブ信号のトレイリングエッジを変調するための手段は、ストローブ信号のトレイリングエッジとその相補を変調するための手段をさらに備え、ストローブ信号を反転するための手段は、反転された相補ストローブ信号を生成するための手段をさらに備える。一実施形態では、ストローブ信号のトレイリングエッジを変調するための手段は、I/O目幅を調整するために送信する試験データと受信する試験データとの間のスキューを調整するためにストローブ信号のデューティサイクルを調整するための手段を備える。一実施形態では、デューティサイクルを調整する手段は、反転ストローブ信号により、I/O目幅に保持時間パラメータを不合格にさせるようにするためにデューティサイクルを減少する手段を備える。一実施形態では、デューティサイクルを調整する手段は、反転ストローブ信号により、I/O目幅がセットアップ時間パラメータを不合格にさせるようにするためにデューティサイクルを増やす手段を備える。一実施形態では、セットアップ時間パラメータを試験するために遅延によりデータキャプチャをオフセットする手段をさらに備える。一実施形態では、デューティサイクルを調整する手段は、第1の不合格条件に対してI/O目のトレイリングエッジを試験するためにI/O目幅を調整する手段を備える。一実施形態では、デューティサイクルを調整する手段は、全ての合格条件に対してI/O目のリーディングエッジを試験するためにI/O目幅を調整する手段を備える。
【0093】
一態様では、I/O(入力/出力)インターフェースを試験するための方法は、試験システムから被試験デバイスで、試験データ信号を送受信するためにクロック信号としてストローブ信号を受信するステップであって、ストローブ信号が、書き込みをトリガするトリガエッジとトレイリングエッジとを有し、ストローブ信号が、ストローブ信号のトレイリングエッジを変調するよう調整されるデューティサイクルを有する、ステップと、反転ストローブ信号を生成するために受信ストローブ信号を反転するステップであって、反転ストローブ信号が変調トリガエッジを有する、ステップと、ストローブ信号のトリガエッジに応じて試験データを書き込むステップと、反転ストローブ信号のトリガエッジに応じて書き込まれた試験データを読み込むステップと、を含む。
【0094】
一実施形態では、受信するステップは、ダブル・データ・レート・デバイスに対する差動ストローブ信号を受信するステップをさらに備え、ストローブ信号を反転するステップは、反転された相補ストローブ信号を生成するステップをさらに備える。一実施形態では、受信ストローブ信号を反転するステップは、I/O目幅を調整するために送信する試験データを受信する試験データとの間の選択されたスキューを有する反転ストローブ信号を生成するステップを備える。一実施形態では、反転ストローブ信号を生成するステップは、反転ストローブ信号により、I/O目幅に保持時間パラメータを不合格にさせるようにするために減らされたデューティサイクルを有するストローブ信号から反転ストローブ信号を生成するステップを備える。一実施形態では、反転ストローブ信号を生成するステップは、反転ストローブ信号により、I/O目幅がセットアップ時間パラメータを不合格にさせるようにするために増やされたデューティサイクルを有するストローブ信号から反転ストローブ信号を生成するステップを備える。一実施形態では、セットアップ時間パラメータを試験するために書き込まれたデータを読み込む前に遅延をトリガすることによりデータキャプチャをオフセットするステップをさらに備える。一実施形態では、反転ストローブ信号を生成するステップは、I/O目幅を調整して、第1の不合格条件に対してI/O目のトレイリングエッジを試験するよう反転ストローブ信号を生成するステップを備える。一実施形態では、反転ストローブ信号を生成するステップは、I/O目幅を調整して、全ての合格条件に対してI/O目のリーディングエッジを試験するよう反転ストローブ信号を生成するステップを備える。
【0095】
一態様では、コンテンツを記憶するコンピュータ読み取り可能な記憶媒体を備える製品であって、実行されると、I/O(入力/出力)インターフェースを試験するための動作を実行し、試験システムから被試験デバイスで、試験データ信号を送受信するためにクロック信号としてストローブ信号を受信するステップであって、ストローブ信号が、書き込みをトリガするトリガエッジとトレイリングエッジとを有し、ストローブ信号が、ストローブ信号のトレイリングエッジを変調するよう調整されるデューティサイクルを有する、ステップと、反転ストローブ信号を生成するために受信ストローブ信号を反転するステップであって、反転ストローブ信号が変調トリガエッジを有する、ステップと、ストローブ信号のトリガエッジに応じて試験データを書き込むステップと、反転ストローブ信号のトリガエッジに応じて書き込まれた試験データを読み込むステップと、を含む。
【0096】
一実施形態では、受信するコンテンツは、ダブル・データ・レート・デバイスに対する差動ストローブ信号を受信するコンテンツをさらに備え、ストローブ信号を反転するコンテンツは、反転された相補ストローブ信号を生成するコンテンツをさらに備える。一実施形態では、受信ストローブ信号を反転するコンテンツは、I/O目幅を調整するために送信する試験データを受信する試験データとの間の選択されたスキューを有する反転ストローブ信号を生成するコンテンツを備える。一実施形態では、反転ストローブ信号を生成するコンテンツは、反転ストローブ信号により、I/O目幅に保持時間パラメータを不合格にさせるようにするために減らされたデューティサイクルを有するストローブ信号から反転ストローブ信号を生成するコンテンツを備える。一実施形態では、反転ストローブ信号を生成するコンテンツは、反転ストローブ信号により、I/O目幅がセットアップ時間パラメータを不合格にさせるようにするために増やされたデューティサイクルを有するストローブ信号から反転ストローブ信号を生成するコンテンツを備える。一実施形態では、セットアップ時間パラメータを試験するために書き込まれたデータを読み込む前に遅延をトリガすることによりデータキャプチャをオフセットするコンテンツをさらに備える。一実施形態では、反転ストローブ信号を生成するコンテンツは、I/O目幅を調整して、第1の不合格条件に対してI/O目のトレイリングエッジを試験するよう反転ストローブ信号を生成するコンテンツを備える。一実施形態では、反転ストローブ信号を生成するコンテンツは、I/O目幅を調整して、全ての合格条件に対してI/O目のリーディングエッジを試験するよう反転ストローブ信号を生成するコンテンツを備える。
【0097】
一態様では、I/O(入力/出力)インターフェースを試験するための装置は、試験システムから被試験デバイスで、試験データ信号を送受信するためにクロック信号としてストローブ信号を受信するステップであって、ストローブ信号が、書き込みをトリガするトリガエッジとトレイリングエッジとを有し、ストローブ信号が、ストローブ信号のトレイリングエッジを変調するよう調整されるデューティサイクルを有する、ステップと、反転ストローブ信号を生成するために受信ストローブ信号を反転するステップであって、反転ストローブ信号が変調トリガエッジを有する、ステップと、ストローブ信号のトリガエッジに応じて試験データを書き込むステップと、反転ストローブ信号のトリガエッジに応じて書き込まれた試験データを読み込むステップと、を含む。
【0098】
一実施形態では、受信する手段は、ダブル・データ・レート・デバイスに対する差動ストローブ信号を受信する手段をさらに備え、ストローブ信号を反転する手段は、反転された相補ストローブ信号を生成する手段をさらに備える。一実施形態では、受信ストローブ信号を反転する手段は、I/O目幅を調整するために送信する試験データと受信する試験データとの間の選択されたスキューを有する反転ストローブ信号を生成する手段を備える。一実施形態では、反転ストローブ信号を生成する手段は、反転ストローブ信号により、I/O目幅に保持時間パラメータを不合格にさせるようにするために減らされたデューティサイクルを有するストローブ信号から反転ストローブ信号を生成する手段を備える。一実施形態では、反転ストローブ信号を生成する手段は、反転ストローブ信号により、I/O目幅がセットアップ時間パラメータを不合格にさせるようにするために増やされたデューティサイクルを有するストローブ信号から反転ストローブ信号を生成する手段を備える。一実施形態では、セットアップ時間パラメータを試験するために書き込まれたデータを読み込む前に遅延をトリガすることによりデータキャプチャをオフセットする手段をさらに備える。一実施形態では、反転ストローブ信号を生成する手段は、I/O目幅を調整して、第1の不合格条件に対してI/O目のトレイリングエッジを試験するよう反転ストローブ信号を生成する手段を備える。一実施形態では、反転ストローブ信号を生成する手段は、I/O目幅を調整して、全ての合格条件に対してI/O目のリーディングエッジを試験するよう反転ストローブ信号を生成する手段を備える。
【0099】
本明細書で示したようなフロー図は、一連の様々な処理動作の例を提供する。フロー図は、ソフトウェアまたはファームウェアルーチンによって実行される動作、ならびに物理的動作を示すことができる。一実施形態では、フロー図は、有限状態機械(FSM)の状態を示すことができ、ハードウェアおよび/またはソフトウェアで実施することができる。特定のシーケンスまたは順序で示されているが、特に明記しない限り、動作の順序は変更することができる。したがって、示した実施形態は、単に一例として理解されるべきであり、処理は異なる順序で実行することができ、いくつかの動作は並行して実行することができる。さらに、様々な実施形態において、1つまたは複数の動作を省略することができ、したがって、全ての実施形態において全ての動作が必要とは限らない。他の処理フローも可能である。
【0100】
様々な動作または機能が本明細書に記載されている範囲で、それらは、ソフトウェアコード、命令、構成、および/またはデータとして記述または定義することができる。コンテンツは、直接実行可能(「オブジェクト」または「実行可能」形式)、ソースコード、または差分コード(「デルタ」または「パッチ」コード)とすることができる。本明細書に記載の実施形態のソフトウェアコンテンツは、コンテンツが記憶された製品を介して、または通信インターフェースを操作して通信インターフェースを介してデータを送信するための方法を介して提供することができる。機械読取可能ストレージ媒体は、機械に、説明した機能または動作を実行させることができ、記録可能/記録不可媒体(例えば、リード・オンリ・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気ディスクストレージ媒体、光学ストレージ媒体、フラッシュメモリデバイスなど)などの、機械(例えば、コンピューティングデバイス、電子システムなど)によってアクセス可能な形式で情報を記憶する任意の機構を含む。通信インターフェースは、メモリバスインターフェース、プロセッサバスインターフェース、インターネット接続、ディスクコントローラなどの、別のデバイスと通信するための有線、無線、光学などの媒体のいずれかにインターフェースする任意の機構を含む。通信インターフェースは、ソフトウェアコンテンツを記述するデータ信号を提供するために通信インターフェースを準備するための構成パラメータおよび/または送信信号を提供することによって構成することができる。通信インターフェースは、通信インターフェースに送信される1つまたは複数のコマンドまたは信号を介してアクセスすることができる。
【0101】
本明細書で説明する様々な構成要素は、説明した動作または機能を実行するための手段とすることができる。本明細書に記載される各構成要素は、ソフトウェア、ハードウェア、またはこれらの組み合わせを含む。構成要素は、ソフトウェアモジュール、ハードウェアモジュール、専用ハードウェア(例えば、特定用途向けハードウェア、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)など)、組み込みコントローラ、ハードワイヤード回路などとして実装することができる。
【0102】
本明細書に記載されたものに加えて、本発明の範囲から逸脱することなく、本発明の開示された実施形態および実装態様に対して様々な変更を行うことができる。したがって、本明細書における例示および実施例は、例示的なものであり、限定的な意味で解釈されるべきではない。本発明の範囲は、添付の特許明細の範囲を参照することによってのみ測られるべきである。