本書全面系統(tǒng)地介紹了電子設(shè)計(jì)自動(dòng)化(EDA)的相關(guān)技術(shù)理論?VHDL 語(yǔ)言及語(yǔ)法?開發(fā)環(huán)境Altera Quartus Ⅱ操作流程?電子設(shè)計(jì)與優(yōu)化方法等。本書遵循循序漸進(jìn)的學(xué)習(xí)規(guī)律,突出實(shí)用性,以數(shù)字電路和系統(tǒng)設(shè)計(jì)為主線,與數(shù)字電路和系統(tǒng)的實(shí)踐教學(xué)環(huán)節(jié)及科研實(shí)際相結(jié)合,提供豐富的SOPC 設(shè)計(jì)實(shí)例。全書共9 章,內(nèi)容包括EDA 工具軟件Quartus Prime 18.0 、VHDL 語(yǔ)言要素、VHDL 基本結(jié)構(gòu)、VHDL 順序語(yǔ)句、VHDL 并行語(yǔ)句、數(shù)字電路設(shè)計(jì)實(shí)例、EDA 技術(shù)的綜合應(yīng)用、Verilog HDL 、SOPC 技術(shù)。本書基于Intel FPGA 產(chǎn)品及開發(fā)環(huán)境,參考了官方提供的設(shè)計(jì)資料,提供了豐富的設(shè)計(jì)案例,從理論與實(shí)踐兩個(gè)方面解決了與后續(xù)課程的銜接,具有系統(tǒng)性強(qiáng)、內(nèi)容新穎、適用性廣等特點(diǎn)。
本書可作為普通高等院校電子信息專業(yè)?通信專業(yè)及計(jì)算機(jī)專業(yè)的教材,也可作為工程技術(shù)人員的參考用書。本書配有電子課件和源代碼,歡迎選用本書作為教材的老師登錄www.cmpedu.com 注冊(cè)下載,或發(fā)郵件至jinacmp@163.com 索取。
電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation,EDA )是以微電子技術(shù)為物理層面,以現(xiàn)代電子設(shè)計(jì)為靈魂,以計(jì)算機(jī)軟件技術(shù)為手段,終形成集成電子系統(tǒng)或?qū)S眉呻娐罚ˋpplication Specific Integrated Circuit,ASIC )的一門新興技術(shù),F(xiàn)代電子設(shè)計(jì)技術(shù)的核心是EDA 技術(shù)。EDA 技術(shù)就是依靠功能強(qiáng)大的計(jì)算機(jī),在EDA 工具軟件平臺(tái)上,對(duì)用硬件描述語(yǔ)言(如VHDL)為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化和仿真,直至下載到可編程邏輯器件CPLD/FPGA 或?qū)S眉呻娐稟SIC 芯片中,實(shí)現(xiàn)既定的電子電路設(shè)計(jì)功能。
EDA 技術(shù)的出現(xiàn)不僅更好地保證了電子工程設(shè)計(jì)各級(jí)別的仿真、調(diào)試和糾錯(cuò),為其發(fā)展帶來了強(qiáng)有力的技術(shù)支持,并且在電子、通信、化工、航空航天、生物等各個(gè)領(lǐng)域占有越來越重要的地位,很大程度上減輕了相關(guān)從業(yè)者的工作強(qiáng)度。
基于在工程領(lǐng)域中EDA 技術(shù)的實(shí)用價(jià)值,以及對(duì)EDA 教學(xué)中實(shí)踐能力和創(chuàng)新意識(shí)培養(yǎng)的重視,本書在編寫中體現(xiàn)了如下3 個(gè)特色。
1.注重實(shí)踐能力和創(chuàng)新能力的培養(yǎng)
本書的大部分章節(jié)安排了針對(duì)性較強(qiáng)的實(shí)驗(yàn)與設(shè)計(jì)項(xiàng)目。針對(duì)大多數(shù)學(xué)生而言,理論的學(xué)習(xí)很枯燥,本書力圖讓大家先進(jìn)門再修行,盡量簡(jiǎn)化理論學(xué)習(xí),在基礎(chǔ)部分安排了大量的實(shí)例和設(shè)計(jì)性的項(xiàng)目,在SOPC 技術(shù)部分引入了基礎(chǔ)實(shí)驗(yàn)和綜合性實(shí)驗(yàn)。
全書包含數(shù)十個(gè)實(shí)驗(yàn)及其相關(guān)的設(shè)計(jì)項(xiàng)目,這些項(xiàng)目涉及的EDA 工具軟件類型較多、技術(shù)領(lǐng)域也較寬、知識(shí)涉獵密集、針對(duì)性強(qiáng),而且自主創(chuàng)新意識(shí)的啟示性好。與書中的示例相同,所有的實(shí)驗(yàn)項(xiàng)目都通過了EDA 工具的仿真測(cè)試及FPGA 平臺(tái)的硬件驗(yàn)證。每一個(gè)實(shí)驗(yàn)項(xiàng)目除給出詳細(xì)的實(shí)驗(yàn)?zāi)康、?shí)驗(yàn)原理和實(shí)驗(yàn)內(nèi)容外,還有2~5 個(gè)子項(xiàng)目或子任務(wù)。
2.注重實(shí)用,避免大而全
一般認(rèn)為EDA 技術(shù)難學(xué)和學(xué)習(xí)費(fèi)時(shí)的根源在于VHDL 語(yǔ)言。對(duì)此,本書做了有針對(duì)性的安排:根據(jù)電子類專業(yè)的特點(diǎn),放棄計(jì)算機(jī)語(yǔ)言的通常教學(xué)模式,打破目前VHDL 教材通用的編排形式,以電子線路設(shè)計(jì)為基礎(chǔ),從實(shí)例的介紹中引出VHDL 語(yǔ)句語(yǔ)法內(nèi)容,通過少數(shù)幾個(gè)簡(jiǎn)單、直觀、典型的實(shí)例,將VHDL 中核心和基本的內(nèi)容解釋清楚,讀者在很短的時(shí)間內(nèi)就能有效地掌握VHDL 的主干內(nèi)容,而不必花費(fèi)大量的時(shí)間去“系統(tǒng)地”學(xué)習(xí)語(yǔ)法。本書從第2 章開始簡(jiǎn)單介紹語(yǔ)法,第3~5 章以大家熟悉的基本電路設(shè)計(jì)實(shí)例穿插介紹常用的語(yǔ)法,集中體現(xiàn)了這一教學(xué)思想和教學(xué)方法,一般讀者可直接進(jìn)入這些章節(jié)的學(xué)習(xí),迅速掌握要點(diǎn),并能順利地進(jìn)行相關(guān)習(xí)題的解答和實(shí)驗(yàn),為進(jìn)一步的學(xué)習(xí)與實(shí)踐奠定一個(gè)良好的基礎(chǔ)。
3.注重教學(xué)選材的靈活性和完整性相結(jié)合本書的結(jié)構(gòu)特點(diǎn)決定了授課學(xué)時(shí)數(shù)比較靈活,根據(jù)具體的專業(yè)特點(diǎn)、課程定位及學(xué)習(xí)者的前期教育程度等因素,大致在30~54 學(xué)時(shí)。
本書第6 章介紹基本的電路設(shè)計(jì),第7 章介紹綜合性較強(qiáng)的設(shè)計(jì)案例。這樣第1 章介紹軟件平臺(tái),第2~5 章介紹VHDL 語(yǔ)法,結(jié)合第6、7 章構(gòu)成一個(gè)整體?紤]到工業(yè)上的應(yīng)用,本書第8 章介紹Verilog HDL 語(yǔ)法,學(xué)生結(jié)合前7 章的學(xué)習(xí)可快速地掌握Verilog HDL 。第9 章介紹SOPC 技術(shù),這部分主要以實(shí)驗(yàn)為主,希望在完成實(shí)驗(yàn)基礎(chǔ)上初步掌握SOPC 技術(shù)。
考慮到EDA 技術(shù)課程的特質(zhì)和本書的特色,具體教學(xué)可以是翻轉(zhuǎn)型的,其中多數(shù)內(nèi)容,特別是實(shí)踐項(xiàng)目,都可放手讓學(xué)生更多地自己去查閱資料、提出問題、解決問題,乃至創(chuàng)新與創(chuàng)造;而授課教師只需做一個(gè)啟蒙者、引導(dǎo)者、鼓勵(lì)者和學(xué)生成果的檢驗(yàn)者與評(píng)判者。多數(shù)授課過程只需點(diǎn)到為止,不必拘泥細(xì)節(jié)、面面俱到。但有一個(gè)原則,即安排的實(shí)驗(yàn)學(xué)時(shí)數(shù)多多益善。
掌握EDA 技術(shù)是走向社會(huì)的基本技能。開展“EDA 技術(shù)與應(yīng)用”教學(xué),適應(yīng)了電子系統(tǒng)日趨數(shù)字化、復(fù)雜化和大規(guī)模集成化發(fā)展的需要,滿足了社會(huì)對(duì)高技能人才日益增長(zhǎng)的需求,為創(chuàng)新型人才的培養(yǎng)打下良好基礎(chǔ)。
EDA 技術(shù)涉及面廣、內(nèi)容豐富,從教學(xué)和實(shí)用的角度看,主要應(yīng)掌握如下4 個(gè)方面的內(nèi)容:①大規(guī)模可編程邏輯器件;②硬件描述語(yǔ)言;③軟件開發(fā)工具;④實(shí)驗(yàn)開發(fā)系統(tǒng)。其中,大規(guī)?删幊踢壿嬈骷抢肊DA 技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的載體,硬件描述語(yǔ)言是利用EDA 技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的主要表達(dá)手段,軟件開發(fā)工具是利用EDA 技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)智能化的設(shè)計(jì)工具,實(shí)驗(yàn)開發(fā)系統(tǒng)則是利用EDA 技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的下載工具及硬件驗(yàn)證工具。
本書各章編寫分工為:第1 章由楊沛編寫,第2~6 章由方潔編寫,第7 章由陳瑋編寫,第8 章由劉佳榆編寫,第9 章由劉江海編寫。劉江海負(fù)責(zé)全書的統(tǒng)稿。
由于編者水平有限,書中難免有不足之處,敬請(qǐng)讀者批評(píng)指正。
編者
目 錄
前言第1 章 EDA 工具軟件Quartus Prime 18.0 1
1.1 安裝Quartus Prime 18.0 軟件 1
1.2 Quartus Prime 18.0 軟件使用向?qū)? 7
1.3 原理圖輸入設(shè)計(jì)方法 18 習(xí)題 21
第2 章VHDL 語(yǔ)言要素 22
2.1 VHDL 簡(jiǎn)介 22
2.2 VHDL 語(yǔ)法基礎(chǔ) 24
2.2.1 文法規(guī)則 24
2.2.2 數(shù)據(jù)對(duì)象 25
2.2.3 數(shù)據(jù)類型 28
2.2.4 運(yùn)算操作符 33 習(xí)題 36
第3 章VHDL 基本結(jié)構(gòu) 37
3.1 VHDL 概述 37
3.1.1 VHDL 程序設(shè)計(jì)舉例 37
3.1.2 VHDL 程序的基本結(jié)構(gòu) 39
3.2 設(shè)計(jì)實(shí)體 39
3.3 結(jié)構(gòu)體 42
3.4 VHDL 結(jié)構(gòu)體的子結(jié)構(gòu) 44
3.4.1 塊語(yǔ)句結(jié)構(gòu) 45
3.4.2 進(jìn)程語(yǔ)句結(jié)構(gòu) 46
3.5 庫(kù)和程序包 49
3.5.1 庫(kù) 49
3.5.2 程序包 50
3.6 配置 52 習(xí)題 53
第4 章VHDL 順序語(yǔ)句 54
4.1 賦值語(yǔ)句 54
4.1.1 變量賦值語(yǔ)句 54
4.1.2 信號(hào)賦值語(yǔ)句 55
4.2 流程控制語(yǔ)句 56
4.2.1 IF 語(yǔ)句 56
4.2.2
CASE 語(yǔ)句 60
4.2.3
LOOP 語(yǔ)句 65
4.2.4
NEXT 語(yǔ)句 68
4.2.5
EXIT 語(yǔ)句 68
4.3
WAIT 語(yǔ)句 69
4.4
ASSERT 語(yǔ)句 71
4.5
RETURN 語(yǔ)句 72
4.6
NULL 語(yǔ)句 72
習(xí)題 73
第5 章VHDL 并行語(yǔ)句 76
5.1
進(jìn)程語(yǔ)句 76
5.2
塊語(yǔ)句 80
5.3
并行信號(hào)賦值語(yǔ)句 82
5.3.1
簡(jiǎn)單信號(hào)賦值語(yǔ)句 82
5.3.2
條件信號(hào)賦值語(yǔ)句 83
5.3.3
選擇信號(hào)賦值語(yǔ)句 83
5.4
并行過程調(diào)用語(yǔ)句 84
5.4.1
過程調(diào)用語(yǔ)句 84
5.4.2
函數(shù)調(diào)用語(yǔ)句 87
5.5
元件例化語(yǔ)句 88
5.6
生成語(yǔ)句 92
習(xí)題 96
第6 章數(shù)字電路設(shè)計(jì)實(shí)例 98
6.1
觸發(fā)器 98
6.1.1
D 觸發(fā)器的設(shè)計(jì) 98
6.1.2
T 觸發(fā)器的設(shè)計(jì) 102
6.1.3
RS 觸發(fā)器的設(shè)計(jì) 103
6.2
寄存器 105
6.2.1
串入-串出寄存器 105
6.2.2
串入-并出寄存器 107
6.3
計(jì)數(shù)器 109
6.3.1
三進(jìn)制計(jì)數(shù)器 109
6.3.2
同步計(jì)數(shù)器 110
6.4
有限狀態(tài)機(jī) 112
6.5
有限狀態(tài)機(jī)的基本描述 117
6.6
Moore 型狀態(tài)機(jī) 118
6.7
Mealy 型狀態(tài)機(jī) 121
6.8
Mealy 型和Moore 型狀態(tài)機(jī)的變種 123
6.9
異步狀態(tài)機(jī) 129
目錄VII
習(xí)題 131
第7 章EDA 技術(shù)的綜合應(yīng)用 134
7.1
顯示電路設(shè)計(jì) 134
7.1.1
二輸入或門輸出顯示 134
7.1.2
三進(jìn)制計(jì)數(shù)器 135
7.1.3
二十四進(jìn)制計(jì)數(shù)器 137
7.2
多路彩燈控制器的設(shè)計(jì) 143
7.2.1
多路彩燈控制器的設(shè)計(jì)要求 143
7.2.2
多路彩燈控制器的設(shè)計(jì)方案 143
7.2.3
多路彩燈控制器各模塊的設(shè)計(jì)與實(shí)現(xiàn) 143
7.3
智力搶答器的設(shè)計(jì) 147
7.3.1
搶答器的設(shè)計(jì)要求 147
7.3.2
搶答器的設(shè)計(jì)方案 147
7.3.3
搶答器各模塊的設(shè)計(jì)與實(shí)現(xiàn) 147
7.4
量程自動(dòng)轉(zhuǎn)換數(shù)字式頻率計(jì)的設(shè)計(jì) 154
7.4.1
頻率計(jì)的設(shè)計(jì)要求 154
7.4.2
頻率計(jì)的設(shè)計(jì)方案 155
7.4.3
頻率計(jì)各模塊的設(shè)計(jì)與實(shí)現(xiàn) 155
習(xí)題 163
第8 章Verilog HDL 164
8.1
Verilog HDL 程序模塊結(jié)構(gòu) 164
8.2
Verilog HDL 的詞法 166
8.2.1
空白符和注釋 166
8.2.2
常數(shù) 166
8.2.3
字符串 166
8.2.4
標(biāo)識(shí)符 166
8.2.5
關(guān)鍵字 167
8.2.6
操作符 167
8.2.7
Verilog HDL 數(shù)據(jù)對(duì)象 168
8.3
Verilog HDL 的語(yǔ)句 170
8.3.1
賦值語(yǔ)句 170
8.3.2
條件語(yǔ)句 171
8.3.3
循環(huán)語(yǔ)句 173
8.3.4
結(jié)構(gòu)聲明語(yǔ)句 174
8.4
不同抽象級(jí)別的Verilog HDL 模型 177
8.4.1
Verilog HDL 門級(jí)描述 177
8.4.2
Verilog HDL 的行為描述 178
8.4.3
用結(jié)構(gòu)描述實(shí)現(xiàn)電路系統(tǒng)設(shè)計(jì) 179 習(xí)題 181
第9 章SOPC 技術(shù) 182
9.1
SOPC Builder/Nios II IDE 軟件使用方法 182
9.2
SOPC 系統(tǒng)基本實(shí)驗(yàn) 191
9.2.1
Hello-Led 流水燈實(shí)驗(yàn) 191
9.2.2
數(shù)碼管顯示實(shí)驗(yàn) 198
9.2.3
按鍵輸入中斷實(shí)驗(yàn) 201
9.2.4
定時(shí)計(jì)數(shù)器實(shí)驗(yàn) 205
9.2.5
串行接口通信實(shí)驗(yàn) 208
9.2.6
存儲(chǔ)器配置實(shí)驗(yàn) 210
9.2.7
4 乘4 鍵盤實(shí)驗(yàn) 216
9.3
SOPC 系統(tǒng)綜合實(shí)驗(yàn) 218
9.3.1
高速DAC 實(shí)驗(yàn) 218
9.3.2
DDS 實(shí)驗(yàn) 224
9.3.3
高速ADC 實(shí)驗(yàn) 229
9.3.4
靜態(tài)數(shù)碼管顯示實(shí)驗(yàn) 231
9.3.5
VGA 彩條顯示實(shí)驗(yàn) 233
9.3.6
PS2 鍵盤實(shí)驗(yàn) 238
9.3.7
USB 數(shù)據(jù)讀寫實(shí)驗(yàn) 242
9.3.8
TFT 真彩屏實(shí)驗(yàn) 243
9.3.9
SD 卡實(shí)驗(yàn) 246
9.3.10
UC\OS-II 操作系統(tǒng)移植實(shí)驗(yàn) 250
9.3.11
PS2 鼠標(biāo)控制實(shí)驗(yàn) 256
9.3.12
音頻接口實(shí)驗(yàn) 258
9.3.13
百兆以太網(wǎng)實(shí)驗(yàn) 265
9.3.14 四相步進(jìn)電動(dòng)機(jī)實(shí)驗(yàn) 272 參考文獻(xiàn) 275