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)で動かして見ると、見事にノイズだらけ。
DCバランスを取るためのカウンタをバグっていました。
ブランキングから離れると電位的にオフセットがずれてくるのだと思いますが、こういう風なエラーになるのですね。
修正しました。
今度は綺麗に出ました。DCバランスの重要性が分かりますね(汗)。
とりあえず現状のソースコード置いておきます。
例によって、ご利用は自己責任でお願いします。
一応プロジェクト丸ごとが欲しい方は github はこちらです。
https://github.com/ryuz/zybo_dvi_tx.git
まだ本当にエンコーダ部分だけです。
« XILINX合成器のエラーチェック | トップページ | ZyboでLinux »
「FPGA」カテゴリの記事
- LUT-Networkの蒸留とMobileNet風構成とセマンティックセグメンテーション(2020.03.09)
- LUT-Networkの蒸留(Distillation)について(2019.12.29)
- FPGAでのDNN(Deep Neural Network)の整理(LUT-Netまとめ)(2019.12.15)
- LUT-NetのFPGAリソースについて(2019.12.08)
- MNIST認識のリアルタイム動作環境更新(2019.09.02)
この記事へのコメントは終了しました。
コメント