HDMI インテル® Arria 10 FPGA IPデザイン例のユーザーガイド

ID 683156
日付 5/12/2021
Public
ドキュメント目次

3.4. デザインのコンポーネント

HDMI Intel® FPGA IPのデザイン例には、次のコンポーネントが必要です。
表 32.  HDMI RXのトップ・コンポーネント
モジュール 説明
HDMI RXコア

IPは、トランシーバー・ネイティブPHYからシリアルデータを受信し、データのアライメント、チャネルデスキュー、TMDSのデコーディング、補助データのデコーディング、ビデオデータのデコーディング、オーディオデータのデコーディング、およびデスクランブルを実行します。

I2C
I2Cは、シンクのDDC (Display Data Channel) およびSCDC (Status and Data Channel) に使用されるインターフェイスです。HDMIソースは、DDCを使用してE-EDID (Enhanced Extended Display Identification Data) のデータ構造を読み取ることにより、シンクの機能と特性を特定します。
  • E-EDIDの8ビットの I2Cスレーブアドレスは、0xA0と0xA1です。LSBはアクセスタイプを示します。読み出しの場合は1、書き込みの場合は0です。HPDイベントが発生すると、I2Cスレーブは、オンチップRAMから読み出すことによってE-EDIDデータに応答します。
  • I2Cスレーブ専用コントローラーもまた、HDMI 2.0の動作のSCDCをサポートします。SCDCの8ビットのI2Cスレーブアドレスは、0xA8と0xA9です。HPDイベントが発生すると、I2Cスレーブは、HDMI RXコアのSCDCインターフェイスに対する書き込みまたは読み出しトランザクションを実行します。
    注: SCDCのこのI2Cスレーブ専用コントローラーは、HDMI 2.0bを目的としていない場合は必要ありません。Include I2Cパラメーターをオンにすると、このブロックはコア内に含まれ、このレベルでは表示されなくなります。
EDID RAM

このデザインでは、RAM 1-Port IPコアを使用してEDIDの情報を格納します。標準の2線式 (クロックおよびデータ) シリアル・バス・プロトコル (I2Cスレーブ専用コントローラー) では、CEA-861-D準拠のE-EDIDデータ構造を転送します。このEDID RAMは、E-EDIDの情報を格納します。

注: Include EDID RAMパラメーターをオンにすると、このブロックはコア内に含まれ、このレベルでは表示されなくなります。
IOPLL

IOPLLは、着信TMDSクロックのRX CDRリファレンス・クロック、リンク・スピード・クロック、およびビデオクロックを生成します。

  • 出力クロック0 (CDRリファレンス・クロック)
  • 出力クロック1 (リンク・スピード・クロック)
  • 出力クロック2 (ビデオクロック)
注: デフォルトのIOPLLのコンフィグレーションは、いずれのHDMI解像度においても有効ではありません。IOPLLは、電源投入時に適切な設定にリコンフィグレーションされます。
トランシーバーPHYリセット・コントローラー

トランシーバーPHYリセット・コントローラーは、RXトランシーバーの信頼性の高い初期化を保証します。このコントローラーのリセット入力はRXのリコンフィグレーションによってトリガーされ、ブロック内のリセットシーケンスに応じて、対応するアナログおよびデジタルリセット信号をトランシーバー・ネイティブPHYブロックに生成します。

RXネイティブPHY

外部ビデオソースからシリアルデータを受信するハード・トランシーバー・ブロックです。データをHDMI RXコアに渡す前に、シリアルデータをパラレルデータにデシリアライズします。

RXリコンフィグレーション管理

RXリコンフィグレーション管理では、レート検出回路とともにHDMI PLLを実装し、RXトランシーバーを250Mbpsから6,000Mbpsの範囲の任意のリンクレートで動作するように駆動します。

図 23 を参照してください。

IOPLLリコンフィグレーション

IOPLLリコンフィグレーション・ブロックは、インテルFPGAのPLLの動的なリアルタイム・リコンフィグレーションを容易にします。このブロックは、FPGA全体をリコンフィグレーションすることなく、出力クロックの周波数とPLLの帯域幅をリアルタイムで更新します。 インテル® Arria® 10 デバイスでは、このブロックは100MHzで動作します。

IOPLLのリコンフィグレーション制限のため、IOPLLリコンフィグレーションのIP生成時は、Quartus INI permit_nf_pll_reconfig_out_of_lock=onを適用します。

Quartus INIを適用するには、「permit_nf_pll_reconfig_out_of_lock=on」をquartus.iniファイルに含め、ファイルを インテル® Quartus® Primeプロジェクト・ディレクトリーに配置します。Quartus Prime開発ソフトウェアでINIを使用してIOPLLリコンフィグレーション・ブロック (pll_hdmi_reconfig) を編集すると、警告メッセージが表示されます。

注: このQuartus INIがないと、リコンフィグレーション時にIOPLLがロックを失った場合、IOPLLのリコンフィグレーションを完了することができません。
PIO パラレル入力/出力 (PIO) ブロックは、CPUサブシステムとの間のコントロール、ステータス、およびリセット・インターフェイスとして機能します。
図 23. マルチレート・リコンフィグレーション・シーケンスのフロー次の図は、入力データストリームとリファレンス・クロック周波数を受信した際、またはトランシーバーのロックが解除された際のコントローラーのマルチレート・リコンフィグレーション・シーケンスのフローを示しています。
表 33.  HDMI TXのトップ・コンポーネント
モジュール 説明
HDMI TXコア

IPコアは、トップレベルからビデオデータを受信し、TMDSのエンコーディング、補助データのエンコーディング、オーディオデータのエンコーディング、ビデオデータのエンコーディング、およびスクランブリングを実行します。

I2Cマスター
I2Cは、シンクのDDC (Display Data Channel) およびSCDC (Status and Data Channel) に使用されるインターフェイスです。HDMIソースは、DDCを使用してE-EDID (Enhanced Extended Display Identification Data) のデータ構造を読み取ることにより、シンクの機能と特性を特定します。
  • DDCとして、I2Cマスターは外部シンクからEDIDを読み出し、HDMI RXトップのEDID情報のEDID RAMをコンフィグレーションする、またはビデオ処理を行います。
  • SCDCとして、I2CマスターはHDMI 2.0bの動作において、SCDCデータ構造をFPGAソースから外部シンクに転送します。例えば、発信データストリームが3,400Mbpsを上回ると、Nios IIプロセッサーはI2Cマスターに対して、シンクのSCDCコンフィグレーション・レジスターのTMDS_BIT_CLOCK_RATIOビットとSCRAMBLER_ENABLEビットを1に更新するように命令します。
IOPLL

IOPLLは、着信TMDSクロックからリンク・スピード・クロックとビデオクロックを提供します。

  • 出力クロック1 (リンク・スピード・クロック)
  • 出力クロック2 (ビデオクロック)
注: デフォルトのIOPLLのコンフィグレーションは、いずれのHDMI解像度においても有効ではありません。IOPLLは、電源投入時に適切な設定にリコンフィグレーションされます。
トランシーバーPHYリセット・コントローラー

トランシーバーPHYリセット・コントローラーは、TXトランシーバーの信頼性の高い初期化を保証します。このコントローラーのリセット入力はトップレベルからトリガーされ、ブロック内のリセットシーケンスに応じて、対応するアナログおよびデジタルリセット信号をトランシーバー・ネイティブPHYブロックに生成します。

このブロックからのtx_ready出力信号はまた、HDMI Intel® FPGA IPへのリセット信号として機能し、トランシーバーが稼働中で、コアからデータを受信する準備ができていることを示します。

トランシーバー・ネイティブPHY

ハード・トランシーバー・ブロックで、HDMI TXコアからパラレルデータを受信し、送信されるデータをシリアル化します。

リコンフィグレーション・インターフェイスはTXネイティブPHYブロックで有効にされており、TXネイティブPHYとトランシーバー・アービター間の接続を示します。TXネイティブPHYのリコンフィグレーションは行われません。

注: HDMI TXチャネル間のスキュー要件を満たすには、 インテル® Arria® 10 トランシーバー・ネイティブPHYのパラメーター・エディターで、TXチャネルのボンディング・モード・オプションをPMA and PCS bondingに設定します。また、最大スキュー (set_max_skew) 制約の要件をトランシーバー・リセット・コントローラーからのデジタルリセット信号 (tx_digitalreset) に追加する必要があります。これは、 インテル® Arria® 10 トランシーバーPHYユーザーガイドで推奨されている内容に従います。
TX PLL

トランスミッターのPLLブロックは、トランシーバー・ネイティブPHYブロックにシリアル高速クロックを提供します。このHDMI Intel® FPGA IPのデザイン例では、fPLLがTX PLLとして使用されます。

IOPLLリコンフィグレーション

IOPLLリコンフィグレーション・ブロックは、インテルFPGAのPLLの動的なリアルタイム・リコンフィグレーションを容易にします。このブロックは、FPGA全体をリコンフィグレーションすることなく、出力クロックの周波数とPLLの帯域幅をリアルタイムで更新します。 インテル® Arria® 10 デバイスでは、このブロックは100MHzで動作します。

IOPLLのリコンフィグレーション制限のため、IOPLLリコンフィグレーションのIP生成時は、Quartus INI permit_nf_pll_reconfig_out_of_lock=onを適用します。

Quartus INIを適用するには、「permit_nf_pll_reconfig_out_of_lock=on」をquartus.iniファイルに含め、ファイルを インテル® Quartus® Primeプロジェクト・ディレクトリーに配置します。 インテル® Quartus® Prime開発ソフトウェアでINIを使用してIOPLLリコンフィグレーション・ブロック (pll_hdmi_reconfig) を編集すると、警告メッセージが表示されます。

注: このQuartus INIがないと、リコンフィグレーション時にIOPLLがロックを失った場合、IOPLLのリコンフィグレーションを完了することができません。
PIO パラレル入力/出力 (PIO) ブロックは、CPUサブシステムとの間のコントロール、ステータス、およびリセット・インターフェイスとして機能します。
表 34.  各TMDSクロック周波数範囲に対するトランシーバー・データ・レートとオーバーサンプリング係数
TMDSクロック周波数 (MHz) TMDSのビットとクロックの比率 オーバーサンプリング係数 トランシーバー・データ・レート (Mbps)
85-150 1 適用なし 3400-6000
100-340 0 適用なし 1000-3400
50-100 0 5 2500-5000
35-50 0 3 1050-1500
30-35 0 4 1200-1400
25-30 0 5 1250-1500
表 35.  トップレベルの共通ブロック
モジュール 説明
トランシーバー・アービター

この汎用機能ブロックは、同じ物理チャネル内のRXまたはTXトランシーバーのいずれかがリコンフィグレーションを必要とする際に、トランシーバーの同時再キャリブレーションを防ぎます。同時再キャリブレーションは、同じチャネル内のRXおよびTXトランシーバーが独立したIPの実装に割り当てられているアプリケーションに影響を与えます。

このトランシーバー・アービターは解像度の拡張であり、シンプレックスTXとシンプレックスRXを同じ物理チャネルにマージする際に推奨されます。このトランシーバー・アービターはまた、1つのチャネル内のシンプレックスRXトランシーバーとTXトランシーバーを対象とするAvalon-MM RXリコンフィグレーション要求およびTXリコンフィグレーション要求のマージとアービトレーションを支援します。トランシーバーのリコンフィグレーション・インターフェイス・ポートには、順次にアクセスすることしかできません。

このデザイン例のトランシーバー・アービターとTX/RXネイティブPHY/PHYリセット・コントローラーのブロック間のインターフェイス接続は、汎用モードを示しており、トランシーバー・アービターを使用する任意のIPの組み合わせに適用されます。チャネルでRXまたはTXトランシーバーの一方のみを使用している場合は、トランシーバー・アービターは必要ありません。

トランシーバー・アービターは、Avalon-MMリコンフィグレーション・インターフェイスを介してリコンフィグレーションの要求元を識別します。また、対応するtx_reconfig_cal_busyまたはrx_reconfig_cal_busyが必要に応じてゲーティングされることを保証します。

HDMIのアプリケーションでは、RXのみがリコンフィグレーションを開始します。アービターを介してAvalon-MMリコンフィグレーション要求をチャネリングすることにより、アービターは、リコンフィグレーション要求がRXから発信されていることを識別し、 tx_reconfig_cal_busyのアサートをゲーティングして、rx_reconfig_cal_busyがアサートされるようにします。ゲーティングにより、TXトランシーバーが意図せずにキャリブレーション・モードに移行するのを防ぎます。
注: HDMIではRXのリコンフィグレーションのみを必要とするため、tx_reconfig_mgmt_*信号はオフに結び付けられます。また、Avalon-MMインターフェイスはアービターとTXネイティブPHYブロックの間には必要ありません。デザイン例では、ブロックはTX/RXネイティブPHY/PHYリセット・コントローラーへの一般的なトランシーバー・アービターの接続を示すようにインターフェイスに割り当てられています。
RX-TXリンク
  • HDMI RXコアからのビデオデータ出力および同期信号は、RXおよびTXビデオ・クロック・ドメイン間でDCFIFOを介してループします。
  • GCP (General Control Packet)、InfoFrame (AVI、VSI、およびAI)、補助データ、およびオーディオデータは、RXおよびTXリンク・スピード・クロック・ドメイン間で、DCFIFOを介してループします。
  • HDMI TXコアの補助データポートは、DCFIFOを移動する補助データをバックプレッシャーを介して制御します。バックプレッシャーにより、補助データポートに不完全な補助パケットがないことを保証します。
  • このブロックはまた、外部フィルタリングを実行します。
    • 補助データストリームからオーディオデータとオーディオクロック再生パケットをフィルタリングし、HDMI TXコアの補助データポートに送信します。
      注: このフィルタリングを無効にするには、user_pb[2] を押します。このフィルタリングを有効にすることにより、再送される補助データストリームに重複するオーディオデータとオーディオクロック再生パケットがないことを保証します。
    • HDR (High Dynamic Range) InfoFrameをHDMI RX補助データからフィルタリングし、Avalon STマルチプレクサーを介してHDMI TXの補助データにサンプルHDR InfoFrameを挿入します。
CPUサブシステム

CPUサブシステムは、SCDCおよびDDCのコントローラー、およびソース・リコンフィグレーション・コントローラーとして機能します。

  • ソースSCDCコントローラーには、I2Cマスター・コントローラーが含まれています。I2Cマスター・コントローラーは、HDMI 2.0bの動作において、SCDCデータ構造をFPGAソースから外部シンクに転送します。例えば、発信データストリームが6,000Mbpsの場合、Nios IIプロセッサーはI2Cマスター・コントローラーに対して、シンクのTMDSコンフィグレーション・レジスターのTMDS_BIT_CLOCK_RATIOビットとSCRAMBLER_ENABLEビットを1に更新するように命令します。
  • また、同じI2Cマスターで、DDCデータ構造 (E-EDID) をHDMIソースと外部シンクの間で転送します。
  • Nios IIのCPUは、HDMIソースのリコンフィグレーション・コントローラーとして機能します。CPUは、RXリコンフィグレーション管理モジュールからの定期的なレート検出に依存して、TXにリコンフィグレーションが必要かを判断します。Avalon-MMスレーブ・トランスレーターは、Nios IIプロセッサーのAvalon-MMマスター・インターフェイスと外部でインスタンス化されたHDMIソースのIOPLLおよびTXネイティブPHYのAvalon-MMスレーブ・インターフェイスとの間のインターフェイスを提供します。
  • TXのリコンフィグレーション・シーケンスのフローはRXと同じですが、PLLとトランシーバーのリコンフィグレーションとリセットシーケンスが順番に実行される点は異なります。図 24 を参照してください。
図 24. リコンフィグレーション・シーケンスのフロー次の図は、NiosIIソフトウェアのフローを示しています。これには、I2CマスターとHDMIソースの制御が含まれます。