30
XAPP1287 (v1.2) 2016 7 18 1 japan .xilinx.com 概要 このアプリケーション ノ ー ト では、 Kintex ® -7 FPGA GTX ト ラ ン シーバー と 次のザ イ リ ン ク ス ® LogiCORE™ IP コアの機 能を使用して HDMI™ (High-Definition Multimedia Interface) 2.0 を実装する際の考慮事項について説明し ます。 HDCP 1.4/2.2 対応 HDMI 1.4/2.0 Transmitter Subsystem HDCP 1.4/2.2 対応 HDMI 1.4/2.0 Receiver Subsystem Video PHY Controller デザインは、 HDMI ソ リ ューシ ョ ン用に送信専用モー ド と パス スルー モードの 2 つの動作モード を備えています。 送信専 用モー ド では、 LogiCORE IP Test Pattern Generator (TPG) コアからのカラーバー パターンを表示します。 パススルー モー ド では、 外部 HDMI ソースを使用してビデオ データを HDMI デザイン経由で送信します。 リファレンス デザインでは、 HDMI ソ リ ューシ ョ ンの HDCP (High-bandwidth Digital Content Protection System) リビジョン 1.4/2.2 機能のデモを示します。 HDCP を使用して、 HDCP で保護 さ れた ト ラ ン ス ミ ッ タ ーか ら HDCP で保護されたダウンス ト リーム レシーバーへオー ディオ/ ビジュアル データ を安全に送信でき ます。 通常、 HDCP 2.2 は超高精細 (UHD) コンテンツの暗号化に使用され、 HDCP 1.4 はよ り低解像度のコンテンツの暗号化方式と して使用されます。 このリファレンス デザインは、 Kintex ® -7 XC7K325T-2FFG900 FPGA inrevium TB-FMCH-HDMI4K FMC カード を使用す るザイリンクス Kintex-7 FPGA KC705 評価キッ ト をターゲッ ト と しています。 このアプリケーション ノートの は、ザイリンクスのウェブサイトからダウンロードでき ます。 リファレンス デザイン リファレンス デザインは、 Vivado ® Design Suite System Edition 2016.2 を使用して作成および構築されています。 デザイン には、 ザ イ リ ン ク ス の ソ フ ト ウ ェ ア開発キ ッ ト (SDK) 2016.2 を使用して構築されたソフ ト ウェアも含まれます。 このソ フトウェアは MicroBlaze™ プロセッサ サブシステムで動作し、 制御機能とステータス機能を実装しています。 このアプ リ ケーシ ョ ン ノートでは Vivado Design Suite および SDK の完全なプロジェク ト ファイルを提供しており、 デザインの検 討や再構築に活用した り、 新規デザインのテンプレート と して使用できます。 アプリケーション ノート : Kintex-7 ファミリ XAPP1287 (v1.2) 2016 7 18 Kintex-7 FPGA GTX ト ランシーバーを 使用した HDMI 2.0 の実装 著者 : Gilbert MagnayeYunhai QiaoMujib HaiderMarco Groeneveld

Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

XAPP1287 (v1.2) 2016 年 7 月 18 日 1japan.xilinx.com

概要

このアプリ ケーシ ョ ン ノートでは、 Kintex®-7 FPGA GTX ト ランシーバーと次のザイ リ ンクス® LogiCORE™ IP コアの機能を使用して HDMI™ (High-Definition Multimedia Interface) 2.0 を実装する際の考慮事項について説明します。

• HDCP 1.4/2.2 対応 HDMI 1.4/2.0 Transmitter Subsystem

• HDCP 1.4/2.2 対応 HDMI 1.4/2.0 Receiver Subsystem

• Video PHY Controller

デザインは、 HDMI ソ リ ューシ ョ ン用に送信専用モード とパススルー モードの 2 つの動作モードを備えています。 送信専用モードでは、 LogiCORE IP Test Pattern Generator (TPG) コアからのカラーバー パターンを表示します。 パススルー モードでは、 外部 HDMI ソースを使用してビデオ データを HDMI デザイン経由で送信します。 リ ファレンス デザインでは、HDMI ソ リ ューシ ョ ンの HDCP (High-bandwidth Digital Content Protection System) リ ビジ ョ ン 1.4/2.2 機能のデモを示します。HDCP を使用して、 HDCP で保護された ト ランス ミ ッ ターから HDCP で保護されたダウンス ト リーム レシーバーへオーディオ/ビジュアル データを安全に送信できます。 通常、 HDCP 2.2 は超高精細 (UHD) コンテンツの暗号化に使用され、HDCP 1.4 はよ り低解像度のコンテンツの暗号化方式と して使用されます。

このリ ファレンス デザインは、 Kintex®-7 XC7K325T-2FFG900 FPGA と inrevium TB-FMCH-HDMI4K FMC カードを使用するザイ リ ンクス Kintex-7 FPGA KC705 評価キッ ト をターゲッ ト と しています。

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

リファレンス デザイン

リ ファレンス デザインは、 Vivado® Design Suite System Edition 2016.2 を使用して作成および構築されています。 デザインには、 ザイ リ ンクスのソフ ト ウェア開発キッ ト (SDK) 2016.2 を使用して構築されたソフ ト ウェアも含まれます。 このソフ ト ウェアは MicroBlaze™ プロセッサ サブシステムで動作し、 制御機能とステータス機能を実装しています。 このアプリ ケーシ ョ ン ノートでは Vivado Design Suite および SDK の完全なプロジェク ト ファ イルを提供しており、 デザインの検討や再構築に活用したり、 新規デザインのテンプレート と して使用できます。

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

XAPP1287 (v1.2) 2016 年 7 月 18 日

Kintex-7 FPGA GTX ト ランシーバーを使用した HDMI 2.0 の実装著者 : Gilbert Magnaye、 Yunhai Qiao、 Mujib Haider、 Marco Groeneveld

Page 2: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 2japan.xilinx.com

ハードウェア要件

概要

リ ファレンス デザインは、 HDMI 1.4/2.0 Transmitter Subsystem (HDMI_TX_SS)、 HDMI 1.4/2.0 Receiver Subsystem (HDMI_RX_SS)、および Video PHY (VPHY) Controller コアを中心に、既存のザイ リ ンクス IP コアを組み合わせて完全なシステムを構成しています。 HDCP 1.4 および HDCP 2.2 のサポートは HDMI Subsystem で有効になり、 コンテンツの保護を可能にします。 システムの入出力は、 ザイ リ ンクス開発ボードの FMC HPC コネクタに接続される HDMI 2.0 ドーター カードを介した HDMI ビデオ ス ト リームとな り ます。

VPHY Controller コアは、 HDMI 2.0 ドーター カード との間で HDMI ビデオ/オーディオの送受信を可能にする HDMI アプリ ケーシ ョ ン用にコンフ ィギュレーシ ョ ンされています。

X-Ref Target - Figure 1

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

KC705 Evaluation Kit

HDMI 2.0 FMC Card

HDMI In

HDMI Out

Kintex-7 FPGA

HDMI RX Subsystem

HDMI TX Subsystem

Test Pattern & Audio

Generator

Video PHY Controller

Page 3: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 3japan.xilinx.com

パススルー モードでは、 VPHY Controller コアは高速シ リ アル ビデオ ス ト リームを復元して、 パラレル データ ス ト リームに変換し、 HDMI_RX_SS コアに転送します。 HDMI_RX_SS コアは、 HDMI ス ト リームからビデオ ス ト リームとオーディオ ス ト リームを抽出し、別々の AXI ビデオ ス ト リームとオーディオ ス ト リームに変換します。 AXI ビデオ ス ト リームは TPG コアを通り、 AXI オーディオ ス ト リームはカスタマイズされたオーディオ生成ブロ ッ クを通り ます。 2 つの AXI ス ト リームは、最終的に HDMI_TX_SS コアに到達します。 HDMI_TX_SS コアは、 AXI ビデオ ス ト リームとオーディオ ス ト リームを再び HDMI ス ト リームに変換します。 その後、 VPHY Controller コアが、 このス ト リームを高速シ リ アル データ ス ト リームと して送信します。 HDMI 入力インターフェイスからの TMDS (Transition Minimized Differential Signaling) ク ロ ッ クは、 HDMI 2.0 FMC カード内の SI5324 ク ロ ッ ク ジェネレーターを使用して HDMI TX ト ランシーバーに転送されます。

送信専用モードでは、 TPG コアがカラーバー パターンを AXI ビデオ ス ト リームと して生成し、 カスタマイズされたオーディオ処理ブロ ッ クが低周波数オーディオを AXI オーディオ ス ト リームと して生成します。 2 つのス ト リームは、HDMI_TX_SS に転送されて HDMI ス ト リームに変換された後、 VPHY に転送されて送信されます。

I/O ペリ フェラルおよびプロセッサ サポート IP を含むシステムレベルの制御は、 簡略化した MicroBlaze エンベデッ ド プロセッサ サブシステムが担います。 クロ ッ ク ジェ ネレーター ブロ ッ ク とプロセッサ システム リセッ ト ブロ ッ クは、 システム全体にクロ ッ ク信号と リセッ ト信号をそれぞれ供給します。

図 3 および表 1 に、 MicroBlaze プロセッサ サブシステムのブロ ッ ク図とアドレス マップを示します。

X-Ref Target - Figure 2

図 2 : KC705 HDMI リファレンス デザインのクロックおよびデータパス図

KC705 Evaluation Kit

Kintex-7 FPGA

TB-FMCH-HDMI4K

Clock Gen(Si5324)

KC705 Local Oscillator(125 MHz)

tx_gtrefclk clock p/n

nidru gtrefclk clock p/n

rx_gtrefclk clock p/nrx_tmds_data(2:0)

txoutclk

tx_video_clk

tx_tmds_clk

HDMI TX Subsystem

rxoutclk

rx_video_clk

Cable Driver (DP159)

tx_tmds_clk_p/ntx_tmds_data(2:0)HDMI TX

HDMI RX

rx_tmds_clk_p/n

axis_tx_tmds_data_ch(2:0)

rx_tmds_clk

HDMI RX Subsystem

axis_rx_tmds_data_ch(2:0)

Test Pattern

Generator

Audio Generator

OSC

Video PHY Controller

TX

RXaxis_video

axis_audio

axis_video

axis_audio

reference clock in pass-through mode

reference clock in tx-only mode

Page 4: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 4japan.xilinx.com

表 1 に、 MicroBlaze サブシステムのアドレス マップを示します。

X-Ref Target - Figure 3

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

表 1 : MicroBlaze サブシステムのアドレス マップ

ペリフェラル インスタンス ベース アドレス 上位アドレス

lmb_bram_if_cntlr ilmb_bram_if_cntlr_0 0x00000000 0x0007FFFF

lmb_bram_if_cntlr dlmb_bram_if_cntlr_0 0x00000000 0x0007FFFF

lmb_bram_if_cntlr ilmb_bram_if_cntlr_1 0x00080000 0x0009FFFF

lmb_bram_if_cntlr dlmb_bram_if_cntlr_1 0x00080000 0x0009FFFF

axi_intc axi_intc_0 0x41200000 0x4120FFFF

axi_uartlite axi_uartlite_0 0x40600000 0x4060FFFF

axi_iic fmch_axi_iic_0 0x40800000 0x4080FFFF

aud_pat_gen aud_pat_gen_0 0x44A60000 0x44A6FFFF

clk_wiz clk_wiz_0 0x44A50000 0x44A5FFFF

hdmi_acr_ctrl hdmi_acr_ctrl_0 0x44A70000 0x44A7FFFF

axi_gpio axi_gpio_0 0x44A90000 0x44A9FFFF

v_tpg v_tpg_0 0x44A00000 0x44A0FFFF

v_hdmi_rx_ss v_hdmi_rx_ss_0 0x44B00000 0x44B3FFFF

v_hdmi_tx_ss v_hdmi_tx_ss_0 0x44C00000 0x44C3FFFF

vid_phy_controller vid_phy_controller_0 0x44A10000 0x44A1FFFF

tpg_ssaudio_ss

microblaze_ss

MicroBlazeProcessor

MicroBlaze Debug

Module

LMB bram controller Block RAM

Clock Wizard

Processor System Reset

Module

AXI interconnect (AXI lite)

LMB bram controller

LMB

LMB

LMB bram controller Block RAM LMB bram controller

Audio Pattern Gen

AXI UART (lite)AXI INTC AXI IIC

FPGA IO FPGA IO

Clock Wizard HDMI ACR AXI GPIO Test Pattern Generator

HDMI Transmitter Subsystem

HDMI Receiver

Subsystem

Video PHY Controller

Page 5: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 5japan.xilinx.com

リファレンス デザインの仕様

VPHY Controller、 HDMI Transmitter Subsystem、 HDMI Receiver Subsystem の各コアのほかに、 リ ファレンス デザインでは次のコアを使用しています。

• MicroBlaze

• MicroBlaze Debug Module

• AXI Interconnect

• Local Memory Bus

• LMB Block RAM Controller

• Block Memory Generator

• Clocking Wizard

• Processor System Reset

• AXI UARTLITE

• AXI Interrupt Controller

• AXI IIC

• AXI GPIO

• Video Test Pattern Generator

• Concat

• AXI4-Stream Register Slice

• Utility Buffer

• Utility Vector Logic

• AUD_PAT_GEN (カスタム IP)

• HDMI_ACR_CTRL (カスタム IP)

• ODDR (カスタム IP)

• HDMI_HB (カスタム IP)

ハードウェア システムの仕様

このセクシ ョ ンでは、 主要 IP ブロ ッ クの使用方法など、 リ ファレンス デザインの機能の概要を説明します。

Video PHY (VPHY) Controller

VPHY Controller コアは、標準化されたインターフェイスを介して HDMI TX および RX (Video MAC) Subsystem IP コアとのプラグアンドプレイ接続を実現します。 AXI4-Lite レジスタ インターフェイスによ り、 ク ロ ッ ク検出器および NI-DRU (Non-Integer Data Recovery Unit) などの VPHY Controller コア ペリ フェラルと ト ランシーバーに動的にアクセスできます。

VPHY Controller コアは次のタスクを実行します。

• 高速シ リ アル データの物理的な送受信を実行します。

• HDMI_TX_SS コアと HDMI_RX_SS コアで必要なクロ ッ ク ( リ ンク ク ロ ッ クおよびビデオ ク ロ ッ ク ) を生成します。各クロ ッ クは、 『LogiCORE IP HDMI 1.4/2.0 Transmitter Subsystem 製品ガイ ド』 (PG235) [参照 3] および 『LogiCORE IP HDMI 1.4/2.0 Receiver Subsystem 製品ガイ ド』 (PG236) [参照 4] の 「ク ロ ッキング」 の記述に従って生成されます。

• 差動 HDMI TX インターフェイス ク ロ ッ クを生成します。

• パススルー モードでのクロ ッ ク転送のために、 差動 HDMI RX TMDS インターフェイス ク ロ ッ クを再送信します。

Page 6: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 6japan.xilinx.com

• HDMI_TX_SS (vid_phy_status_sb_tx インターフェイス) および HDMI_RX_SS (vid_phy_status_sb_rx インターフェイス) にステータス側帯波信号を提供し、 内部ステート マシンを実現します。 側帯波信号は次の 2 つから成り ます。

° vid_phy_status_sb_rx_tdata[0] - リ ンク ク ロ ッ ク ロ ッ ク ステータス信号

° vid_phy_status_sb_rx_tdata[1] - ビデオ ク ロ ッ ク ロ ッ ク ステータス信号

• ク ロ ッ ク検出器ペリ フェラルを介して TX および RX TMDS ク ロ ッ クの実際の周波数を検出します。

• NI-DRU を使用して、 TMDS ク ロ ッ ク周波数が受信位相ロッ ク ループ (PLL) でサポート される最小基準クロ ッ ク よ りも低い、 HDMI の低ライン レート を復元します。

VPHY Controller コアの詳細は、 『LogiCORE IP Video PHY Controller 製品ガイ ド』 (PG230) [参照 5] を参照してください。

7 シリーズ GTX VPHY のインプリ メンテーシ ョ ンの仕様

ザイ リ ンクス 7 シ リーズ FPGA の GTX ト ランシーバーは、 QPLL と CPLL の 2 種類の PLL を備えています。 QPLL は、 トランシーバー クワ ッ ド内の 4 つのト ランシーバーすべてに共有されます。 CPLL は各ト ランシーバーにあ り ます。 VPHY IP コアによって、 ト ランス ミ ッ ターが QPLL または CPLL のどちらを使用するかを設計者が選択できます。 レシーバーは、 TX が使用しない PLL を使用します。

GTX ト ランシーバーは、RX と TX のクロ ッ ク ソース と してクワッ ド PLL (QPLL) またはチャネル PLL (CPLL) を使用できます。 RX と TX は、 同じ PLL を使用するこ と も、 別々の PLL を使用するこ と もできます。

RX と TX の両方が同じ PLL (CPLL または QPLL) を使用する場合、 RX と TX はボンディングされ、 常に同一のライン レートで動作する必要があ り ます。

QPLL と CPLL には一部制限があ り ます。 QPLL の電圧制御オシレータ (VCO) は周波数範囲に制限があるため、 QPLL は特定のライン レート をサポートできないというデメ リ ッ トがあ り ます。 ただし、 QPLL は CPLL よ り も低い TMDS ク ロ ック周波数をサポートできます。

CPLL の VCO は 1.6 ~ 3.3GHz の範囲で動作させます。 VCO の周波数は、 TMDS クロ ッ ク周波数によって決ま り ます。CPLL は、 限られた一連の逓倍値を TMDS クロ ッ ク周波数に適用できます。 GT ド ライバーは、 TMDS クロ ッ ク周波数を測定し、 有効な逓倍値を見つけます。 これによ り、 VCO の周波数が許容範囲内に収ま り ます。 CPLL が適用できる最大逓倍値は 20 なので、 CPLL がサポートする最小 TMDS クロ ッ ク周波数は 80MHz になり ます。 CPLL は、 TMDS クロ ッ ク周波数が 80MHz よ り低いビデオ フォーマッ ト をサポート していません。GT ド ライバーは、TMDS クロ ッ ク周波数が 80MHz よ り低いこ とを検出する と、 NI-DRU を有効にして 0.8Gb/s 未満の低ビッ ト レート を受信します。NI-DRU は 2.0Gb/s で動作するため、 CPLL がサポート していないライン レート を復元できます。 TMDS クロ ッ ク周波数が 80MHz よ り高い場合は、 表 2 に示すよ うに 10 または 20 の逓倍値を適用して、 VCO の周波数を適切な範囲内に保ちます。

重要 : CPLL を使用する場合、 HDMI RX Subsystem は、 NI-DRU またはネイティブ CDR を用いて、 最大ライン レート 6Gb/s までの有効なビデオ フォーマッ トのほとんどを受信できます。

表 2 : 7 シリーズ GTX の CPLL の使用法

TMDS クロック周波数 (MHz)

CPLL 基準クロックの

分周値CPLL の逓倍値 VCO の周波数 注記

<80 N/A N/A N/ATX : オーバーサンプリ ング

RX : NI-DRU が使用される

80 ~ 165 1 20 1.6 ~ 3.3GHz CDR が使用される

165 ~ 330 1 10 1.65 ~ 3.3GHz CDR が使用される

Page 7: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 7japan.xilinx.com

CPLL はすべてのビデオ フォーマッ ト をサポートでき、 制限はあ り ません。 ただし、 TMDS ク ロ ッ ク周波数が 80MHz より も低いフォーマッ トに対応するには、 NI-DRU を使用する必要があ り ます。 表 3 に、 CPLL でサポート される標準フォーマッ ト と、 DRU の必要性を示します。

RX または TX のクロ ッ ク ソース と して QPLL を使用する場合、 QPLL は一部のビデオ フォーマッ ト をサポートするために必要なクロ ッ ク周波数を生成できないため、 サポート されない解像度、 色深度、 カラー スペースの組み合わせが生じます。 HDMI は、 QPLL の低周波数帯域を使用します。 QPLL の VCO は、 5.93GHz ~ 8.0GHz の周波数範囲で動作しなければなり ません。 QPLL は、 20、 40、 または 80 の逓倍値を TMDS ク ロ ッ クに適用できます。

表 3 : CPLL による RGB および YCbCr 4:4:4 ビデオ フォーマッ トのサポート

解像度ピクセルあたりのビッ ト数

24 30 36 48

480i60 DRU DRU DRU DRU

576i50 DRU DRU DRU DRU

1080i50 DRU

1080i60 DRU

480p60 DRU DRU DRU DRU

576p50 DRU DRU DRU DRU

720p50 DRU

720p60 DRU

1080p24

1080p25

1080p30

1080p50

1080p60

2160p24

2160p25

2160p30

2160p60 1(1) 1(1) 1(1)

vgap60 DRU DRU DRU DRU

svgap60 DRU DRU DRU

xgap60 DRU

sxgap60

wxgap60 DRU

wxga+p60

uxgap60 2(2)

wuxgap60

wsxgap60

注記 :1. このフォーマッ トは、 HDMI 2.0 の最大ライン レート を超えるためサポート されません。

2. このフォーマッ トは、 送信についてはサポート されていますが、 レシーバーでは現在のと ころサポート されていません。

Page 8: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 8japan.xilinx.com

表 4 に、 適用される QPLL の逓倍値とサポート される周波数範囲を TMDS ク ロ ッ ク周波数帯ごとに示します。

QPLL には 2 つの動作帯域があるこ とに注意してください。 HDMI では高い方の帯域はすべてのスピード グレードで使用できないため、 QPLL は常に低い方の帯域で使用されます。

表 5 に、 QPLL でサポート される RGB および YCbCr 4:4:4 標準ビデオ フォーマッ ト とサポート されないビデオ フォーマッ ト を示します。 チェッ ク マークが付いたフォーマッ トは、 QPLL でサポート されます。 ピンク色のフォーマッ トは、QPLL でサポート されないライン レートの範囲に該当します。 DRU を使用して受信する必要があるフォーマッ トは表中の注記で示します。

表 4 : 7 シリーズ GTX の QPLL の使用法

TMDS クロック周波数 (MHz) QPLL の逓倍値 注記

<74.125 N/ATX : オーバーサンプリ ング

RX : NI-DRU が使用される

74.125 ~ 100 80 サポート

100 ~ 148.25 - サポート不可の TMDS ク ロ ッ ク範囲

148.25 ~ 200 40 サポート

200 ~ 296.5 - サポート不可の TMDS ク ロ ッ ク範囲

296.5 ~ 400 20 サポート

表 5 : QPLLL による RGB および YCbCr 4:4:4 ビデオ フォーマッ トのサポート

解像度ピクセルあたりのビッ ト数

24 30 36 48

480i60 DRU DRU DRU DRU

576i50 DRU DRU DRU DRU

1080i50

1080i60

480p60 DRU DRU DRU DRU

576p50 DRU DRU DRU DRU

720p50

720p60

1080p24

1080p25

1080p30

1080p50

1080p60

2160p24

2160p25

2160p30

2160p60 1(1) 1(1) 1(1)

vgap60 DRU DRU DRU DRU

svgap60 DRU DRU DRU DRU

xgap60 DRU

sxgap60

Page 9: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 9japan.xilinx.com

HDMI Transmitter Subsystem

HDMI_TX_SS は、 次の AXI インターフェイスを備えています。

• ビデオ

ビデオ インターフェイスは AXI4-Stream スレーブ バスです。 1 ク ロ ッ クあた り 1 ピクセル、 2 ピクセル、 または 4 ピクセルを伝達し、 1 コンポーネン ト あた り 8、 10、 12、 16 ビッ ト をサポート します。 このインターフェイスは、 『Vivado Design Suite : AXI リ ファレンス ガイ ド』 (UG1037) [参照 7] の 「ビデオ IP : AXI 機能の導入」 で定義しているビデオ プロ トコルを使用します。

• オーディオ

オーディオ インターフェイスは 32 ビッ ト AXI4-Stream スレーブ バスです。 このサブシステムは、 複数チャネル (最大 8 チャネル) の非圧縮オーディオ データを伝送します。

• CPU

CPU インターフェイスは AXI4-Lite バス インターフェイスです。 このインターフェイスを介して、 MicroBlaze などのプロセッサはレジスタにアクセスしてサブシステムを制御します。 この AXI4-Lite スレーブ インターフェイスは、 シングル ビート読み出し /書き込みデータ転送をサポート します。 バース ト転送はサポート しません。

• VPHY Controller コア ステータス側帯波

VPHY Controller コア ステータス側帯波インターフェイスは、 リ ンク ク ロ ッ ク ロ ッ ク (ビッ ト 0) およびビデオ ク ロ ッ ク ロ ッ ク (ビッ ト 1) ステータス ビッ ト を伝達する 2 ビッ ト AXI4-Stream スレーブ バスです。

• 3 つの HDMI ス ト リーム

HDMI ス ト リーム インターフェイスは、 VPHY Controller コアの ト ランス ミ ッ ター側に接続される 40 ビッ ト AXI4-Stream マスター バスです。

HDMI_TX_SS の内部ロジッ クは固定されており、 修正や改変はできません。 このサブシステムの内部ロジッ クに影響を与える、 ユーザーが設定可能な 2 つのパラ メーターがあ り ます。 これらのパラ メーターは、 AXI4-Stream 出力の 1 ク ロ ックあた りのピクセル数と、 1 コンポーネン ト あた りの最大ビッ ト数です。 リ ファレンス デザインでは、 これらのパラ メーターはそれぞれ 2 と 12 に設定されます。

HDMI_TX_SS は、 プロセッサ コアが CPU インターフェイスを介して設定する選択済みビデオ フォーマッ トに基づいて、ビデオ ス ト リームとオーディオ ス ト リームを HDMI ス ト リームに変換します。 このサブシステムは、 変換された HDMI ス ト リームを VPHY Controller コアに送信します。 VPHY Controller コアは、 このデータを、 HDMI ケーブルを介して HDMI シンクに送信される電気信号に変換します。

HDMI_TX_SS は、 HDCP 1.4、 HDCP 2.2、 または両方のプロ ト コルをサブシステムの一部と して有効にできます。 リ ファレンス デザインでは両方の HDCP プロ ト コルがインスタンシエート され、 どちらのプロ ト コルをアクティブにするかは設計者が選択できます。 HDCP が有効な場合、 ト ランス ミ ッ ターは、 ビデオ パケッ ト、 オーディオ パケッ ト、 および補助パケッ ト を暗号化できます。

wxgap60 DRU

wxga+p60

uxgap60 2(2)

wuxgap60

wsxgap60

注記 :1. このフォーマッ トは、 HDMI 2.0 の最大ライン レート を超えるためサポート されません。

2. このフォーマッ トは、 送信についてはサポート されていますが、 レシーバーでは現在のと ころサポート されていません。

表 5 : QPLLL による RGB および YCbCr 4:4:4 ビデオ フォーマッ トのサポート (続き)

解像度ピクセルあたりのビッ ト数

24 30 36 48

Page 10: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 10japan.xilinx.com

詳細は、 『LogiCORE IP HDMI 1.4/2.0 Transmitter Subsystem 製品ガイ ド』 (PG235) [参照 3] を参照してください。

重要 : HDMI 1.4/2.0 Transmitter Subsystem は、 ネイティブ ビデオ インターフェイスをサポートするよ うにコンフ ィギュレーシ ョ ンできます。 このアプリ ケーシ ョ ン ノートでは、 このコンフ ィギュレーシ ョ ンについて説明していません。 詳細は、 『LogiCORE IP HDMI 1.4/2.0 Transmitter Subsystem 製品ガイ ド』 (PG235) [参照 3] を参照してください。

HDMI Receiver Subsystem

HDMI_RX_SS は、 次の AXI インターフェイスを備えています。

• ビデオ

ビデオ インターフェイスは AXI4-Stream マスター バスです。 1 ク ロ ッ クあた り 1 ピクセル、 2 ピクセル、 または 4 ピクセルを伝達し、 1 コンポーネン ト あた り 8、 10、 12、 16 ビッ ト をサポート します。 このインターフェイスは、 『Vivado Design Suite : AXI リ ファレンス ガイ ド』 (UG1037) [参照 7] の 「ビデオ IP : AXI 機能の導入」 で定義しているビデオ プロ トコルを使用します。

• オーディオ

オーディオ インターフェイスは 32 ビッ ト AXI4-Stream マスター バスです。 このサブシステムは、 複数チャネル (最大 8 チャネル) の非圧縮オーディオ データを伝送します。

• CPU

CPU インターフェイスは AXI4-Lite バス インターフェイスです。 このインターフェイスを介して、 MicroBlaze などのプロセッサはレジスタにアクセスしてサブシステムを制御します。 この AXI4-Lite スレーブ インターフェイスは、 シングル ビート読み出し /書き込みデータ転送をサポート します。 バース ト転送はサポート しません。

• VPHY Controller コア ステータス側帯波

VPHY Controller コア ステータス側帯波インターフェイスは、 リ ンク ク ロ ッ ク ロ ッ ク (ビッ ト 0) およびビデオ ク ロ ッ ク ロ ッ ク (ビッ ト 1) ステータス ビッ ト を伝達する 2 ビッ ト AXI4-Stream スレーブ バスです。

重要 : HDMI 1.4/2.0 Receiver Subsystem は、 ネイティブ ビデオ インターフェイスをサポートするよ うにコンフ ィギュレーシ ョ ンできます。 このアプリ ケーシ ョ ン ノートでは、 このコンフ ィギュレーシ ョ ンについて説明していません。 詳細は、『LogiCORE IP HDMI 1.4/2.0 Receiver Subsystem 製品ガイ ド』 (PG236) [参照 4] を参照して ください。

• 3 つの HDMI ス ト リーム

HDMI ス ト リーム インターフェイスは、 VPHY Controller コアからの復元されたデータを伝達する 40 ビッ ト AXI4-Stream スレーブ バスです。

HDMI_RX_SS の内部ロジッ クは固定されており、 修正や改変はできません。 このサブシステムの内部ロジッ クに影響を与える、 ユーザーが設定可能な 3 つのパラ メーターがあ り ます。 これらのパラ メーターは、 AXI4-Stream 出力の 1 ク ロ ックあた りのピクセル数、 1 コンポーネン ト あたりの最大ビッ ト数、 EDID RAM 容量です。 リ ファレンス デザインでは、 これらのパラ メーターはそれぞれ 2、 12、 256 に設定されます。

HDMI_RX_SS は、 VPHY Controller コアからの HDMI ス ト リームからビデオ ス ト リームとオーディオ ス ト リームを抽出します。

HDMI_RX_SS は、 HDCP 1.4、 HDCP2.2、 または両方のプロ ト コルをサブシステムの一部と して有効にできます。 リ ファレンス デザインでは両方の HDCP プロ ト コルがインスタンシエート され、 どのプロ ト コルをアクティブにするかは設計者が選択できます。 HDCP が有効な場合、 レシーバーは、 ビデオ パケッ ト、 オーディオ パケッ ト、 および補助パケッ トを復号化できます。

詳細は、 『LogiCORE IP HDMI 1.4/2.0 Receiver Subsystem 製品ガイ ド』 (PG236) [参照 4] を参照して ください。

Page 11: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 11japan.xilinx.com

Utility Buffer

Utility Buffer コアは、 MGT 差動入力バッファー (IBUFDSGTE) と してコンフ ィギュレーシ ョ ンされ、 VPHY クワ ッ ドの外部の MGT 基準クロ ッ ク (すなわち、 GTNORTHREFCLK0 または GTSOUTHREFCLK1) を使用できるよ うにします。

Video Test Pattern Generator

TPG コアは、 ビデオ システムの立ち上げ、 評価、 デバッグ用のテス ト パターンを生成します。 リ ファレンス デザインでは、 このコアはパススルー モード とテス ト パターン生成モードの 2 つの主な動作モードを備えています。 パススルー モードでは、 入力 AXI4-Stream ビデオは変更されずに AXI4-Stream 出力インターフェイスに渡されます。 生成モードでは、 TPG コアは、 デモ目的専用のカラーバー パターンを生成するよ うに設定されます。

重要 : TPG コアは、 ビデオ システムの色、 品質、 エッジ、 動き性能のデバッグおよび評価用のさまざまなテス ト パターンを提供します。 TPG コアは AXI4-Stream ビデオ インターフェイスに挿入でき、 システム ビデオ信号をパススルーするか、 テス ト パターンを挿入するかはユーザーが選択できます。

重要 : Test Pattern Generator は 3D ビデオの生成に対応しないため、 3D ビデオ ス ト リームはパススルー モードでのみサポート されます。

リ ファレンス デザインでは、 TPG コアの次の機能を使用します。

• RGB、 YUV 4:4:4、 YUV 4:2:2、 YUV 4:2:0

• 1 カラー コンポーネン ト あた り 8、 10、 12、 16 ビッ トの入力および出力をサポート

• 64 x 64 から最大 4096 x 2160 までの空間解像度をサポート

詳細は、 『LogiCORE IP Video Test Pattern Generator 製品ガイ ド』 (PG103) [参照 6] を参照してください。

オーディオ用カスタム IP コア

リ ファレンス デザインには、 オーディオ デモ用の 2 つのカスタム IP コアが含まれています。 これらの IP コアは aud_pat_gen と hdmi_acr_ctrl ですが、 正式なザイ リ ンクス コアではあ り ません。 これらは、 HDMI_TX_SS および HDMI_RX_SS のオーディオ機能のデモ用と してのみ提供されます。 ザイ リ ンクスはこれらのコアをサポート していません。 オーディオ処理ソ リ ューシ ョ ンの実装や供給はユーザーが行う ものと されています。

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

HDMI リ ファレンス デザインは、 SDK の VPHY、 HDMI_TX_SS、 HDMI_RX_SS コアのビルト イン ド ラ イバーを使用します。 SDK は、 含まれるサブコアの内部機能および管理を抽象化するこ とで、 すぐに使える形でのソ リ ューシ ョ ンを提供します。 VPHY、 HDMI_TX_SS、 HDMI_RX_SS の各ド ライバーは、 アプリ ケーシ ョ ン層の定義に従って複数の IP コアまたはサブシステムのインスタンス と連携して動作するベアメ タル ド ラ イバーです。

VPHY Controller コア ド ラ イバーは、 マルチギガビッ ト ト ランシーバー モジュールおよびデジタル ク ロ ッ ク マネージャー モジュールの動的リ コンフ ィギュレーシ ョ ンを管理し、 FPGA 物理インターフェイス との間で HDMI ビデオのシームレスな送受信を可能にします。

HDMI_TX_SS サブシステム ド ラ イバーと HDMI_RX_SS サブシステム ド ラ イバーは、 実行時の入力/出力ス ト リームの構成に基づいて、 プロセッシング ユニッ ト を介してデータ /制御フローを動的に管理します。 内部では、 これらのド ライバーは、 含まれるサブコア (レイヤー 1) ド ラ イバーを利用して IP ハードウェア ブロ ッ クをコンフ ィギュレーシ ョ ンします。 レイヤー 2 (サブシステム) ド ラ イバーは、 各サブコアの機能セッ ト を抽象化したビューを提供します。

サブシステム ド ラ イバーはアクティブ ド ラ イバーではなく、 アプリ ケーシ ョ ン ソフ ト ウェアを利用して、 提供された API を用いてアクティブ ド ラ イバーを設定します。 アプ リ ケーシ ョ ン ソフ ト ウェアは、 システムの外部入力を監視し、入力/出力ス ト リーム プロパティの変更を (提供された API を介して) サブシステムに伝達し、 サブシステムの自動リ コンフ ィギュレーシ ョ ン ルーチンを ト リガーします。 アプリ ケーシ ョ ン ソフ ト ウェアは、 HDMI TX アプリ ケーシ ョ ンと RX アプリ ケーシ ョ ンがボンディング モードになっている場合を除いて、 これらのアプリ ケーシ ョ ンを個別に管理します。ボンディング モードでは、 HDMI_TX_SS と HDMI_RX_SS は同じ GT PLL を共有します。

Page 12: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 12japan.xilinx.com

図 4 にメ イン プログラム フローを示します。実行時に、 ソフ ト ウェア アプリ ケーシ ョ ンはいくつかの IP コアを初期化してアクティブにします。 IP コアおよびサブシステムの初期化では、 HDMI_TX_SS、 HDMI_RX_SS、 VPHY Controller、HDCP の各 IP コアのコンフ ィギュレーシ ョ ンの初期化、 割り込みハンド ラーの接続、 API コールバッ ク関数を実行します。 次に、 カラー バーの送信が開始されます。 このプロセスは、 TX ビデオ フォーマッ ト変更フローを ト リガーするクロ ッ ク ジェネレーターの設定によって制限されます。

HDMI RX インターフェイス上でフル HDMI RX ケーブルが検出される と、 ただちに RX ビデオ フォーマッ ト変更フローが ト リガーされます。 RX が入力ビデオ フォーマッ トにロ ッ ク される と、 アプリ ケーシ ョ ンは HDMI RX ビデオ プロパティを HDMI TX にコピーし、 TX ビデオ フォーマッ ト変更フローでパススルー モードに移行します。

パススルー モードでは、 HDMI RX ケーブルを外すか、 または UART メニューでカラー バーを選択する ( 「C」 を押す) ことによ り、 アプリ ケーシ ョ ンを強制的に TX 専用 (カラー バー ) モードに移行させるこ とができます。 また、 HDMI RX ケーブルを接続するか、 またはアプリ ケーシ ョ ンで 「P」 を押すこ とによ り、 いつでも強制的にパススルー モードにできます。

HDMI TX/RX Subsystem ド ラ イバーと VPHY ド ラ イバーが提供する メカニズムを使用して、 アプリ ケーシ ョ ンは、 割り込みコンテキス ト内で呼び出されるユーザー定義の関数を登録します。

X-Ref Target - Figure 4

図 4 : メイン プログラム フロー

START

IP and Subsystem Initialization

Enable Colorbar Transmission

(TX Only Flow)

RX Cable Connected?

RX Video Format Change Flow

RX Locked?

Copy RX Properties to TX(Pass-Through Mode)

TX Video Format Change Flow

RX Cable Disconnected?

Switch to Colorbar Mode?

Force Pass-Through?

Y

N

N

A

A

C

B

N

B

C

Y

Y

Y

N

N

CY

Page 13: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 13japan.xilinx.com

次のいくつかのセクシ ョ ンでは、 各種フローを示すと共に、 それぞれのコールバッ ク関数について簡単に説明します。 付属のハンド ラーを使用してこれらのコールバッ ク関数をユーザーのアプリ ケーシ ョ ン コード内に登録する方法の詳細は、次の製品ガイ ドを参照して ください。 資料には、 カスタマイズしたアプリ ケーシ ョ ンにド ライバー API を組み込む手順の詳細なフローも記載されています。

• 『LogiCORE IP Video PHY Controller 製品ガイ ド』 (PG230) [参照 5]

• 『LogiCORE IP HDMI 1.4/2.0 Transmitter Subsystem 製品ガイ ド』 (PG235) [参照 3]

• 『LogiCORE IP HDMI 1.4/2.0 Receiver Subsystem 製品ガイ ド』 (PG236) [参照 4]

TX ビデオ フォーマッ ト変更フロー

TX ビデオ フォーマッ ト変更フローは、 VPHY Controller コアのクロ ッ ク検出器モジュールからの割り込みを用い、 TX TMDS ク ロ ッ ク周波数を変更するこ とで ト リガーされます。 VPHY Controller コア ド ラ イバーは、 周波数イベン ト をデバウンシングした後、伝送される新しいビデオ フォーマッ トに基づいて GT TX のリ コンフ ィギュレーシ ョ ンを開始します。GT のリ コンフ ィギュレーシ ョ ンが完了する と、 vid_phy_status_sb_tx_tdata の 0 ビッ トがアサート されます。

次に、 VPHY Controller コア ド ラ イバーは、 ビデオ ク ロ ッ ク と TX TMDS ク ロ ッ クの生成に使用される内部 TX デジタル ク ロ ッ ク マネージャー (DCM) をコンフ ィギュレーシ ョ ンします。 DCM のリ コンフ ィギュレーシ ョ ンが完了する と、vid_phy_status_sb_tx_tdata の 1 ビッ トがアサート されます。

VPHY Controller コアのリ コンフ ィギュレーシ ョ ンの完了後、 HDMI_TX_SS のリ コンフ ィギュレーシ ョ ンが実行されます。 HDMI_TX_SS のリ コンフ ィギュレーシ ョ ンはサブシステム ド ラ イバーによって処理されます。 サブシステム ド ラ イバーがリ コンフ ィギュレーシ ョ ン プロセスの実行を終了する と、 アプリ ケーシ ョ ン内の TxStreamUpCallback が実行されます。

HDMI TX の処理全体を通して、 VPHY Controller コア ド ラ イバーと HDMI_TX_SS ド ラ イバーはいくつかの API コールバッ ク フッ クを実行します。 ソフ ト ウェア アプリ ケーシ ョ ン内の関数呼び出しに加えて、 関数呼び出しを挿入または追加する場合は、 必要に応じてこれらのコールバッ クを利用できます。

VPHY Controller コア ド ラ イバーの TX コールバッ クには、 次のものがあ り ます。

• VPHY Controller コア HDMI TX Init コールバッ ク

このコールバッ クは、 VPHY Controller コア ド ラ イバーでは XVPHY_HDMI_HANDLER_TXINIT という名前で、 ソフ トウェア アプリ ケーシ ョ ンで VphyHdmiTxInitCallback 関数にフッ ク されます。 これは、 HDMI TX の TMDS ク ロ ッ ク周波数が変更されるたびに実行または呼び出されます。 ソフ ト ウェア アプリ ケーシ ョ ンでは、 フッ クの中で XV_HdmiTxSs_RefClockChangeInit HDMI_TX_SS API が呼び出され、 HDMI_TX_SS の設定を リセッ トおよびク リアします。

• VPHY Controller コア HDMI TX Ready コールバッ ク

このコールバッ クは、 VPHY Controller コア ド ラ イバーでは XVPHY_HDMI_HANDLER_TXREADY という名前で、 ソフ トウェア アプリ ケーシ ョ ンで VphyHdmiTxReadyCallback 関数にフッ ク されます。 これは、 VPHY Controller コア ド ラ イバーが TX ビデオ フォーマッ トの変更に必要な初期化ルーチンを完了するたびに実行または呼び出されます。 フッ クには現在は空の関数が含まれています。

HDMI_TX_SS ド ライバーのコールバック

HDMI_TX_SS ド ラ イバーのコールバッ クには、 次のものがあ り ます。

• HDMI_TX_SS TX Connect コールバッ ク

このコールバッ クは、 HDMI_TX_SS ド ラ イバーでは XV_HDMITXSS_HANDLER_CONNECT という名前で、 ソフ ト ウェア アプリ ケーシ ョ ンで TxConnectCallback 関数にフッ ク されます。 これは、 HDMI TX ケーブルが接続または切断されるたびに実行または呼び出されます。 TxConnectCallback ソフ ト ウェア フッ クは、 XV_HdmiTxSs_DetectHdmi20 API を介して、接続された HDMI シンクの HDMI 2.0 対応の有無を検出します。 また、 このソフ ト ウェア フッ クは、 ケーブルが接続された場合は差動入力クロ ッ ク バッファーを有効にし、 ケーブルが切断された場合は無効にします。

• HDMI_TX_SS Vsync コールバッ ク

このコールバッ クは、 HDMI_TX_SS ド ラ イバーでは XV_HDMITXSS_HANDLER_VS という名前で、 ソフ ト ウェア アプリケーシ ョ ンで TxVsCallback 関数にフッ ク されます。 これは、 HDMI ス ト リームで垂直同期が検出されるたびに実行または呼び出されます。 TxVsCallback ソフ ト ウェア フッ クは、 TX 専用モードでは NULL 補助情報フレームの送信を開始します。

Page 14: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 14japan.xilinx.com

• HDMI_TX_SS Stream Up コールバッ ク

このコールバッ クは、 HDMI_TX_SS ド ラ イバーでは XV_HDMITXSS_HANDLER_STREAM_UP とい う名前で、 ソフ トウェア アプリ ケーシ ョ ンで TxStreamUpCallback 関数にフッ ク されます。 これは、 HDMI_TX_SS がビデオ レディ (TX DCM Lock) 信号のアサート を検出したと きに実行または呼び出されます。 TxStreamUpCallback ソフ ト ウェア フッ クは、オーバーサンプリ ング レートやビデオ プロパティの設定など、 HDMI_TX_SS 内でビデオ ス ト リームの初期化を実行します。 また、 TX TMDS ク ロ ッ クを有効にし、 FMC カードのリ タイマー チップ内で TX ライン レート をプログラムします。

• HDMI_TX_SS Stream Down コールバッ ク

このコールバッ クは、 HDMI_TX_SS ド ラ イバーでは XV_HDMITXSS_HANDLER_STREAM_DOWN という名前で、 ソフト ウェア アプリ ケーシ ョ ンでは使用されません。

• HDMI_TX_SS HDCP Authenticated コールバッ ク

このコールバッ クは、 HDMI_TX_SS ド ラ イバーでは XV_HDMITXSS_HANDLER_HDCP_AUTHENTICATE とい う名前で、HDCP 1.4 または HDCP 2.2 ト ランス ミ ッ ターが認証済みステートに移行したと きに呼び出されます。 ソフ ト ウェア アプリ ケーシ ョ ンは、 このコールバッ クを使用して暗号化を有効にし、 認証が正常に完了したこ とを示すメ ッセージをターミナルに出力します。

RX ビデオ フォーマッ ト変更フロー

RX ビデオ フォーマッ ト変更フローは、 VPHY Controller コア内のクロ ッ ク検出器モジュールからの割り込みを用い、 RX TMDS ク ロ ッ ク周波数を変更するこ とで ト リガーされます。 VPHY Controller コア ド ラ イバーは、 周波数イベン ト をデバウンスした後、伝送される新しいビデオ フォーマッ トに基づいて GT RX のリ コンフ ィギュレーシ ョ ンを開始します。 GT のリ コンフ ィギュレーシ ョ ンが完了する と、 vid_phy_status_sb_rx_tdata の 0 ビッ トがアサート されます。

HDMI_RX_SS リ コンフ ィギュレーシ ョ ンは、 vid_phy_status_sb_rx_tdata の 0 ビッ トのアサート を検出し、 新しいビデオ フォーマッ ト用の初期化を開始します。 この初期化の中で XV_HDMIRX_STATE_STREAM_INIT コールバッ クが呼び出され、 VPHY Controller コアの内部で RX DCM をコンフ ィギュレーシ ョ ンします。 次に、 VPHY Controller コア ド ラ イバーは、 ビデオ ク ロ ッ ク と RX TMDS ク ロ ッ クの生成に使用される内部 RX DCM をコンフ ィギュレーシ ョ ンします。 DCM のリ コンフ ィギュレーシ ョ ンが完了する と、 vid_phy_status_sb_rx_tdata の 1 ビッ トがアサート されます。 HDMI_RX_SS はこのイベン ト を検出し、 RxStreamUpCallback を呼び出して リ コンフ ィギュレーシ ョ ン プロセスを完了します。

HDMI RX の処理全体を通して、 VPHY Controller コア ド ラ イバーと HDMI_RX_SS ド ラ イバーはいくつかの API コールバッ ク フッ クを実行します。 ソフ ト ウェア アプリ ケーシ ョ ン内の関数呼び出しに加えて、 関数呼び出しを挿入または追加する場合は、 必要に応じてこれらのコールバッ クを利用できます。

VPHY Controller コア ド ライバーの RX コールバック

VPHY Controller コア ド ラ イバーの RX コールバッ クには、 次のものがあ り ます。

• VPHY Controller コア HDMI RX Init コールバッ ク

このコールバッ クは、 VPHY Controller コア ド ラ イバーでは XVPHY_HDMI_HANDLER_RXINIT とい う名前で、 ソフ トウェア アプリ ケーシ ョ ンで VphyHdmiRxInitCallback 関数にフッ ク されます。 これは、 HDMI RX の TMDS ク ロ ッ ク周波数が変更されるたびに実行または呼び出されます。 ソフ ト ウェア アプリ ケーシ ョ ンでは、 フッ クの中で XV_HdmiTxSs_RefClockChangeInit HDMI_RX_SS API が呼び出され、 新しい TMDS ク ロ ッ ク比を取得します。

• VPHY Controller コア HDMI RX Ready コールバッ ク

このコールバッ クは、 VPHY Controller コア ド ラ イバーでは XVPHY_HDMI_HANDLER_RXREADY という名前で、 ソフト ウェア アプリ ケーシ ョ ンで VphyHdmiRxReadyCallback 関数にフッ ク されます。 これは、 VPHY Controller コア ド ラ イバーが RX ビデオ フォーマッ トの変更に必要な初期化ルーチンを完了するたびに実行または呼び出されます。 このフッ クは、 HDMI_RX_SS 内のクロ ッ クおよびライン レート パラ メーターを更新します。

Page 15: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 15japan.xilinx.com

HDMI_RX_SS ド ライバーのコールバック

HDMI_RX_SS ド ラ イバーのコールバッ クには、 次のものがあ り ます。

• HDMI_RX_SS RX Connect コールバッ ク

このコールバッ クは、 HDMI_RX_SS ド ラ イバーでは XV_HDMIRXSS_HANDLER_CONNECT という名前で、 ソフ ト ウェア アプリ ケーシ ョ ンで RxConnectCallback 関数にフッ ク されます。 これは、 HDMI RX ケーブルが接続または切断されるたびに実行または呼び出されます。 RxConnectCallback ソフ ト ウェア フッ クは、 ケーブルが接続された場合は差動入力クロ ッ ク バッファーを有効にし、 ケーブルが切断された場合は無効にします。

• HDMI_RX_SS Auxiliary コールバッ ク

このコールバッ クは、 HDMI_RX_SS ド ラ イバーでは XV_HDMIRXSS_HANDLER_AUX という名前で、 ソフ ト ウェア アプリ ケーシ ョ ンで RxAuxCallback 関数にフッ ク されます。 これは、 HDMI RX ス ト リームで補助パケッ トが検出されるたびに実行または呼び出されます。 RxAuxCallback ソフ ト ウェア フッ クは、 パススルー モードでは補助情報フレームの再送信を開始します。

• HDMI_RX_SS Audio コールバッ ク

このコールバッ クは、 HDMI_RX_SS ド ラ イバーでは XV_HDMIRXSS_HANDLER_AUD という名前で、 ソフ ト ウェア アプリ ケーシ ョ ンで RxAudCallback 関数にフッ ク されます。 これは、 HDMI RX ス ト リームでオーディオ パケッ トが検出されるたびに実行または呼び出されます。 RxAudCallback ソフ ト ウェア フッ クは、 パススルー モードではオーディオ パケットの再送信を開始します。

• HDMI_RX_SS Link Status コールバッ ク

このコールバッ クは、 HDMI_RX_SS ド ラ イバーでは XV_HDMIRXSS_HANDLER_LNKSTA という名前で、 ソフ ト ウェア アプリ ケーシ ョ ンで RxLnkStaCallback 関数にフッ ク されます。 これは、 HDMI RX ス ト リームで変化が検出されるたびに実行または呼び出されます。 RxLnkStaCallback ソフ ト ウェア フッ クは、 RX リ ンク エラー ステータスが 255 カウン トに達したと き、 (VPHY Controller コア内の) RX PLL リセッ ト パルスを発行します。

• HDMI_RX_SS DDC コールバッ ク

このコールバッ クは、 HDMI_RX_SS ド ラ イバーでは XV_HDMITXSS_HANDLER_DDC という名前で、 ソフ ト ウェア アプリ ケーシ ョ ンでは使用されません。

• HDMI_RX_SS Stream Down コールバッ ク

このコールバッ クは、 HDMI_RX_SS ド ラ イバーでは XV_HDMIRXSS_HANDLER_STREAM_DOWN という名前で、 ソフト ウェア アプリ ケーシ ョ ンでは IsPassThrough フラグをク リ アして TX 専用モードを開始するために使用されます。

• HDMI_RX_SS Stream Init コールバッ ク

このコールバッ クは、 HDMI_RX_SS ド ラ イバーでは XV_HDMIRXSS_HANDLER_STREAM_INIT という名前で、 ソフ トウェア アプリ ケーシ ョ ンでは入力 HDMI RX ス ト リームに基づいて VPHY Controller コア内で RX DCM のリ コンフ ィギュレーシ ョ ンを開始するために使用されます。

• HDMI_RX_SS Stream Up コールバッ ク

このコールバッ クは、 HDMI_RX_SS ド ラ イバーでは XV_HDMIRXSS_HANDLER_STREAM_UP という名前で、 ソフ トウェア アプリ ケーシ ョ ンで RxStreamUpCallback 関数にフッ ク されます。 これは、 HDMI_RX_SS がビデオ レディ (RX DCM Lock) 信号のアサート を検出したと きに実行または呼び出されます。 RxStreamUpCallback ソフ ト ウェア フッ クは、HDMI RX ス ト リームのパラ メーターを HDMI_TX_SS にコピーして、 パススルー モードを準備します。

• HDMI_RX_SS HDCP Authenticated コールバッ ク

このコールバッ クは、 HDMI_RX_SS ド ラ イバーでは XV_HDMIRXSS_HANDLER_HDCP_AUTHENTICATE という名前で、HDCP 1.4 または HDCP 2.2 レシーバーが認証済みステートに移行したと きに呼び出されます。 ソフ ト ウェア アプリ ケーシ ョ ンは、 このコールバッ クを使用して、 認証が正常に完了したこ とを示すメ ッセージをターミナルに出力します。

Page 16: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 16japan.xilinx.com

ユーザー定義情報フレームの送信

ユーザー定義情報フレームは、 HDMI_TX_SS ソフ ト ウェア API を使用して送信できます。 情報フレーム API 関数呼び出しを送信する前に、 4 バイ ト ヘッダーと 32 バイ ト データ (ペイロード ) から成る情報フレームのデータ構造が構築されている必要があ り ます。 また、 HDMI シンクが情報フレームをデコードできるよ うに、 フレームの CRC を計算して適切な位置に配置しておく必要があ り ます。

情報フレームのデータ構造の準備ができたら、 API 関数を呼び出して送信できます。

void XV_HdmiTxSs_SendGenericAuxInfoframe(XV_HdmiTxSs *InstancePtr, void *AuxPtr);

情報フレームは、通常は垂直同期割り込みイベン トが発生したと きに送信されます。詳細は、 『LogiCORE IP HDMI 1.4/2.0 Transmitter Subsystem 製品ガイ ド』 (PG235) [参照 3] を参照してください。

HDCP 認証

HDCP プロ ト コルは、 認証とキー交換のプロセスによって ト ランス ミ ッ ターとレシーバー間でセキュアなセッシ ョ ンを確立します。 HDMI サブシステム ド ラ イバーは、 HDCP 認証プロ ト コルの実装を担い、 保護方式の選択と認証の開始に使用される外部ユーザー API を提供します。 このセクシ ョ ンでは、 リ ファレンス デザインのシステム ソフ ト ウェアが HDCP 対応 HDMI サブシステム ド ラ イバーを初期化し、 使用する方法について説明します。

HDCP ト ランスミ ッ ターの認証

図 5 に HDCP ト ランス ミ ッ ターの認証フローを示します。 リ ファレンス デザイン アプリ ケーシ ョ ンが起動する と、 最初に HDCP が初期化され、 プロダクシ ョ ン キーがロード されます。 初期化後にポーリ ング プロセスが開始され、 HDCP ステート マシンが実行されます。 ト ランス ミ ッ ターは、 レシーバーが存在するこ とを知らせる HPD 割り込みイベン ト (HPD イベン ト ) を待機します。 ユーザー入力イベン ト (保護イベン ト ) によって、 ト ランス ミ ッ ターの保護方式を HDCP 1.4 または HDCP 2.2 に設定する必要があ り ます。 HPD イベン ト と保護イベン トが発生した後に限り、 システムは認証を開始できます。 ト ランス ミ ッ ターは認証要求ユーザー入力 (認証イベン ト ) を待機し、 そのイベン トの発生後にレシーバーによる認証を試みます。 認証が成功した場合、 システムは自動的に暗号化を有効にします (暗号化イベン ト )。 ユーザーも暗号化イベン ト を使用して暗号化を有効または無効にできます。 一般的に、 イベン トは互いに非同期であ り、 任意の順序で発生する可能性があり ます。 この場合に備えて、 システムはフォールトからの回復メカニズムを内蔵しています。

X-Ref Target - Figure 5

図 5 : HDCP ト ランスミ ッ ターの認証フロー

Start Application

Initialize

Start Poll

Wait

FALSE

Reset/Enable

TRUE

Wait

HPD Event

Authenticate Event

Authenticate

FAILURE

FALSE

TRUE

A

A

WaitEncrypt Event

Encrypted

TRUE

Un-Encrypted

FALSE

B

Success

B

Protect Event

Page 17: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 17japan.xilinx.com

HDCP レシーバーの認証

図 6 に HDCP レシーバーの認証フローを示します。 レシーバーが初期化され、 ポーリ ング プロセスが開始されてレシーバーのステート マシンが実行された後、 システムは、 ト ランス ミ ッターの存在を知らせるケーブル検出割り込みイベン ト (ケーブル イベン ト ) を待機します。 ト ランス ミ ッターと同様に、 ユーザーは保護方式を HDCP 1.4 または HDCP 2.2 に設定する必要があり ます (保護イベン ト )。 ケーブル検出イベン ト と保護イベン トが発生した後に限り、 レシーバーはト ランスミ ッ ターからの認証要求の処理を開始できます。 HDCP ト ランス ミ ッ ターは、 いつでも新しい認証要求を開始できます。

HDCP キーの格納と取得

HDCP 1.4 および HDCP 2.2 キーは、 スタンドアロンのキー ユーティ リ ティ アプリ ケーシ ョ ンを使用して、 オンボード HDMI 2.0 FMC カードの EEPROM に格納されます。 キー ユーティ リ ティ アプリ ケーシ ョ ンを実行する必要があるのは一度だけです。 それ以降、 暗号化キーは、 システム アプリ ケーシ ョ ンで使用できるよ う EEPROM に永続的に常駐します。

HDCP リ ファレンス デザインには、 出荷時に HDCP キーは付属していません。 Digital Content Protection LLC (DCP) から HDCP キーを取得し、 キー ユーティ リ ティ アプリ ケーシ ョ ンのソース ファ イルをプロダクシ ョ ン キーでアップデートする必要があ り ます。 プロダクシ ョ ン キーがロード されていないと、 認証は失敗します。 HDCP キーをプログラムする手順は、 「HDCP キーのプログラ ミ ング」 を参照して ください。

X-Ref Target - Figure 6

図 6 : HDCP レシーバーの認証フロー

X-Ref Target - Figure 7

図 7 : EEPROM への HDCP キーの格納

Initialize

Start Poll

Wait

FALSE

TRUE

Cable Event

Start Application

Reset/Enable

Authenticate

A

A

Protect Event

MICROBLAZEIICEEPROM

(HDMI FMC)

Page 18: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 18japan.xilinx.com

HDCP リ ファレンス デザイン アプリ ケーシ ョ ンが起動する と、 ブート アップ プロセス中に秘密パスワードの入力プロンプ トが表示されます。 このプロセスでは、 暗号ハッシュ関数が適用され、 復号化に使用される AES 暗号キーが生成されます。 図 8 に、 秘密パスワードを入力した後のイベン ト シーケンスを示します。 パスワードがわからない場合や誤ったパスワードを入力した場合も、 リ ファレンス デザインは HDMI 機能をサポート しますが、 HDCP 機能は無効になり ます。

EEPROM から HDCP キーを取得した後、 HDCP キーは、 HDMI サブシステム ド ラ イバーの次のキー タイプに割り当てられます。

• XV_HDMITXSS_KEY_HDCP22_LC128 - HDCP 2.2 ト ランス ミ ッ ターのグローバル定数XV_HDMIRXSS_KEY_HDCP22_LC128 - HDCP 2.2 レシーバーのグローバル定数

• XV_HDMIRXSS_KEY_HDCP22_PRIVATE - HDCP 2.2 レシーバーの認証証明および秘密キー

• XV_HDMITXSS_KEY_HDCP14 - HDCP 1.4 ト ランス ミ ッ ター キー

• XV_HDMIRXSS_KEY_HDCP14 - HDCP 1.4 レシーバー キー

X-Ref Target - Figure 8

図 8 : HDCP キーについての説明

START

READHDCP 2.2 LC128

DECRYPTAES256

ENTERPASSWORD

SETHDCP 2.2 DRIVER

LC128

READHDCP 2.2 CERTIFICATE

DECRYPTAES256

SETHDCP 2.2 DRIVER

CERTIFICATE & LC128

HDCP 1.4

HDCP 1.4

READHDCP 1.4 TX KEYS

DECRYPTAES256

STOREKEYS IN

TX KEY MANAGER

READHDCP 1.4 RX KEYS

DECRYPTAES256

STOREKEYS IN

RX KEY MANAGER

END

Page 19: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

リファレンス デザイン

XAPP1287 (v1.2) 2016 年 7 月 18 日 19japan.xilinx.com

リファレンス デザインのツール フローおよび検証

このアプリ ケーシ ョ ン ノートの リ ファレンス デザイン ファ イルは、 ザイ リ ンクスのウェブサイ トからダウンロードできます。 表 6 に、 リ ファレンス デザインで使用されるツール フローおよび検証手順を示します。

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

パラメーター 説明

全般

開発者 Gilbert Magnaye、 Yunhai Qiao

ターゲッ ト デバイス Kintex-7 FPGA

ソース コードの提供 なし

ソース コードの形式 (提供される場合) N/A

既存のザイ リ ンクス アプリ ケーシ ョ ン ノート /リ ファレンス デザイン、 サードパーティ、 Vivado ツールからデザインへのコード /IP の使用

Vivado IP インテグレーター ツールからコアを生成

シミ ュレーシ ョ ン

論理シ ミ ュレーシ ョ ンの実施 N/A

タイ ミ ング シ ミ ュレーシ ョ ンの実施 N/A

論理シ ミ ュレーシ ョ ンおよびタイ ミ ング シ ミ ュレーシ ョ ン用テス トベンチの提供

N/A

テス トベンチの形式 N/A

使用したシ ミ ュレーター /バージ ョ ン N/A

SPICE/IBIS シ ミ ュレーシ ョ ン N/A

インプリ メンテーシ ョ ン

使用した合成ツール/バージ ョ ン Vivado 2016.2 合成

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

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

ハードウェア検証

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

使用したプラ ッ ト フォーム ザイ リ ンクス Kintex-7 FPGA KC705 評価キッ ト

Page 20: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

必要な環境

XAPP1287 (v1.2) 2016 年 7 月 18 日 20japan.xilinx.com

必要な環境

ハードウェア

リ ファレンス システムのハード ウェア要件は次のとおりです。

• ザイ リ ンクス Kintex-7 FPGA KC705 評価キッ ト

• inrevium HDMI 2.0 ドーター カード (TB-FMCH-HDMI4K)

• 2 本の HDMI ケーブル

• HDMI 2.0 ビデオ ソース (例 : DVD プレイヤー )

• HDMI 2.0 シンク (例 : 超高精細 (UHD) TV セッ ト )

ソフ トウェア

リ ファレンス システムのソフ ト ウェア要件は次のとおりです。

• Vivado Design Suite 2016.2

• ソフ ト ウェア開発キッ ト (SDK) 2016.2

• ソフ ト ウェア ターミナル (例 : Tera Term、 ハイパーターミナル、 または PuTTY)

リファレンス デザイン ファイル

図 9 に、 リ ファレンス デザインのディ レク ト リ構造を示します。

重要 : リ ファレンス デザインはルート ディ レク ト リの近くに展開してください。

X-Ref Target - Figure 9

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

Page 21: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

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

XAPP1287 (v1.2) 2016 年 7 月 18 日 21japan.xilinx.com

all.tcl : Vivado Tcl コマンド プロンプ トで実行される メ イン Tcl ファ イルです。

design : IPI TCL、 最上位ラ ッパー、 XDC などの kc705 固有のデザイン ファ イルを格納します。

° hdmi_example_kc705.tcl : HDMI IPI デザイン構築用の Tcl。

° hdmi_example_kc705.xdc : HDMI リ ファレンス デザインの最上位制約ファイル。

project : Vivado プロジェク トおよび生成済みファイルのコンテナー フォルダーです。

ready_to_download : このフォルダーは、 システムのビッ ト ファ イルと ELF を格納します。

° hdmi_example_kc705_wrapper.bit : リ ファレンス デザインのプリ コンパイル済みビッ ト ファ イル。

repos : ハードウェア リ ポジ ト リ と ソフ ト ウェア リ ポジ ト リ を格納します。

\hw_repos : このフォルダーは、 カスタム IP コアのハードウェア リ ポジ ト リです。

\sw_repos : このフォルダーは、 ソフ ト ウェア リ ポジ ト リ (空) です。

sdk : ソフ ト ウェア アプリ ケーシ ョ ン ファ イルを格納します。

ライセンス

VPHY Controller、 HDMI 1.4/2.0 Transmitter Subsystem、 HDMI 1.4/2.0 Receiver Subsystem、 および TPG コアのライセンスがインス トールされているこ とを確認して ください。

注記 : ザイ リ ンクスは、 アクティブな Digital Content Protection (DCP) ライセンスのアダプターにのみ、 HDCP IP コアのライセンスを発行します。

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

このセクシ ョ ンでは、 HDMI リ ファレンス デザインのセッ ト アップ、 実行、 結果について説明します。

ボードのセッ トアップ

サンプル デザインは、 Kintex-7 KC705 開発ボードをターゲッ ト と しています。 サンプル デザインは、 inrevium TB-FMCH-HDMI4K FMC カードをサポート しています。 図 10 に、 ボードのセッ ト アップを示します。

Page 22: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

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

XAPP1287 (v1.2) 2016 年 7 月 18 日 22japan.xilinx.com

ハードウェアのセッ トアップ手順

1. USB ケーブルをホス ト PC から USB JTAG ポートに接続します。適切なデバイス ド ラ イバーがインス トールされているこ とを確認します。

2. 別の USB ケーブルをホス ト PC から USB UART ポートに接続します。「ハード ウェア要件」 に記載された USB-UART ド ラ イバーがインス トールされているこ とを確認します。

3. TB-FMCH-HDMI4K ボードを KC705 ボードの HPC-FMC に接続します。

4. HDMI TX ポート を HDMI 1.4/2.0 シンクまたはモニター (超高精細 (UHD) TV セッ ト など) に接続します。

5. HDMI RX ポート を HDMI 1.4/2.0 ソース (DVD プレイヤーなど) に接続します。

6. KC705 ボードを電源スロ ッ ト J49 に接続します。

7. KC705 ボードの電源をオンにします。

8. ホス ト PC 上で、 次の設定でハイパーターミナルなどの端末プログラムを開始します。

° ボー レート : 115200

° データ ビッ ト : 8

° パリティ : None

° ス ト ップ ビッ ト : 1

° フロー制御 : None

X-Ref Target - Figure 10

図 10 : XAPP1287 HDMI リファレンス デザインのセッ トアップ

HDMI TX HDMI RX

FMC HDMI 2.0

RX VIDEO CLK

RX LINK CLK USER LEDS

POWER

TX LINK CLK TX VIDEO CLK

JTAG

USB UART

Page 23: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

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

XAPP1287 (v1.2) 2016 年 7 月 18 日 23japan.xilinx.com

次の表に、 このリ ファレンス デザインで使用されるオンボード LED を示します。

HDCP キーのプログラ ミング

このセクシ ョ ンでは、 キー ユーティ リ ティ アプリ ケーシ ョ ンを使用して、 HDCP キーを HDMI 2.0 FMC カードの EEPROM にプログラムする手順について説明します。 HDCP キーを FMC の EEPROM にプログラムする必要があるのは一度だけです。

1. [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [Vivado 2016.2] → [Vivado 2016.2 Tcl Shell] をク リ ッ ク して、 Xilinx System Debugger を起動します。

2. ザイ リ ンクスのコマンド シェル ウ ィンド ウで、 ready_to_download ディ レク ト リに変更します。

cd <unzip_dir>/<hdcp_key_design>/ready_to_download

3. Xilinx System Debugger (XSDB) ツールを起動します。

Vivado% xsdb

4. デバッグ ターゲッ トへの接続を確立します。

xsdb% connect

5. HDCP キーを FPGA にプログラムするためのビッ ト ス ト リームをダウンロード します。

xsdb% fpga -file hdcp_key.bit

6. XSDB コマンド プロンプ ト を終了します。

xsdb% exit

7. app_hdcp_key/src フォルダー内のファイル hdcp_key.c を開きます。

8. Hdcp22Lc128、 Hdcp22Key、 Hdcp14Key1、 および Hdcp14Key2 は HDCP キーを保持する配列であ り、 空の状態です。 これらの配列に、 取得した HDCP キーを入力します。 配列はビッグ エンディアンのバイ ト順で定義されます。

9. ファ イルを保存し、 デザインをコンパイルします。

10. デザインを実行します。

11. ターミナルに次の出力が表示されます。

HDCP Key EEPROM v1.0This tool encrypts and stores the HDCP 2.2 certificate andHDCP 1.4 keys into the EEPROM on the HDMI FMC boardEnter Password ->

12. HDCP キーは、 このパスワードを使用して暗号化されます。 同じパスワードが、 リ ファレンス デザイン内で HDCP キーの復号化に使用されます。

13. HDCP キーのプログラ ミ ングが完了する と、 アプリ ケーシ ョ ンは終了します。

表 7 : オンボード LED

LED 説明

0 HDMI TX Subsystem ロ ッ ク

1 使用しない

2 使用しない

3 使用しない

4 使用しない

5 使用しない

6 TX ク ロ ッ ク ハート ビート

7 RX ク ロ ッ ク ハート ビート

Page 24: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

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

XAPP1287 (v1.2) 2016 年 7 月 18 日 24japan.xilinx.com

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

次の手順に従って、 ready_for_download ディ レク ト リ内のファイルを使用してシステムを実行します。

1. [スタート ] → [すべてのプログラム] → [Xilinx Design Tools] → [Vivado 2016.2] → [Vivado 2016.2 Tcl Shell] をク リ ッ ク して、 Xilinx System Debugger を起動します。

2. ザイ リ ンクスのコマンド シェル ウ ィンド ウで、 ready_for_download ディ レク ト リに変更します。

Vivado% cd <unzip_dir>/kc705_hdmiss_..../ready_for_download

3. Xilinx System Debugger (xsdb) ツールを起動します。

Vivado% xsdb

4. デバッグ ターゲッ トへの接続を確立します。

xsdb% connect

5. ビッ ト ス ト リームを FPGA にダウンロード します。

xsdb% fpga -file hdmi_example_kc705_wrapper.bit

6. XSDB コマンド プロンプ ト を終了します。

xsdb% exit

重要 : FPGA のコンフ ィギュレーシ ョ ンが完了する と、 すぐにソフ ト ウェア アプリ ケーシ ョ ンの実行が開始します。 実行可能ファイル (.elf) は、 コンフ ィギュレーシ ョ ン ファ イル (download.bit) に埋め込まれています。

結果

このセクシ ョ ンでは、 リ ファレンス デザインの結果について説明します。

TX 専用モード

有効な HDMI ソースが HDMI RX ポートに接続されていない場合は、ビッ ト ス ト リームのダウンロードが完了した直後に TX 専用モードが開始されます。 TX 専用モードのハイパーターミナル画面には、 次の出力が表示されます。 起動時に、システム ソフ ト ウェアは、 キー ユーティ リ ティ アプリ ケーシ ョ ンが HDCP キーをロードする際に使用したパスワードの入力を要求します。 誤ったパスワードが入力された場合、 HDCP の機能は無効になり ます。 図 11 に、 HDMI シンクに表示されるカラー バー パターンを示します。

------------------------------------------ HDMI SS + VPhy Example v1.0 ------ (c) 2015, 2016 by Xilinx, Inc. ------------------------------------------Build Feb 1 2016 - 08:16:36---------------------------------------Before the HDCP functionality can be enabled,the application will load the encrypted HDCP keysfrom the HDMI FMC EEPROM.The HDCP keys are protected with a unique password.Please enter your password.Enter Password ->......Password is valid.Loading HDCP keys from EEPROM... doneEnabling HDCP functionality---------------------------------TX cable is connectedStarting colorbar

Page 25: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

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

XAPP1287 (v1.2) 2016 年 7 月 18 日 25japan.xilinx.com

------------------------ MAIN MENU ------------------------i - Info => Shows information about the HDMI RX stream, HDMI TX stream, GT transceivers and PLL settings.c - Colorbar => Displays the colorbar on the source output.r - Resolution => Change the video resolution of the colorbar.f - Frame rate => Change the frame rate of the colorbar.d - Color depth => Change the color depth of the colorbar.s - Color space => Change the color space of the colorbar.p - Pass-through => Passes the sink input to source output.l - GT PLL layout => Select GT transceiver PLL layout.z - GT log => Shows the GT transceiver log information.e - Edid => Display and set edid.a - Audio => Audio options.v - Video => Video pattern options.h - HDCP => Goto HDCP menu.Starting colorbarTX stream is up--------Colorbar : Color Format: RGB Color Depth: 8 Pixels Per Clock: 2 Mode: Progressive Frame Rate: 60Hz Resolution: 1920x1080@60Hz Pixel Clock: 148500000--------

Page 26: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

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

XAPP1287 (v1.2) 2016 年 7 月 18 日 26japan.xilinx.com

注記 : 図 11 では、 HDMI 2.0 シンクが低い解像度を拡大表示するよ うに設定されていないため、 カラー バーは 4K ディ スプレイ全体を占めていません。

パススルー モード

有効な HDMI ソースが HDMI RX ポートに接続されている場合は、 ビッ ト ス ト リームのダウンロードが完了した直後にパススルー モードが開始されます。 パススルー モードのハイパーターミナル画面には、 次の出力が表示されます。

--- HDMI SS + VPhy Example v1.0 ------ (c) 2015, 2016 by Xilinx, Inc. ------------------------------------------Build Feb 1 2016 - 08:16:36---------------------------------------Before the HDCP functionality can be enabled,the application will load the encrypted HDCP keysfrom the HDMI FMC EEPROM.The HDCP keys are protected with a unique password.Please enter your password.Enter Password ->......Password is valid.Loading HDCP keys from EEPROM... doneEnabling HDCP functionality---------------------------------RX cable is connectedTX cable is connectedStarting colorbar

------------------------ MAIN MENU ------------------------i - Info => Shows information about the HDMI RX stream, HDMI TX stream, GT transceivers and PLL settings.

X-Ref Target - Figure 11

図 11 : TX 専用モード - 1920x1080p60 (デフォルト ) カラー バー パターン

Page 27: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

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

XAPP1287 (v1.2) 2016 年 7 月 18 日 27japan.xilinx.com

c - Colorbar => Displays the colorbar on the source output.r - Resolution => Change the video resolution of the colorbar.f - Frame rate => Change the frame rate of the colorbar.d - Color depth => Change the color depth of the colorbar.s - Color space => Change the color space of the colorbar.p - Pass-through => Passes the sink input to source output.l - GT PLL layout => Select GT transceiver PLL layout.z - GT log => Shows the GT transceiver log information.e - Edid => Display and set edid.a - Audio => Audio options.v - Video => Video pattern options.h - HDCP => Goto HDCP menu.Starting colorbarActive audio channels 2RX stream is upTX stream is up--------Pass-Through : Color Format: RGB Color Depth: 8 Pixels Per Clock: 2 Mode: Progressive Frame Rate: 60Hz Resolution: 1920x1080@60Hz Pixel Clock: 148500000--------

HDMI シンクの表示は、 HDMI RX ポートに接続されている HDMI ソースの内容によ り ます。

ハードウェアの構築

このセクシ ョ ンでは、 ハード ウェア デザインの再構築について説明します。 プロジェク ト を再構築する前に、 Video PHY Controller、 HDMI 1.4/2.0 Transmitter Subsystem、 HDMI 1.4/2.0 Receiver Subsystem、 HDCP、および Test Pattern Generator のライセンスがインス トールされているこ とを確認して ください。

注記 : ファ イル パスが長すぎるためにコンパイル エラーが発生しないよ うに、 プロジェク ト ファ イルはできるだけルート ディ レク ト リの近くに展開してください。 たとえば、 一般的な Windows システムへのインス トールでは、 C:\ にファイルを展開します。

Vivado Design Suite 2016.2 でのプログラム ファイルの生成

1. Vivado Design Suite を起動します。

2. Tcl コンソールに次のよ うに入力し、 ワークスペース ディ レク ト リに変更します。

> cd <unzip dir>\xapp1287

3. all.tcl スク リプ ト を実行して、 プロジェク ト ビッ ト ス ト リームの作成、 コンパイル、 生成を行います。

> source all.tcl

Page 28: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

デバッグ

XAPP1287 (v1.2) 2016 年 7 月 18 日 28japan.xilinx.com

デバッグ

次のユーザー LED を使用して、 リ ファレンス デザインのステータスを視覚的に確認できます。

LED0 - HDMI TX Subsystem ロ ッ ク

この LED が消えている場合は、 HDMI TX ス ト リームのビデオ タイ ミ ング情報が HDMI_TX_SS の期待しているタイ ミ ングと一致しないこ とを意味します。 HDMI TX ス ト リームのタイ ミ ングが適切であるこ とを確認して ください。 あるいは、TX ケーブルを一旦切断してから再接続し、 HDMI TX を再初期化してください。

LED6 - TX ク ロ ッ ク ハート ビート

この LED が点滅していない場合は、 TX リ ンク ク ロ ッ クがアクティブになっていないこ とを意味します。 TX ケーブルが接続され、 有効な HDMI ス ト リームが HDMI TX ポートに入力されているこ とを確認してください。

LED7 - RX ク ロ ッ ク ハート ビート

この LED が点滅していない場合は、 RX リ ンク ク ロ ッ クがアクティブになっていないこ とを意味します。 RX ケーブルが接続されているこ とを確認して ください。

既知の問題と制限

1. Test Pattern Generator は 3D ビデオの生成をサポート しないため、 3D ビデオ ス ト リームはパススルー モードでのみサポート されます。

Page 29: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

参考資料

XAPP1287 (v1.2) 2016 年 7 月 18 日 29japan.xilinx.com

参考資料

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

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

2. inrevium TB-FMCH-HDMI4K (http://solutions.inrevium.com/products/fmc/index.html)

3. 『LogiCORE IP HDMI 1.4/2.0 Transmitter Subsystem 製品ガイ ド』 (PG235)

4. 『LogiCORE IP HDMI 1.4/2.0 Receiver Subsystem 製品ガイ ド』 (PG236)

5. 『LogiCORE IP Video PHY Controller 製品ガイ ド』 (PG230)

6. 『LogiCORE IP Video Test Pattern Generator 製品ガイ ド』 (PG103)

7. 『Vivado Design Suite : AXI リ ファレンス ガイ ド』 (UG1037 : 英語版、 日本語版)

改訂履歴

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

日付 バージョ ン 内容

2016 年 5 月 20 日 1.0 初版

2016 年 6 月 4 日 1.1 リ ファレンス デザイン ファイルに HDCP キー ユーティ リ ティ アプリ ケーシ ョ ンを追加 (アプリ ケーシ ョ ン ノートは変更なし )。

2016 年 7 月 18 日 1.2 • Vivado 2016.2 のサポート を追加。

• 「既知の問題と制限」 から次の項目を削除 (最新版では修正されたため)。

° QPLL を使用した場合、 2160p60 を送信できない。

° 10BPC で 720p60 の輝度および彩度が適切にならない。

° 10BPC で WXGA+ (1366x768p60) の輝度および彩度が適切にならない。

° 16BPC で 2160p24/25/30 のビデオが表示されない。

° TPG と HDMI_TX_SS 間で AXI4-Stream ビデオの互換性に問題があるため、YUV420 カラー スペースのビデオ出力が適切にならない。

° Video Processing Subsystem IP と HDMI_SS 間で AXI4-Stream ビデオの互換性に問題があるため、 HDMI_SS との間でやり取り される PAL および NTSC ビデオ フォーマッ トは Video Processing Subsystem IP との互換性がない。

Page 30: Kintex-7 FPGA GTX トランシーバーを 使用した …...XAPP1287 (v1.2) 2016 年 7 月 18 日 1 japan.xilinx.com 概要 このアプリケーション ®ノートでは、Kintex

法的通知

XAPP1287 (v1.2) 2016 年 7 月 18 日 30japan.xilinx.com

法的通知The IP/reference design(s) enables Xilinx customers to implement High-bandwidth Digital Content Protection (HDCP) cipher and authentication functions in Xilinx silicon devices using Xilinx's LogiCORE High-Definition Multimedia Interface (HDMI) IP solutions. The reference design(s) which also includes logic blocks which may be used by customers at their option to securely read HDCP device keys from an external storage device and store them on a Xilinx silicon device; alternatively, customers may independently develop such logic to perform these functions. HDCP device keys are not provided with the reference design(s) and are not available from Xilinx under any circumstances. Customers who desire to utilize the IP and reference design(s) to implement HDCP must become an HDCP Adopter and acquire device keys directly from Digital Content Protection, LLC. Failure by customers to do so will render the IP and reference design(s) incapable of successfully completing the HDCP implementation in customers' products.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

します。

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

にある [フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 フ ィードバッ クは日本語で入力可能

です。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており

ません。 あらかじめご了承ください。