Vivado 新建工程、設計、綜合、約束、仿真、板上實現(xiàn)全步驟圖文教程。

這期我們來講一講怎么用Vivado從新建一個工程開始到最后板上實現(xiàn)的全步驟圖文教程。
我們以實現(xiàn)FPGA開發(fā)板上LED閃爍功能為例作為教學內容。
第一步,打開Vivado 18.3(你也可以是其他版本,操作基本一致)。電腦里還沒有Vivado的,可以參考我前一篇專欄,進行Vivado 18.3的下載、破解及安裝。
Vivado 2018.3 軟件破解及安裝(含license) - 嗶哩嗶哩 (bilibili.com)

第二步:打開之后,新建一個項目。

第三步:這個頁面告訴你一些創(chuàng)建項目的須知:創(chuàng)建項目需要給項目命名,以及確定一個存儲位置。點擊next

第四步:確定好自己的project name 和存儲路徑,這里注意存儲路徑不能有中文!點擊next。

第五步:因為我們寫的是RTL項目,所以選擇RTL Project, 選擇后點擊next

第六步:選擇板卡,根據(jù)自己的板卡類型,選擇對應的芯片型號。在family是系列,package是封裝型號,speed是速度類型,可以直接篩選。

up主的板卡是Zynq 7020 系列 clg400封裝,這個不同人可能不一樣,你根據(jù)自己的板卡類型篩選就行,然后點擊next。

這里告訴你你的板卡類型,確認一下沒問題后點擊finish。

第七步:我們假設目前是從零開始新建一個項目,RTL代碼還沒有編寫,所以進入主界面之后,我們需要新建一個RTL文件來寫入代碼,點擊左邊的Add Sourse來添加文件,選擇Add or create design sourses

第八步:選擇Create File,并給創(chuàng)建的RTL文件命名(如果你當前已經(jīng)有了一個.v的RTL文件,可以點擊Add Files 直接導入.)


第九步,在上一步點擊OK后,再點擊finish關閉界面,然后在這里的Define Module窗口點擊OK。

彈窗點擊yes。

第十步:這時,我們可以在design sourses里看到我們新建的.v文件,雙擊它,自動在右側窗口打開,如圖。

第十一步:編寫RTL代碼,這里我們以LED燈閃爍作為例子來走FPGA上板驗證全流程,編寫如下代碼。

第十二步:寫完RTL代碼后,我們需要寫一個testbench對我們寫的代碼進行仿真,跑波形。新建一個仿真文件。點擊左側Add Sources,選擇Add or create simulation sources添加一個仿真文件,然后點擊next。

第十二步:因為我們沒有仿真tb,所以點擊Create File,如果你在別處比如說用notepad++寫好了testbench,那用Add Files導入也一樣。

第十三步:點擊finish結束,并確定自己的module name。

點擊OK,在后面的彈框中點擊YES。

第十四步:創(chuàng)建tb文件后,在Simulation Sources欄里有我們新建的tb文件,雙擊點開,編寫tb代碼。

第十五步:寫完tb后,點擊保存。

然后點擊左側的Run Simulation ,出來的彈框點擊Save

點擊save后開始仿真:

仿真結束后自動出現(xiàn)波形界面。

但是我們發(fā)現(xiàn),波形內容很少,這是因為默認跑的時間很短,我們需要再讓他跑一段時間。

點擊上面的按鈕,點一次就會跑后面跟著設置的時間長度,然后點擊后面的放大,看到波形的全視圖。ctrl+鼠標滾輪也可以調整波形大小,調整波形至合適的大小看波形和自己設計時候的樣子有沒有出入。

可以看到,led為2的時間比led為1的時間長一個周期,這是因為我們在設計的時候RTL代碼里把led的賦值作為組合邏輯,所以在計數(shù)器數(shù)到10的時候,也會給led立刻賦值2,所以led=2多跑一個時鐘周期。問題不大,我們在這里主要講解vivado的使用,不影響教學。
第十六步:沒問題后,開始綜合。點擊Run Synthesis,然后點擊確定,這里說明一下,上面的數(shù)字8是核數(shù),調用你CPU的核數(shù)來綜合,不同的電腦性能有不同的核,選擇最大的數(shù)值就可以,綜合的快些。


彈出一個對話框,點擊Cancel。
第十七步:下面我們要把引腳都對應上去,點擊綜合。

在右上方選擇I/O Planning,點擊I/O Ports,給自己設計的端口對應上FPGA的引腳。

這一步有點麻煩,需要在原理圖上,找到FPGA對應引腳的名稱。比如我們要利用板上的LED資源,就在原理圖頁面,ctrl+F搜索,然后搜索關鍵詞,找到LED的引腳名稱分別為H15 和 L15


reset端口引腳為N16

CLK引腳為U18 ,知道了這些引腳名稱后設置。

配置完對應引腳和電平后,ctrl+S 保存文件,取好文件名稱,生成XDC文件。

第十八步:創(chuàng)建完XDC文件后,再點擊綜合,即再綜合一次。
綜合成功后彈出以下窗口,點擊OK

再點擊OK。

在窗口的右上角,可以看綜合操作是否完成,如果還在轉就代表還在綜合。

打√代表操作完成。

第十九步:點擊生成比特流。然后點擊Cancel。

第二十步:通過JTAG下載器,連接好你的FPGA開發(fā)板和你的筆記本電腦。

第二十一步:點擊open target,自動布局布線。

然后點擊Program Device ,把程序燒進FPGA中,選中芯片。

第二十二步:點擊OK。程序燒錄完成!

LED點亮,程序燒錄成功。

最后再解釋一下,為什么寫的是兩個LED交替閃爍代碼,拍照顯示兩個LED全亮。這是因為寫代碼的時候,設置5個時鐘上升沿切換閃爍一次,而一個時鐘周期是10ns,時間很短,所以這樣的閃爍看不太出來,如果真的要看出物理閃爍,需要把計數(shù)器調到幾千萬,這樣閃爍切換頻率為幾秒或零點幾秒一次就可以肉眼看出來了。