注:本文為 “Vivado FPGA 開發 | 創建工程 / 仿真 / 燒錄” 相關文章合輯。
略作重排,未整理去重。
如有內容異常,請看原文。
Vivado 開發流程(手把手教學實例)(FPGA)
不完美先生 于 2018-04-20 11:38:22 發布
新建工程
打開 Vivado 軟件,在歡迎界面點擊 Create New Project,或在開始菜單中選擇 File - New Project 即可新建工程。
點擊 Next。
輸入工程名稱和路徑。
選擇 RTL Project,勾選 Do not specify……(這樣可以跳過添加源文件的步驟,源文件可以后面再添加)。
根據自己的開發板選擇器件型號,可以直接通過型號進行搜索。例如,Basys3 開發板上的芯片型號為 xc7a35tcpg236-1。如果不了解或者暫時不確定開發板,可以隨便選一個型號,后面需要時再修改。
點擊 Finish,項目新建完成。
添加 Verilog 設計文件(Design Source)
在 Project Manager 窗口中,選擇 Source 子窗口,在空白處或任意文件夾上右擊,選擇 Add Sources。
選擇 Add or Create Design Sources,點擊 Next。
點擊 Create File 按鈕,在彈出的小窗口中輸入文件名,點擊 OK。
可以一次性新建或添加多個文件,最后點擊 Finish。
稍后會彈出定義模塊的窗口,也就是剛剛添加的 test 文件。可以在這里設置 test 模塊的輸入輸出端口;或者直接點擊 OK,稍后再自行編寫。
點擊 OK 后,如果彈出下面窗口直接點擊 Yes。
test 文件和對應的模塊即創建完成,如圖。
添加 Verilog 仿真文件(Simulation Source)
操作和上一步添加 Verilog 設計文件基本一致,唯一的區別是選擇 Add or Create Simulation Sources。我們新建一個名為 simu 的仿真文件。
設計文件新建完成后,在 Design Sources 和 Simulation Sources 中都有,而仿真文件只會出現在 Simulation Sources 文件夾中。設計文件可以用于仿真,也可以用于最終燒寫進開發板,而仿真文件僅用于仿真。
編寫代碼
打開 test 模塊,編寫代碼實現一個簡單的非門電路如下:
module test (input in,output out
);assign out = ~in;
endmodule
行為仿真(Behavioral Simulation)與 Testbench
為了驗證代碼是否正確,可以對代碼進行行為仿真。我們給上面的 test 模塊輸入端 in 接入一個時鐘信號,則輸出端 out 就會產生一個電平相反的時鐘信號。
行為仿真時,輸入信號可以使用 Testbench 編寫。
如果直接修改 test 模塊,在其中添加 Testbench 代碼,再進行仿真,是一種不太正確的做法。因為 test 模塊是設計文件,后面可能會直接燒寫進板子。進行仿真時添加了 Testbench 代碼,之后再燒寫進板子又得刪掉 Testbench 代碼,這樣容易出現錯誤,而且操作起來也比較麻煩。尤其是接口數量多,內部比較復雜的模塊。
因此,我們將 Testbench 代碼全部寫到仿真文件 simu 中,并在 simu 文件中調用 test 模塊,從而進行仿真。
編寫仿真代碼
在 simu 模塊中編寫代碼如下:
module simu ();// testbench 時鐘信號reg clk = 0;always #10 clk <= ~clk;// 輸出信號wire out;// 調用 test 模塊test mytest (clk, out);
endmodule
代碼說明:
reg clk = 0
聲明了一個 reg 信號,并賦初值為 0。always #10 clk <= ~clk
為 Testbench 代碼,讓 clk 每隔 10 ns 翻轉一次,產生周期為 20 ns 的時鐘信號。wire out
聲明了一個 wire 信號,用于連接到 test 模塊的輸出。test mytest (clk, out)
調用了前面寫好的 test 模塊,其中 mytest 是模塊名稱,這里的 clk 和 out 分別連接了 mytest 模塊內部的 in 和 out 信號。
這種寫法類似于面向對象的編程語言中,對象的實例化,test 為類名,而 mytest 為對象名稱。同樣,Verilog 中調用模塊時,可以實例化多個 test 對象。
更多 Testbench 的寫法請上網搜索相關資料。
行為仿真
右擊 simu 模塊,選擇 Set as Top,將 simu 模塊設置為仿真時的頂層模塊。頂層模塊類似于 C 編程時的入口函數,即 main 函數。main 函數可以調用其他子函數;類似的,頂層模塊可以調用其他模塊。
在 Flow Navigator 窗口中點擊 Run Simulation - Run Behavioral Simulation;或者在菜單中選擇 Flow - Run Simulation - Run Behavioral Simulation,即可啟動行為仿真。
操作技巧
雙擊圖中右側的 Untitled 2 標簽,可以最大化仿真波形窗口。在波形窗口按住 Ctrl 鍵并滾動鼠標滾輪,可以橫向縮放波形;按住 Shift 并滾動鼠標滾輪,可以橫向平移波形。
如圖,可以看出 clk 為周期 20 ns 的時鐘信號,而 out 和 clk 的電平始終相反,即 test 模塊中的非門工作正確。
在 Behavioral Simulation 窗口中的 Scopes 子窗口,根據模塊調用關系選中 mytest,在右側的 Objects 窗口即可看到 test 模塊中所有的信號(包括內部信號,即沒有寫到模塊聲明語句 module (a,b,c)
括號中的信號)。
右擊信號,選擇 Add To Wave Window,可將波形添加到右側的仿真波形窗口,保存仿真文件,再次仿真時就可以看到該信號的波形。
對于一些輸出數字信號波形的情況,例如讓 reg [7:0] sine_out
輸出正弦波,仿真后右擊信號,選擇 Waveform Style - Analog,即可以波形的形式查看信號。如圖顯示的就是正弦波信號(注意這里信號本身還是數字信號,并不是模擬信號,只是用軟件顯示出了其幅值隨時間變化的波形)。
對于多位信號例如 wire [7:0] p
,默認使用二進制形式顯示,可以根據需要修改。例如右擊選擇 Radix - Unsigned Decimal 即可設置為無符號十進制顯示。
【FPGA】Vivado 基本開發流程
Louis1874 于 2020-07-22 20:37:25 發布
本文為 FPGA 學習總結,歡迎分享交流。
Vivado 軟件的使用著實讓人頭疼,尤其對于新手來說更是一種折磨。本篇文章通過簡單的 MUX 程序教你快速簡單地掌握 Vivado 基本開發流程。
運行環境
- Windows 10
- Vivado 2018.3
- Modelsim 10.7
創建工程
首先在主頁面點擊 Create Project 創建一個新的工程:
然后點擊 Next,默認選擇工程名稱及路徑(路徑中最好不要有中文),再點擊 Next。
然后選擇 RTL 工程,勾選 不在此時創建源文件,點擊 Next:
在這里我們直接輸入器件型號,然后點擊我們需要的型號,點擊 Next:
然后點擊 Finish。工程的創建到此結束。
主界面
主界面各部分用途見下圖:
創建源文件
首先點擊 Add Sources,再勾選 添加或創建設計文件,點擊 Next:
首先點擊 Create File 創建文件,在彈出窗口中選擇 Verilog 語言,給文件命名為 mux21a,點擊 OK:
在第一行就可以看到剛才添加的文件,點擊 Finish:
在這個窗口中需要定義模塊的輸入和輸出管腳,我們選擇不定義:
這樣就創建好了設計源文件:
編程
將下面的代碼粘貼到 mux21a.v 文件中:
module mux21a (input wire D0,input wire D1,input wire SEL,output wire LED
);assign LED = (~SEL & D0) | (SEL & D1);
endmodule
下面我們還需要創建一個設計源文件作為頂層模塊,創建步驟與上面相同。
將下面的代碼粘貼到 mux21topv.v:
module mux21topv (input wire [2:0] sw,output wire led
);mux21a M1 (.D0 (sw [0]),.D1 (sw [1]),.SEL (sw [2]),.LED (led));
endmodule
通過頂層模塊調用 mux21a,可以讓約束文件的信號和二選一多路選擇器模塊的信號相連接。
仿真
完成源文件的創建后,我們就可以進行仿真了。仿真是指在綜合編譯之前對所設計的電路進行基本功能驗證,驗證設計是否滿足需求。在這里我們還需要創建一個仿真文件,首先勾選 創建仿真源文件,點擊 Next:
后面操作與設計源文件相同,不再贅述。
將下面的代碼粘貼到仿真文件中:
module mux21_simulation ();reg D0, D1, SEL;wire LED;mux21a test ( // 實例化二選一多路選擇器模塊.D0 (D0),.D1 (D1),.SEL (SEL),.LED (LED));initial begin // 8 種狀態作為激勵#0 SEL = 0; // 000D1 = 0;D0 = 0;#100 SEL = 0; // 001D1 = 0;D0 = 1;#100 SEL = 0; // 010D1 = 1;D0 = 0;#100 SEL = 0; // 011D1 = 1;D0 = 1;#100 SEL = 1; // 100D1 = 0;D0 = 0;#100 SEL = 1; // 101D1 = 0;D0 = 1;#100 SEL = 1; // 110D1 = 1;D0 = 0;#100 SEL = 1; // 111D1 = 1;D0 = 1;#100 $finish;end
endmodule
Testbench 的概念可參考文章 Vivado 仿真。
這時把仿真源文件設置為 top:
然后就可以進行仿真了!點擊 Run Simulation 后,點擊 Run Behavioral Simulation 進行仿真:
點擊 Untitled 1 打開仿真波形窗口,點擊 Zoom Fit 進行可視化,將 SEL 拖拽到第一個,展示出波形如圖:
我們對波形進行分析:當 SEL = 0 時,若 D0 = 1,則 LED 輸出高電平;當 SEL = 1 時,若 D1 = 1,則 LED 輸出高電平。仿真結果表明,我們的設計是正確的。
然后我們就可以在 RTL Analysis 中查看原理圖。點擊 Open Elaborated Design,再點 OK:
雙擊 Schematic 打開原理圖窗口,點擊加號可以展開原理圖:
原理圖中門電路與硬件描述語言一致:
assign LED = (~SEL & D0) | (SEL & D1);
綜合
綜合的過程是由 FPGA 綜合工具箱將 HDL 原理圖或其他形式源文件進行分析,進而推演出由 FPGA 芯片中底層基本單元表示的電路網表的過程。通俗來講,就是將自己的設計映射到 FPGA 中。
點擊左側的 Run Synthesis 進行綜合,點擊 OK:
綜合完成后,查看綜合后的原理圖,點擊 OK,下個彈窗點擊 YES:
在左側點擊 Schematic 查看綜合后的原理圖:
綜合后的原理圖如下。中間是與器件相關的 LUT:
引腳約束
在綜合后我們就可以進行引腳約束了,即指定 FPGA 的引腳。
首先創建引腳約束文件,其添加方式與前面其他文件相同。勾選 添加引腳約束文件:
將 Basys3 的引腳約束文件粘貼到 mux21_xdc.xdc 中(見 Basys3 開發板 的設計資源下的 Master XDC-zip):
這里面我們需要的引腳是在 Basys3 上的三個開關和一個 LED。sw [0], sw [1], sw [2]
作為三個輸入,解開對應注釋:
一個引腳為 U16 的 LED 作為 MUX 的輸出,解開對應注釋:
此時,我們完成了約束文件的創建。我們可以運行實現,點擊 Run Implementation,再點 OK:
耐心等待實現成功后會有彈窗提示,點擊 Cancel:
實現后仿真
FPGA 在門電路形成映射后,需要查看電路的時序分析,是否有產生延時或毛刺,符合要求才能使用。
運行后仿真,點擊 Run Simulation,點擊 Run Post-Implementation Timing Simulation:
得到后仿真波形圖:
當 SEL = 0,若 D0 = 1,則 LED 亮;當 SEL = 1,若 D1 = 1,則 LED 亮。注意在 D0 為高電平時,LED 有時會延遲一會才會亮,此處不明顯。這里的后仿真與前面的行為仿真不同,可能因為硬件原因而出現延遲。
比特流文件
生成比特流文件后,就可以下載到 FPGA 中,完成 FPGA 的配置。
點擊左側 Generate Bitstream 生成比特流文件:
成功后會有彈窗,打開硬件管理:
點擊 Open target,自動連接:
然后點擊 Program:
這樣就可以將自己的比特流文件下載到 FPGA 中了,隨后可以在 Basys3 開發板上驗證設計是否正確。至此,Vivado 基本開發流程就結束啦。
Vivado 工程創建(從新建到下板)
筱羊冰冰 于 2020-12-17 09:32:20 發布
新建項目
雙擊軟件,注意是三個菱形的快捷方式,有時可能會看到兩個不一樣的 Vivado,選擇第二個。
然后是:
選擇一個地址和項目名稱,注意項目名稱和路徑 不要有中文。
接下來是選擇項目類型,這里注意在 導入不源文件(Do not specify sources at this time) 要選上。
然后需要選擇器件類型,也就是使用的 FPGA 板子的類型。按自己的板子選,不要照抄。然后搜索和選項卡的篩選會在這個環節幫你省下不少時間。
然后一路繼續即可。
進入界面
首先是 source 框,其中有三項是我們經常使用的。
- 第一部分的藍筆:是我們寫程序的地方。
- 黃色熒光筆部分:是約束文件,是連接主文件的輸入輸出和板子上的管腳連接的重要部分。
- 紅色部分:是仿真文件,用于驗證代碼是否正確。
注意:仿真和最后的綜合和實現不大一樣,仿真沒問題不代表綜合和實現過程中會順利完成。
然后是 source 右側的代碼區,下面是控制臺和報錯提示(有一些沒有用的報錯直接用垃圾箱按鍵刪除即可,能刪掉的都是沒用的)。
最左邊是項目需要使用的一些流程。
添加源代碼
設計(design)、仿真和約束文件的創建方式基本相同,注意以下幾點:
- 右鍵點擊 source(表示三種 source 中的一個)。
- 一定要確定好自己要選擇的文件類型,有時在對應文件類型下的選項并不是當前的文件類型(可能有一點繞,但遇到了就懂了)。
點擊加號,選擇 Create File,然后為其命名。
這樣就創建好了:
點擊 Finish 后會有一個彈窗,這是讓你選擇文件的管腳等信息。因為我們有 約束文件,所以直接關閉即可。
每一種文件的類型在后續小項目中會進行介紹,這里不做贅述。
其他功能(左側功能介紹)
仿真
仿真可以在一定程度上判斷程序的運行是否正確,雖然本文沒有關于仿真文件寫法的講述,但還是要介紹這個主要功能的使用。
我們有一個叫 a 的 design 模塊,仿真文件 調用了這個模塊,所以在仿真區中可以看到 a_sim(仿真文件)下面顯示的子文件為 a。
點擊 Run Simulation(左邊藍色部分)。
仿真開始后,我們會看到這樣的界面:
最左邊的一條是整個工程文件中的設計文件(design),中間框是對應的文件中的變量(輸入輸出變量和中間變量都有),右邊是仿真文件產生的波形,通過這個就能看到程序的運行。
設置中可以調整輸出的進制(其實也可以在左側的 sw、led 中一個個右鍵調整)。
上面的一行是一些功能,介紹一些常用的:
- 播放鍵:表示運行,需要點擊 暫停鍵 截止。
- 播放鍵右下角有 m 標記的按鍵:定時運行,到時間就自動停止,在它右邊是設置時間。
- 黃色熒光筆按鍵:將整個波形安排在一個窗口上。
- 紅筆的位置:將當前位置調整到開始 / 結束。
- 黑筆部分:一個變量波形的下一個 / 上一個變化位置,例如當前 sw 為 63,點擊 “上一個” 就能達到上一個值的位置。
- 藍筆:添加光標位置,這樣就可以用兩條線來測量時間(在物理儀器中確實蠻常用的)。
在關閉仿真時(點擊圖示的位置),會提示你要不要保存仿真波形,如果有需要就保存一下,但會導致整體文件變大很多。
綜合
接下來部分就是下板三件套了,如果我們希望將一個文件真正的在板子上運行,對你按下的按鍵或者是撥碼開關有反應,那么接下來的步驟就是不可或缺的。
(按照順序,黃色熒光筆依次為綜合、實現和生產比特流,實際應用也是按照這個順序來進行)
綜合:將高級抽象層次的語言描述轉化成較低層次的電路結構。
我們一定要知道,FPGA 的含義(百度百科截圖):
我們在編程的過程中,盡管有幾種不同層次的書寫方式,但這種語言還是屬于一種高級語言,也就是說我們可以只寫代碼,讓軟件幫我們設計電路圖。
(這也是為什么仿真過了有時候下板還是不對,實際的電路圖可能因為書寫不規范產生一些問題導致)
言歸正傳,這里還有一個查看管腳分配(個人暫且還沒用上):
(在綜合和實現之間的 RTL ANALYSIS,點擊 Open Elaborated Design)
實現 & 生產比特流
這兩個步驟和上面基本一致,只要進行點擊即可,重點是 一定要好好看看彈出的 warning!有時可能確實能生成比特流,但結果并不滿意,這時這些報錯就很重要了。
下板
當生產比特流成功,會有這樣的彈窗,按照圖片選擇打開硬件。
連接方式:(注意一定要先打開板子的電源)
-
這種比較快:
-
這種是在操作欄里面尋找,在左下角 open target:
然后在選中的部位右鍵,選擇 Program Device,彈出窗口。選擇繼續。
然后我們的板子就讀入比特流,實現了按照我們編程的內容進行工作。
其他細節
快速實現下板三件套:
在快捷欄里面就有,甚至如果你直接點擊比特流,會提醒你沒有綜合、實現,然后按照提示進行點擊直接一步到位。
報錯在這里,旁邊還有控制臺:
更改背景顏色:
這里面有很多項可以修改,按照自己的意愿就好,如果有選擇困難就上網找一個博客,挑一個搭配好的顏色,個人的調色多少沾點陰間就不展示了。
改完了記得 save as……
最后介紹一下項目的文件構成:
選中處可以直接打開項目,不需要通過 Vivado;
這里面是項目源碼,source 是源文件,sim 是仿真文件,應該還有一個 constrs_1 文件夾,是約束文件(這里在舉例子的時候沒寫)。
這個 sim 是存放項目中仿真波形圖的,之前提到過那個可能會導致整個項目變大的波形圖。如果是自己可以考慮留一部分,如果是傳遞文件這部分還是省了吧。(之前見過一個仿真波形圖文件達到 600M 的,如果跑的時間長確實很占空間)
有一些應該還有一個 .runs 文件夾的,這里面能找到你生成的比特流文件。(截圖是另一個項目的)
如果 沒有按照提示的順序來 或者是 用錯了板子導致生成了兩份綜合實現文件,軟件就可能不會自己為你找到 bit 文件的位置,就需要在框中自己選擇 bit 文件。
Vivado 開發 FPGA 使用流程、教程 Verilog(建立工程、編譯文件到最終燒錄的全流程)
xingxing 點燈 已于 2023-08-10 20:15:31 修改
一、概述
Vivado 開發 FPGA 流程分為創建工程、添加設計文件、編譯、線上仿真、布局布線(添加約束文件)、生成比特流文件、燒錄等步驟,下文將按照這些步驟講解 Vivado 從創建工程到程序燒錄到 FPGA 里的操作流程。
二、工程創建
打開 Vivado 軟件后,出現下圖:
選擇 Create Project 后,出現下圖:
選擇 Next 后,出現下圖:
在 Project Name 中修改文件名稱(名稱和路徑最好不要有中文),然后點擊 Next,出現下圖:
繼續點擊 Next,出現下圖:
文件的添加和創建后面可以進行,這里可以直接點擊 Next,然后出現下圖:
約束文件后面也可以添加,所以繼續點擊 Next,出現下圖:
選擇對應的 FPGA 的型號以后點擊 Next,出現下面的總結圖:
點擊 Finish,空的工程就創建完畢了。
三、添加設計文件并編譯
空的工程創建完畢后,如下圖所示,點擊 ? 按鈕,添加 Verilog 文件。
然后在下圖中,我們現在在創建設計文件,所以默認的第二個就好,然后點擊 Next。
然后出現下圖:
這里點擊 Create File,有的 Vivado 會出現下面的圖片,有的不出現,如果出現下面的圖片,起一個名字,創建 Verilog HDL 文件(也可以點擊 Add Files,添加已有文件,這里以創建新的文件為例)。
選擇名字和文件位置,然后點擊 OK,位置默認情況會放在工程文件夾下,點擊 OK,出現下圖:
上圖表示一個設計文件已經添加成功了,然后可以繼續上述創建文件的操作,直到創建完畢,然后點擊 Finish,出現下圖:
點擊 OK,出現下圖:
點擊 Yes,此時一個空的文件就創建好了,然后寫 Verilog 代碼(可以在 Vivado 里編輯,也可以在其他的文字編輯器,諸如 VSCode、Notepad++、電腦自帶的 txt 文本等進行代碼編輯,具體用什么進行編輯這里不再贅述)。下圖是代碼已經寫完的情況:
寫完代碼以后,就要進行編譯操作了,點擊左側導航欄的 Run Synthesis 進行編譯,這個編譯在哪可以參考下圖:
然后出現下圖,點擊 OK。
此時正在進行編譯操作(具體 Vivado 編譯、布局布線、生成比特流文件都是什么意思,有什么意義,這里不再贅述,本文主要是講解 Vivado 開發 FPGA 的操作流程,流程的意義不再贅述),編譯是否完成可以在下圖所示的位置查看:
編譯成功后,有的會出現下圖所示的提示,有的不會出現,出現的話可以點 × 關掉這個提示框(編譯不成功會報錯,此時說明代碼有問題,具體如何解決代碼中出現的問題本文不再贅述),此時編譯已經結束,說明 Verilog 代碼沒有出現語法上的錯誤。
四、線上仿真
三的操作只是寫了代碼,并且代碼沒有語法錯誤,但并不代表代碼的功能也和預期一樣,此時需要進行功能驗證,也就是進行線上仿真。
第一步還是添加文件,三里添加的是設計文件,這次要添加仿真文件,也叫 tb 文件,還是點擊 +,然后選擇第三個選項(仿真文件),如下圖所示:
具體點了 Next 以后怎么操作參考三里怎么添加的設計文件,流程一模一樣,只是一個添加的是設計文件,一個添加的是仿真文件,這里不再贅述。
同樣,仿真文件添加完以后要寫對應的代碼,代碼寫完以后進行仿真,具體點哪里進行仿真可以參考下圖:
如果報錯,說明 tb 文件寫的有問題,沒問題會出現下圖的仿真界面:
然后出現的仿真界面觀察波形是否有問題,藍色代表高阻態,紅色代表未知態,綠色代表邏輯 0 或 1,具體仿真界面的操作本文不再贅述,仿真沒有問題以后,說明代碼現在不僅沒有語法錯誤,功能同樣也沒有錯誤。
五、布局布線
現在代碼沒有語法錯誤、功能錯誤,就可以考慮布局布線了,把具體的輸入、輸出映射到 FPGA 對應的引腳上,操作如下所示:
點擊左側導航欄的 Run Implementation,讓 Vivado 先自動進行布局布線,點哪里可以參考下圖:
等待一段時間,成功以后出現下面的框:
可以 × 掉上面的框,在左側導航欄打開 Open Implemented Design,也可以點擊上圖的 Open Implemented 后點擊 OK。
打開布局布線設計以后,出現下面的圖:
上圖選擇 I/O ports,如果找不到,就點擊 layout,再點擊 I/O Planning(注意,只有 open implementation 時才可以在 layout 里找到 I/O Planning)。
然后如下圖,點擊 scalar ports,進行引腳約束:
在上圖里,在 Scalar ports 更改端口的位置(Package Pin)、以及電壓標準(I/O Std)。
具體設置到什么端口看原理圖,電壓標準大多數時候選擇 LVCMOS33 就好,只有差分等特殊情況選擇別的電壓標準,這里不再介紹如何查看原理圖,不同電壓標準的區別。
然后端口、電壓標準等設置好以后,鍵盤按 Ctrl + S 進行約束文件的保存(約束文件里就是剛才對引腳、電壓標準等的約束)。
現在,我們設計文件、仿真文件、約束文件就都寫好了,可以看一下下面的圖:
這就是剛才我們創建的設計文件、仿真文件、約束文件,然后再點一次 Run Implementation,因為我們更改了約束文件,所以重新進行一下編譯和布局布線操作,具體的對話框的提示都很簡單,大概意思就是文件已經改變了是否重新編譯這種意思,點擊 Yes 重新編譯、布局布線就好了,然后布局布線在這里也就結束了。
六、生成比特流文件
現在已經可以生成比特流文件了(這個文件就是燒錄到 FPGA 里的文件),點擊左側的 Generate Bitstream,如下圖所示:
點一些框的 OK、Yes 之類的,然后生成比特流文件成功(如果不成功,考慮是約束文件的問題,這里不再對約束文件進行太過詳細的解釋,可以百度約束文件的作用,然后查看自己剛才保存的約束文件是否有問題,通常 Ctrl + S,如果有默認的沒有改變的引腳號,它不會保存在約束文件里,自己添加即可)。
七、燒錄
接下來就是燒錄操作了,點擊左側導航欄的 Open Hardware Manager,然后點擊 Open Target 然后點擊 Auto Connect 進行連接,如下圖所示:
然后點擊 Program Device 選擇型號:
出現下圖,直接點 Program 即可:
現在文件就可以燒錄到 FPGA 里了,觀察上板后的情況即可。
via:
-
vivado工程創建(從新建到下板)_vivado怎么新建工程-CSDN博客
https://blog.csdn.net/rebortt/article/details/111304264_ -
Vivado開發FPGA使用流程、教程 verilog(建立工程、編譯文件到最終燒錄的全流程)_vivado燒寫程序步驟-CSDN博客
https://blog.csdn.net/weixin_45676874/article/details/132215573 -
Vivado 開發流程(手把手教學實例)(FPGA)_vivado設計流程示例-CSDN博客
https://blog.csdn.net/Gentleman_Qin/article/details/80016273 -
【FPGA】Vivado 基本開發流程_vivado設計流程-CSDN博客
https://blog.csdn.net/weixin_44413191/article/details/107522317