FC2カウンター FPGAの部屋 2020年04月22日
FC2ブログ

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

FPGAの部屋

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

Xilinx/Vitis_Embedded_Platform_Source を試してみる1(zcu104_base)

Xilinx/Vitis_Embedded_Platform_Source を GitHub で見つけたので、Xilinx 社製の Vitis アクセラレーション・プラットフォームを見てみよう。
今回は、Xilinx_Official_Platforms の zcu104_base を make all してみた。

まずは、Xilinx/Vitis_Embedded_Platform_Source を git clone する。
git clone https://github.com/Xilinx/Vitis_Embedded_Platform_Source.git
Vitis_custom_platform_1_200421.png

Vitis_Embedded_Platform_Source/Xilinx_Official_Platforms のディレクトリの内容を示す。
Vitis_custom_platform_2_200421.png

Vitis_Embedded_Platform_Source/Xilinx_Reference_Platforms のディレクトリの内容を示す。
Vitis_custom_platform_3_200421.png

この中から Xilinx_Official_Platforms の zcu104_base を make してみよう。
cd Vitis_Embedded_Platform_Source/Xilinx_Official_Platforms/zcu104_base/
ls
make all

Vitis_custom_platform_4_200421.png
Vitis_custom_platform_5_200421.png

時間かかった。1時間以上はやっていた。
途中で、Vivado がたくさん起動してメモリを食いまくって、スワップを使うようになり極端にパソコンのレスポンスが悪くなってしまった。私のUbuntu 18.04 のパソコンは 32 GB のメモリを積んでいるのだが、危なかった。 48 GB のパソコンではスワップは使ってなかった。
少なくとも 32 GB のメモリを搭載したパソコンで make する必要がある。 16 GB のメモリでは無理だと思う。
できれば 48 GB 以上のメモリを搭載したパソコンでの make をお勧めする。

Vitis アクセラレーション・プラットフォームは zcu104_base/platform_repo/zcu104_base/export/zcu104_base ディレクトリに生成されていた。
Vitis_custom_platform_8_200422.png

zcu104_base/vivado/zcu104_base ディレクトリの Vivado 2019.2 のプロジェクトを見ていこう。
Vitis_custom_platform_9_200422.png

ブロックデザインを示す。
Vitis_custom_platform_10_200422.png

axi_intc_0 が実装されていて、割り込みを受けられるようになっているのかも知れないが、不思議なことにプラットフォームの設定で有効になっていないようだ?
デフォルトのクロックは 150 MHz だった。

clk_wiz_0 の出力クロック設定画面を示す。
Vitis_custom_platform_11_200422.png

Address Editor 画面を示す。
Vitis_custom_platform_12_200422.png

Platform Interface 画面を示す。
ブロックデザインで使用していた M_AXI_HPM0_FPD と M_AXI_HPM0_LPD はディスエーブルになっている。
xlconcat_interrupt_0 はすべてディスエーブルになっていた。
Vitis_custom_platform_13_200422.png

次にソフトウェアを見ていこう。
zcu104_base/petalinux/project-spec/meta-user/conf ディレクトリの user-rootsconfig ファイルを見た。
Vitis_custom_platform_14_200422.png

Vitis_custom_platform_15_200422.png

#Note: Mention Each package in individual line
#These packages will get added into rootfs menu entry

CONFIG_gpio-demo
CONFIG_peekpoke
CONFIG_gstreamer-vcu-examples
CONFIG_packagegroup-petalinux-v4lutils
CONFIG_packagegroup-petalinux-audio
CONFIG_gstreamer-vcu-notebooks
CONFIG_xrt
CONFIG_mnt-sd
CONFIG_xrt-dev
CONFIG_zocl
CONFIG_opencl-clhpp-dev
CONFIG_opencl-headers-dev
CONFIG_packagegroup-petalinux-opencv



zcu104_base/petalinux/project-spec/meta-user/recipes-bsp/device-tree/files ディレクトリの system-user.dtsi を見た。
Vitis_custom_platform_16_200422.png

Vitis_custom_platform_17_200422.png

/include/ "system-conf.dtsi"
/ {
};
&amba {
    axi_intc_0: axi-interrupt-ctrl {
        #interrupt-cells = <2>;
        compatible = "xlnx,xps-intc-1.00.a";
        interrupt-controller;
        reg = <0x0 0x80020000 0x0 0x1000>;
        xlnx,kind-of-intr = <0x0>;
        xlnx,num-intr-inputs = <0x20>;
        interrupt-parent = <&gic>;
        interrupts = <0 89 4>;
    };

    zyxclmm_drm {
        compatible = "xlnx,zocl";
        status = "okay";
        interrupt-parent = <&axi_intc_0>;
        interrupts = <0  4>, <1  4>, <2  4>, <3  4>,
                 <4  4>, <5  4>, <6  4>, <7  4>,
                 <8  4>, <9  4>, <10 4>, <11 4>,
                 <12 4>, <13 4>, <14 4>, <15 4>,
                 <16 4>, <17 4>, <18 4>, <19 4>,
                 <20 4>, <21 4>, <22 4>, <23 4>,
                 <24 4>, <25 4>, <26 4>, <27 4>,
                 <28 4>, <29 4>, <30 4>, <31 4>;
    };
};


  1. 2020年04月22日 04:58 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0