« XILINX合成器のエラーチェック | トップページ | ZyboでLinux »

2015年2月22日 (日)

ZyboでDVI出力

ものすごく久しぶりに趣味に戻って来れたので、Zyboを弄っています。

DVI specification でぐぐったら、情報が集まったので、ためしにDVI(T.M.D.S.)のエンコーダをRTLで書いてみました。

英語版WikipediaのDVIの項 からhttp://www.webcitation.org/6ES9y2FuQ  にリンクが張られており、DDWGの Digital Visual Interface DVI Revision 1.0 02 April 1999 にたどり着けました。

8bitを10bitにする点ではPCIeなどと似ていなくも無いですが、グレイコードっぽい符号化(たぶんbitエラーが出ても絵の変化が少ないように)と、DCバランシングだけ行うシンプルな仕様のようですね。CDRというわけでも無いので普通のIO端子でいけてしまう所がすばらしい(XILINXはTMDSサポートしているので)。

とりあえず書きなぐってVGA(ピクセルクロック25MHz)で動かして見ると、見事にノイズだらけ。

Dsc_0038

DCバランスを取るためのカウンタをバグっていました。

ブランキングから離れると電位的にオフセットがずれてくるのだと思いますが、こういう風なエラーになるのですね。

修正しました。

Dsc_0039

今度は綺麗に出ました。DCバランスの重要性が分かりますね(汗)。

とりあえず現状のソースコード置いておきます。

例によって、ご利用は自己責任でお願いします。

「dvi_tx.zip」をダウンロード

 

一応プロジェクト丸ごとが欲しい方は github はこちらです。

https://github.com/ryuz/zybo_dvi_tx.git

まだ本当にエンコーダ部分だけです。

« XILINX合成器のエラーチェック | トップページ | ZyboでLinux »

FPGA」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: ZyboでDVI出力:

« XILINX合成器のエラーチェック | トップページ | ZyboでLinux »