文檔實現功能介紹
本文檔是學習本開發板的基礎,通過設置計數器使led0到led7依次閃爍,讓用戶初步認識vivado基本的開發流程以及熟悉項目的創建。本開發板的所有教程所使用的軟件都是vivado2024.1版本的。可以根據網上的教程下載與安裝。
硬件資源
此次教程使用了8個LED燈,如圖1-1所示
![]() |
圖1-1 ?LED實物圖 |
由原理圖可知,此開發板的LED燈為高電平點亮,如圖1-2所示
![]() |
圖1-2 ?LED原理圖 |
創建項目工程
首先打開軟件,如圖1-3所示
![]() |
圖1-3 |
再創建一個新的工程,點擊Create Project,如圖1-4所示
![]() |
圖1-4 |
點擊next,如圖1-5所示
![]() |
圖1-5 |
修改項目名稱為:led_shift
選擇你想要將此項目存放的一個位置(路徑不能有中文),如圖1-6所示
![]() |
圖1-6 |
此頁默認選項直接next,如圖1-7所示
![]() |
如圖1-7 |
這是選擇項目文件,分別是添加文件,添加目錄,創建文件,此次教程先熟悉項目設計過程所以此次直接next。如圖1-8所示
![]() |
圖1-8 |
添加或者創建約束文件,此頁面也是跳過直接next,如圖1-9所示
![]() |
圖1-9 |
選擇芯片型號,開發板芯片型號為xcku5p-ffvb676-2-i,之后選擇該型號芯片點擊next。如圖1-10所示
![]() |
圖1-10 |
- 直接finish,項目就創建完成了。如圖1-11所示
![]() |
圖1-11 |
添加設計文件
點擊Add Sources或者 +都可以添加設計文件,如圖1-12所示
![]() |
圖1-12 |
第一個是引腳約束文件,第二個是設計文件,第三個是仿真文件,我們這里選擇設計文件,如圖1-13所示
![]() |
圖1-13 |
點擊創建文件(Create File) --> 輸入文件名:led_shift --> 點擊OK --> 點擊finish,如圖1-14所示
![]() |
圖1-14 |
在輸入模塊名稱:led_shift之后在點OK,創建設計文件完成。
此頁面是確定模塊名稱以及輸入輸出接口,但是一般情況下不在此處設置輸入輸出接口,都在代碼中設置。如圖1-15所示
![]() |
圖1-15 |
查看創建的設計文件,打開Hierarchy窗口 --> 雙擊Design Sources --> 打開led_shift創建的設計文件,如圖1-16所示
![]() |
圖1-16 |
將下列代碼寫入led_shift中
module led_shift#(parameter CNT_MAX = 49_999_999)(input ??????clk ?,output reg ??[7:0] ?led);
reg [31:0] cntr ; wire cntr_end = cntr == CNT_MAX ;
always@(posedge clk ) ??cntr <= ( cntr_end ) ?0:(cntr+1) ;
reg [2:0]sec_cntr ;always@(posedge clk ) if (cntr_end)sec_cntr<= sec_cntr+1;
always@(posedge clk ) led <= 1 <<sec_cntr;
endmodule
創建引腳約束文件
點擊 + ,如圖1-17所示
![]() |
圖1-17 |
選擇引腳約束文件 --> 點next,如圖1-18所示
![]() |
圖1-18 |
選擇創建文件 --> 輸入文件名稱 --> 點OK --> 點finish引腳約束文件就創建完成了,如圖1-19所示
![]() |
圖1-19 |
查看引腳約束文件
點Hierarchy --> 雙擊Constraints --> 雙擊constrs --> 雙擊pin.xdc就打開引腳約束文件,如圖1-20所示
![]() |
圖1-20 |
在根據原理圖綁定引腳,如圖1-21所示
![]() |
圖1-21 ????部分原理圖 |
電壓大小,根據原理圖可得知+ADJ的電壓為1.8V,如圖1-22所示
|
圖1-22 |
綁定芯片引腳約束,再打開pin.xdc之后將下列代碼放到其中,之后引腳約束就綁定成功
set_property ?-dict {PACKAGE_PIN ?e18 ?IOSTANDARD LVCMOS18} [get_ports clk ] ;?
set_property ?-dict {PACKAGE_PIN ?d18 ?IOSTANDARD LVCMOS18} [get_ports led[0] ] ;
set_property ?-dict {PACKAGE_PIN ?e17 ?IOSTANDARD LVCMOS18} [get_ports led[1] ] ;
set_property ?-dict {PACKAGE_PIN ?b16 ?IOSTANDARD LVCMOS18} [get_ports led[2] ] ;
set_property ?-dict {PACKAGE_PIN ?d15 ?IOSTANDARD LVCMOS18} [get_ports led[3] ] ; ?
set_property ?-dict {PACKAGE_PIN ?e16 ?IOSTANDARD LVCMOS18} [get_ports led[4] ] ;
set_property ?-dict {PACKAGE_PIN ?g15 ?IOSTANDARD LVCMOS18} [get_ports led[6] ] ;
set_property ?-dict {PACKAGE_PIN ?e22 ?IOSTANDARD LVCMOS18} [get_ports led[7] ] ;
生成bit流文件
點Generate Bitstream --> 點ok,如圖1-23所示
![]() |
圖1-23 |
當出現該界面時就代表代碼沒有錯誤且bit流成功生成。點cancel關閉界面,如圖1-24所示
|
圖1-24 |
燒寫bit流
連接開發板電源和串口并開啟電源開關,如圖1-25所示
![]() |
圖1-25 |
雙擊Open Hardware Manager --> 點Open target --> 點auto connect,如圖1-26所示
![]() |
圖1-26 |
當設備識別成功時顯示如下圖所示然后點program device --> ?點program,如圖1-27所示
![]() |
圖1-27 |
當燒寫上之后led燈會從led0到led7依次閃爍
? ? ? ? 本文檔所使用的例程與代碼都在以下鏈接中
通過網盤分享的文件:led_shift.rar
鏈接: https://pan.baidu.com/s/1kX0pu-VFcNQLbq4z23E9mw 提取碼: sprq