(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-14
(54)【発明の名称】SerDes機能を備えたマルチダイパッケージ内でのスキャンデータ転送の実行
(51)【国際特許分類】
G01R 31/3183 20060101AFI20221207BHJP
G01R 31/28 20060101ALI20221207BHJP
G06F 11/263 20060101ALI20221207BHJP
G06F 11/22 20060101ALI20221207BHJP
G06F 15/78 20060101ALI20221207BHJP
【FI】
G01R31/3183
G01R31/28 G
G01R31/28 V
G06F11/263
G06F11/22 636
G06F15/78 516
G06F15/78 514
G06F15/78 518Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021568277
(86)(22)【出願日】2020-10-16
(85)【翻訳文提出日】2022-04-18
(86)【国際出願番号】 US2020055985
(87)【国際公開番号】W WO2021080866
(87)【国際公開日】2021-04-29
(32)【優先日】2019-10-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】アフメト トクズ
(72)【発明者】
【氏名】サウラブ ウパデアーエ
【テーマコード(参考)】
2G132
5B048
5B062
【Fターム(参考)】
2G132AA03
2G132AB02
2G132AC14
2G132AD06
2G132AK22
2G132AK23
2G132AL25
5B048CC19
5B062EE05
5B062JJ05
(57)【要約】
プロセッサコアのスキャンテストを実行するシステムは、スキャンテストモジュールと、プロセッサコア及び入力/出力ダイを含むプロセッサと、を備え、入力/出力ダイは、プロセッサコアに結合されている。スキャンテストモジュールは、スキャンテスト入力データを入力/出力ダイにパラレルで送信する。入力/出力ダイのシリアライザ/デシリアライザモジュールは、入力データを受信し、入力データをシリアライズし、シリアライズされた入力データをプロセッサコアに送信する。プロセッサコアのシリアライザ/デシリアライザモジュールは、シリアライズされたスキャンテスト入力データを受信し、入力データをデシリアライズし、入力データに基づいて生成された結果データを受信し、結果データをシリアライズし、シリアライズされた結果データを入力/出力ダイに送信する。入力/出力ダイのシリアライザ/デシリアライザモジュールは、結果データを受信し、結果データをデシリアライズし、結果データをスキャンテストモジュールに提供する。エラー検出は、冗長性によって実行できる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサコアのスキャンテストを実行する方法であって、
プロセッサの入力/出力ダイのシリアライザ/デシリアライザモジュールによって、スキャンテスト入力データをパラレルで受信することと、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記スキャンテスト入力データをシリアライズすることと、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データを前記プロセッサのプロセッサコアに送信することと、を含む、
方法。
【請求項2】
前記シリアライズされたスキャンテスト入力データを前記プロセッサコアに送信することは、前記シリアライズされたスキャンテスト入力データを、データストローブ符号化を用いて符号化することをさらに含む、
請求項1の方法。
【請求項3】
前記プロセッサコアのシリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データを受信することと、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データをデシリアライズすることと、
前記デシリアライズされたスキャンテスト入力データに基づいて生成された結果データを受信したことに応じて、前記結果データをシリアライズすることと、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データを前記入力/出力ダイに送信することと、をさらに含む、
請求項1の方法。
【請求項4】
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データを受信することと、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データをデシリアライズすることと、
前記入力/出力ダイによって、前記デシリアライズされた結果データをテストモジュールに提供することと、をさらに含む、
請求項3の方法。
【請求項5】
前記シリアライズされた結果データを前記入力/出力ダイに送信することは、前記シリアライズされたスキャンテスト入力データを、データストローブ符号化を用いて符号化することをさらに含む、
請求項3の方法。
【請求項6】
前記プロセッサコアのシリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データを受信することは、シリアライザ/デシリアライザモジュール間で送信されるシンボルが不確定である期間を含む不確定性ウィンドウが満了するまで前記スキャンテスト入力データを保持することをさらに含み、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データをデシリアライズすることは、前記不確定性ウィンドウが満了したことに応じて、前記保持されたスキャンテスト入力データを解放することをさらに含み、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データを受信することは、前記不確定性ウィンドウが満了するまで前記結果データを保持することをさらに含み、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データをデシリアライズすることは、前記不確定性ウィンドウが満了したことに応じて、前記保持された結果データを解放することをさらに含む、
請求項4の方法。
【請求項7】
前記入力/出力コアの前記シリアライザ/デシリアライザモジュール及び前記プロセッサコアの前記シリアライザ/デシリアライザモジュールは、少なくとも2つのレーンを備え、各レーンは冗長送信を行い、前記方法は、各レーンの冗長送信を比較することによって送信におけるエラーを検出することをさらに含む、
請求項3の方法。
【請求項8】
前記入力/出力ダイと前記プロセッサコアとの間の伝送を行うリンクは、直接結合されている、
請求項1の方法。
【請求項9】
前記入力/出力ダイは、前記プロセッサ用のモノリシックデータ通信インターフェースを備える、
請求項1の方法。
【請求項10】
前記シリアライザ/デシリアライザモジュールは、テスト用にのみ動作する、
請求項1の方法。
【請求項11】
前記シリアライザ/デシリアライザモジュールは、合成可能なデジタル論理回路を含む、
請求項3の方法。
【請求項12】
スキャンテストを実行することは、前記プロセッサをパッケージ化した後であって、前記プロセッサをコンピュータシステムにインストールする前に、前記スキャンテストを実行することを含む、
請求項1の方法。
【請求項13】
前記プロセッサは、複数のプロセッサコアをさらに備え、各プロセッサコアは、前記入力/出力コアに独立して結合されており、各プロセッサコアは、前記入力/出力ダイを介する以外での前記プロセッサの外部とのデータ通信が禁止されている、
請求項1の方法。
【請求項14】
プロセッサコアのスキャンテストを実行するためのプロセッサであって、
プロセッサコアと、
入力/出力ダイと、を備え、
前記入力/出力ダイは、前記プロセッサコアに結合されており、
前記プロセッサは、
前記入力/出力ダイのシリアライザ/デシリアライザモジュールによって、スキャンテスト入力データをパラレルで受信するステップと、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記スキャンテスト入力データをシリアライズするステップと、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データを前記プロセッサのプロセッサコアに送信するステップと、
を実行するように構成されている、
プロセッサ。
【請求項15】
前記シリアライズされたスキャンテスト入力データを前記プロセッサコアに送信することは、前記シリアライズされたスキャンテスト入力データを、データストローブ符号化を用いて符号化することをさらに含む、
請求項14のプロセッサ。
【請求項16】
前記プロセッサは、
前記プロセッサコアのシリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データを受信するステップと、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データをデシリアライズするステップと、
前記デシリアライズされたスキャンテスト入力データに基づいて生成された結果データを受信したことに応じて、前記結果データをシリアライズするステップと、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データを前記入力/出力ダイに送信するステップと、
を実行するようにさらに構成されている、
請求項14のプロセッサ。
【請求項17】
前記プロセッサは、前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データを受信するステップと、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データをデシリアライズするステップと、
前記入力/出力ダイによって、前記デシリアライズされた結果データをテストモジュールに提供するステップと、
を実行するようにさらに構成されている、
請求項16のプロセッサ。
【請求項18】
前記シリアライズされた結果データを前記入力/出力ダイに送信することは、前記シリアライズされたスキャンテスト入力データを、データストローブ符号化を用いて符号化することをさらに含む、
請求項16のプロセッサ。
【請求項19】
前記プロセッサコアのシリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データを受信することは、シリアライザ/デシリアライザモジュール間で送信されるシンボルが不確定である期間を含む不確定性ウィンドウが満了するまで前記スキャンテスト入力データを保持することをさらに含み、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データをデシリアライズすることは、前記不確定性ウィンドウが満了したことに応じて、前記保持されたスキャンテスト入力データを解放することをさらに含み、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データを受信することは、前記不確定性ウィンドウが満了するまで前記結果データを保持することをさらに含み、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データをデシリアライズすることは、前記不確定性ウィンドウが満了したことに応じて、前記保持された結果データを解放することをさらに含む、
請求項17のプロセッサ。
【請求項20】
前記入力/出力ダイと前記プロセッサコアとの間の伝送を行うリンクは、直接結合されている、
請求項14のプロセッサ。
【請求項21】
前記入力/出力ダイは、前記プロセッサ用のモノリシックデータ通信インターフェースを備える、
請求項14のプロセッサ。
【請求項22】
前記シリアライザ/デシリアライザモジュールは、テスト用にのみ動作する、
請求項14のプロセッサ。
【請求項23】
前記シリアライザ/デシリアライザモジュールは、合成可能なデジタル論理回路を含む、
請求項16のプロセッサ。
【請求項24】
スキャンテストを実行することは、前記プロセッサをパッケージ化した後であって、前記プロセッサをコンピュータシステムにインストールする前に、前記スキャンテストを実行することを含む、
請求項14のプロセッサ。
【請求項25】
前記プロセッサは、複数のプロセッサコアをさらに備え、各プロセッサコアは、前記入力/出力コアに独立して結合されており、各プロセッサコアは、前記入力/出力ダイを介する以外での前記プロセッサの外部とのデータ通信が禁止されている、
請求項14のプロセッサ。
【請求項26】
プロセッサコアのスキャンテストを実行するためのシステムであって、
スキャンテストモジュールと、
プロセッサコア及び前記プロセッサコアに結合された入力/出力ダイを含むプロセッサと、を備え、
前記スキャンテストモジュールは、前記入力/出力ダイを介して、スキャンテスト入力データを前記プロセッサにパラレルで送信し、
前記入力/出力ダイのシリアライザ/デシリアライザモジュールは、
前記スキャンテスト入力データを受信し、
前記スキャンテスト入力データをシリアライズし、
シリアライズされた前記スキャンテスト入力データを前記プロセッサの前記プロセッサコアに送信し、
前記プロセッサコアのシリアライザ/デシリアライザモジュールは、
前記シリアライズされた前記スキャンテスト入力データを受信し、
前記シリアライズされた前記スキャンテスト入力データをデシリアライズし、
前記デシリアライズされた前記スキャンテスト入力データに基づいて生成された結果データを受信し、
前記結果データをシリアライズし、
シリアライズされた前記結果データを前記入力/出力ダイに送信し、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールは、
前記シリアライズされた前記結果データを受信し、
前記シリアライズされた前記結果データをデシリアライズし、
デシリアライズされた前記結果データを前記スキャンテストモジュールに提供する、
システム。
【請求項27】
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールは、前記シリアライズされた前記スキャンテスト入力データを、データストローブ符号化を用いて符号化することによって、前記シリアライズされた前記スキャンテスト入力データを前記プロセッサコアに送信し、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールは、前記シリアライズされた前記スキャンテスト入力データを、データストローブ符号化を用いて符号化することによって、前記シリアライズされた前記結果データを前記入力/出力ダイに送信し、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールは、前記シリアライズされた前記スキャンテスト入力データを、データストローブ復号化を用いて復号化することによって、前記シリアライズされた前記スキャンテスト入力データを受信し、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールは、前記シリアライズされた前記結果データを、データストローブ復号化を用いて復号化することによって、前記シリアライズされた前記結果データを受信する、
請求項26のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
プロセッサ又はプロセッサを含むシステムオンチップをパッケージ化した後、プロセッサの様々なコンポーネントが定義されたパラメータ範囲内で動作することを確認するために、テストが実行されることがよくある。プロセッサの一部のコンポーネントは、プロセッサの他のコンポーネントを介する以外に、外部機器による通常の操作ではアクセスできない。例えば、プロセッサのコア又はコア複合体について考えてみる。コアは、プロセッサの様々な入力/出力インターフェースコンポーネントを介する以外に、外部のテスト機器に直接接続を有しない場合がある。このようなコアにテスト目的でアクセスするために、一部のプロセッサには、テスト専用コンポーネントが実装されている。ただし、このようなテスト専用コンポーネントは、プロセッサのコストを増加させると同時に、プロセッサの通常の動作に使用されるコンポーネントの使用可能なダイ領域を減少させる。さらに、パッケージング後にコアをテストするためにプロセッサに入力されるテストデータ自体のサイズが大きくなり続けている。
【図面の簡単な説明】
【0002】
【
図1】本開示の実施形態による、プロセッサコアのスキャンテストが実行される例示的なプロセッサのブロック図である。
【
図2】本開示の実施形態による、プロセッサコアのスキャンテストを実行するための例示的なシステムの機能ブロック図である。
【
図3】本開示の実施形態による、プロセッサコアのスキャンテストを実行する例示的な方法を示すフローチャートである。
【
図4】本開示の実施形態による、プロセッサコアのスキャンテストを実行する別の例示的な方法を示すフローチャートである。
【
図5】本開示の実施形態による、プロセッサコアのスキャンテストを実行する別の例示的な方法を示すフローチャートである。
【
図6】本開示の実施形態による、プロセッサコアのスキャンテストを実行する別の例示的な方法を示すフローチャートである。
【
図7】本開示の実施形態による、エラー検出を備えたプロセッサコアのスキャンテストを実行するための例示的なシステムの機能ブロック図である。
【発明を実施するための形態】
【0003】
プロセッサコアのスキャンテストを実行するための例示的な方法、装置及び製品が本明細書に記載されている。プロセッサコアのスキャンテストを実行する様々な実施形態が、以下の図に関してより詳細に説明されている。次の例のプロセッサコアには、パッケージ化されるとプロセッサ外部のテスト装置では通常アクセスできない1つ以上のコア(又は、同義語としてコア複合体)が含まれている。プロセッサには、入力/出力(I/O)ダイも含まれている。I/Oダイは、プロセッサ用のモノリシックデータ通信インターフェースである。すなわち、I/Oダイは、プロセッサと外部コンポーネントとの間の通信インターフェースとして機能する。I/Oダイは、コンピュータシステム(サーバ等)内でのプロセッサの通常の動作中に、DDR(ダブルデータレート)インターフェース等のメモリインターフェース又はPCIタイプ(Peripheral Component Interconnect)インターフェース等のバスインターフェースを提供する。このようなプロセッサのI/Oダイは、1つ以上の内部リンクを介してプロセッサ内の各プロセッサコアにポイントツーポイントで結合されている。I/Oダイをプロセッサコアに結合するリンクの一部又は全てが直接結合されている(DC結合)。
【0004】
そのようなプロセッサにおいて、プロセッサコアのスキャンテストを実行することは、プロセッサの入力/出力ダイのシリアライザ/デシリアライザ(SERDES)モジュールによって、テストモジュールからスキャンテスト入力データをパラレルで受信することを含む。入力/出力(I/O)ダイのSERDESモジュールは、スキャンテスト入力データをシリアライズする。I/OダイのSERDESモジュールは、シリアライズされたスキャンテスト入力データをプロセッサのプロセッサコアに送信する。このような送信は、データストローブ符号化で送信信号を符号化した後、上記のDC結合リンクのサブセットを介して実行される。
【0005】
プロセッサコアのSERDESモジュールは、シリアライズされたスキャンテスト入力データを受信し、シリアライズされたスキャンテスト入力データをデシリアライズし、デシリアライズされたテスト入力データをプロセッサコア内のテスト対象デバイスに提供する。テスト対象デバイスは、入力データを利用してテストを実行して結果データを生成し、結果データをプロセッサコアのSERDESモジュールに受け渡す。結果データを受信することに応じて、プロセッサコアのSERDESモジュールは、結果データをシリアライズし、シリアライズされた結果データをI/Oダイに送信する。このような送信が、データストローブ符号化で送信信号を符号化した後、上記のDC結合リンクの別のサブセットを介して実行される。
【0006】
I/OダイのSERDESモジュールは、シリアライズされた結果データを受信し、シリアライズされた結果データをデシリアライズし、デシリアライズされた結果データをテストモジュールに提供する。
【0007】
複数のリンクを用いて、I/OダイのSERDESモジュールとコアのSERDESモジュールとは、有限且つ時には限定された数のリンクを介して大量のデータのパケットをパラレルで送信することができる。さらに、このようなリンクは、「テスト専用」リンクではなく、テストフェーズ以外のプロセッサの通常の動作中に利用される。データストローブ符号化及び復号化は、DC結合されたリンクの性質と相俟って、テスト中のクロックリカバリ目的でのプロセッサ内フェーズロックループ実装を不要とする。このようなフェーズロックループ回路は、通常、プロセッサ内にアナログコンポーネントを使用して実装される。これらのコンポーネントは、デジタルにおける同等物よりも高コストであり、より多くのダイ領域を消費し、より多くの電力を消費する。
【0008】
さらなる説明のために、
図1に、本開示の実施形態による、プロセッサコアのスキャンテストが実行される例示的なプロセッサのブロック図を示す。
図1の例は、プロセッサ(102)を含む。プロセッサ(102)は、いくつかのコア(104a、104b、104c、104d)を含む。各コア(104a、104b、104c、104d)は、I/Oダイ(106)に結合されている。コアは、I/OダイにいくつかのDC結合リンクを介して結合されている。何れのコアも、I/Oダイ(106)を介する以外に、プロセッサ(102)外部のコンポーネントとデータ通信を実行することができない。
【0009】
図1の例示的なプロセッサ(102)のI/Oダイ(106)は、コア(104)及び本明細書に示されていない他のコンポーネントを、プロセッサの外部の異なるタイプのコンポーネントにデータ通信のために結合する。いくつかの実施形態では、I/Oダイ(106)は、PCIe、DDRバス及び他のタイプのインターフェースを提供する。
【0010】
図1の例では、I/Oダイ(106)は、各コア(104)用のSERDESモジュール(108a、108b、108c、108d)を含む。以下により詳細に説明するように、I/Oダイ(106)の各SERDESモジュール(108)は、送信機コンポーネント及び受信コンポーネントを含む。I/Oダイ(106)の各SERDESモジュール(108)は、各コアに含まれる個別のSERDESモジュール(112a、112b、112c、112d)とリンクを介する通信のために結合されている。
【0011】
図1の例示的なプロセッサ(102)は、コア(104)が1つ以上の様々なテストを実行する際に利用するためのスキャンテスト入力データを提供するテストモジュール(110)に結合されている。このようなデータの例には、自動テストパターンジェネレーション(ATPG)データが含まれる。
【0012】
図1の例では、テストモジュール(110)がスキャンテスト入力データをプロセッサ(102)のI/Oダイ(106)に提供する。スキャンテスト入力データは、I/Oダイ(106)の何れか1つ以上のSERDESモジュール(108)によってパラレルで受信される。
【0013】
スキャンテスト入力データを受信するSERDESモジュール(108)は、スキャンテスト入力データをシリアライズし、シリアライズされたテスト入力データを、SERDESモジュール(108)が結合されているプロセッサコア(104)に送信する。より具体的には、I/Oダイ(106)のSERDESモジュール(108)は、シリアライズされたスキャンテスト入力データを、コア(104)のSERDESモジュール(112)に提供する。
【0014】
コア(104)のSERDESモジュール(112)は、シリアライズされたスキャンテスト入力データを受信し、シリアライズされたスキャンテスト入力データをデシリアライズし、プロセッサコア(104)は、スキャンテスト入力データを利用して結果データを生成する。コア(104)のSERDESモジュール(112)は、生成された結果データをシリアライズし、シリアライズされた結果データを、I/Oダイ(106)の結合されたSERDESモジュール(108)に送信する。
【0015】
I/Oダイ(106)のSERDESモジュール(108)は、シリアライズされた結果データを受信し、結果データをデシリアライズし、デシリアライズされた結果データをテストモジュール(110)に提供する。テストが完了すると、コアのSERDESモジュール及びI/OダイのSERDESモジュールが無効化される。次に、プロセッサは、コンピューティングシステム内の通常の動作のために、テストデータの伝送に使用された、I/Oダイをコアに結合する同じリンクを利用する。つまり、スキャンテストの実行に使用されるリンクは、「テスト専用」リンクではなく、プロセッサの最も重要な動作に使用される。
【0016】
さらなる説明のために、
図2に、本開示の実施形態による、プロセッサコアのスキャンテストを実行するための例示的なシステムの機能ブロック図を示している。
図2のシステムは、外部リンク(212)を介して試験モジュール(110)に結合されたプロセッサ(102)を含む。プロセッサ(102)は、いくつかのDC結合リンク(210)を介してI/Oダイ(106)に結合されたコア(104)を含む。コア(104)は、SERDESモジュール(112)を含み、これは、同様に、受信コンポーネント(202)及び送信コンポーネント(204)を含む。コアSERDESモジュール(112)の送信コンポーネント(204)は、DC結合リンク(210)のうち何れかのサブセットを介して、I/Oダイ(106)のSERDESモジュール(108)の受信コンポーネント(208)に結合されている。同様に、コアSERDESモジュール(112)の受信コンポーネント(202)は、DC結合リンク(210)のうち何れかの別のサブセットを介して、I/O SERDESモジュール(108)の送信コンポーネント(206)に結合されている。
【0017】
図2の例では、コア(104)は、I/Oダイ(106)を介する以外に、いかなる外部コンポーネント(テストモジュール(110)等)によってもアクセスされることが禁止されている。プロセッサ(102)は、テスト専用の回路又は論理回路のセットを実装するよりも、むしろ、I/Oダイ(106)の既存のDC結合リンク及び外部リンクを利用して、テストモジュール(110)がテストのためにコア(104)にアクセスできるようにする。
【0018】
この例では、テストモジュール(110)は、スキャンテスト入力データをATPGテストビットパターンの形式でI/Oダイ(106)に送信する。I/O SERDESモジュール(108)の送信コンポーネント(206)は、テストビットパターンをシリアライズし、データストローブ符号化によってテストビットパターンを符号化し、テストビットパターンのシリアライズされた部分をDC結合リンク(210a)のペアを介して、コアダイのSERDESモジュール(112)の受信コンポーネント(202)に送信する。DC結合リンク(210a)の各ペアは、シリアル送信信号のデータ部分を運ぶリンクと、データ送信信号のストローブ部分を運ぶリンクと、を含む。データストローブ符号化では、クロックは、データ及びストローブ信号に効果的に符号化される。さらに、リンクがDC結合されているので、SERDESモジュールの受信コンポーネントでのクロック復元にフェーズロックループ又は他の同様の回路が必要ない。
【0019】
コアSERDESモジュール(112)の受信コンポーネント(202)は、シリアライズされたスキャンテスト入力データを受信し、データ及びストローブ送信信号を復号化し、データをデシリアライズし、デシリアライズされたデータをコア(104)内のテスト対象デバイス(214)に渡す。テスト対象デバイス(214)は、デシリアライズされたデータを利用してテスト結果を生成する。次に、テスト結果は、コアSERDESモジュール(112)の送信コンポーネント(204)に渡される。送信コンポーネント(204)は、結果データをシリアライズし、データストローブ符号化を用いて結果データを符号化し、DC結合リンク(210b)のペアを介してデータ及びストローブ信号をI/O SERDESモジュール(108)の受信コンポーネント(208)に送信する。受信コンポーネント(208)は、受信データ及びストローブ信号を復号し、結果データをデシリアライズし、結果データをテストモジュール(110)に渡す。
【0020】
さらなる説明のために、
図3に、本開示の実施形態による、プロセッサコアのスキャンテストを実行する例示的な方法を示すフローチャートを示している。
図3の方法は、プロセッサ(102)の入力/出力ダイ(106)のシリアライザ/デシリアライザモジュール(108)によって、スキャンテスト入力データ(308)をパラレルで受信すること(302)を含む。そのような入力データを受信することは、一例では、入力データを1つ以上の先入れ先出し(FIFO)バッファに記憶することを含む。
【0021】
また、
図3の方法は、入力/出力ダイ(106)のシリアライザ/デシリアライザモジュール(106b)によって、スキャンテスト入力データ(310)をシリアライズすること(304)を含む。スキャンテスト入力データをシリアライズすること(304)は、いくつかの例では、パラレルデータが受信されるレートよりも高いレートでテストデータの各ビットをクロックインすることによって実行される。
【0022】
また、
図3の方法は、入力/出力ダイ(106)のシリアライザ/デシリアライザモジュール(108)によって、シリアライズされたスキャンテスト入力データ(310)を、プロセッサ(102)のプロセッサコア(104)に送信すること(306)を含む。
図3の例では、シリアライズされたスキャンテスト入力データ(310)を送信すること(306)は、データストローブ符号化によるシリアライズされたスキャンテスト入力データ(310)を符号化することも含む。データストローブ符号化は、1対の信号線を利用する。1つは「データ」を伝送し、もう1つは「ストローブ」を伝送する。送信中、「データ」又は「ストローブ」の何れかが1クロックサイクル内で論理値を変更するが、両方が同じクロックサイクルの間にそうすることが禁止されている。通常、「データ」線は、データをそのまま送信するが、「ストローブ」は、データが2つのデータビット間で一定である場合及びその場合にのみ論理値の状態を変更する。
【0023】
さらなる説明のために、
図4に、本開示の実施形態による、プロセッサコアのスキャンテストを実行する別の例示的な方法を示している。
図4の方法は、プロセッサコア(104)、I/Oダイ(106)及びテストモジュール(110)を含むシステムで
図4の方法が実行されるという点において、
図3の方法と同様である。
図4の方法は、プロセッサの入力/出力ダイ(106)のシリアライザ/デシリアライザモジュール(108)によってスキャンテスト入力データをパラレルで受信すること(302)、入力/出力ダイ(106)のシリアライザ/デシリアライザモジュール(108)によってスキャンテスト入力データをシリアライズすること(304)、及び、入力/出力ダイ(106)のシリアライザ/デシリアライザモジュール(108)によって、シリアライズされたスキャンテスト入力データ(310)をプロセッサ(102)のプロセッサコア(104)に送信すること(306)を
図4の方法にも含むという点で、
図3の方法と類似している。
【0024】
ただし、
図4の方法は、シリアライズされたスキャンテスト入力データ(310)を、プロセッサコア(104)のシリアライザ/デシリアライザモジュール(112)によって受信すること(402)を含むという点において、
図3の方法と異なる。シリアライザ/デシリアライザモジュール(112)は、受信したデータを1つ以上のFIFOバッファにバッファリングすることによって、シリアライズされたスキャンテスト入力データ(310)を受信する。
【0025】
図4の方法は、プロセッサコア(104)のシリアライザ/デシリアライザモジュール(112)によって、シリアライズされたスキャンテスト入力データ(310)をデシリアライズすること(404)も含む。コアモジュール(112)は、デシリアライズされたスキャンテスト入力データ(406)をテスト対象デバイス(408)に提供し、テスト対象デバイス(408)は、入力データ(406)に基づいて結果データ(410)を生成する。結果データ(410)を受信することに応じて、コアSERDESモジュール(112)は、結果データ(410)をシリアライズし(412)、シリアライズされた結果データ(416)をI/Oダイ(106)に送信する。
図4の方法では、シリアライズされた結果データ(416)を送信すること(414)は、シリアライズされたスキャンテスト入力データをデータストローブ符号化で符号化することを含む。
【0026】
さらなる説明のために、
図5に、本開示の実施形態による、プロセッサコアのスキャンテストを実行する別の例示的な方法を示している。
図5の方法は、プロセッサコア(104)、I/Oダイ(106)及びテストモジュール(110)を含むシステムで実行されるという点において、
図4の方法と同様である。
図5の方法は、スキャンテスト入力データを受信すること(302)、スキャンテスト入力データをシリアライズすること(304)、及び、シリアライズされたスキャンテスト入力データをプロセッサコア(104)に送信すること(306)を含むという点において、
図4の方法と類似している。
図5の方法は、シリアライズされたスキャンテスト入力データを受信すること(402)、シリアライズされたスキャンテスト入力データをデシリアライズすること(404)、結果データをシリアライズすること(412)、及び、シリアライズされた結果データをI/Oダイ(106)に送信すること(414)も含む。
【0027】
ただし、
図5の方法は、入力/出力ダイ(106)のシリアライザ/デシリアライザモジュール(108)によって、シリアライズされた結果データ(504)を受信すること(502)、入力/出力ダイ(106)のシリアライザ/デシリアライザモジュール(108)によって、シリアライズされた結果データをデシリアライズすること(506)、及び、入力/出力ダイ(106)によって、デシリアライズされた結果データ(508)をテストモジュール(110)に提供すること(510)を含むという点において、
図4の方法と異なる。
【0028】
さらなる説明のために、
図6に、本開示の実施形態による、プロセッサコアのスキャンテストを実行する別の例示的な方法を示している。
図6の方法は、プロセッサコア(104)、I/Oダイ(106)及びテストモジュール(110)を含むシステムで実行され、
●スキャンテスト入力データを受信すること(302)、
●スキャンテスト入力データをシリアライズすること(304)、
●シリアライズされたスキャンテスト入力データをプロセッサコア104に送信すること(306)、
●シリアライズされたスキャンテスト入力データを受信すること(402)、
●シリアライズされたスキャンテスト入力データをデシリアライズすること(404)、
●結果データをシリアライズすること(412)、
●シリアライズされた結果データをI/Oダイ106に送信すること(414)、
●シリアライズされた結果データ(504)を受信すること(502)、
●シリアライズされた結果データをデシリアライズすること(506)、
●デシリアライズされた結果データ(508)をテストモジュール(110)に提供すること(510)
を含むという点において、
図5の方法と同様である。
【0029】
ただし、
図6の方法は、プロセッサコア(104)のSERDESモジュール(112)によって、シリアライズされたスキャンテスト入力データを受信すること(402)が、不確定性ウィンドウ(indeterminacy window)が満了するまでスキャンテスト入力データを保持すること(606)を含むこと、及び、プロセッサコア(104)のSERDESモジュール(112)によって、シリアライズされたスキャンテスト入力データをデシリアライズすること(404)が、不確定性ウィンドウの満了に応じて、保持されたスキャンテスト入力データを解放すること(608)を含むという点において、
図5の方法と異なる。ここで使用される「不確定性ウィンドウ」という用語は、テストデータ結果の受信が不確定である期間(場合によっては、クロックサイクルで表される)を指す。テスト結果は、様々な理由で不確定である。同じアーキテクチャであっても、ダイ毎に、クロッククロッシング不確実性(clock crossing uncertainty)、ダイ間でのデータ及びストローブ経路のスキュー、及び、ダイ内でのクロックスキューが存在する。このような差異により、プロセッサコアに出入りする信号の送信に不確定性が生じる。ただし、これらの差異の許容誤差は、よく知られており定量化可能である。そのため、信号のシンボルが不確定である時間は、既知且つ有限である。この時間をここでは不確定性ウィンドウと呼ぶ。そのために、データは、シンボルが不確定である期間中には保持され、その期間の後に解放される。このような保持及び解放は、不確定性ウィンドウを構成するクロックサイクルの数に達するまで、各クロックサイクルで増分するロールオーバーカウンターを使用してバッファ内で実行される。カウンタがリセットされると、保持されているデータがバッファから解放される。
【0030】
また、
図6の方法では、入力/出力ダイ(106)のSERDESモジュール(108)によって、シリアライズされた結果データを受信すること(502)が、不確定性ウィンドウが満了するまで結果データを保持すること(602)を含む。
図6の方法において、I/Oダイ(106)のSERDESモジュール(108)によって、シリアライズされた結果データをデシリアライズすること(506)は、不確定性ウィンドウの満了に応じて、保持された結果データを解放すること(604)を含む。不確定性ウィンドウが満了するまでデータを保持することは、
図6の例では、デシリアライズの前に、シリアルドメインで実行されているように示されているが、いくつかの実施形態では、デシリアライズ後のパラレルドメインで実行される。
【0031】
さらなる説明のために、
図7に、本開示の実施形態による、エラー検出を備えたプロセッサコアのスキャンテストを実行するための例示的なシステムの機能ブロック図を示している。
図7の例示的なシステムは、
図2に示した例と類似している。
図7の例示的なシステムは、
図7のシステムがエラー検出を実施しているという点において、
図2のシステムと異なる。このようなエラー検出は、I/Oダイ(106)とコア(104)との間のSERDES接続の追加の未使用レーンを使用して実行される。
図7では、コアSERDESモジュール(112)は、I/O SERDESモジュール(108)への2レーンのSERDES接続を含む。コアSERDESモジュール(112)の送信論理(204)は、2つの送信ブロック(204a、204b)を含み、各々がコアSERDESモジュール(112)とI/O SERDESモジュール(108)との間のトラフィックのためのレーンを提供する。
図7では、1つの送信ブロック(204a)が、シリアライズされた出力データの形態でデータ及びストローブ信号をI/O SERDESモジュール(108)の受信論理(208)に提供する。データ(706)及びストローブ(708)信号を単一の受信ブロックに提供する代わりに、第1のレーンの送信ブロック(204a)は、受信論理(208)の両方のレーンの受信ブロック(208a、208b)に結合されている。それ以外では、第2のレーンの受信ブロック(208b)が使用されない。代わりに、第2のレーン受信ブロック(208b)は、第1のレーン受信ブロック(208a)と同様に、データ及びストローブ出力信号を受信する。このようにして、本来一致するはずの両受信ブロック(両方のレーン)からのデータが比較され、両者間のエラーを検出することができる。
【0032】
図7の例を含むいくつかの実施形態では、データ及びストローブのコピーを、第2の、それ以外に未使用のSERDESライン上に提供し、2つのコピーの比較を通じてエラーを検出するという同じ概念が、入力データにも実装されている。例えば、
図7では、I/Oダイ(106)の送信論理回路(206)は、(各レーンに1つの)2つの異なる送信ブロック(206a、206b)を含む。第1のレーン(206a)の送信ブロックは、テストモジュール(110)から受信した入力テストデータのデータ(702)及びストローブ(704)信号を、コアSERDES(112)の受信論理回路(202)の2つの異なる受信ブロック(各SERDESレーンに1つ)(202a、202b)に送信することができる。コアSERDES(112)又は他のモジュールは、入力データの2つのコピーを比較して、不一致、したがってデータエラーが検出されるかどうかを判定することができる。
【0033】
当業者であれば、I/Oダイとプロセッサコア(又は、本明細書ではコアとも呼ばれるコア複合体)との間の通信を提供するリンクが、テスト中にテスト目的で使用され、テスト完了後に通常動作で利用されることを認識するであろう。さらに、SERDESモジュールは、(パラレルデータ全体の伝送に必要な数よりも少ない)有限数のリンクのみ利用可能な場合に、他の方法ではプロセッサ外部のテスト装置にアクセスできないコアに、非常に大量のパラレルテストデータを入力する手段を提供する。また、SERDESモジュールは、レジスタ転送レベル(RTL)の設計抽象化で表現できる合成可能デジタル論理回路用に構成されている。このようなRTLは、プロセッサのダイ設計において、既存の構造やコンポーネントを利用することにより、低コストで実装される。さらに、このようなデジタルロジックが実装される面積は、同様の方法で動作するアナログコンポーネントの面積よりも小さい。さらに、合成可能なデジタルロジックは、アナログコンポーネントよりも消費電力が少ない。いくつかの実施形態におけるRTLは、スキャンテスト中のプロセッサの動作をシミュレートするためにハードウェア記述言語で利用される。
【0034】
I/Oダイとコアとの間がDC結合されていること、及び、上記のデータストローブ符号化により、PLLが必要ない。PLLが不要になることで、コスト、消費電力、プロセッサのアーキテクチャの変更をさらに減らすことができる。シンボルが不確定な期間が経過するまで結果を保持し及び解放するため、テスト結果は確定的である。
【0035】
例示的な実施形態は、主に、完全に機能するテストシステムのコンテキストで説明されている。しかしながら、当業者であれば、本開示が、任意の適切なデータ処理システムと共に使用するためにコンピュータ可読記憶媒体に配置されたコンピュータプログラム製品において具体化され得ることを認識するであろう。このようなコンピュータ可読記憶媒体は、磁気媒体、光学媒体、又は、他の適切な媒体を含む、機械可読情報用の任意の記憶媒体であってもよい。このような媒体の例としては、ハードドライブ又はディスケット内の磁気ディスク、光学ドライブ用のコンパクトディスク、磁気テープ、及び、当業者が思い浮かべる他のものが挙げられる。当業者は、適切なプログラミング手段を有する任意のコンピュータシステムが、コンピュータプログラム製品に具体化された本方法のステップを実行することが可能であることを直ちに認識するであろう。また、当業者は、本明細書に記載された例示的な実施形態のいくつかが、コンピュータハードウェアにインストールされて実行されるソフトウェアを対象としているが、それにもかかわらず、ファームウェア又はハードウェアとして実装される代替の実施形態が、本開示の範囲内に十分にあることも認識するであろう。
【0036】
実施形態は、システム、方法、及び/又は、コンピュータプログラム製品であり得る。コンピュータプログラム製品は、本開示の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(又は、複数の媒体)を含み得る。
【0037】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるための命令を保持及び記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、これらに限定されないが、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、又は、上述した任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピー(登録商標)ディスク、パンチカード、又は、溝内の隆起構造等の機械的に符号化され命令が記録されたデバイス、及び、上述した任意の適切な組み合わせが含まれる。本明細書で使用されるコンピュータ可読記憶媒体は、電波若しくは他の自由に伝播する電磁波、導波管若しくは他の伝送媒体を通って伝播する電磁波(例えば、光ファイバーケーブルを通過する光パルス)、又は、ワイヤーを介して送信される電気信号等の一時的な信号自体であると解釈されるべきではない。
【0038】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング/処理デバイスにダウンロードすることができ、又は、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はワイヤレスネットワーク)を介して外部コンピュータ又は外部記憶デバイスにダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光ファイバー、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又は、エッジサーバを含んでもよい。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、各コンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0039】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、1つ以上のプログラミング言語の任意の組み合わせ(例えば、Smalltalk、C++等のオブジェクト指向プログラミング言語と、「C」プログラミング言語又は同様のプログラミング言語等の従来の手続き型プログラミング言語と、を含む)で記述されたソースコード若しくはオブジェクト、のうち何れかであってもよい。コンピュータ可読プログラム命令は、スタンドアロンソフトウェアパッケージとして、ユーザのコンピュータ上で完全に実行されてもよいし、ユーザのコンピュータ上で部分的に実行されてもよいし、一部がユーザのコンピュータ上で実行され、一部がリモートコンピュータ上で実行されてもよいし、又は、完全にリモートコンピュータ若しくはサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)若しくはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよいし、又は、外部コンピュータに接続されてもよい(例えば、インターネットサービスプロバイダーを使用したインターネット経由で)。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又は、プログラマブルロジックアレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して本開示の態様を実行するための電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行することができる。
【0040】
本開示の態様は、本開示のいくつかの実施形態による方法、装置(システム)及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して本明細書に記載されている。フローチャート図及び/又はブロック図の各ブロックや、フローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装可能であることが理解されよう。
【0041】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、又は、他のプログラム可能なデータ処理装置のプロセッサに提供され、機械を製造し、それにより、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令がフローチャート及び/又はブロック図の1つ以上のブロックにおいて指定された機能/動作を実施するための手段を生成する。また、これらのコンピュータ可読プログラム命令は、コンピュータ、プログラム可能なデータ処理装置、及び/又は、他のデバイスに対し、特定の方法で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてもよく、そのため、その中に記憶された命令を有するコンピュータ可読記憶媒体は、フローチャート及び/又はブロック図の1つ以上のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品である。
【0042】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置又は他のデバイスに読み込まれ、コンピュータ、他のプログラム可能な装置又は他のデバイス上で一連の動作ステップを実行させて、コンピュータで実施されるプロセスを生成することができ、それにより、コンピュータ、他のプログラム可能な装置又は他のデバイス上で実行される命令が、フローチャート及び/又はブロック図の1つ以上のブロックにおいて指定された機能/動作を実施する。
【0043】
図中のフローチャート及びブロック図は、本開示の様々な実施形態によるシステム、方法及びコンピュータプログラム製品の可能な実施態様のアーキテクチャ、機能及び動作を示している。これに関して、フローチャート又はブロック図の各ブロックは、命令のモジュール、セグメント又は一部を表すことができ、これには、指定された論理機能(複数可)を実施するための1つ以上の実行可能命令が含まれている。いくつかの代替の実施態様では、ブロックに示されている機能は、図に示されている順序と異なる順序で発生する場合がある。例えば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよい。又は、関連する機能に応じて、ブロックが逆の順序で実行されてもよい。ブロック図及び/又はフローチャート図の各ブロックや、ブロック図及び/又はフローチャート図のブロックの組み合わせは、特別目的のハードウェアベースのシステムが指定された機能又は動作を実行すること、又は、特別目的のハードウェアとコンピュータ命令の組み合わせを実行することによって実装できることにも留意されたい。
【手続補正書】
【提出日】2022-04-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
プロセッサコアのスキャンテストを実行するためのプロセッサであって、
プロセッサコアと、
入力/出力ダイと、を備え、
前記入力/出力ダイは、前記プロセッサコアに結合されており、
前記プロセッサは、
前記入力/出力ダイのシリアライザ/デシリアライザモジュールによって、スキャンテスト入力データをパラレルで受信するステップと、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記スキャンテスト入力データをシリアライズするステップと、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データを前記プロセッサのプロセッサコアに送信するステップと、
を実行するように構成されている、
プロセッサ。
【請求項2】
前記シリアライズされたスキャンテスト入力データを前記プロセッサコアに送信することは、前記シリアライズされたスキャンテスト入力データを、データストローブ符号化を用いて符号化することをさらに含む、
請求項
1のプロセッサ。
【請求項3】
前記プロセッサは、
前記プロセッサコアのシリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データを受信するステップと、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データをデシリアライズするステップと、
前記デシリアライズされたスキャンテスト入力データに基づいて生成された結果データを受信したことに応じて、前記結果データをシリアライズするステップと、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データを前記入力/出力ダイに送信するステップと、
を実行するようにさらに構成されている、
請求項
1のプロセッサ。
【請求項4】
前記プロセッサは、前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データを受信するステップと、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データをデシリアライズするステップと、
前記入力/出力ダイによって、前記デシリアライズされた結果データをテストモジュールに提供するステップと、
を実行するようにさらに構成されている、
請求項
3のプロセッサ。
【請求項5】
前記シリアライズされた結果データを前記入力/出力ダイに送信することは、前記シリアライズされたスキャンテスト入力データを、データストローブ符号化を用いて符号化することをさらに含む、
請求項
3のプロセッサ。
【請求項6】
前記プロセッサコアのシリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データを受信することは、シリアライザ/デシリアライザモジュール間で送信されるシンボルが不確定である期間を含む不確定性ウィンドウが満了するまで前記スキャンテスト入力データを保持することをさらに含み、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされたスキャンテスト入力データをデシリアライズすることは、前記不確定性ウィンドウが満了したことに応じて、前記保持されたスキャンテスト入力データを解放することをさらに含み、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データを受信することは、前記不確定性ウィンドウが満了するまで前記結果データを保持することをさらに含み、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールによって、前記シリアライズされた結果データをデシリアライズすることは、前記不確定性ウィンドウが満了したことに応じて、前記保持された結果データを解放することをさらに含む、
請求項
4のプロセッサ。
【請求項7】
前記入力/出力ダイと前記プロセッサコアとの間の伝送を行うリンクは、直接結合されている、
請求項
1のプロセッサ。
【請求項8】
前記入力/出力ダイは、前記プロセッサ用のモノリシックデータ通信インターフェースを備える、
請求項
1のプロセッサ。
【請求項9】
前記シリアライザ/デシリアライザモジュールは、テスト用にのみ動作する、
請求項
1のプロセッサ。
【請求項10】
前記シリアライザ/デシリアライザモジュールは、合成可能なデジタル論理回路を含む、
請求項
3のプロセッサ。
【請求項11】
スキャンテストを実行することは、前記プロセッサをパッケージ化した後であって、前記プロセッサをコンピュータシステムにインストールする前に、前記スキャンテストを実行することを含む、
請求項
1のプロセッサ。
【請求項12】
前記プロセッサは、複数のプロセッサコアをさらに備え、各プロセッサコアは、前記入力/出力コアに独立して結合されており、各プロセッサコアは、前記入力/出力ダイを介する以外での前記プロセッサの外部とのデータ通信が禁止されている、
請求項
1のプロセッサ。
【請求項13】
プロセッサコアのスキャンテストを実行するためのシステムであって、
スキャンテストモジュールと、
プロセッサコア及び前記プロセッサコアに結合された入力/出力ダイを含むプロセッサと、を備え、
前記スキャンテストモジュールは、前記入力/出力ダイを介して、スキャンテスト入力データを前記プロセッサにパラレルで送信し、
前記入力/出力ダイのシリアライザ/デシリアライザモジュールは、
前記スキャンテスト入力データを受信し、
前記スキャンテスト入力データをシリアライズし、
シリアライズされた前記スキャンテスト入力データを前記プロセッサの前記プロセッサコアに送信し、
前記プロセッサコアのシリアライザ/デシリアライザモジュールは、
前記シリアライズされた前記スキャンテスト入力データを受信し、
前記シリアライズされた前記スキャンテスト入力データをデシリアライズし、
前記デシリアライズされた前記スキャンテスト入力データに基づいて生成された結果データを受信し、
前記結果データをシリアライズし、
シリアライズされた前記結果データを前記入力/出力ダイに送信し、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールは、
前記シリアライズされた前記結果データを受信し、
前記シリアライズされた前記結果データをデシリアライズし、
デシリアライズされた前記結果データを前記スキャンテストモジュールに提供する、
システム。
【請求項14】
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールは、前記シリアライズされた前記スキャンテスト入力データを、データストローブ符号化を用いて符号化することによって、前記シリアライズされた前記スキャンテスト入力データを前記プロセッサコアに送信し、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールは、前記シリアライズされた前記スキャンテスト入力データを、データストローブ符号化を用いて符号化することによって、前記シリアライズされた前記結果データを前記入力/出力ダイに送信し、
前記プロセッサコアの前記シリアライザ/デシリアライザモジュールは、前記シリアライズされた前記スキャンテスト入力データを、データストローブ復号化を用いて復号化することによって、前記シリアライズされた前記スキャンテスト入力データを受信し、
前記入力/出力ダイの前記シリアライザ/デシリアライザモジュールは、前記シリアライズされた前記結果データを、データストローブ復号化を用いて復号化することによって、前記シリアライズされた前記結果データを受信する、
請求項
13のシステム。
【国際調査報告】