はじめに
ARTYボードのBDファイルもダウンロードすればもちろん使用できますが、今回はVIVADOでARTYボードのFPGAの型名(XC7A35T-L1CSG324I)を設定し、ピンアサインは回路図を見ながら設定しようと思います。
開発環境
- Vivado v2022.1
- Xilinx Vitis IDE v2022.1
- Windows10
- Tera Term
VIVADOを起動
まずVIVADOを起動しFPGAの設定まで行います。ここではプロジェクト名をArty_ledとします。もちろん別の名前でもかまいません。
Create Block Designを開き、IP CatalogでmicroBlazeを選択。
Run Block Automationをクリック。
一応Local Memoryを32KBに設定してOKをクリック。
ある程度自動配線されます。ここでclk_wiz_1をダブルクリック。
clk_in1をSingle endedに変更。
Output ClocksタブでresetをActive Lowに変更しOKをクリック。
Run Connection Automationをクリック。
全てにチェックを入れてクリック。
IP CatalogからAXI GPIOとAXI Uartliteを選択し挿入。そしてAXI GPIOをダブルクリック。
All Outputsにチェックを入れGPIO WIdthに4を設定してOKをクリック。
Run Connection Automationをクリック。
全てにチェックを入れてクリック。
上部にあるValidate Designをクリックし、エラーがないことを確認。そしてFile -> Save Block DesignをクリックしてBlock Designを保存。
design_1の上で右クリックしてGenerate Output Productsをクリック。
Generateをクリック。完了までに時間がかかります。
design_1の上で右クリックしてCreate HDL Wrapperをクリック。
OKをクリック。完了したらFlow NavigatorのSYNTHESISでRunSynthesisをクリック。
OKをクリック。完了までに時間がかかります。
Opne Synthesized Designを選択してOKをクリック。
I/OPortsでI/O stdやピンアサインを設定します。
回路図によると以下のアサインとなります。
信号名 | ピン番号 |
clk_100MHz | E3 |
gpio_rtl_0_tri_o[3] | H6 |
gpio_rtl_0_tri_o[2] | J2 |
gpio_rtl_0_tri_o[1] | J4 |
gpio_rtl_0_tri_o[0] | F6 |
reset_rtl_0 | C2 |
uart_rtl_0_rxd | A9 |
uart_rtl_0_txd | D10 |
I/O stdについては全てLVCMOS33に設定します。
ここでctrl-sで保存。Saving the current constraints.....と出たらOKをクリック。
constrinat fileの保存が必要になるため、ここではconstraintfileと入力しOKをクリック。その後PROGRAM AND DEBUGでGenerate Bitstreamをクリック。
Yesをクリック。
OKをクリック。完了すればbit fileが生成されます。
File -> Export Hardwareをクリック。
Nextをクリック。
Include bitstreamを選択してNextをクリック。
このままNextをクリック。
Finishをクリック。これでプロジェクトArty_ledの下にdesign_1_wrapper.xsaが生成されました。