:kintex-7 kintex ultrascale video phy controller...

32
XAPP1271 (v1.0) 2016 5 10 1 japan .xilinx.com 概要 このアプリケーション ノ ー ト は、 DisplayPort TX および RX Subsystem (2 バイ トおよび 4 バイ ト モード ) Video_PHY_Controller システム IP にポ リ シー メーカー機能および DisplayPort コン ト ローラーを含めて 1 つの GT クワッド に実装した例を示します。 このリファレンス デザインには、 SST (Single Stream Transport) モード用に 8 つの異なるハード ウェア デザイン (Tcl ファイル) が付属し ます。 DisplayPort RX Subsystem で受信したビデオはそのまま DisplayPort TX Subsystem に転送されます。 このリファレンス デザインは、 Vivado Design Suite を使用して作成およびビルド されていま す。 このアプ リ ケーシ ョ ン ノートでは、 ハードウェアのビルドおよび DisplayPort 用のローカル ドライバーを用いたソフ ト ウェアのビルドの方法、 そして生成したビッ ト ス ト リームおよび ELF (Executable Linker Format) ファイルを使用してザ イリンクス KC705 および KCU105 ボードでデザインをテス トする方法について説明します。 また、 パッケージ内の ready_for_download フォルダーには SST モード用にあらかじめ作成されたテス ト済みの BIT および ELF ファイルが 用意されています。 hw フォルダー内の Tcl ファイルを Vivado デザイン ツールで実行する と、 プロジェ ク ト を作成して ビッ ト ス ト リームを生成できます。 ソース コード と BSP フォルダーを含むソフ ト ウェア開発キッ ト (SDK) ワークスペー スは sw ディレク ト リにあり、 これを再ビルドして ELF ファイルを生成できます。 このアプリケーション ノ ー ト には、 DisplayPort TX および RX Subsystem MST (Multi-Stream Transport) モードで実装したハードウェア デザインも含まれま す。 目的 このアプリケーション ノ ー ト は、 vid_phy_controller IP を使用して送信と受信を実行するよ うに DisplayPort TX および RX Subsystem コアを実装する方法について説明します。 また、 次に示す初期化手順によってソース / シンク コアをブリング アップする方法についても説明します。 vid_phy_controller を使用して GT をコンフィギュレーションする メイン リンクのトレーニングを実行する ソース / シンク コアのレジスタを設定する ケーブルの挿抜を監視し、 それに応じて適切な動作を実行する このシステムを DisplayPort パススルー (DPPT) モー ド に設定す る と 、 ザ イ リ ン ク ス DisplayPort RX Subsystem を使用して DisplayPort リ ンクのビデオを受信し、 その同じビデオ デー タ を ザ イ リ ン ク ス DisplayPort TX Subsystem コアを使用して DisplayPort 対応モニターに送信します (SST の場合)。 これらのソ リ ューショ ンを KC705 および KCU105 評価ボードに実 装しています。 このアプリケーション ノ ー ト には合計 10 個のデザインが含まれます。 内訳は次のとおりです。 1. KC705 ボード用の 4 つの SST デザイン。 2 バイトで HDCP あり / なしと 4 バイトで HDCP あり / なしで Subsystem を実 装。 2. KCU105 ボード用の 4 つの SST デザイン。 2 バイトで HDCP あり / なしと 4 バイトで HDCP あり / なしで Subsystem 実装。 3. KC705 ボード用の 2 つの MST デザイン。 2 バイ ト TX MST RX MST を実装。 アプリケーション ノート : Kintex-7Kintex UltraScale ファミリ XAPP1271 (v1.0) 2016 5 10 Video PHY Controller を使用した SST/MST モード対 DisplayPort パススルー リファレンス デザイン 著者 : Kapil Usgaonkar

Upload: others

Post on 02-Jun-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

XAPP1271 (v1.0) 2016 年 5 月 10 日  1japan.xilinx.com

概要

このアプリ ケーシ ョ ン ノートは、 DisplayPort TX および RX Subsystem (2 バイ トおよび 4 バイ ト モード ) と Video_PHY_Controller システム IP にポリシー メーカー機能および DisplayPort コン ト ローラーを含めて 1 つの GT クワ ッ ドに実装した例を示します。 このリ ファレンス デザインには、 SST (Single Stream Transport) モード用に 8 つの異なるハードウェア デザイン (Tcl ファ イル) が付属します。 DisplayPort RX Subsystem で受信したビデオはそのまま DisplayPort TX Subsystem に転送されます。 この リ ファレンス デザインは、 Vivado Design Suite を使用して作成およびビルド されています。 このアプリ ケーシ ョ ン ノートでは、 ハード ウェアのビルドおよび DisplayPort 用のローカル ド ラ イバーを用いたソフト ウェアのビルドの方法、 そして生成したビッ ト ス ト リームおよび ELF (Executable Linker Format) ファ イルを使用してザイ リ ンクス KC705 および KCU105 ボードでデザインをテス トする方法について説明します。 また、 パッケージ内の ready_for_download フォルダーには SST モード用にあらかじめ作成されたテス ト済みの BIT および ELF ファ イルが用意されています。 hw フォルダー内の Tcl ファ イルを Vivado デザイン ツールで実行する と、 プロジェク ト を作成してビッ ト ス ト リームを生成できます。 ソース コード と BSP フォルダーを含むソフ ト ウェア開発キッ ト (SDK) ワークスペースは sw ディ レク ト リにあ り、 これを再ビルド して ELF ファ イルを生成できます。 このアプリ ケーシ ョ ン ノートには、DisplayPort TX および RX Subsystem を MST (Multi-Stream Transport) モードで実装したハード ウェア デザインも含まれます。

目的

このアプリ ケーシ ョ ン ノートは、 vid_phy_controller IP を使用して送信と受信を実行するよ うに DisplayPort TX および RX Subsystem コアを実装する方法について説明します。 また、 次に示す初期化手順によってソース /シンク コアをブリ ングアップする方法についても説明します。

• vid_phy_controller を使用して GT をコンフ ィギュレーシ ョ ンする

• メ イン リ ンクの ト レーニングを実行する

• ソース /シンク コアのレジスタを設定する

• ケーブルの挿抜を監視し、 それに応じて適切な動作を実行する

このシステムを DisplayPort パススルー (DPPT) モードに設定する と、 ザイ リ ンクス DisplayPort RX Subsystem を使用して DisplayPort リ ンクのビデオを受信し、 その同じビデオ データをザイ リ ンクス DisplayPort TX Subsystem コアを使用して DisplayPort 対応モニターに送信します (SST の場合)。 これらのソ リ ューシ ョ ンを KC705 および KCU105 評価ボードに実装しています。

このアプリ ケーシ ョ ン ノートには合計 10 個のデザインが含まれます。 内訳は次のとおりです。

1. KC705 ボード用の 4 つの SST デザイン。 2 バイ トで HDCP あ り /なし と 4 バイ トで HDCP あ り /なしで Subsystem を実装。

2. KCU105 ボード用の 4 つの SST デザイン。 2 バイ トで HDCP あ り /なし と 4 バイ トで HDCP あ り /なしで Subsystem を実装。

3. KC705 ボード用の 2 つの MST デザイン。 2 バイ ト TX MST と RX MST を実装。

アプリケーシ ョ ン ノート : Kintex-7、 Kintex UltraScale ファ ミ リ

XAPP1271 (v1.0) 2016 年 5 月 10 日

Video PHY Controller を使用した SST/MST モード対応 DisplayPort パススルー リファレンス デザイン著者 : Kapil Usgaonkar

Page 2: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

必要な環境

XAPP1271 (v1.0) 2016 年 5 月 10 日  2japan.xilinx.com

必要な環境

ハードウェア

このリ ファレンス デザインには、 次のハードウェアが必要です。

• Kintex-7 KC705 ボード リ ビジ ョ ン 1.2 および電源

• Kintex UltraScale KCU105 ボード リ ビジ ョ ン 1.0 および電源

• 東京エレク ト ロン (TED) 社製 FMCH DP3-1 モジュール (TB-FMCH-DP3 カード。 FMC アップデートについては東京エレク ト ロン社にお問い合わせください)

• JTAG USB プラ ッ ト フォーム ケーブルまたは Type-A/Micro-B USB ケーブル

• DisplayPort v1.2 準拠ケーブル (2 本)

• DisplayPort v1.2 準拠モニター

• Type-A/Mini-B USB ケーブル (KC705 の UART ポートに接続)

• Type-A/Micro-B USB ケーブル (KCU105 の UART ポートに接続)

• シンクを駆動するための DisplayPort 1.2 準拠ソース。 RX MST システムを使用する場合、 ソースが MST ス ト リームの送信に対応している必要があ り ます。

X-Ref Target - Figure 1

図 1 : リファレンス デザインのブロック図

Page 3: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

必要な環境

XAPP1271 (v1.0) 2016 年 5 月 10 日  3japan.xilinx.com

ソフ トウェア

• ザイ リ ンクス Vivado Design Suite 2016.1

• ザイ リ ンクス ソフ ト ウェア開発キッ ト 2016.1

• COM ポート を介す UART シ リ アル通信向け Tera Term/PuTTY ターミナル エミ ュレーター

パッケージの詳細

このアプリ ケーシ ョ ン ノートに付属するデザイン ファ イルのディ レク ト リ構造を次に示します。 すべてのファイルは DPPT_Xapp ディ レク ト リにあ り ます。 こ こからは、 この DPPT_Xapp ディレク ト リのコピー先ユーザー ディ レク ト リのパスを 「XAPP1271」 と呼びます。

図 2 に、 KC705 に実装したソ リ ューシ ョ ンのディ レク ト リ構造を示します。 KCU105 ボードを使用したソ リ ューシ ョ ンのディ レク ト リ構造も同様です。

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

• hdcp_util : このディ レク ト リには、 HDCP キーを EEPROM にプログラムするのに必要なユーティ リ ティ ハードウェアおよびソフ ト ウェアが含まれます。

• repo : このディ レク ト リには、 ハード ウェアと ソフ ト ウェアの実装に必要なローカル IP およびド ライバが含まれます。

• kc705 : このディ レク ト リには、 KC705 評価ボードを使ってシステムをビルドするのに必要なスク リプ トおよびソース一式が含まれます。 このディ レク ト リには、 sst と mst の 2 つのサブディ レク ト リがあ り ます。 sst には、 表 1 に示す 4 つのサブディレク ト リが含まれます。

X-Ref Target - Figure 2

図 2 : リファレンス デザインのディレク ト リ構造

Page 4: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

特長

XAPP1271 (v1.0) 2016 年 5 月 10 日  4japan.xilinx.com

各サブディ レク ト リにはそれぞれ hw および sw フォルダがあ り、 システムおよび SDK ワークスペースを生成するスク リプ トが格納されています。

DisplayPort Subsystem は 大 16 BPC (bits per color) をサポート していますが、 SST システムは 大 10 BPC をサポートするよ うに作成されています。

ready_to_download フォルダーには、 KC705 評価ボードで直接使用可能な BIT および ELF ファ イルがあ り ます。

mst フォルダーには rx および tx mst システムが含まれます。

KCU105 ボードのディ レク ト リ構造も KC705 と同様です。

特長

このリ ファレンス デザインの主な特長は、 次のとおりです。

• 基準クロ ッ クを動的に選択可能

• VESA DisplayPort 規格 v1.2 に対応

• 切り換え可能なレーン レート : 1.62、 2.7 または 5.4Gb/s

• 可変レーン数 : 1、 2、 または 4 レーン

ハードウェア ブロック図

図 3 に、 リ ファレンス デザインのハード ウェア アーキテクチャを示します。 デザインでは、 ブロ ッ ク ベースのデザイン/アセンブリ ツールである Vivado Design Suite IP インテグレーターを使用しています。 デザインの主要ブロッ クの多くは、Vivado IP インテグレーターを使用して統合しています。 IPI のブロ ッ ク図は MicroBlaze プロセッサ、 AXI Interconnect IP、MIG 7 Series IP (KC705 の場合) または DDR4 IP (KCU105 の場合)、 およびその他の AXI4-Lite ペリ フェラルで構成されます。 この IP インテグレーター サブシステム、 DisplayPort IP、 およびビデオ パターン ジェネレーター /ビデオ ク ロ ッ ク ジェネレーターの各カスタム デザイン ソースを 上位モジュールに統合します。 DisplayPort コアの設定は、 ユーザー アプリ ケーシ ョ ンに応じて MicroBlaze プロセッサが AXI4-Lite インターフェイス経由で変更します。

表 1 : SST ディレク ト リに含まれるサブディ レク ト リ

コンフ ィギュレーシ ョ ン サブシステムの GT 幅 HDCP

system_1 2 バイ ト あ り

system_2 4 バイ ト あ り

system_3 2 バイ ト なし

system_4 4 バイ ト なし

Page 5: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

特長

XAPP1271 (v1.0) 2016 年 5 月 10 日  5japan.xilinx.com

クロッキング

DPPT システムは次のクロ ッ クを使用します。

• MicroBlaze およびすべてのペリ フェラル インターフェイス (AXI4-Lite) は 100MHz ク ロ ッ クで動作します。 このクロ ッ クは KC705 では MIG から、 KCU105 では DDR4 から生成します。

• TED FMCH DP3-1 は DisplayPort の動作に必要な 2 種類のクロ ッ クを供給します。 Refclk 0 はオンボードのクロ ッ ク ジェネレーターで生成します。 Refclk 1 は TI DP159 リ タ イマーの出力です。

• 送信ビデオ ク ロ ッ クは MMCM を使って生成します。 これは MIG/DDR4 から出力される 100MHz ク ロ ッ クから生成します。

• 受信ビデオ ク ロ ッ クは 200MHz 固定で、 MIG/DDR4 から生成します。

パターン  ジェネレーター

このシステムには、 TX リ ンクにビデオを生成するビデオ パターン ジェネレーターが用意されています。 このパターン ジェネレーターは、 次に示す 7 つのテス ト ビデオ パターンを生成できます。

• VESA LLC (Logical Link Control) パターン

• VESA パターン 3 バー

• VESA カラー スクエア

• 全画面赤色

• 全画面青色

• 全画面緑色

• 全画面紫色

このほか、 パターン ジェネレーターの入力に任意のユーザー ビデオを接続して表示させるこ と もできます。

X-Ref Target - Figure 3

図 3 :ハードウェア ブロック図

DDR

Refclk 0Refclk 1

Uart

Page 6: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

特長

XAPP1271 (v1.0) 2016 年 5 月 10 日  6japan.xilinx.com

DPPT システムの初期化

MicroBlaze プロセッサは AXI4-Lite インターフェイス経由で DisplayPort サブシステム、 vid_phy_controller、 その他のコアに接続します。 このため、 ソフ ト ウェア アプリ ケーシ ョ ンおよびポ リシー メーカーによるレジスタ読み出し /書き込みによって PHY 初期化、 DisplayPort 初期化、 メ イン リ ンクの開始と管理を実行できます。 リ ファレンス デザインでは DisplayPort Subsystem コアの動作を RX および TX と し、 大 10 BPC、 ク ワ ッ ド ピクセル有効、 大 4 レーン、 大リ ンク レート 5.4Gb/s と してカスタマイズしています。 物理層 (PHY) は vid_phy_controller を使ってカスタマイズします。 8 つのト ランシーバー (TX と RX に各 4 つ) が KC705 (または KCU105) ボードの FMC HPC 内の 4 つの GTX (または GTHE3) トランシーバーにマップされます。

ソフ トウェア アプリケーシ ョ ン

このリ ファレンス デザインには、 MicroBlaze プロセッサ上で動作して DisplayPort リ ンクを初期化および管理するソフ トウェア アプリ ケーシ ョ ンが含まれます。 このソフ ト ウェア アプリ ケーシ ョ ンは、 Vivado 2016.1 でインス トールされる DisplayPort および DisplayPort SubSystem ド ラ イバーを使用します。 Subsystem ド ラ イバーは、 TI DP159 をプログラムしてリ ンク ト レーニングを実行します。 このアプリ ケーシ ョ ンの主な目的は、 vid_phy_controller と DisplayPort RX/TX Subsystem の機能をデモと して示すこ とにあ り ます。 このアプリ ケーシ ョ ンは対話型の UART コンソールを備えており、異なる動作モードでシステムのテス トが可能です。

Page 8: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

特長

XAPP1271 (v1.0) 2016 年 5 月 10 日  8japan.xilinx.com

初期化およびアプリケーシ ョ ン  フロー

アプリ ケーシ ョ ン開始時に、 TX 専用モード (オプシ ョ ン t) とパススルー モード (オプシ ョ ン r または s) のいずれかを選択する必要があ り ます。 選択したモードに基づき、 アプリ ケーシ ョ ンは GT および DisplayPort Subsystem を設定します。DisplayPort レシーバー (シンク /RX) は常に CPLL を使用し、 ト ランス ミ ッ ター (ソース /TX) は CPLL または QPLL を使用します。 QPLL と CPLL のどちらを選択するかはデバイスによって異なり ます。

X-Ref Target - Figure 5

図 5 : DisplayPort TX/RX Subsystem の機能

A

Page 9: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

特長

XAPP1271 (v1.0) 2016 年 5 月 10 日  9japan.xilinx.com

シンクの場合、 CPLL は通常 TI DP159 から供給される基準クロ ッ クを使用します。 これは REFCLK1 ピンに接続されます。 QPLL は通常 FMC カードのオンボード オシレーターから生成されるクロ ッ クを使用します。 これは REFCLK0 ピンに接続されます。 図 6 に、 基準クロ ッ クの接続と選択についてまとめます。

ザイ リ ンクス vid_phy_controller には AXI4-Lite インターフェイスがあ り、 QPLL と CPLL の基準クロ ッ クをシームレスに選択できます。 vid_phy_controller の詳細は、 『Video PHY Controller v2.0 製品ガイ ド』 [参照 3] を参照してください。 また、QPLL と CPLL に必要な逓倍器と分周器の値は、 基準クロ ッ ク周波数と ライン レートの組み合わせに応じて vid_phy_controller のソフ ト ウェア ド ラ イバーが決定します。

KC705 評価ボードに実装された Kintex-7 デバイスの場合、 CPLL と QPLL の組み合わせで可能なライン レートは次のとおりです。

表 3 に、 KC705 で使用する REFCLK0 と REFCLK1 の周波数をライン レート別にま とめます。

X-Ref Target - Figure 6

図 6 :基準クロックの接続と選択

表 2 : KC705 ボードの Kintex‐7 デバイスで可能なライン  レート

RX CPLL RX QPLL

TX CPLL 1.62G、 2.7G、 5.4G N/A

TX QPLL 1.62G N/A

REFCLK0

REFCLK1

Vid_phy_controller

Page 10: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

特長

XAPP1271 (v1.0) 2016 年 5 月 10 日  10japan.xilinx.com

KC705 評価ボードでは、 デバイスの制限によ り一部のライン レートでは QPLL を使用できません。 このため、 TX 専用モードではすべてのライン レート をカバーするために CPLL を使用します。

表 3 に示したよ うに、 RX と TX の両方が CPLL を使用する場合、 RX と TX のライン レート を個別には設定できません。KC705 では、 RX と TX を異なるライン レートで動作させるこ とはできません。

KCU105 評価ボードに実装された Kintex UltraScale デバイスの場合、 CPLL と QPLL の組み合わせで可能なライン レートは次のとおりです。

表 5 に、 KCU105 で使用する REFCLK0 と REFCLK1 の周波数をライン レート別にま とめます。

表 3 : KC705 で使用する  REFCLK0 および REFCLK1 の周波数とライン レートの関係

1.62G 2.7G 5.4G

REFCLK0 周波数 (MHz) 162 135(1) 135(1)

REFCLK1 周波数 (MHz) 81 135(3) 270

TX の PLL (QPLL、 CPLL) 両方 CPLL(2) CPLL(2)

RX の PLL CPLL CPLL CPLL

注記 :1. パススルー モードの場合、 このク ロ ッ クは 2.7G および 5.4G ラ イン レートでは使用しません。

2. KC705 ボードの Kintex-7 デバイスが QPLL でサポートするライン レートは 1.62G までです。 このため、 ライン レート を個別に設定

するこ とはできません。

3. TX で QPLL を使用する場合はこのクロ ッ クを使用します。

4. パススルー モードでは、 ライン レート 1.62G の場合を除き TX は CPLL ク ロ ッ クを使用します。

表 4 : KCU105 ボードの Kintex UltraScale デバイスで可能なライン レート

RX CPLL RX QPLL

TX CPLL 1.62G(1)、 2.7G、 5.4G N/A

TX QPLL 1.62G(1)、 2.7G、 5.4G N/A

注記 :1. 1.62G の場合、 REFCLK0 を使用します。

2. このアプリ ケーシ ョ ン ノートは、 [Buffer Bypass] オプシ ョ ンをオンにして作成しています。 したがって、 TX は CPLL を使用で

きません。

表 5 : KCU105 で使用する REFCLK0 および REFCLK1 の周波数とライン  レートの関係

1.62G 2.7G 5.4G

REFCLK0 周波数 (MHz) 270 270 270

REFCLK1 周波数 (MHz) 81(1) 135 270

TX の PLL (QPLL、 CPLL) 両方(3) 両方(3) 両方(3)

RX の PLL CPLL(2) CPLL

注記 :1. このクロ ッ クは CPLL の VCO 範囲を超えるため使用しません。

2. ラ イン レート 1.62G の場合、 RX の CPLL は REFCLK0 周波数を使用します。 これ以外のライン レートでは REFCLK1 周波数を使用

します。

3. このアプリ ケーシ ョ ン ノートは、 TX に QPLL のみを使用するよ うに作成しています。

Page 11: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

特長

XAPP1271 (v1.0) 2016 年 5 月 10 日  11japan.xilinx.com

TX 専用モードでは、 すべてのライン レート をカバーできる QPLL を使用します。 前述のとおり、 RX と TX がどちらも CPLL を使用する場合、 ライン レート を個別には設定できません。 ライン レート を個別に設定できるのは、 RX と TX が異なる PLL で動作し、 REFCLK ソースが異なる場合のみです。 先の表からも分かるよ うに、 KCU105 では TX と RX を個別のライン レートで動作させるこ とができます。

注記 : DisplayPort TX を安定した固定クロ ッ クで動作させる場合は、 バッファーのバイパスを有効にして vid_phy TX をコンフ ィギュレーシ ョ ンするこ とを推奨します。 KCU105 ではすべてのライン レートで TX を独立したクロ ッ クで動作させるこ とが可能なため、 このオプシ ョ ンを有効にしています。 KC705 では有効にできません。

パススルー モードのうち、 メニューで r を選択する とシンク (RX) と ソース (TX) はどちら も CPLL を使用し、 REFCLK1 で動作するよ うに設定されます。 メニューで s を選択する とシンク (RX) は CPLL を使用し、 ソース (TX) は QPLL を使用するよ うに設定されます。 この場合、 CPLL と QPLL は独立したクロ ッ クで動作します。

システム機能は DisplayPort TX サブシステムに接続されたモニターに基づいて設定されます。 これによ り、 DisplayPort RX と TX の互換性が適切に確保されます。

メニューで t を選択する と GT は TX 専用モードになり、 ライン レート とレーン数は 大に設定されます。 GT の設定が正し く完了する と (すなわち PLL がリセッ ト後にロ ッ クする と )、 送信パスがセッ ト アップされて リ ンクが確立します。

t を選択する と、 次の動作が実行されます。

1. GT が TX モードに設定されます。 GT は REFCLK0 を使用するよ うに設定されます。 GT は KC705 では CPLL を使用し、 KCU105 では QPLL を使用します。

2. CPLL/QPLL 逓倍器および分周器の値を計算します。 [Buffer Bypass] をオンにした場合、 MMCM をプログラムする必要があ り ます。

3. GT/PLL を リセッ ト します。

4. PLL のロ ッ クが完了するのを待ってから リセッ ト します。

5. DisplayPort TX Subsystem を設定します。 リ ンク レート、 レーン数、 ビデオ モード、 BPC を設定します。

6. DisplayPort TX Subsystem を開始します。 ト レーニング プロセスが開始し、 リ ンクが確立されます。

パターン ジェネレーターを使用してビデオ データを生成します。

アプリ ケーシ ョ ンは HPD イベン ト を常時監視します。 ホッ ト アンプラグ イベン ト を検出する と、 メ イン リ ンクが無効になり、 ソフ ト ウェアはレジスタのポーリ ングを継続して HPD ステータスの変化を検出します。 HPD 割り込みが発生すると、 リ ンク ステータスを確認し、 必要に応じて ト レーニングを再び実行します。

ユーザーが r または s を選択する と、GT は RX 専用モードになり、 ライン レート とレーン数は 大に設定されます。GT のコンフ ィギュレーシ ョ ンが正し く完了する と、 DisplayPort RX が有効になり ます。 RX ケーブルを挿入する と、 GPU などの DisplayPort ソースが ト レーニングを開始します。 Subsystem ド ラ イバーは、 TI DP159 リ タ イマー チップのプログラムを自動的に処理します。

r を選択する と、 次の動作が実行されます。

1. GT を RX モードに設定します。 GT は REFCLK1 を使用するよ うに設定されます (KCU105 でライン レート 1.62G の場合を除く )。 GT は CPLL を使用します。

2. PLL 逓倍器および分周器の値を計算します。

3. GT を リセッ ト します。

4. GPU がト レーニングを開始する と、 ト レーニングの一部と して TP1 割り込みが発生します。 SubSystem ド ラ イバーは、 DP159 のプログラムを自動的に処理します。

5. DP159 のプログラムが正し く完了する と、 REFCLK1 ピンにクロ ッ クが供給されます。 設定した帯域幅によっては GT のリ コンフ ィギュレーシ ョ ンが必要になるこ とがあ り ます。

6. GT/PLL を リセッ ト します。

7. ト レーニングが完了する と、 DisplayPort RX Subsystem がビデオを受信します。

8. 次に、 TX パスの GT をコンフ ィギュレーシ ョ ンして DisplayPort TX Subsystem をセッ ト アップします。

a. r を選択する と、 TX パスも同じ CPLL を使用します。

b. s を選択する と、 TX パスは QPLL を使用するよ うに設定されます。

Page 12: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

特長

XAPP1271 (v1.0) 2016 年 5 月 10 日  12japan.xilinx.com

DisplayPort RX Subsystem が受信したビデオの格納/バッファーには AXI VDMA を使用します。 同じビデオがそのまま TX パスへ送信されます。 リ ンク ト レーニングが正し く完了する と、 ホス ト マシンはザイ リ ンクス DisplayPort シンクをモニターと して検出します。 アプリ ケーシ ョ ンは RX リ ンクを常時監視し、 ビデオのフォーマッ ト、 解像度、 BPC に変化がないかど うかを確認します。 これらパラ メーターのいずれかで変更が検出される と、 送信パスは再起動します。 これにより、 TX は常に正しいビデオを表示できます。 RX ケーブル アンプラグ イベン トが発生する と、 TX は解像度 800x600 の固定カラー バー パターン表示に切り替わり ます。

MST システム

RX MST システムの場合、 DisplayPort RX Subsystem は MST モードに設定され、 DisplayPort TX Subsystem は SST モードに設定されて各ス ト リームのビデオを表示します。 TX に表示されるビデオ ス ト リームは、 UART メニューで選択できます。

TX MST システムは 大 4 ス ト リームを駆動でき、 各ス ト リームでそれぞれ解像度 1080p のビデオを送信できます。 TX MST アプリ ケーシ ョ ンには 4K2K 垂直分割のデモ機能もあ り ます。 この機能は、 4K2K@60Hz をサポート したモニターに 2 ス ト リーム MST モードで 4k2K@60Hz ビデオを駆動する場合に使用します。 HDCP およびオーディオ機能は MST モードではサポート されません。

注記 : このアプリ ケーシ ョ ン ノートでは、 DisplayPort リ ンク ト レーニングの詳細および AUX リ ンクなどについては取り上げません。

HDCP のサポート と動作

このアプリ ケーシ ョ ン ノートには、オプシ ョ ンで HDCP をサポート したシステムが含まれます。 HDCP は DisplayPort RX Subsystem と DisplayPort TX Subsystem (SST モードのみ) の両方でサポート されます。 このアプリ ケーシ ョ ン ノートには、HDCP 対応システムと HDCP 非対応システムの 2 つが付属します。

注記 : HDCP 対応システムを使用するには、 有効な HDCP キーと HDCP をサポート したモニターを用意する必要があ り ます。 ザイ リ ンクスは HDCP キーを提供していません。 HDCP キーのセッ ト アップと管理の詳細は、 29 ページの 「HDCP キーの設定とキー管理」 を参照して ください。

このアプリ ケーシ ョ ンは、 DisplayPort TX Subsystem に接続されたモニターの HDCP 機能を検出します。 HDCP 機能はモニターが HDCP コンテンツの表示に対応している場合のみ有効になり ます。

パススルー モード (メニューで r または s を選択した場合)では、 GPU などの DisplayPort ソースが DisplayPort シンクの HDCP 機能を検出して認証プロセスを開始します。 認証に成功する と、 GPU は暗号化された HDCP コンテンツの再生を開始できます。 DisplayPort シンクは自動的にこれを検出し、 暗号化されたコンテンツの復号化を開始します。 復号化されたコンテンツは、 DisplayPort TX Subsystem に接続されたモニターに表示する前に再び暗号化する必要があ り ます。 これは、 暗号化されていないコンテンツが表示されないよ うにするためです。

アプリ ケーシ ョ ンは、 暗号化されたコンテンツを RX で検出する と、 DisplayPort モニターとの HDCP 認証プロセスを開始します。 認証に成功する と、 DisplayPort TX はビデオ コンテンツを暗号化してからモニターに送信します。 このアプリケーシ ョ ンは、 認証を 100 回まで試みます。 100 回試みても認証に成功しない場合、 暗号化されていない HDCP コンテンツは表示されず TX ビデオはカラー バー パターンに切り替わり ます。

TX 専用モード (メニューで t を選択した場合) ではユーザーが手動で HDCP 認証と暗号化を開始する必要があ り ます。

モニターが HDCP をサポート していない場合、 アプリ ケーシ ョ ンは HDCP 機能を無効にします。

Page 13: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

特長

XAPP1271 (v1.0) 2016 年 5 月 10 日  13japan.xilinx.com

ド ライバー

このアプリ ケーシ ョ ン ノートに付属するソフ ト ウェア アプリ ケーシ ョ ンは、 DisplayPort RX および TX Subsystem、vid_phy_controller、 HDCP ド ラ イバーを使用してビルド しています。 これらは Vivado 2016.1 のインス トール先ディレク トリにあ り ます。

ハードウェアのセッ トアップと実行

1. 東京エレク ト ロン (TED) 社製 TB-FMCH-DP3 モジュールを KC705 (または KCU105) ボードの HPC FMC コネクタに接続します。

2. ホス ト PC と KC705 ボードのシ リ アル通信用 USB UART ポート を USB ケーブル (Type-A/Mini-B) で接続します。KCU105 ボードの場合は Type-A/Micro-B USB ケーブルを使用します。

3. BIT ファ イルと ELF ファ イルをプログラムするために、 JTAG USB プラ ッ ト フォーム ケーブルまたは USB Type-A/Micro-B ケーブルをホス ト PC から KC705 ボードへ接続します。

4. TED TB-FMCH-DP3 モジュールの TX ポート とモニターを DP ケーブルで接続します (図 7)。

5. TED TB-FMCH-DP3 モジュールの RX ポート と DP ソース (GPU) を DP ケーブルで接続します (図 7)。X-Ref Target - Figure 7

図 7 : KC705 ボードのセッ トアップ

Page 14: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  14japan.xilinx.com

6. 電源ケーブルを接続し、 ボードの電源を投入します。

7. TeraTerm や PuTTY などの UART ターミナル エミ ュレーターを起動します。 設定は次のとおり と します。

a. ボー レート = 115200

b. データ ビッ ト = 8

c. パリティ = なし

d. ス ト ップ ビッ ト = 1

e. フロー制御 = なし

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

リファレンス デザインのビルド

このセクシ ョ ンでは、 ハード ウェアおよびソフ ト ウェアの両方について リ ファレンス デザインを構築する方法を説明します。

作業を始める前に、 リ ファレンス デザインの zip ファ イルを解凍してローカル ディ レク ト リに展開して ください (下記の説明では、 このディ レク ト リ を 「XAPP1271」 と呼ぶ)。 ready_for_download フォルダーの BIT および ELF ファ イルを使用するのではなく、 自身でハードウェア デザインと SDK ワークスペースをビルドする場合は、 次の手順を実行します。

1. Vivado デザイン ツール プロジェク ト を作成し、 ビッ ト ス ト リームを生成します。 こ こでは、 Vivado デザイン ツールで新規プロジェク ト を開始する手順について説明します。

a. Vivado Design Suite 2016.1 を起動します。

b. Vivado 統合設計環境 (IDE) で [Tcl Console] を開きます ([Window] → [Tcl Console] をク リ ッ ク )。

X-Ref Target - Figure 8

図 8 : KCU105 ボードのセッ トアップ

Page 15: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  15japan.xilinx.com

c. Vivado IDE の [Tcl Console] で次のコマンドを実行して、 kc705/sst/system_1/hw または kcu105/sst/system_1/hw ディレク ト リに移動します。

cd XAPP1271/kc705/sst/system_1/hw

または

cd XAPP1271/kcu105/sst/system_1/hw

d. 個々の要件に基づいて付属の all.tcl ファ イルを source コマンドで実行し、 デザインを生成します。

> source all.tcl

e. プロジェク トの作成、 出力ファイルの生成、 デザインの合成およびインプリ メン ト 、 ビッ ト ス ト リームの生成が完了するまで待ちます。 図 9 と図 10 に、 システムで MicroBlaze™ プロセッサを用いた場合の全 IP コアのアドレス マップを示します。

注記 :残りのシステムについても、 それぞれの hw フォルダーで上記の手順を実行してシステムを作成します。

X-Ref Target - Figure 9

図 9 : kc705_addr_map

X-Ref Target - Figure 10

図 10 : kcu105_addr_map

Page 16: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  16japan.xilinx.com

SDK ワークスペースのビルド

ソフ ト ウェア ソース ファ イルはすべての SST システムで共通です。 このアプリ ケーシ ョ ン ノートには、 各システムの SDK ワークスペースをビルドするためのスク リプ トが付属します。

すべてのシステムで、 SDK ワークスペースをビルドするには次の手順を実行します。

1. sw フォルダーにはエクスポート済みのハードウェア ファ イル design_1_wrapper.hdf があ り ます。または Vivado 2016.1 からハード ウェアをエクスポートするこ と もできます。

2. インス トールした Vivado が正し く設定されており、 コマンド プロンプ トからコマンドを実行できるこ とを確認します。

3. いずれかの sw フォルダーに移動して次のコマンドを実行します。

xsct ./all.tcl

4. SDK ワークスペースがビルド され、 sw/dppt/Debug フォルダーに ELF ファ イルが生成されます。

注記 :パッケージに付属するスク リプを使用するのではなく、 生成済みのハードウェアを SDK にエクスポート してプロジェク ト をビルド し、 ELF ファ イルを作成するこ と もできます。 Vivado デザイン ツールからハード ウェアをエクスポート し、空のアプリ ケーシ ョ ンを作成して XAPP1271/kc705/sst/common/src フォルダーのソース コードをインポートし、 プロジェク ト をビルド して EFL ファ イルを作成する方法は、 SDK のユーザー ガイ ドを参照して ください。

ハードウェア セッ トアップの実行

次の手順に従って、 ハード ウェア セッ ト アップで BIT および ELF ファ イルを実行します。

1. JTAG ケーブルをボードに接続します。

2. コマンド シェルで次のディ レク ト リに移動します。

XAPP1271/kc705/hw/project_1/project_1.runs/impl_1

または

XAPP1271/kc705/ready_to_download

(BIT ファ イルのある場所です)

3. コマンド プロンプ トで xsdb と入力して xsdb を起動します。

次のコマンドを実行してビッ ト ス ト リームをボードへダウンロード します。

xsdb connectxsdb fpga -file design_1_wrapper.bitxsdb targets 3

注記 :実際のターゲッ ト番号は異なる場合があり ます。 選択したターゲッ トが MicroBlaze であるこ とを確認してください。

4. ソフ ト ウェアをボードにダウンロード して実行します。

xsdb dow dppt.elfxsdb con

5. アプリ ケーシ ョ ンを停止して再度実行するには、 次のコマンドを実行します。

xsdb stopxsdb rstxsdb dow dppt.elfxsdb con

これでアプリ ケーシ ョ ン ソフ ト ウェアが開始してユーザー メニューが TeraTerm/UART ポートに表示されます。 KCU105 の場合も同様の手順で BIT および EFL ファ イルを実行してください。

Page 17: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  17japan.xilinx.com

ユーザー コンソールの表示

アプリ ケーシ ョ ンを実行する と、 まずモニターが接続されているかど うかがチェッ ク されます。 モニターが接続されている場合は図 11 に示したオプシ ョ ンが表示されます (KC705)。

「r」 または 「s」 を選択する とシステムはパススルー モードにな り、 RX で受信したビデオが TX へそのまま転送されます。 これで vid_phy_controller がコンフ ィギュレーシ ョ ンされ、DisplayPort が RX に設定されます。GPU などの DisplayPort ソースがすでに DisplayPort RX に接続されている場合、 ト レーニングが開始します。 ソースが接続されていない場合は、ケーブルを接続する と ト レーニングが開始します。 ト レーニングが完了する とアプリ ケーシ ョ ンは DisplayPort TX Subsystem を起動します。 DisplayPort TX Subsystem が起動する とモニターにビデオが表示されます。 UART には、 図 12 のよ うなメ ッセージが表示されます。 メ ッセージの内容は、 GPU によって実行される ト レーニングによって異なり ます。

このアプリ ケーシ ョ ン ノートに付属する ELF では HDCP キーが設定されていないため、次のよ うな画面が表示されます。

X-Ref Target - Figure 11

図 11 : DisplayPort ユーザー コンソール

Page 19: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  19japan.xilinx.com

この時点で RX と TX のリ ンクが確立し、 アクティブになり ます。 こ こで一部の設定およびレジスタを変更または表示できます。

1. Change Lane and Link capabilities (レーン数およびリ ンク レート を変更する )

デフォルトでは、 RX の 大性能はダウンス ト リーム モニターでサポート される性能に合わせて設定されます。 このメニュー項目を選択する と、 RX の性能を変更できます。 性能は各デバイスに応じて正し く選択する必要があ り ます。 性能を変更後、 RX ケーブルをいったん抜いてから挿入し直すこ とが必要な場合があ り ます。

2. Link, MSA and Error Status ( リ ンク、 MSA、 エラー ステータス)

このメニュー項目を選択する と、 DisplayPort シンクおよびソースの各種ステータス レジスタを読み出すこ とができます。

X-Ref Target - Figure 14

図 14 : レーン数およびリンク  レートの変更

Page 20: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  20japan.xilinx.com

3. Toggle HPD to ask for Retraining (HPD を ト グルして ト レーニング再開を要求する )

このメニュー項目を選択する と HPD が 3ms の期間ト グルし、 ト レーニングが再開します。

4. Restart TX Path (TX パスを再起動する )

このメニュー項目を選択する と TX パス全体が再起動します。

X-Ref Target - Figure 15

図 15 : RX デバッグ データ

X-Ref Target - Figure 16

図 16 : HPD のトグルによる ト レーニングの再開

Page 21: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  21japan.xilinx.com

5. Switch TX data to internal pattern generator (TX データを内部パターン ジェネレーターに切り替える )

このメニュー項目を選択する と TX ビデオが内部パターン ジェネレーターに切り替わり ます。

6. Switch TX back to RX Video data (TX を RX ビデオ データに戻す)

このメニュー項目を選択する と TX が RX ビデオに戻り ます。

7. 「w」 および 「r」

これらのメニュー項目を選択する と任意の DisplayPort RX レジスタに対して書き込みまたは読み出しを実行できます。

8. 「p」

このメニュー項目を選択する と HDCP 暗号デバッグ データが読み出されます。

X-Ref Target - Figure 17

図 17 : TX パスの再起動

X-Ref Target - Figure 18

図 18 : TX データの切り替え

Page 22: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  22japan.xilinx.com

注記 : DisplayPort Subsystem は複数のサンプル レート をサポート していますが、 このパススルー リ ファレンス デザインでは TX が常に 48kHz に設定されるため、 オーディオを 48kHz とする必要があ り ます。 パススルー モードでは、 TX を開始後にオーディオ パスが有効になり ます。 ビデオと同様に、 オーディオもパススルーと して再生されます。

X-Ref Target - Figure 19

図 19 : RX HDCP デバッグ データの表示

Page 23: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  23japan.xilinx.com

メ イン メニューで t を選択する とシステムは TX 専用モードに設定されます。 このモードでは、 RX は完全に無効になります。 このアプリ ケーシ ョ ンは 大レーン数およびリ ンク レートから ト レーニングを開始します。 システムの 大レーン数およびリ ンク レートは、 接続しているモニターに基づいて設定されます。 ト レーニングが正し く完了する と、 カラー バー パターンがモニターに表示されます。 UART には、 図 20 のよ うなメ ッセージが表示されます。 こ こでいずれかのメニュー項目を選択する と、 設定を表示または変更できます。

1. Change Resolution (解像度を変更する )

このメニュー項目を選択する と TX ビデオの解像度を変更できます。 選択可能な解像度は次のとおりです。

2. Change Bits per Color (BPC を変更する )

このメニュー項目を選択する とビデオの BPC を変更できます。 選択可能な値は 8、 10、 12、 および 16 です。

X-Ref Target - Figure 20

図 20 : リンク  レート  0x14 での TX リンク  ト レーニング画面

X-Ref Target - Figure 21

図 21 :解像度の選択画面

Page 24: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  24japan.xilinx.com

3. Change Number of Lanes, Link Rate (レーン数と リ ンク レート を変更する )

このメニュー項目を選択する と リ ンク レート とレーン数を変更できます。 レーン数またはリ ンク レート を変更すると、 解像度 640x480 でリ ンク ト レーニングが再開します。

4. Change Pattern (パターンを変更する )

モニターに表示されるビデオ パターンを変更します。 選択可能なパターンは図 24 のとおりです。

X-Ref Target - Figure 22

図 22 : BPC の選択画面

X-Ref Target - Figure 23

図 23 : レーン数およびリンク  レートの選択画面

X-Ref Target - Figure 24

図 24 :パターンの選択画面

Page 25: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  25japan.xilinx.com

5. Display MSA Values for TX (TX の MSA 値を表示する )

このメニュー項目を選択する と TX の MSA 値が表示されます。

6. Display EDID values (EDID 値を表示する )

このメニュー項目を選択する とモニターから読み出した EDID 値が表示されます。

7. Display Link Configuration Status and user selected resolution, BPC ( リ ンク コンフ ィギュレーシ ョ ン ステータスおよびユーザーが選択した解像度、 BPC を表示する )

このメニュー項目を選択する と、 現在のリ ンク ステータス、 解像度、 および設定した BPC が表示されます。

8. Display DPCD register Configurations (DPCD レジスタの設定を表示する )

9. Read Auxiliary registers (補助レジスタを読み出す)

このメニュー項目を選択する とモニターから補助レジスタが読み出されます。

X-Ref Target - Figure 25

図 25 : TX の MSA 値の表示

X-Ref Target - Figure 26

図 26 : リンク  コンフ ィギュレーシ ョ ン ステータスの表示

Page 26: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  26japan.xilinx.com

10. 「p」

このメニュー項目を選択する と HDCP ステータス データが表示されます。

11. 「i」

このメニュー項目を選択する と TX SS で HDCP が有効になり ます。 このコマンドを実行する と HDCP が有効になり、 認証が開始し、 後にビデオ データが暗号化されます。

12. 「a」

このメニュー項目を選択する と TX パスでオーディオが開始します。 TX は 48kHz の 2 チャネル ping パターンを送信するよ うに設定されます。

X-Ref Target - Figure 27

図 27 :補助レジスタの表示

X-Ref Target - Figure 28

図 28 : TX HDCP ステータス データ

Page 27: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  27japan.xilinx.com

結果

アプリ ケーシ ョ ンをパススルー モードに設定する と、 モニターにはソースのデフォルト画面が表示されます。 図 29 は、ホス ト PC で開いたザイ リ ンクスのウェブサイ ト をザイ リ ンクス DisplayPort シンクに表示したものです。

アプリ ケーシ ョ ンを TX 専用モードに設定する と、 モニターにはデフォルトの 640x480 LLC カラー バー パターンが表示されます。 図 30 は、 1920x1080 VESA カラー バー パターンをモニターに表示したものです。

X-Ref Target - Figure 29

図 29 :ザイリンクス DisplayPort シンク

Page 28: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

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

XAPP1271 (v1.0) 2016 年 5 月 10 日  28japan.xilinx.com

図 31 に、 TX MST のセッ ト アップを示します。 各モニターに 1920x1080p ビデオが表示されます。

X-Ref Target - Figure 30

図 30 : カラー バー パターンの表示

X-Ref Target - Figure 31

図 31 : TX MST のセッ トアップ

Page 29: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

ト ラブルシューテ ィング

XAPP1271 (v1.0) 2016 年 5 月 10 日  29japan.xilinx.com

ト ラブルシューテ ィ ング

こ こでは、 ポ リ シー メーカー ソフ ト ウェアで問題が発生した場合のデバッグ手順について説明します。

ヘルプ メニューには、 MSA 値、 EDID 情報、 リ ンクおよびレーン ステータス、 DPCD ステータスを読み出す項目があ ります。 TI DP159 のプログラムは RX Subsystem とそのド ライバーによって実行されます。

付属の ready_for_download フォルダーのファイルでデザインが正し く動作しない場合は、 次の事項を確認してください。

1. DisplayPort ケーブルの品質を確認します。

2. シンク モニターで DisplayPort モードが選択されているこ とを確認します。

3. DisplayPort ケーブルが正し く接続されているこ とを確認します。

4. テス トに使用しているモニターがサポート している 大解像度および BPC (bits per color) を確認します。

5. シ リ アル ポートから解像度と BPC の変更を試み、 リ ンク オーバーサブスク リプシ ョ ンがないこ とを確認します。

6. リ ンク オーバーサブスク リプシ ョ ンがある場合、 またはモニターがス リープ モードに移行している場合は、 TX パスの ト レーニングが実行されてもビデオは表示されません。 リ ンク オーバーサブスク リプシ ョ ンがないこ とを確認します。 モニターのパワー サイ クルでス リープ モードが終了するよ うに設定されているこ とを確認します。

HDCP キーの設定とキー管理

このアプリ ケーシ ョ ン ソフ ト ウェアは生の HDCP キーを直接は使用しません。 HDCP キーを使用するには、 まずキーを暗号化してからアプリ ケーシ ョ ンに追加する必要があ り ます。 これは手作業で行います。 このアプリ ケーシ ョ ン ノートには、 HDCP キーを暗号化するためのスク リプ ト と ソフ ト ウェアが付属します。

暗号化ソフ トウェアの使用方法

AES で暗号化した HDCP キーを生成するには、 次のキーを用意する必要があ り ます。

1. 32 バイ ト AES キー

2. 有効な HDCP キー

注記 :ザイ リ ンクスはこれらのキーを提供していません。 この XAPP1271 に付属するアプリ ケーシ ョ ンは無効なキーを使用して作成しているため、 そのままでは HDCP コンテンツを再生できません。

AES で暗号化した HDCP キー ブロ ッ クを生成するには、 次の手順を実行してください。

1. プロジェク トの zip ファ イルを解凍して hdcp_util/keys ディ レク ト リに移動します。 暗号化ブロ ッ クはこのディレク ト リにあ り ます。

2. 次に示すファイル内の配列 gDefaultKey をユーザーが指定した一意の 32 バイ ト キーに変更します。 これは、 上記の 1. に示した 32 バイ ト AES キーです。

XAPP1271/hdcp_util/keys/key-encryptor/common/src/keyfile.c

3. XAPP1271/hdcp_util/keys/key-encryptor/build/linux フォルダーに移動して Linux ターミナルから次のコマンドを実行します。

./build.sh

する と同じフォルダーに hdcp-enc.bin ファ イルが作成されます。

4. 同じディ レク ト リから次のコマンドを実行して AES 暗号化ファイル keymgmt_data.c を作成します。

./hdcp-enc.bin -c devb1_keys.dat devb2_keys.dat …. devb<n>_keys.dat

注記 :用意した devb<n>_keys.dat ファ イルには、 オ リジナル HDCP キーを 1 つだけ格納してください。 オ リジナル HDCP キーには 5 バイ トの KSV (Key Selection Vector) が 1 つと 40 個の秘密キーが含まれます。 複数の HDCP キーがある場合は、 各キーを別々の .dat ファ イルに格納する必要があ り ます。 フォーマッ トについては、 dummy.dat ファイルを参照して ください。

Page 30: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

ト ラブルシューテ ィング

XAPP1271 (v1.0) 2016 年 5 月 10 日  30japan.xilinx.com

5. これで AES 暗号化済みの HDCP キー ブロ ッ クが keymgmt_data.c ファ イル内の配列と して作成されます。

6. 次に示すリ ファレンス デザインの AES キーが手順 2 のキーと一致しているこ とを確認します。

XAPP1271/kc705/sw/dppt/src/keymgmt/src/keymgmt_keyfile.c

これで HDCP キーが暗号化され、 使用可能になり ます。 HDCP キーは、 次の 2 つの方法のいずれかで使用できます。

AES 暗号化キー ブロックを  EEPROM に格納して使用する

XAPP1271 に付属する XAPP/hdcp_util/iic_wr_util/kc705 プロジェク ト を使用してキーを EEPROM に書き込むことができます。 前のセクシ ョ ンの keymgmt_data.c ファ イルに生成した AES 暗号化済みのブロ ッ クを XAPP/hdcp_util/iic_wr_util/kc705/sw/src/iic_keys.c ファ イル内の配列 HDCP_KEYS にコピーする必要があ り ます。

注記 : キーのサイズが計算され、 変数 HDCP_KEYS_SZ に格納されます。 キーのサイズが EEPROM の容量を超えないように注意して ください。

XAPP1271/hdcp_util/iic_wr_util/kc705/sw/ フォルダーに移動します。 Vivado 2016.1 のコマンド プロンプ トで次のコマンドを実行します。

xsct ./all.tcl

これで XAPP1271/hdcp_util/iic_wr_util/kc705/sw/iic_eeprom/Debug フォルダーに iic_eeprom.elf ファイルが作成されます。

この ELF ファ イルと XAPP1271/hdcp_util/iic_wr_util/kc705/ready_to_download フォルダーにある design_1_wrapper.bit ファ イルを使用して、 オンボードの EEPROM に AES 暗号化済みのキーを書き込みます。

XAPP1271/kc705/sw/dppt/src/src/dppt.c ファ イルで gIsKeyWrittenInEeeprom = TRUE と設定します。keygen_config.h ファ イルで IIC デバイス ID が正し く設定されているこ とを確認します。

KCU105 の EEPROM にキーを書き込む手順も同じです。 IIC ユーティ リ ティ も該当するフォルダーに用意されています。

AES 暗号化キー ブロックを  BRAM に格納して使用する

キーを BRAM に格納して使用するには、前のセクシ ョ ンで生成した AES 暗号化済みの HDCP キーを、 リ ファレンス デザインの次のファイルで定義された配列 KEYMGMT_ENCDATA にコピーする必要があ り ます。

XAPP1271/kc705/sw/dppt/src/keymgmt/src/keys.c

これで、 リ ファレンス デザインは BRAM からキーを読み出せるよ うにな り ます。

XAPP1271/kc705/sw/dppt/src/src/dppt.c で gIsKeyWrittenInEeeprom = FALSE と設定します。

KCU105 でキーを BRAM に格納して使用する方法も、 KC705 ボードの場合と同じです。

Page 31: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

参考資料

XAPP1271 (v1.0) 2016 年 5 月 10 日  31japan.xilinx.com

参考資料

このアプリ ケーシ ョ ン ノートの参考資料は次のとおりです。

注記 :日本語版のバージ ョ ンは、 英語版よ り古い場合があ り ます。

1. 『DisplayPort RX Subsystem 製品ガイ ド』 (PG233)

2. 『DisplayPort TX Subsystem 製品ガイ ド』 (PG199)

3. 『Video PHY Controller v2.0 製品ガイ ド』 (PG230)

4. 『LogiCORE IP DisplayPort v7.0 製品ガイ ド』 (PG064)

5. 『Vivado Design Suite ユーザー ガイ ド : IP インテグレーターを使用した IP サブシステムの設計』 (UG994 : 英語版、日本語版)

6. 『KCU105 ボード ユーザー ガイ ド』 (UG917)

7. 『Kintex-7 FPGA 用 KC705 評価ボード ユーザー ガイ ド』 (UG810)

8. ザイ リ ンクス Kintex-7 FPGA KC705 評価キッ ト (http://japan.xilinx.com/products/boards-and-kits/EK-K7-KC705-G.htm)

改訂履歴

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

日付 バージョ ン 内容

2016 年 5 月 10 日 1.0 初版

Page 32: :Kintex-7 Kintex UltraScale Video PHY Controller …japan.xilinx.com/support/documentation/application_notes/...DPPT_Xapp ディレクトリにあります。ここからは、この

法的通知

XAPP1271 (v1.0) 2016 年 5 月 10 日  32japan.xilinx.com

法的通知本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開

示される情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適用される

法律が許容する 大限の範囲で、 (1) 本情報は 「現状有姿」、 およびすべて受領者の責任で (with all faults) とい う状態で提供され、 ザイ リ

ンクスは、 本通知をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれらに限られません)、すべての保証および条件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、 本情報 (貴殿または貴社による本情報の使用

を含む) に関係し、 起因し、 関連する、 いかなる種類 ・ 性質の損失または損害についても、 責任を負わない (契約上、 不法行為上 (過失の

場合を含む)、 その他のいかなる責任の法理によるかを問わない) ものと し、 当該損失または損害には、 直接、 間接、 特別、 付随的、 結

果的な損失または損害 (第三者が起こした行為の結果被った、 データ、 利益、 業務上の信用の損失、 その他あらゆる種類の損失や損害を

含みます) が含まれるものと し、 それは、 たとえ当該損害や損失が合理的に予見可能であったり、 ザイ リ ンクスがそれらの可能性につい

て助言を受けていた場合であったと しても同様です。 ザイ リ ンクスは、 本情報に含まれるいかなる誤り も訂正する義務を負わず、 本情

報または製品仕様のアップデート を貴殿または貴社に知らせる義務も負いません。 事前の書面による同意のない限り、 貴殿または貴社

は本情報を再生産、 変更、 頒布、 または公に展示してはなり ません。 一定の製品は、 ザイ リ ンクスの限定的保証の諸条件に従う こ と と

なるので、 http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照して ください。 IP コアは、 ザイ リ ンクスが貴殿

または貴社に付与したライセンスに含まれる保証と補助的条件に従う こ とにな り ます。 ザイ リ ンクスの製品は、 フェイルセーフと して、

または、 フェイルセーフの動作を要求するアプリ ケーシ ョ ンに使用するために、 設計されたり意図されたり していません。 そのよ うな

重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を使用する場合のリ スク と責任は、 貴殿または貴社が単独で負う ものです。

http://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照してください。

© Copyright 2011—2016 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含まれ

るその他の指定されたブランドは、 米国およびその他各国のザイ リ ンクス社の商標です。 すべてのその他の商標は、 それぞれの保有者

に帰属します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの右下

にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 いただきましたご意見を参考に早急

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