1. vivado安(ān)裝(zhuāng)
鍊(liàn)接:https://pan.baidu.com/s/1uEl3GWg-ocivbsfX-dK3Zw 提(tí)取(qǔ)碼:ae89
首先(xiān)下(xià)载vivado webpack installer,目前(qián)最(zuì)新版本(běn)为(wèi)2019.1。
開(kāi)始安(ān)裝(zhuāng),可(kě)以(yǐ)選擇VIvado HL Webpack版本(běn)點(diǎn)擊next繼續安(ān)裝(zhuāng)。

接下(xià)来(lái)的(de)一(yī)步可(kě)以(yǐ)使用(yòng)默認選項繼續安(ān)裝(zhuāng),但是(shì)这(zhè)樣(yàng)占用(yòng)的(de)存儲空間(jiān)比較大。也(yě)可(kě)以(yǐ)使用(yòng)如(rú)用(yòng)所(suǒ)示的(de)最(zuì)小安(ān)裝(zhuāng)方(fāng)式。

接下(xià)来(lái)就(jiù)是(shì)比較漫长的(de)安(ān)裝(zhuāng)过(guò)程了(le)。你可(kě)以(yǐ)先(xiān)做其他(tā)事(shì)情(qíng),等会(huì)再来(lái)瞅一(yī)下(xià)。
2. Vivado使用(yòng)
本(běn)使用(yòng)指南(nán)将指導读(dú)者(zhě)在(zài) Xilinx Vivado 环(huán)境下(xià),使用(yòng) Verilog HDL 語(yǔ)言設計(jì)一(yī)个(gè)簡單的(de)數字(zì)電(diàn)路(lù)樣(yàng)例。一(yī)个(gè)典型的(de)設計(jì)流程包(bāo)括創建 model,創建用(yòng)戶約束(shù)文(wén)件(jiàn),創建 Vivado 項目,導入(rù)已創建的(de)model,編譯約束(shù)文(wén)件(jiàn),選擇性(xìng)調試運行时(shí)的(de)行为(wèi)仿真(zhēn),綜合你的(de)design,实現(xiàn)design,生(shēng)成(chéng) bitstream 文(wén)件(jiàn),最(zuì)後(hòu)将 bitstream 文(wén)件(jiàn)下(xià)载到(dào)硬(yìng)件(jiàn)中(zhōng),并确認硬(yìng)件(jiàn)能(néng)否正(zhèng)确的(de)实現(xiàn)功能(néng)。读(dú)者(zhě)即将学習的(de)設計(jì)流程将基于(yú) Artix-7 芯片(piàn)的(de) Basys3 基板和(hé) Nexys4 DDR 基板。一(yī)个(gè)典型的(de)設計(jì)流程如(rú)下(xià)图(tú)所(suǒ)示,画(huà)圈數字(zì)的(de)順序将和(hé)本(běn)指南(nán)中(zhōng)的(de)指導步驟的(de)順序一(yī)致(zhì)。

2-1. 目标(biāo):
在(zài)完成(chéng)了(le)本(běn)指南(nán)的(de)所(suǒ)有(yǒu)內(nèi)容後(hòu),你應(yìng)該具備以(yǐ)下(xià)能(néng)力:
- 創建一(yī)个(gè)采用(yòng) HDL 模型的(de) Vivado 項目,并針(zhēn)对(duì)位于(yú) Basys3 和(hé) Nexys4 DDR 板上(shàng)的(de)特(tè)定(dìng)FPGA 器件(jiàn)進(jìn)行開(kāi)發(fà)
- 使用(yòng)提(tí)供的(de)已部(bù)分(fēn)完成(chéng)的(de) Xilinx Design Constraint (XDC)文(wén)件(jiàn)来(lái)約束(shù)某些引脚的(de)位置
- 使用(yòng) Vivado 的(de) Tcl 脚本(běn)功能(néng)来(lái)增加額外(wài)的(de)約束(shù)
- 使用(yòng) XSim 仿真(zhēn)器来(lái)仿真(zhēn)你的(de)設計(jì)
- 綜合并实現(xiàn)你的(de)設計(jì)
- 生(shēng)成(chéng) bitstream 文(wén)件(jiàn)
- 使用(yòng)已生(shēng)成(chéng)的(de) bitstream 文(wén)件(jiàn)配置 FPGA 設備并确認功能(néng)
2-2. 流程
若要(yào)实現(xiàn)以(yǐ)上(shàng)的(de)目标(biāo),就(jiù)請你按照下(xià)面(miàn)的(de)步驟完整做一(yī)遍(biàn)。以(yǐ)下(xià)是(shì)2015.1版本(běn)的(de)教程,但是(shì)和(hé)2019.1的(de)步驟是(shì)差不(bù)多(duō)的(de)。
2-2-1. 使用(yòng) IDE 創建 Vivado 項目
啟 動(dòng) Vivado 并 創 建 一(yī) 个(gè) 針(zhēn) 对(duì) xc7a35tcpg236-1 (Basys3) 或(huò) 者(zhě)xc7a100tcsg324-1 (Nexys4 DDR)設備的(de)項目,并使用(yòng) Verilog HDL 語(yǔ)言。使用(yòng)在(zài) sources / tutorial 目 录(lù) 中(zhōng) 提(tí)供的(de) tutorial.v 和(hé)Nexys4DDR_Master.xdc or Basys3_Master.xdc 文(wén)件(jiàn)。
-
打(dǎ)開(kāi) Vivado。Start > All Programs > Xilinx Design Tools > Vivado 2015.1 > Vivado2015.1。
-
單擊“Create New Project”以(yǐ)啟動(dòng)向(xiàng)導。你将看(kàn)到(dào)“Create A New Vivado Project”对(duì)話(huà)框。點(diǎn)擊 Next。
-
單擊 New Project 窗(chuāng)體(tǐ)的(de) Project location 字(zì)段(duàn)的(de) Browse 按鈕,浏覽到(dào) c:\ xup \digital,然後(hòu)單擊Select。
-
在(zài) Project name 中(zhōng)輸入(rù) tutorial。确保選中(zhōng)“Create Project Subdirectory”框,點(diǎn)擊 Next。

- 在(zài) Project Type 表(biǎo)單中(zhōng)選擇 RTL Project,點(diǎn)擊 Next。
- 在(zài) Add Sources 表(biǎo)單中(zhōng)選擇 Verilog 作为(wèi) Target language 和(hé) Simulator language。
- 單擊 Green Plus 按鈕,然後(hòu)單擊 Add Files…按鈕,浏覽到(dào) c:\ xup \ digital \ sources\ tutorial 目录(lù),選擇 tutorial.v,單擊 Open,并确認已選中(zhōng) Copy sources into project,然後(hòu)單擊 Next。
- 因(yīn)为(wèi)我(wǒ)们(men)沒(méi)有(yǒu)在(zài)此(cǐ)設計(jì)中(zhōng)使用(yòng)任何預先(xiān)固定(dìng)的(de) IP,故單擊 Add Existing IP form 表(biǎo)單中(zhōng)的(de) Next
- 在(zài) Add Constraints 表(biǎo)單中(zhōng),單擊 Green Plus 按鈕,然後(hòu)單擊 Add Files …按鈕,浏覽到(dào) c:\ xup \ digital \ sources \ tutorial 目录(lù),選擇 Basys3_Master.xdc(对(duì)應(yìng)Basys3)或(huò) Nexys4DDR_Master.xdc(对(duì)應(yìng) Nexys4 DDR),單擊 Open,然後(hòu)單擊 Next。XDC 約束(shù)文(wén)件(jiàn)将 FPGA 上(shàng)的(de)物(wù)理 IO 位置分(fēn)配給(gěi)主(zhǔ)板上(shàng)的(de)開(kāi)關(guān)和(hé) LED。这(zhè)些信(xìn)息可(kě)以(yǐ)通(tòng)过(guò)電(diàn)路(lù)板的(de)原理图(tú)或(huò)電(diàn)路(lù)板的(de)用(yòng)戶指南(nán)獲得。
- 在(zài) Default Part 表(biǎo)單中(zhōng),使用(yòng) Parts 選項和(hé) Fliter 部(bù)分(fēn)的(de)各(gè)種(zhǒng)下(xià)拉字(zì)段(duàn),選擇 xc7a35tcpg236-1 part(对(duì)于(yú) Basy3)或(huò) xc7a100tcsg324-1 part(对(duì)于(yú) Nexys4DDR)。點(diǎn)擊 Next。


- 單擊 Finish 以(yǐ)創建 Vivado 項目。使用(yòng) Windows 資源管(guǎn)理器并查看(kàn) c:\ xup \ digital \ tutorial 目录(lù)。你将看(kàn)到(dào)tutorial.srcs 和(hé)其他(tā)目录(lù)以(yǐ)及(jí) tutorial.xpr(Vivado)項目文(wén)件(jiàn)已創建。在(zài) tutorial.srcs目录(lù)下(xià)創建了(le)两(liǎng)个(gè)子目录(lù) constrs_1 和(hé) sources_1;在(zài)它(tā)们(men)的(de)下(xià)方(fāng),分(fēn)别放(fàng)置了(le)複制的(de) Nexys4DDR_Master.xdc 或(huò)Basys3_Master.xdc(約束(shù))和(hé) tutorial.v(源)文(wén)件(jiàn)。
2-2-2. 打(dǎ)開(kāi) tutorial.v 文(wén)件(jiàn)并分(fēn)析內(nèi)容
- 在(zài) Sources 窗(chuāng)格中(zhōng),双(shuāng)擊 tutorial.v 条(tiáo)目以(yǐ)在(zài)文(wén)本(běn)模式下(xià)打(dǎ)開(kāi)文(wén)件(jiàn)。

-
請注意(yì),在(zài) Verilog 代(dài)碼中(zhōng),第(dì)一(yī)行定(dìng)義了(le)仿真(zhēn)器的(de) timescale 指令。第(dì) 2-5 行是(shì)描述模块(kuài)名稱和(hé)模块(kuài)用(yòng)途的(de)注釋行
-
第(dì) 7 行定(dìng)義了(le)開(kāi)头(tóu)(用(yòng)關(guān)鍵字(zì) module 标(biāo)記(jì)),第(dì) 19 行定(dìng)義了(le)模块(kuài)的(de)結尾(用(yòng)關(guān)鍵字(zì) endmodule 标(biāo)記(jì))。
-
第(dì) 8-9 行定(dìng)義輸入(rù)和(hé)輸出(chū)端口(kǒu)而(ér)第(dì) 12-17 行定(dìng)義实際功能(néng)。
2-2-3. 打(dǎ)開(kāi) Basys3_Master.xdc 或(huò) Nexys4DDR_Master.xdc 源,分(fēn)析內(nèi)容并編輯文(wén)件(jiàn)。
- 在(zài) Sources 窗(chuāng) 格 中(zhōng) , 展(zhǎn) 開(kāi) Constraints 文(wén) 件(jiàn) 夾 , 然 後(hòu) 双(shuāng) 擊Basys3_Master.xdc(Basys3)或(huò) Nexys4DDR_Master.xdc(Nexys4 DDR)条(tiáo)目以(yǐ)在(zài)文(wén)本(běn)模式下(xià)打(dǎ)開(kāi)文(wén)件(jiàn)。

- 通(tòng)过(guò)删除#符号(hào)或(huò)突出(chū)顯示 SW [7:0]并按 CRTL /来(lái)取(qǔ)消注釋 SW [7:0]。取(qǔ)消注釋 LED [7:0],引脚名稱需要(yào)進(jìn)行更(gèng)改,以(yǐ)匹(pǐ)配 tutorial.v 文(wén)件(jiàn)中(zhōng)的(de)引脚名稱。将 sw 更(gèng)改为(wèi) swt,将 LED 更(gèng)改为(wèi) led。



- 将 sw []名稱更(gèng)改为(wèi) swt [],将 LED []更(gèng)改为(wèi) led [],因(yīn)为(wèi)模型中(zhōng)的(de)端口(kǒu)名稱是(shì) swt 和(hé) led。
- 關(guān)閉并保存文(wén)件(jiàn)。
2-2-4. 对(duì)源文(wén)件(jiàn)執行 RTL 分(fēn)析
-
展(zhǎn)開(kāi) Flow Navigator 窗(chuāng)格的(de) RTL Analysis 任务下(xià)的(de) Open Elaborated Design 条(tiáo)目,然後(hòu)單擊 Schematic。
-
單擊 OK 以(yǐ)運行分(fēn)析。将詳细(xì)说(shuō)明(míng)模型(設計(jì))并顯示設計(jì)的(de)邏輯視图(tú)。

請注意(yì),某些開(kāi)關(guān)輸入(rù)会(huì)通(tòng)过(guò)邏輯門(mén)後(hòu)再被(bèi)輸出(chū)到(dào) LED,而(ér)其餘部(bù)分(fēn)将和(hé)文(wén)件(jiàn)中(zhōng)的(de)模型一(yī)樣(yàng)直(zhí)接輸出(chū)到(dào) LED。








