IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テクトロニクス・インコーポレイテッドの特許一覧

特開2022-76479高速入出力マージン試験のためのシステム、方法及び装置
<>
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図1
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図2
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図3
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図4
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図5
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図6
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図7
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図8
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図9
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図10
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図11
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図12
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図13
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図14
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図15
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図16A
  • 特開-高速入出力マージン試験のためのシステム、方法及び装置 図16B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022076479
(43)【公開日】2022-05-19
(54)【発明の名称】高速入出力マージン試験のためのシステム、方法及び装置
(51)【国際特許分類】
   G01R 31/28 20060101AFI20220512BHJP
【FI】
G01R31/28 Y
G01R31/28 J
【審査請求】未請求
【請求項の数】12
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021182625
(22)【出願日】2021-11-09
(31)【優先権主張番号】63/111,533
(32)【優先日】2020-11-09
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/470,424
(32)【優先日】2021-09-09
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】391002340
【氏名又は名称】テクトロニクス・インコーポレイテッド
【氏名又は名称原語表記】TEKTRONIX,INC.
(74)【代理人】
【識別番号】100090033
【弁理士】
【氏名又は名称】荒船 博司
(74)【代理人】
【識別番号】100093045
【弁理士】
【氏名又は名称】荒船 良男
(74)【代理人】
【識別番号】110001209
【氏名又は名称】特許業務法人山口国際特許事務所
(72)【発明者】
【氏名】サム・ジェイ・ストリックリング
(72)【発明者】
【氏名】ダニエル・エス・フローリック
(72)【発明者】
【氏名】ミッシェル・エル・ボールドウィン
(72)【発明者】
【氏名】ジョナサン・サン
(72)【発明者】
【氏名】リンヤン・チェン
【テーマコード(参考)】
2G132
【Fターム(参考)】
2G132AA18
2G132AB07
2G132AD10
2G132AE24
2G132AH02
2G132AL15
2G132AL16
2G132AL26
(57)【要約】      (修正有)
【課題】大量の試作品及び生産部品をスクリーニングし、電気特性が動作に影響を与えるほど変化したケースを特定する。
【解決手段】マージン・テスタ102は、従来のBERT及びオシロスコープよりも低コストで、使いやすく、高速であり、完全な装荷とクロストークを伴う標準的な動作状態のフルのマルチ・レーンI/Oリンクについて動作できる。マージン・テスタ102は、被試験デバイス104を使って通常利用可能なマルチ・レーン高速I/Oリンクのレシーバの電気的マージンを、一方向又は両方向で同時に評価する。特定技術向けの形態において、マージン・テスタ102の実施形態は、被試験マザーボードのマザーボード・スロットを試験するアドイン・カード・マージン・テスタとして実現されても良いし、又は、アドイン・カードを試験するためのスロットを有するマザーボードとして実現されても良い。
【選択図】図1
【特許請求の範囲】
【請求項1】
試験装置であって、
被試験デバイス(DUT)に接続された少なくとも1つのインタフェースと、
該インタフェースに接続された1つ以上のレーンと、
上記1つ以上のレーンを通して上記少なくとも1つのインタフェースに結合されたコントローラと
を具え、
上記コントローラが、被試験デバイス(DUT)とシングル・レーン又はマルチ・レーン高速入出力(I/O)リンクを確立し、上記試験装置が送信(Tx)及び受信(Rx)方向の一方又は両方で、上記シングル・レーン又はマルチ・レーン高速I/Oリンクの電気的マージンを評価するように構成される試験装置。
【請求項2】
上記DUTを伴う上記シングル・レーン又はマルチ・レーン高速I/Oリンクが、特別な試験モードのない、フルに動作している通常使用可能なリンクである請求項1の試験装置。
【請求項3】
アドイン・カードの印刷回路基板(PCB)を更に具え、
上記DUTはマザーボードであり、上記アドイン・カードは、上記マザーボード上のコネクタに差し込まれ、上記シングル・レーン又はマルチ・レーン高速I/Oリンクの各レーンの物理層及びリンク論理層を実装するように構成される請求項1又は2の試験装置。
【請求項4】
上記コントローラが、少なくともマージン・テスト・トランスミッタに調整可能なストレスを導入するか、又は、少なくともレーン毎のスキューの量を変化させるように構成されることによって、上記シングル・レーン又はマルチ・レーン高速I/Oリンクの電気的マージンを評価するように構成される請求項1から3のいずれかの試験装置。
【請求項5】
上記1つ以上のレーンの夫々がトランスミッタとレシーバを有し、上記コントローラが、上記トランスミッタの夫々を対応するレシーバの夫々に結合することによって校正を実施するよう更に構成される請求項1の試験装置。
【請求項6】
上記DUTは、被試験相互接続部であり、上記コントローラが、上記被試験相互接続部を試験するために、ベクトル・ネットワーク・アナライザ・モードをアクティブにするよう更に構成される請求項1の試験装置。
【請求項7】
被試験デバイス(DUT)の電気的マージンを試験する方法であって、
上記DUTをマージン・テスタの複数のレーンに結合する処理と、
上記複数のレーンを通して上記DUTとマルチ・レーン高速I/Oリンクを確立する処理と、
上記試験装置によって、上記マルチ・レーン高速I/Oリンクの各高速入出力(I/O)レーンについて、伝送(Tx)及び受信(Rx)方向の一方又は両方で、電気的マージンを評価する処理と
を具える方法。
【請求項8】
上記電気的マージンを評価しているときに、レーン毎にスキューの量を変化させる処理を更に具える請求項7の方法。
【請求項9】
上記電気的マージンを評価しているときに、トレーニング状態に対する電気的マージンのログを捕捉する処理を更に具える請求項7又は8の方法。
【請求項10】
上記レーンの夫々がトランスミッタ及びレシーバを有し、上記方法が、上記トランスミッタを上記レシーバに結合して校正を実施することによって上記試験装置を校正する処理を更に有する請求項7から9のいずれかの方法。
【請求項11】
被試験デバイス(DUT)に結合するよう構成される1つ以上のレーンと、
上記1つ以上のレーンを通して、上記DUTとシングル・レーン又はマルチ・レーン高速入出力(I/O)リンクを確立し、
上記試験装置が送信(Tx)及び受信(Rx)方向の一方又は両方で、上記シングル・レーン又はマルチ・レーン高速I/Oリンクの電気的マージンを評価する
ように構成される1つ以上のコントローラと
を具えるマージン・テスタ。
【請求項12】
上記1つ以上のコントローラが、ルート・コンプレックス又はエンド・ポイントとして機能して、上記マージン・テスタで上記DUTとシングル・レーン又はマルチ・レーン高速I/Oリンクを確立するよう更に構成される請求項11のマージン・テスタ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示技術は、試験測定システムに関し、特に、電気的な被試験デバイス(DUT)について、高速電気的マージン試験を行うためのシステム及び方法に関する。
【背景技術】
【0002】
電気デバイスの設計者及びメーカーは、デバイスが正常に機能することを確認するために、試験測定装置と適切な試験手順を必要とする。このような試験は、例えば、デバイスの実際の電気性能を、シミュレーションした性能と比較して、デバイスが設計どおりに動作していることを確認するために、新しいデバイスを設計するエンジニアリング特性評価段階で行っても良い。また、このような試験は、製造された各デバイスの製造上の欠陥を発見するために、エンジニアリング設計が完了した後の、生産製造環境で行っても良い。
【0003】
多くの電気デバイスは、高速I/O信号パスやバスを含むように設計されている。例えば、最近のパーソナル・コンピュータ(PC)のマザーボードは、他の種類の電気デバイスと同様に、多くの場合、高速シリアル PCI Express(PCIe又はPCI-e)バスを有しており、これは、PCI Express高速シリアル・コンピュータ拡張バス規格に準拠して動作するバスである。PCI Express 規格のフォーマット仕様は、PCI-SIG(PCI Special Interest Group)によって維持及び開発されている。これらバスは、典型的には、マザーボード上のPCIeコネクタ・スロット又はポートに挿入されるアドイン・カード/ドーター・カード(daughter card:追加カード)と、マザーボードとの間の通信に使用される。マザーボード以外の多くの電気デバイスも、高速I/O用のPCIeバスとコネクタを採用している。PCIe第4世代(Gen 4 又はバージョン4)デバイスは、1秒あたり最大16ギガ転送(GT/s)の帯域幅を実現できる。PCIe第5世代(Gen 5 又はバージョン5)デバイスは、最大32GT/sの帯域幅を実現できる。
【0004】
PCIeデバイスは、相互接続又はリンクと呼ばれる論理的な接続を介して通信する。リンクは、2つのPCIeポート間のポイント・トゥ・ポイント通信チャンネルであり、同時双方向トラフィックを可能にする。物理レベルでは、リンクは1つ以上のレーンで構成される。低速 PCIe デバイスはシングル・レーン(x1)リンクを使用する一方、グラフィックス・アダプタなどの高速PCIeデバイスは、通常、もっと広くて高速な16レーン(x16)リンクを使用する。1つのレーンは、2つの差動シグナリング・ペアで構成され、このとき、1つのペアはデータ受信用であり、他方は送信用である。従って、各レーンは、4本の配線又は信号トレースで構成される。従来、PCIeデバイスのレーンの性能は、ビット・エラー・レート・テスタ(BERT)や、高速信号発生装置及びオシロスコープ(スコープ)を使用して試験されている。
【0005】
プリント回路基板(PCB)開発のエンジニアリング・ベンチ試験やエンジニアリング特性評価段階では、ボード設計の高速ルート(PCIe相互接続など)がシミュレートされる、つまり、設計の「レシピ(方法)」又は基準となる設計がフォローされる。しかし、全ての高速I/O用のボードの各サンプルや各レーンをビット・エラー・レート試験装置(BERT)及びオシロスコープで試験するのは、コスト、時間及び複雑さの制約に起因して、現実的ではない。特に、PCIeのような高速I/O規格を試験するための従来のBERT及びオシロスコープは、データ・レートの増加と共に、コストと複雑さが増加し続けている。一度に1つのPCIeレーンを試験するための単一のTx及びRx試験ステーションは、100万ドル以上の費用がかかることがある。また、これら装置は、従来のTx及びRx試験や校正のために使用するのが難しく、また、正確な測定値を得ると共に装置を良い状態で動作するよう維持するのを確かなものとするには、エキスパート(博士号レベル)のユーザと、相当な量の時間が必要となる。これらの制約の結果として、従来のBERTとオシロスコープは、試作品のシリコン、ボード、PCB、ケーブルの大量の電気試験ではあまり使用されておらず、通常、生産試験では、全く使用されていない。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許出願公開第2008/0192814号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、32.0 GT/s の PCI Express 5.0のように、I/Oリンクのデータ・レートが増加するにつれて、小さな問題や微妙な問題でさえも、これらのI/Oリンクの性能に大きな影響を与えるというリスクが高まり、そして、生産の前に問題を防ぐため、全ての試作品のサンプル、ポート、レーンの電気性能の問題にフラグを立てると共に、生産ラインで全てのユニットの電気性能を試験して生産に関連する問題(不良部品等)をキャッチし、これら問題が顧客の問題と返品に至らないように、何らかの試験を行うことの重要性が増している。更に、従来のBERTとオシロスコープでは、一度に1つのレーンでしか試験を行えないので、この試験は、これらのI/Oリンクの実際の動作とは異なる環境で行われることになる。即ち、実際の動作中では、通常、マルチ・レーン・リンクを形成して深刻なクロストークと装荷(loading)の問題が起こりえる環境であり、従来のBERTとオシロスコープの試験では、試験を行ったとしても、この環境を扱えない。同様に、製造試験環境において、所定の設計の複数のPCBを組み立てて試験する場合、生産ラインでは、コスト、時間及び複雑さの制約から、高速I/O試験のために、通常、BERT及びオシロスコープを使用していない。
【0008】
そのため、大量の試作品及び生産部品をスクリーニングし、動作に影響を与えるほど電気特性が変化した場合を特定できる新しいタイプの計器(instrument)の必要性が高まっている。この計器は、従来のBERTやオシロスコープと比較して、低コストで非常に使いやすく、非常に高速である点において、最も高い価値があり、完全な形の装荷(loading)及びクロストークを伴う標準的な動作状態において、完全な形のマルチ・レーンI/Oリンクについて動作できる。全体として、各方向の高速I/Oレーン毎の電気的マージン(統計的に有効な動作マージン)を知ることは、全ての生産サンプルにわたって、設計(例えば、全ての生産サンプルについて、レーン毎に)とアセンブリ(例えば、特定のボード/レーンの原因)の両方の問題を見つける可能性を高める点で価値がある。
【0009】
従来のソリューションの一部は、最適近似としての機能試験だけに依存している(例えば、単純に「ゴールデン(golden:最高の)」デバイス、つまり、基準デバイスを挿入して、リンクの試験をフル・スピードで行う、など)。他の企業では、その企業のボード用のシリコン(半導体)において、オン・ダイ(on-die:ダイ上での)電気マージニング(マージン設定)を利用しているが、これは、一方向の情報のみを与えるもので、試験装置のように、校正/特性評価が行われたものではなく、その目的のために選ばれたアドイン・カード毎の個体差に対処して理解するという重大な仕事が残る。
【0010】
本願は、上記の技術的な問題を解決するための、高速入出力(I/O)マージン試験のためのシステム、デバイス及び方法を開示する。
【0011】
図面中のコンポーネントは、互いに対して必ずしも縮尺が同じではない。同様の参照番号は、複数の図面を通して、対応する部分を指定している。
【図面の簡単な説明】
【0012】
図1図1は、例示的な実施形態による高速入出力(I/O)マージン試験のためのシステム、装置及び方法の実施形態を実施しても良い環境の例を示す概略ブロック図である。
図2図2は、例示的な実施形態による実施形態の例によるPCI Express マザーボード・スロットをマージン試験するためのPCI Express高速シリアル・コンピュータ拡張バス規格に準拠した特定技術向けアドイン・カード・マージン・テスタの例を示すブロック図である。
図3図3は、実施形態の例によるPCI Express アドイン・カードをマージン試験するための、PCI Express高速シリアル・コンピュータ拡張バス規格に準拠した、スロットを有するマザーボード・マージン・テスタの例を示すブロック図である。
図4図4は、高速I/Oマージン・テスタによって行われた被試験デバイス(DUT)の例示的なマージン試験の結果と、このマージン試験の結果に基づいて特定されたDUTのアセンブリ又は生産の潜在的な問題を示す実施形態の例による図である。
図5図5は、高速I/Oマージン・テスタによって行われた被試験デバイス(DUT)の別の例示的なマージン試験の結果と、このマージン試験の結果に基づいて特定されたDUTのアセンブリ又は生産の潜在的な問題を示す実施形態の例による図である。
図6図6は、例示的な実施形態による汎用マージン・テスタを示すブロック図であり、このとき、複数のインタフェースは、送信(Tx)及び受信(Rx)方向の両方向で、DUTのマルチ・レーン高速I/Oリンクの電気的マージンを評価するために、少なくとも1つの試験フィクスチャにケーブルで接続されるよう構成される。
図7図7は、Tx及びRx方向の両方向でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するための例示的な実施形態によるマージン・テスタの下位レベルのブロック図である。
図8図8は、実施形態の例による設定されたフィールド・プログラマブル・ゲート・アレイ(FPGA)の例のブロック図であり、これは、Tx及びRx方向の一方向又は両方向で、DUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するために、マージン・テスタのコントローラ中で利用できる。
図9図9は、例示的な実施形態によるFPGAの出力駆動オプションの例のブロック図であり、これらは、Tx方向でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するために、マージン・テスタのコントローラで利用しても良い。
図10図10は、実施形態の1例によるDUTをマージン試験するための例示的な方法1000のフロー図である。
図11図11は、Tx及びRx方向の一方又は両方で、DUTのマルチ・レーン高速I/Oリンクの電気的マージンをマージン試験する処理に基づいて、潜在的なDUTのアセンブリ又は生産上の問題を特定するための実施形態の1例による例示的な方法のフロー図である。
図12図12は、実施形態の一例によるユーザ選択可能なオプションに基づく電気的マージン評価の動作をマージン・テスタが開始するための例示的な方法のフロー図である。
図13図13は、実施形態の一例による校正されたマージン・テスタを提供するための例示的な方法1300のフロー図である。
図14図14は、実施形態の一例によるマージン試験を実行するためにDUTを設定するための例示的な方法のフロー図である。
図15図15は、Tx及びRx方向の両方向でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するための例示的な実施形態によるマージン・テスタの別の下位レベルのブロック図である。
図16A図16Aは、送信方向におけるリンク・トレーニング状態に対するマージンのプロットを示す。
図16B図16Bは、受信方向におけるリンク・トレーニング状態に対するマージンのプロットを示す。
【発明を実施するための形態】
【0013】
図1は、例示的な実施形態による、高速I/Oマージン試験のためのシステム、デバイス及び方法が実施されても良い例示的な環境を示す概略ブロック図である。一実施形態において、図示されるマージン・テスタ102は、例示的なDUT104のマルチ・レーン高速I/Oリンク110のTx及びRx方向の一方又は両方についての動作の電気的レシーバのマージンを評価する。図1のマージン・テスタ102は、本願に開示されるマージン・テスタの1つ以上の実施形態を表す。
【0014】
マージン・テスタ102は、マルチ・レーン高速I/Oリンク110の様々な観点を表すアイ・パターン表示又はデータ・アイ・ダイヤグラム108を処理、複製又は表示できる試験ステーション、PC、端末その他の表示装置106に結合されても良い。いくつかの実施形態では、試験ステーション、PC、端末その他の表示装置106は、マージン・テスタ102に統合されるか、又は、マージン・テスタ102の一部として統合されても良い。アイ・パターン表示又はデータ・アイ・ダイヤグラム108は、信号の電気的品質の主要なパラメータを迅速に可視化して決定することを可能にする高速デジタル信号の表現であり、よって、これからのデータを使用して、DUTの統計的に有効な動作マージンを決定できる。アイ・パターン表示又はデータ・アイ・ダイヤグラム108は、デジタル波形から構成され、このとき、縦軸を信号振幅、水平軸を時間とし、個別のビット夫々に対応する波形の部分を単一のグラフに折り畳んでいる。波形の多数のサンプルに対して、この構成を繰り返すことで、結果として生じるグラフは、信号の平均的統計量を表し、アイ(eye:目)に似ている。アイの開口は、1ビット周期に対応し、通常、アイ・パターン表示又はデータ・アイ・ダイヤグラム108のユニット・インターバル(UI)幅と呼ばれる。ビット周期は、アイの交差点でのアイ・ダイヤグラムの水平開口の大きさであり、高速デジタル信号については、通常、ピコ秒単位で測定される(即ち、5Gbpsの信号には、200ピコ秒が使用される)。そのデータ・レートは、ビット周期の逆数(1/ビット周期)である。ビット周期は、アイ・ダイヤグラムを説明するときには、一般に、ユニット・インターバル(UI)と呼ばれる。水平軸上で実際の時間ではなくUIを使用する利点は、正規化され、異なるデータ・レートのアイ・ダイヤグラムを簡単に比較できることである。アイ幅は、アイ・ダイヤグラムの水平方向の開口の大きさである。これは、アイの交差点の統計的な平均の差を測定することによって算出される。立ち上がり時間は、アイ・ダイヤグラムのデータの上方向の傾きの平均的な遷移時間の大きさである。その測定は、通常、傾斜の20%と80%のレベル又は10%と90%のレベルにおいて行われる。立ち下がり時間は、アイ・ダイヤグラムのデータの下方向の傾きの平均的な遷移時間の大きさである。その測定は、通常、傾斜の20%と80%のレベル又は10%と90%のレベルにおいて行われる。ジッタは、データ・ビット・イベントの理想的なタイミングからの時間偏差であり、高速デジタル・データ信号の重要な特性である。ジッタを計算するために、アイ・ダイヤグラムの立ち上がりエッジ及び立ち下がりエッジの遷移の交差点における時間偏差が測定される。変動(Fluctuation)は、ランダム又はディターミニスティック(deterministic:決定論的)となり得る。偏差の時間ヒストグラムを分析すれば、ジッタ量を求められる。ピーク・トゥ・ピーク(peak-to-peak:p-p)ジッタは、全てのデータ・ポイントの存在を意味するヒストグラムの全幅として定義される。二乗平均平方根(RMS)ジッタは、ヒストグラムの標準偏差として定義される。高速デジタル信号でのジッタ測定の単位は、通常、ピコ秒である。
【0015】
マージン・テスタ102の実施形態は、「特定技術向け及び汎用」の少なくとも2つの形態を取ることができる。マージン・テスタ102は、任意のリンク幅(レーン数)の任意の高速I/Oプロトコル・リンクで使用でき、そして、限定するものではないが、ノン・リターン・トゥ・ゼロ(NRZ)、パルス振幅変調3(PAM-3)、パルス振幅変調4(PAM-4)などの任意の形式の任意の高速差動シグナリングで使用できる。試験に関する具体的な実施形態の例として、PCI Expressを使用するが、異なる高速シリアルバス規格、ハードウェア及びプロトコルを使用しても良い。
【0016】
図2は、実施形態の例によるPCI Express マザーボード・スロット206をマージン試験するためのPCI Express高速シリアル・コンピュータ拡張バス規格に準拠した例示的な特定技術向けアドイン・カード・マージン・テスタ202を示すブロック図である。
【0017】
1つの特定技術向けの形態では、マージン・テスタの実施形態は、PCI Expressアドイン・カード・マージン・テスタ202として実装され、被試験マザーボード204のPCI Expressマザーボード・スロット206を試験する。例えば、PCI Expressアドイン・カード・マージン・テスタ202は、PCI Express x16 CEM(card electromechanical specification)フォーム・ファクタ・アドイン・カードであっても良い。特定技術向けの形態の別の実施形態では、マージン・テスタの実施形態は、PCI Expressスロットを有するマザーボードとして実装されて、PCI Expressアドイン・カードを試験できる(これは、図3に示される)。
【0018】
PCI Express アドイン・カード・マージン・テスタ202は、特定の PCI Express フォーム・ファクタ用の標準のPCI Express 準拠のアドイン・カードのフォーム・ファクタ形式であっても良い(例えば、CEM又はM.2(以前は次世代フォーム・ファクタ(NGFF)と呼ばれていた)又はU.2(以前はSFF-8639)と呼ばれていた)など)。PCI Expressアドイン・カード・マージン・テスタ202は、各レーンについて、準拠したPCI Express物理及び論理リンク層を実装するPCB212及び1つ以上のコンポーネントを有していても良い。PCI Expressアドイン・カード・マージン・テスタ202は、PCB212とコントローラ210と結合された複数のインタフェース(コネクタ208など)を有していても良い。当業者であればわかるように、コントローラ210は、1つのコントローラに限定されず、2つ以上のコントローラが連携して動作しても良い。このようなインタフェースは、マザーボード・スロット206に接続される複数のコネクタ208と、マージン・テスタ・トランスミッタとを含み、これは、コントローラ210の制御下で、制御されたノイズ(例えば、電圧振動及び正弦ジッタによる)を導入する能力をオプションで有し、被試験マザーボード204のレシーバにおいて期待されるアイ・マージンを、被試験マザーボード204上でソフトウェアを実行する必要なしに、タイミング又は電圧マージンに関して、特定の目標(ターゲット)へと変化させることができる。また、コントローラ210は、メモリ214に連結されていても良く、これは、本願に記載される機能を実施するために、コントローラ210が読み取り、使用や実行することのある命令及び他のデータを記憶できる。
【0019】
マージン・テスタ102の様々な実施形態(特定技術向けPCI Express アドイン・カード・マージン・テスタ202、特定技術向けマザーボード・マージン・テスタ302及び汎用マージン・テスタ602などがある)は、ノイズ導入機能があっても良いし、無くても良い。コストを意識した生産試験では、ノイズ導入機能がない方が、より魅力的かもしれない。準拠した物理レイヤの実施形態中のマージン・テスタ・レシーバには、PCI Express 4.0/5.0のレーン・マージン仕様に定義されているようにリンクにマージンを設ける能力があっても良いが、付加的な、より洗練されたオン・ダイ・マージン設定能力を有していても良い。1つの実施形態では、マージン・テスタ・レシーバが、アイ・マージンについて、独立したエラー検出器を動かし、データ・サンプラを使ってミスマッチを比較することによって、測定しても良い。1つの実施形態では、マージン・テスタ102(特定技術向けPCI Express アドイン・カード・マージン・テスタ202、特定技術向けマザーボード・マージン・テスタ302及び汎用マージン・テスタ602などがある)に、本願記載の機能を実施させるコントローラ210は、フィールド・プログラマブル・ゲート・アレイ(FPGA)及びFPGA I/Oで実現されても良く、これは、図7から図9で更に詳しく示される。しかし、設定変更可能なコントローラ・ハードウェア、ファームウェアやソフトウェアの別の組み合わせを使用しても良い。
【0020】
図3は、実施形態の例によるPCI Express アドイン・カードをマージン試験するための、PCI Express高速シリアル・コンピュータ拡張バス規格に準拠した、スロットを有する例示的な特定技術向けマザーボード・マージン・テスタ302を示すブロック図である。
【0021】
マザーボード・マージン・テスタ302は、本願に開示されるマージン・テスタ102の特定技術向け実施形態の別の例であり、図3に示すPCIe x16アドイン・カードDUT304のようなPCI Expressアドイン・カードを試験するためのPCI Express スロット306を1つ以上有するマザーボード・マージン・テスタ302として実現される。マザーボード・マージン・テスタ302は、PCB312とコントローラ210とに結合された複数のインタフェース(例えば、1つ以上のPCI Expressスロット306)を有していても良い。例えば、このようなインタフェースは、1つ以上のPCI Expressスロット306を有していても良く、ここに、試験をするために、PCIe x16アドイン・カードDUT304が挿入されても良い。マージン・テスタ・トランスミッタは、コントローラ210の制御下で、例えば、電圧振動及び正弦ジッタ(図8及び図9に関して更に後述)による制御されたノイズを導入する能力をオプションで有しており、このため、PCIe x16アドイン・カードDUT304のレシーバにおいて期待されるアイ・マージンを、PCIe x16アドイン・カードDUT304上でソフトウェアを実行する必要なしに、タイミング又は電圧マージンに関して、特定の目標(ターゲット)へと変化させることができる。例えば、コントローラ210は、少なくともマージン・テスト・トランスミッタ上でジッタを導入することによってアイ幅開口の減少を導入する(又は、他のアイ幅低減方法を実施する)ように構成されることによって、シングル・レーン又はマルチ・レーン高速I/Oリンクの電気的マージンを評価するように構成されても良く、このとき、ジッタの導入は、シングル・レーン又はマルチ・レーン高速I/Oリンクの全レーンに同時に適用されるか、あるいは、シングル・レーン又はマルチ・レーン高速I/Oリンクのレーン毎に独立に適用されるかを選択可能である。また、コントローラ210は、少なくともマージン・テスト・トランスミッタ上でジッタを導入することによってアイ高さ開口の減少を導入する(又は、他のアイ高さ低減方法を実施する)ように構成されることによって、シングル・レーン又はマルチ・レーン高速I/Oリンクの電気的マージンを評価するように構成されても良く、このとき、ジッタの導入は、シングル・レーン又はマルチ・レーン高速I/Oリンクの全レーンに同時に適用されるか、あるいは、シングル・レーン又はマルチ・レーン高速I/Oリンクのレーン毎に独立に適用されるかを選択可能である。コントローラ210は、複数のレーンに渡ってレーン毎に少なくともスキュー量を変化させるように構成されることによって、シングル・レーン又はマルチ・レーン高速I/Oリンクの電気的マージンを評価するように更に構成されても良い。
【0022】
コントローラ210は、メモリ214に連結されていても良く、これは、本願に記載される機能を実施するために、コントローラ210が読み取り、使用や実行することのある命令及び他のデータを記憶できる。
【0023】
耐久性及び挿入回数は、マージン・テスタ102の特定技術向け実施形態(特定技術向けPCI Express アドイン・カード・マージン・テスタ202及び特定技術向けマザーボード・マージン・テスタ302などがある)の重要な問題である。このため、PCB212及びPCB312は、マージン試験ユニットの残りの部分を交換することなく、消耗時には低コストで交換されるように構成されたアダプタを使用して、マージンの特性を測定できるように、実現されても良い。例えば、交換可能なアダプタが、1つ以上のPCI Express スロット306やコネクタ208に結合され、特定の使用量の後に消耗するように構成されても良い。すると、この場合では、アダプタが消耗したらアダプタを交換すれば良く、PCI Expressアドイン・カード・マージン・テスタ202又はマザーボード・マージン・テスタ302の残りの部分を交換することはない。
【0024】
図4は、高速I/Oマージン・テスタ102によって行われたいくつかのDUTの例示的なマージン試験の結果と、このマージン試験の結果に基づいて特定されたDUTのアセンブリ又は生産の潜在的な問題を示す実施形態の例による図402である。
【0025】
実施形態の例では、マージン試験には、マージン・テスタ102により、複数の被試験デバイス(DUT)の中の各DUTについて、アイ幅マージンのタイミングを、Tx方向及びRx方向の一方向又は両方向で、DUTのマルチ・レーン高速I/Oリンクの各高速入出力(I/O)レーンについて、評価する処理があっても良い。マージン・テスタ102は、次に、複数のDUTの中のいくつかのDUTについて、これらいくつかのDUTにわたる異なるレーンについて所定の閾値を夫々下回るアイ幅マージンのタイミング測定値を検出しても良い。次いで、DUTのアセンブリ又は生産の潜在的な問題が、上記いくつかのDUTについて、これらいくつかのDUTにわたる異なるレーンについて所定の閾値を夫々下回るアイ幅マージンのタイミング測定値の検出に基づいて(マージン・テスタ102によって視覚的又は自動的に)検出されても良い。
【0026】
一実施形態における一例としては、図2に示すアドイン・カード・マージン・テスタ202のようなアドイン・カード・マージン・テスタが、PCIe x8 スロットを有するマザーボードの試作品サンプルのベンチ試験/特性評価に使用されても良い。以下の例示的な試験手順は、アドイン・カード・マージン・テスタ202を用いて、各レーンについて同時に数ミリ秒に渡り、スロットに関して、E-6タイミングのアイ幅マージン(左+右)が測定されて、実施されても良い。本例は、簡単のため、時間測定だけであるが、別の実施形態は、他の測定があっても良い。本例における各測定は、3回行われる。しかし、これは様々な実施形態において、ユーザがプログラム可能であっても良い。図402に示す測定は、マザーボードDUTレシーバに加えて、マージン・テスタ・レシーバで行われている。測定は、マザーボードDUTレシーバで行われ、そして、2つの方法で行うことができる。最初の方法は、マージン・テスタのジッタ(Sj)と電圧スイング・スイープを利用しても良い。第2の方法は、マザーボード・レシーバでのオン・ダイ・マージン試験を利用しても良い。例えば、マザーボード・レシーバでのオン・ダイ・マージン試験は、アドイン・カード・マージン・テスタ202のコントローラ210の制御下で、マザーボードDUTに接続された起動可能な(bootable)ドライブ上のソフトウェアによってか、又は、速度をサポートするためにマザーボードDUT上のBIOS(basic input/output system)ソフトウェアによって実行されても良い。この例では、測定は、16GT/sで行われるが、変更しても良く、ユーザが設定変更可能としても良い。
【0027】
上記試験手順例では、試験レシーバにおける平均マージンに関して、図402に示す例示的な結果を得ることができる。図402に示すように、DUT#1からDUT#5までの5つのDUT全てを通して、レーン2についての一貫した低マージンは、潜在的な設計上の問題の指標である可能性がある。対照的に、DUT#1のレーン4、DUT#3のレーン0、DUT#4のレーン6の低マージンは、これらの特定のDUT上の特定のレーンに係る潜在的なアセンブリ又は生産上の問題の指標である可能性がある。
【0028】
図5は、高速I/Oマージン・テスタによって行われたDUTの別の例示的なマージン試験の結果と、このマージン試験の結果に基づいて特定されたDUTのアセンブリ又は生産の潜在的な問題を示す実施形態の例による図である。
【0029】
DUTレシーバにおける電圧スイング及びSj平均マージンに関して図5図502に示されている結果の例でも、潜在的な設計の問題や潜在的なアセンブリの問題について同様の指標が見られることがある。図502に示すように、DUT#1からDUT#5までの5つのDUT全てを通して、レーン1についての一貫した低マージンは、潜在的な設計上の問題の指標である可能性がある。対照的に、DUT#1のレーン0、DUT#1のレーン5、DUT#2のレーン7の低マージンは、これらの特定のDUT上の特定のレーンに係る潜在的なアセンブリ又は生産上の問題の指標である可能性がある。
【0030】
本開示技術の実施形態の更なる特徴としては、コントローラ210の制御(例えば、設定された(configured)FPGAに従って命令を実行したり、別の非一時的なコンピュータ可読記憶媒体から読み込んだり)の下で実行しても良い以下の機能があっても良い。1つ以上の異なる高速I/Oプロトコルを選択し、それを使ってDUTのマルチ・レーン高速I/Oリンクに基づいてマージン試験を実行する機能。雑多なプロトコルを同時に使ってDUTの複数のポートを試験する機能。マルチ・レーン高速I/Oリンクについて、マージン・テスタのマージン試験を任意の回数実行する間の実行処理毎のマージンの変動を出力する機能。Txの等化処理(EQ:Equalization)トレーニングが原因で、どの程度マージンが変動するかを試験するために、DUTについてTxの調整(fix)された等化処理(EQ)を実装する機能。マージン・テスタのレシーバにおいて調整(fix)された連続時間線形等化処理(CTLE:continuous time linear equalization)を使用して、DUTのマルチ・レーン高速I/Oリンクのマージンに対するレシーバの等化処理の影響を試験する機能。マージン・テスタのレシーバにおいて判定帰還型等化処理(DFE:decision feedback equalization)を使用して、DUTのマルチ・レーン高速I/Oリンクのマージンに対するレシーバの等化処理の影響を試験する機能。ターゲットのチャンネルに基づいて、マージン・テスタの期待マージンを計算する機能。マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として低マージンが検出された場合に、デバッグ情報を自動的に生成する機能。可変シンボル間干渉(ISI)信号源(ソース)の使用に切り替えて、どの程度のシンボル間干渉(ISI)で、マルチ・レーン高速I/Oリンクのレーンに障害(fail:フェイル)が生じるかを見つける機能。各レーンを個別に試験して、DUTのマルチ・レーン高速I/Oリンクのクロストークが原因のマージン損失の量を特定する機能。マージン・テスタのレシーバのDFEをオフにして、DFEがある場合とない場合のマージンと、マルチ・レーン高速I/Oリンクに関連する各チャンネルの非線形不連続の量とを評価する機能。基準レシーバと典型的なチャンネルとを使って期待マージンを示し、これによって、1つのDUT及び複数のDUTのマルチ・レーン高速I/Oリンクの全てのレーンにわたって期待より低いマージンで一貫している場合でも、期待より低いマージンにフラグを付ける機能。マルチ・レーン高速I/Oリンクの複数の速度の中から選択し、それについて電気的マージンの評価を実施する機能。プロトコル固有の知識を使用して、マージン・テスタによってマルチ・レーン高速I/Oリンク上の反対方向を進むトラフィックに基づいて、DUTのレシーバでいつエラーが発生したかを推量し、DUT上のソフトウェア無しで、マージン・テスタが生産ライン上でマージン試験を実施できるようにする機能。マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として、検出された低マージン・チャンネルの時間領域反射率測定(TDR:time-domain reflectometry)値を自動的に捕捉する機能。マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として、低マージンが検出された場合に、オシロスコープへの自動接続を実施して、デジタル化波形を自動的に捕捉する機能。そして、ソフトウェア・プラグインを提供して、DUTのシリコンを設定することによって、DUTについてユーザ選択可能なオプションを1つ以上設定し、1つ以上のユーザ選択可能なオプションを実装する機能。上記の全ての機能の一部は、コントローラ210の制御下で、マージン・テスタ102を操作するためのユーザ選択可能なオプションとしても提供されて良い。
【0031】
本開示技術の実施形態の更なる機能としては、コントローラ210の制御の下で行われるトリガ機能があっても良い。即ち、マージン・テスタ102には、プログラマブル(プログラム可能な)トリガ信号の入力又は出力があっても良い。即ち、コントローラ210で受信した信号に起因して試験が行われるか(トリガ信号入力)、又は、試験中に特定のイベントが発生したら、トリガ信号として機能する信号が、コントローラ210で生成されても良い(トリガ信号出力)。このプログラマブル・トリガ信号は、いくつか例では、ユーザが選択可能なオプションによって設定されても良い。例えば、上述のように、コントローラ210は、マルチ・レーン高速I/Oリンクの電気マージンの評価の結果として検出された低マージン・チャンネルの時間領域反射率測定値(TDR)を自動的にキャプチャするようにしたり、マルチ・レーン高速I/Oリンクの電気マージンの評価の結果として低マージンが検出されたときに、オシロスコープへ自動的に接続して、デジタル化波形を自動的に捕捉(キャプチャ)するようにしても良い。
【0032】
即ち、コントローラ210は、コントローラ210によって特定のイベント又は測定が行われたときにトリガ信号を出力しても良いし、また、コントローラ210は、コントローラ210で受信したトリガ信号に基づいて動作しても良い。
【0033】
トリガ信号は、例えば、トランスミッタ又はレシーバの測定値が、指定されたアイ幅又は指定されたアイ高さを下回っている場合に、コントローラ210によって生成されても良い。加えて又はこれに代えて、コントローラ210は、トランスミッタ又はレシーバの2次元アイ測定値が、指定されたアイ形状又はアイ・マスクを下回るときにトリガ信号を生成しても良い。また、コントローラ210は、レシーバのマージンが、一定の電圧その他の測定値よりも小さい場合にトリガ信号を生成しても良い。更に、トリガ信号は、PCIeリンクがトレーニングしているときのLTSSM(Link Training and Status State Machine)の何らかの状態遷移か、又は、特定のLTSSMの状態においてか又は特定のPCIeパケットにおいて、エラーが特定のレーンにエラーが導入されたときに生成されても良い。
【0034】
いくつかの例では、ユーザ選択可能な操作装置を使用して、プログラム可能な遅延を、特定のイベントとトリガの間に指定することもできる。加えて又はこれに代えて、このイベント形式用の低速エンコーディングに、もう1つ別のトリガ・モードを用意しても良く、そして、このモードを使用するトリガのような特定のマージン・テスタのモデルをオシロスコープに対して定義することもでき、このとき、このオシロスコープは、このマージン製品(margin product)と同じクロック・データ・リカバリ、連続時間線形等化処理(continuous time linear equalization)及び判定帰還型等化処理(decision feedback equalization)を使うというように、自動的に設定及び後処理(post-process)を行う。
【0035】
コントローラ210の設定によるトリガは、多数の様々なモードにプログラムできる。例えば、リセット/リンク・トレーニングの有無にかかわらず、リンク速度を含む構成設定(コンフィギュレーション:cofiguration)又は設定(setting)に基づいて、信号中のトリガをコントローラ210が受信できる。この構成設定が行われた場合、コントローラ210は、マージン測定を行うことができる。加えて又はこれに代えて、コントローラ210は、プログラマブルなエラーが導入されたときに信号中のトリガを受信し、コントローラ210で信号中のトリガを受信したときにマージン測定を行うことができる。
【0036】
図6は、例示的な実施形態による汎用マージン・テスタ602を示すブロック図であり、このとき、複数のインタフェース604は、Tx及びRx方向の一方向又は両方向で、DUTのマルチ・レーン高速I/Oリンクの電気的マージンを評価するために、例えば、1本以上のケーブルを介して、少なくとも1つの試験フィクスチャ(fixture:治具)に接続されるよう構成される。
【0037】
汎用マージン・テスタ602は、コントローラ210と、関連するメモリ214とを有し、これは、コントローラ210が読み取り、使用や実行をして、本願記載の機能を実施するための命令及び他のデータを記憶しても良い。汎用マージン・テスタ602には、いくつかのレーンがあり、これらは、標準のPCI Expressコンプライアンス・ロード・ボード(CLB:Compliance Load Board)などのインタフェース604を介して標準的な試験フィクスチャに接続(例えば、ケーブル接続)でき、コントローラ210の制御下で、マージン・テスタの特定技術向け実施形態(例えば、アドイン・カード・マージン・テスタ202とマザーボード・マージン・テスタ302)と同じ試験を実施する。加えて、汎用マージン・テスタ602は、複数のプロトコルをサポートし、汎用マージン・テスタ602の設定(configuration)ソフトウェアには、様々なプロトコル及びホスト/デバイスの役割のためにレーンを設定するオプションがある。汎用マージン・テスタ602は、アドイン・カードを試験するための標準のPCI Expressコンプライアンス・ベース・ボード(CBB)などの試験フィクスチャにケーブル接続することによって、アドイン・カードを試験するためにも使用できる。汎用マージン・テスタ602のインタフェース604は、高速差動信号夫々用の標準的な同軸コネクタ及びケーブルを有していても良いし、又は、別の様々な実施形態では、ケーブル数を最小限に抑え、1つのDUTから別のDUTへの切り替えをより効率的にするために、カスタムの高密度コネクタ及びフィクスチャを有していても良い。
【0038】
いくつかの例では、DUTが、試験対象が相互接続部(interconnect under test)の場合もあり、これは、従来は、ベクトル・ネットワーク・アナライザ(VNA)で試験されている。しかし、VNAは、多くの場合、コストがかかり、複雑である。また、VNA測定によって生成されるSパラメータ(scatter parameters)は、一般に、高周波数、特に高速シリアル・リンクの統計シミュレーションで使用される場合には、益々信頼性が低いと見なされる。
【0039】
しかし、本開示技術の例は、マージン・テスタ102を使用して、1つ以上のケーブルやPCBセグメントなどのパッシブ(受動的)又はアクティブ(能動的)な相互接続部を試験し、多くのレーン及び部品間の実際のマージン差を迅速に評価できる。これらの試験は、相互接続部の最悪のケースとリスクのレベルを簡単に特定できる。このように、マージン・テスタ102は、アクティブ又はパッシブな相互接続部(インターコネクト)を試験する「VNA」モードを含んでも良い。
【0040】
シングル・ポート・マージン・テスタを使用する場合、シングル・ポートのトランスミッタ(送信機)は、試験対象の相互接続部(被試験相互接続部)の片側に接続され、シングル・ポートのレシーバ(受信機)は、相互接続部の反対側に接続される。その後、非プロトコル(non-protocol)PRBSによるマージン試験を実行して、被試験相互接続部を試験できる。ただし、本開示技術の例では、被試験相互接続部を試験するのは、単一のマージン・テスタ102に限定されない。むしろ、試験は、被試験相互接続部に接続された1つのマージン・テスタ102の複数のトランスミッタと、被試験相互接続部の他方端に接続された別のマージン・テスタ102の複数のレシーバとを用いて実行することもできる。
【0041】
加えて又はこれに代えて、トレーニング後にアクティブなプロトコル状態の被試験相互接続部を測定するのに、マルチ・ポート・マージン・テスタ102を使用しても良い。このようなセットアップでは、被試験相互接続部を、マルチ・ポート・マージン・テスタ102の1つのポートに接続し、被試験相互接続部の反対側は、マルチ・ポート・マージン・テスタ102の別の異なるポートに接続しても良い。そして、被試験相互接続部を試験して、トレーニング後のアクティブなプロトコル状態のプロトコルでマージンを測定しても良い。これに代えて、マルチ・ポート・テスタ102ではなく、複数のマージン・テスタ102を使用して被試験相互接続部のマージン試験を実行しても良い。
【0042】
図7は、Tx及びRx方向の一方向又は両方向でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するための例示的な実施形態によるマージン・テスタ102の下位レベルのブロック図である。
【0043】
図示されているのは、FPGA714であり、サポート・ユニット710(イーサネット(登録商標)その他の通信機能を有していても良い)、システムに基準クロックを供給する時間基準(timebase)ユニット708、高速I/O(HSIO)出力ユニット702及びHSIO入力ユニット704に動作可能に接続される。また、マージン・テスタ102には、AC/DC電源ユニット716によって電力が供給されても良い。HSIO出力ユニット702及びHSIO入力部704は、I/Oコネクタ706にも動作可能に結合される。FPGA714は、プログラマブルな相互接続部によって接続された構成変更可能な論理ブロック(CLB:configurable logic block)のマトリックスに基づく半導体デバイスである。様々な実施形態において、マージン・テスタ102は、図示されたコンポーネントよりも、少ないか又は多いコンポーネントを有していても良く、また、図示された一部のコンポーネント若しくはコンポーネントの機能は、マージン・テスタ102と動作可能に通信するとしても、マージン・テスタ102の外部か若しくはマージン・テスタ102から分離されて配置されても良いし、又は、FPGA714内に配置されるか若しくは統合されても良い。
【0044】
FPGA714は、本願に記載されたマージン・テスタ102の機能を実行するなどのような所望のアプリケーション又は機能的要件のために、製造後に再プログラムできる。例えば、FPGA714のファームウェアは、マージン・テスタ102のリンク・レイヤー・ロジックを含む、標準PCI Expressアップストリーム・ポート(エンド・ポイントとも呼ばれ、アドイン・カード・マージン・テスタ202の実施形態のように、マザーボードを試験するためのもの)又は標準のPCI Expressルート・ポート(アップストリーム・ポート又はルート・コンプレックスとも呼ばれ、マザーボード・マージン・テスタ302の実施形態のように、アドイン・カードを試験するためのもの)として機能して、反対方向のトラフィックに基づいてDUTのレシーバでいつエラーが始まったかを推測し、エラーが発生するとマージン・ストレスを迅速に軽減し、致命的なリンク障害を防ぐ。いくつかの実施形態において、FPGA714が、FPGA714中にメモリ、インタフェースなどを組み込むことができるシステム・オン・モジュール(SoM)アーキテクチャを用いて実装されるか、さもなければ、SoMアーキテクチャを含めても良い。SoMは、例えば、高度なRISC(Reduced Instruction Set)マシン(元々はARM(Acorn RISC Machine)アーキテクチャ)を使用して実装することができる。
【0045】
構成設定(configuration)のアプリケーションやスクリプトは、FPGA714を介して実装されるか、又は別のアクセス可能なメモリ・デバイス又は他の非一時的なコンピュータ可読記憶媒体に記憶されても良く、これは、下記の1つ以上のオプションを伴う複数の実行処理(run)などを含めて、エンド・ユーザがマージン・テスタ102のマージン・テスタ・オプションを簡単に設定できるようにする。いくつかの実施形態では、ビット・エラー・レート(BER:bit error rate)の目標(ターゲット)のためのオプションを、マージンのスキャンに関して設定しても良い(E-6タイプのマージンについてはミリ秒単位、E-12タイプのマージンについては分単位)。例えば、そのような目標(ターゲット)としては、マージン、マージン・タイミングや電圧の回数、マージン・テスタ又はDUTトランスミッタのTx等化処理を調整(fix)する処理、マージン・テスタ・レシーバRxのCTLE及びDFEを調整(fix)する処理などがあるが、これらに限定するものではない。いくつかの実施形態では、オプションのアプリケーションやスクリプトが用意され、これがマージン・テスタ102からデータを取り出すと共に、ユーザが、複数の製品/サンプルに跨がる多量のマージン・データ・セットを見たり、平均、実行処理毎の変動、時間に対するトレンドを見たり、同じDUTの様々な設定オプション(調整Tx等化処理など)での多数の実行処理に跨がるマージンを比較するための視覚化ツールを提供する。いくつかの実施形態では、オプションのアプリケーション(これは、被試験マザーボードにインストールするために起動可能な(bootable)ドライブに実装されても良い)が用意され、これが、マザーボード試験のための追加オプションを解放する。この追加オプションには、L0の代わりにループバックで実行し、特定のパターンを使用する処理、DUTのトランスミッタからの電圧スイングとSjマージン設定処理の代わりに、オン・ダイ上でDUTのシリコン中のマージン設定機能を使用する処理、そして、両方で実行して、それらの結果を比較する処理がある。
【0046】
PCIe及び高速リンクのシミュレーションは、複雑な基準トランスミッタ及びとレシーバ(受信機)等化処理モデルなしでは生来的に閉じてしまうリンクのアイ・ダイヤグラムを予測するために、トランスミッタ(送信機)及びレシーバ(受信機)モデルと共に統計シミュレーション・ツールを使用することが、一般にますます増えている。シミュレーションモデルの最も一般的なフォーマットの1つは、IBIS-AMIである。
【0047】
本開示技術の例としては、限定するものではないが、例えば、マージン・テスタ102、シリコン及び相互接続のためのIBIS-AMIモデルのようなシミュレーション・モデルを生成することが含まれる。ユーザは、マージン・テスタ102のシミュレーション・モデルと、DUTチャンネルやシリコンの接続モデルとを使用し、統計的シミュレーション・ツールを使用して、どちらの方向でも予想されるマージンの結果をシミュレートできる。
【0048】
いくつかの実施形態では、オプションのプラグイン・モデルが用意され、これによって、もし特定のDUTシリコンにプラグインが提供されている場合には、マージン・テスタの設定アプリケーションが、そのDUTシリコン上のRx等化処理設定も設定可能になる。いくつかの実施形態では、個別のマージン試験ユニット毎に、オプションのIBIS-AMI(又は同様の)ソフトウェア・モデルを用意し、これを設計者やシステムインテグレーターが使用して、そのシミュレーション中に入れて、特定の顧客がセットアップのための試験制限/方法論を確立するのに役立てるようにする。IBIS-AMIは、マルチ・ギガ・ビット・シリアル・リンクの高速、正確、統計的に有意なシミュレーションを可能にするシリアライザ/デシリアライザ(SerDes)物理レイヤ(PHY)のモデリング規格である。いくつかの実施形態では、オプションのIBIS-AMIモデルが、顧客モデル(IBIS-AMI又はSパラメータ)と共にマージン試験ユニットについて用意され、精度と再現性を高めるためにディエンベッドされる、あるレベルのシステムを入れるための後続の取り組みでも利用できる。マージン・テスタ102の汎用モデルを、製造試験及び特性評価の一部として実施されるモデル、つまり、特定のマージン・テスタ102用に特に調整されたモデルとして提供できる。
【0049】
図8は、実施形態の例による設定されたフィールド・プログラマブル・ゲート・アレイ(FPGA)714の例のブロック図であり、これは、Tx及びRx方向の一方向又は両方向で、DUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するために、マージン・テスタ102のコントローラ210中で利用できる。
【0050】
種々の実施形態において、FPGA714は、図示されたコンポーネントよりも、少ないか又は多いコンポーネントを有していても良く、また、図示された一部のコンポーネント若しくはこれらコンポーネントの機能は、FPGA714と動作可能に通信するとしても、FPGA714の外部か又はFPGA714から分離されて配置されても良い。図示されているのは、SerDesを有していても良いローカル・エリア・ネットワーク(LAN)接続部802に動作可能に結合されるレジスタ・インタフェース804である。また、レジスタ・インタフェース804は、リンク・トレーニング及びステータス・ステート・マシン(LTSSM)Rxコントローラ806にも動作可能に結合される。マージン・テスタ102の動作の物理レイヤ(層)での処理の1つは、リンクの初期化及びトレーニング処理である。PCI Express デバイスでは、この処理は、リンク幅ネゴシエーション、リンク・データ・レート・ネゴシエーション、レーン毎のビット・ロック、レーン毎のシンボル・ロック/ブロック・アライメントなど、多くの重要なタスクを確立する。これらの機能は全て、LTSSMデバイスによって遂行され、このとき、LTSSMデバイスは、遠隔にあるリンク・パートナーから刺激とリンクの現在の状態を観察し、それに応じて応答する。また、レジスタ・インタフェース804は、LTSSMユニバーサル・シリアル・バス(USB)コントローラ808及び付加的なLTSSM USBコントローラ810のような、1つ以上の付加的なLTSSMコントローラ・ユニットにも動作作可能に結合される。図示した実施形態の例では、LTSSM Rxコントローラ806が、PCIe物理層(PHY)16x SerDes812に動作可能に結合され、また、LTSSM USBコントローラ808は、USB/サンダーボルト/ディスプレイポート(USB/TBT/DP)PHY x4ユニット814に動作可能に結合されている。
【0051】
マージン・テスタ102が、PCIeのような特定のプロトコルを試験しているとき、マージン・テスタ102は、そのプロトコルをフルに実行しており、リンクは、LTSSMコントローラ・ユニット806、808及び810によって、アクティブ状態へとトレーニングしているので、リンク状態を追跡できる。マージン・テスタ102のFPGA714は、トレーニングを進めながらマージン測定を繰り返し行い、一方向又は両方向の時系列のリンク・トレーニング状態に対する電気マージンのログを捕捉(キャプチャ)できる。
【0052】
リンク・トレーニング状態に対する電気的マージンは、一方の軸に時間とLTSSM状態をプロットし、もう一方の軸に方向毎のマージンやレーンなどをプロットすることによってユーザに表示されも良い。図16A及び16Bは、それぞれユーザに表示されても良い、送信プロット1600及び受信プロット1602を示す。プロット1600は、Tx方向に関するLTSSMの状態に対するマージンを示し、プロット1602は、Rx方向に関するLTSSMの状態に対するマージンを示す。例えば、x軸は、リンク状態(L0~Lnで示される)を示し、y軸は、マージンを示しても良く、これは、いくつかの例では、アイの面積で定義されても良い。
【0053】
ただし、ユーザは、例えば、マージン測定の時間を設定したり、このモードで使用されるDUTの送信又はレシーバのマージン測定(DUT送信マージン測定に高さ、幅、これら両方又は2次元のアイのどれを使用するか、LTSSMの状態変化についての連続的な測定又はLTSSMの状態変化状態変化夫々の測定、両方向又は一方向のDUT送信マージンの高さや幅の測定)を設定したりすることで、多種様々な方法で、このモードを設定できる。本開示技術の例は、DUTでリンク・トレーニングを進行させながらデータのログを生成し、ユーザに対して変化する値を座標で示し(プロットし)、ユーザが試験中に何が起こっているかを視覚化できるようにする。
【0054】
また、DUTのレシーバで期待されるアイのマージンが、DUT上で動作するソフトウェアを必要とせずに、タイミング又は電圧マージンに関して特定の目標に変化させることができるようにジッタ挿入ユニットを制御するために、FPGA714の一部として、又は、FPGA714に動作可能に結合されたジッタ制御ユニット816も存在する。
【0055】
スキュー制御ユニット826は、プログラマブル・スキューのコントローラ用のFPGA714の一部であるか、又は、FPGA714と動作可能に結合されていても良い。従来、複数のレーンにわたって様々な量のスキューをレーン毎に生成できる唯一の試験装置は、非常に複雑で高価なマルチ・レーンBERT(ビット・エラー・レート・テスタ)であった。しかし、マルチ・レーンのBERTは、PCIeのような現代のプロトコルの伝送等化処理(equalization)トレーニングなど、本願に開示されたマージン・テスタのような完全なトレーニング・プロトコルを実行することができない。そのため、従来は、非常に高価で複雑な試験のセットアップなしに、多種多様なスキューとプロトコルで実験的な試験(Lab test)をする方法がなかった。しかし、本開示技術の例は、スキュー制御ユニット826を用いて、多数の異なる方法で、レーン毎に伝送スキューを加えることができる。
【0056】
例えば、スキュー制御ユニット826には、レーン毎にスキュー量を設定するために、レーン毎に個別の長さがプログラマブルのFIFO(先入れ先出し)バッファがあっても良い。加えて、又は、これに代えて、スキュー制御ユニット826は、各レーンのFPGA714のファブリック(構造)内にある可変長伝送FIFOを、レーン毎にプログラムしても良い。加えて、又は、これに代えて、スキュー制御ユニット826には、ソフト・コントローラがあっても良く、これは、コントローラの論理回路(ロジック)の長さをレーンの伝送FIFO毎にプログラマブルに変更でき、各物理層のトランスミッタを提供する
【0057】
図9は、例示的な実施形態によるFPGA(FPGA714など)の出力駆動オプションの例のブロック図であり、これらは、Tx及びRx方向の一方向又は両方向でDUTのマルチ・レーン高速I/Oリンクの電気的マージンを試験するために、マージン・テスタのコントローラ(コントローラ210など)で利用しても良い。
【0058】
最初の出力駆動オプションは、FPGAの直接駆動オプション818であり、これは、バッファリングされず、バラクタ(Varactor:可変容量ダイオード)による遅延の導入、又は、ジッタ導入がない。第2の出力駆動オプションは、バッファリング駆動オプション820であり、差動出力電圧(Vod)を伴う線形バッファ・アンプ又は制限アンプ826を有するが、バラクタ遅延導入又はジッタ導入はない。第3の出力駆動オプションは、バラクタ遅延導入オプション822であり、これには、線形バッファ826とバラクタ・コンポーネント828があり、これらは、シンボル間干渉(ISI)に加えて、いくらかの遅延(例えば、約3~5ピコ秒のことがある)という結果を生じる。第4の出力駆動オプションは、ジッタ導入オプション824であり、これは、一実施形態において、線形バッファ826(これは、有っても無くても良い)と、遅延ASIC(特定用途向け集積回路)830(32GBdで約100ピコ秒)とを有していても良い(遅延ASICは、ADSANTEC社からも入手可能である)。いくつかの実施形態では、線形バッファ826が含まれない。例えば、線形バッファ826が含まれていないような実施形態では、ジッタ導入は、差動ノイズ導入によって行われても良い。
【0059】
様々な実施形態では、マージン・テスタ102が様々な種類のストレスを利用して、多種多様な対応する障害モードを特定しても良く、限定するものではないが、これら障害モードとしては、アセンブリ、相互接続(表面実装技術(SMT)、パッケージ、コネクタ、スルーホール、ビアなど)、欠陥、直列抵抗の影響、ISI及びベースライン・ワンダー(ゆらぎ)を起こす障害モード、アイ・クロージャ(eye closure)の影響、幅クロージャ(width closure)以外で原因となる障害モード、機能試験エスケープ、演算子(オペレータ)設定エラー、新入りの材料、プロセスの変動、レシーバの帯域幅(これは、相互接続の変化に類似する)、電源電圧変動除去比(PSRR)、垂直/水平アイ・クロージャ、PLLの安定性、設計、レーン間の差に関連するものが含まれる。バラクタ・ベースのジッタ挿入方法は、アセンブリ関連の欠陥を悪化させるのに特に効果的である。
【0060】
図10は、実施形態の1例によるDUTをマージン試験するための例示的な方法1000のフロー図である。
【0061】
1002では、マージン・テスタ102が、被試験デバイス(DUT)のマルチ・レーン高速I/Oリンクを確立する。
【0062】
1004では、マージン・テスタ102は、マルチ・レーン高速I/Oリンクの各高速入出力(I/O)レーンについて、送信方向(Tx)及び受信(Rx)方向の一方又は両方で、電気的マージンを評価する。例えば、電気的マージンを評価する処理には、マルチ・レーン高速I/Oリンクのマージン・テスト・トランスミッタに調整可能なストレスを導入する処理があっても良い。調整可能なストレスには、マルチ・レーン高速I/Oリンクの全てのレーンに同時に適用されるジッタ導入処理と、電圧スイングを加える処理があっても良い。また、電気的マージンを評価する処理は、マルチ・レーン高速I/Oリンクの各高速入出力(I/O)レーンに関して、送信(Tx)及び受信方向(Rx)の両方で、同時に、電気的マージンを評価する処理も含んでもよい。
【0063】
図11は、Tx及びRx方向の一方又は両方で、DUTのマルチ・レーン高速I/Oリンクの電気的マージンをマージン試験する処理に基づいて、DUTのアセンブリ又は生産上の潜在的な問題を特定するための実施形態の1例による例示的な方法1100のフロー図である。
【0064】
1102では、マージン・テスタ102が、複数のDUTの中の各DUTについて、DUTのマルチ・レーン高速I/Oリンクの各高速入出力(I/O)レーンに関して、Tx及び受信Rx方向の一方又は両方で、アイ幅マージンのタイミングを評価する。
【0065】
1104では、マージン・テスタ102が、上記評価に基づいて、複数のDUTの中の各DUTについて、複数のDUTに跨がる同一のレーンに関する所定の閾値を一貫して下回るタイミングのアイ幅マージン測定値を検出する。
【0066】
1106では、マージン・テスタ102が、複数のDUTの中の各DUTについて、複数のDUTに跨がる同じレーンに関する所定の閾値を一貫して下回るタイミングのアイ幅マージン測定値の検出に基づいて、DUT設計上の潜在的な問題を特定する。上記検出処理は、更に、又は、代わりに、上記評価に基づいて、複数のDUTの中のいくつかのDUTについて、これらいくつかのDUTに跨がる異なるレーンに関して、所定の閾値を夫々下回るタイミングのアイ幅マージン測定値を検出する処理を有していても良い。
【0067】
図12は、実施形態の一例によるユーザ選択可能なオプションに基づく電気的マージン評価の動作をマージン・テスタ102が開始するための例示的な方法1200のフロー図である。
【0068】
1202では、マージン・テスタ102が、被試験デバイス(DUT)のマルチ・レーン高速入出力(I/O)リンクを確立し、送信(Tx)及び受信(Rx)方向の一方又は両方でマルチ・レーン高速I/Oリンクの電気的マージンを評価するように構成されたマージン・テスタのためのユーザが選択可能なオプションを提供する。ユーザが選択可能なオプションには、マルチ・レーン高速I/Oリンクの電気的マージンの評価のためのカスタマイズが含まれても良い。
【0069】
1204では、マージン・テスタ102が、マージン・テスタ102用の1つ以上のユーザ選択可能なオプションの中から選択する指示を受ける。
【0070】
1206では、マージン・テスタ102が、マージン・テスタ102用の1つ以上のユーザ選択可能なオプションの中から選択する指示に基づいて、マージン・テスタ102によるマルチ・レーン高速I/Oリンクの電気的マージンの評価の動作を開始する。ユーザが選択可能なオプションは、限定するものではないが、次のものの中の1つ以上が含まれていても良い。
1つ以上の異なる高速I/Oプロトコルを選択し、これを使って、DUTのマルチ・レーン高速I/Oリンクに基づいてマージン試験を実行するための選択可能なオプション。
雑多なプロトコルを同時に使って、DUTの複数のポートを試験するための選択可能なオプション。
マルチ・レーン高速I/Oリンクについて、マージン・テスタのマージン試験の任意の回数の実行処理を通した実行処理毎のマージンの変動を出力するための選択可能なオプション。
マージン変動の内、どの程度がTxの等化処理(EQ)トレーニングの変動が原因であるかを試験するために、DUTに調整(fix)されたTx等化処理(EQ)を実装するための選択可能なオプション。
マージン・テスタのレシーバにおいて調整されたCTLEを使用し、DUTのマルチ・レーン高速I/Oリンクのマージンに対するレシーバの等化処理の影響を試験するための選択可能なオプション。
マージン・テスタのレシーバにおいて判定帰還型イコライザ(DFE)を使用し、DUTのマルチ・レーン高速I/Oリンクのマージンに対するレシーバの等化処理の影響を試験するための選択可能なオプション。
ターゲットのチャンネルに基づいて、マージン・テスタについて、期待マージンを計算するための選択可能なオプション。
マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として低マージンが検出されたときに、自動的にデバッグ情報を生成するための選択可能なオプション。
マージン・テスタが可変のシンボル間干渉(ISI)信号源を使用するよう切り替えて、どの程度のISIがマルチ・レーン高速I/Oリンクのレーンに障害を生じさせるかを見つけるための選択可能なオプション。
DUTのマルチ・レーン高速I/Oリンクのクロストークによるマージンの損失量を特定するために、マージン・テスタが各レーンを個別に試験するための選択可能なオプション。
マージン・テスタのレシーバでDFEをオフにして、DFEがある場合と無い場合のマージンと、マルチ・レーン高速I/Oリンクに関連付けられた各チャンネルの非線形不連続の量とを評価するための選択可能なオプション。
複数のDUTの中の1つのDUTのマルチ・レーン高速I/Oリンクの全てのレーンを通して、期待よりも低いマージンで一貫している場合でも、期待よりも低いマージンにフラグを立てることを可能にするマージン・テスタの特性評価データに関する選択可能なオプション。
マルチ・レーン高速I/Oリンクの複数の速度の中から選択し、それについて、電気的マージンの評価を行うための選択可能なオプション。
マージン・テスタが、プロトコル固有の知識を使用することによって、マルチ・レーン高速I/Oリンクの反対方向に進行するトラフィックに基づいて、DUTのレシーバでいつエラーが発生したかを推測し、DUT上のソフトウェア無しで、マージン・テスタが生産ラインでマージン試験を実施できるようにするための選択可能なオプション。
マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として検出された低マージンのチャンネルの時間領域反射測定値(TDR)を自動的にキャプチャするための選択可能なオプション。
マルチ・レーン高速I/Oリンクの電気的マージンの評価の結果として低マージンが検出されたときに、オシロスコープへの自動接続を実行し、デジタル化された波形を自動的にキャプチャするための選択可能なオプション。
1つ以上のユーザが選択可能なオプションを実装するようにDUTのシリコンを構成することにより、DUTに1つ以上のユーザが選択可能なオプションを設定するための選択可能なオプション。
【0071】
図13は、実施形態の一例による校正されたマージン・テスタを提供するための例示的な方法1300のフロー図である。
【0072】
1302では、マージン・テスタ102が、マージン・テスタ102の校正(calibration)を実行するオプションを提供するか、又は、校正を実施しても良く、これによって、ユーザは、一連の基準チャンネルでの期待マージンのセット(set:組)を受けることができる。
【0073】
1304では、校正されたマージン・テスタが提供されるが、これは、特別な試験モードなしに、DUTの完全に動作している通常使用(operation:実際的使用)のリンクがフル稼働の状態において、被試験デバイス(DUT)の送信(Tx)及び受信(Rx)方向の一方又は両方で、電気的なアイのマージンを測定して、装荷(loading)及びクロストークの完全な影響をキャプチャするように構成される。また、個別化されたシステム・チャンネル、レシーバ・モデル、トランスミッタ・モデルの中の1つ以上に関しての期待マージンの計算を可能にする、マージン・テスタの個別に校正されたモデルが提供されても良い。更に、マージン・テスタがベンダー定義のメッセージ又は別のプロトコル・メカニズムを使用して、マージン・テスタによってマージン試験が行われようとしていることを示す機能をDUTのシリコンに用意して、マージン試験の持続時間中に、DUTシリコンが、エラーによってリンク幅又はリンク速度を低下させる論理回路(ロジック)を無効にできるようにする。
【0074】
マージン・テスタのソフトウェア・アプリケーションも提供され、これは、マージン・テスタが、試験の設定構成(configuration)中の被試験チャンネル・コンポーネント(例えば、プリント配線板(生基板、ベア・プリント回路基板:bare printed circuit board)又はケーブル)の試験を実施できるようにするもので、このとき、マージン・テスタは、被試験チャンネル・コンポーネントの一端側又は両側で使用される。いくつかの実施形態では、マージン・テスタのハードウェアが、プリント回路基板(PCB)を製造する会社に提供され、マージン・テスタの使用に関連するデータは、PCBの製造に使用されるシリコンを提供するシリコン企業(silicon companies)に提供される。
【0075】
図14は、実施形態の一例によるマージン試験を実行するためにDUTを設定するための例示的な方法1400のフロー図である。
【0076】
1402では、マージン・テスタ102が、被試験デバイス(DUT)に関する構成の設定を受ける。
【0077】
1404では、DUTのシリコンに関する様々な条件下で、マージン・テスタ102がマージン試験を実行するために、マージン・テスタ102がDUTを設定する。マージン・テスタ102は、DUTのシリコンに関する様々な条件下で、マージン・テスタ102がマージン試験を実行するための構成の設定(configuration)を可能にするソフトウェア・プラグインと、DUTシリコンのパラメータとを受け取っても良い。このDUTシリコン・パラメータは、限定するものではないが、レシーバの連続時間CTLEに関連するパラメータ及びDFEに関連するパラメータの中の1つ以上を含んでいても良い。
【0078】
図15は、自己校正機能のあるマージン・テスタ102の例を示す。マージン・テスタ102の校正は、トランスミッタ(送信機)をレシーバ(受信機)に電気的に接続することによって行うことができる。これは、例えば、マージン・テスタ102内のスイッチが、同じマージン・テスタ102内のトランスミッタをレシーバに電気的に接続するによって行うことができる。これにより、外部の試験装置の必要性がなくなる。
【0079】
図15は、図7の下位レベルのブロック図と似ている。図7と同様に、図15は、Tx及びRx方向の両方でDUTのマルチ・レーン高速I/Oリンクの電気マージンを試験するためのマージン・テスタ102の下位レベル・ブロック図であり、加えて、自己校正機能を有する。自己校正を行うために、1つ以上のスイッチ1500を設けて、HSIO出力ユニット702中のトランスミッタの夫々を、HSIO入力ユニット704中のレシーバの夫々に接続する。これらトランスミッタは、信号を出力でき、これらレシーバは、信号を受信して、マージン・テスタ102が所望の範囲内にあるかどうかを判断できる。説明を簡単にするため、図15では、単一のスイッチ1500を図示しているが、当業者であればわかるように、複数のトランスミッタを複数のレシーバに接続するために、複数のスイッチ1500を設けても良い。スイッチ1500に代えて、I/Oコネクタ706に校正装置又はフィクスチャ(fixture)を設け、トランスミッタをレシーバにループ・バックさせて自己校正を実行するようにしても良い。
【0080】
マージン・テスタ102の校正を行うために、様々な動作モードを設けても良い。例えば、自己校正は、1つ以上のI/Oコネクタ706を介してレシーバにトランスミッタを接続できる特別なループバック・フィクスチャ(fixture:取付装置)を備えた工場でのみ行われても良い。
【0081】
提供されることがある別の動作モードとしては、エンド・ユーザがマージン・テスタ102の自己試験(セルフ・テスト)を行うものがある。これは、スイッチ1500を作動させるか、又は、トランスミッタをマージン・テスタ102のレシーバへと配線(ルーティング)できるフィクスチャを挿入することによって行うことができる。自己試験中に、マージン・テスタ102は、結果が指定範囲を超えている場合に、フロントパネルのインジケータ712に情報を出力をしても良い。
【0082】
いくつかの例では、校正は、プロトコル・モード若しくはPRBSパターンの非プロトコル・モードのいずれか、又は、その両方で実行できる。しかし、プロトコル・モードでは、I/Oコネクタ706は、ホストと試験デバイスの両方として同時に機能することはできないことがある。もしマージン・テスタ102が、2組のI/Oコネクタ706を有する場合なら、マージン・テスタ102は、2つの異なるI/Oコネクタ706に接続する必要が生じるか、又は、第2のマージン・テスタ102を接続しなければならない場合がある。
【0083】
内部での校正は、従来の装置よりも、マージン・テスタ102に関して、より速く、潜在的に低コストの工場校正を提供できる。この内部校正を使用すると、エンド・ユーザが独自の校正試験を実行することもできる。
【0084】
開示された実施形態の利点、効果及び改善には、限定するものではないが、以下の特徴がある。いくつかの実施形態は、標準的なFPGA及び正弦波ジッタ導入チップ又は遅延ラインを含む既製のコンポーネントでほぼ完全に実現でき、従来のBERT及びオシスコープと比較して非常に低コストである。実施形態の例は、特別なソフトウェアを必要とせずに、通常の動作状態で動作している完全なマルチ・レーン・リンク上で実行でき、全てのレーンが同時に動作していることに起因するあらゆる影響をキャプチャする。もう1つの効果は、本開示技術の実施形態が、単一の自己完結型ユニットで一方向又は両方向(Tx及びRx)で試験できることである。様々な実施形態は、DUT上のソフトウェアやDUTの変更を必要とせずに、生産環境(例えば、マザーボードの生産試験の環境)で実行することもできる。プロトコル毎に異なる特定試験向けロジックを、マージン・テスタ102のシリコン/ファームウェアの形で用意し、被試験デバイスがマージン・テスタに送り返すデータに基づいて、DUTレシーバでいつエラーが発生しているかを極めて迅速に認識するようにしても良い。いくつかの例示的な実施形態では、マージン試験が正に行われようとしているところであり、通常、エラーを原因としては、リンク幅やリンク速度を低下させない状態にDUTシリコンを置いていることを、PCI Expressベンダー固有のメッセージその他の標準的なプロトコル機能を通して認識するための機能を、DUTシリコンの形で実装して有していても良い。これは、通常のプロトコルのメカニズムによってリンク幅又はリンク速度が低下する恐れ無しに、ノイズ導入又は電圧スイング調整を使用してDUTレシーバにマージンを設定する処理を確実に行うのに有益である。これは、エラーがいつ開始されたか迅速に推測し、リンク又は速度の低下が起こる前にストレスを減少させる特別な論理回路(ロジック)の代替手段である。
【0085】
本願記載の実施例によって提供されるもう1つの改善は、複数のマージン・テスタ・ユニットの中の各マージン・テスタ・ユニットが個別に校正され、特性が測定されるので、ユーザは、特定のユニット夫々の期待マージンの値がわかり、ユーザの複数の試作品及び生産ユニットに跨がる期待値からの相違が最小であっても、フラグを付けられることである。この個別の特性評価と校正の一環として、IBIS-AMIモデルなどのモデルを個別のマージン・テスタ102の夫々に提供することで、シミュレートされた又は測定されたSパラメータに基づいて、エンド・ユーザが特定のチャンネルモデルに関する期待マージンを計算できるようにする。
【0086】
本開示は、非常に高速で非常に使いやすい独創的なマージン・テスタを記述する。長さマージン測定と、ユーザが設定可能な様々なオプションのために、便利で効率的な設定ソフトウェアが提供される。一度設定されると、マージン・テスタ102は、リンクを任意の標準デバイスとして呼び出し、次いで、動作しているリンクについての測定を自動的に実施する。試験は、全てのレーンで同時に行われ、迅速な電気的マージンスキャンをミリ秒単位で行うことができる。これにより、全ての高速I/Oポート及びレーンのフル試験を含む大量の試験が可能になる。様々な実施形態は、従来の装置を必要とせずに、あるレベルの問題特性評価を可能にする様々なマージン試験モードを提供し、限定するものではないが、
マージン、選択されたTx等化処理(DUTとマージン・テスタの両方について)、選択されたRx等化処理(マージン・テスタのレシーバについて)及びDUTの被試験Tx又はRxトレーニング・アルゴリズムにおけるトレーニング問題の可能性(likelihood:公算、見込み)の実行処理毎のばらつき(variability)の反復回数と分析、
いずれかの方法でトランスミッタの等化処理を調整し、マージンに対する影響を観測する処理、
マージン・テスタのレシーバにおけるレシーバ等化処理(CTLE)とDFEのタップの数(ゼロを含む)を調整(fix:修正)し、マージンの値に対する影響を見る処理、
などがある。例えば、DFEがオフの場合のマージンの重大な変化は、特定のチャンネルでの重大な不連続性を示す。
【0087】
マージン・テスタ102の様々な実施形態によって提供されるもう一つの効果は、特定のDUTの全ての高速I/Oポート及びレーンについて、全ての試作品のユニットを通してと、実際の生産において、電気的マージンを試験でき、生産に至る前に又は顧客に届く前に、問題及び潜在的な問題にフラグを立てるための前例のない能力を生み出すことができるということである。また、様々な実施形態は、電力状態の遷移のような様々なリンクのイベントの前後でのマージンの分析も可能にする(場合によっては、DUT上のソフトウェアを使用)。
【0088】
従来のソリューションには、非常に汎用的で、高度な機能を有するジッタ及びノイズの挿入方法がある。本開示の様々な実施形態は、ジッタ/振幅ストレスという必要なタスクを達成するのに、大幅な単純化をする(しかし、無くしたりはしない)ことで、これらのソリューションよりも優位性を有する。このシンプルさは、既存の方法を使用して必要とされることに比較して、運用コストの削減、結果の高速化、及び(大規模なデータ・セットの収集を通じた)製品の信頼性の向上につながる。
【0089】
本開示技術の態様は、特別に作成されたハードウェア、ファームウェア、デジタル・シグナル・プロセッサ又はプログラムされた命令に従って動作するプロセッサを含む特別にプログラムされた汎用コンピュータ上で動作できる。本願における「コントローラ」又は「プロセッサ」という用語は、マイクロプロセッサ、マイクロコンピュータ、ASIC及び専用ハードウェア・コントローラ等を意図する。本開示技術の態様は、1つ又は複数のコンピュータ(モニタリング・モジュールを含む)その他のデバイスによって実行される、1つ又は複数のプログラム・モジュールなどのコンピュータ利用可能なデータ及びコンピュータ実行可能な命令で実現できる。概して、プログラム・モジュールとしては、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、これらは、コンピュータその他のデバイス内のプロセッサによって実行されると、特定のタスクを実行するか、又は、特定の抽象データ形式を実現する。コンピュータ実行可能命令は、ハードディスク、光ディスク、リムーバブル記憶媒体、ソリッド・ステート・メモリ、RAMなどのコンピュータ可読記憶媒体に記憶しても良い。当業者には理解されるように、プログラム・モジュールの機能は、様々な実施例において必要に応じて組み合わせられるか又は分散されても良い。更に、こうした機能は、集積回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)などのようなファームウェア又はハードウェア同等物において全体又は一部を具体化できる。特定のデータ構造を使用して、本開示技術の1つ以上の態様をより効果的に実施することができ、そのようなデータ構造は、本願に記載されたコンピュータ実行可能命令及びコンピュータ使用可能データの範囲内と考えられる。
【0090】
開示された態様は、場合によっては、ハードウェア、ファームウェア、ソフトウェア又はこれらの任意の組み合わせで実現されても良い。開示された態様は、1つ以上のプロセッサによって読み取られ、実行され得る1つ又は複数のコンピュータ可読媒体によって運搬されるか又は記憶される命令として実現されても良い。そのような命令は、コンピュータ・プログラム・プロダクトと呼ぶことができる。本願で説明するコンピュータ可読媒体は、コンピューティング装置によってアクセス可能な任意の媒体を意味する。限定するものではないが、一例としては、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含んでいても良い。
【0091】
コンピュータ記憶媒体とは、コンピュータ読み取り可能な情報を記憶するために使用することができる任意の媒体を意味する。限定するものではないが、例としては、コンピュータ記憶媒体としては、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、電気消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリやその他のメモリ技術、コンパクト・ディスク読み出し専用メモリ(CD-ROM)、DVD(Digital Video Disc)やその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置やその他の磁気記憶装置、及び任意の技術で実装された任意の他の揮発性又は不揮発性の取り外し可能又は取り外し不能の媒体を含んでいても良い。コンピュータ記憶媒体としては、信号そのもの及び信号伝送の一時的な形態は除外される。
【0092】
通信媒体とは、コンピュータ可読情報の通信に利用できる任意の媒体を意味する。限定するものではないが、例としては、通信媒体には、電気、光、無線周波数(RF)、赤外線、音又はその他の形式の信号の通信に適した同軸ケーブル、光ファイバ・ケーブル、空気又は任意の他の媒体を含んでも良い。
【0093】
加えて、本願の記述は、特定の特徴に言及している。本明細書における開示には、これらの特定の特徴の全ての可能な組み合わせが含まれると理解すべきである。ある特定の特徴が特定の態様又は実施例に関連して開示される場合、その特徴は、可能である限り、他の態様及び実施例との関連においても利用できる。
【0094】
また、本願において、2つ以上の定義されたステップ又は工程を有する方法に言及する場合、これら定義されたステップ又は工程は、状況的にそれらの可能性を排除しない限り、任意の順序で又は同時に実行しても良い。
【0095】
説明の都合上、本発明の具体的な実施例を図示し、説明してきたが、本発明の要旨と範囲から離れることなく、種々の変更が可能なことが理解できよう。従って、本発明は、添付の請求項以外では、限定されるべきではない。
【符号の説明】
【0096】
102 マージン・テスタ
104 被試験デバイス(DUT)
106 表示装置
108 アイ・パターン表示
110 マルチ・レーン高速I/Oリンク
202 PCI Express アドイン・カード・マージン・テスタ
204 被試験マザーボード
206 PCI Express マザーボード・スロット
208 コネクタ
210 コントローラ
212 PCB
214 メモリ
302 特定技術向けマザーボード・マージン・テスタ
304 アドイン・カードDUT
306 PCI Express スロット
312 PCB
602 汎用マージン・テスタ
604 インタフェース
702 HSIO出力ユニット
704 HSIO入力ユニット
706 I/Oコネクタ
708 時間基準ユニット
710 サポート・ユニット
712 フロントパネルのインジケータ
714 FPGA
716 AC/DC電源ユニット
802 ローカル・エリア・ネットワーク(LAN)接続部
804 レジスタ・インタフェース
806 LTSSM Rxコントローラ
808 USBコントローラ
810 USBコントローラ
812 PCIe物理層(PHY)16x SerDes
814 USB/サンダーボルト/ディスプレイポート(USB/TBT/DP)PHY x4ユニット
816 ジッタ制御ユニット
818 FPGA直接駆動オプション
820 バッファリング駆動オプション
822 バラクタ遅延導入オプション
824 ジッタ導入オプション
826 線形バッファ又は制限アンプ
828 バラクタ・コンポーネント
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16A
図16B
【外国語明細書】