SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要...

14
WP249 (v1.3) 2011 7 6 japan.xilinx.com 1 © Copyright 2006–2011 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respective owners. こ の資料では、 Virtex ® -4Virtex-5Virtex-67 シリー FPGA SPI-4.2 ダイナミック位相アライメント (DPA) Sink コアの動作について説明し、 SPI-4.2 DPA リ ューシ ョ ンの使用に関するガイ ド ラ インを示します。 ホワイト ペーパー : Virtex-4Virtex-5Virtex-67 シリーズ FPGA WP249 (v1.3) 2011 7 6 SPI-4.2 ダイナミック位相アライメント 著者 : Robert LeKyle Locke

Transcript of SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要...

Page 1: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 1

© Copyright 2006–2011 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respective owners.

この資料では、 Virtex®-4、 Virtex-5、 Virtex-6、 7 シ リー

ズ FPGA の SPI-4.2 ダイナ ミ ッ ク位相ア ラ イ メ ン ト

(DPA) Sink コアの動作について説明し、 SPI-4.2 DPA ソリ ューシ ョ ンの使用に関するガイ ド ラインを示します。

ホワイ ト ペーパー : Virtex-4、 Virtex-5、 Virtex-6、 7 シリーズ FPGA

WP249 (v1.3) 2011 年 7 月 6 日

SPI-4.2 のダイナミ ック位相アライメン ト

著者 : Robert Le、 Kyle Locke

Page 2: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

2 japan.xilinx.com WP249 (v1.3) 2011 年 7 月 6 日

DPA の概要

DPA の概要

SPI-4.2 レシーバー インターフェイスは、 16 のデータ ビッ ト (RDat)、 1 つの制御ビッ ト (RCtl)、 1 つのクロ ッ ク (RDClk) から成る合計 18 の DDR ソース同期 LVDS ペアで構成されます。 DPA ロジッ ク

は、 ク ロ ッ クを基準にデータをシフ ト させてデータ アイ中央の最適なサンプリ ング位置を選択し、デー

タ バス上のビッ ト間スキューを除去するこ とによ り、ソース同期データを正し くキャプチャできるよ う

にします。

SPI-4.2 DPA コアは、 Virtex-4、 Virtex-5、 Virtex-6、 7 シ リーズ FPGA のすべての I/O に組み込まれた

Advanced SelectIOTM テク ノ ロジを使用します。 Advanced SelectIO テク ノ ロジの一部と して備えられ

ている ISERDES には、サブモジュールと して IDELAY、SERDES、BITSLIP が含まれます。 IDELAYサブモジュールには 64 タ ップ (Virtex-4 および Virtex-5 FPGA) または 32 タ ップ (Virtex-6 および 7 シリーズ FPGA) の遅延ラインがあ り、 カウンター制御のタ ップ マルチプレクサーが付いています。 同じ

ク ロ ッ ク領域にある遅延ラインはすべて、 ユーザーから供給される 200MHz 基準クロ ッ クを使用して

サーボ システム (IDELAYCTRL) で連続してキャ リブレーシ ョ ンされます。 これによ り、 プロセス、電

圧、温度の変動による影響が抑えられます。DPA ロジッ クは ISERDES とそのサブモジュールを使用し

てデータのデシ リ アライズ、 遅延、 シフ ト を実行し、 データ アイ中央のクロ ッ クに揃う よ うにします。

SPI-4.2 DPA ロジッ クはいくつかの DPA 機能をサポート しています。次の機能は、CORE GeneratorTM

ソフ ト ウェアで設定可能です。

DPA のパラメーターMaster-Slave IDELAY Offset : Master IDELAY および Slave IDELAY の遅延タップ値のオフセッ ト を

指定します。 デフォルト値は 2 です。

Alignment Test Interval : IDELAY の 1 タ ップで取得するサンプルの数を指定します。デフォルト値は

128 です。

DPA クロック調整Enable DPA Clock Adjustment : このオプシ ョ ンを有効にする と、 DPA ロジッ クがクロ ッ ク遅延を調

整し、 IDELAY タ ップ パターンのジッ ターによるシステム タイ ミ ングへの影響が抑えられます。 この

機能は、 RDClk 信号に IDELAY を挿入するこ とでインプ リ メン ト されます。 Virtex-6 および 7 シ リー

ズ FPGA を使用したデザインでは、 RDClk ク ロ ッ クがリージ ョナル ク ロ ッ ク と して分配されている場

合のみ利用できます。

自動リ ト ライEnable Auto-Retry : このオプシ ョ ンを有効にする と、 DPA プロセスにエラーが発生した場合に、 アラ

イ メン トが完了するまで DPA プロセスが自動で再開されます。

連続アライメン トEnable Continuous Alignment : このオプシ ョ ンを有効にする と、DPA は動作中も継続的にアライ メン

ト を監視し、 システム タイ ミ ングの変化に合わせてデータのサンプリ ング位置を調整します。

Generate Continuous Alignment Halt Pin : このオプシ ョ ンを有効にする と、動作中に行われる連続ア

ライ メン ト プロセスを停止する専用の入力ピンが有効になり ます。

Page 3: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

DPA の概要

WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3

診断に関する設定Enable DPA Status Monitoring : このオプシ ョ ンを有効にする と、 ユーザーは SnkBusErrStat バスを使用して DPA ロジッ クを監視できます。

Report IDELAY on SPI-4.2 Bus Index : このオプシ ョ ンを有効にする と、 指定した SPI-4.2 バス イン

デッ クスの初回アライ メン ト実行中に、 SnkBusErrStat が IDELAY 値を返します。 有効なインデッ

クス値は 0 ~ 16 (16 は制御ビッ ト ) です。

Generate Advance DPA Diagnostic Ports : このオプシ ョ ンを有効にする と、 ユーザーは動作中に高度

な DPA 診断ポート を使用して SPI-4.2 バスの各ビッ ト の有効データ ウ ィ ン ド ウを計測およびキャプ

チャできます。

図 1 に、 DPA の全体的なフローチャート を示します。

X-Ref Target - Figure 1

図 1 : DPA の主な流れ

Phase Align Request

Clock Adjustment(optional)

IDELAY Sweep

Find Data Eye

Adjust Master Delay

Set to middle of first complete data eye

Align to Training Pattern/Bus Deskew

Use BitSlip/SRL16 to align across all bits

Initial clk-data Alignment

[SnkDPA]PhaseAlignComplete asserted

ContinuousAlignment?

Continuous clk-dataAlignment

DONE

WP249_01_051611

Step 1

Step 2

Step 3

Yes No

Page 4: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

4 japan.xilinx.com WP249 (v1.3) 2011 年 7 月 6 日

初回ビッ ト アライメン ト

[SnkDPA]PhaseAlignRequest (1) 信号が High から Low に遷移する と、 DPA ロジッ クは

IDELAYCTRL からの Ready 信号 (同じ領域にある IDELAY モジュールのキャ リブレーシ ョ ンが完了

したこ とを示すコア内部信号) を待機します。 この Ready 信号がアサート される と、DPA ロジッ クはア

ライ メン ト プロセスを開始します。アライ メン トはバスのすべてのビッ トに対して独立かつ同時に実行

されます。

アライ メン ト プロセスは、 基本的に次の 4 段階で実行されます。

1. DPA ク ロ ッ ク調整 ( オプシ ョ ン )

この機能を選択する と、 DPA ロジッ クは初回のビッ ト アライ メン トの前にクロ ッ ク アライ メン トを実行します。 この機能は、 SPI-4.2 バスのデータ ビッ ト と制御ビッ トの ト レースがほぼ一致している場合のみ使用して ください。

2. 初回ビッ ト アライ メン ト

DPA ロジッ クはクロ ッ クを基準にデータをシフ ト してビッ ト アライ メン ト を実行し、 最適なサンプリ ング位置を検出します。 SPI-4.2 バスの各ビッ トは、 それぞれ独立してクロ ッ クを基準に位置が調整されます。

3. ワード アライ メン ト

各ビッ ト に対するビッ ト アラ イ メ ン ト が完了する と、 DPA ロジッ クは SPI-4.2 ト レーニング パターンに対するデータ ビッ トのワード アライ メン ト を実行し、 データ ビッ ト間のスキューを除去します。 ビッ ト アライ メン ト と ワード アライ メン トの両方が完了する と、 DPA ロジッ クは[SnkDPA]PhaseAlignComplete をアサート します。連続アライ メン ト オプシ ョ ンを有効にしていない場合はこれでアライ メン トが完了し、さ らに ト レーニング パターンを受信してもアライ メントは実行されません。

4. 連続アライ メン ト ( オプシ ョ ン )

このオプシ ョ ンを有効にした場合、 [SnkDPA]PhaseAlignComplete がアサート された後に連続アライ メン トのプロセスが開始します。 DPA ロジッ クは初回のアライ メン トが完了した ([SnkDPA]PhaseAlignComplete がアサート された ) 後も受信したデータ サンプルを中断することなく監視し、 データのサンプリ ング位置を調整します。 このプロセスは、 SPI-4.2 ト レーニング パターンの有無に関係なくバスのすべてのビッ トに対して連続的かつ独立して行われます。 この監視機能は、 遷移のあるデータ パターンであれば実行できます。

初回ビッ ト アライメン ト 初回ビッ ト アラ イ メ ン ト のプロセスでは、 オフセッ ト のサンプ リ ングによってデータ遷移を検出し、

データの最適なサンプリ ング位置を決定します。DPA ロジッ クはまずデータの遷移位置を検出し、次に

この情報を使用してデータ アイの最適なサンプリ ング位置を決定します。

このため、 SnkDPA]PhaseAlignRequest がアサート されたら有効な SPI-4.2 ト レーニング パターン

を送信する必要があ り ます。SPI-4.2 ト レーニング パターンは、0 と 1 が 10 個ずつで構成される 20 ビッ

ト のパターンで、 ト レーニング モード の間、 ト ラ ン ス ミ ッ ターによ って連続して送信されます。

[SnkDPA]PhaseAlignRequest が High から Low へ遷移する と、DPA ロジッ クは IDELAYCTRL からの Ready 信号 (コア内部信号) を待機し、 この信号を受信してからアライ メン ト プロセスを開始しま

す。

DPA ロジッ クでは、 1 つのデータ ビッ トにつき 2 つの ISERDES モジュールが使用されます。 図 2 に基本的な DPA ロジ ッ ク を示し ます。 2 つの IDELAY のタ ップ遅延の差 (1 タ ップ遅延 = 78ps) は、

Master-Slave IDELAY Offset パラ メーターで指定します。 アラ イ メ ン ト プロセス実行時に、 DPA ロジッ クは可能な IDELAY タ ップ値をすべてテス ト します。 このよ うに可能なサンプル位置をすべてス

イープするこ とで、 DPA ロジッ クはデータ アイ、 つま りはデータ遷移の位置を特定します。

1. SPI-4.2 v10.x 以前の信号名は PhaseAlignRequest で、SPI-4.2 v11.x 以降では SnkDPAPhaseAlignRequest です。

Page 5: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

初回ビッ ト アライメン ト

WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 5

ロジッ クに IDELAY タ ップが加味されても、 2 つの IDELAY 間のオフセッ ト遅延は変わり ません。 ロ

ジッ クは 2 つの ISERDES からのサンプル値を比較し、サンプルした位置が有効データ ウ ィンド ウ内に

あるかど うかを判断します。両サンプリ ング位置が有効データ ウ ィンド ウ内にある場合は、サンプル値

が一致します。 データが遷移している場合、 サンプルする位置が遷移の領域に近いづくにつれ、 サンプ

ル値に不一致が見られます。DPA ロジッ クはテス ト中 (Alignment Test Interval パラ メーターで設定) のすべてのサンプルを蓄積し、 全サンプルが一致した場合のみ一致を返します。 各 IDELAY タ ップ値の

一致/不一致の情報はメモ リに保存され、 この情報を使用してデータ アイの最適なサンプリ ング位置が

決定されます。 図 3 に、 400MHz DDR (800Mb/s) でキャプチャしたサンプリ ング結果を示します。

図 3 は、 17 のデータ ビッ ト (インデッ クス 16 は制御ビッ ト ) の各サンプリ ング位置 (タ ップ値) につい

て一致/不一致の情報を記録したものです。 「N」 は不一致、 「M」 は一致を表します。 この一致/不一致の

情報に基づき、M の領域 (データ アイ) の中央を最適なサンプリ ング位置 (緑で表示) と して選択します。

DPA ロジッ クは常に最初に完全な形で現れたデータ アイ内で、 最終的な最適サンプ リ ング位置を選択

します。図からわかるよ うに、データ遷移の領域はビッ ト ごとに異なり ます。 DPA ロジッ クは、各ビッ

トに対する最適なサンプリ ング位置をそれぞれ独立して調整します。 すべてのビッ トが最適なサンプリ

ング位置に調整される と、 DPA ロジッ クは次にワード アライ メン トのプロセスを開始します。

X-Ref Target - Figure 2

図 2 : 基本的な DPA ロジック

SRL16Master

ISERDES

Tap Value

DOUT[3:0]

MATCH

RDat_P

Tap Value + IDELAY Offset

RDat_N

WP249_02_061311

SlaveISERDES

X-Ref Target - Figure 3

図 3 : IDELAY タ ップのサンプリング結果

Master OffsetData Ch/Tap

WP249_03_073009

0123456789

10111213141516

M0

MMMMMMMMMMMMMMMM

M1

MMMMMMMMMMMMMMMM

M2

MMMMMMMMMMMMMMMM

M3

MMMMMMMMMMMMMMMM

N4

MNMMMMMMMMMMMMMM

N5

MNMMNMNMNMNMNMMM

N6

MNNNNNNMNMNMNNMM

M7

NMNNNNNNNNNNNNNN

M8

NMNNMNMNMNMNMNNN

M9

NMMMMMMNMNMNMMMN

M10

MMMMMMMMMMMMMMMM

M11

MMMMMMMMMMMMMMMM

M12

MMMMMMMMMMMMMMMM

M13

MMMMMMMMMMMMMMMM

M14

MMMMMMMMMMMMMMMM

M15

MMMMMMMMMMMMMMMM

M16

MMMMMMMMMMMMMMMM

M17

MMMMMMMMMMMMMMMM

M18

MMMMMMMMMMMMMMMM

M19

MMMMMMMMMMMMMMMM

N20

MNMMMMMMMMMMMMMM

N21

MNMMNMNMNMNMNNMM

N22

MNNNNNNNNMNMNNMM

M23

NMNNNNNNNNNNNNNN

M24

NMNNMNMNMNMNMNNN

M25

NMMMMMMNMNMNMMMN

M26

MMMMMMMMMMMMMMMM

M27

MMMMMMMMMMMMMMMM

M28

MMMMMMMMMMMMMMMM

M29

MMMMMMMMMMMMMMMM

M30

MMMMMMMMMMMMMMMM

M31

MMMMMMMMMMMMMMMM

M32

MMMMMMMMMMMMMMMM

M33

MMMMMMMMMMMMMMMM

M34

MMMMMMMMMMMMMMMM

M35

MMMMMMMMMMMMMMMM

N36

MNMMNMMMNMNMNMMM

N37

MNMNNNNMNMNMNNMM

Page 6: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

6 japan.xilinx.com WP249 (v1.3) 2011 年 7 月 6 日

ワード アライメン ト

ワード アライメン ト

ワード アライ メン トのプロセスでは、 SPI-4.2 バスのすべてのビッ ト間スキューが除去されます。 DPAロジッ クは、 SPI-4.2 ト レーニング パターンを用いて SPI-4.2 インターフェイスの 17 のデータ ビッ ト

(RDat[15:0] および RCtl) の位置を調整します。DPA ロジッ クは ISERDES の Bitslip サブモジュールお

よび SRL16 を使用して ISERDES の出力と ト レーニング パターンを比較し、すべてのデータ ビッ トの

位置を調整するこ とでビッ ト間スキューを除去します。

初回アライ メン ト と ワード アライ メン トが正常に完了する と、 [SnkDPA]PhaseAlignComplete がア

サート されます。 [SnkDPA]PhaseAlignRequest が High から Low へ遷移してから

[SnkDPA]PhaseAlignComplete がアサート されるまでの時間 (アラ イ メ ン ト時間) は、 RDClk の周

波数および Alignment Test Interval オプシ ョ ンの設定値にのみ依存します。おおよそのアライ メ

ン ト時間は次の式で求めるこ とができます。

アライ メン ト時間 ~= RDClk 周期 * 128 * (Alignment Test Interval + 7)

連続アライメン ト

連続アライ メン トのオプシ ョ ンを有効にした場合、 [SnkDPA]PhaseAlignComplete のアサート後に

連続アライ メン ト プロセスが開始します。 ク ロ ッ ク とデータの初回アライ メン ト後、 各データ ビッ ト

のサンプリ ング位置は有効データ ウ ィンド ウの中央に揃えられます。 しかし、 システムによっては電圧

や温度などの動作条件、またはその他の変動によって有効データ ウ ィンド ウがシフ トするこ とがあ り ま

す。連続アライ メン トはこのよ うな状況に対処するための機能で、動作中に受信したデータ サンプルを

中断するこ とな く監視し、 必要に応じてサンプリ ング位置を調整して最大限のマージンを確保するよ う

にします。 ただし、 ほとんどの SPI-4.2 ト ランス ミ ッ ター (ソース) はデータ と ク ロ ッ クの位相関係が固

定されたデザインになっているため、 通常は連続アライ メン トは必要あ り ません。

DPA ロジッ クは 1 ビッ トにつき 2 つの ISERDES を使用し、 Master IDELAY はデータ アイの中央で

す。 DPA ロジッ クはオフセッ ト が (Master IDELAY + 2) の位置で、 Alignment Test Interval パラ メー

ターで指定した数のサンプルを Slave IDELAY の出力データから取得し、 次にオフセッ ト が (MasterIDELAY - 2) の位置で、同パラ メーターで指定した数のサンプルを Slave IDELAY の出力データから取

得します。 そして、 これら 2 つのテス ト結果を Master IDELAY と比較します。 この比較テス トが片側

のみ一致して、 も う片側が不一致の場合、有効データ ウ ィンド ウがシフ ト したか崩れたこ とを意味しま

す。 このよ う な場合は、 Master IDELAY のタ ップ値を ±IDELAY タ ップずつ調整し、 不一致の側から

遠ざけるよ うにシフ ト させます。 この処理を動作中に繰り返します。

Master IDELAY タ ップを調整するには、 まず Slave IDELAY タ ップを Master IDELAY タ ップと同じ

値に調整してから、Slave IDELAY タ ップへのデータ出力をスワップします。次に Master IDELAY タ ッ

プを調整し、 出力をも う一度スワップします。 こ うするこ とで、 タ ップ値の調整中にグ リ ッチが発生す

るのを防ぎます。

連続 DPA ではすべてのビッ ト を並行して監視し、 必要に応じて調整します。 一部またはすべてのビッ

トに対する調整の周期は、 次の式で求めるこ とができます。

DPA 調整周期 ~= UI * (Alignment Test Interval * 8 + 136)

Page 7: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

DPA クロック調整 (オプシ ョ ン)

WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 7

DPA クロック調整 (オプシ ョ ン)DPA ク ロ ッ ク調整の機能は、SPI-4.2 バスのデータ ビッ ト と制御ビッ トの ト レースが一致している場合

のみ使用して ください。 図 4 に示すよ うに、 DPA ク ロ ッ ク調整オプシ ョ ンを有効にする と RDClk 信号

に IDELAY が挿入され、この IDELAY のタップ値が調整されるこ とで RDat/RCtl バス全体のサンプリ

ング位置が変更されます。 これによ り、 コアは最初に完全な形で出現するデータ アイのサンプリ ング位

置を可能な限り小さいタ ップ値に移動させるこ とができます ( 「初回ビッ ト アライ メン ト 」 の説明を参

照)。 この結果、データ ビッ ト と制御ビッ トに対して選択される IDELAY の最終的なタ ップ値が小さ く

な り、 IDELAY タ ップ パターンのジッ ターがシステムのタイ ミ ングに与える影響を最小限に抑えるこ

とができます。 DPA ク ロ ッ ク調整ロジッ クが RDClk の IDELAY タ ップ値を下方に調整するか、 まっ

た く調整を行わないかは、 最初のデータ テス ト に基づいて決定します。 したがって、 初期状態でのク

ロ ッ ク遅延は IDELAY 範囲 (Virtex-4 および Virtex-5 FPGA ではデフォルトで 32、 Virtex-6 および 7シ リーズ FPGA では 16) の中央にあるか、少なく と も 1 UI に相当する IDELAY タ ップ数でなければな

り ません。 Virtex-6 および 7 シ リーズ FPGA を使用したデザインでは、 この機能は RDClk ク ロ ッ クが

リージ ョナル ク ロ ッ ク と して分配されている場合のみ利用できます (図 4 参照)。X-Ref Target - Figure 4

図 4 : RDClk に IDELAY を挿入した DPA クロック調整

RDClk0_User

RDClkDiv_User

IOB

BUFIO

BUFR(BUFR_DIVIDE=2)

IODELAY

(IDELAY_TYPE=VARIABLE) IBUFGDS

IOBRDClk_P

RDClk_N

Denotes I/O on User Interface

RDat[15:0] & RCtlQ D

RDClk0_User

RDClkDiv_User

ISERDES

RDClkDiv_User

Q DSnkData[63:0] and

SnkCtl[3:0]

Sink InternalData & Control

Bus

RDClkDiv_User

WP249_04_061511

D Q

EN

Enable at ¼ (or 1/8) SPI-4.2 Rx datarate

RStat[1:0] & RSClkInternal BusRStat[1:0] & RSClk

IOB

IOB

Rst Inc CE C

SnkDPAClkDlyRstSnkDPAClkDlyInc SnkDPAClkDlyCE

RDClkDiv_User

Page 8: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

8 japan.xilinx.com WP249 (v1.3) 2011 年 7 月 6 日

DPA クロック調整 (オプシ ョ ン)

た とえば Virtex-6 FPGA システムでデータ レー ト が 800Mb/s の場合、 1 UI は 1250ps と な り ます。

IDELAY タ ップの遅延は 1 タ ップにつき 78ps であるため、このデータ レートでは 1 UI は約 16 タ ップ

に相当します。 さ らに、 パターンに依存するジッ ターが 1 タ ップ遅延につき最大 ±5ps 加わり ます。(1)

「初回ビッ ト アライ メン ト 」 のセクシ ョ ンで説明したよ うに、DPA ロジッ クは各ビッ トについて MasterIDELAY および ISERDES の出力と Slave IDELAY および ISERDES の出力を比較します。 図 5 およ

び図 6 はこの比較結果を示したもので、 「N」 は不一致、 「M」 は一致を表します。 DPA ロジッ クはすべ

ての IDELAY タ ップ値をスイープし、 最初に完全な形で現れたデータ アイ内で最適なサンプリ ング位

置を最終的に選択します。

IDELAY タ ップ スイープのワース ト ケースのシナリオ例を図 5 に示します。 この図では、 初期状態

でのク ロ ッ ク アラ イ メ ン ト (基板レイアウ ト によって決定、 RDat/RCtl の Master IDELAY のタ ップ

値は 0) はすべてのデータ /制御ビッ トの 「M」 (一致) ウ ィ ン ド ウの一番はじめに位置しています。 この

例では、DPA ロジッ クはすべてのデータ /制御ビッ トに対して IDELAY タ ップ値を上方にスイープし、

タ ップ値 14 から 25 までの間でビッ ト 0 の完全なデータ アイを最初に検出します。 この場合、 DPAロジッ クはビッ ト 0 の最終的なサンプ リ ング位置と して IDELAY タ ップ値 20 を選択します。 これに

よ り、 ク ロ ッ クのサンプ リ ング位置と選択した有効データ ウ ィ ン ド ウの間には 20 タ ップの遅延差 (約 1.25 UI) が生じる こ とにな り ます。 この程度の遅延差では必ずしも問題にはな り ませんが、データ

ビッ ト の最終的なタ ップ遅延値がさ らに大き く なる と、 1 タ ップにつき最大 5ps のジッ ターが加わる

可能性があ り ます。

同じ条件下で DPA ク ロ ッ ク調整を使用して初期状態のク ロ ッ ク アラ イ メ ン ト を変更する と、 DPA クロ ッ ク調整ロジッ クは RDClk の IDELAY のタップ値を減分します。 図 6 に示すよ うに、 これはデータ/制御ビッ トのマッチ ウ ィンドウ全体を右に移動するのと同じこ とになり ます。DPA クロ ッ ク調整段階で

は、 RDat および RCtl ビッ トの Master IDELAY と Slave IDELAY のタ ップ値はいずれも初期値のまま

変化せず (Master = 0、 Slave = Master-Slave IDELAY Offset)、 RDClk の IDELAY タ ップ値のみが変わ

り ます。 DPA クロ ッ ク調整ロジッ クは、すべてのデータ /制御ビッ トが 「M」 (一致) から 「N」 (不一致) に遷移するまで RDClk の IDELAY タ ップ値を減分します。 こ うする と、 完全なデータ アイが最初に出現

する IDELAY タ ップ値が小さ くなるため、 ビッ ト単位の DPA アライ メン ト を開始する場所と して理想

的である といえます。 このロジッ クはすべてのデータ /制御ビッ トで 「N」 への遷移を確認しなければな

1. 『Virtex-6 FPGA データシート : DC 特性およびスイ ッチ特性』 (DS152) 記載の TIDELAYPAT_JIT の値です。

X-Ref Target - Figure 5

図 5 : Virtex-6 FPGA の IDELAY タ ップ スイープ (DPA クロック調整なし )

WP249_05_061411

Tap Data Ch

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

0 M M M M M M M M M M N N N N M M M M M M M M M M M M N N N N M M1 M M M M M M M M M M M M M N N N M M M M M M M M M M M M M N N N2 M M M M M M M M M M N N N N M M M M M M M M M M M M N N N N M M3 M M M M M M M M M M M M N N N M M M M M M M M M M M M M N N N M4 M M M M M M M M M M M M N N N M M M M M M M M M M M M N N N N M5 M M M M M M M M M M M N N N M M M M M M M M M M M M N N N N M M6 M M M M M M M M M M M M N N N M M M M M M M M M M M M N N N M M7 M M M M M M M M M M M N N N M M M M M M M M M M M M M N N N M M8 M M M M M M M M M M M M N N N N M M M M M M M M M M M M N N N N9 M M M M M M M M M M M N N N M M M M M M M M M M M M N N N N M M

10 M M M M M M M M M M M M M N N N M M M M M M M M M M M M M N N N11 M M M M M M M M M M M N N N M M M M M M M M M M M M N N N N M M12 M M M M M M M M M M M M M N N N M M M M M M M M M M M M M N N N13 M M M M M M M M M M M N N N M M M M M M M M M M M M N N N N M M14 M M M M M M M M M M M N N N N M M M M M M M M M M M M N N N N M15 M M M M M M M M M M M M M N N M M M M M M M M M M M M M M N N M16 M M M M M M M M M M M M M N N N M M M M M M M M M M M M M N N M

Master Offset

Page 9: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

ハードウェア検証

WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 9

らないため、 クロ ッ ク調整オプシ ョ ンを使用するには、 基板上の RDat と RCtl のト レースが一致してい

る必要があり ます (すべてのデータ/制御バスで 「N」 状態を検出できないと DPA プロセスが正常終了し

ない)。 初期状態のクロッ ク アライ メン ト をこのよ うに調整した場合、 DPA ロジッ クはすべてのデータ /制御ビッ トに対して IDELAY タ ップ値を上方にスイープし、 タ ップ値 1 から 12 までの間でビッ ト 0 の完全なデータ アイを最初に検出します。 そして、 ビッ ト 0 の最終的なサンプリ ング位置と して IDELAYタ ップ値 7 を選択します。 これは、 DPA クロ ッ ク調整を使用しない先の例に比べ、 13 タ ップ分遅延が小

さ くなっており、 最大で 65ps のジッターを抑えるこ とができます。

DPA ク ロ ッ ク調整は、データ転送に具体的な問題が発生する場合にのみ使用して ください。 この調整が

主に必要となるのは、 DPA が正常に完了したにもかかわらず、直後のコア動作中に不規則的に DIP4 エラーが発生する場合です。 このよ うな場合は、DPA ク ロ ッ ク調整機能によるジッ ターの低減が有用と考

えられます。 実際のシステムで DPA ク ロ ッ ク調整オプシ ョ ンの効果があるかど うかを判断するには、

DPA ク ロ ッ ク調整の有無それぞれのインプ リ メ ンテーシ ョ ンにおける実際の最終的なタ ップ値を確認

する必要があ り ます。最終的なタ ップ値は、コアの DPA 診断機能を使用して調べるこ とができます。 こ

の値がわかれば、DPA ク ロ ッ ク調整を利用してジッターを低減するこ とによって DIP4 エラーを回避す

るのに十分なタイ ミ ング マージンを確保できるかど うかが判断できます。

ハードウェア検証

SPI-4.2 DPA コ アは、 Virtex-4 FPGA ML450 開発ボード (XC4VLX25-FF668 FPGA 搭載) および

Virtex-5 FPGA ML 550 開発ボード (XC5VLX50T-FF1136 FPGA 搭載) を用いて、 デフォル トの DPAパラ メーターでハードウェア検証が行われています。 このデザインは最大 1Gb/s のデータレートで動作

します。また、SPI-4.2 DPA コアは Virtex-6 FPGA ML623 開発ボード (XC6VLX240T-FF1156-1 FPGA搭載) でも最大 1.1Gb/s のデータ レートでハード ウェア検証が行われています。 このデザインでも、 次

の DPA パラ メーターをデフォルトで使用しています。

Master-Slave IDELAY Offset = 2

Alignment Test Interval = 128

X-Ref Target - Figure 6

図 6 : Virtex-6 FPGA の IDELAY タ ップ スイープ (DPA クロック調整あり )

WP249_03_060611

Tap Data Ch

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

0 N M M M M M M M M M M M M N N N N M M M M M M M M M M M M N N N1 N N N M M M M M M M M M M M M M N N N M M M M M M M M M M M M M2 N M M M M M M M M M M M M N N N N M M M M M M M M M M M M N N N3 N N M M M M M M M M M M M M M N N N M M M M M M M M M M M M M N4 N N M M M M M M M M M M M M M N N N M M M M M M M M M M M M N N5 N M M M M M M M M M M M M M N N N M M M M M M M M M M M M N N N6 N N M M M M M M M M M M M M M N N N M M M M M M M M M M M M N N7 N M M M M M M M M M M M M M N N N M M M M M M M M M M M M M N N8 N N N M M M M M M M M M M M M N N N N M M M M M M M M M M M M N9 N M M M M M M M M M M M M M N N N M M M M M M M M M M M M N N N

10 N N N M M M M M M M M M M M M M N N N M M M M M M M M M M M M M11 N M M M M M M M M M M M M M N N N M M M M M M M M M M M M N N N12 N N N M M M M M M M M M M M M M N N N M M M M M M M M M M M M M

Master Offset

Page 10: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

10 japan.xilinx.com WP249 (v1.3) 2011 年 7 月 6 日

DPA パラメーターのガイド ライン

DPA パラメーターのガイ ド ライン

DPA アルゴ リズムの次の動作パラ メーターは、CORE Generator ソフ ト ウェアの GUI で設定できます。

• Alignment Test Interval

• Master-Slave IDELAY Offset

ハード ウ ェア動作の場合は、 動作周波数にかかわらず Alignment Test Interval を 128、 Master-SlaveIDELAY Offset を 2 に設定して ください (いずれもデフォルト値)。

前述のとおり、 Alignment Test Interval では 1 つのサンプリ ング位置で取得するサンプル数を指定しま

す。 この値を大き くする とデータ遷移位置の検出精度が向上しますが、 アライ メン ト時間が長くな り ま

す。 通常はデフォル ト値の 128 を使用して ください。 ただし、 短いアラ イ メ ン ト時間でコアをシ ミ ュ

レーシ ョ ンしたい場合は 128 未満の値のシ ミ ュレーシ ョ ン モデルを生成できます。

Master-Slave IDELAY Offset は Master IDELAY と Slave IDELAY の遅延タップ値のオフセッ ト を指定

するパラ メーターで、 予想されるデータ アイに関連します (単位は IDELAY タ ップ数)。 このパラ メー

ターの値を大き くする と SPI-4.2 のクロ ッ ク レートが高い場合やノ イズの多いシステムで DPA エラー

が発生するため、 デフォルト値の 2 のままにしてください。

DPA 診断

ハードウェアの動作にアライ メン ト エラー (DIP4 エラーや Sink フレームの非同期) が発生した場合は、

DPA 診断ポート を使用したデバッグが可能です。

Enable DPA Status Monitoring オプシ ョ ンを有効にする と、 [SnkDPA]PhaseAlignRequest が High から Low に遷移してから[SnkDPA]PhaseAlignComplete がアサート されるまでの、指定した SPI-4.2 バス インデッ クスの DPA 診断データが出力されます。このデータを利用する と、指定した SPI-4.2 バス インデッ クスの初回アライ メン ト時のデータ アイ と最終的なサンプリ ング位置を監視できます。

DPA ロジッ クには、 SnkBusErrStat[7:0]、 SnkDPARamAddr[5:0]、 SnkDPARamData[16:0]、SnkDPARamValid の診断ポートがあ り ます。 初回アライ メン ト プロセスで SPI-4.2 バスのデータ /制御

ビッ トの有効データ ウ ィンド ウを検出する際に DPA ロジッ クが収集したデータは、 これらのポートか

ら出力されます。 PhaseAlignRequest がパルスされた後、 DPA ロジッ クは IDELAY タ ップを伝搬し、

IDELAY タ ップのサンプ リ ングが有効データ ウ ィ ンド ウ内にあるかど うかを判定します。 キャプチャ

した各ビ ッ ト のサンプ リ ング情報は、 SnkDPAValid がアサー ト される と SnkDPARamAddr および

SnkDPARamData バスに出力されます。

初回アライ メ ン ト プロセスの間、 SnkBusErrStat[7:0] バスは RDClkDiv_GP ク ロ ッ ク (Sink コア

の出力) によって駆動されます。[SnkDPA]PhaseAlignComplete がアサート される と、このバスは通

常の機能に戻り、 以降は SnkFFClk によって駆動されます。 SnkBusErrStat バスを ChipScopeTM または同等のロジッ ク プローブに接続して、 アライ メン ト エラーの診断を行う こ とができます。

SnkBusErrStat[7:0] に現れる DPA 診断データは、 次の 4 段階に分けられます。

• DELAY タ ップ スイープを実行する

• タ ップ値をデータ アイ中央へ調整する

• すべてのチャネルがデータ アイ中央に揃っているこ とを確認する

• 最終的なタ ップ値を返し、 [SnkDPA]PhaseAlignComplete をアサートする

Page 11: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

DPA 診断

WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 11

図 7 に、 診断プロセスの第 1 段階を示します。 この段階では、 DPA ロジッ クがすべての IDELAY タ ッ

プ値をスイープしてデータ アイを検出します。SnkBusErrStat[5:0] は、0 から 63 まで増分する IDELAYタ ップ値のシャ ドー カウンターを示します。 サンプ リ ング位置が有効データ ウ ィ ンド ウ内にある場合

は、 SnkBusErrStat[7] がアサート されます。 SnkBusErrStat[6] は無視されます。 図 7 に示した

例で完全な有効データ ウ ィンド ウが最初に現れるのは、IDELAY タ ップ値 (SnkBusErrStat[5:0]) が14 ~ 24 (16 進数) の間です。 DPA ロ ジ ッ ク がすべての IDELAY タ ッ プ値を ス イープする と、

SnkBusErrStat[7] の状態が変化します。

SnkBusErrStat[5:0] が 0 から 63 まで増分しても この信号が変化しなければ、 何らかの問題が発生

しているこ とにな り ます。フェーズ 1 は [SnkDPA]PhaseAlignRequest が High から Low に遷移し、

IDELAYCTRL からの Ready 信号 (コアの内部信号) がアサート された後で開始するため、 問題の原因

と して次のよ うなこ とが考えられます。

• スタート アップ シーケンスで [SnkDPA]PhaseAlignRequest が正し くパルスされていない。 詳

細は、 『LogiCORE IP SPI-4.2 v10.5 ユーザー ガイ ド』 (UG153) および 『LogiCORE IP SPI-4.2 v11.2 ユーザー ガイ ド』 (UG784) の 「Initializing the SPI-4.2 Core」 のセクシ ョ ンを参照してくだ

さい。

• SnkIdelayRefClk に 200MHz のクロ ッ クが接続されていない。

• IDELAYCTRL が SPI-4.2 入力ピン (RDat[15:0] および RCtl) と同じ クロ ッ ク領域に配置されてい

ない。

• DPA ロジッ クが監視している SPI-4.2 データ ビッ トが 0 または 1 になっているか、 このデータ ビッ トに ト レーニング パターンが送信されていない。

図 8 に、 診断プロセスの第 2 段階を示します。 この段階では、 DPA ロジッ クがサンプ リ ング位置を最

初に完全な形で現れたデータ アイの中央に調整します。SnkBusErrStat[5:0] は 0 から中央のタ ップ

値まで増分します。 図 8 では、 最終的なタ ップ値 (中央のタップ値) は 1D です。

X-Ref Target - Figure 7

図 7 : DPA 診断フェーズ 1

WP249_07_070511

Reset_n

PhaseAlignRequest

SnkBusErrStat[7]

SnkBusErrStat[5:0]

SnkBusErrStat[7:0]

PhaseAlignComplete

SnkOof

80 81 82 10 90 91 92 93 94 95 96 a2 a3 a4 a5 a6 a7 b6 b7 b8 b9 ba bd de bf

01 02 0f 10 11 12 13 14 15 16 22 23 24 25 26 27 36 37 38 39 3a 3d 3e 3f

Page 12: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

12 japan.xilinx.com WP249 (v1.3) 2011 年 7 月 6 日

DPA 診断

図 9 に、 診断プロセスの第 3、 第 4 段階を示します。 この段階では、 SnkBusErrStat[7:0] で階段波

形が確認されます。 SnkBusErrStat のアサート /ディアサートは、 DPA ロジッ クによって SPI-4.2 インターフェイスにおける各データ ビッ ト の IDELAY がデータ アイ中央に揃えられたこ と を意味しま

す。 たとえば、 SnkBusErrStat[0] がアサート される とビッ ト 0 がデータ アイの中央に揃えられたこ

とを示し、 次に SnkBusErrStat[0] がディアサート される とビッ ト 1 がデータ アイの中央に揃えら

れたこ とを示します。

階段波形は、指定したバス インデッ クスに対応する SnkBusErrStat インデッ クスでのみ開始します。

この例では SPI-4.2 バス インデッ クス 1 を選択しているため、 SnkBusErrStat[1] でパルスが開始し

ています。 SnkBusErrStat[7] までの完全な階段波形が観測されない場合は、 完了フラグの立ってい

ない最初のビッ トがデータ アイに揃えられていないこ とにな り ます。 たとえば図 9 の例で階段波形が

SnkBusErrStat[4] の後で停止したとする と、 データ ビッ ト 10 のアライ メン トにエラーが発生した

こ とがわかり ます。 このビッ ト を診断ポートで監視するこ とによって、 問題を修正できます。 そのため

には、 修正するビッ ト を CORE Generator ソフ ト ウェアの GUI で指定し、 ネッ ト リ ス ト を生成し直す

こ とが必要です。

X-Ref Target - Figure 8

図 8 : DPA 診断フェーズ 2

WP249_08_070511

Reset_n

[SnkDPA]PhaseAlignRequest

SnkBusErrStat[7]

SnkBusErrStat[5:0]

SnkBusErrStat[7:0]

[SnkDPA]PhaseAlignComplete

SnkOof

00 01 0302 04 05 10 12 13 14 15 16 17 18 19 1a 1b 1c 1d

00 01 8302 84 85 90 92 93 94 95 96 97 98 99 9a 9b 9c 9d

Page 13: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

高度な DPA 診断 (オプシ ョ ン)

WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 13

第 4 段階では、 [SnkDPA]PhaseAlignCompleted がアサート される直前の SnkBusErrStat[5:0] の値で

ある 1Dが、 指定した SPI-4.2 データ ビッ トのデータ アイ中央に位置する最終的なタップ値となり ます。

高度な DPA 診断 (オプシ ョ ン)このオプシ ョ ンを有効にする と、 よ り高度な DPA 診断ポー ト (SnkDPADiagWin、 SnkDPAAddrRst、SnkdDPAAddrEn) を使用できるよ うにな り ます。 これらのポートでは、 SPI-4.2 バスの各ビッ トの有効

データ ウ ィ ン ド ウを動作中に計測およびキャプチャできます。 SnkDPADiagWin がパルスされたら、

DPA は診断スイープを実行します。 これによ り、 SPI-4.2 バスのアクティブな ト ラフ ィ ッ クを使用して

データ アイのウ ィ ン ド ウ を特定でき ます。 キャプチャ した各ビ ッ ト のデータ ウ ィ ン ド ウ情報は、

SnkDPAValid がアサート される と SnkDPARamAddr および SnkDPARamData バスに現れます。

診断スイープを実行する と、 連続 DPA を使用していても現在のサンプ リ ング位置が固定されるこ とに

なるため、 この機能は診断の目的以外には使用しないでください。 DPA RAM にアクセスするには、 ま

ず DPA RAM アドレス カウンターを リセッ ト (SnkDPARamRst をアサート ) して、 次に DPA RAM アドレス カウンターを増分 (SnkDPARamAddrEn をアサート ) します。

X-Ref Target - Figure 9

図 9 : 診断フェーズ 3 および 4

WP249_09_061311

Reset_n

[SnkDPA]PhaseAlignRequest

SnkBusErrStat

SnkBusErrStat[7]

SnkTrainValid

9d 00 02 00 04 00 08 00 10 00 20 00 40 00 80 00 009d 9d

SnkBusErrStat[6]

SnkBusErrStat[5]

SnkBusErrStat[4]

SnkBusErrStat[3]

SnkBusErrStat[2]

SnkBusErrStat[1]

SnkBusErrStat[0]

[SnkDPA]PhaseAlignComplete

SnkOof

Page 14: SPI-4.2 の ダイナミック位相アライメント - Xilinx · 2021. 5. 5. · DPA の概要 WP249 (v1.3) 2011 年 7 月 6 日 japan.xilinx.com 3 診断に関する設定 Enable

14 japan.xilinx.com WP249 (v1.3) 2011 年 7 月 6 日

改訂履歴

改訂履歴

次の表に、 この文書の改訂履歴を示します。

Notice of DisclaimerThe information disclosed to you hereunder (the “Materials”) is provided solely for the selection and useof Xilinx products. To the maximum extent permitted by applicable law: (1) Materials are made available“AS IS” and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS,EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OFMERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any othertheory of liability) for any loss or damage of any kind or nature related to, arising under, or in connectionwith, the Materials (including your use of the Materials), including for any direct, indirect, special,incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of lossor damage suffered as a result of any action brought by a third party) even if such damage or loss wasreasonably foreseeable or Xilinx had been advised of the possibility of the same. Xilinx assumes noobligation to correct any errors contained in the Materials or to notify you of updates to the Materials orto product specifications. You may not reproduce, modify, distribute, or publicly display the Materialswithout prior written consent. Certain products are subject to the terms and conditions of the LimitedWarranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject towarranty and support terms contained in a license issued to you by Xilinx. Xilinx products are not designedor intended to be fail-safe or for use in any application requiring fail-safe performance; you assume solerisk and liability for use of Xilinx products in Critical Applications: http://www.xilinx.com/warranty.htm#critapps.

本資料は英語版 (v1.3) を翻訳したもので、 内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあ り ます。日本語版は参考用と してご使用の上、 最新情報につきましては、 必ず最新英語版をご参照ください。

こ の 資 料 に 関 す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の 問 題 に つ き ま し て は、[email protected] までお知らせください。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめご了承ください。

日付 バージョ ン 内容

2006 年 4 月 27 日 1.1 初版リ リース

2009 年 10 月 1 日 1.2 Virtex-6 FPGA の情報を加筆。

2011 年 7 月 6 日 1.3 7 シリーズ FPGA の情報を加筆。文書全体で PhaseAlignComplete を [SnkDPA]PhaseAlignComplete に変更。 「DPA の概要」、 「DPA クロッ ク調整 (オプショ ン)」 の内容を更新し、 図 4 を追加。 図 5と図 6を更新。 「ハードウェア検証」、 「DPA 診断」 の内容を更新。