數(shù)字邏輯電路實(shí)踐教程——基于FPGA和Verilog
定 價(jià):59 元
- 作者:魯鵬程、張麗艷、邵溫、高雪園
- 出版時(shí)間:2025/9/1
- ISBN:9787302698821
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TN79
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書是一本數(shù)字邏輯電路設(shè)計(jì)的實(shí)踐教材。全書分為7章,第1~3章以“技術(shù)”為主,主要介紹現(xiàn)代邏輯電路的發(fā)展、主流 FPGA的軟硬件開發(fā)平臺(tái)、Verilog硬件描述語言及 Quartus 和 Vivado兩款EDA軟件的使用;第4、5章以“理論”為主,主要介紹數(shù)字邏輯電路中常用的邏輯電路及 Vcrilog實(shí)現(xiàn)、狀態(tài)機(jī)理論及硬件實(shí)驗(yàn)中常用的外圍電路;第6、7章以“實(shí)踐”為主,分為基礎(chǔ)實(shí)驗(yàn)和綜合設(shè)計(jì)兩個(gè)環(huán)節(jié);A(chǔ)實(shí)驗(yàn)題目具有一定的層次性、設(shè)計(jì)性和應(yīng)用性,可幫助學(xué)生鞏固知識(shí)并掌握基本技能;綜合設(shè)計(jì)題目具有一定的系統(tǒng)性和工程性,并留有創(chuàng)新的空間,通過這些題目的練習(xí),能夠提升數(shù)字邏輯電路的設(shè)計(jì)能力、動(dòng)手能力及工程實(shí)踐能力。本書可作為高等院校計(jì)算機(jī)科學(xué)與技術(shù)、物聯(lián)網(wǎng)工程、電子信息、自動(dòng)控制等專業(yè)“數(shù)字邏輯電路設(shè)計(jì)”“數(shù)字系統(tǒng)設(shè)計(jì)”等課程的實(shí)驗(yàn)教學(xué)用書,也可作為從事數(shù)字系統(tǒng)設(shè)計(jì)相關(guān)技術(shù)人員的參考書。
本書強(qiáng)調(diào)電路設(shè)計(jì)的規(guī)范性與工程實(shí)踐能力的培養(yǎng),可以作為高等院校計(jì)算機(jī)科學(xué)與技術(shù)、物聯(lián)網(wǎng)工程、信息安全專業(yè)的教材。
“數(shù)字邏輯電路”是信息技術(shù)類專業(yè)一門重要的基礎(chǔ)核心課程,具有較強(qiáng)的理論性和實(shí)踐性。通過學(xué)習(xí)本課程,讀者可以掌握數(shù)字邏輯電路的分析和設(shè)計(jì)方法,學(xué)會(huì)電路調(diào)試及故障查詢方法并提高實(shí)踐動(dòng)手能力,還可以培養(yǎng)耐心、細(xì)致的科研作風(fēng),為后續(xù)專業(yè)課打好基礎(chǔ)。
FPGA作為一種半定制產(chǎn)品,具有配置靈活、可重構(gòu)的特點(diǎn),在一個(gè)芯片內(nèi)就可以實(shí)現(xiàn)包括組合電路、時(shí)序電路、存儲(chǔ)器等在內(nèi)的各種數(shù)字電路,還可以根據(jù)設(shè)計(jì)需求進(jìn)行定制和優(yōu)化,使設(shè)計(jì)和開發(fā)更加高效和便捷,因此基于FPGA平臺(tái)進(jìn)行數(shù)字邏輯電路的設(shè)計(jì),已成為越來越多工程師的首選方案。
本書共7章,第1~3章主要介紹技術(shù)方面的內(nèi)容,重點(diǎn)是Verilog HDL語法規(guī)則和EDA軟件的使用;第4、5章主要介紹理論方面的內(nèi)容,重點(diǎn)是狀態(tài)機(jī)理論和常用外圍電路的工作原理;第6、7章以實(shí)踐為主,分為基礎(chǔ)實(shí)驗(yàn)和綜合設(shè)計(jì),重點(diǎn)內(nèi)容是“自頂向下的設(shè)計(jì)方法”。
各章主要內(nèi)容如下:
第1章首先介紹邏輯電路的發(fā)展,并引出FPGA可編程芯片;然后詳細(xì)介紹FPGA主流廠商、產(chǎn)品及軟硬件開發(fā)平臺(tái);最后就如何進(jìn)行預(yù)習(xí)、實(shí)驗(yàn)和總結(jié)給出了建議。
第2章主要介紹Verilog HDL的程序結(jié)構(gòu)、基本語法規(guī)則、仿真驗(yàn)證以及編程規(guī)范。
第3章以一個(gè)四人表決電路為例,介紹數(shù)字邏輯電路傳統(tǒng)與現(xiàn)代的設(shè)計(jì)方法,以及該電路在Quartus和Vivado環(huán)境中的實(shí)現(xiàn)過程。
第4章通過實(shí)例,介紹基本組合邏輯電路和時(shí)序邏輯電路的特點(diǎn)及Verilog實(shí)現(xiàn);通過“序列檢測(cè)器”介紹狀態(tài)機(jī)理論。
第5章將硬件實(shí)驗(yàn)中常用的外設(shè)分為輸入、顯示、機(jī)電控制和其他四個(gè)種類,分別介紹這些外設(shè)的工作原理及其典型控制電路。
第6章按照數(shù)字邏輯電路的特點(diǎn),將基礎(chǔ)實(shí)驗(yàn)分成組合邏輯、時(shí)序邏輯、接口電路三大類,每類實(shí)驗(yàn)設(shè)置若干任務(wù)并給出設(shè)計(jì)指導(dǎo),題目設(shè)置上具有一定的層次性、設(shè)計(jì)性和應(yīng)用性。
第7章介紹數(shù)字系統(tǒng)設(shè)計(jì)的基本概念、方法,以“數(shù)字秒表”為例詳細(xì)介紹實(shí)現(xiàn)一個(gè)數(shù)字系統(tǒng)的全過程,最后提供一些實(shí)際題目作為練習(xí)。題目在設(shè)置時(shí)給出一定的擴(kuò)展提示,且盡可能接近真實(shí)場(chǎng)景,具有一定的系統(tǒng)性、工程性、創(chuàng)新性。
本書未指定具體的實(shí)驗(yàn)臺(tái)或開發(fā)板型號(hào),而是將相關(guān)電路以典型電路的形式呈現(xiàn),希望讀者通過學(xué)習(xí)這些電路,具備舉一反三的能力,在面對(duì)不同開發(fā)板或模塊時(shí)能夠看懂外圍電路原理。
附錄部分提供了“實(shí)驗(yàn)臺(tái)外設(shè)引腳分配表”,讀者可根據(jù)所用開發(fā)板的資源分配情況填入信號(hào)名和引腳號(hào),也可由教師在安排預(yù)習(xí)任務(wù)時(shí)填入。“實(shí)驗(yàn)任務(wù)單”可根據(jù)課程學(xué)時(shí)從基礎(chǔ)實(shí)驗(yàn)和綜合設(shè)計(jì)中選擇適合的任務(wù)填入。
書中的實(shí)例分別在Quartus Prime 20.1 Lite Edition和Vivado 2019.2環(huán)境下測(cè)試通過。
這兩款軟件均有多個(gè)版本,除了在芯片的支持上有所不同外,對(duì)于數(shù)字邏輯電路開發(fā)幾乎沒有差別。讀者在選擇軟件版本時(shí),只要選擇能夠支持所選開發(fā)板的FPGA型號(hào)就可以。如果不希望軟件安裝后占用過多的存儲(chǔ)空間,可以選擇稍早一些的版本;如果想體驗(yàn)一些新的功能,可選擇較新的版本。
本書由北京工業(yè)大學(xué)“數(shù)字邏輯實(shí)驗(yàn)”課程教學(xué)團(tuán)隊(duì)編寫,第1章由高雪園編寫,第2章、附錄由邵溫編寫,第3、4章由張麗艷編寫,第5~7章由魯鵬程編寫。魯鵬程負(fù)責(zé)全書的策劃、組織整理和定稿。
本書獲得了北京工業(yè)大學(xué)教育教學(xué)研究課題的資助(ER2022SJB04)。北京工業(yè)大學(xué)計(jì)算機(jī)學(xué)院實(shí)驗(yàn)中心的韓德強(qiáng)、楊淇善兩位老師研制了實(shí)驗(yàn)平臺(tái)與擴(kuò)展模塊,為本書的實(shí)踐案例設(shè)計(jì)和教學(xué)資源開發(fā)提供了有力支持。此外,清華大學(xué)出版社編輯團(tuán)隊(duì)為本書的編校工作付出了大量心血。在此,向所有給予幫助的單位和個(gè)人表示衷心的感謝!
限于編者的水平與經(jīng)驗(yàn),書中難免有疏漏和錯(cuò)誤之處,敬請(qǐng)讀者批評(píng)指正。
編者
2025年6月
魯鵬程,博士,高級(jí)實(shí)驗(yàn)師,長(zhǎng)期從事計(jì)算機(jī)系統(tǒng)、嵌入式等領(lǐng)域的科研和教學(xué)工作,先后主講“計(jì)算機(jī)組成原理”、“計(jì)算機(jī)體系結(jié)構(gòu)”、“數(shù)字邏輯實(shí)驗(yàn)”及“計(jì)算機(jī)硬件類綜合型課程設(shè)計(jì)”等多門本科生課程,參與出版教材2本,譯著3部,在國內(nèi)外重要期刊和會(huì)議上發(fā)表10余篇學(xué)術(shù)論文。
第1章概述1
1.1邏輯器件概述1
1.1.1固定邏輯芯片1
1.1.2可編程邏輯器件2
1.2主流FPGA平臺(tái)概述7
1.2.1Intel FPGA產(chǎn)品概況7
1.2.2Xilinx FPGA產(chǎn)品概況9
1.3FPGA開發(fā)軟硬件平臺(tái)11
1.3.1硬件平臺(tái)選擇11
1.3.2軟件開發(fā)平臺(tái)11
1.4基于FPGA的數(shù)字邏輯實(shí)驗(yàn)12
1.4.1實(shí)驗(yàn)預(yù)習(xí)12
1.4.2實(shí)驗(yàn)過程14
1.4.3實(shí)驗(yàn)報(bào)告14
第2章Verilog HDL基礎(chǔ)16
2.1Verilog HDL簡(jiǎn)介16
2.2Verilog HDL基本結(jié)構(gòu)17
2.2.1模塊定義17
2.2.2模塊實(shí)例化20
2.3Verilog HDL語言要素22
2.3.1標(biāo)識(shí)符22
2.3.2關(guān)鍵字22
2.3.3注釋22
2.3.4常量22
2.3.5參數(shù)23
2.3.6變量25
2.3.7運(yùn)算符25
2.4Verilog HDL基本語句29
2.4.1賦值語句29
2.4.2always塊語句30
2.4.3initial塊語句32
2.4.4條件語句33
2.4.5循環(huán)語句35
2.4.6任務(wù)和函數(shù)37
2.5Verilog HDL驗(yàn)證40
2.5.1Testbench文件的基本格式40
2.5.2時(shí)鐘激勵(lì)產(chǎn)生41
2.5.3復(fù)位信號(hào)設(shè)計(jì)42
2.5.4數(shù)據(jù)信號(hào)的產(chǎn)生43
2.5.5系統(tǒng)函數(shù)和系統(tǒng)任務(wù)45
2.6Verilog代碼規(guī)范49
2.6.1命名規(guī)范49
2.6.2編碼規(guī)范50
2.6.3注釋規(guī)范51
第3章基于FPGA和EDA的數(shù)字邏輯電路設(shè)計(jì)52
3.1FPGA設(shè)計(jì)流程52
3.2設(shè)計(jì)實(shí)例——四人表決器54
3.3基于Quartus的數(shù)字邏輯電路開發(fā)流程58
3.3.1創(chuàng)建工程58
3.3.2設(shè)計(jì)輸入62
3.3.3編譯工程67
3.3.4波形仿真68
3.3.5引腳分配75
3.3.6編程下載77
3.3.7層次化設(shè)計(jì)78
3.4基于Vivado的數(shù)字邏輯電路開發(fā)流程81
3.4.1創(chuàng)建工程81
3.4.2添加設(shè)計(jì)文件84
3.4.3仿真87
3.4.4綜合88
3.4.5實(shí)現(xiàn)90
3.4.6編程下載91
3.4.7層次化設(shè)計(jì)91
第4章基本邏輯電路設(shè)計(jì)實(shí)例94
4.1常用組合邏輯電路的設(shè)計(jì)94
4.1.1編碼器94
4.1.2譯碼器96
4.1.3數(shù)據(jù)選擇器98
4.1.4數(shù)值比較器99
4.1.5加法器100
4.2常用時(shí)序邏輯電路的設(shè)計(jì)101
4.2.1鎖存器和觸發(fā)器102
4.2.2計(jì)數(shù)器106
4.2.3寄存器107
4.2.4移位寄存器107
4.2.5存儲(chǔ)器109
4.3有限狀態(tài)機(jī)的設(shè)計(jì)111
4.3.1有限狀態(tài)機(jī)簡(jiǎn)介111
4.3.2有限狀態(tài)機(jī)設(shè)計(jì)實(shí)例114
第5章數(shù)字系統(tǒng)常用外圍電路121
5.1輸入模塊121
5.1.1開關(guān)和按鍵121
5.1.2矩陣式鍵盤123
5.2顯示模塊124
5.2.1發(fā)光二極管124
5.2.2數(shù)碼管127
5.2.3LED點(diǎn)陣130
5.2.4LCD液晶屏131
5.2.5OLED液晶屏135
5.2.6VGA顯示138
5.3機(jī)電控制模塊142
5.3.1繼電器模塊142
5.3.2直流電機(jī)143
5.3.3步進(jìn)電機(jī)145
5.3.4舵機(jī)148
5.4其他模塊150
5.4.1蜂鳴器150
5.4.2超聲波測(cè)距151
5.4.3溫濕度傳感器153
第6章基礎(chǔ)實(shí)驗(yàn)156
6.1組合邏輯電路設(shè)計(jì)156
6.1.1實(shí)驗(yàn)?zāi)康?56
6.1.2實(shí)驗(yàn)任務(wù)及要求156
6.1.3實(shí)驗(yàn)步驟166
6.2寄存器電路設(shè)計(jì)167
6.2.1實(shí)驗(yàn)?zāi)康?67
6.2.2實(shí)驗(yàn)任務(wù)及要求167
6.3計(jì)數(shù)器電路設(shè)計(jì)173
6.3.1實(shí)驗(yàn)?zāi)康?73
6.3.2實(shí)驗(yàn)任務(wù)及要求173
6.4狀態(tài)機(jī)電路設(shè)計(jì)184
6.4.1實(shí)驗(yàn)?zāi)康?84
6.4.2實(shí)驗(yàn)任務(wù)及要求184
6.5常用外設(shè)驅(qū)動(dòng)電路的設(shè)計(jì)187
6.5.1實(shí)驗(yàn)?zāi)康?87
6.5.2實(shí)驗(yàn)任務(wù)及要求187
6.6常用接口協(xié)議設(shè)計(jì)196
6.6.1實(shí)驗(yàn)?zāi)康?96
6.6.2實(shí)驗(yàn)任務(wù)及要求196
第7章綜合設(shè)計(jì)206
7.1數(shù)字系統(tǒng)設(shè)計(jì)206
7.1.1數(shù)字系統(tǒng)的構(gòu)成206
7.1.2設(shè)計(jì)方法206
7.1.3設(shè)計(jì)過程207
7.2設(shè)計(jì)實(shí)例——數(shù)字秒表208
7.2.1設(shè)計(jì)要求208
7.2.2系統(tǒng)設(shè)計(jì)209
7.2.3詳細(xì)設(shè)計(jì)210
7.3設(shè)計(jì)題目243
7.3.1自動(dòng)售票機(jī)243
7.3.2四人搶答器245
7.3.3交通燈控制器246
7.3.4保險(xiǎn)箱數(shù)字鎖控制器247
7.3.5乒乓球游戲機(jī)248
7.3.6數(shù)字鐘電路250
7.3.7出租車計(jì)價(jià)器251
7.3.8洗衣機(jī)控制器252
7.3.9電梯控制器253
7.3.10自命題254
附錄A數(shù)碼管字形碼255
附錄BVerilog HDL中的關(guān)鍵字256
附錄C實(shí)驗(yàn)臺(tái)外設(shè)引腳分配表257
附錄D實(shí)驗(yàn)任務(wù)單259
參考文獻(xiàn)260