[FPGA] ZedBoard から VGA 出力

[FPGA] ZedBoard から VGA 出力

FPGA マガジンや、FPGA プログラミング大全に乗っていた、VGA 出力を ZedBoard で試してみる。

分周回路

reg [1:0] cnt;

always @( posedge clk, posedge reset ) begin
    if ( reset )
        cnt <= 2'h0;
    else
        cnt <= cnt + 2'h1;
end

assign pck = cnt[1];

Zedboard のクロックは 100MHz なので、これを4分周して 25MHz のクロックを作っている。cnt レジスタは 2bit で +1 でカウントアップをし続けることで、00 -> 01 -> 10 > 11 を繰り返す。この時、最上位 bit の cnt[1] が 1 になる立ち上がりを取得することで 1/4 のクロックが得られる?

ボードからの出力

FPGA からの出力はデジタル情報なので「ラダー抵抗」と呼ばれる仕組みを使って D-A 変換を行い、目的の電圧 (0.7V?) に変換してから VGA 端子で出力している。当たり前だが VGA はアナログなので、アナログに変換しないといけない。

参考

  • FPGA マガジン No.7
  • FPGA プログラミング大全 Xilinx編

Video Graphics Array
https://ja.wikipedia.org/wiki/Video_Graphics_Array
VGA端子
https://ja.wikipedia.org/wiki/VGA%E7%AB%AF%E5%AD%90
VGA Signal Timing
http://www.tinyvga.com/vga-timing
11 VGA Port
https://digilent.com/reference/programmable-logic/zybo/reference-manual
ちょっとTea Time!? VGAを調べてみる
http://www.easyaudiokit.com/bekkan2020/TeaTime8/vga.html
VGAモジュールの作成
http://www.arch.cs.kumamoto-u.ac.jp/~kuga/cad/exp/sys/2009/vga.html
分周器・CPUトップモジュール
https://sagara-works.jp/research-and-development/code-prescaler/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA