數(shù)字系統(tǒng)設(shè)計實驗教程(第二版)
本書是電子類專業(yè)核心課程的教材之一,由多年從事數(shù)字電子技術(shù)理論和實驗教學(xué)的教師合作完成。書中以Xilinx公司的VivadoFPGA設(shè)計套件為基礎(chǔ),硬件平臺以Xilinx的NexysVideoArtix-7FPGA多媒體音視頻智能互聯(lián)系統(tǒng)為主,并輔以Basys3FPGA口袋開發(fā)板;軟件平臺采用ModelSim、Vivado等專用開發(fā)工具,循序漸進地介紹數(shù)字系統(tǒng)設(shè)計的原理和方法!禕R》 本書內(nèi)容包括數(shù)字系統(tǒng)設(shè)計方法介紹、VerilogHDL介紹、仿真及測試代碼的編寫、實驗軟/硬件平臺的使用、數(shù)字系統(tǒng)基礎(chǔ)實驗、數(shù)字系統(tǒng)綜合實驗、MIPS微處理器的設(shè)計和應(yīng)用等7章。作者本著培養(yǎng)學(xué)生綜合設(shè)計和創(chuàng)新能力的原則精心設(shè)計了29個實驗項目,以設(shè)計性、綜合性和探索性實驗為主,強調(diào)多學(xué)科知識的交叉應(yīng)用,以達到培養(yǎng)和提高學(xué)生實驗的綜合技能的目的。
更多科學(xué)出版社服務(wù),請掃碼獲取。
目錄
第1章 FPGA與數(shù)字系統(tǒng)設(shè)計 1
1.1 現(xiàn)場可編程邏輯器件 1
1.1.1 概述 1
1.1.2 FPGA發(fā)展歷史 1
1.1.3 FPGA芯片的結(jié)構(gòu) 3
1.2 數(shù)字系統(tǒng)設(shè)計方法 6
1.2.1 數(shù)字系統(tǒng)的基本組成 6
1.2.2 數(shù)字系統(tǒng)的結(jié)構(gòu)化設(shè)計方法 7
1.2.3 數(shù)字系統(tǒng)設(shè)計實例 8
1.3 基于FPGA的數(shù)字系統(tǒng)設(shè)計流程 12
1.4 基于FPGA的數(shù)字系統(tǒng)的調(diào)試 15
1.4.1 數(shù)字系統(tǒng)的調(diào)試 15
1.4.2 選擇合適的FPGA 調(diào)試方法 18
第2章 Verilog HDL 20
2.1 初識Verilog HDL 20
2.1.1 概述 20
2.1.2 Verilog HDL的基本結(jié)構(gòu) 20
2.2 Verilog HDL的基礎(chǔ)知識 22
2.2.1 詞法 22
2.2.2 常量 24
2.2.3 數(shù)據(jù)類型和變量 25
2.2.4 參數(shù) 26
2.2.5 模塊端口類型 27
2.2.6 運算符及優(yōu)先級 27
2.3 Verilog HDL的描述語句 31
2.3.1 數(shù)據(jù)流描述語句 31
2.3.2 行為描述語句 32
2.3.3 Verilog描述風(fēng)格及層次化設(shè)計 39
2.3.4 編譯預(yù)處理指令 43
2.4 有限狀態(tài)機的描述 44
2.4.1 狀態(tài)機的結(jié)構(gòu) 44
2.4.2 狀態(tài)機的Verilog HDL 描述方法 45
2.5 設(shè)計舉例與技巧 48
2.5.1 常用組合電路的設(shè)計 48
2.5.2 常用時序電路的設(shè)計 51
2.5.3 數(shù)字系統(tǒng)設(shè)計實例 54
第3章 testbench的編寫 61
3.1 概述 61
3.2 testbench的結(jié)構(gòu)形式 61
3.2.1 testbench的基本結(jié)構(gòu) 61
3.2.2 testbench結(jié)構(gòu)實例詳解 62
3.3 常用的系統(tǒng)任務(wù)和系統(tǒng)函數(shù) 65
3.4 testbench的激勵和響應(yīng) 67
3.4.1 testbench的激勵方式 67
3.4.2 仿真結(jié)果分析方式 69
3.5 常用激勵信號的一些描述形式 69
3.6 testbench實例 72
3.6.1 組合乘法器實例 72
3.6.2 視頻顯示接口仿真實例 74
3.6.3 PS2 鍵盤接口電路實例 77
3.6.4 PS2 鼠標(biāo)接口電路實例 80
第4章 數(shù)字系統(tǒng)實驗平臺的使用 84
實驗1 ModelSim仿真軟件的使用 84
實驗2 Vivado軟件的使用 97
實驗3 IP內(nèi)核的使用與仿真 109
實驗4 ILA的邏輯分析儀實驗 123
第5章 數(shù)字系統(tǒng)設(shè)計的基礎(chǔ)實驗 130
實驗5 常用組合電路模塊的設(shè)計和應(yīng)用 130
實驗6 浮點數(shù)加法器的設(shè)計 136
實驗7 常用時序電路模塊的設(shè)計和應(yīng)用 141
實驗8 快速加法器的設(shè)計 146
實驗9 快速乘法器的設(shè)計 150
實驗10 學(xué)號滾動顯示實驗 156
實驗11 異步輸入的同步器和開關(guān)防顫動電路的設(shè)計 160
第6章 數(shù)字系統(tǒng)綜合設(shè)計實驗 166
實驗12 數(shù)字式秒表 166
實驗13 低頻數(shù)字式相位測量儀的設(shè)計 170
實驗14 全數(shù)字鎖相環(huán)的設(shè)計 176
實驗15 直接數(shù)字頻率合成技術(shù)(DDS)的設(shè)計與實現(xiàn) 181
實驗16 基于FPGA的FIR數(shù)字濾波器的設(shè)計 186
實驗17 數(shù)字下變頻器(DDC)的設(shè)計 191
實驗18 音頻編解碼芯片接口設(shè)計 195
實驗19 音樂播放實驗 209
實驗20 基于FPGA的實時語音變聲系統(tǒng)的設(shè)計 221
實驗21 HDMI顯示器接口設(shè)計實驗 230
實驗22 鍵盤接口實驗 239
實驗23 鼠標(biāo)接口實驗 248
實驗24 文本輸入與顯示實驗 254
實驗25 動態(tài)顯示實驗 260
實驗26 點燈游戲的設(shè)計 266
實驗27 推箱子游戲的設(shè)計 272
第7章 CPU設(shè)計 279
實驗28 多周期MIPS微處理器設(shè)計 279
實驗29 流水線MIPS微處理器設(shè)計 299
附錄A Basys3開發(fā)板的使用 314
A.1 FPGA主芯片介紹 315
A.2 電源電路 315
A.3 時鐘電路 315
A.4 基本I/O接口 316
A.5 數(shù)碼管電路 316
A.6 I/O擴展電路 317
A.7 USB-UART橋接電路 318
A.8 USB HID Host 318
A.9 VGA接口 318
A.10 FPGA調(diào)試及配置電路 319
附錄B Nexys Video開發(fā)板的使用 320
B.1 FPGA主芯片介紹 321
B.2 電源電路 321
B.3 時鐘電路 322
B.4 基本I/O接口 322
B.5 I/O擴展電路 323
B.6 音頻編解碼(CODEC)接口電路 323
B.7 USB-UART橋接電路 324
B.8 USB HID Host 324
B.9 HDMI接口 325
B.10 FPGA調(diào)試及配置電路 325
附錄C ASCII碼表 326
附錄D 仿真環(huán)境的建立 328
參考文獻 332