LoginSignup
0

More than 5 years have passed since last update.

UltraZed 向け Debian GNU/Linux (v2018.2版) の構築(Sample FPGA Design編)

Last updated at Posted at 2018-08-10

はじめに

UltraZed-EG スターターキットに Debian GNU/Linux (v2018.2版) を構築する方法について、具体的な方法をいくつかに分けて説明します。

この記事では、ZynqMP の Boot Loader で使うための Sample FPGA Design の構築について説明をします。

Sample FPGA Design を構築する目的

Vivado SDK では FSBL(First Stage Boot Loader) および PMUFW(Platform Manager Unit Firmware) をビルドするのにハードウェア情報が必要になります。ただしハードウェア情報のうち ZynqMP の PS(Processing System)の設定のみが必要なだけで、実は PL(Programmable Logic) の情報は必要ありません。ということは、PL 側のデザインは何でも良くて、ちゃんと PS 側の設定がされているハードウェア情報でありさえすれば良いのです。

U-Boot のビルドでもハードウェア情報に含まれるファイルが必要です。ただし、U-Boot でハードウェア情報に含まれるファイルが必要になるのは u-boot.spl をビルドする場合です。今回は u-boot.spl は使いませんので、一度作っておいたファイルを使いまわしても問題ありません。

Sample FPGA Design の構成

PS 側の情報が出来れば事足りるので、ここでは以下のような単純な FPGA デザインを作ります。

Fig.1 ZynqMP Sample Design

Fig.1 ZynqMP Sample Design

必要な環境

  • Vivado 2018.2
  • Vivado SDK 2018.2

Sample FPGA Design の構築

次の URL から git clone でリポジトリをダウンロードして v2018.2.0 をチェックアウトします。

shell$ git clone git://github.com/ikwzm/ZynqMP-FPGA-Linux
shell$ cd ZynqMP-FPGA-Linux
shell$ git checkout v2018.2.0

ここでは Vivado の XST(Xilinx Software Command Line Tool) を使って構築する方法を示します。GUI を使って手で入力するのは面倒なので Tcl スクリプトファイルを用意しています。

  • target/UltraZed-EG-IOCC/build-v2018.2/
    • fpga/
      • create_project.tcl
      • design_1_bd.tcl
      • implementation.tcl
      • export_hardware.tcl

Project を作る

create_projet.tcl を Vivado で実行してプロジェクトを作ります。

vivado% cd target/UltraZed-EG-IOCC/build-v2018.2/fpga/
vivado% vivado -mode batch -source create_project.tcl

なお、この FPGA デザインは次の記事で説明している SD1 の WP(Write Protection) の設定も済ませてあります。

ビットストリームの生成

implementation.tcl を Vivado で実行して、デザインの論理合成、配置配線、ビットストリームの生成を行います。

vivado% cd target/UltraZed-EG-IOCC/build-v2018.2/fpga/
vivado% vivado -mode batch -source implementation.tcl

ハードウェア情報の生成

export_hardware.tcl を Vivado で実行してハードウェア情報を生成します。

vivado% cd target/UltraZed-EG-IOCC/build-v2018.2/fpga/
vivado% vivado -mode batch -source export_hardware.tcl

このスクリプトを実行することにより、target/UltraZed-EG-IOCC/build-v2018.2/fpga/project.sdk/design_1_wrapper.hdf が生成されます。

参考

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
0