開発環境
FPGA
zynq
xilinx
zybo

ZYBO (Zynq) 初心者ガイド (1) 開発環境の準備

この記事について

2018年になったので、何か新しいことをやろうと思い、ZYBO(Z7-20)を購入しました。自分のメモ代わりにやったことをまとめていこうと思います。初心者用のガイド記事ではなく、初心者によるガイド記事です。
まずは、開発環境の準備です。

簡単な事前説明

こんな記事を見ているということは、既に事前知識がある程度あると思うのですが、簡単に用語説明です。

  • Zynq
    • Xilinxから販売されているFPGA SoC。Programmable Logic部(FPGA)とProcessing System部(CPUと、UART/GPIOなどのペリフェラルIP) から成る
  • Zybo
    • Digilentから販売されている、Zynqを搭載した開発ボード
  • Zybo Z7-20
    • ZYNQ-7020を搭載した開発用ボード。CPUはCortex-A9 x 2個
  • Vivado Design Suite
    • 複数のツールから構成される、Xilinxの設計開発環境。主に使うのは、以下の2つ
    • Vivado: RTLを書いたり、配置配線をする。これでハードウェアを作る
    • Xilinx SDK: Vivadoが吐き出したハードウェア情報を基に、CPU上で動作するソフトウェアを作る (EclipseベースのIDE)

01.png

環境

  • 開発用PC: Windows 10 64-bit
    • Vivado 2017.4 WebPACKライセンス
    • Xilinx SDK 2017.4
  • ターゲットボード: ZYBO (Z7-20)
    • DIGILENT (http://store.digilentinc.com/zybo-z7-zynq-7000-arm-fpga-soc-development-board/)
      • せっかくなのでケチらずに「Zybo Z7-20 with SDSoC Voucher」にしました
      • SDSoCは、C/C++/OpenCLで開発が出来るツールのようです。直近は使いません。ただし、無印の「Zybo Z7-20」を購入した時に、Vivado WebPackのライセンスがついてくるかは不明
      • 秋月でも購入できます。秋月だと、SDSoCのライセンス付きのようです

購入後の確認

ボードの動作確認

購入時点で、動作確認用のプログラムが書き込まれています。ジャンパやスイッチもデフォルトでOKなのですが、念のため以下設定を確認してください。

  • JP5: QSPI (QSPIからコンフィギュレーションする)
  • JP6: VV5VD-USB (電源はUSB給電)

HDMI TXにHDMIケーブルを接続する。J12(電源スイッチの下)のマイクロUSB端子にUSBケーブルを接続する。これは電源供給のためなので、USBチャージャでもPCでもOK。電源スイッチをONにして、HDMIを接続した先のディスプレイに以下のように出力されればOKです。
動作確認が出来たら、インストール前にUSBケーブルは抜いておいてください

02.jpg

ライセンス番号の書かれたバウチャーを確認する

以下のような紙が同梱されているはずです。ここに、ライセンス番号が記載されています。数字4桁、ハイフン、数字6桁、ハイフン、英語4桁、ハイフン、数字9桁。
バウチャーの見た目や配布方法は変わるかもしれませんが、ライセンス付きを買ったにもかかわらず、ライセンス情報がどこにもなかったら、販売元に確認してください。

03.jpg

Vivadoのインストール

ツールのダウンロード

Xilinxのサイト(https://japan.xilinx.com/support/download.html )から、開発ツール(Vivado Design Suite)をダウンロードします。ダウンロードしようとしたら、ユーザ登録や会社情報の入力を求められると思いますが、素直に入力しましょう。個人の場合、会社名は「Individual」で良いと思います。ウェブインストーラとイメージ全部入り(16GByte)がありますが、ひとまずイメージ全部入りがおすすめです。

04.jpg

追記(2018/1/23)
将来的にSDSoCを使用する可能性がある方は、下記インストーラを使用して、SDSoCもまとめてインストールした方が楽だと思います。Vivado、Xilinx SDK、Vivadl HLSに加えて、SDSoCもセットになったインストーラです。
https://japan.xilinx.com/support/download/index.html/content/xilinx/ja/downloadNav/sdx-development-environments.html

ライセンスのアクティベート

ダウンロードを待っている間にでも、ライセンスのアクティベートを行います。まず、Xilinxのサイト(http://www.xilinx.com/getlicense )に行きます。再度ログインを求められて、以下のようなページに飛ばされます。

05.jpg

「enter voucher code」の所に、先ほど確認したライセンスをハイフン付きで入力して「Redeem Now」をクリックします。その後、Certificate Based Licensesのリストから「Vivado Design Suite: HL WebPACK...」をチェックします。そして、「Generate Node-Locked License」をクリックします。すると、画面が変わり、ライセンスファイルをメールしたという旨のメッセージが表示されます。

1分後くらいにメールが届き、ライセンスファイル(Xilinx.lic)が添付されているので、それをダウンロードしておきます。次に、Vivado License Managerを起動します。Windowsだと、基本的にツールは全部、スタートメニュー->Xilinx Design Toolsの下にあります。

Load Licenseを選択し、Copy Licenseをクリックします。そして、先ほど入手したラインセンスファイル(Xilinx.lic)を選択すれば、ライセンス設定が完了します。

06.jpg

SDSoCもインストールする場合

SDSoCを使うレベルにまで達せるか分かりませんが、せっかくライセンス付きを買ったので、こちらのライセンスも有効にしようと思います。Certificate Based Licensesのリストから「Vivado Design Suite: HL WebPACK...」と「SDSoC Environment,...」をチェックしてください。この場合は、固定のノード(パソコン)でしかツールを起動できないようになります。そのため、パソコンを特定するための情報を設定する必要があります。下記の図はハードディスクのシリアル番号にする場合の例です。Host ID TypeにDisk Serial Numberを選択します。入力するシリアル番号は、コマンドプロンプトからvol c:で確認できます。後は、先ほどと同じです。

07.jpg

ライセンスの対象製品と有効期限について

何故か分かりませんが、Certificate Based Licenses上では、Vivado WebPACKは2015かそれ以前、SDSoCが評価期間60日、のように表示されていました。しかし、実際には以下のように、SDSoCのライセンスは無期限だし、Vivado 2017.4に対してもライセンスを使うことが出来ています。ただし、2019.1以降のバージョンに対しては使えないっぽいです。

08.jpg

インストール

全イメージダウンロードしたとして説明します。ダウンロードしたXilinx_Vivado_SDK_2017.4_1216_1.tar.gzを解凍してxsetup.exeを実行します。基本的には全部デフォルト設定でOKです。エディションは「Vivado HL WebPACK」を選択します。インストール内容で、SDKもちゃんと選択されていることを確認してください(デフォルトでチェックついていると思いますが)。

09.jpg
10.jpg
11.jpg

Vivadoを起動してみる

インストール後、デスクトップにVivadoのアイコンが作られるので、ダブルクリックして起動します。以下のような画面が出ればOKです。Vivado HLSのアイコンも同時に作られますが、直近は使わないので無視してOKです。(Vivado HLSはC等の高級言語からハードウェアを作る、高位合成ツールというものらしいです)

12.jpg

ZYBOボードファイルの取得

今回は、ZYBOのボードを使用して開発を行います。そのため、ボード固有の接続情報等が必要になります。例えば、どのピンがLEDにつながっているか、等です。LEDくらいなら自分で設定することもできそうですが、DDRなんかは自分でやるのは厳しいです。そこらへんの情報をxmlで定義してあるものがボードファイルです。クロック設定なんかも入っていると思います。ZYBOはDigilentから販売されているため、DigilentのGithub(https://github.com/Digilent/vivado-boards/archive/master.zip )から取得できます。

標準のインストール先だと、ボードファイルはC:\Xilinx\Vivado\2017.4\data\boards\board_filesに保存されています。先ほどダウンロードしたファイルを解凍し、newというフォルダの中にあるboard_filesをコピーします。すると、後でVivado上でZYBOボードを使った開発が出来るようになります。

参考

https://reference.digilentinc.com/reference/software/vivado/board-files

おわりに

この記事は、組み込みソフトウェアエンジニアである自分がZynqを勉強した形跡です。ZynqもFPGAも素人です。調べながらやった内容を、自分のメモ代わりにほぼノータイムで、推敲なしに記載しています。そのため、間違いがあったり、後から記事の内容が修正される可能性がありますので、ご容赦ください。もしも間違っている内容等ありましたら、ぜひご指摘ください。