本書以Xilinx公司的Vivado FPGA設(shè)計套件為軟件平臺,以依元素科技有限公司的EGO1 Aritix-7實驗板卡為硬件平臺,將硬件描述語言Verilog HDL與FPGA設(shè)計實例相結(jié)合,系統(tǒng)介紹了利用Vivado和Verilog HDL進行數(shù)字電路設(shè)計和FPGA開發(fā)的方法與流程。 本書主要內(nèi)容包括硬件開發(fā)平臺介紹、Vivado軟件平臺介紹、FPGA設(shè)計實例、組合邏輯電路設(shè)計實例、時序邏輯電路設(shè)計實例、數(shù)字邏輯設(shè)計和接口實例及數(shù)字邏輯綜合實驗。本書將Verilog HDL的語法講解融入大量的FPGA設(shè)計實例中,內(nèi)容由淺入深、循序漸進、系統(tǒng)全面,易于讀者掌握Verilog HDL和FPGA設(shè)計方法。
廉玉欣,博士,教授,哈爾濱工業(yè)大學電氣工程及自動化學院電子學實驗室主任,編寫教材《基于Xilinx Vivado的數(shù)字邏輯實驗教程》《電子技術(shù)基礎(chǔ)實驗教程》。參與“構(gòu)建電工電子基礎(chǔ)課程研究性教學體系,強化培養(yǎng)學生工程實踐能力和創(chuàng)新精神”項目,獲高教類2014年國家級教學成果獎。
目 錄
第1章 硬件開發(fā)平臺介紹 (1)
1.1 Xilinx FPGA器件 (1)
1.1.1 Xilinx公司簡介 (1)
1.1.2 Xilinx的FPGA器件系列 (1)
1.2 EGO1實驗板卡 (4)
1.2.1 EGO1實驗板卡概述 (4)
1.2.2 板卡使用注意事項 (4)
1.2.3 EGO1實驗板卡用戶手冊 (5)
1.3 EGO1實驗板卡測試流程 (19)
1.4 EGO1實驗板卡的引腳約束 (20)
第2章 Vivado軟件平臺介紹 (25)
2.1 Vivado設(shè)計套件 (25)
2.1.1 Vivado軟件安裝流程 (25)
2.1.2 IP封裝器、IP集成器和可
擴展IP目錄 (29)
2.1.3 標準化XDC約束文件 (30)
2.1.4 工程命令語言 (31)
2.1.5 Vivado設(shè)計套件的啟動
方法 (31)
2.1.6 Vivado設(shè)計套件的界面 (31)
2.2 FPGA設(shè)計流程 (36)
2.2.1 Vivado套件的設(shè)計流程 (36)
2.2.2 設(shè)計綜合流程 (39)
2.2.3 設(shè)計實現(xiàn)流程 (41)
2.3 硬件描述語言 (43)
2.3.1 VHDL簡介 (44)
2.3.2 Verilog HDL簡介 (47)
第3章 FPGA設(shè)計實例 (53)
3.1 74系列IP封裝設(shè)計實例 (53)
3.1.1 IP核分類 (53)
3.1.2 IP封裝實驗流程 (54)
3.2 基于原理圖的設(shè)計實例—
全加器 (66)
3.2.1 全加器實驗原理 (66)
3.2.2 實驗步驟 (67)
3.3 基于Verilog HDL的設(shè)計實例—
流水燈 (79)
3.3.1 設(shè)計要求 (79)
3.3.2 操作步驟 (79)
第4章 組合邏輯電路設(shè)計實例 (89)
4.1 邏輯門電路 (89)
4.1.1 基本及常用的邏輯門 (89)
4.1.2 與非門電路的簡單應(yīng)用 (94)
4.2 多路選擇器 (96)
4.2.1 2選1多路選擇器 (96)
4.2.2 4選1多路選擇器 (97)
4.2.3 4位2選1多路選擇器 (100)
4.2.4 74LS253的IP核設(shè)計及
應(yīng)用 (102)
4.2.5 74LS151的IP核設(shè)計 (104)
4.3 數(shù)值比較器 (105)
4.3.1 4位二進制數(shù)值比較器 (106)
4.3.2 74LS85的IP核設(shè)計及
應(yīng)用 (108)
4.3.3 利用數(shù)據(jù)選擇器74LS151
設(shè)計2位比較器 (111)
4.4 譯碼器 (112)
4.4.1 3-8線譯碼器 (112)
4.4.2 74LS138的IP核設(shè)計及
應(yīng)用 (114)
4.4.3 顯示譯碼器 (116)
4.5 編碼器 (121)
4.5.1 二進制普通編碼器 (121)
4.5.2 二進制優(yōu)先編碼器 (122)
4.5.3 中規(guī)模集成8-3線優(yōu)先
編碼器74LS148的IP核
設(shè)計 (124)
4.6 編碼轉(zhuǎn)換器 (126)
4.6.1 二進制-BCD碼轉(zhuǎn)換器 (126)
4.6.2 格雷碼轉(zhuǎn)換器 (129)
4.7 加法器 (130)
4.7.1 半加器 (131)
4.7.2 全加器 (131)
4.7.3 4位全加器 (132)
4.8 減法器 (135)
4.8.1 半減器 (135)
4.8.2 全減器 (135)
4.9 乘法器 (138)
4.10 除法器 (141)
第5章 時序邏輯電路設(shè)計實例 (144)
5.1 鎖存器和觸發(fā)器 (144)
5.1.1 鎖存器 (144)
5.1.2 觸發(fā)器 (145)
5.1.3 74LS74的IP核設(shè)計及
應(yīng)用 (150)
5.2 寄存器 (152)
5.2.1 基本寄存器 (152)
5.2.2 移位寄存器 (155)
5.2.3 74LS194的IP核設(shè)計及
應(yīng)用 (161)
5.3 計數(shù)器 (163)
5.3.1 二進制計數(shù)器 (163)
5.3.2 N進制計數(shù)器 (166)
5.3.3 任意波形的實現(xiàn) (171)
5.3.4 74LS161的IP核設(shè)計及
應(yīng)用 (173)
5.4 脈沖寬度調(diào)制 (177)
5.5 時序邏輯電路綜合設(shè)計 (179)
第6章 數(shù)字邏輯設(shè)計和接口實例 (186)
6.1 有限狀態(tài)機 (186)
6.1.1 Moore狀態(tài)機和Mealy
狀態(tài)機 (186)
6.1.2 有限狀態(tài)機設(shè)計例程 (186)
6.2 最大公約數(shù) (197)
6.2.1 GCD算法 (198)
6.2.2 改進的GCD算法 (205)
6.3 整數(shù)平方根 (208)
6.3.1 整數(shù)平方根算法 (209)
6.3.2 改進的整數(shù)平方根算法 (216)
6.4 存儲器 (219)
6.4.1 只讀存儲器 (219)
6.4.2 分布式的存儲器 (222)
6.5 VGA控制器 (225)
6.5.1 VGA的時序 (226)
6.5.2 VGA控制器實例 (227)
6.6 鍵盤和鼠標接口 (246)
6.6.1 鍵盤 (248)
6.6.2 鼠標 (251)
第7章 數(shù)字邏輯綜合實驗 (259)
7.1 數(shù)字鐘 (259)
7.2 數(shù)字頻率計 (268)
7.3 7段數(shù)碼管滾動顯示號碼 (272)
7.4 電梯控制器 (276)
參考文獻 (282)