LoginSignup
1
0

More than 1 year has passed since last update.

ZYBO導入記録 (2) Hello worldの表示

Last updated at Posted at 2021-04-25

開発環境

  • 開発用PC : Windows 10 64-bit
    • Vivado 2020.2
    • Xilinx Vitis 2020.2
  • ターゲットボード : ZYBO (旧ZYBO)

開発の流れ

Vivado/VitisではVivadoでハードウェア部分を開発し、Vitisでソフトウェア部分を開発する。
マイコンでいうとVivadoでマイコンそのものの作成、Vitisでマイコンに書き込むソフトを作成する、というイメージ。

ZYBOボードの設定

赤四角で囲んだ部分を変更する。
01.png

ジャンパをQSPIからJTAGに設定する。
02.png

電源をONにする。
03.png

電源を入れるとPGOODの赤LEDが点灯する。
(ジャンパがQSPIのままだとDONEの緑LEDも点灯する)
04.png

ハードウェア設計(Vivado)

Vivadoを起動する。
05.png

Project nameを入力する。ここでは ”hello_world_system” と入力して [Next]
06.png

Project Typeは “RTL Project” を選択して [Next]を選択。
07.png

Default Partでは[Boards]タブを選択、Search欄にZyboと入力して一番下に出る[Zybo]を選択(青色になる)し、[Next]を選択。
08.png

[Finish]をクリック。
09.png

上記の画面が立ち上がる。
10.png

左の[Project manager]の[Create Block Design]を選択。
11.png

デザイン名を聞かれるので入力。今回は"hello_world_system"とする。
12.png

[Diagram]ウインドウで中央の[+]マークをクリックするか、右クリックして[Add IP...]をクリックする。
13.png

出てきたウインドウで[ZYNQ7 Processing System]を選択。(最初のDefault Partのボード選択でZyboを選んでいないと表示されない)
14.png

選択すると、図のようにZynqのプロセッサコアを表す “processing_system_7” という名前のIPが追加。
[Run Block Automation]をクリック。
15.png

[OK]をクリック。
16.png

IP “processing_system_7″に接続ポート[DDR]と[FIXED_IO]が追加。
17.png

[FLCK_CLK0]にマウスカーソルを合わせると鉛筆マークに変化するので、ドラッグし[M_AXI_GP0_ACLK]にクロック出力を繋げる。
18.png

[BLOCK DESIGN]ウインドウから[Sources]タブを選択。
[Design sources]>[hello_world_system]を右クリックし、[Create HDL Wrapper]をクリック。
19.png

このまま[OK]をクリック。
20.png

もしクロック出力を接続していないとエラーが出る。
21.png

そのまま[OK]をクリック。
22.png

[Generate Bitstream]をクリック。
23.png

[Yes]をクリック。
24.png

[OK]をクリック。
25.png

bitstreamファイル作成までしばらく時間がかかる。

この画面が出れば完了。[Cancel]で良い。
26.png

[File]タブから[Export]>[Export Hardware...]を選択する。
27.png

[Next]を選択。
28.png

[Include bitstream]を選択して[Next]を選択。
29.png

XSAファイル名と格納するディレクトリを指定する。
ファイル名は[hello_world_system_wrapper]とする。
[Next]をクリック。
30.png

[Finish]を選択する。
31.png

プロジェクトの作成と実行(Vitis)

[Tools]>[Launch Vitis IDE]をクリック。
32.png

Workspaceのディレクトリを指定して[Launch]をクリック。
33.png

新しくウインドウが立ち上がるので[Create Application Project]をクリック。
34.png

[Next]をクリック。
35.png

[Create a new platform from hardware (XSA) ]タブから[Browse]をクリック。
36.png

Vivadoで作成した”hello_world_system_wrapper.xsa”を選択して[開く]をクリック。
37.png

[Next]をクリック。
38.png

アプリケーションプロジェクト名を入力し、[Next]をクリックする。
アプリケーションプロジェクト名は”hello_world_apprication”とした。
39.png

[Next]をクリック。
40.png

“Hello World”を選択し、[Finish]をクリック。
41.png

Vitis IDEのウインドウが立ち上がる。
42.png

プラットフォームプロジェクトをビルドする。
“hello_world_system_wrapper”を右クリックし、[Build Project]を選択。
43.png

システムプロジェクトをビルドする。
“hello_world_application_system”を右クリックし、[Build Project]をクリックする。
44.png

“hello_world_application_system”を右クリックし、[Debug As]から[Launch Hardware]をクリックする。
45.png

ジャンパをQSPIからJTAGに変更していないとエラーが出る。
また電源ボタンをオンにしていないとエラーが出る。
46.png

デバッガ操作画面に切り替わる。
init_platform()が緑色にハイライトされていて、ここで処理が停止していることを示している。(システムプロジェクトをビルドしていないと停止しない)
47.png

ZyboボードのLD10 LED(Done)が緑色に点灯する。
48.png

[Vitis Serial Terminal]タブから[+]マークをクリックする。
ポートを選択し、ボーレートを115200に設定して[OK]をクリック。
49.png

init_platform()で動作が停止しているアプリケーションを[Resume]マークをクリックして再開する。
50.png

“Hello World”の文字列が表示される。
51.png

参考

https://qiita.com/iwatake2222/items/24a8a94741fdbb80f62a
https://phys-higashi.com/114/
https://phys-higashi.com/152/

おわりに

この記事はFPGAもZYBOも初心者の自分が色々調べながらメモ代わりに書いております。現状では動作することは確認できておりますが、間違いがあったり、後から記事を修正する場合があります。ご容赦ください。
もしも間違っている内容等ありますが、ぜひご指摘ください。

1
0
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
1
0