intel AN 889 8K DisplayPort ビデオフォーマット変換設計例ample
8K DisplayPortビデオフォーマット変換設計Exについてample
8Kディスプレイポートビデオフォーマット変換設計例ample は、Intel DisplayPort 1.4 ビデオ接続 IP をビデオ処理パイプラインと統合します。この設計により、最大 8K で 30 フレーム/秒、または 4K で 60 フレーム/秒のビデオ ストリームに対して、高品質のスケーリング、色空間変換、およびフレーム レート変換が実現します。
この設計はソフトウェアとハードウェアの高度な構成が可能で、迅速なシステム構成と再設計が可能です。この設計は Intel® Arria® 10 デバイスを対象としており、Intel Quartus® Prime v8 のビデオおよび画像処理スイートの最新の 19.2K 対応 Intel FPGA IP を使用しています。
DisplayPort Intel FPGA IPについて
DisplayPort インターフェイスを備えた Intel Arria 10 FPGA デザインを作成するには、DisplayPort Intel FPGA IP をインスタンス化します。ただし、この DisplayPort IP は、DisplayPort のプロトコル エンコードまたはデコードのみを実装します。インターフェイスの高速シリアル コンポーネントを実装するために必要なトランシーバー、PLL、またはトランシーバー再構成機能は含まれていません。Intel は、トランシーバー、PLL、および再構成 IP コンポーネントを個別に提供しています。これらのコンポーネントを選択、パラメーター化、および接続して、完全に準拠した DisplayPort レシーバーまたはトランスミッター インターフェイスを作成するには、専門知識が必要です。
Intel は、トランシーバーの専門家ではない人向けにこの設計を提供しています。DisplayPort IP のパラメーター エディター GUI を使用すると、設計を構築できます。
DisplayPort IPのインスタンス(受信機のみ、送信機のみ、または受信機と送信機の組み合わせ)は、プラットフォームデザイナーまたはIPカタログで作成します。DisplayPort IPインスタンスをパラメータ化する場合、exを生成するように選択できます。amp特定の構成に適した設計です。レシーバーとトランスミッターを組み合わせた設計は、レシーバーからの出力がトランスミッターに直接入力される単純なパススルーです。固定パススルー設計では、すべてのトランシーバーと PLL ロジックを実装する、完全に機能するレシーバー PHY、トランスミッター PHY、および再構成ブロックが作成されます。設計の関連セクションを直接コピーするか、設計を参照として使用することができます。設計では、DisplayPort Intel Arria 10 FPGA IP 設計例が生成されます。ampleそしてその後、多くの fileIntel Quartus Prime プロジェクトで使用されるコンパイル リストに直接生成されるものには、次のものが含まれます。
- Fileトランシーバー、PLL、再構成ブロックのパラメータ化された IP インスタンスを作成します。
- ベリログHDL fileこれらのIPを上位レベルの受信機PHY、送信機PHY、およびトランシーバ再構成アービタブロックに接続します。
- シノプシス設計制約 (SDC) file関連するタイミング制約を設定します。
8K DisplayPortビデオフォーマット変換設計Exの特徴ample
- 入力:
- DisplayPort 1.4 接続は、最大 720 fps の任意のフレーム レートで 480×3840 から 2160×60 までの解像度をサポートし、7680 fps で最大 4320×30 までの解像度をサポートします。
- ホットプラグサポート。
- RGBとYCbCr(4:4:4、4:2:2、4:2:0)カラーフォーマットの両方をサポート
入力。 - ソフトウェアは入力フォーマットを自動的に検出し、処理パイプラインを適切に設定します。
- 出力:
- DisplayPort 1.4 接続は、1080 fps で 1080p、2160i、または 60p 解像度、または 2160 fps で 30p のいずれかを選択可能 (DIP スイッチ経由)。
- ホットプラグサポート。
- 必要な出力カラー形式を RGB、YCbCr 4:4:4、YCbCr 4:2:2、または YCbCr 4:2:0 に設定する DIP スイッチ。
- ソフトウェアで設定可能なスケーリングとフレーム レート変換を備えた単一の 10 ビット 8K RGB 処理パイプライン:
- 12 タップ Lanczos ダウンスケーラー。
- 16 フェーズ、4 タップの Lanczos アップスケーラー。
- トリプルバッファリング ビデオ フレーム バッファはフレーム レート変換を提供します。
- アルファブレンディングを備えたミキサーにより、OSD アイコンのオーバーレイが可能になります。
8K DisplayPortビデオフォーマット変換設計入門ample
ハードウェアおよびソフトウェアの要件
8Kディスプレイポートビデオフォーマット変換設計例ample には特定のハードウェアとソフトウェアが必要です。
ハードウェア:
- Intel Arria 10 GX FPGA 開発キット(DDR4 Hilo ドーターカードを含む)
- Bitec DisplayPort 1.4 FMC ドーター カード (リビジョン 11)
- 最大1.4x3840p2160または60x7680p4320のビデオを生成するDisplayPort 30ソース
- 最大1.4x3840p2160のビデオを表示するDisplayPort 60シンク
- VESA 認定の DisplayPort 1.4 ケーブル。
ソフトウェア:
- WindowsまたはLinuxOS
- Intel Quartus Prime Design Suite v19.2 には以下が含まれます。
- インテル Quartus Prime プロ・エディション
- プラットフォーム デザイナー
- Nios® II EDS
- Intel FPGA IP ライブラリ (Video and Image Processing Suite を含む)
このデザインは、このバージョンの Intel Quartus Prime でのみ動作します。
Intel 8K DisplayPortビデオフォーマット変換設計Exのダウンロードとインストールample
このデザインは Intel Design Store で入手できます。
- アーカイブされたプロジェクトをダウンロードする file udx10_dp.par です。
- アーカイブから Intel Quartus Prime プロジェクトを抽出します。
- a. Intel Quartus Prime Pro Edition を開きます。
- b. クリック File ➤ プロジェクトを開きます。
「プロジェクトを開く」ウィンドウが開きます。 - c. udx10_dp.parに移動して選択します file.
- d. 「開く」をクリックします。
- e. 「デザインテンプレートを開く」ウィンドウで、抽出したプロジェクトの保存先フォルダを設定します。デザインテンプレートのエントリは、 file プロジェクト名は正しいはずなので、変更する必要はありません。
- f. [OK]をクリックします。
デザイン FileIntel 8K DisplayPortビデオフォーマット変換設計Example
表1. デザイン Files
File またはフォルダ名 | 説明 |
ip | IP インスタンスを含む fileデザイン内のすべての Intel FPGA IP インスタンスについて:
• DisplayPort IP(送信機と受信機) • デザインの最上位でクロックを生成する PLL • 処理パイプラインの Platform Designer システムを構成するすべての IP。 |
マスターイメージ | プリコンパイルされたボードプログラミングであるpre_compiled.sofが含まれています file デザインのために。 |
non_acds_ip | Intel Quartus Prime に含まれていない、このデザインの追加 IP のソース コードが含まれています。 |
sdc | SDCを含む file この設計に必要な追加のタイミング制約を記述するSDC fileIP インスタンスに自動的に含まれる は、これらの制約を処理しません。 |
ソフトウェア | デザインの高レベル機能を制御するために組み込み Nios II プロセッサ上で実行されるソフトウェアのソース コード、ライブラリ、およびビルド スクリプトが含まれています。 |
udx10_dp | Intel Quartus Primeが出力を生成するフォルダ fileプラットフォームデザイナーシステム用。udx10_dp.sopcinfo出力 file メモリ初期化を生成できる file Nios II プロセッサ ソフトウェア メモリ用。最初に完全な Platform Designer システムを生成する必要はありません。 |
non_acds_ip.ipx | このIPX file non_acds_ip フォルダー内のすべての IP を Platform Designer に宣言し、IP ライブラリに表示されるようにします。 |
README.txt | デザインを構築して実行するための簡単な手順。 |
トップ.qpf | インテル Quartus Prime プロジェクト file デザインのために。 |
トップ.qsf | インテル Quartus Prime プロジェクトの設定 file デザインのために。 これ file すべてのリスト fileピンの割り当てやその他のプロジェクト設定とともに、設計を構築するために必要なものも含まれます。 |
トップ.v | トップレベルのVerilog HDL file デザインのために。 |
udx10_dp.qsys | ビデオ処理パイプライン、Nios II プロセッサ、およびその周辺機器を含む Platform Designer システム。 |
8K DisplayPortビデオフォーマット変換設計例のコンパイルample
インテルは、プリコンパイルされたボードプログラミングを提供している file master_image ディレクトリ内のデザイン (pre_compiled.sof) に対して、完全なコンパイルを実行せずにデザインを実行できるようにします。
手順:
- Intel Quartus Primeソフトウェアでtop.qpfプロジェクトを開きます。 fileダウンロードしたアーカイブはこれを作成します file プロジェクトを解凍するとき。
- クリック File ➤ ip/dp_rx_tx/dp_rx_tx.ip を開いて選択します。DisplayPort IP のパラメータ エディタ GUI が開き、デザイン内の DisplayPort インスタンスのパラメータが表示されます。
- [Ex を生成] をクリックしますample Design (生成ではありません)。
- 生成が完了したら、パラメーター エディターを閉じます。
- In File エクスプローラーでソフトウェア ディレクトリに移動し、vip_control_src.zip アーカイブを解凍して vip_control_src ディレクトリを生成します。
- BASH ターミナルで、software/script に移動し、シェル スクリプト build_sw.sh を実行します。
スクリプトは、設計用のNios IIソフトウェアを構築します。.elfファイルと.elfファイルの両方を作成します。 file 実行時にボードにダウンロードできる.hex file ボードプログラミング.sofにコンパイルする file. - Intel Quartus Prime ソフトウェアで、[Processing] ➤ [Start Compilation] をクリックします。
- Intel Quartus Prime は、udx10_dp.qsys Platform Designer システムを生成します。
- Intel Quartus Prime はプロジェクトを top.qpf に設定します。
コンパイルにより出力にtop.sofが作成される_file完了すると s ディレクトリに保存されます。
Viewプラットフォーム デザイナー システムのアップグレードと再生成
- [ツール] ➤ [プラットフォーム デザイナー] をクリックします。
- Platform Designer システム オプションとして、システム名.qsys を選択します。
- 「開く」をクリックします。
Platform Designer がシステムを開きます。 - Review システム。
- システムを再生成します:
- a. HDL の生成…をクリックします。
- b. 生成ウィンドウで、選択した生成ターゲットの出力ディレクトリをクリアするをオンにします。
- c. [生成]をクリックします
8K DisplayPortビデオフォーマット変換設計例のコンパイルampEclipse用Nios IIソフトウェアビルドツールを使用した
ビルド スクリプトが使用するのと同じフォルダーを使用するワークスペースを生成するために、デザイン用のインタラクティブな Nios II Eclipse ワークスペースを設定します。以前にビルド スクリプトを実行したことがある場合は、Eclipse ワークスペースを作成する前に software/vip_control フォルダーと software/vip_control_bsp フォルダーを削除する必要があります。ビルド スクリプトをいずれかの時点で再実行すると、Eclipse ワークスペースが上書きされます。
手順:
- ソフトウェア ディレクトリに移動し、vip_control_src.zip アーカイブを解凍して vip_control_src ディレクトリを生成します。
- インストールされたプロジェクト ディレクトリで、新しいフォルダーを作成し、workspace という名前を付けます。
- Intel Quartus Prime ソフトウェアで、[ツール] ➤ [Nios II Software Build Tools for Eclipse] をクリックします。
- a. ワークスペース ランチャー ウィンドウで、作成したワークスペース フォルダーを選択します。
- b. [OK]をクリックします。
- Nios II – Eclipse ウィンドウで、 File ➤ 新規 ➤ テンプレートからの Nios II アプリケーションと BSP。
Nios II Application and BSP from Template ダイアログ ボックスが表示されます。- a. SOPC 情報で File ボックスでudx10_dp/udx10_dp.sopcinfoを選択します fileEclipse用のNios II SBTは、.sopcinfoからプロセッサ名をCPU名に入力します。 file.
- b. [プロジェクト名] ボックスに vip_control と入力します。
- c. テンプレートリストから「空のプロジェクト」を選択します。
- d. 「次へ」をクリックします。
- e. プロジェクト名 vip_control_bsp のアプリケーション プロジェクト テンプレートに基づいて新しい BSP プロジェクトを作成するを選択します。
- f. 「デフォルトの場所を使用する」をオンにします。
- g. Finish をクリックして、.sopcinfo に基づいてアプリケーションと BSP を作成します。 file.
BSP が生成されると、vip_control および vip_control_bsp プロジェクトが Project Explorer タブに表示されます。
- Windows エクスプローラーで、software/vip_control_src ディレクトリの内容を新しく作成した software/vip_control ディレクトリにコピーします。
- Nios II – Eclipse ウィンドウの Project Explorer タブで、vip_control_bsp フォルダーを右クリックし、Nios II > BSP Editor を選択します。
- a. sys_clk_timer のドロップダウン メニューから [なし] を選択します。
- b. timest のドロップダウン メニューから cpu_timer を選択します。amp_タイマー。
- c. enable_small_c_library をオンにします。
- d. 「生成」をクリックします。
- e. 生成が完了したら、「終了」をクリックします。
- プロジェクト エクスプローラー タブで、vip_control ディレクトリを右クリックし、[プロパティ] をクリックします。
- a. vip_control のプロパティ ウィンドウで、Nios II アプリケーションのプロパティを展開し、Nios II アプリケーション パスをクリックします。
- b. ライブラリ プロジェクトの横にある [追加...] をクリックします。
- c. ライブラリ プロジェクト ウィンドウで、udx10.dp\spftware \vip_control_src ディレクトリに移動し、bkc_dprx.syslib ディレクトリを選択します。
- d. [OK] をクリックします。相対パスに変換するというメッセージが表示されます。[はい] をクリックします。
- e. bkc_dptx.syslibおよびbkc_dptxll_syslibディレクトリに対して、7ページの手順8.bと7ページの手順8.cを繰り返します。
- f. [OK]をクリックします。
- Project ➤ Build All を選択して、 file software/vip_control ディレクトリの vip_control.elf。
- mem_init をビルドする file インテル Quartus Prime コンパイルの場合:
- a. プロジェクト エクスプローラー ウィンドウで vip_control を右クリックします。
- b. [Make Targets] ➤ [Build…] を選択します。
- c. mem_init_generateを選択します。
d. 「ビルド」をクリックします。
インテル Quartus Prime ソフトウェアは、
udx10_dp_onchip_memory2_0_onchip_memory2_0.hex file software/vip_control/mem_init ディレクトリ内。
- 接続されたボード上でデザインが実行されている状態で、vip_control.elfプログラミングを実行します。 file Eclipse ビルドによって作成されました。
- a. Nios II -Eclipse ウィンドウのプロジェクト エクスプローラー タブで vip_control フォルダーを右クリックします。
- b. [実行] ➤ [Nios II ハードウェア] を選択します。Nios II ターミナル ウィンドウが開いている場合は、新しいソフトウェアをダウンロードする前に閉じてください。
Intel Arria 10 GX FPGA 開発キットのセットアップ
8K DisplayPortビデオフォーマット変換設計Exを実行するためのキットのセットアップ方法について説明します。ampル。
図 1. HiLo ドーターカードを備えた Intel Arria 10 GX 開発キット
この図は、DDR4 Hilo カードの位置を示すために青いヒートシンクを取り外したボードを示しています。Intel では、ヒートシンクを所定の位置に配置せずに設計を実行しないことを推奨しています。
手順:
- FMC ポート A を使用して、Bitec DisplayPort 1.4 FMC カードを開発ボードに取り付けます。
- 電源スイッチ (SW1) がオフになっていることを確認してから、電源コネクタを接続します。
- USB ケーブルをコンピューターと開発ボード上の MicroUSB コネクタ (J3) に接続します。
- DisplayPort ソースと Bitec DisplayPort 1.4 FMC カードの受信ポートの間に DisplayPort 1.4 ケーブルを接続し、ソースがアクティブであることを確認します。
- DisplayPort ディスプレイと Bitec DisplayPort 1.4 FMC カードのトランスミッター ポートの間に DisplayPort 1.4 ケーブルを接続し、ディスプレイがアクティブであることを確認します。
- SW1を使用してボードの電源をオンにします。
ボードステータス LED、プッシュボタン、DIP スイッチ
Intel Arria 10 GX FPGA開発キットには、8つのステータスLED(緑と赤のエミッター付き)、XNUMXつのユーザープッシュボタン、XNUMXつのユーザーDIPスイッチがあります。XNUMXK DisplayPortビデオフォーマット変換設計ExampLED が点灯して DisplayPort レシーバー リンクの状態を示します。プッシュ ボタンと DIP スイッチを使用して、設計設定を変更できます。
ステータスLED
表2. ステータスLED
導かれた | 説明 |
赤色LED | |
0 | DDR4 EMIF キャリブレーションが進行中です。 |
1 | DDR4 EMIF キャリブレーションに失敗しました。 |
7:2 | 未使用。 |
緑色LED | |
0 | DisplayPort レシーバー リンク トレーニングが正常に完了し、デザインが安定したビデオを受信すると点灯します。 |
5:1 | DisplayPort レシーバーのレーン数: 00001 = 1 レーン
00010 = 2車線 00100 = 4車線 |
7:6 | DisplayPort 受信レーン速度: 00 = 1.62 Gbps
01 = 2.7Gbps 10 = 5.4Gbps 11 = 8.1Gbps |
表には、各 LED が示すステータスがリストされています。各 LED 位置には、独立して点灯できる赤と緑の両方のインジケーターがあります。オレンジ色に光る LED は、赤と緑の両方のインジケーターがオンになっていることを意味します。
ユーザープッシュボタン
ユーザー プッシュ ボタン 0 は、出力ディスプレイの右上隅にある Intel ロゴの表示を制御します。起動時に、デザインはロゴの表示を有効にします。プッシュ ボタン 0 を押すと、ロゴ表示の有効化が切り替わります。ユーザー プッシュ ボタン 1 は、デザインのスケーリング モードを制御します。ソースまたはシンクがホットプラグされると、デザインはデフォルトで次のいずれかになります。
- パススルーモード(入力解像度が出力解像度以下の場合)
- ダウンスケールモード(入力解像度が出力解像度より大きい場合)
ユーザー プッシュ ボタン 1 を押すたびに、デザインは次のスケーリング モードに切り替わります (パススルー > アップスケール、アップスケール > ダウンスケール、ダウンスケール > パススルー)。ユーザー プッシュ ボタン 2 は使用されません。
ユーザーDIPスイッチ
DIP スイッチは、オプションの Nios II 端末印刷と、DisplayPort トランスミッターを介して駆動される出力ビデオ形式の設定を制御します。
表 3. DIP スイッチ
表には、各 DIP スイッチの機能が記載されています。DIP スイッチには 1 ~ 8 (0 ~ 7 ではありません) の番号が付けられており、スイッチ コンポーネントに印刷されている番号と一致します。各スイッチをオンに設定するには、白いスイッチを LCD に向けて、ボード上の LED から離します。
スイッチ | 関数 |
1 | ON に設定すると、Nios II 端末印刷が有効になります。 |
2 | 色ごとの出力ビットを設定します。
OFF = 8ビット ON = 10ビット |
4:3 | 出力カラー スペースと s の設定ampリング: SW4 オフ、SW3 オフ = RGB 4:4:4 SW4 オフ、SW3 オン = YCbCr 4:4:4 SW4 オン、SW3 オフ = YCbCr 4:2:2 SW4 オン、SW3 オン = YCbCr 4:2:0 |
6:5 | 出力解像度とフレームレートを設定します: SW4 OFF、SW3 OFF = 4K60
SW4 オフ、SW3 オン = 4K30 SW4 オン、SW3 オフ = 1080p60 SW4 オン、SW3 オン = 1080i60 |
8:7 | 未使用 |
8K DisplayPortビデオフォーマット変換設計Exの実行ample
コンパイルされた.sofをダウンロードする必要があります file デザインを実行するには、デザインを Intel Arria 10 GX FPGA 開発キットにアップロードします。
手順:
- インテル Quartus Prime ソフトウェアで、Tools > Programmer をクリックします。
- Programmer ウィンドウで、Auto Detect をクリックして JTAG 接続されたデバイスをチェーンして検出します。
プログラマーのデバイス リストを更新するように求めるポップアップ ウィンドウが表示されたら、[はい] をクリックします。 - デバイス リストで、10AX115S2F45 というラベルの付いた行を選択します。
- 変更をクリック File…
- コンパイル済みのプログラミング言語を使用するには file Intel が設計ダウンロードの一部として含める、master_image/pre_compiled.sof を選択します。
- プログラミングを使用するには file ローカルコンパイルによって作成された出力を選択する_files/top.sof.
- デバイス リストの 10AX115S2F45 行で [プログラム/構成] をオンにします。
- [スタート]をクリックします。
プログラマーが完了すると、デザインが自動的に実行されます。 - Nios II ターミナルを開いて、デザインからの出力テキスト メッセージを受信します。そうしないと、スイッチを何回か変更した後にデザインがロックされます (ユーザー DIP スイッチ 1 を ON に設定した場合のみ)。
- a. ターミナルウィンドウを開き、nios2-terminalと入力します。
- b. Enterを押します。
入力に接続します。ソースがない場合、出力は画面の右上隅に Intel ロゴがある黒い画面になります。
8K DisplayPortビデオフォーマット変換設計Exの機能説明ample
プラットフォーム デザイナー システム udx10_dp.qsys には、DisplayPort レシーバーおよびトランスミッター プロトコル IP、ビデオ パイプライン IP、および Nios II プロセッサー コンポーネントが含まれています。このデザインは、プラットフォーム デザイナー システムを、インターフェイス トランシーバーを含む DisplayPort レシーバーおよびトランスミッター PHY ロジックと、Verilog HDL RTL デザインの最上位のトランシーバー再構成ロジックに接続します。 file (top.v) この設計は、DisplayPort 入力と DisplayPort 出力の間に単一のビデオ処理パスで構成されています。
図2.ブロック図
この図は、8K DisplayPortビデオフォーマット変換設計Exのブロックを示しています。ample. この図には、Nios II に接続された汎用ペリフェラル、Nios II プロセッサ間の Avalon-MM、およびシステムの他のコンポーネントは示されていません。 この設計では、左側の DisplayPort ソースからビデオを受け取り、ビデオ パイプラインを介して左から右にビデオを処理してから、右側の DisplayPort シンクにビデオを渡します。
DisplayPort レシーバー PHY と DisplayPort レシーバー IP
Bitec DisplayPort FMC カードは、DisplayPort ソースからの DisplayPort 1.4 信号用のバッファを提供します。DisplayPort レシーバー PHY と DisplayPort レシーバー IP の組み合わせにより、受信信号をデコードしてビデオ ストリームを作成します。DisplayPort レシーバー PHY には、受信データをデシリアル化するトランシーバーが含まれており、DisplayPort レシーバー IP は DisplayPort プロトコルをデコードします。組み合わせた DisplayPort レシーバー IP は、ソフトウェアを使用せずに受信 DisplayPort 信号を処理します。DisplayPort レシーバー IP から生成されるビデオ信号は、ネイティブのパケット化されたストリーミング形式です。この設計では、DisplayPort レシーバーを 10 ビット出力用に構成します。
DisplayPort からクロックドビデオ IP へ
DisplayPort レシーバーによって出力されるパケット化されたストリーミング データ形式は、クロック ビデオ入力 IP が想定するクロック ビデオ データ形式と直接互換性がありません。DisplayPort to Clocked Video IP は、この設計用のカスタム IP です。DisplayPort 出力を、クロック ビデオ入力に直接接続できる互換性のあるクロック ビデオ形式に変換します。DisplayPort to Clocked Video IP は、ワイヤ シグナリング規格を変更し、各ピクセル内のカラー プレーンの順序を変更できます。DisplayPort 規格では、Intel ビデオ パイプライン IP の順序とは異なるカラー順序が指定されています。Nios II プロセッサーは、カラー スワップを制御します。Avalon-MM スレーブ インターフェイスを使用して、DisplayPort レシーバー IP から送信する現在のカラー スペースを読み取ります。Avalon-MM スレーブ インターフェイスを使用して、DisplayPort to Clocked Video IP に適切な補正を適用するように指示します。
クロック ビデオ入力
クロック ビデオ入力は、DisplayPort から Clocked Video IP へのクロック ビデオ インターフェイス信号を処理し、Avalon-ST ビデオ信号形式に変換します。この信号形式では、ビデオからすべての水平および垂直ブランキング情報が削除され、アクティブな画像データのみが残ります。IP は、ビデオ フレームごとに 300 つのパケットとしてパケット化します。また、各ビデオ フレームの解像度を記述する追加のメタデータ パケット (制御パケットと呼ばれる) も追加します。処理パイプを通過する Avalon-ST ビデオ ストリームは、XNUMX つのピクセルが並列で、ピクセルごとに XNUMX つのシンボルがあります。クロック ビデオ入力は、DisplayPort レシーバー IP からの可変レート クロック ビデオ信号をビデオ IP パイプラインの固定クロック レート (XNUMX MHz) に変換するためのクロック クロッシングを提供します。
ストリームクリーナー
ストリーム クリーナーは、処理パイプラインに渡される Avalon-ST ビデオ信号にエラーがないことを確認します。DisplayPort ソースのホット プラグにより、設計によってクロック ビデオ入力 IP に不完全なデータ フレームが提示され、結果として得られる Avalon-ST ビデオ ストリームにエラーが発生する可能性があります。その場合、各フレームのビデオ データを含むパケットのサイズは、関連する制御パケットによって報告されるサイズと一致しなくなります。ストリーム クリーナーはこれらの状態を検出し、問題のあるビデオ パケットの末尾に追加データ (グレー ピクセル) を追加してフレームを完成させ、制御パケットの仕様に一致させます。
クロマレスampler (入力)
ディスプレイポートからの入力で設計が受信するビデオデータは、4:4:4、4:2:2、または4:2:0クロマである可能性があります。amp導いた。 入力色差amplerは、あらゆる形式の入力ビデオを4:4:4に変換します。より高い画質を提供するために、クロマ解像度はamplerは最も計算コストの高いフィルタリングアルゴリズムを使用します。Nios IIプロセッサは現在のクロマを読み取ります。ampDisplayPortレシーバーIPからAvalon-MMスレーブインターフェースを介してリングフォーマットを受け取ります。フォーマットをクロマ解像度に伝えます。ampAvalon-MM スレーブ インターフェイスを介して ler を実行します。
カラースペースコンバーター(入力)
DisplayPortからの入力ビデオデータは、RGBまたはYCbCrカラースペースのいずれかを使用できます。入力カラースペースコンバータは、どのような形式でも着信ビデオを受け取り、すべてのケースでRGBに変換します。Nios IIプロセッサは、Avalon-MMスレーブインターフェイスを使用してDisplayPortレシーバIPから現在のカラースペースを読み取り、正しい変換係数をクロマ解像度にロードします。ampAvalon-MM スレーブ インターフェイスを介して ler を実行します。
クリッパー
クリッパーは、入力ビデオ ストリームからアクティブ領域を選択し、残りを破棄します。Nios II プロセッサで実行されるソフトウェア制御によって、選択する領域が定義されます。領域は、DisplayPort ソースで受信したデータの解像度と、出力解像度およびスケーリング モードによって異なります。プロセッサは、Avalon-MM スレーブ インターフェイスを介して、クリッパーに領域を伝えます。
スケーラー
この設計では、受信した入力解像度と必要な出力解像度に応じて、入力ビデオ データにスケーリングを適用します。また、3 つのスケーリング モード (アップスケール、ダウンスケール、パススルー) から選択することもできます。2 つのスカラー IP がスケーリング機能を提供します。1 つは必要なダウンスケールを実装し、もう 1 つはアップスケールを実装します。この設計には 2 つのスケーラーが必要です。
- スケーラがダウンスケールを実装する場合、出力ですべてのクロックサイクルで有効なデータが生成されるわけではありません。たとえば、ampたとえば、2 倍のダウンスケール比を実装する場合、設計が各偶数入力ラインを受信している間、出力の有効信号は XNUMX クロック サイクルおきに高くなり、その後、奇数入力ライン全体で低くなります。このバースト動作は、出力でのデータ レートを削減するプロセスの基本ですが、出力でのアンダーフローを回避するために通常より一貫したデータ レートを期待する下流のミキサー IP とは互換性がありません。設計では、ダウンスケールとミキサーの間にフレーム バッファーが必要です。フレーム バッファーにより、ミキサーは必要なレートでデータを読み取ることができます。
- スケーラがアップスケールを実装すると、クロックサイクルごとに有効なデータが生成され、次のミキサーに問題はありません。ただし、クロックサイクルごとに新しい入力データを受け入れるとは限りません。2倍のアップスケールを例に挙げると、ampつまり、偶数の出力ラインでは、1 クロック サイクルおきに新しいデータ ビートを受け入れ、奇数の出力ラインでは新しい入力データを受け入れません。ただし、アップストリーム クリッパーは、大幅なクリップ (ズームイン中など) を適用する場合、まったく異なるレートでデータを生成することがあります。したがって、クリッパーとアップスケールは、通常、フレーム バッファーで分離する必要があり、パイプライン内でスケーラーはフレーム バッファーの後に配置する必要があります。ダウンスケールの場合、スケーラーはフレーム バッファーの前に配置する必要があるため、設計では、フレーム バッファーの両側に 2 つの個別のスケーラーを実装します。1 つはアップスケール用、もう 1 つはダウンスケール用です。
4 つのスケーラーは、フレーム バッファーに必要な最大 DDRXNUMX 帯域幅も削減します。ダウンスケールは必ずフレーム バッファーの前に適用し、書き込み側のデータ レートを最小限に抑える必要があります。アップスケールは必ずフレーム バッファーの後に適用し、読み取り側のデータ レートを最小限に抑えます。各スケーラーは、着信ビデオ ストリーム内の制御パケットから必要な入力解像度を取得し、Avalon-MM スレーブ インターフェイスを備えた Nios II プロセッサーは、各スケーラーの出力解像度を設定します。
フレームバッファ
フレーム バッファーは、DDR4 メモリを使用してトリプル バッファリングを実行し、ビデオおよび画像処理パイプラインが受信フレーム レートと送信フレーム レート間のフレーム レート変換を実行できるようにします。設計は任意の入力フレーム レートを受け入れることができますが、合計ピクセル レートは 1 ギガピクセル/秒を超えてはなりません。Nios II ソフトウェアは、選択した出力モードに応じて、出力フレーム レートを 30 fps または 60 fps に設定します。出力フレーム レートは、クロック ビデオ出力設定と出力ビデオ ピクセル クロックの関数です。クロック ビデオ出力がパイプラインに適用するバックプレッシャーによって、フレーム バッファーの読み取り側が DDR4 からビデオ フレームを取得するレートが決まります。
ミキサー
ミキサーは、Nios II プロセッサが現在の出力画像のサイズに一致するようにプログラムする固定サイズの黒い背景画像を生成します。ミキサーには 50 つの入力があります。最初の入力はアップスケーラに接続され、デザインが現在のビデオ パイプラインからの出力を表示できるようにします。XNUMX 番目の入力はアイコン ジェネレータ ブロックに接続されます。デザインは、クロックされたビデオ入力でアクティブで安定したビデオを検出した場合にのみ、ミキサーの最初の入力を有効にします。したがって、デザインは、入力でホットプラグしている間、出力で安定した出力画像を維持します。デザインは、アイコン ジェネレータに接続されたミキサーへの XNUMX 番目の入力を、背景とビデオ パイプライン画像の両方に XNUMX% の透明度でアルファ ブレンドします。
カラースペースコンバーター(出力)
出力カラー スペース コンバーターは、入力 RGB ビデオ データを、ソフトウェアのランタイム設定に基づいて RGB または YCbCr カラー スペースに変換します。
クロマレスampler (出力)
出力彩度amplerは、フォーマットを4:4:4から4:4:4、4:2:2、または4:2:0のいずれかのフォーマットに変換します。ソフトウェアがフォーマットを設定します。出力クロマ解像度はampler はまた、フィルタリングされたアルゴリズムを使用して、高品質のビデオを実現します。
クロック ビデオ出力
クロック ビデオ出力は、Avalon-ST ビデオ ストリームをクロック ビデオ形式に変換します。クロック ビデオ出力は、水平および垂直ブランキングと同期タイミング情報をビデオに追加します。Nios II プロセッサは、要求された出力解像度とフレーム レートに応じて、クロック ビデオ出力の関連設定をプログラムします。クロック ビデオ出力は、固定の 300 MHz パイプライン クロックからクロック ビデオの可変レートにクロックを変換します。
クロックドビデオをDisplayPortへ
DisplayPort トランスミッター コンポーネントは、クロック ビデオとしてフォーマットされたデータを受け入れます。Platform Designer の配線シグナリングとコンジット インターフェイスの宣言が異なるため、クロック ビデオ出力を DisplayPort トランスミッター IP に直接接続することはできません。クロック ビデオから DisplayPort へのコンポーネントは、クロック ビデオ出力と DisplayPort トランスミッター IP 間で必要な簡単な変換を提供する設計固有のカスタム IP です。また、Avalon-ST Video と DisplayPort で使用されるさまざまなカラー フォーマット標準を考慮して、各ピクセルのカラー プレーンの順序を入れ替えます。
DisplayPort トランスミッタ IP と DisplayPort トランスミッタ PHY
DisplayPort トランスミッター IP と DisplayPort トランスミッター PHY は連携して、ビデオ ストリームをクロック ビデオから準拠した DisplayPort ストリームに変換します。DisplayPort トランスミッター IP は DisplayPort プロトコルを処理し、有効な DisplayPort データをエンコードします。一方、DisplayPort トランスミッター PHY にはトランシーバーが含まれており、高速シリアル出力を作成します。
Nios II プロセッサおよびペリフェラル
Platform Designer システムには、DisplayPort レシーバーおよびトランスミッターの IP と、処理パイプラインのランタイム設定を管理する Nios II プロセッサーが含まれています。Nios II プロセッサーは、次の基本的な周辺機器に接続します。
- プログラムとそのデータを格納するオンチップ メモリ。
- AJTAG ソフトウェア printf 出力を表示するための UART (Nios II 端末経由)。
- DisplayPort 仕様の最小イベント期間の要件に従って、ソフトウェアのさまざまなポイントでミリ秒レベルの遅延を生成するシステム タイマー。
- システムの状態を表示する LED。
- プッシュボタン スイッチにより、スケーリング モードを切り替えたり、Intel ロゴの表示を有効または無効にしたりできます。
- DIP スイッチを使用すると、出力形式を切り替えたり、Nios II 端末へのメッセージの印刷を有効または無効にしたりできます。
DisplayPort ソースとシンクの両方でホットプラグ イベントが発生すると、Nios II プロセッサが DisplayPort トランスミッタとパイプラインを正しく構成するようにトリガーする割り込みが発生します。ソフトウェア コードのメイン ループは、プッシュ ボタンと DIP スイッチの値も監視し、それに応じてパイプラインの設定を変更することもできます。
I²C コントローラ
このデザインには、Intel Arria 5338 8460 GX FPGA 開発キットの他の 10 つのコンポーネントの設定を編集するための 10 つの I²C コントローラー (Si5338 と PS10) が含まれています。Intel Arria 4 GX FPGA 開発キットの 100 つの Si1066 クロック ジェネレーターは、同じ I²C バスに接続します。最初のものは、DDR4 EMIF のリファレンス クロックを生成します。デフォルトでは、このクロックは 4 MHz DDR1200 で使用するために 150 MHz に設定されていますが、このデザインでは DDR5338 を 4 MHz で実行するため、150 MHz のリファレンス クロックが必要です。起動時に、Nios II プロセッサーは、I²C コントローラー ペリフェラルを介して、最初の Si5338 のレジスタ マップの設定を変更し、DDR1.4 リファレンス クロックの速度を 8460 MHz に上げます。XNUMX 番目の SiXNUMX クロック ジェネレーターは、パイプラインと DisplayPort トランスミッター IP 間のクロック ビデオ インターフェイスの vid_clk を生成します。このクロックの速度は、設計でサポートされているさまざまな出力解像度とフレーム レートごとに調整する必要があります。Nios II プロセッサで必要な場合は、実行時に速度を調整できます。Bitec DisplayPort XNUMX FMC ドーター カードは、Parade PSXNUMX ジッター クリーニング リピーターおよびリタイマーを使用します。起動時に、Nios II プロセッサは、設計の要件を満たすようにこのコンポーネントのデフォルト設定を編集します。
ソフトウェアの説明
8Kディスプレイポートビデオフォーマット変換設計例ample には、Intel ビデオおよび画像処理スイートの IP と DisplayPort インターフェイス IP が含まれています。これらの IP はすべて、正しくセットアップされていれば、それ以上の介入なしにデータ フレームを処理できます。最初に IP をセットアップし、システムが変更されたとき (DisplayPort レシーバーまたはトランスミッターのホットプラグ イベントやユーザーのプッシュ ボタン アクティビティなど) に外部の高レベル制御を実装する必要があります。この設計では、特注の制御ソフトウェアを実行する Nios II プロセッサーが高レベル制御を提供します。起動時にソフトウェアは次の処理を実行します。
- DDR4 リファレンス クロックを 150 MHz に設定して 1200 MHz DDR 速度を可能にし、外部メモリ インターフェイス IP をリセットして新しいリファレンス クロックで再調整します。
- PS8460 DisplayPort リピーターとリタイマーを設定します。
- DisplayPort 受信機と送信機のインターフェイスを初期化します。
- 処理パイプライン IP を初期化します。
初期化が完了すると、ソフトウェアは連続 while ループに入り、いくつかのイベントをチェックして反応します。
スケーリングモードの変更
この設計は、パススルー、アップスケール、ダウンスケールの 3 つの基本的なスケーリング モードをサポートしています。パススルー モードでは入力ビデオのスケーリングは行われず、アップスケール モードでは入力ビデオがアップスケールされ、ダウンスケール モードでは入力ビデオがダウンスケールされます。
処理パイプラインの 4 つのブロック、クリッパー、ダウンスケーラー、アップスケーラー、ミキサーは、各モードでの最終出力のプレゼンテーションを決定します。ソフトウェアは、現在の入力解像度、出力解像度、および選択したスケーリング モードに応じて、各ブロックの設定を制御します。ほとんどの場合、クリッパーは入力を変更せずに通過させ、ミキサーの背景サイズは、入力ビデオの最終的なスケーリング バージョンと同じサイズになります。ただし、入力ビデオの解像度が出力サイズより大きい場合は、最初にクリッピングせずに入力ビデオにアップスケールを適用することはできません。入力解像度が出力より小さい場合は、入力ビデオ レイヤーよりも大きいミキサーの背景レイヤーを適用せずにダウンスケールを適用することはできません。これにより、出力ビデオの周囲に黒いバーが追加されます。
表4. 処理ブロックパイプライン
この表には、スケーリング モード、入力解像度、出力解像度の 9 つの組み合わせそれぞれにおける 4 つの処理パイプライン ブロックの動作がリストされています。
モード | イン > アウト | イン = アウト | イン < アウト |
パススルー | 出力サイズにクリップダウンスケールなし | クリップなし
ダウンスケールなし |
クリップなし
ダウンスケールなし |
続き… |
モード | イン > アウト | イン = アウト | イン < アウト |
高級感はない
黒い枠線なし |
高級感はない
黒い枠線なし |
高級感はない
出力サイズに合わせた黒枠パッド |
|
高級 | 出力サイズの2/3にクリップダウンスケールなし
出力サイズに合わせて拡大します。黒い枠線はありません。 |
出力サイズの2/3にクリップダウンスケールなし
出力サイズに合わせて拡大します。黒い枠線はありません。 |
クリップなし
ダウンスケールなし 出力サイズに合わせて拡大します。黒い枠線はありません。 |
ダウンスケール | クリップなし
出力サイズに縮小 アップスケールなし 黒い枠線なし |
クリップなし
出力サイズに縮小 アップスケールなし 黒い枠線なし |
クリップなし
入力サイズの2/3にダウンスケール アップスケールなし 出力サイズに合わせた黒枠パッド |
ユーザーのプッシュ ボタン 1 を押してモードを切り替えます。ソフトウェアはループを実行するたびにプッシュ ボタンの値を監視し (ソフトウェア デバウンスを実行)、処理パイプライン内の IP を適切に構成します。
DisplayPort入力の変更
ループを実行するたびに、ソフトウェアはクロック ビデオ入力のステータスをポーリングし、入力ビデオ ストリームの安定性の変化を探します。ソフトウェアは、次の場合にビデオが安定していると見なします。
- クロック ビデオ入力は、クロック ビデオが正常にロックされたことを報告します。
- 入力解像度と色空間は、前回のループ実行以降変更されていません。
入力が安定していたがロックが失われた場合、またはビデオ ストリームのプロパティが変更された場合、ソフトウェアはパイプラインを介してビデオを送信するクロック ビデオ入力を停止します。また、ミキサーを設定して入力ビデオ レイヤーの表示を停止します。レシーバーのホットプラグ イベントまたは解像度の変更中は、出力はアクティブなままです (黒い画面と Intel ロゴが表示されます)。
入力が安定していなかったが、現在は安定している場合、ソフトウェアはパイプラインを構成して新しい入力解像度と色空間を表示し、CVIからの出力を再開し、ミキサーを設定して入力ビデオレイヤーを再度表示します。ミキサーレイヤーの再有効化はすぐには行われません。フレームバッファーが以前の入力からの古いフレームを繰り返している可能性があり、設計でこれらのフレームをクリアする必要があるためです。その後、グリッチを回避するためにディスプレイを再度有効化できます。フレームバッファーは、Nios IIプロセッサーが読み取ることができるDDR4から読み取られたフレームの数をカウントします。ソフトウェアは、amp入力が安定したときにこのカウントを減らし、カウントが 4 フレーム増加するとミキサー レイヤーを再度有効にします。これにより、設計によって古いフレームがバッファーから確実にフラッシュされます。
DisplayPortトランスミッターのホットプラグイベント
DisplayPort トランスミッタのホットプラグ イベントは、ソフトウェア内で割り込みを発生させ、出力の変更をメイン ソフトウェア ループに通知するフラグを設定します。設計がトランスミッタのホットプラグを検出すると、ソフトウェアは新しいディスプレイの EDID を読み取り、サポートされる解像度と色空間を判断します。DIP スイッチを新しいディスプレイがサポートできないモードに設定すると、ソフトウェアは要求の少ないディスプレイ モードにフォールバックします。次に、パイプライン、DisplayPort トランスミッタ IP、およびトランスミッタ vid_clk を生成する Si5338 パーツを新しい出力モード用に構成します。入力に変更があると、ソフトウェアがパイプラインの設定を編集するため、入力ビデオのミキサー レイヤーは表示されません。ソフトウェアは、
新しい設定がフレームを通過する4フレーム後まで表示が続きます
バッファ。
ユーザー DIP スイッチ設定の変更
ユーザー DIP スイッチ 2 ~ 6 の位置は、DisplayPort トランスミッターを介して駆動される出力形式 (解像度、フレーム レート、色空間、色あたりのビット数) を制御します。ソフトウェアがこれらの DIP スイッチの変更を検出すると、トランスミッターのホット プラグと実質的に同じシーケンスを実行します。トランスミッターの EDID は変更されないため、照会する必要はありません。
AN 889: 8K DisplayPort ビデオフォーマット変換設計例の改訂履歴ample
表5. AN 889の改訂履歴: 8K DisplayPortビデオフォーマット変換設計例ample
ドキュメントバージョン | 変更点 |
2019.05.30 | 初回リリース。 |
インテルコーポレーション。 全著作権所有。 Intel、Intel ロゴ、およびその他の Intel マークは、Intel Corporation またはその子会社の商標です。 インテルは、インテルの標準保証に従って、FPGA および半導体製品の性能を現在の仕様に合わせて保証しますが、予告なしにいつでも製品およびサービスを変更する権利を留保します。 インテルは、インテルが書面で明示的に同意した場合を除き、ここに記載されている情報、製品、またはサービスの適用または使用から生じる一切の責任を負わないものとします。 インテルのお客様は、公開されている情報を信頼したり、製品やサービスを注文したりする前に、最新バージョンのデバイス仕様を入手することをお勧めします。
*その他の名称およびブランドは、一般に各社の所有物である場合があります。
ドキュメント / リソース
![]() |
intel AN 889 8K DisplayPort ビデオフォーマット変換設計例ample [pdf] ユーザーガイド AN 889 8K DisplayPort ビデオ フォーマット変換設計例ample、AN 889、8K DisplayPortビデオフォーマット変換設計Example、フォーマット変換設計例ample、コンバージョンデザインExample |