ZYNQ分爲PS和PL,本篇文章其實是Vivado中一個完整的FPGA工程的建立,正所謂萬事開頭難。編程
PS:處理系統 (Processing System) 即ARM部分 PL:可編程邏輯(Programable Logic) 即FPGA部分
1、新建工程佈局
1.打開Vivado,新建一個工程,Nextspa
2.設置工程名稱和工程所在目錄,Next線程
3.選擇第一項:RTL Project,Next設計
4.添加資源,能夠直接Nextcode
5.添加約束,能夠直接Nextblog
6.芯片型號選擇xc7z020clg400-1,Next教程
7.總結頁面,Finish資源
8.建好後的頁面以下所示get
2、PL端(FPGA)設置
1.點擊左側導航欄的第一項PROJECT MANAGER --- Add Sources
2.選擇Add or create design sources,點擊Next
3.點擊Create File來建立新的文件
4.設置文件類型、文件名、文件位置,完了點OK
5.點擊Finish
6.嚮導會提示定義 I/O 的端口,能夠不定義,後面在程序中編寫便可。
7.點擊Yes
8.完成以後的頁面以下所示,雙擊左側 led 能夠打開代碼編輯頁面,在裏面編寫Verilog代碼,完成後按 Ctrl+S 保存
9.添加引腳約束文件,能夠點擊左側導航欄的PROJECT MANAGER --- Add Sources,也能夠直接在Sources空白處鼠標右鍵選擇 Add Source
10.選擇 Add or create constraints,點擊Next
11.點擊Create File來建立新的文件
12.設置文件類型、文件名、文件位置,完了點OK
13.點擊Finish
14.完成以後的頁面以下所示,雙擊左側 led_pin 能夠打開代碼編輯頁面,在裏面編寫Tcl約束代碼,完成後按 Ctrl+S 保存
最基本的XDC語法以下所示:
管腳約束: set_property PACKAGE_PIN "引腳編號" [get_ports 「端口名稱」] 電平約束: set_property IOSTANDARD "電壓" [get_ports 「端口名稱」]
3、編譯和綜合
1.點擊左側導航欄的 Run Synthesis,便可開始綜合並生成網表文件
2.線程按照本身電腦配置選擇,通常能選多大就多大
3.綜合完成後彈出一個小窗口,選擇 Run Implementation來開始佈局佈線
4.線程按照本身電腦配置選擇,通常能選多大就多大
5.佈線完成後彈出一個小窗口,選擇 Generate Bitstream來生成下載用的bit文件
6.線程按照本身電腦配置選擇,通常能選多大就多大
7.點擊左側導航欄的 Open Hardware Manager來下載bit流到板卡中
4、補充
1.編寫完設計文件和約束文件後,編譯和綜合也能夠直接點擊左側導航欄的按鈕或者主頁上方的快捷按鈕。
2.點擊左側導航欄的RTL ANALYSIS --- Schematic能夠看到 RTL 視圖,有時候 RTL 視圖仍是挺重要的。
3.添加約束文件能夠打開RTL視圖後,點擊RTL視圖上方的「I/O port」進行手動添加,保存後也可生成XDC文件。
參考資料:
[1]V3學院FPGA教程
[2]何賓, 張豔輝. Xilinx Zynq-7000嵌入式系統設計與實現[M]. 電子工業出版社, 2016.