15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ultra96の開発環境(Vivado2019.1)

Last updated at Posted at 2019-09-22

#Ultra96の開発ツール(Vivado 2019.1)

FPGAの仕事に関わっていると、時たま同じような質問を聞く場合があります。開発環境の整備もその一つで、どれをダウンロードすればいいのかが、
わからないということをよく聞きます。
実際に使いこなすには、いろいろ勉強をしないといけないのですが、少なくともどのツールがあれば、Ultra96を開発できるのかをご紹介します。

ここでは、FPGAのメーカーである、ザイリンクス社と、Ultra96を提供している、アヴネット社の情報を中心に、記述していきます。
対象ボードは Ultra96V1、Ultra96V2共通です

##必要な開発環境
Ultra96を開発するためのFPGA開発環境は次のLinux環境が必要です。

  • Red Hat Enterprise Workstation/Server 7.4、7.5、7.6 (64 ビット)
  • CentOS 7.4、7.5、7.6 (64 ビット)
  • Ubuntu Linux 16.04.5、18.04.1 (64 ビット)
    ※ただし、Ubuntu Linux 18.04.01は、バージョン2019.1から対応。
    この辺はザイリンクス社のリファレンスガイドがバージョン毎に出ているので、確認してみてください。今回はバージョン2019.1をご紹介しています。
    Vivadoリファレンスガイド
    SDSoC開発環境リファレンスガイド
    Petalinuxリファレンスガイド

RedHatは、有償ですが各種サポートが期待できます。
CentOSは、RedHatの無償版として、公開されています。
Ubuntuは、Linuxの中で現在一番人気があります。無償です。

##開発環境用Linuxのインストール
開発環境は、Linuxが必要となりますが、市販パソコンで、Linuxが最初からインストールされている例は少ないと思います。
そのため、WindowsやMacOSのパソコンからLinuxをインストールする必要があります。大きく分けて、次の方法があります。
1:すべてLinuxマシーンにする。 Linuxしか使えなくなります。
2:デュアルブートにする。  両OSを共存できます。インストールの時に、デュアルブートを選択できます。
3:仮想環境を使う   Windowsまたは、MacOS上に、仮想環境のツールをインストールして、その中にLinuxを入れる方法です。Oracl VM VirtualBOXなど有名です。

Linuxのインストールする方法は、検索すればみつかりますので、割愛しますが、お望みの方法を使用してください。

##Linuxの暗黙の文化
Linux自体は、世界で一番使われているOSです。知らず知らずのうちにお世話になっている人も多いです。
特にスマートフォンは、iOS、Andoroidともに、ベースにLinuxが入ってまして、その上に、GUIなど使いやすい環境を載せています。
ただし、開発用にLinuxを使おうとなると、ほぼCUI(コマンドライン)での操作が多くなります。ザイリンクス社のツールも例外ではなくて、Linuxを作るとなるとCUIしか選択筋がありません。Linux上ではターミナルと呼んでいますが、そのターミナルにお世話になることが多くなります。
また、もともと全部ツール等が全部入っているわけではなくて、必要に応じて、ライブラリー等をダウンロードして、インストールすることが多いです。
Linuxの解説をみていると、yumや、apt(apt-get)など使われています。これは、必要なものをダウンロードして使う場合に必要になります。
また、最近ではgit pipと言ったものも流行ってきています。これらも、ダウンロードして使うものです。(コンパイルすることもあります)
開発ツールを使うにも、予めダウンロードするものがいくつかあります。

##Ultra96向け開発ツールの分類は大きく分けて2つ。
ツールとしての分類は、大きく分けると2つに分けることができます。
一つが、ハードウェアからスタンドアローンのソフトウェアまで作成できる、ハードウェア系のツール。
もうひとつが、LinuxなどのOSを組み立てるためのLINUXツールになります。これはUltra96にのせるOSです。
ハードウェア系のツールはザイリンクス社からの一択です。
Linxu系については、ザイリンクス社からの提供の他、サードパーティー製や、オープンソースのものも使用できます。

##ハードウェア系のツール
Screenshot from 2019-09-21 09-37-07.png
ザイリンクス社製のFPGAを作るための開発ツールです。
Ultra96向けには2つの中から選択できます。一つがVivadoというツール、もうひとつがSDSoCというツールです。どちらか片方使用すればいいです。
VivadoとSDSoCの違いは、Vivadoがハードウェア技術者向けツールとして位置づけてるのに対して、SDSoCはVivadoが含まれてる上にC/C++言語だけで、開発できるツールがついてきます。
Vivadoの場合は、登録後無償で使用できます。(WebPack利用)
SDSOCの場合はラインセンスが必要ですが、Ultra96を購入した方には一緒についてきます。  
SDSOCの場合は、Vivadoの機能が全て入っています。
Vivadoで、インストールした場合は、SDSOCの機能は入っていません。

インストールする前に、事前にライブラリー等をダウンロードしておきます。私の場合、Ubuntuでやっているので、次のようにしています。

vivado_install.sh
sudo dpkg --add-architecture i386 
sudo apt update 
sudo apt install apt-utils libc6:i386 libncurses5:i386 libstdc++6:i386 g++-multilib libgtk2.0-0:i386 dpkg-dev:i386 libxtst6:i386 default-jre wget unzip net-tools libtext-csv-perl libcanberra-gtk-module libcanberra-gtk3-module lsb-core -y 
sudo ln -s /usr/bin/make /usr/bin/gmake 
sudo mkdir /tools
sudo chmod 777 /tools

###Vivadoの場合
Vivadoで必要なものですが、次のところからダウンロードします。
https://japan.xilinx.com/support/download/index.html/content/xilinx/ja/downloadNav/vivado-design-tools.html

ダウンロードするところは、次のところです(バージョン2019.1の場合)
Vivado Design Suite - HLx Edition - 2019.1 Full Product Installation
Updateは不要です。お望みの方をダウンロードしてください。ウェッブインストーラーはインターネットから、ファイルをダウンロードしながらインストールします。
シングルファイルはすべてをダウンロードしてから、インストールします。
Vivado HLx 2019.1: WebPACK および Editions - Linux 用自己解凍型ウェブ インストーラー (BIN - 115.05 MB)
または 
Vivado HLx 2019.1: すべての OS インストーラー シングルファイル ダウンロード(TAR/GZIP - 21.39 GB)

ともに、事前にザイリンクス社に登録、ダウンロードの承認をしたあと、無料でダウンロードできます。
インストールはウェブインストールは次のとおりになります。

vivado.bin
chmod 755 Xilinx_Vivado_SDK_Web_2019.1_0524_1430_Lin64.bin
./Xilinx_Vivado_SDK_Web_2019.1_0524_1430_Lin64.bin

シングルファイルの場合も解凍後、xsetupを実行してください。

順番に行けばインストールできます。途中で、どのツールをインストールするか聞いてきますが、webpackで、十分です。
インストールの最後に、ライセンス登録の案内が出てきますが、WebPackを選択した方は不要ですので、そのままキャンセルしてください。

###SDOSCの場合
SDSoCの場合は次のところからダウンロードします。
https://japan.xilinx.com/support/download/index.html/content/xilinx/ja/downloadNav/sdx-development-environments.html
次のものをダウンロードします。
SDSoC - 2019.1 Full Product Installation
お望みの方をダウンロードしてください。ウェッブインストーラーはインターネットから、ファイルをダウンロードしながらインストールします。
シングルファイルはすべてをダウンロードしてから、インストールします。
Linux 64 用 SDSoC 2019.1 ウェブ インストーラー (BIN - 114.52 MB)
SDx 2019.1 SFD (TAR/GZIP - 25.8 GB)

ウェブインストーラーは、そのまま実行してください。

sdsoc.bin
chmod 755 Xilinx_SDSoC_2019.1_0524_1430_Lin64.bin
./Xilinx_SDSoC_2019.1_0524_1430_Lin64.bin

シングルファイルは、解凍後、./xsetup で実行できます。

承諾書を承諾したあと、特に指定しなければ、そのままインストールを続けてください。

SDSoCの場合、すべての機能を使おうとするときは、ラインセスが必要となります。
ライセンスはUltra96を購入するとついてきますので、それを使用してください。
インストール後に登録できるようになります。
また、Vivadoの機能に限定すれば、ライセンス無しでも使用できます。

###ボードファイル
Ultra96の場合、予めボードファイルをVivadoに準備しておくと、便利です。
ダウンロードは次のところです。
https://github.com/Avnet/bdf/archive/master.zip

unzip master.zip 等で、解凍後、bdf-master以下のディレクトリーを次のところにコピーします。
/tools/Xilinx/Vivado/2019.1/data/boards/board_files

コマンドだとこんな感じです。(バージョン2019.1の場合、適宜変更してください)

bdf_download.sh
wget https://github.com/Avnet/bdf/archive/master.zip
unzip master.zip
cp -rf bdf-master/* /tools/Xilinx/Vivado/2019.1/data/boards/board_files

###ケーブルドライバーのインストール
Vivadoまたは、SDSoCをインストール後、USB-JTAG Podを持っている方は、ケーブルドラーバーをインストールしておいたほうが便利です。
次のようにします。

install_drives
cd /tools/Xilinx/Vivado/2019.1/data/xicom/cable_drivers/lin64/install_script/install_drivers
sudo ./install_drivers

##Linuxツール
Ultra96向けLinux開発ツールの場合は選択筋が多く、どれを使っても構いません。逆にたくさんありすぎて困るかもしれません。
その中で、ご紹介するするのは、ザイリンクス社からでているのは、Petalinuxというツールです。
特徴としては、

  • 簡単なコマンドだけで、Linuxのビルドができ、イメージができる。
  • ザイリンクスの他のツールとの親和性がある。
  • 他のLinuxのツールに比べると、設定の自由度が低くなる。
    などがあります。
    使っている方は、Linuxビルドシステムの勉強時間が取れなかったり、とりあえずやってみようという方が多い感じがします。

###PetaLinux
ザイリンクス社が提供している、Linuxの開発ツールです。ホストはLinuxのみ対応です。
ザイリンクスのFPGAに搭載されている、CPUに対して、Linuxに必要なカーネルなどのビルドシステムを提供しています。
少ないコマンドでビルドできるのが特徴です。
全体として、CUI(コマンドライン、ターミナル)での実行になります。GUIはありません。

まず、準備としては、予め必要な処理を行っておきます。私の場合はUbuntuで構成しました。
途中でなにか聞かれることがあると思いますが、必要に応じて実行してください。

petalinux_install
sudo dpkg-reconfigure dash
sudo dpkg --add-architecture i386 
sudo apt update 
sudo apt install -y tofrodos iproute2 gawk make net-tools locales cpio libncurses5-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev screen pax gzip xvfb tftpd tftp libtool-bin default-jre  lsb-release zlib1g:i386 git python-dev 
sudo locale-gen en_US.UTF-8 
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en 
export LC_ALL=en_US.UTF-8
sudo mkdir -p /opt/petalinux/
sudo chmod -R 777 /opt/petalinux/ 
sudo mkdir /tftpboot
sudo chmod 666 /tftpboot

PetaLinuxは次のところからダウンロードできます。
https://japan.xilinx.com/support/download/index.html/content/xilinx/ja/downloadNav/embedded-design-tools.html
必要なのが次のファイルになります。
PetaLinux - インストレーション ファイル - 2019.1
PetaLinux 2019.1 インストーラー (TAR/GZIP - 7.14 GB)

ダウンロードしたファイルは、実行可能な属性を与えたうえ、直接実行します。

petalinux.run
chmod 755 petalinux-v2019.1-final-installer.run
./petalinux-v2019.1-final-installer.run /opt/petalinux

承諾書等を確認しながら、インストールが終了します。

###環境変数の設定
Vivadoと、Petalinuxを実行するときには環境変数の設定が必要です。
毎回、設定してもいいのですが、予めターミナルを立ち上がるときに自動設定することもできます。
そのための設定方法は次のとおりになります。

.bashrc
sudo echo "source /tools/Xilinx/Vivado/2019.1/settings64.sh " >> ~/.bashrc 
sudo echo "source /opt/petalinux/settings.sh " >> ~/.bashrc 

開発環境の設定はこれで可能です。

##Petalinux向けBSPの作成
2019年12月15日追記。
本来なら、別記事で紹介しようと思っていたのですが、Vitisというツールが出てきたこと、
また、Avnetから簡単にBSPを作る方法が提供されましたので、ご紹介します。
ソースファイルは
まずは適当なフォルダーを作成して、次の3つのファイルをダウンロードをします。

download.sh
git clone -b 2019.1 https://github.com/Avnet/hdl.git
git clone -b 2019.1 https://github.com/Avnet/petalinux.git
git clone https://github.com/Avnet/bdf.git

ディレクトリーを変更します。

chdir.sh
cd ./petalinux/scripts

その後、次のスクリプトを実行します。

Ultra96V1の場合

make_ultra96v1_petalinux_full_bsp.sh
source ./make_ultra96v1_petalinux_full_bsp.sh

Ultra96V2の場合

make_ultra96v2_obb_bsp.sh
source ./make_ultra96v2_obb_bsp.sh 

自動的にVivadoとPetalinuxが動作しまして、数時間後、BSPファイルが作成されます。

15
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?