基本流程:①設(shè)計(jì)定義 ②設(shè)計(jì)輸入 ③分析綜合 ④功能仿真 ⑤布局布線 ⑥分析性能
1.啟動(dòng)軟件
?
雙擊 Vivado圖標(biāo)即可啟動(dòng) Vivado 軟件。
?2.創(chuàng)建工程
①Q(mào)uick Start 組包含有 Create Project(創(chuàng)建工程)?Open Project(打開工程)OpenExample Project(打開實(shí)例工程)。
②Tasks 組包含有 Manage IP(管理 IP)?Open Hardware Manager (打開硬件管理器)Xilinx Tcl Store(Tcl 腳本存儲(chǔ)庫)。
③Learning Center 組包含有 Documentation and Tutorials(文檔和教程)?QuickTakeVideos(快速上手視頻)?Release Notes Guide(發(fā)布注釋向?qū)В?/p>
通過單擊 Quick Start 組的 Create Project 來新建一個(gè) Vivado 設(shè)計(jì)工程。
進(jìn)入到 Project Name 對(duì)話框后,填入工程名稱以及工程路徑, 根據(jù)實(shí)際情況確定是否勾選復(fù)選框 Create project subdirectory,由于默認(rèn)勾選了該選項(xiàng), Vivado 會(huì)在所選工程目錄下自動(dòng)創(chuàng)建一個(gè)與工程名同名的文件夾,用于存放工程內(nèi)的各種文件。并且 Vivado 會(huì)自動(dòng)管理工程文件夾內(nèi)的各種工程文件,并創(chuàng)建相應(yīng)的子目錄,這為我們的開發(fā)工作帶來了很大的便捷。此處我們需要注意的是,工程路徑與工程名一定不能包含空格以及中文字符,否則在后續(xù)流程中會(huì)出現(xiàn)錯(cuò)誤。然后單擊 Next 按鈕。
出現(xiàn) Project Type 對(duì)話框,如圖所示。 Vivado 工具可以創(chuàng)建多種不同類型的工程,如最常使用的 RTL 工程、綜合后的網(wǎng)表工程、 IO 規(guī)劃工程以及導(dǎo)入其他設(shè)計(jì)工具的工程。在這里我們選擇 RTL 類型的工程,我們可以在創(chuàng)建工程的階段進(jìn)行設(shè)計(jì)文件的添加或創(chuàng)建,也可以在工程創(chuàng)建完成后再進(jìn)行設(shè)計(jì)文件的添加或創(chuàng)建。此處我們勾選下面的復(fù)選框 Do not specify sources at this time,不在設(shè)計(jì)創(chuàng)建階段進(jìn)行添加源文件。單擊 Next 按鈕。
?在這個(gè)我們需要選擇設(shè)計(jì)所用的具體 FPGA芯片的型號(hào),根據(jù)板卡所用 FPGA 的器件系列、封裝、速度等級(jí)以及溫度級(jí)別來進(jìn)行篩選,如圖所示。選擇完成后單擊 Next 按鈕。之后點(diǎn)擊Finish完成創(chuàng)建。
3.添加源文件
在 Flow Navigator 下,找到 Project Manager 并展開,單擊 Project Manager 下的 Add Sources 選項(xiàng);或者在 Sources 面板下單擊 按鈕,面板如圖所示。
?
1) Add or Create Constraints(添加或者創(chuàng)建約束);
2) Add or Create Design Sources(添加或者創(chuàng)建設(shè)計(jì)源文件);
3) Add or Create Simulation Sources(添加或者創(chuàng)建仿真文件);
點(diǎn)擊Float可以懸浮窗口:?
我們簡(jiǎn)單寫一個(gè)二選一多路器的代碼:?
module themux2(
? ? a,
? ? b,
? ? sel,
? ? out
?);
? ? input a;
? ? input b;
? ? input sel;
? ? output out;
? ? //二選一多路器
? ? assign out = (sel==1)?a:b;
? ??
? ??
endmodule
4.設(shè)計(jì)綜合
點(diǎn)擊快捷鍵進(jìn)行操作:?
?綜合時(shí)右上角會(huì)有一個(gè)綠色圓圈在轉(zhuǎn),完成后我們可以看一下報(bào)告,沒有紅色也就是沒有語法錯(cuò)誤和邏輯錯(cuò)誤。
?5.仿真
下面是二選一多路器的testbench:
`timescale 1ns/1ns
module themux2_tb();文章來源:http://www.zghlxwxcb.cn/news/detail-626614.html
reg s_a;
? ? reg s_b;
? ? reg sel;
? ? wire out;
? ??
themux2 themux2(//后面是例化名稱
? ??
? ? .a(s_a),
? ? .b(s_b),
? ? .sel(sel),
? ? .out(out)
?);
? ? initial begin
? ? ? ? s_a = 0;s_b = 0; sel = 0;
? ? ? ? #200;
? ? ? ? ?s_a = 0;s_b = 0; sel = 1;
? ? ? ? #200;?
? ? ? ? s_a = 0;s_b = 1; sel = 0;
? ? ? ? #200;
? ? ? ? ?s_a = 0;s_b = 1; sel = 1;
? ? ? ? #200;?
? ? ? ? s_a = 1;s_b = 0; sel = 0;
? ? ? ? #200;
? ? ? ? ?s_a = 1;s_b = 0; sel =1;
? ? ? ? #200;
? ? ? ? ?s_a = 1;s_b = 1; sel = 0;
? ? ? ? #200;
? ? ? ? ?s_a = 1;s_b = 1; sel = 1;
? ? ? ? #200;
? ? ? ? end
endmodule文章來源地址http://www.zghlxwxcb.cn/news/detail-626614.html
到了這里,關(guān)于【FPGA】Vivado開發(fā)流程(基于2018.3版本)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!