DVIエンコーダモジュールの取付け

75MHz毎に出力されるRGB各8bit計24bitをDVI形式の高速シリアル通信として出力する必要があるが,その際にDVIエンコーダモジュールを使用する.
今回は,実験ボードであるNEXYS VideoのリファレンスデザインとしてDigilent社から提供されている"rgb2dvi"モジュールをそのまま利用する.
rgb2dvi モジュール構成は下図のようになっている.



動作は以下の通りである.
  1. RBGの各8bitのパラレル信号をDataEncoderモジュールによりDVI信号のルールに従って10bitにエンコードする.

  2. 得られたRGBの各10ビットDataSerializerモジュールによりパラレル-シリアル変換する. シリアル化の際には"SerialClk"として75MHzの5倍の周波数である375MHzを使用し,前半周期と 後半周期のそれぞれにデータを乗せる(Double Data Rate)ことで750bpsの速度で送り出す.

  3. 出力はOBUFDSプリミティブを使用しLVDSの差動信号として出力する.

  4. DVI用のクロックは別途同様に作成しRGBのシリアル信号と共に出力する.

  5. 5倍の周波数である"SerialClk"は"rgb2dvi"モジュール内から呼び出すPLLモジュールにより作成している.
rgb2dviモジュールの関連ファイルは,ここから入手し,作業ディレクトリ内に解凍する.

参考文献
漆谷正義:“第5章 画像入力・表示系のバス/インターフェース規格,”インタフェース2009年9月号,pp.76-84,CQ出版社.
次に,回答したDVIエンコーダモジュールをプロジェクトに追加します.
"Sources"の"Design Sources"の所でマウスの右ボタンを押し,"Add Sources..."を実行します.



"Add Directories"を実行して,rgb2dviのソースが入っているディレクトリを指定します.
この時,下図のように"Copy Sources into project"と"Add sources from subdirectories"のチェックを入れて"Finish"を押します.



下図のように,rgb2dviが登録されていることが分かります.



次に,rgb2dviモジュールをダイアグラム内に追加します.
"Sources"の"Design Sources"内の"rgb2dvi"をマウスの左ボダンでつかみ, 右側ウィンドウの"Diagram"内へドラッグ&ドロップします.
以下のような画面になります.



次に,"rgb2vga"の属性をひとつ変更します.
下図のように"rgb2vga"を選択し,マウスの左ボタンを押して, "Customize Block..."を実行します.



立ち上がるウィンドウ内で,"Kclkrange"を1から2に,
また,"Krstactivehigh"のチェックを外し,負論理リセットを使うように変更しておきます.





次に、"rgb2dvi"モジュールからの出力端子を作成します.
下図のように,"rgb2dvi"モジュールの"TMDS_Clk_p"端子を選択してハイライ トさせた後,マウスの左ボタンを押して"Create Port..."を実行します.



立ち上がったウィンドウはそのまま"OK"を押します.
同様にして,"TMDS_Clk_n","TMDS_Data_p"および"TMDS_Data_n"の各出力についても出力端子を作成します.
以下のような画面になります.




次に,ビデオモジュールと"rgb2dvi"モジュールを手作業で配線します.
下図のように,
ビデオモジュール"pDATA" -> "rgb2dvi"の"vid_pData",
ビデオモジュール"DE" -> "rgb2dvi"の"vid_pVDE",
ビデオモジュール"VS" -> "rgb2dvi"の"vid_pVSync",
ビデオモジュール"HS" -> "rgb2dvi"の"vid_pHSync",
に接続します.また,
"rgb2dvi"の"aRst_n"は何処かのモジュールの"axi_aresetn"へ,
"rgb2dvi"の"PixelClk"はクロックモジュールの"CLK75"へ接続します.
"rgb2dvi"の"aRst"と"SerialClk"は未接続で構いません.
ビデオモジュールの"CGA_CLK" は クロックモジュールの"CLK75"へ接続します.




最後に,ビデオ出力端子をFPGAの物理端子へ対応させる制約条件ファイルをプロジェクトに登録します.
制約条件ファイルはここから入手し,作業ディレクトリ内に保存します.
"Sources"の"Constraints"の"Constrs_1"所でマウスの右ボタンを押し, "Add Sources..."を実行します.そして入手した"rgb2dvi.xdc"を登録します.




登録後は以下のような画面になります.



以上で、システムのハードウェア設計は終了しました。
次は、 組込みシステムの実装処理 です。
| Back | Top | Next |