42
XAPP743 (v1.0.1) 2013 10 28 japan.xilinx.com 1 © Copyright 2012–2013 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. MATLAB is a registered trademark of The MathWorks, Inc. All other trademarks are the property of their respective owners. 概要 このアプリケーション ノ ー ト では、 デバ イ ス が内蔵す る MicroBlaze™ プロセッサ上で実行するコード について説明します。 このコードによって、 7 シリーズ FPGA ト ラ ンシーバーのレシーバーにおける イ コ ラ イ ゼーシ ョ ン後のデータ サンプリング ポイントで、統計アイ (時間オフセッ ト と電圧オフセッ トに 対す る ビ ッ ト エラー レート (BER)) を測定するアルゴリズムがインプリ メント されます。ポイントごと に測定されたデータは、 ブロ ッ ク RAM に格納され、 外部ホス ト PC によってバース トで読み出されま す。 アイ スキャンの 概要 ライン レートが増加してチャネル減衰が悪化する と、これらを補正するために RX イコライザーを多用 する必要があ り ます。 このと き、 遠端のラ イン状態はレシーバー ピンでのアイ ダイアグラムでは判断 できないため、 システム デバッグに新たな課題が生じます。 高ライン レー ト の場合、 PCB 上の受信ア パターンは、 RX イコライザーが有効の場合であっても完全に閉じた状態になってしまいます。 7 シリーズ FPGA GTHGTX、および GTP ト ラ ンシーバー内の RX アイ スキャンは、イコライザー の実行後にレシーバーのアイ マージンを測定して視覚化する仕組みを提供します。 これによって、新た な方法で イ コ ラ イ ゼーシ ョ ン設定の効果を診断で き る よ う にな り ま し た。 すべてのアイ スキャン機能は、アイの (公称) 中央におけるデータ サンプルとオフセッ ト サンプルとの 比較に基づきます。 オフセッ ト サンプルは、 同一回路でア イの中央 (公称) からのプログラム可能な水 平オフセッ ト と垂直オフセッ トで求められます (1 の左側参照)。ビット エラーは、これら 2 つのサン プル間の不一致と して定義されます。 特定の水平および垂直オフセッ ト における BER は、 データ サン プルとオフセッ ト サンプル比較の総数に対する ビ ッ ト エラー数の比率です。 水平および垂直オフセッ ト の配列の各点で BER を計算するこ とで、 統計アイのデータが得られます。 1 の右側を参照して く ださい。 ここでは、 log 10 (BER) に色をマップしています。 アプリケーション ノート : 7 シリーズ FPGA XAPP743 (v1.0.1) 2013 10 28 MicroBlaze プロセッサ MCS によるアイ スキャン 著者 : Mike Jenkins および David Mahashin

ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 1

© Copyright 2012–2013 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. MATLAB is a registered trademark of The MathWorks, Inc. All other trademarks are the property of their respective owners.

概要 このアプリ ケーシ ョ ン ノートでは、デバイスが内蔵する MicroBlaze™ プロセッサ上で実行するコード

について説明します。 このコードによって、 7 シ リーズ FPGA ト ランシーバーのレシーバーにおけるイ

コライゼーシ ョ ン後のデータ サンプリ ング ポイン トで、統計アイ (時間オフセッ ト と電圧オフセッ トに

対するビッ ト エラー レート (BER)) を測定するアルゴ リズムがインプリ メン ト されます。ポイン ト ごと

に測定されたデータは、 ブロ ッ ク RAM に格納され、 外部ホス ト PC によってバース トで読み出されま

す。

アイ スキャンの概要

ラ イン レートが増加してチャネル減衰が悪化する と、これらを補正するために RX イコライザーを多用

する必要があ り ます。 このと き、 遠端のライン状態はレシーバー ピンでのアイ ダイアグラムでは判断

できないため、 システム デバッグに新たな課題が生じます。 高ライン レートの場合、 PCB 上の受信ア

イ パターンは、 RX イコライザーが有効の場合であっても完全に閉じた状態になってしまいます。

7 シ リーズ FPGA の GTH、GTX、および GTP ト ランシーバー内の RX アイ スキャンは、イコライザー

の実行後にレシーバーのアイ マージンを測定して視覚化する仕組みを提供します。 これによって、新た

な方法でイコライゼーシ ョ ン設定の効果を診断できるよ うにな り ました。

すべてのアイ スキャン機能は、 アイの (公称) 中央におけるデータ サンプルとオフセッ ト サンプルとの

比較に基づきます。 オフセッ ト サンプルは、 同一回路でアイの中央 (公称) からのプログラム可能な水

平オフセッ ト と垂直オフセッ トで求められます (図 1 の左側参照)。ビッ ト エラーは、これら 2 つのサン

プル間の不一致と して定義されます。 特定の水平および垂直オフセッ トにおける BER は、 データ サン

プルとオフセッ ト サンプル比較の総数に対するビッ ト エラー数の比率です。 水平および垂直オフセッ

トの配列の各点で BER を計算するこ とで、 統計アイのデータが得られます。 図 1 の右側を参照して く

ださい。 こ こでは、 log10(BER) に色をマップしています。

アプリケーシ ョ ン ノート : 7 シリーズ FPGA

XAPP743 (v1.0.1) 2013 年 10 月 28 日

MicroBlaze プロセッサ MCS によるアイ スキャン著者 : Mike Jenkins および David Mahashin

Page 2: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

はじめに

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 2

上記のエラー数およびサンプル数の累積に関連する属性およびポー ト の詳細は、 『7 シ リーズ FPGAGTX/GTH ト ランシーバー ユーザー ガイ ド』 (UG476) の 「RX のマージン解析」 を参照してください。

はじめに 各 GTX/GTH ト ランシーバーのシ リ コンにインプリ メン ト される回路は、受信データに影響を与えずに

任意のライン レートでエラーとサンプルの累積をサポートするために必要な、 小限の機能です。 した

がって、プログラム可能な何らか方法で、よ り高度なアルゴ リズム ロジッ クを提供する必要があ り ます。

大限の柔軟性を持たせ、コード開発を迅速に行うために、当初これらのアルゴ リ ズムは外部ソフ ト ウェ

アで開発されました。 しかし、 この方法ではシ リ アル インターフェイスを介した各属性の読み出しまた

は書き込みに非常に時間がかかり ます。統計アイでは、読み出し /書き込み動作が数百回または数千回必

要であるため、 約 10 の -9 乗を下回る BER を取得するための総アルゴ リ ズム実行時間の大部分はこれ

らの動作が占めるこ とにな り ます。 コードをコンパイルできないこ と も、 この方法の拡張性を制限しま

した。

こ こで説明するインプ リ メ ンテーシ ョ ンは、 統計アイ アルゴ リ ズムに関連して、 プログラマブル イン

ペラティブ (プログラマビ リティの必然) のさらなる進化を示すものです。 このアルゴ リズムは、十分合

理的に開発されているため、 MATLAB® コードへの変換が容易で、 コンパイル可能な C コードを自動

生成する メカニズムが提供されています。 さ らに、 コードは再入可能と して記述されているため、 1 回のコピーで複数のト ランシーバーの統計アイを同時に取得できます。 後に、 コンパイルされたコード

をチップ上のプロセッサで実行するこ とによって、属性読み出し /書き込みコンポーネン トの実行時間全

体が大幅に削減されます。

MicroBlaze プロセッサでのアイ スキャンのインプリ メン トには、 FPGA ロジッ クでステート マシンを

設計する場合と比較して、 次のよ うな多くの利点があ り ます。

• アイ スキャンをソフ ト ウェア ベースでインプリ メン トするこ とで、 ターンアラウンド時間が短縮

され、 継続的に改善できる という柔軟性が得られます。

• 高度な抽象性と コードの可読性の向上

• 高速なコンパイル (数分または数時間を要するコンパイルを数秒で実行)

• ザイ リ ンクスのソフ ト ウェア開発キッ ト (SDK) での幅広いデバッグのサポート

• 複数のチャネルで同時にアイ スキャンを実行可能です。将来、 さ らに多くのチャネルに拡張するこ

とが容易です。

X-Ref Target - Figure 1

図 1 : オフセッ トの関数として BER を計算するためのオフセッ ト サンプルとデータ サンプル - 統計アイ

2

4

6

8

10

12

14

16

Offset Sample

Data Sample

HorizontalOffset

VerticalOffset

X743_01_100212

Page 3: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 3

• C コードは統計アイ アルゴ リズム用にコンパイル可能なだけでなく、ほかのインプリ メンテーシ ョ

ンに再利用できます。

ハードウェア デザイン

ハードウェア デザインの も重要な部分は、MicroBlaze プロセッサのマイ クロ コン ト ローラー システ

ム (MCS) コアです。MCS の詳細は、『LogiCORE IP MicroBlaze Micro Controller System』 (DS865) を参照して ください。 MCS は、 ダイナミ ッ ク リ コンフ ィギュレーシ ョ ン ポート (DRP) を介して、 7 シ

リーズ FPGA GTX ト ランシーバーのアイ スキャン回路にアクセスします。エラー数およびサンプル数

のデータはホス ト コンピューターにアップロード可能になるまで、ブロ ッ ク RAM に一時的に格納され

ます。DRP とブロ ッ ク RAM は同じ MCS アドレス空間を共有するため、アドレスをデコード し、RAMまたは DRP に対して読み出しコマンド と書き込みコマンドを適切に与えるよ う簡易ステート マシンを

インプリ メン ト します。

MCS アイ スキャンのデザインは、 7 Series FPGA Transceiver Wizard バージ ョ ン 2.2 で生成された 4 レーンの XAUI サンプル デザイン上に構築されます。 このデザインは、図 2 に示すよ うに、主に次の

4 つのモジュールで構成されます。

• MicroBlaze MCS (microblaze_mcs.v)

• 7 シ リーズ GTX ト ランシーバー (gtx7_init.v)

• DRP/ブロ ッ ク RAM アクセス制御 (drp_bridge.v)

• データ ス ト レージ ブロッ ク RAM (block_ram_2048x8.v)

図 2 について説明します。

1. 関連しないウ ィザードのサンプル デザイン モジュールは示されていません。

2. XMD は、 Xilinx Microprocessor Debugger です。

7 シリーズ GTX ト ランシーバー

7 Series FPGA Transceivers Wizard を使用し、 XAUI プロ ト コルのテンプレート設定で 4 つの全二重

GTX ト ランシーバーを生成します。 ウ ィザードのサンプル デザインに対して、 次の変更を加えます。

• MCS およびほかのロジッ クを挿入します (図 2 参照)。

• GTX ト ランシーバーの PMA_RSV2[5] 属性を 1 に設定し、 アイ スキャン回路を有効にします。

図 3 ~図 9 に、 ウ ィザードでの機能設定を示します。

X-Ref Target - Figure 2

図 2 : 上位ブロック図

X743_02_092512

gtx7_exdes.v

gtx7_init.vdrp_bridge.v

microblaze_mcs.v

MCSJTAG

Host PC

XC7VX485T-FFG1761

GTX QuadLane 0 DRP

Lane 1 DRP

Lane 2 DRP

DRP/Block RAM

AccessControl

Data StorageBlock RAM

TCL Script XMD

Lane 3 DRP

Page 4: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 4

X-Ref Target - Figure 3

図 3 : 7 Series FPGA Transceivers Wizard (1)

X743_03_092512

Page 5: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 5

X-Ref Target - Figure 4

図 4 : 7 Series FPGA Transceivers Wizard (2)

X743_04_092512

Page 6: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 6

X-Ref Target - Figure 5

図 5 : 7 Series FPGA Transceivers Wizard (3)

X743_05_092512

Page 7: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 7

X-Ref Target - Figure 6

図 6 : 7 Series FPGA Transceivers Wizard (4)

X743_06_092512

Page 8: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 8

X-Ref Target - Figure 7

図 7 : 7 Series FPGA Transceivers Wizard (5)

X743_07_092512

Page 9: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 9

X-Ref Target - Figure 8

図 8 : 7 Series FPGA Transceivers Wizard (6)

X743_08_092512

Page 10: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 10

X-Ref Target - Figure 9

図 9 : 7 Series FPGA Transceivers Wizard (7)

X743_09_092512

Page 11: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 11

MCS

MCS は、 CORE Generator™ ツールで I/O バスを有効にして生成されます。 I/O バスは、 GTX DRP レジスタおよびデータを格納するブロ ッ ク RAM へのアクセスに使用されます。 ソフ ト ウェアの設計に柔

軟性を持たせる場合、 64KB の 大メ モ リ サイズを選択し ます。 また、 [Enable Debug Support] と[Enable MicroBlaze Trace Bus] をオンにしてデバッグ機能を有効にします。

図 10 ~図 16 に、 MCS の機能設定を示します。

X-Ref Target - Figure 10

図 10 : MCS の設定

X743_10_092512

Page 12: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 12

X-Ref Target - Figure 11

図 11 : MCS の UART 設定

X743_11_092512

Page 13: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 13

X-Ref Target - Figure 12

図 12 : MCS の FIT 設定

X743_12_092512

Page 14: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 14

X-Ref Target - Figure 13

図 13 : MCS の PIT 設定

X743_13_092512

Page 15: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 15

X-Ref Target - Figure 14

図 14 : MCS の GPO 設定

X743_14_092512

Page 16: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 16

X-Ref Target - Figure 15

図 15 : MCS の GPI 設定

X743_15_092512

Page 17: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 17

DRP/ブロック RAM アクセス コン ト ローラー

drp_bridge モジュールは、 MCS I/O バス アドレス (表 1 参照) をデコード し、 データ格納用のブロ ッ ク

RAM または 4 つのト ランシーバーの DRP ポートの 1 つに対して読み出し /書き込みコマンドを適切に

与えるステート マシンをインプ リ メン ト します。

X-Ref Target - Figure 16

図 16 : MCS の割り込み設定

X743_16_092512

表 1 : GTX DRP とデータ格納用ブロック RAM の MCS アドレス マッピング

項目MCS の I/O バスのアドレス範囲

(HEX) 名称 説明

1 0xC000_2000–0xC000_27FF レーン 0 DRP [13] = DRP を選択する場合は 1 に設

定し、 データ格納用ブロッ ク RAM を選択する場合は 0 に設定

[12:11] = レーン番号

[10:2] = DRP アドレス

[1:0] = 無視

2 0xC000_2800–0xC000_2FFF レーン 1 DRP

3 0xC000_3000–0xC000_37FF レーン 2 DRP

4 0xC000_3800–0xC000_3FFF レーン 3 DRP

5 0xC000_4000–0xC000_47FF レーン 0 データ格納用ブロッ ク RAM

アイ スキャン データ、 制御、 および

ステータス

6 0xC000_4800–0xC000_4FFF レーン 1 データ格納用ブロッ ク RAM

7 0xC000_5000–0xC000_57FF レーン 2 データ格納用ブロッ ク RAM

8 0xC000_5800–0xC000_5FFF レーン 3 データ格納用ブロッ ク RAM

Page 18: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 18

データ格納用ブロック RAM

アイ スキャン データ、 制御情報、 およびステータス情報を格納するために、 4 バイ ト幅でワード数が

2,048 のメモ リ ブロ ッ クをインスタンシエート します。このブロ ッ ク RAM は、MCS の I/O バスによっ

てのみアクセスされます。

MCS の I/O バスのバイ トベース アドレス空間に一致する 8 ビッ トの幅を選択します。 メモ リのワード

数は、エ リ アとアイ スキャンの速度との間のト レードオフに基づいて選択します。ブロ ッ ク RAM がフ

ルになる と、 MCS はアイ スキャンを停止するため、 ブロ ッ ク RAM を大き くする と メモ リ を使用する

こ とにな り ますが、 スキャン時間は短くな り ます。

図 17 ~図 22 に、 ブロ ッ ク RAM の設定を示します。

X-Ref Target - Figure 17

図 17 : Block Memory Generator (1)

X743_17_092512

Page 19: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 19

X-Ref Target - Figure 18

図 18 : Block Memory Generator (2)

X743_18_092512

Page 20: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 20

X-Ref Target - Figure 19

図 19 : Block Memory Generator (3)

X743_19_092512

Page 21: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 21

X-Ref Target - Figure 20

図 20 : Block Memory Generator (4)

X743_20_092512

Page 22: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 22

X-Ref Target - Figure 21

図 21 : Block Memory Generator (5)

X743_21_092512

Page 23: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ハードウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 23

ICON コアの JTAG バウンダリ スキャン

ChipScope™ ツールの Virtual Input/Output (VIO) と Integrated Logic Analyzer (ILA) の機能を有効に

するために、 ICON コアがウ ィザードのサンプル デザインに含まれています。 ICON と MCS のバウン

ダ リ スキャン チェーンが競合しないよ う、ICON コアを再生成して USER2 チェーンを使用する必要が

あ り ます (図 23 参照)。

デフォルトでは、 ウ ィザードの GT サンプル デザインで、 5 つの VIO コアと 1 つの ILA コアに対して

6 つの制御ポート をインスタンシエート します。

X-Ref Target - Figure 22

図 22 : Block Memory Generator (6)

X743_22_092512

Page 24: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ソフ トウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 24

ソフ トウェア デザイン

このセクシ ョ ンでは、 アイ スキャンを実行するソフ ト ウェア デザインについて説明します。 リ ファレ

ンス デザインには、 次の 3 つのソフ ト ウェア セッ トが含まれています。

• 統計アイ アルゴ リズムの試作に使用される MATLAB コード

• 統計アイ アルゴ リズムを含む MicroBlaze プロセッサの C コード、 およびホス ト コンピューター

と MCS 間のデータ フロー管理用のコード

• ホス ト コンピューターからアイ スキャンを開始し、データを後処理して Integrated Bit Error RatioTest (IBERT) Plot Viewer 表示用フォーマッ トに変換する Tcl スク リプ ト

以降のセクシ ョ ンでは、 ソフ ト ウェア デザインについて詳細に説明します。 これらのセクシ ョ ンで説明

されるソース コードは、 デザイン ファ イルに含まれています。

統計アイ アルゴリズム

概要

このセクシ ョ ンでは、 1 つ以上のト ランシーバー レーンの統計アイの表示に必要なデータを取得するア

ルゴ リズムをカプセル化したコードについて説明します。このコードは、図 24 では es_simple_eye_acqとい うブロ ッ クで表されています。

X-Ref Target - Figure 23

図 23 : ICON コアのバウンダリ スキャン チェーン設定

X743_23_092512

Page 25: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ソフ トウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 25

X-Ref Target - Figure 24

図 24 : 統計アイ アルゴリズム

X743_24_092512

Block RAM

MicroBraze Processor

ProgramMemory

BurstBuffer

BurstBuffer

BurstBuffer

BurstBuffer

es_controller

es_simple_eye_acq

DRP R/W

JTAG

eye_struct(lane 0)

eye_struct(lane 1)

eye_struct(lane 2)

eye_struct(lane 3)

Page 26: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ソフ トウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 26

各レーンのステートは、プログラム メモ リ内の個別のデータ構造 (図 24 の eye_struct) で維持されます。

コン ト ローラー コード (es_controller) は、 アルゴ リ ズム コード (es_simple_eye_acq) を呼び出し、 各

MGT レーンのデータ構造を順に参照します。アルゴ リズムでは、表示の各ピクセルに対する BER 計算

に必要なエラー数とサンプル数の累積に大部分の時間が費やされます。 この累積は、 各レーン内のハー

ドウェアが自動的に実行するため、 複数のレーンのデータ取得は事実上、 同時に進行します。

コン ト ローラー コードは、 アルゴ リ ズム コードを繰り返し呼び出すこ とに加えて、 各レーンのデータ

構造に含まれる data_ready ビッ ト をポーリ ングします。このビッ トがアルゴ リ ズムによってアサート さ

れる と、 コン ト ローラーは、 統計アイ表示の 1 つのピクセルに関するデータを、 ブロ ッ ク RAM の定義

済み領域にあるバッファーにコピーします。 バッファーがフルになる と、 このデータは外部コンピュー

ターによってバース トで読み出しされます。

統計アイ アルゴリズムのステート

次の各ステートは統計アイ アルゴ リ ズムを説明しています。 統計アイ アルゴ リ ズムは、 ソフ ト ウェア

にインプリ メン ト され、各アイを表示するために一度実行されます。これらのステート名を、 ト ランシー

バーのハード ウ ェアにインプ リ メ ン ト されたアイ スキャンのステー ト マシン ( 『7 シ リーズ FPGAGTX/GTH ト ランシーバー ユーザー ガイ ド』 (UG476) に記載) と混同しないでください。このステート

マシンは、 統計アイ アルゴ リズムによって呼び出され、 統計アイ表示の各ピクセルを測定します。

• WAIT : このステートで呼び出された場合、 アルゴ リズムはデータ構造を変更しないで戻り ます。

• RESET : このステートで呼び出された場合、 アルゴ リズムはデータ構造の各要素 (horz_offset、vert_offset、ut_sign) を初期化し、統計アイの取得を開始します。また、適切な値が ES_PRESCALE属性に書き込まれます (属性 ES_EYE_SCAN_EN、 ES_ERRDET_EN、 ES_QUAL_MASK、 およ

び ES_SDATA_MASK に対する必須の設定が、 コン ト ローラー コードによって書き込まれる。 ア

イ スキャン属性の詳細は、『7 シ リーズ FPGA GTX/GTH ト ランシーバー ユーザー ガイ ド』の「RXのマージン解析」 を参照)。 完了する と、 この RESET ステートは SETUP ステートに変わり ます。

• SETUP : このステートでは、 表示の各ピクセルの取得を設定するため、 データ構造の各要素

(horz_offset、 vert_offset、 ut_sign) がインク リ メ ン ト され、 対応する属性に値が書き込まれます。

また、 ES_CONTROL[0] をアサート し、 ステート を COUNT に変更してから戻るこ とで、 エラー

数とサンプル数の累積を開始します これらの数が累積される間、 ほかのレーンは処理可能)。

• COUNT : このステートで呼び出された場合、 アルゴ リズムはエラー数とサンプル数の累積が完了

するまで戻り ます。累積が完了する と、es_error_count、es_sample_count、および ES_PRESCALEの各属性が読み出され、 データ構造に格納された値と data_ready フラグがアサート されます。 エ

ラー数とサンプル数の相対値に応じて ES_PRESCALE の値を調整するこ とで、 広範な BER 測定

の累積が可能です。 後に、 ステートが SETUP に変わり、 アルゴ リ ズムが戻り ます。

es_simple_eye_acq コードの詳細

このコードは MATLAB で開発され、 その後 C コードに自動的に変換されてコンパイルされました。

表 2 に示すコード説明は、 デザイン ファ イルの MATLAB コードを参照しています。

表 2 : eye_struct データ構造

eye_struct 要素 タイプ I/O 説明

state uint16 (1x1) I/O このレーンの統計アイ アルゴ リ ズムの現在のステー

ト を保持します。

error_count uint16 (1x1) O 累積されたエラー数 (0 ~ 65535)。

sample_count uint16 (1x1) O 累積されたサンプル数 (0 ~ 65535)。 ES_PRESCALEとバス幅によって大きさが変わり ます。

data_ready logical (1x1) I/O error_count、 sample_count、 prescale、 ut_sign、vert_offset、および horz_offset をブロ ッ ク RAM バッ

ファーにコピーするためのコン ト ローラーのフラグ。

Page 27: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ソフ トウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 27

ギア シフ ト

統計アイ全体での BER 測定では、 大きなダイナミ ッ ク範囲が必要にな り ます。 1 回の測定でサンプリ

ングされる 大ビッ ト数は、 次のとおりです。

es_sample_count bus_width 2(1+ES_PRESCALE)、 こ こで、 bus_width は 16、 20、 32、 または 40 です。

バスの幅を 32 ビッ ト と し、 sample_count を 大の 65535、ES_PRESCALE を 大の 31 に設定した場

合、 9.0 10+15 ビッ トがサンプ リ ング可能で、 10–15 までの信頼性で BER を測定できます。

ただし、 ES_PRESCALE を 大に設定する と、 アイの外側領域の BER (BER > 約 10–6) を測定できま

せん。 これは、 プ リ スケールを多用するこ とで es_error_count が 65535 で飽和し、 es_sample_count がまだ 0 にもかかわらず測定が停止して、 無限の BER の計算が発生するためです。 また、 このよ うな測

定は、 意味のない結果を生成するだけでなく、 取得に長時間かかる場合が多く見られます。

つま り、信頼性の高い BER で統計アイを測定するには、 ES_PRESCALE を動的に調整するこ とが必要

です。 動的な調整を行わず、 ES_PRESCALE を 0 に設定した場合は約 10–6 まで BER を測定でき、

ES_PRESCALE を 12 に設定した場合は約 10–9 まで BER を測定できます。 ES_PRESCALE の値をさ

らに大き くする と、 BER で 0 による除算の問題が発生します。

次の MATLAB コードでは、ES_PRESCALE の動的調整は、「gear shifting start」 と 「gear shifting end」とい う コ メ ン ト行の間の COUNT ステー ト内に含まれています。 このコードは、 前回の測定からの

es_error_count に基づいて、 次のよ うに ES_PRESCALE を調整します。

• es_error_count が大きすぎる場合、 次回の測定では ES_PRESCALE を減らします。 減少量は、

es_error_count のサイズに比例します。妥当な精度を保って繰り返しが可能な BER の測定では、わ

ずかなエラーをカウン トするだけで済むため、時間を大幅に短縮できます。10–9 の BER と 10Gb/s

lpm_mode logical (1x1) I RX が DFE (Decision Feedback Equalization) モード

または LPM (Longest Prefix Match) モードのいずれ

であるかをアサートする入力。

horz_step_size int16 (1x1) I ピクセル間で水平にインク リ メン ト される単位の倍数

(例 : 4 に設定する と、 0、 ±4、 ±8、 ...となる)。

vert_step_size int16 (1x1) I ピクセル間で垂直にインク リ メン ト される単位の倍数

(例 : 8 に設定する と、 0、 ±8、 ±16、 ...となる)。

prescale uint8 (1x1) I/O サンプル数の大きさの変更に使用される値。 サンプリ

ング される実際のビ ッ ト 数は、 es_sample_count bus_width 2(1+prescale) に等しい。

max_prescale uint8 (1x1) I prescale の許容 大値。 サンプリ ングされる 大ビッ

ト数、 つま り測定可能な 小 BER を決定する。

max_horz_offset int16 (1x1) I +0.5 UI の範囲 (フル レートで 32、 1/2 レートで 64、1/4 レー ト で 128、 1/8 レー ト で 256、 1/16 レー ト で

512)。

horz_offset int16 (1x1) I/O 現在のピクセル測定の水平オフセッ ト数。

vert_offset int16 (1x1) I/O 現在のピクセル測定の垂直オフセッ ト数。

ut_sign int16 (1x1) I/O 現在のピクセル測定の ut_sign の値。 DFE の場合、 0と 1 でエラーとサンプルを累積する必要がある。

lane_name char (1x6) I Lane_0、 Lane_1、 Lane_2、 または Lane_3。

block_name char (1x7) I MGT_115 など。

mode_name char (1x9) I hardware または simulator (現在は未使用だが、下位互

換性を考慮し保持)。

表 2 : eye_struct データ構造 (続き)

eye_struct 要素 タイプ I/O 説明

Page 28: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

ソフ トウェア デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 28

のデータ レートで 65535 個のエラーを累積する場合、1 ピクセルに対して 109 分かかり ますが、10個のエラーであれば 1 秒しかかかり ません。

• es_error_count が小さすぎる場合、次回の測定では ES_PRESCALE を増やします。 es_error_countがゼロであるか、 目的の分解能を保証する 小値を下回る場合はインク リ メ ン トせずに、 新しい

ES_PRESCALE の値を使用して測定が繰り返されます。

大きすぎる /小さすぎるや目的の分解能を判断するしきい値パラ メーターは主観的であ り、水平ステップ

と垂直ステップのサイズ、 および位置による BER の変化の傾きに応じて変わり ます。 コードの値は妥

当なものですが、 適な値は上記パラ メーターと BER の傾きに応じて変わり ます。

前回の測定値に基づいて次回の測定に 適な ES_PRESCALE の設定を予測する場合、BER の変化は比

較的緩やかである と仮定されます。 DFE モードの場合、 内部ループによって ut_sign をインク リ メン ト

しないこ とが強く推奨されます。 ut_sign をインク リ メン トする と、連続する測定で BER に不連続な変

化が生じるためです。

アイ スキャン コン ト ローラーのコード

MCS 上で実行する場合、C の関数 es_controller によって複数のチャネルでのアイ スキャン測定を管理

し、 ト ランシーバーとホス ト コンピューター間のデータ フローを処理します。 こ こでは、 その主要タ

スクについて説明します。 ソース コードについては、 デザイン ファ イルを参照してください。

スキャンの開始

コン ト ローラーは、 ホス ト コンピューターによって指定されたテス ト パラ メーターを使用して、 アイ

スキャン測定を開始します。 これらのパラ メーターには、 スキャン ステップ サイズ、 レート モード、

大プリ スケール、 パラレル データ幅、 イコラ イザー モード (DFE または LPM) が含まれます。 ホス

ト コンピューターは、 これらの値をデータ格納用ブロ ッ ク RAM に書き込みます。 その後、 これらの値

は、 スキャンの開始時に es_controller によってデータ構造 (eye_struct) に読み込まれます。

スキャンの実行

es_controller は、 es_simple_eye_acq を繰り返し呼び出すこ とでアイ スキャンを実行し、 アイ全体のエ

ラー数とサンプル数を測定します。 特定の水平および垂直オフセッ ト位置のエラー数とサンプル数の測

定が完了する と、 コン ト ローラーは、 それらの値をオフセッ ト、 プ リ スケール、および ut 符号の情報と

共にデータ格納用ブロッ ク RAM に格納します。

スキャン データの格納とアップロード

特定のレーンのデータ格納用ブロッ ク RAM セクシ ョ ンがフルになる と、 コン ト ローラーは、 そのレー

ンのスキャンを停止し、データをアップロードする準備ができたこ とをホス ト コンピューターに通知し

ます。 アップロードが完了する と、 コン ト ローラーはスキャンを再開します。 アイ全体が測定されるま

で、 このプロセスが繰り返されます。

表 3 に、 データ格納用ブロッ ク RAM の内容を示します。 これには、 ユーザー指定によるスキャン設定

とアイ スキャン測定のデータの両方が含まれています。各ト ランシーバーのレーンは、データ格納用ブ

ロ ッ ク RAM の別々のセクシ ョ ンを占有します。 あるレーンのセクシ ョ ンのみがフルになった場合、 残

りのレーンはデータの累積を続行できます。

表 3 : 1 つのレーンのデータ格納用ブロック RAM の内容

項目バイ ト オフセッ ト

(HEX) 書き込みアクセス 読み出しアクセス 説明

1 0x0000 ホス ト コンピューター

MCS テス ト イネーブル

2 0x0004 ホス ト コンピューター

MCS 大水平オフセッ ト (フルレートの場合は 32、 1/2 レート

の場合は 64、 1/4 レートの場合は 128、 1/8 レートの場合

は 256、 1/16 レートの場合は 512)

Page 29: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

リソース使用率

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 29

ト ランシーバーの DRP へのアクセスは、drp.c 内の drp_write 関数と drp_read 関数によって処理され

ます。 これらの関数は、 属性名を 7 シ リーズ GTX ト ランシーバー内の具体的な DRP アドレスに変換

します。

Tcl コード

Tcl スク リプ トは、 XMD シェルを介してホス ト コンピューターからテス ト を実行するために提供され

ます。XMD の詳細は、『エンベデッ ド システム ツール リ ファレンス マニュアル』 (UG111) を参照して

ください。 次の 2 つの Tcl ファ イルが提供されています。

• es_pc_host.tcl : このスク リプ トには、 スキャンを実行し、FPGA からデータをアップロードす

るための関数が含まれています。 さ らに、 IBERT Plot Viewer に準拠し、 かつ ASCII フォーマッ ト

の合格/不合格アイ ダイアグラムをプロ ッ トできるフォーマッ トに変換するよ うデータを後処理し

ます。

• test_es_pc_host.tcl : このスク リプ トには、 スキャンを実行し、後処理関数を呼び出すための

サンプル スク リプ トが含まれています。 このファ イルを編集し、水平ステップ サイズ、垂直ステッ

プ サイズ、 大水平オフセッ ト、 大プ リ スケール、 データ幅、 イコラ イザー モード (DFE また

は LPM) などのスキャン パラ メーターを指定する必要があ り ます。

リソース使用率 表 4 は、 Virtex-7 XC7VX485T-FFG1761 デバイスでの、 MCS、 データ格納用ブロッ ク RAM、 および

付属するアイ スキャン ロジッ クのおおよそのリ ソース使用率です。

3 0x0008 ホス ト コンピューター

MCS イコライザー モード (LPM の場合は 1、 DFE の場合は 0)

4 0x000C ホス ト コンピューター、

MCS

ホス ト コン

ピューター、MCS

アップロード準備完了 (ブロ ッ ク RAM がフルになる と

MCS によって 1 に設定され、 アップロードが完了する と

ホス ト PC によって 0 に設定される)

5 0x0010 ホス ト コンピューター

MCS 水平スキャン ステップ サイズ

6 0x0012 ホス ト コンピューター

MCS パラレル データ幅

7 0x0014 ホス ト コンピューター

MCS 垂直スキャン ステップ サイズ

8 0x0016 ホス ト コンピューター

MCS 大プリ スケール値

9 0x0018 – 0x07FF MCS ホス ト コン

ピューター

アイ スキャンの結果

注記 :

1. 各レーンのアドレスの開始については、 表 1 を参照してください。

表 3 : 1 つのレーンのデータ格納用ブロック RAM の内容 (続き)

項目バイ ト オフセッ ト

(HEX) 書き込みアクセス 読み出しアクセス 説明

表 4 : アイ スキャン デザインのリソース使用状況

LUT フリ ップフロップ

910 870

注記 :

1. このデータには、 ウ ィザードのサンプル デザインのロジッ ク使用率は含まれていません。

Page 30: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

拡張と変更

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 30

拡張と変更 リ フ ァ レンス デザインでは、 エンベデッ ド プロセッサを使用して 7 シ リーズ デバイスの ト ランシー

バーのアイ スキャンを制御する方法を示します。 このセクシ ョ ンでは、デザインに対して可能な改善に

ついていくつか説明します。

チャネル数の拡張

このセクシ ョ ンでは、 デザインを変更してレーン数を 4 からさ らに増やす場合の、 ハード ウェアと ソフ

ト ウェアの検討事項について説明します。

ハードウェアの検討事項

• データ格納用ブロッ ク RAM のサイズ : データ格納用ブロッ ク RAM のワード数は、 性能とエ リア

の使用に影響を与えます。 チャネル数が増加する と、 スキャン スピードを維持するために、 さ らに

大きなブロ ッ ク RAM が必要になり ます。ブロ ッ ク RAM のサイズを増加しなければ、データ ス ト

レージ バッファーが短時間でフルになり、 スキャンの停止が頻繁に発生します。

• DRP またはブロッ ク RAM アクセス コン ト ローラー : drp_bridge モジュールを変更する必要があ

り ます。 このモジュールは、 MCS の I/O バス アドレス (表 1 参照) をデコード し、データ格納用ブ

ロ ッ ク RAM またはト ランシーバーの DRP ポートのいずれかに対して読み出し /書き込みコマンド

を適切に与えます。 4 つのト ランシーバー レーンは、 2 つのアドレス ビッ ト [12:11] だけで区別さ

れます。

ソフ トウェアの検討事項

• MCS のアドレス マッピング : レーン数を増やすには、表 1 の MCS の I/O バス アドレス マッピン

グを変更する必要があ り ます。 この変更を行うには、 次の C コードを更新します。

• drp.h ファ イル内の定数定義 : すべての追加レーンについて、新しい DRP アドレス オフセッ

ト定数 DRP_LANE*_OFFSET を追加します。 この定数は、 各レーンの DRP 開始アドレスに

対応します (表 1 の項目 1 ~ 4)。

• drp.c ファ イル内の set_lane_offset 関数 : レーン数を増やすには、 switch 文を変更します。

• es_controller.h ファ イル内の定数定義 : 次の定数定義を変更します。

- スキャン対象のレーンの数を反映するよ うに、 NUM_LANES を変更します。

- データ格納用ブロッ ク RAM の一部を追加レーンに割り当てるために、 LANE*_OFFSETを変更します。LANE*_OFFSET は、データ格納用ブロッ ク RAM 内の各レーンの開始ア

ドレス (表 1 の項目 5 ~ 8) に対応します。

- MCS のアドレス空間内のデータ格納用ブロッ ク RAM の開始アドレス (表 1 の項目 5) に対応する DATA_STORE_OFFSET を変更します。

• es_controller.c ファ イル内の main 関数 : レーン数を増やすために、 配列 lane_offset、lane_names、 および test_enable の初期化を変更します。

• Tcl コード :

• es_pc_host.tcl ファ イル内の es_host_run 関数 : MCS のアドレス マッピングの変更をす

べて反映する よ う に、 LANE_OFFSET を変更します。 この定数は、 データ格納用ブロ ッ ク

RAM 内の各レーンの開始アドレス (表 1 の項目 5 ~ 8) に対応します。

• es_pc_host.tcl ファ イル内の es_host_process_dump 関数 : MCS のアドレス マッピングの

変更をすべて反映するよ うに、 START_ADDRESS と END_ADDRESS を変更します。 これ

らのアドレスは、データ格納用ブロッ ク RAM 内のアイ スキャン結果セクシ ョ ンの開始アドレ

ス と終了アドレス (表 1 の項目 5 ~ 8、 表 3 の項目 9) に対応します。

- es_pc_host.tcl ファ イル内の es_host_check_range 関数 : 追加レーンを反映するよ う

に、 NUM_LANES を変更します。

- test_es_pc_host.tcl ファ イル内の run_test 関数 : 追加レーンを反映するよ うに、

ch_list 変数と NUM_CH 変数を更新します。

Page 31: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

拡張と変更

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 31

複数の MCS インスタンス

デザインを複数のクワ ッ ドに拡張する別の方法と して、 複数の MCS コアをインスタンシエートする方

法があ り ます。 たとえば、 スタ ッ ク ド シ リ コン インターコネク ト テク ノ ロジ (SSIT) デバイスでは、す

べての SLR (Super Logic Region) 内に 1 つの MCS コアをインスタンシエートできます。同じデザイン

で複数の MCS コ アを使用する際のガイ ド ラ イ ンについては、 『LogiCORE IP MicroBlaze MicroController System』 (DS865) を参照して ください。

MCS と通信するための XMD の代替手段

リ ファレンス デザインでは、XMD を使用してスキャン パラ メーターとテス ト開始信号を MCS に送信

する と共に、 スキャン結果をオフロード します。 XMD と MCS 間の通信は、 データ格納用ブロ ッ ク

RAM (表 3 参照) を介して排他的に実行されます。 そのため、 データ格納用ブロッ ク RAM をデュアル

ポート メモ リに変更するこ とで、 XMD の機能を別のコン ト ローラーに置き換えるこ とができます。

XMD を既存のプロセッサ コアと置き換えるこ とを選択した例を、 図 25 に示します。 デュアルポート

メモ リのポート A は、DRP またはブロ ッ ク RAM アクセス制御ロジッ クに接続されます。ポート B は、

既存のプロセッサのデータおよびアドレス I/O バスに接続されます。

既存のプロセッサは、 スキャンを開始し、 デュアルポート RAM に書き込むこ とでスキャン パラ メー

ターを指定できます (表 3 参照) 。 プロセッサは、 ブロ ッ ク RAM のアップロード Ready 信号を読み出

すこ とでスキャン ステータスをポーリ ングし、準備ができたと きにスキャン結果を読み出すこ とが可能

です。

Page 32: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

リファレンス デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 32

リファレンス デザイン

このアプリ ケーシ ョ ン ノートの リ ファレンス デザインは、 次のリ ンク先からダウンロードできます。

https://secure.xilinx.com/webreg/clickthrough.do?cid=194462

表 5 に、 リ ファレンス デザインの詳細を示します。

X-Ref Target - Figure 25

図 25 : 既存プロセッサを使用した XMD 機能の置き換え

drp_bridge.v

microblaze_mcs.v

DRP/Block RAM

AccessControl

MCS

Data StorageBlock RAM(Dual Port)

ExistingProcessor

gtx7_init.v

GTX Quad

X743_25_092512

Lane 0 DRP

Lane 1 DRP

Lane 2 DRP

Lane 3 DRP

Port A

Port B

表 5 : リファレンス デザインの詳細

パラメーター 説明

全般

開発元 ザイ リ ンクス

ターゲッ ト デバイス (ステッピング レベル、 ES、プロダクシ ョ ン、 スピード グレード )

GTX ト ラ ンシーバーを備える 7 シ リ ーズFPGA

ソース コードの提供 あ り

ソース コードの形式 Verilog

Page 33: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

リファレンス デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 33

ソース ファイル

このセクシ ョ ンでは、 リ ファレンス デザインに含まれるソース ファ イルについて説明します。次に、関

連するディ レク ト リ構造の概要を示します。

• hw_design (ハードウェア デザイン ファ イルが含まれる)

• gtx7 (7 Series Transceiver Wizard で生成されるサンプル デザイン)

- example_design (アイ スキャンの Verilog コードを含むサンプル デザイン ファ イル)

- implement (ISE® ツールの実行ディレク ト リ )

-results (ISE ツールのコンパイル結果)

• microblaze_mcs (MCS に関連する CORE Generator ツール ファ イル)

• block_ram_2048x8 (データ格納用ブロッ ク RAM に関連する CORE Generator ツール ファ

イル)

• sw_design (ソフ ト ウェア デザイン ファ イルが含まれる)

• matlab (MATLAB コード )

• c_src (C コード )

• SDK (SDK プロジェク ト )

- eye_scan_hw_spec (ハードウェア仕様プロジェク ト )

- eye_scan_bsp (ボード サポート パッケージ プロジェク ト )

- eye_scan_sw (C プロジェク ト )

• tcl (Tcl コード )

既存のザイ リ ンクス アプリ ケーシ ョ ン ノー ト / リフ ァ レンス デザイン、 CORE Generator ツール、

サードパーテ ィからデザインへのコード /IP の使

あ り

シミ ュレーシ ョ ン

論理シ ミ ュレーシ ョ ンの実施 あ り

タイ ミ ング シ ミ ュレーシ ョ ンの実施 あ り

論理シ ミ ュレーシ ョ ンおよびタ イ ミ ング シ ミ ュ

レーシ ョ ンでのテス トベンチの利用

なし

テス トベンチの形式 なし

使用したシ ミ ュレータ /バージ ョ ン Synopsys VCS 2009.06

SPICE/IBIS シ ミ ュレーシ ョ ンの実施 なし

インプリ メンテーシ ョ ン

使用した合成ツール/バージ ョ ン XST 14.2

使用したイ ンプ リ メ ンテーシ ョ ン ツール/バー

ジ ョ ン

ISE® Design Suite 14.2

スタティ ッ ク タイ ミ ング解析の実施 あ り

ハードウェア検証

ハードウェア検証の実施 あ り

使用したハード ウェア プラ ッ ト フォーム VC7203 ボード

表 5 : リファレンス デザインの詳細 (続き)

パラメーター 説明

Page 34: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

リファレンス デザイン

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 34

ハードウェア デザイン ソース ファイル

サンプル デザインは、XC7VX485T-FFG1761 デバイスを使用してクワッ ド 13 でテス ト されています。

表 6 に、 ビッ ト ス ト リーム生成用のハードウェア デザイン ソース ファ イルを示します。 ISE ツールの

実行デ ィ レ ク ト リ は hw_design/gtx7/implement にあ り、 コ ンパイル結果は

hw_design/gtx7/implement/results にあ り ます。

ソフ トウェア デザイン ソース ファイル

MATLAB の統計ア イ スキ ャ ン アルゴ リ ズムは、 sw_design/matlab フ ォルダーにあ る

es_simple_eye_acq.m に含まれています。表 7 に MicroBlaze プロセッサ用の C コード ソース ファ

イルを示します。 これらのファイルは、 sw_design/c_src フォルダーにあ り ます。

表 6 : ハードウェア ソース ファイル

ファイル名 パス 説明

gtx7_exdes.v hw_design/gtx7/example_design ウ ィザードで生成され、 MCS などのロジッ クを含む

よ うに変更される 上位モジュール

drp_bridge.v hw_design/gtx7/example_design DRP またはブロ ッ ク RAM のアクセスを制御するた

めのステート マシン

m i c r o b l a z e _ m c s . v 、

m i c r o b l a z e _ m c s . n g c 、microblaze_mcs.bmm

hw_design CORE Generator ツールで生成される MCS

b l o c k _ r a m _ 2 0 4 8 x 8 . v 、block_ram_2048x8.ngc

hw_design CORE Generator ツールで生成されるデータ ス ト

レージ RAM

icon.ngc hw_design CORE Generator ツールで生成されるバウンダ リ スキャン 2 を使用する ICON コア

gtx7_init.v hw_design/gtx7/example_design ウ ィザードで生成される ラ ッパーおよび GTX 関連

ファイル。 gtx7_gt.v は、 PMA_RSV2[5] 属性を 1 に設定するために変更されます。

tx_startup_fsm.v

rx_startup_fsm.v

recclk_monitor.v

tx_manual_phase_align.v

auto_phase_align.v

gtx7_gt_usrclk_source.v

gtx7_gt_frame_gen.v

gtx7_gt_frame_check.v

ila.ngc

data_vio.ngc

gtx7_gt.v hw_design

gtx7.v hw_design

gtx7_exdes.ucf hw_design/gtx7/example_design ユーザー制約ファイル

Chipscope_project.cpj hw_design/gtx7/implement スコープ プロジェク ト ファ イル

表 7 : MicroBlaze 用 C コード ソース ファイル

ファイル名 パス 説明

e s _ c o n t r o l l e r . ces_controller.h

sw_design/c_src コン ト ローラー コード

es_simple_eye_acq.ces_simple_eye_acq.c

ア イ スキ ャ ン アルゴ リ ズム

コード

drp.c drp.h DRP 読み出し /書き込みコード

Page 35: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

リファレンス デザインの実行

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 35

SDK プロジェ ク ト は、 SDK ワーク スペースに直接インポー ト するために含まれています。 詳細は、

『EDK コ ンセプ ト、 ツール、 テ ク ニ ッ ク』 (UG683) を参照し て く だ さい。 次のフ ォルダーが、

sw_design/SDK にあ り ます。

• eye_scan_hw_spec : ザイ リ ンクスのハード ウェア プラ ッ ト フォーム仕様プロジェク ト

• eye_scan_bsp : ザイ リ ンクスのボード サポート パッケージ プロジェク ト

• eye_scan_sw : C プロジェク ト

表 8 に、 ホス ト コンピューターの XMD シェルで実行される Tcl フ ァ イルを示し ます。 これらは、

sw_design/tcl フォルダーにあ り ます。

リファレンス デザインの実行

このセクシ ョ ンでは、 ソフ ト ウェア デザインを SDK で復元してコンパイルし、 アイ スキャンを実行

し、 その結果を表示する方法について説明します。 主な手順は次のとおりです。

1. 「ソフ ト ウェアのコンパイルと実行」

2. 「 リ ンクの構築」

3. 「アイ スキャンの実行」

4. 「統計アイ プロ ッ トの表示」

ソフ トウェアのコンパイルと実行

このセクシ ョ ンでは、 SDK を使用したソフ ト ウェア デザインのコンパイル方法について説明します。

手順 1 : ワークスペースを指定する

Eclipse は、 ワークスペース と呼ばれるプロジェク ト をフォルダー内に編成します。 SDK では、 ワーク

スペースには 1 つのハードウェア プラ ッ ト フォームのプロジェク ト しか含めるこ とができません。SDKを起動する際に、 特定のハード ウェア デザインのソフ ト ウェア プロジェク ト を含めるフォルダーを指

定します。

手順 2 : アーカイブされた SDK プロジェク ト をインポートする

必要な SDK プロジェ ク トはすべて、 sw_design/SDK フォルダーに含まれており、 SDK に直接イン

ポートできます。

1. [File] → [Import] をク リ ッ ク し、 [Import Wizard] を開きます。

2. [General] → [Existing Projects into Workspace] をク リ ッ ク してから、 [Next] をク リ ッ ク します。

3. [Select root directory]、[Browse] の順にク リ ッ ク し、[sw_design/SDK] をク リ ッ ク します。[Projects]ペインに、 次の 3 つのプロジェク トが表示されます。

• eye_scan_hw_spec

• eye_scan_bsp

• eye_scan_sw

[Select All] を ク リ ッ ク して、 すべてのプロジェ ク ト を イ ンポー ト し ます。 [Copy projects intoworkspace] がオンになっているこ とを確認します。 [Finish] をク リ ッ ク します。

表 8 : Tcl コード ソース ファイル

ファイル名 パス 説明

es_pc_host.tcl sw_design/tcl XMD からアイ スキャンを実行し、結果を後処

理するための Tcl コード

test_es_pc_host.tcl サンプル実行ファイル

Page 36: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

リファレンス デザインの実行

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 36

注記 : ビッ ト ス ト リームまたは BMM ファ イルが更新されている場合、 eye_scan_hw_spec プロジェ

ク ト内の system.bit ファ イルと system_bd.bmm ファ イルを更新する必要があ り ます。

手順 3 : ソフ トウェア アプリケーシ ョ ンをコンパイルする

SDK プロジェク トは、 プロジェク ト を自動的にコンパイルし、 ELF ファ イルを生成するよ うに設定さ

れています。 コンパイルが正常に完了したこ と を確認するには、 コンソール ウ ィ ン ド ウを表示して、

「elfcheck passed」 とい う メ ッセージが表示されているこ とを確認します。

手順 4 : ビッ トス ト リームをダウンロードする

SDK から直接 FPGA をコンフ ィギュレーシ ョ ンするには、 次の手順に従います。

1. SDK で [Xilinx Tools] → [Program FPGA] をク リ ッ ク し、[Program FPGA] ウ ィンド ウを開きます。

2. [Bitstream] が eye_scan_hw_spec プロジェク ト パスの system.bit を指しているこ とを確認し

ます。 [BMM File] は、 eye_scan_hw_spec プロジェク ト パスの system_bd.bmm を指している

必要があ り ます。

3. [ELF File to Initialize in Block RAM] で、eye_scan_sw プロジェク ト パスの eye_scan_sw.elfファ イルを選択します。

4. [Program] をク リ ッ ク します。

リンクの構築

FPGA をコンフ ィギュレーシ ョ ンしたら、 次の手順に従ってシ リ アル リ ンクを構築します。

1. TX-RX 間ループバッ ク構成のクワ ッ ド内の 4 つのト ランシーバーを接続します。

2. MCS を有効にするために、 i_mcs_enable 信号を High にします。 この信号は、 ピン G41 に割り当

てられます。

3. ChipScope Pro Analyzer を開きます。

4. [JTAG Chain] をク リ ッ ク し、 目的のダウンロード ケーブルを選択します。

5. [File] → [Open Project] をク リ ッ ク し、 chipscope_project.cpj を参照します。

6. [Project] ペインで [UNIT:0 MYVIO0 (VIO)] を展開し、 [VIO Console] をク リ ッ ク します。 [VIOConsole 0] ウ ィンド ウが反転表示されます。 [gttxreset] プッシュボタンを切り替えて TX パスを リ

セッ ト し、 [gtrxreset] プッシュボタンを切り替えて RX パスを リセッ ト します。

7. [Project] ペインで [UNIT:1 MYVIO1 (VIO)] を展開し、 [VIO Console] をク リ ッ ク します。 [VIOConsole 1] ウ ィンド ウが反転表示されます。[txuserrdy] プッシュボタンを切り替えて、TX ユーザー

Ready 信号をアサート します。

txresetdone 信号が High になり ます (LED が緑に変わり ます)。

8. [Project] ペインで [UNIT:2 MYVIO2 (VIO)] を展開し、 [VIO Console] をク リ ッ ク します。 [VIOConsole 2] ウ ィ ン ド ウが反転表示されます。 [rxuserrdy] プッシュボタンを切り替えて、 RX ユー

ザー Ready 信号をアサート します。

rxresetdone 信号が High になり ます (LED が緑に変わり ます)。

9. [JTAG Chain] → [Close Cable] と ク リ ッ ク し、XMD からアイ スキャンを実行する前に JTAG 接続

ケーブルを閉じます。

アイ スキャンの実行

リ ンクが実行中になったら、 次の手順に従ってアイ スキャンを実行します。

1. MS DOS のコマンド シェルを開きます。

2. 適切な環境変数を設定するために、 32 ビッ ト システムの場合は settings32.bat を実行し、 64ビッ トの場合は settings64.bat を実行します。

Page 37: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

リファレンス デザインの実行

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 37

これらのファイルは、ISE ツールの通常のインス トール先である ISE_DS ディ レク ト リにあ り ます。

3. xmd を実行して XMD シェルを開始します。

4. connect mb mdm を実行して MicroBlaze プロセッサに接続します。

5. Tcl ファ イルが存在するディ レク ト リに移動します。

6. source test_es_pc_host.tcl を実行します。

スキ ャ ン ステ ッ プ サイ ズやプ リ スケールなどのスキ ャ ン パラ メ ーターを変更するために、

test_es_pc_host.tcl 内の run_test プロシージャを編集します。

7. run_test を実行してテス ト を開始します。

8. テス ト対象のすべてのチャネルについて、 「SCAN IS DONE」 とい う メ ッセージが表示されるのを

待ちます。

テス トの実行中に、 Tcl コードはプロセッサを停止してスキャン設定を送信し、 データ Ready 信号

をポーリ ングします。 正常に実行された場合、 次のメ ッセージが表示されます。

• Processor stopped.

• Processor started.Type "stop" to stop processor.

即座に結果を提供するために、 簡易的な ASCII フォーマッ トの合格/不合格アイ ダイアグラムがシェル

に表示されます (図 26 参照)。

Page 38: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

リファレンス デザインの実行

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 38

統計アイ プロッ トの表示

次の手順に従い、 IBERT Plot Viewer を使用してアイ スキャンの結果をプロ ッ ト します。

1. ibertplotter.exe を開いて IBERT Plot Viewer を起動します。

この実行ファイルは、 通常、 ISE ツールのインス トール場所の ISE_DS\ISE\bin\nt64 ディ レク

ト リ または ISE_DS\ISE\bin\nt ディ レク ト リにあ り ます。

2. アイ スキャン実行ディ レク ト リに移動します。

3. [File] → [Open CSV File] と ク リ ッ ク してから、 アイ スキャンによって生成された CSV ファ イル

を選択する と、統計アイ ダイアグラムがプロ ッ ト されます。デフォルトのファ イル名は、Ch0.csv、

Ch1.csv、 Ch2.csv、 Ch3.csv です。

X-Ref Target - Figure 26

図 26 : ASCII フォーマッ トの合格/不合格アイ ダイアグラム

X743_26 _092512

Page 39: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

リファレンス デザインの実行

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 39

ロー データの表示

ロー データを表示するには、 表計算ソフ ト またはテキス ト エディ ターで CSV ファ イルを開きます。

ファ イル フォーマッ トは次のとおりです。

• 1 ~ 12 行目はファイル ヘッダー情報です。 関連するフ ィールドは次のとおりです。

• samples per ui : 1 つの UI 内の水平サンプリ ング ポイン トの総数を示します。 これは、 シ リ ア

ル リ ンクの比率 (full、 half、 quarter、 octal、 または hex) で指定されます。

• voltage interval : スキャンの垂直ステップ サイズを示します。

• スキャン データは 14 行目から開始されます。 関連する列は次のとおりです。

• Voltage : スキャンに含まれる垂直オフセッ トの場所を示します。

• RX Sampling Point (tap) : スキャンに含まれる水平オフセッ トの場所を示します。

• BER : 特定の垂直および水平オフセッ トのビッ ト エラー レート を示します。

新しい SDK プロジェク トの作成

このセクシ ョ ンでは、 新しい SDK プロジェク トの作成手順について説明します。 このアプリ ケーシ ョ

ン ノートでは、 アーカイブされた SDK プロジェク トが提供されます。 したがって、 デモを実行するた

めにこのセクシ ョ ンの手順を実行する必要はあ り ません (35 ページの 「ソフ ト ウェアのコンパイルと実

行」 参照)。

手順 1 : ワークスペースを指定する

Eclipse は、 ワークスペース と呼ばれるプロジェク ト をフォルダー内に編成します。 SDK では、 ワーク

スペースには 1 つのハードウェア プラ ッ ト フォームのプロジェク ト しか含めるこ とができません。SDK

X-Ref Target - Figure 27

図 27 : IBERT Plot Viewer での統計アイ プロッ トの例

X743_27_092512

Page 40: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

リファレンス デザインの実行

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 40

を起動する際に、 特定のハード ウェア デザインのソフ ト ウェア プロジェク ト を含めるフォルダーを指

定します。

手順 2 : ザイリンクスのハードウェア プラッ ト フォーム仕様を作成する

SDK のハードウェア プロジェク ト を新規作成するには、 次の手順に従います。

1. [File] → [New] → [Xilinx Hardware Platform Specification] をク リ ッ ク し、[New Hardware Project]ウ ィンド ウを表示します。

2. プロジェク ト名は ye_scan_hw_spec と します。

3. [Target Hardware Specification] で [Browse] をク リ ッ ク し、 hw_design/microblaze_mcs_sdk.xmlを選択します。

MCS コアが再生成されている場合、 代わりに、 新し く生成された XML ファ イルを選択します。

XML ファ イルは、 CORE Generator ツールが実行されたディ レク ト リに作成されます。

4. [Bitstream and BMM Files] をク リ ッ ク して、 ビッ ト ス ト リーム ファ イルと BMM ファ イルを指定

し ます。 ビ ッ ト ス ト リ ームの場合、 [Browse] を ク リ ッ ク し て

hw_design\gtx7\implement\results\routed.bit を選択します。BMM ファ イルの場合、 [Browse] をク

リ ッ ク して hw_design\gtx7\example_design\microblaze_mcs_bd.bmm を選択します。

ビッ ト ス ト リームが再生成されている場合、代わりに、新し く生成された BMM ファ イルとビッ ト

ス ト リ ーム フ ァ イルを選択し ます。 含まれている implement.sh ス ク リ プ ト または

implement.bat スク リプ ト を使用してコンパイルを実行した場合、ビッ ト ス ト リームは resultsディ レク ト リに生成され、 BMM ファ イルは example_design ディ レク ト リに生成されます。

5. [Finish] をク リ ッ ク します。

手順 3 : ザイリンクスのボード サポート パッケージを作成する

SDK のボード サポート パッケージ プロジェク ト を新規作成するには、 次の手順に従います。

1. [File] → [New] → [Xilinx Board Support Package] をク リ ッ ク し、 [New Board Support PackageProject] ウ ィンド ウを表示します。

2. プロジェク トは eye_scan_bsp と します。

3. ハードウェア プラ ッ ト フォームには eye_scan_hw_spec を使用します。

4. [Board Support Package OS] で [standalone] を選択します。

5. [Finish] をク リ ッ ク します。

6. [Board Support Package Settings] ウ ィンド ウが表示されたら、 何も変更せずに [OK] をク リ ッ ク し

ます。

手順 4 : ザイリンクスの C プロジェク ト を作成する

SDK の C プロジェク ト を新規作成するには、 次の手順に従います。

1. [File] → [New] → [Xilinx C Project] をク リ ッ ク し、 [New Project] ウ ィンド ウを表示します。

2. プロジェク ト名は eye_scan_sw と します。

3. ハードウェア プラ ッ ト フォームには eye_scan_hw_spec を使用します。

4. ターゲッ ト ソフ ト ウェアには Standalone を使用します。

5. [Select Project Template] で [Empty Application] を選択します。

6. [Next] をク リ ッ ク します。

7. [Target an existing Board Support Package] をク リ ッ ク してから、[eye_scan_bsp {OS: standalone}]を選択します。

8. [Finish] をク リ ッ ク します。

Page 41: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

まとめ

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 41

9. [Project Explore] ペインで、[eye_scan_sw] をダブルク リ ッ ク します。[src] を右ク リ ッ ク し、[Import]をク リ ッ ク して [Import] ウ ィンド ウを表示します。

10. [General] をダブルク リ ッ ク してから [File System] を選択します。 [Next] をク リ ッ ク します。

11. From ディレク ト リの横の [Browse] をク リ ッ ク します。 sw_design\c_src ディ レク ト リ を選択しま

す。 ウ ィンド ウには、 次のファイルが表示されます。

• drp.c

• drp.h

• es_controller.c

• es_controller.h

• es_simple_eye_acq.c

• es_simple_eye_acq.h

12. [Select All] をク リ ッ ク し、 上記のファイルをすべてインポート します。 Into フォルダーが

eye_scan_sw/src を指しているこ とを確認します。

13. [Finish] をク リ ッ ク します。

まとめ このアプリ ケーシ ョ ン ノートでは、7 シ リーズ FPGA GTX ト ランシーバー上でアイ スキャンを実行す

る MicroBlaze プロセッサ MCS ベース デザインについて説明しました。 統計アイ測定をインプ リ メン

トするための、 このソフ ト ウェア中心の方法は、 アイ スキャン機能を既存のデザインに組み込むために

柔軟で拡張性のある方法を提供します。

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

Notice of Disclaimer

The 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

日付 バージョ ン 内容

2012 年 10 月 18 日 1.0 初版

2013 年 10 月 28 日 1.0.1 「MCS」 の [Enable Debug Support] および [Enable MicroBlazeTrace Bus] オプシ ョ ンの説明を更新。 「ハード ウェア デザイン

ソース ファ イル」 の表参照を更新。

Page 42: ザイリンクス XAPP743 MicroBlaze プロセッサ MCS によるアイ … · 図 14 : MCS の GPO 設定 X743_14_092512 ハードウェアデザイン XAPP743 (v1.0.1) 2013 年

Automotive Applications Disclaimer

XAPP743 (v1.0.1) 2013 年 10 月 28 日 japan.xilinx.com 42

designed or intended to be fail-safe or for use in any application requiring fail-safe performance; youassume sole risk and liability for use of Xilinx products in CriticalApplications:http://www.xilinx.com/warranty.htm#critapps.

Automotive Applications Disclaimer

XILINX PRODUCTS ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE, OR FOR USE INANY APPLICATION REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS APPLICATIONSRELATED TO:(I) THE DEPLOYMENT OF AIRBAGS, (II) CONTROL OF A VEHICLE, UNLESSTHERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OFSOFTWARE IN THE XILINX DEVICE TO IMPLEMENT THE REDUNDANCY) AND A WARNINGSIGNAL UPON FAILURE TO THE OPERATOR, OR (III) USES THAT COULD LEAD TO DEATHOR PERSONAL INJURY.CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USEOF XILINX PRODUCTS IN SUCH APPLICATIONS.

本資料は英語版 (v1.0.1) を翻訳したもので、 内容に相違が生じる場合には原文を優先します。

資料によっては英語版の更新に対応していないものがあ り ます。

日本語版は参考用と してご使用の上、 新情報につきましては、 必ず 新英語版をご参照ください。

こ の 資 料 に 関 す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の 問 題 に つ き ま し て は、

[email protected] までお知らせください。 いただきましたご意見を参考に早急に対応さ

せていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめ

ご了承ください。