FC2カウンター FPGAの部屋 2019年10月
FC2ブログ

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

FPGAの部屋

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

SDx のUltra96-V2 用プラットフォームを作る8(SDxでプラットフォーム・プロジェクトを生成)

SDx のUltra96-V2 用プラットフォームを作る8(PetaLinuxプロジェクト4)”の続き。

前回は、PetaLinux 2018.3 からスタテック・リンクされていたライブラリ(libsds_lib.so)がダイナミック・リンクに変更になっているので、その処理を行った。今回は、PetaLinux での作業は終了したので、SDx を立ち上げてプラットフォーム・プロジェクトを生成し、ビルドしていこう。

今回参考にさせていただくのは、”2018.3 SDSoC™ Development Environment Tutorials”の”Lab 2: Creating the SDSoC Platform” の”Step 1: Launching the SDx™ IDE”と”Step 2: Creating a New Platform Project”と”Step 3: Defining the System Configuration and Generating the Platform”だけど、Ultra96V2 用なので、アレンジを加えていく。

SDx を立ち上げた。
まずは、source コマンドで、SDx のsettings64.sh を起動して、環境を整えた。
sdx でSDx を起動した。
ワークスペースを聞かれるので、適当なディレクトリを指定した。
SDx_platform_94_191011.png

SDx が立ち上がった。
SDx_platform_95_191011.png

SDx の File メニューから New -> SDx Platform Project... を選択した。

New Platform Project ダイアログが表示された。
Create new platform project 画面でProject name に Ultra96V2_Platform1 を設定した。
SDx_platform_96_191011.png

platform project 画面で、デフォルトのCreate from hardware specification のラジオボタンが選択されているのを確認する。
SDx_platform_97_191011.png

Platform Project Specification 画面では、デフォルトのままとして、Finish ボタンをクリックする。
SDx_platform_98_191011.png

Ultra96V2_Platform1 プラットフォーム・プロジェクトが作られた。
SDx_platform_99_191011.png

Generate prebuilt data にラジオボタンをクリックする。
+アイコンをクリックして、System Configuration を選択する。
New System Configuration ダイアログが表示された。
Name にLinuxConfig と入力した。
SDx_platform_100_191012.png

Use pre-built software components ラジオボタンをクリックする。
Boot Directory のBrows ボタンをクリックして、”SDx のUltra96-V2 用プラットフォームを作る7(PetaLinuxプロジェクト3)”で作成した ~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/images/linux/boot/ ディレクトリを選択した。
Bif File のBrows ボタンをクリックして、”SDx のUltra96-V2 用プラットフォームを作る7(PetaLinuxプロジェクト3)”で作成した ~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/images/linux/ の boot.bif を選択した。
SDx_platform_101_191012.png

+アイコンをクリックして、Domain を選択した。
Name に linux_domain と入力した。
OS は Linux を選択した。
SDx_platform_102_191012.png

LinuxConfig の下に、linux_domain が入った。
linux_domain を選択して、Image の Browse... ボタンをクリックし、”SDx のUltra96-V2 用プラットフォームを作る7(PetaLinuxプロジェクト3)”で作成した ~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/images/linux/images/ ディレクトリを選択した。
SDx_platform_103_191012.png

Ultra96V2_Platform1 -> sysconfig1 -> standalone on psu cortexa53_0 -> Board Suport Package をクリックした。
Board Suport Package の Modify BSP Settings... ボタンをクリックする。
SDx_platform_104_191012.png

stdin, stdout を psu_uart_1 に設定した。
SDx_platform_105_191012.png

Modify BSP Settings ダイアログが表示された。Yes ボタンをクリックする。
SDx_platform_106_191012.png

Ultra96V2_Platform1 プラットフォームがgenerate された。
SDx_platform_107_191012.png
  1. 2019年10月12日 08:59 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

SDx のUltra96-V2 用プラットフォームを作る8(PetaLinuxプロジェクト4)

SDx のUltra96-V2 用プラットフォームを作る7(PetaLinuxプロジェクト3)”の続き。

前回は、petalinux-build を行って、elf ファイルやLinux イメージを生成し、それらをSDx で利用しやすいように環境を整えた。今回は、PetaLinux 2018.3 からスタテック・リンクされていたライブラリ(libsds_lib.so)がダイナミック・リンクに変更になっているので、その処理を行う。

”プラットフォーム開発の際には、以前にスタティックにリンクされていたライブラリがダイナミックにリンクされる
ようになり (libsds_lib.so)、ボードで実行する Linux ファイル システムに含める必要があることに注意してくだ
さい。”UG1146 (v2018.3) 2019 年 1 月 24 日 プラットフォーム開発ガイド” 77 ページ(v2018.3からダイナミック・リンク・ライブラリになったようです)

今回も”Building Custom SDSoC Platform with PetaLinux”の”Step 2: Creating Petalinux for SDSoC”の”For SDSoC 2018.3 and above with PetaLinux”から設定方法を引用させていただいた。

Linux user application を作成する。
petalinux-create -t apps --template install --name mylib --enable
SDx_platform_85_191010.png

mylib ファイルを削除して、libsds_lib.so を同じディレクトリにコピーした。
rm ~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib/files/mylib

cp /tools/Xilinx/SDx/2018.3/target/aarch64-linux/lib/libsds_lib.so ~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib/files/

SDx_platform_86_191010.png

SDx_platform_87_191010.png

~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib/mylib.bb を編集した。
SDx_platform_88_191010.png

mylib.bb の内容を示す。

#
# This file is the mylib recipe.
#

SUMMARY = "Simple mylib application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://libsds_lib.so \
 "

S = "${WORKDIR}"
TARGET_CC_ARCH += "${LDFLAGS}"
do_install() {
      install -d ${D}/${bindir}
      install -m 0755 ${S}/libsds_lib.so ${D}/${bindir}
}
FILES_${PN} += "${libdir}"
FILES_SOLIBSDEV = ""


ROOT FSをビルドした。
petalinux-build -c rootfs
SDx_platform_89_191011.png

ログを示す。

(py27) masaaki@masaaki-H110M4-M01:~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1$ petalinux-build -c rootfs
[INFO] building rootfs
[INFO] sourcing bitbake
INFO: bitbake petalinux-user-image -c do_image_complete
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3460 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:03
Parsing of 2570 .bb files complete (2534 cached, 36 parsed). 3462 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:05
Checking sstate mirror object availability: 100% |###############| Time: 0:00:06
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: petalinux-user-image-1.0-r0 do_rootfs: [log_check] petalinux-user-image: found 1 warning message in the logfile:
[log_check] warning: %post(sysvinit-inittab-2.88dsf-r10.plnx_zynqmp) scriptlet failed, exit status 1

NOTE: Tasks Summary: Attempted 2325 tasks of which 2303 didn't need to be rerun and all succeeded.

Summary: There were 2 WARNING messages shown.
INFO: Copying Images from deploy to images
NOTE: Failed to copy built images to tftp dir:  /tftpboot
[INFO] successfully built rootfs



次に、libsds_lib_dbg.so についても手順を繰り返す。
petalinux-create -t apps --template install --name mylib2 --enable

rm ~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib2/files/mylib2

cp /tools/Xilinx/SDx/2018.3/target/aarch64-linux/lib/libsds_lib_dbg.so ~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib2/files/

SDx_platform_90_191011.png

SDx_platform_91_191011.png

~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-apps/mylib2/mylib2.bb を編集した。
SDx_platform_92_191011.png

#
# This file is the mylib2 recipe.
#

SUMMARY = "Simple mylib2 application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://libsds_lib_dbg.so \
 "

S = "${WORKDIR}"
TARGET_CC_ARCH += "${LDFLAGS}"
do_install() {
      install -d ${D}/${bindir}
      install -m 0755 ${S}/libsds_lib_dbg.so ${D}/${bindir}
}
FILES_${PN} += "${libdir}"
FILES_SOLIBSDEV = ""


petalinux-build -c rootfs
SDx_platform_93_191011.png

ログを示す。

(py27) masaaki@masaaki-H110M4-M01:~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1$ petalinux-build -c rootfs
[INFO] building rootfs
[INFO] sourcing bitbake
INFO: bitbake petalinux-user-image -c do_image_complete
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3461 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:03
Parsing of 2571 .bb files complete (2535 cached, 36 parsed). 3463 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:05
Checking sstate mirror object availability: 100% |###############| Time: 0:00:05
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: petalinux-user-image-1.0-r0 do_rootfs: [log_check] petalinux-user-image: found 1 warning message in the logfile:
[log_check] warning: %post(sysvinit-inittab-2.88dsf-r10.plnx_zynqmp) scriptlet failed, exit status 1

NOTE: Tasks Summary: Attempted 2336 tasks of which 2316 didn't need to be rerun and all succeeded.

Summary: There were 2 WARNING messages shown.
INFO: Copying Images from deploy to images
NOTE: Failed to copy built images to tftp dir:  /tftpboot
[INFO] successfully built rootfs

  1. 2019年10月11日 05:44 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

「蜜蜂と遠雷」(映画)を見てきました

昨日、「蜜蜂と遠雷」(映画)を見てきました。休暇を取って奥さんと見に行きました。
本を3回くらい読んでいて、楽しみにして見に行ったのですが、やはり、あのボリュームを2時間に収めるのは大変なんでしょう。ハリーポッター・シリーズの映画と同じ感じでした。本を読まないで、映画だけ見に行った人は分かるのかな?
  1. 2019年10月11日 05:03 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

SDx のUltra96-V2 用プラットフォームを作る7(PetaLinuxプロジェクト3)

SDx のUltra96-V2 用プラットフォームを作る6(PetaLinuxプロジェクト2)”の続き。

前回は、PetaLinux 2018.3 のプロジェクトの petalinux-config を行った。今回は、petalinux-build を行って、elf ファイルやLinux イメージを生成し、それらをSDx で利用しやすいように環境を整える。

今回も”Building Custom SDSoC Platform with PetaLinux”の”Step 2: Creating Petalinux for SDSoC”から設定方法を引用させていただいた。

~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-bsp/device-tree/files ディレクトリの system-user.dtsi を編集した。
SDx_platform_78_191008.png

SDx_platform_79_191008.png

system-user.dtsi の内容を示す。

/include/ "system-conf.dtsi"
/ {
    xlnk {
    compatible = "xlnx,xlnk-1.0";
    };
};



さて、準備ができたので、ビルドする。
petalinux-build
SDx_platform_80_191008.png

ログを示す。

(py27) masaaki@masaaki-H110M4-M01:~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1$ petalinux-build
[INFO] building project
[INFO] sourcing bitbake
INFO: bitbake petalinux-user-image
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3460 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:03
Parsing of 2569 .bb files complete (2534 cached, 35 parsed). 3461 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:06
Checking sstate mirror object availability: 100% |###############| Time: 0:00:11
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: petalinux-user-image-1.0-r0 do_rootfs: [log_check] petalinux-user-image: found 1 warning message in the logfile:
[log_check] warning: %post(sysvinit-inittab-2.88dsf-r10.plnx_zynqmp) scriptlet failed, exit status 1

NOTE: Tasks Summary: Attempted 3132 tasks of which 2275 didn't need to be rerun and all succeeded.

Summary: There were 2 WARNING messages shown.
INFO: Copying Images from deploy to images
INFO: Creating images/linux directory
NOTE: Failed to copy built images to tftp dir:  /tftpboot
[INFO] successfully built project


~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/images/linux に elf やイメージが生成された。
SDx_platform_81_191008.png

~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/images/linux に boot, image ディレクトリを生成した。

boot ディレクトリには、bl31.elf, pmufw.elf, u-boot.elf を上のディレクトリからコピーした。そして、zynqmp_fsbl.elf を fsbl.elf と名前を変えて boot ディレクトリにコピーした。

image ディレクトリには、上のディレクトリから、image.ub をコピーした。
SDx_platform_82_191010.png

~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/images/linux に boot.bif を生成した。
これはフルパスで書く必要があったので、フルパスで書いた。
SDx_platform_83_191010.png

SDx_platform_84_191010.png

boot.bif の内容を示す。

the_ROM_image:
{
    [fsbl_config] a53_x64
    [bootloader] /home/masaaki/Petalinux/PetaL_proj/Ultra96V2_Platform1/images/linux/boot/fsbl.elf
    [pmufw_image] /home/masaaki/Petalinux/PetaL_proj/Ultra96V2_Platform1/images/linux/boot/pmufw.elf
    [destination_device=pl] /home/masaaki/HDL/Ultra96/SDx_platform/Ultra96V2_Platform1/Ultra96V2_Platform1.runs/impl_1/Ultra96V2_Platform1_wrapper.bit
    [destination_cpu=a53-0, exception_level=el-3, trustzone] /home/masaaki/Petalinux/PetaL_proj/Ultra96V2_Platform1/images/linux/boot/bl31.elf
    [destination_cpu=a53-0, exception_level=el-2] /home/masaaki/Petalinux/PetaL_proj/Ultra96V2_Platform1/images/linux/boot/u-boot.elf
}

  1. 2019年10月10日 04:31 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

SDx のUltra96-V2 用プラットフォームを作る6(PetaLinuxプロジェクト2)

SDx のUltra96-V2 用プラットフォームを作る5(PetaLinuxプロジェクト1)”の続き。

前回は、PetaLinux 2018.3 のプロジェクトを作成し、petalinux-config を行ったが、Python が 3系だったので、エラーになってしまった。その対策として、”pythonのバージョンを切り替える(anaconda使用の場合)”で Python を 2系に切り替えた。今回は、再度、petalinux-config を行っていく。

今回も”Building Custom SDSoC Platform with PetaLinux”の”Step 2: Creating Petalinux for SDSoC”から設定方法を引用させていただいた。

早速、前回失敗した petalinux-config を行う。
petalinux-config --get-hw-description=Ultra96V2_Platform1.sdk
SDx_platform_64_191008.png

今度は成功したログを示す。

(py27) masaaki@masaaki-H110M4-M01:~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1$ petalinux-config --get-hw-description=Ultra96V2_Platform1.sdk
INFO: Getting hardware description...
INFO: Rename Ultra96V2_Platform1_wrapper.hdf to system.hdf
[INFO] generating Kconfig for project
[INFO] menuconfig project


*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.

[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] generating bbappends for project . This may take time ! 
rsync: change_dir "/home/masaaki/PetaLinux/2018.3/components/yocto/source/arm/layers/core/meta/recipes-core/init-ifupdown/init-ifupdown-1.0" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1196) [sender=3.1.2]
rsync: change_dir "/home/masaaki/PetaLinux/2018.3/components/yocto/source/arm/layers/meta-petalinux/recipes-core/busybox/files" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1196) [sender=3.1.2]
sed: /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-plnx-generated/recipes-core/busybox/files/inetd.conf を読み込めません: そのようなファイルやディレクトリはありません
sed: /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-plnx-generated/recipes-core/busybox/files/inetd.conf を読み込めません: そのようなファイルやディレクトリはありません
sed: /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-plnx-generated/recipes-core/busybox/files/inetd.conf を読み込めません: そのようなファイルやディレクトリはありません
[INFO] generating u-boot configuration files
[INFO] generating kernel configuration files
[INFO] generating kconfig for Rootfs
[INFO] oldconfig rootfs
[INFO] generating petalinux-user-image.bb


次はカーネルを構築する。
petalinux-config -c kernel
SDx_platform_65_191008.png

SDx_platform_66_191008.png

端末の別タブに設定画面が表示された。
設定を行う。
Device Drivers -> Generic Driver Options -> Size in MB(1024)に変更する。
SDx_platform_67_191008.png

Device Drivers -> Staging drivers (ON) はすでにON されていた。

Device Drivers -> Staging drivers -> Xilinx APF Accelerator driver (ON) した。
SDx_platform_68_191008.png

Device Drivers -> Staging drivers -> Xilinx APF Accelerator driver -> Xilinx APF DMA engines support (ON)
SDx_platform_69_191008.png

CPU Power Management -> CPU idle -> CPU idle PM support (OFF)
SDx_platform_70_191008.png

CPU Power Management -> CPU Frequency scaling -> CPU Frequency scaling (OFF)
SDx_platform_71_191008.png

設定終了。
SDx_platform_72_191008.png

ログを示す。

(py27) masaaki@masaaki-H110M4-M01:~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1$ petalinux-config -c kernel
[INFO] generating Kconfig for project
[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] configuring: kernel
[INFO] generating kernel configuration files
[INFO] bitbake virtual/kernel -c menuconfig
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Parsing recipes: 100% |##########################################| Time: 0:01:15
Parsing of 2569 .bb files complete (0 cached, 2569 parsed). 3461 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:00
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2 tasks of which 0 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message shown.
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3460 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:03
Parsing of 2569 .bb files complete (2534 cached, 35 parsed). 3461 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:01
Checking sstate mirror object availability: 100% |###############| Time: 0:00:00
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 360 tasks of which 350 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message shown.
bitbake -c diffconfig virtual/kernel
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache...done.
Loaded 3460 entries from dependency cache.
Parsing recipes...done.
Parsing of 2569 .bb files complete (2534 cached, 35 parsed). 3461 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks...done.
Checking sstate mirror object availability...done.
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Running task 254 of 254 (/home/masaaki/PetaLinux/2018.3/components/yocto/source/aarch64/layers/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2018.3.bb:do_diffconfig)
NOTE: recipe linux-xlnx-4.14-xilinx-v2018.3+gitAUTOINC+eeab73d120-r0: task do_diffconfig: Started
Config fragment has been dumped into:
 /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/build/tmp/work/plnx_zynqmp-xilinx-linux/linux-xlnx/4.14-xilinx-v2018.3+gitAUTOINC+eeab73d120-r0/fragment.cfg
NOTE: recipe linux-xlnx-4.14-xilinx-v2018.3+gitAUTOINC+eeab73d120-r0: task do_diffconfig: Succeeded
NOTE: Tasks Summary: Attempted 254 tasks of which 253 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message shown.

generate_bbappend /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/build/tmp/work/plnx_zynqmp-xilinx-linux/linux-xlnx/4.14-xilinx-v2018.3+gitAUTOINC+eeab73d120-r0/user_2019-10-08-20-47-00.cfg /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/
recipetool appendsrcfile -wW /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/ virtual/kernel /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/build/tmp/work/plnx_zynqmp-xilinx-linux/linux-xlnx/4.14-xilinx-v2018.3+gitAUTOINC+eeab73d120-r0/user_2019-10-08-20-47-00.cfg
NOTE: Starting bitbake server...
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache...done.
Loaded 3460 entries from dependency cache.
Parsing recipes...done.
Parsing of 2569 .bb files complete (2534 cached, 35 parsed). 3461 targets, 137 skipped, 0 masked, 0 errors.

Summary: There was 1 WARNING message shown.
NOTE: Writing append file /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend
NOTE: Copying /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/build/tmp/work/plnx_zynqmp-xilinx-linux/linux-xlnx/4.14-xilinx-v2018.3+gitAUTOINC+eeab73d120-r0/user_2019-10-08-20-47-00.cfg to /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/meta-user/recipes-kernel/linux/linux-xlnx/user_2019-10-08-20-47-00.cfg

WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3460 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:03
Parsing of 2569 .bb files complete (2533 cached, 36 parsed). 3461 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:00
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2 tasks of which 0 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message shown.
[INFO] successfully configured kernel



ROOTFS を設定する。
petalinux-config -c rootfs
SDx_platform_73_191008.png

ROOTFS 設定ダイアログが表示された。
SDx_platform_74_191008.png

Filesystem Packages -> misc -> gcc-runtime -> libstdc++ (ON)
SDx_platform_75_191008.png

設定をセーブした。
SDx_platform_76_191008.png

SDx_platform_77_191008.png

ログを示す。

(py27) masaaki@masaaki-H110M4-M01:~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1$ petalinux-config -c rootfs
[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] configuring: rootfs
[INFO] generating kconfig for Rootfs
[INFO] menuconfig rootfs
configuration written to /home/masaaki/PetaLinux/PetaL_Proj/Ultra96V2_Platform1/project-spec/configs/rootfs_config

*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.

[INFO] generating petalinux-user-image.bb
[INFO] successfully configured rootfs


(py27) masaaki@masaaki-H110M4-M01:~/PetaLinux/PetaL_Proj/Ultra96V2_Platform1$ petalinux-build
[INFO] building project
[INFO] sourcing bitbake
INFO: bitbake petalinux-user-image
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3460 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:03
Parsing of 2569 .bb files complete (2534 cached, 35 parsed). 3461 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:06
Checking sstate mirror object availability: 100% |###############| Time: 0:00:11
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: petalinux-user-image-1.0-r0 do_rootfs: [log_check] petalinux-user-image: found 1 warning message in the logfile:
[log_check] warning: %post(sysvinit-inittab-2.88dsf-r10.plnx_zynqmp) scriptlet failed, exit status 1

NOTE: Tasks Summary: Attempted 3132 tasks of which 2275 didn't need to be rerun and all succeeded.

Summary: There were 2 WARNING messages shown.
INFO: Copying Images from deploy to images
INFO: Creating images/linux directory
NOTE: Failed to copy built images to tftp dir:  /tftpboot
[INFO] successfully built project

  1. 2019年10月09日 04:56 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

FPGAの部屋のブログを https に変更しました

FPGAの部屋のブログのアドレスを https://marsee101.blog.fc2.com/ に変更しました。
SSL に対応したのですが、まだ未対応があるようです。警告出ています。どこだか分からないので、おいおい直していきたいです。よろしくお願いいたします。
  1. 2019年10月09日 04:03 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

pythonのバージョンを切り替える(anaconda使用の場合)

SDx のUltra96-V2 用プラットフォームを作る5(PetaLinuxプロジェクト1)”で petalinux-config がERROR になってしまったが、python がバージョン 3.6.5 だったためだった。
python で動作するpython は 2系にしないといけないようだが、PetaLinux 動作させる時以外は python は 3系にしたい。ということで、python コマンドを 2系と 3系で切り替えられるようにした。

今回、参考にさせていただくのは、”anacondaでpythonのバージョン切り替える”だ。

私のUbuntu 18.04 でも Anaconda 使っているので、このスキームで 2系と 3系で切り替える。

conda create -n py27 python=2.7 anaconda
SDx_platform_61_191008.png

585.1 MB ダウンロードするようだ。かなり容量を食う。

インストール済みのpythonのバージョンを確認する。
conda info -e
SDx_platform_62_191008.png

base と py27 がある。
py27 に切り替える。
source activate py27
SDx_platform_63_191008.png

python --version コマンドを実行すると、バージョンは 2.7.16 になっていた。これで大丈夫だと思う。
  1. 2019年10月08日 03:59 |
  2. PetaLinux
  3. | トラックバック:0
  4. | コメント:0

SDx のUltra96-V2 用プラットフォームを作る5(PetaLinuxプロジェクト1)

SDx のUltra96-V2 用プラットフォームを作る4(DSA ファイルの生成)”の続き。

前回、SDx でプラットフォームを作成する時に使用されるDSA ファイルを生成した。今回は、PetaLinuxのプロジェクトを作成しよう。

今回は、”Building Custom SDSoC Platform with PetaLinux”の”Step 2: Creating Petalinux for SDSoC”を参考にしてやっていく。

まずは、Ultra96V2の 2018.3 のBoard Support Package (BSP) は最近、ツィッターで流れていたこのツィートのリンクからダウンロードしよう。


このリンクを開くと、ultra96v2_oob_2018_3.zip をダウンロードすることができる。
Download ボタンをクリックして、ダウンロードした。
SDx_platform_51_191007.png

~/PetaLinux/PtaL_Porj/ ディレクトリにダウンロードした。
SDx_platform_52_191007.png

BSP を使用して、PetaLinux プロジェクトを作成する。名前は、Ultra96V2_Platform1 だ。
petalinux-create -t project -n Ultra96V2_Platform1 -s ultra96v2_oob_2018_3.bsp
SDx_platform_53_191007.png

SDx のUltra96-V2 用プラットフォームを作る3(ビットストリームの生成)”で生成した Ultra96V2_Platform1.sdk をPetaLinux のUltra96V2_Platform1 プロジェクトのディレクトリにコピー&ペーストした。
SDx_platform_54_191007.png

petalinux-config --get-hw-description=Ultra96V2_Platform1.sdk
SDx_platform_55_191007.png

SDx_platform_56_191007.png

Docker 上のUbuntu 16.04 のPetaLinux 2018.3でRootFSを使用するUltra96のPetaLinuxをビルドする1”の”petalinux-config --get-hw-description=”の設定はすべて済んでいたので、Exit した。

Yes を選択する。
SDx_platform_57_191007.png

SDx_platform_58_191007.png

petalinux-config はエラーになってしまった。。。
~/PetaLinux/PtaL_Porj/build/config.log を開くと理由が分かった。
SDx_platform_59_191007.png

python --version
を実行するとPython のバージョンは 3.6.5 だった。config.log によるとPython のバージョンは 2系でないとだめなようだ。
SDx_platform_60_191007.png
  1. 2019年10月08日 03:31 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

SDx のUltra96-V2 用プラットフォームを作る4(DSA ファイルの生成)

SDx のUltra96-V2 用プラットフォームを作る3(ビットストリームの生成)”の続き。

前回は、HDL Wrapperを生成して、論理合成、インプリメンテーション、ビットストリームの生成を行った。今回は、DSA ファイルを生成する。これは、SDx でプラットフォームを作成する時に使用される。

今回は、”2018.3 SDSoC™ Development Environment Tutorials”の”Step 5: Writing Out the DSA”を参考にしてやっていく。

Vivado 2018.3 の下のウインドウで、Tcl Console タブをクリックする。
最初に、Vivado プロジェクトに cd しよう。
cd /home/masaaki/HDL/Ultra96/SDx_platform/Ultra96V2_Platform1/

DSA ファイルを生成する。
write_dsa -force -include_bit Ultra96V2_Platform1.dsa
SDx_platform_48_191007.png

cd /home/masaaki/HDL/Ultra96/SDx_platform/Ultra96V2_Platform1/
write_dsa -force -include_bit Ultra96V2_Platform1.dsa
INFO: [Vivado 12-4895] Creating DSA: Ultra96V2_Platform1.dsa ...
INFO: [Vivado 12-4896] Successfully created DSA: /home/masaaki/HDL/Ultra96/SDx_platform/Ultra96V2_Platform1/Ultra96V2_Platform1.dsa
write_dsa: Time (s): cpu = 00:00:12 ; elapsed = 00:00:10 . Memory (MB): peak = 8352.102 ; gain = 0.000 ; free physical = 10754 ; free virtual = 34938
/home/masaaki/HDL/Ultra96/SDx_platform/Ultra96V2_Platform1/Ultra96V2_Platform1.dsa


DSA ファイルが生成できた。
SDx_platform_49_191007.png

DSA ファイルを検証する。
validate_dsa Ultra96V2_Platform1.dsa
SDx_platform_50_191007.png

validate_dsa Ultra96V2_Platform1.dsa
INFO: [Vivado 12-6074] Validating DSA: 'Ultra96V2_Platform1.dsa'
INFO: [Vivado 12-4468] Found XML metadata file: dsa.xml
INFO: [Vivado 12-6078] Validating platform properties...
INFO: [Vivado 12-6079] Validating unified platform...
INFO: [Vivado 12-6073] Validating 'pre_synth' platform state...
INFO: [Vivado 12-6077] Validating platform files...
INFO: [Vivado 12-6067] Found file 'emu/emu.xml' of type 'EMU_XML' in the DSA.
INFO: [Vivado 12-6067] Found file 'Ultra96V2_Platform1.bit' of type 'FULL_BIT' in the DSA.
INFO: [Vivado 12-6067] Found file 'Ultra96V2_Platform1.hpfm' of type 'HPFM' in the DSA.
INFO: [Vivado 12-6067] Found file 'prj/rebuild.tcl' of type 'REBUILD_TCL' in the DSA.
INFO: [Vivado 12-6066] Finished running validate_dsa for file: 'Ultra96V2_Platform1.dsa'


DSA ファイルが生成できたので、SDx でプラットフォームを生成していこう。
  1. 2019年10月07日 04:13 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

SDx のUltra96-V2 用プラットフォームを作る3(ビットストリームの生成)

SDx のUltra96-V2 用プラットフォームを作る2(Platform Hardware Interfacesの宣言)”の続き。

前回は、Platform Hardware Interfacesとして宣言するために、Vivado で Platform Interfaces を設定した。今回は、HDL Wrapperを生成して、論理合成、インプリメンテーション、ビットストリームの生成を行う。

今回は、”2018.3 SDSoC™ Development Environment Tutorials”の”Step 4: Generating HDL Design Files”を参考にしてやっていく。

最初にGenerate Output Products を行う。
Sources ウインドウタブをクリックする。
Design Sources の下の Ultra96V2_Platform1 ブロックデザインを右クリックし、右クリックメニューからGenerate Output Products... を選択する。
SDx_platform_39_191005.png

Generate Output Products ダイアログが表示される。Generate ボタンをクリックする。
SDx_platform_40_191005.png

Generate Output Products ダイアログが表示される。
OKボタンをクリックする。
SDx_platform_41_191005.png

その後、Generate していて、終了を確認してから、Design Sources の下の Ultra96V2_Platform1 ブロックデザインを右クリックし、右クリックメニューからCreate HDL Wrapper... をクリックする。
SDx_platform_42_191005.png

Create HDL Wrapper ダイアログが表示される。
OKボタンをクリックする。
SDx_platform_43_191005.png

プロジェクトのDesign Sources のトップにUltra96V2_Platform1_wrapper.v が入った。
SDx_platform_44_191005.png

Flow Navigator 上でGenerate Bitstream をクリックしてビットストリームの生成を行う。

2つほどダイアログが出るが、OKボタンをクリックする。

時間が経過してから、Bitstream Generation Completed ダイアログが表示される。
SDx_platform_45_191005.png

Cancel ボタンをクリックする。

Project Summary を表示した。
SDx_platform_46_191005.png

Utilization はポートが無いので、0 % のようだ。

Vivado のFile メニューからExport -> Export Hardware... を選択する。

Export Hardware ダイアログ表示された。
Include bitstream にチェックを入れて、OKボタンをクリックする。
SDx_platform_47_191005.png
  1. 2019年10月06日 03:42 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

SDx のUltra96-V2 用プラットフォームを作る2(Platform Hardware Interfacesの宣言)

SDx のUltra96-V2 用プラットフォームを作る2(ブロックデザインの作成)”の続き。

前回は、ハードウェア・プラットフォーム用のブロックデザインを作成した。今回は、Platform Hardware Interfacesとして宣言するために、Vivado で Platform Interfaces を設定する。

今回は、2018.3 SDSoC™ Development Environment Tutorials の Lab1: Creating the DSA for a Zynq UltraScale+ MPSoC Processor Design の Step 3: Declaring the Platform Hardware Interfaces を参考にする。

Step 3: Declaring the Platform Hardware Interfaces にはいろいろと書いてあったが、結局 SDSoC でアクセラレーションする時にどのポートやクロック、割り込みリソースを使うかを指定しているのだと思う。
それではやっていこう。

Vivado 2018.3 の Window メニューからPlatform Interfaces を選択する。
platform interfaces が開く。
SDx_platform_28_191005.png

Enable platform interfaces をクリックした。
すると、SDSoC で使用できるインターフェースの一覧が表示される。
SDx_platform_29_191005.png

これはハイドされているので、まだ選択されていないようだ。
Platform を選択すると、Platform Properties ウインドウでPlatform の情報を設定できる。
SDx_platform_31_191005.png

board を Ultra96V2 に変更した。
SDx_platform_38_191005.png

ダブルクリックか、項目を選択してEnable を選択することで有効化できる。
clk_wiz_0 の clk_out1 〜 clk_out7 までを有効化した。
SDx_platform_32_191005.png

clk_out2 をクリックして、Platform Interface Properties ウインドウで Option タブをクリックして、 is_default のチェックボックスにチェックを入れる。
SDx_platform_33_191005.png

次に zynq_ultra_ps_e_0 のインターフェースの内で、 pl_clk0, S_AXI_ACP_FPD, and S_AXI_LPD を除くインターフェースを有効にする。
SDx_platform_34_191005.png

xlconcat_0 の In0 〜 In7 を有効にする。
SDx_platform_35_191005.png

xlconcat_1 の In0 〜 In7 を有効にする。
SDx_platform_36_191005.png

xlconcat_0 をクリックして、Block Properties ウインドウのProperties タブをクリックする。
PFM を展開すると、IRQ のどこが有効になっているか?の PFM プロバティが見える。
SDx_platform_37_191005.png

これで Platform Hardware Interfaces の設定は終了だが、 Step 3: Declaring the Platform Hardware Interfaces に記載されているTCL での設定を引用する。

1. PFM NAME
    set_property PFM_NAME “vendor:lib:zcu102_board:1.0”\  
    [get_files [get_property FILE_NAME [get_bd_designs]]]
2. PFM CLOCK
    set_property PFM.CLOCK {\  
    clk_out1 {id “1” is_default “false”\  
    proc_sys_reset “proc_sys_reset_0”}\  
    clk_out2 {id “2” is_default “true”\
    proc_sys_reset “proc_sys_reset_1”}\  
    clk_out3 {id “3” is_default “false”\  
    proc_sys_reset “proc_sys_reset_2”}\  
    clk_out4 {id “4” is_default “false”\  
    proc_sys_reset “proc_sys_reset_3”}\  
    clk_out5 {id “5” is_default “false”\  
    proc_sys_reset “proc_sys_reset_4”}\  
    clk_out6 {id “6” is_default “false”\  
    proc_sys_reset “proc_sys_reset_5”}\  
    clk_out7 {id “7” is_default “false”\  
    proc_sys_reset “proc_sys_reset_6”}\  
    } [get_bd_cells /clk_wiz_0]
3. PFM AXI Ports
    set_property PFM.AXI_PORT {\  
    M_AXI_HPM0_FPD {memport “M_AXI_GP” sptag “” memory “”}\  
    M_AXI_HPM1_FPD {memport “M_AXI_GP” sptag “” memory “”}\  
    M_AXI_HPM0_LPD {memport “M_AXI_GP” sptag “” memory “”}\  
    S_AXI_HPC0_FPD {memport “S_AXI_HPC” sptag “” memory “”}\  
    S_AXI_HPC1_FPD {memport “S_AXI_HPC” sptag “” memory “”}\  
    S_AXI_HP0_FPD {memport “S_AXI_HP” sptag “” memory “”}\  
    S_AXI_HP1_FPD {memport “S_AXI_HP” sptag “” memory “”}\  
    S_AXI_HP2_FPD {memport “S_AXI_HP” sptag “” memory “”}\  
    S_AXI_HP3_FPD {memport “S_AXI_HP” sptag “” memory “”}\  
    } [get_bd_cells /zynq_ultra_ps_e_0]
4. PFM Interrupts
    set_property PFM.IRQ {\  
    In0 {} In1 {} In2 {} In3 {} In4 {} In5 {} In6 {} In7 {}\
    } [get_bd_cells {/xlconcat_0 /xclconcat_1}]

  1. 2019年10月05日 04:52 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

SDx のUltra96-V2 用プラットフォームを作る2(ブロックデザインの作成)

SDx のUltra96-V2 用プラットフォームを作る1(PetaLinux 2018.3 のインストール、Vivado プロジェクト作成)”の続き。

前回は、SDx 2018.3 でUltra96-V2 用のプラットフォームを作成することにしたということで、PetaLinux 2018.3 をインストールし、Vivado プロジェクト作成を行った。今回は、ハードウェア・プラットフォーム用のブロックデザインを作成する。

やり方は、”Lab1: Creating the DSA for a Zynq UltraScale+ MPSoC Processor Design”に丁寧に掲載されているので、この資料を参照した。

Vivado 2018.3 のFlow Navigator から IP INTEGRATOR -> Create Block Design をクリックして、ブロックデザインを作成する。
Design name をUltra96V2_Platform1 とした。
SDx_platform_7_191001.png

Zynq UltraScale+ MPSoC をAdd IP した。
SDx_platform_8_191001.png

Run Block Automation をクリックして、ボード・ファイルの設定を反映する。
Run Block Automation ダイアログが開くので、OKボタンをクリックする。
SDx_platform_9_191001.png

Clocking Wizard、 Concat、 Processor System Reset をAdd IP する。
SDx_platform_10_191001.png

設定を行う。
zynq_ultra_ps_e_0 をダブルクリックして、設定画面を開く。
SDx_platform_11_191001.png

Page Navigator から PS-PL Configuration を選択する。
Geraral -> Interrupts -> IRQ1[0-7] の値を 1 に変更する。
PS-PL Interfaces -> Master Interface のAXI HPM0 FPD と AXI HPM1 FPD をチェックを解除する。
OKボタンをクリックする。
SDx_platform_12_191001.png

clk_wiz_0 をダブルクリックする。
Reset Type を Active Low に変更する。
SDx_platform_14_191001.png

SDx_platform_15_191001.png

xlconcat_0 をダブルクリックする。
Number of Ports を 1 に設定する。
SDx_platform_16_191001.png

SDx_platform_17_191001.png

Run Connection Automation をクリックする。
clk_wiz_0 の clk_in1 と proc_sys_reset_0 の slowest_sync_clk を接続する。
ただし、 proc_sys_reset_0 の slowest_sync_clk の接続先を/clk_wiz_0/clk_out1 に変更する。
SDx_platform_18_191003.png

SDx_platform_19_191003.png

並べ替え、配線を行った。オレンジの配線が今回配線した部分だ。
SDx_platform_20_191003.png

Validate Design アイコンをクリックして、デザインを検証する。
問題なかった。
SDx_platform_21_191003.png

clk_wiz_0 をダブルクリックする。
Output Clocks タブをクリックし、clk_out7 までクロック出力を活かして、以下のように設定した。
clk_out1 -> 75
clk_out2 -> 100
clk_out3 -> 150
clk_out4 -> 200.000
clk_out5 -> 300.000
clk_out6 -> 400.000
clk_out7 -> 600.000
Lab1: Creating the DSA for a Zynq UltraScale+ MPSoC Processor Design”から引用。
SDx_platform_22_191003.png

SDx_platform_23_191003.png

proc_sys_reset_0 を 6 回コピー&ペーストして、6 個のコピーを作成した。

xlconcat_0 をコピー&ペーストして、 xlconcat_1 を生成した。

Run Connection Automation をクリックして、clk_wiz_0 の clk_out2 〜 clk_out7 と proc_sys_reset_1 〜 proc_sys_reset_6 の slowest_sync_clk を接続する。
SDx_platform_24_191003.png

接続表を”Lab1: Creating the DSA for a Zynq UltraScale+ MPSoC Processor Design”の Step 2: Create an IP Integrator Design から引用する。
SDx_platform_27_191004.png

SDx_platform_25_191003.png

proc_sys_reset_1 〜 proc_sys_reset_6 の dcm_locked と ext_reset_in を手動で接続した。
SDx_platform_26_191003.png

これでブロックデザインが完成した。セーブを行った。
  1. 2019年10月04日 06:30 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

SDx のUltra96-V2 用プラットフォームを作る1(PetaLinux 2018.3 のインストール、Vivado プロジェクト作成)

以下の参考資料があるので、それに従ってSDx 2018.3 でUltra96-V2 用のプラットフォームを作成することにした。
2018.3 SDSoC™ Development Environment Tutorials”の
Lab1: Creating the DSA for a Zynq UltraScale+ MPSoC Processor Design
Lab 2: Creating the SDSoC Platform
Lab 3: Using Your Custom Platform
を参考にする。
また、”Building Custom SDSoC Platform with PetaLinux”も一緒に参考にしながらやっていこう。

SDx 2018.3 はインストール済みなので、Petalinux 2018.3 をXilinx のサイトからPetalinux 2018.3 のインストーラーの petalinux-v2018.3-final-installer.run をダウンロードした。
~/Petalinux ディレクトリに 2018.3 ディレクトリを作成した。そこに petalinux-v2018.3-final-installer.run をコピーして、実行権限を与えて、起動し、インストールを行った。

cd ~/Petalinux
mkdir 2018.3
mv petalinux-v2018.3-final-installer.run 2018.3
cd 2018.3
chmod +x petalinux-v2018.3-final-installer.run
./petalinux-v2018.3-final-installer.run


もうすでにPetaLinux の異なるバージョンはインストール済みなので、PetaLinux に必要なライブラリのインストールは済んでいる。
PetaLinux 2018.3 をインストールするのに必要なパッケージは”Docker上ののUbuntu 16.04にPetaLinux 2018.3をインストールする”を参照のこと。
SDx_platform_2_191001.png

~/Petalinux/2018.3 ディレクトリを示す。
SDx_platform_1_191001.png

PetaLinux 2018.3 がインストールできたので、”Lab1: Creating the DSA for a Zynq UltraScale+ MPSoC Processor Design”に従って、最初にVivado 2018.3 でハードウェアのプラットフォームを作成する。
詳しいVivado での操作方法は”Lab1: Creating the DSA for a Zynq UltraScale+ MPSoC Processor Design”に詳しく書いてあるので、踏襲しながらやっていこう。

最初に、Vivado 2018.3 でUltra96-V2 用のプロジェクト”Ultra96V2_Platform1”を作成していこう。
Vivado の起動画面で、Create Project をクリックしてプロジェクトを作成する。
New Project ダイアログのProject Name でProject name を”Ultra96V2_Platform1”に設定した。
SDx_platform_3_191001.png

New Project の Project Type ページはデフォルトのRTL Project のまま Next > ボタンをクリックする。

Add Sources ページでも Next > ボタンをクリックする。

Add Constraints ページでも Next > ボタンをクリックする。

Default Part ページでは、Boards をクリックし、Vendor: で”em.avnet.com”を選択し、Display Name が Ultra96v2 Evaluation Platform を選択する。
Next > ボタンをクリックする。
SDx_platform_4_191001.png

New Project Summary ページではサーマリが示される。Finish ボタンをクリックする。
SDx_platform_5_191001.png

”Ultra96V2_Platform1”Vivado 2018.3 プロジェクトが作成された。
SDx_platform_6_191001.png
  1. 2019年10月03日 04:55 |
  2. SDSoC
  3. | トラックバック:0
  4. | コメント:0

Vitis 統合ソフトウェア プラットフォーム

Vitis 統合ソフトウェア プラットフォームXDF 2019 で発表されたようです。

Vitis™ 統合ソフトウェア プラットフォームの概要だそうです。(https://japan.xilinx.com/products/design-tools/vitis/vitis-platform.html の図を引用) Vitisはバイティスと読むそうです。
Vitis_1_191002.png

Vitis Target Platform がFPGA のハードウェアでその上にXilinx Runtime library が乗って、ソフトウェアをコンパイルするのでしょうか?それともハードウェアもアクセラレーション用に再構築するのですかね?
その上にVitis Accelerated Libraries が乗っているんですね。これは、AI エンジンなどを効果的に使用するため?ソフトウェア・ライブラリとして、コンパイル時に呼ばれるようになっているんでしょうか?
その上にCaffe や TensorFlowがDomain-Specific Development Environment としてあるんですね。これらのツールも統合されるのかな?

いずれにせよ。楽しみなツールが出ます。早く使いたいですね。そして、これだけのライブラリが統合されるということは、相当HDD 領域を使用することでしょう。。。4 TB のHDD じゃなくて 6 TB 買ったほうが良かったかな?

とにかく早く使ってみたいです。Xilinx さんよろしくお願いいたします。
そして、Versal 使ってみたいですね。誰か貸してくれないですかね。

Vitis が来月、フリーで使えるようになるみたいですよ。皆さん、楽しみにしていましょうね。。。
Ultra96 用がありましたよ。ボードを使って確かめられそうです。
  1. 2019年10月02日 04:40 |
  2. Vitis
  3. | トラックバック:0
  4. | コメント:0

次にやりたいこと

次は、SDxでUltra96のプラットフォームを作りたいと思っていますが、最新版のSDx 2019.1をインストールしようとしたらHDDの残り容量が少ないことに気が付きました。すぐに 4TB のベアドライブをアマゾンで注文しました。

VenginnerさんがツィートしていたIBM/AccDNNもやってみたいですが、Caffeが必要なので、インストールとか面倒ですね。Dockerで環境作るのが良いかな? そこでもHDD足りないので、HDD が来るのを待つしか無いようです。

たばたさんのKaruta もやってみたですね。たばたさん頑張って実装されているので、報われてほしいです。
  1. 2019年10月01日 05:57 |
  2. 日記
  3. | トラックバック:0
  4. | コメント:0