Vivado FPGA設(shè)計(jì)基礎(chǔ)操作流程
當(dāng)然在介紹的過程當(dāng)中會(huì)給大家推薦一些對(duì)于工具深入使用的Xilinx官網(wǎng)資料。這里以流水燈的控制為例。
Vivado的基本使用
(一) 打開Vivado新建工程:
1. 安裝好Vivado之后,在Windows系統(tǒng) Start > All Programs > Xilinx Design Tools > Vivado> Vivado ,或者桌面上找到如下圖標(biāo),點(diǎn)擊打開Vivado。
2. 點(diǎn)擊Create Project
3. 指定工程所放路徑與工程名字
4. 選擇RTL Project ,此時(shí)把Do not specify at this time勾上,表示在新建工程時(shí)不去指定源文件。
5. 選擇器件或者板卡。Parts表示器件,當(dāng)然如果是板卡就點(diǎn)擊Boards。器件可以根據(jù)系列去選,也可以直接在Search欄搜索器件型號(hào)。器件的選擇根據(jù)你的FPGA芯片來定,一般在你所用的開發(fā)板手冊(cè)里面可以找到。選擇完畢點(diǎn)擊Next。
6. 確認(rèn)整個(gè)工程信息后,點(diǎn)擊Finish,完成工程創(chuàng)建。
(二)新建Verilog文件:
1. 在Flow Navigator界下點(diǎn)擊 Add Sources.
2. 如下界面,第一個(gè)是添加或者新建XDC約束文件;第二個(gè)是添加或者新建設(shè)計(jì)文件;第三個(gè)是添加或者新建仿真文件。這里選擇添加或者新建設(shè)計(jì)文件,再點(diǎn)擊Next。
3. 這里點(diǎn)擊Create File。Add Files表示添加已有的設(shè)計(jì)文件,Add Directories表示添加文件夾。
4. 指定文件名與路徑(默認(rèn)存放在工程默認(rèn)路徑),文件類型(File type)選擇為Verilog,如果你用的是其它硬件描述語(yǔ)言,則選擇你用的語(yǔ)言類型。
5. 在之后跳出的框依次點(diǎn)擊OK,F(xiàn)inish,Yes。這就完成了一個(gè)設(shè)計(jì)文件的新建。
6. 在Source框雙擊剛剛新建的文件,完成你的Verilog代碼設(shè)計(jì),并保存。
重復(fù)上述操作完成對(duì)clk_gen.v(分頻模塊)和led_top.v(頂層模塊)文件的設(shè)計(jì)與編碼。
(三) 查看 Schematic:
1. 在Flow Navigator 下點(diǎn)擊RTL ANALYSIS -> Open Elaborated Design -> Schematic
2. 一會(huì)兒就會(huì)彈出你所設(shè)計(jì)的Verilog的原理圖。點(diǎn)擊原理圖里模塊上的+號(hào),可以將此模塊的內(nèi)部電路展開。
大家可以參考官網(wǎng)文檔 "Vivado Design Suite User Guide: Using the Vivado IDE (UG893)"去進(jìn)一步了解Schematic的使用。
(四)添加TB文件,做功能仿真:
在完成RTL設(shè)計(jì)之后,我們先需要對(duì)其做仿真來驗(yàn)證其功能的正確性。這里先需要添加testbench文件,來給設(shè)計(jì)輸入測(cè)試激勵(lì)。
1. 添加testbench文件。在Flow Navigator界面下點(diǎn)擊 Add Sources -> Add or create simulation sources -> Create File,則會(huì)出現(xiàn)如下界面,選定文件名(File name),文件類型(File type)。接下來依次點(diǎn)擊OK,F(xiàn)inish, OK完成文件的創(chuàng)建。
2. 在Sources框找到剛新建的tb文件,雙擊進(jìn)行編輯,完成編輯后保存。編輯完畢,則如下圖所示。
3. 在Flow Navigator界面下點(diǎn)擊 Run Simulation -> Run Behavioral Simultion。如果代碼沒有錯(cuò)誤,則一會(huì)兒將會(huì)在右邊出現(xiàn)如下圖所示的波形窗口。
4. 在Scope框里,選擇模塊,其內(nèi)部信號(hào)顯示在其右邊的Objects框里,可以右擊選擇Add to wave window,將其添加到波形顯示窗口。界面最上方紅框框出來的幾個(gè)按鈕從最左邊到右邊三個(gè)分別是 “從新開始運(yùn)行仿真”, “一直運(yùn)行仿真”,“運(yùn)行設(shè)定時(shí)間長(zhǎng)度的仿真(如圖設(shè)定的時(shí)間為1us)”。每新添加信號(hào)后都需要從新運(yùn)行仿真。
運(yùn)行仿真是為了確認(rèn)RTL設(shè)計(jì)的功能的正確性,對(duì)于仿真的深入了解可以參閱官網(wǎng)資料“Vivado Design Suite User Guide: Logic Simulation (UG900) ” 和 “Vivado Design Suite Tutorial: Logic Simulation (UG937)”。
(六) 添加管腳約束
添加管腳約束,添加管腳約束可以選用XDC文件的方式(參考官方文檔 “Vivado Design Suite User Guide Using Constraints (UG903 )”),也可以采用界面化的方式。這里給大家介紹界面化的方式。
(五)Synthesis(綜合)
直接在Flow Navigator界面下點(diǎn)擊 Run Synthesis后點(diǎn)擊OK即可。
Synthesis完畢后就會(huì)跳出如下信息框。選擇Open Synthesized Design后點(diǎn)擊OK。
對(duì)于Synthesis的其它一些設(shè)置選項(xiàng)等等,大家可以參考官網(wǎng)文檔 “Vivado Design Suite User Guide:Synthesis (UG901)”。
(六) 添加管腳約束
添加管腳約束,添加管腳約束可以選用XDC文件的方式(參考官方文檔 “Vivado Design Suite User Guide Using Constraints (UG903 )”),也可以采用界面化的方式。這里給大家介紹界面化的方式。管腳約束是為了將設(shè)計(jì)的輸入輸出引腳映射到FPGA芯片的引腳上。
1. Synthesis結(jié)束之后,并且Open Synthesized Design之后。在界面右上角選擇I/O Planning
2. 之后在I/O Ports給I/O端口分配引腳。Package Pin就是對(duì)應(yīng)的FPGA芯片的引腳。其中clk接外部晶振輸入,rts_n接外部復(fù)位按鈕,led_o接led燈。
(七)Implementation(實(shí)現(xiàn))
引腳分配完畢之后,在Flow Navigator界面下點(diǎn)擊Run Implementation
Implementation完畢之后會(huì)出現(xiàn)如下彈框。點(diǎn)擊OK則會(huì)打開Implementation之后的設(shè)計(jì)。
對(duì)于Implementation的其它一些設(shè)置選項(xiàng)等等,大家可以參考官網(wǎng)文檔 "Vivado Design Suite User Guide: Implementation (UG904)"。
(八) 生成編程文件,上板測(cè)試
Implementation之后在Flow Navigator界面下點(diǎn)擊Generate Bitstream
默認(rèn)生成的為.bit文件。對(duì)于這一塊的其他一些設(shè)置大家可以參考官網(wǎng)資料 “Vivado Design Suite User Guide: Programming and Debugging (UG908)”。
Bitstream文件生成完畢之后,出現(xiàn)如下彈框。接下來選擇Open Hardware Manager,點(diǎn)擊OK。準(zhǔn)備上班測(cè)試。
有些開發(fā)板支持SD配置,則直接將生成的.bit文件拷到對(duì)應(yīng)的SD卡里面即可。
如果有Xilinx下載器,將Xilinx下載器,開發(fā)板子,電腦連接好,并上電。
如下所示,點(diǎn)擊Open Target -> Auto Connect
工具自動(dòng)搜索已連接的器件。一般第一次會(huì)連接失敗,出現(xiàn)如下圖所示情況。右擊紅色箭頭所指,再點(diǎn)擊Close Server。
之后再重復(fù)Open Target -> Auto Connect操作,如果連接成功,視圖如下。右擊紅色箭頭所指的器件名,選擇Program Device
然后彈出如下所示框,其自動(dòng)為我們選擇了剛剛生成的bit文件,點(diǎn)擊Program,工具就會(huì)將我們的bit文件配置到FPGA里面去。配置完成板子上就會(huì)出現(xiàn)相應(yīng)的效果。
總結(jié)
上述就是一個(gè)基本的Vivado使用過程,在這個(gè)過程中的每一步,都有相應(yīng)的官網(wǎng)資料推薦,如果大家想要深入了解Vivado具有的強(qiáng)大功能,最好需要去看看這些文檔。