🏩
Zynq PSを用いたハードウェア構築
Zynq PSを用いたハードウェア構築
はじめに
前回に続き、「FPGAプログラミング大全 第2版」をやる
HDL経験:Verilog入門書を一日読んだだけ 基本の文法のみ
本投稿では本書5-1~「ハードマクロCPUシステム」を実施したメモを書きます
環境
FPGA : Xilinx Zybo Z7-20
OS : WSL2 Ubuntu20.04
開発環境 : Vivado ML edition 2022.1 Linux版
やりたいこと
-Zynq PSからPLを制御してLEDを動かす
-GPIOをinputとして使用し、外部操作できるようなプログラム
- Zynq-7000 テクニカルリファレンス
実装
ハードウェア構築
- Vivadoで空のプロジェクトを作成する
- Create Block Design ->Add IPからZynq PSを追加
- AXI GPIOを追加 2Ch変更後、Output -> LED_RGB[2:0] Input -> BTN[1:0]に設定
- Run Connect Automation実行でSystem Reset,AXI Interconnectが追加される
- 制約ファイルと一致するようにport名を修正
- Validate Design
Warningが出たが、DDRメモリ-PS CLK間でのSkewが負になっているのが原因。
Zynq PSのDDR Skew設定値を確認するとエラーのマイナス設定値になっている
Block Designが完成したらDesignを選択してCreate HDL Wrapperを実行。Design sourceにDesign_wrapper.vが作成される
- 制約ファイルの追加
- Generate Bitstream
- File -> Export Hardware
これでハードウェアの構築が完了
VitisでZynqを制御
- Vitisを起動
- Create platform project
- Create application project
- Import Sourceで実行したいcファイルを追加
- ApplicationからBuild project
Applicationを右クリックしてRun As/Debug Asで実行、Vitis Serial Terminalで動作を確認できる
おわり
Discussion