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