FC2カウンター FPGAの部屋 Ultra96用PMOD拡張ボードを使って、PMOD VGAで画像出力3(実機テスト)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Ultra96用PMOD拡張ボードを使って、PMOD VGAで画像出力3(実機テスト)

Ultra96用PMOD拡張ボードを使って、PMOD VGAで画像出力2(Vivado編)”の続き。

前回は、Vivado 2018.3 で display_cont_Ultra96_183 プロジェクトを作成し、そのプロジェクトのディレクトリに display_cont_ip ディレクトリを作成した。display_cont_ip ディレクトリに前回Vivado HLS で作成したIP をコピーした。そして、論理合成、インプリメンテーション、ビットストリームの生成を行って、ビットファイルが生成された。今回は、生成されたビットファイルをbin ファイルに変換して、Ultra96 ボード上のDebian で動作させてみよう。

最初に ~/HDL/Ultra96/display_cont_Ultra96_183 ディレクトリに display_cont_wrapper.bif を作成した。display_cont_wrapper.bif を示す。

all:
{
    [destination_device = pl] display_cont_wrapper.bit
}


display_cont.bin を生成する。
bootgen -image display_cont_wrapper.bif -arch zynqmp -w -o display_cont.bin
display_Ultra96_13_181223.png

display_cont.bin が生成された。
display_Ultra96_14_181223.png

SFTP でUltra96 のDebian にdisplay_cont.bin をアップロードした。
display_cont.bin を /lib/firmware/ にコピーした。
sudo cp display_cont.bin /lib/firmware/
display_Ultra96_15_181223.png

display_cont.bin が /lib/firmware/ にコピーされた。
display_Ultra96_16_181223.png

fpga-load.dts 、 fclk0-zynqmp.dts 、 lddtovray.sh 、 rmdtovray.sh を作成した。
fpga-load.dts を示す。

/dts-v1/;
/ {
    fragment@0 {
        target-path = "/fpga-full";
        __overlay__ {
            firmware-name = "display_cont.bin";
        };
    };
};


fclk0-zynqmp.dts を示す。

/dts-v1/;/plugin/;
/ {
    fragment@0 {
        target-path = "/amba";
        __overlay__ {
            fclk0 {
                compatible    = "ikwzm,fclkcfg-0.10.a";
                clocks        = <&clk 0x47>;
                insert-rate   = "40000000";
                insert-enable = <1>;
                remove-rate   = "1000000";
                remove-enable = <0>;
            };
        };
    };
};


lddtovray.sh を示す。

#!/bin/bash

sudo mkdir /config/device-tree/overlays/fpga
sudo cp fpga-load.dtb /config/device-tree/overlays/fpga/dtbo
sudo mkdir /config/device-tree/overlays/fclk0
sudo cp fclk0-zynqmp.dtb /config/device-tree/overlays/fclk0/dtbo


rmdtovray.sh を示す。

#!/bin/bash

sudo rmdir /config/device-tree/overlays/fclk0
sudo rmdir /config/device-tree/overlays/fpga/


display_Ultra96_17_181223.png

fpga-load.dts 、 fclk0-zynqmp.dts をコンパイルする。
display_Ultra96_18_181223.png

pga-load.dtb 、 fclk0-zynqmp.dtb が生成された。
display_Ultra96_19_181223.png

./loddtovray.sh を実行した。
display_Ultra96_20_181223.png

その際のシリアルポートの出力を示す。
display_Ultra96_21_181223.png

PMOD VGA に接続されたディスプレイに画像が表示された。成功だ。
display_Ultra96_24_181226.jpg

Ultra96 ボード、Ultra96 用PMOD 拡張ボード、PMOD VGA の写真を示す。
display_Ultra96_26_181226.jpg

最後に、HREF と VSYNC のオシロスコープの波形を示す。上の黄色の線がHREF で水色の線がVSYNC だ。
display_Ultra96_25_181226.jpg
  1. 2018年12月26日 05:12 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/4396-9b352408
この記事にトラックバックする(FC2ブログユーザー)