🐯

ZYBO Z7によるZYNQ入門 (2)Hello Worldプログラムによる動作確認

2021/11/08に公開

Hello World

基本的なZynq/ZYBOの使い方を理解するためにHello Worldを出力するプログラムを作成します。PSのUARTからHello Worldを出力します。

環境

  • PC: Windows 10 64bit
    • Vivado 2019.1 WebPACKライセンス
    • Xilinx SDK 2019.1
    • Tera Term
  • ボード: ZYBO (Z7-10)
    • micro USBケーブル

PL部の作成(Vivado)

プロジェクトの作成

Vivado 2019.1を起動します。Create ProjectでProject Nameを設定します。Project Nameはproject_1にします。Project Typeは RTL Projectにします。Add SourcesとAdd Constraintsでは何もせずNextをクリックします。Default PartではBoardsを選択してからZybo Z7-10を選択します。Next、Finishをクリックするとプロジェクトが作成されます。

PSだけのブロックデザインを作成

Flow Navigator -> IP INTEGRATOR -> Create Block Designで、新しいブロックデザインを作成します。名前はデフォルトのままdesign_1とします。

Diagramビューの+ボタンをクリックして、ZYNQ7 Processing Systemを選択すると、PSが配置されます。

Run Block AutomationをクリックしてOKすると、プロジェクト作成時に指定したボード(ZYBO)に適したPSが作成、配置されます。M_AXI_GP0_ACLKにクロックを供給するため、FCLK_CLK0と接続します。

作成されたブロックデザインを、最上位デザインとして使います。まず、出力ファイルを生成してソースファイルを作成します。次に、HDLラッパーを作成して全体のデザインフローで使えるようにします。

BLOCK DESIGN -> Sourcesタブ上で、design_1で右クリック

  1. Generate Output Products -> Generate
  2. Create HDL Wrapper -> OK

1のGenerate Output Productsによって、verilogソースコードが生成されます。2のCreate HDL Wrapperによって最上位HDLファイルが生成されます。最上位がdesign_1_wrapper.vとなり、その下がdesign_1.vとなります。

ハードウェアのエクスポート

左側のFlow Navigator -> PROGRAM AND DEBUG -> Generate Bitstreamをクリックすると、論理合成&配置配線が行われてビットストリームファイルが生成されます。ファイルはproject_1\project_1.runs\impl_1\design_1_wrapper.bitに保存されます。

生成したビットストリームを、ソフトウェア(Xilinx SDK)で使いやすいようにエクスポートします。メニューバー -> File -> Export -> Export Hardware。Include bitstreamにチェックをつけて、OKします。

PS部の作成(Xilinx SDK)

Vivado上のメニューバー -> File -> Launch SDK -> OKで、今までVivadoで作成したハードウェア用のソフトウェア開発環境が起動します。

SDK上のメニューバー -> New -> Application Project で、新しいソフトウェアプロジェクトを作成します。

  • Project name: project_1
  • OS Platform: standalone
  • Hardware Platform: design_1_wrapper_hw_platform_0
  • Processor: ps7_cortexa9_0
  • Language: C

TemplatesにはHello Worldを使用します。

プログラムの実行

ボードの準備

ZYBOのボード上でJP5のジャンパ接続をJTAGにします。ボード上のマイクロUSB端子(J12)にUSBケーブルを刺して、PCと接続します。ZYBOの電源をONにします。

PC側でTera Termを起動して、USB Serial Portに接続します。ボーレートは115200にします。

PLプログラムの書き込み

ハードウェア情報(ビットストリームファイル)を書き込みます。
メニューバー -> Xilinx -> Program FPGAを実行します。これでZYBOは先ほどVivadoで作成したハードウェア構成になります。電源をOFF/ONしたら、再度書き込みが必要になります。

PSプログラム実行

Project Explorer上でproject_1を選択しておきます。
メニューバー -> Run As -> Launch on Hardware (System Debugger)を実行すると、ターミナル上にHello Worldと表示されます。

Discussion