圖書簡介:
本書以QuartusⅡ9.1集成開發環境的使用為例,通過理論知識和實例講解,讓讀者熟悉可編程邏輯器件的設計流程,同時介紹了VHDL、狀態機設計、組合和時序邏輯電路設計和常用接口電路設計。
全書重點講解基礎知識,強調基礎數字模塊的設計與熟練應用。在內容編寫上采用縱向和橫向相結合的寫法,縱向基礎知識的學習穿插大量實例講解,使學生建立VHDL知識體系的完整性;橫向應用實例的學習穿插基礎知識要點和設計經驗講解,使學生掌握理論知識的具體應用,從而幫助讀者從不同角度認識VHDL,提高靈活運用的能力,建立自己的設計思路。
本書可作為高職高專電子信息類、計算機應用類等相關專業的教材或參考書,也可作為工程技術人員的參考書。
前 言
EDA(electronic design automation)技術經過數十年的不斷發展,已經進入快速發展階段,成為推動現代電子工業發展的重要因素,甚至有人提出EDA技術是新世紀電子技術創新的源泉。特別是進入21世紀,隨著可編程器件集成度的不斷提高,開發工具功能的逐步增強,模擬電路的可編程芯片技術得到發展,使EDA技術與ASIC技術成為現代電子工業的重要支柱。
本書的內容共10章。第1章對EDA技術的相關基礎知識進行簡要介紹,使讀者對EDA技術有一個整體的認識。第2章對可編程邏輯器件(PLD)的基本原理和編程配置方式進行簡單的介紹。第3章對硬件描述語言(VHDL)的程序結構做初步講解,引導讀者開始進行深入學習。第4章介紹VHDL的語言要素和相關語句。第5章針對Altera公司的可編程邏輯器件,通過使用QuartusⅡ9.1集成開發環境,詳細介紹原理圖輸入方式和VHDL文本輸入方式的可編程邏輯器件開發過程。第6章介紹使用QuartusⅡ9.1集成開發環境實現“自底向上”和“自頂向下”的設計方法。第7章介紹使用VHDL實現有限狀態機設計和在Quartus Ⅱ軟件中進行狀態圖輸入法設計的方法。第8章介紹QuartusⅡ9.1集成開發環境中宏功能模塊的調用方法。第9章介紹基礎邏輯器件的VHDL描述方法。第10章通過對典型接口電路的設計與分析,介紹數字電子系統的設計方法,幫助讀者進行簡單數字系統的設計。
本書以實際技能應用為基礎,內容簡明扼要,刪除不常用或少用的知識點,突出重點知識講解,強化應用,注重發揮實例教學的優勢,敘述上力求深入淺出,將知識點講解與能力培養相結合,注重培養學生的工程應用能力和解決實際問題的能力。
為解決理論和實踐的“沖突點”,本書在內容上采用橫向和縱向相結合的寫法,縱向基礎知識的學習穿插大量實例講解,使學生建立VHDL知識體系的完整性;橫向應用實例的學習穿插基礎知識要點和設計經驗講解,使學生掌握理論知識的具體應用,從而幫助讀者從不同角度認識VHDL,提高靈活運用的能力。
本書由楊健主編,岳絢、王永喜任副主編,胡玫參編。編定分工如下:蘭州職業技術學院信息工程系楊健負責制定編寫大綱,并編寫第8~10章;岳絢編寫第4~6章。蘭州工業學院電子信息工程系王永喜編寫第2、3、7章;胡玫編寫第1章。另外,本書在編寫過程中參考了大量的有關文獻資料,特別是一些優秀學者和專家的著作和研究成果,在此謹向他們表示誠摯的謝意。
由于作者水平有限,書中難免出現錯誤與有待商榷之處,敬請讀者批評指正。
編 者目 錄
第1章 EDA技術概述 1
1.1 EDA技術 2
1.1.1 EDA技術的概念 2
1.1.2 EDA技術的特點 2
1.1.3 EDA技術的發展 2
1.2 EDA技術的知識體系 3
1.2.1 EDA技術的主要內容 3
1.2.2 可編程邏輯器件 5
1.2.3 可編程邏輯語言 5
1.2.4 EDA開發工具 7
1.3 EDA設計流程 8
1.3.1 設計輸入 8
1.3.2 綜合 9
1.3.3 適配 9
1.3.4 仿真 10
1.3.5 編程下載 10
1.3.6 硬件驗證 11
1.4 EDA技術的設計方法 11
1.4.1 基于VHDL的自頂向下的設計方法 11
1.4.2 EDA設計方法與傳統數字系統設計方法的比較 11
1.4.3 基于IP的設計 12
1.5 給初學者的學習建議 13
本章小結 14
習題 14
第2章 可編程邏輯器件基礎 17
2.1 可編程邏輯器件概述 18
2.1.1 數字集成電路的分類 18
2.1.2 可編程邏輯器件的理論基礎 19
2.1.3 可編程邏輯器件的發展歷程 19
2.1.4 可編程邏輯器件的分類 19
2.1.5 可編程邏輯器件的發展趨勢 22
2.2 簡單PLD基本結構原理 22
2.3 CPLD和FPGA的基本結構 24
2.3.1 CPLD的基本結構 25
2.3.2 FPGA的基本結構 26
2.4 CPLD和FPGA的比較 29
2.5 CPLD和FPGA的編程與配置技術 30
2.5.1 Altera公司的下載電纜 30
2.5.2 Altera公司FPGA器件的編程/配置模式 31
2.6 可編程邏輯器件主要生產廠商及典型器件 31
本章小結 32
習題 32
第3章 VHDL程序初步
——程序結構 35
3.1 初識VHDL程序 36
3.2 VHDL體系結構概述 38
3.2.1 VHDL體系結構 38
3.2.2 庫、程序包 39
3.2.3 實體 40
3.2.4 結構體 43
3.2.5 配置 44
3.3 結構體描述方式 45
3.3.1 行為描述方式 45
3.3.2 數據流描述方式 46
3.3.3 結構描述方式 48
3.4 D觸發器的VHDL描述概述 50
3.4.1 D觸發器的VHDL描述 50
3.4.2 不完整條件語句 54
本章小結 56
習題 56
第4章 VHDL基礎 59
4.1 VHDL的語言要素 60
4.1.1 VHDL文字規則 60
4.1.2 數據對象 62
4.1.3 VHDL數據類型 67
4.1.4 VHDL數據類型轉換 69
4.1.5 VHDL運算符 70
4.2 VHDL語句 72
4.2.1 VHDL的順序語句 72
4.2.2 VHDL的并行語句 86
4.2.3 VHDL的屬性語句 99
本章小結 101
習題 101
第5章 QuartusⅡ集成開發軟件初步 107
5.1 QuartusⅡ軟件概述 108
5.1.1 QuartusⅡ軟件開發流程 108
5.1.2 QuartusⅡ軟件的特點 108
5.1.3 QuartusⅡ軟件的圖形用戶界面 109
5.2 原理圖編輯方法 109
5.2.1 半加器電路輸入與編輯 110
5.2.2 半加器的綜合 116
5.2.3 半加器的仿真 117
5.2.4 半加器的編程下載 124
5.3 用文本編輯方法設計編碼器 130
5.3.1 8線-3線編碼器的文本輸入與編輯 131
5.3.2 綜合與仿真 132
5.3.3 生成符號文件和RTL閱讀器 132
5.4 ModelSim軟件應用 133
5.4.1 ModelSim軟件的使用方法 133
5.4.2 使用ModelSim仿真QuartusⅡ已有文件 138
5.4.3 ModelSim的時序仿真 138
本章小結 139
習題 139
第6章 VHDL設計方法 143
6.1 自底向上混合設計——六十進制計數器設計 144
6.2 自頂向下混合設計 148
6.2.1 十六進制計數譯碼顯示電路設計 148
6.2.2 一位全加器的自頂向下混合設計 155
本章小結 158
習題 158
第7章 有限狀態機設計 159
7.1 有限狀態機概述 160
7.1.1 有限狀態機的概念和分類 160
7.1.2 有限狀態機的狀態轉換圖 161
7.1.3 有限狀態機的設計流程 161
7.1.4 有限狀態機的VHDL描述 162
7.2 Moore型狀態機 166
7.2.1 三進程描述 166
7.2.2 雙進程描述 168
7.2.3 單進程描述 169
7.3 Mealy型狀態機 171
7.4 設計實例——十字路口交通燈控制器 172
7.5 Quartus軟件狀態圖輸入法 175
本章小結 178
習題 179
第8章 宏功能模塊及應用 181
8.1 QuartusⅡ宏功能模塊概述 182
8.2 宏功能模塊定制管理器 183
8.2.1 宏功能模塊定制管理器的使用 183
8.2.2 8位加法計數器的定制 183
8.2.3 宏功能模塊定制管理器文件 187
8.3 宏功能模塊的應用 187
8.3.1 Arithmetic宏功能模塊 187
8.3.2 Gates宏功能模塊 191
8.3.3 I/O宏功能模塊 193
8.3.4 Memory Compiler宏功能模塊 197
本章小結 203
習題 204
第9章 VHDL基本邏輯電路設計 205
9.1 基本組合邏輯電路設計 206
9.1.1 門電路設計 206
9.1.2 編碼器設計 209
9.1.3 譯碼器設計 213
9.1.4 加、減法器設計 220
9.1.5 雙向電路和三態控制電路設計 223
9.1.6 ROM設計 225
9.1.7 乘法器設計 227
9.2 基本時序邏輯電路設計 229
9.2.1 觸發器設計 229
9.2.2 移位寄存器設計 234
9.2.3 計數器設計 237
9.2.4 分頻器設計 242
本章小結 248
習題 248
第10章 接口電路設計 251
10.1 LED控制電路設計 252
10.1.1 基礎知識 252
10.1.2 12路彩燈控制器的設計 252
10.1.3 彩燈控制電路的設計 254
10.2 蜂鳴器控制電路設計 256
10.2.1 基礎知識 256
10.2.2 蜂鳴器控制電路的設計 257
10.3 撥碼開關控制電路設計 260
10.3.1 基礎知識 260
10.3.2 撥碼開關控制電路的設計 261
10.4 按鍵消抖電路設計 263
10.4.1 同步整形消抖電路的設計 263
10.4.2 計數法消抖電路的設計 264
10.5 數碼管控制電路設計 266
10.5.1 基礎知識 266
10.5.2 靜態數碼管顯示電路的設計 267
10.5.3 動態數碼管掃描顯示電路的設計 270
10.6 矩陣鍵盤控制電路設計 274
10.6.1 基礎知識 274
10.6.2 矩陣鍵盤掃描電路的設計 275
10.7 8×8點陣顯示控制電路設計 279
10.7.1 基礎知識 279
10.7.2 行掃描8×8點陣數碼管顯示電路的設計 280
10.7.3 列掃描16×16點陣數碼管顯示電路的設計 282
本章小結 286
習題 286
參考文獻 287