出版時間:2013-4 出版社:清華大學出版社 作者:潘松 陳龍 黃繼業(yè)
內容概要
潘松、陳龍、黃繼業(yè)編著的《EDA技術與VerilogHDL(第2版高等院校電子信息科學與工程規(guī)劃教材)》系統(tǒng)地介紹了EDA技術和VerilogHDL硬件描述語言,將VerilogHDL的基礎知識、編程技巧和實用方法與實際工程開發(fā)技術在先進的EDA設計平臺――QuartusII上很好地結合起來,使讀者通過《EDA技術與VerilogHDL(第2版高等院校電子信息科學與工程規(guī)劃教材)》的學習能迅速了解并掌握EDA技術的基本理論和工程開發(fā)實用技術,為后續(xù)的深入學習和發(fā)展打下堅實的理論與實踐基礎。
作者依據(jù)高校課堂教學和實驗操作的規(guī)律與要求,并以提高學生的實際工程設計能力和自主創(chuàng)新能力為目的,恰當編排了全書內容。全書共分為7個部分:EDA技術的概述、VerilogHDL語法知識及其實用技術、QuartusII及LPM宏模塊的詳細使用方法、基于Verilog的有限狀態(tài)機設計技術、基于Verilog的16位實用CPU設計技術及創(chuàng)新實踐項目、基于ModelSim的TestBench仿真技術,以及基于MATLAB和DSPBuilder平臺的EDA設計技術及大量實用系統(tǒng)設計示例。除個別章節(jié)外,其余各章都安排了相應的習題和大量針對性強的實驗與設計項目。書中列舉的VerilogHDL示例都經編譯通過或經硬件測試通過。
《EDA技術與VerilogHDL(第2版高等院校電子信息科學與工程規(guī)劃教材)》主要面向高等院校本、??频腅DA技術和VerilogHDL語言基礎課,推薦作為電子工程、通信、工業(yè)自動化、計算機應用技術、電子對抗、儀器儀表、數(shù)字信號或圖像處理等學科專業(yè)和相關實驗指導課的教材用書或主要參考書,同時也可作為電子設計競賽、FPGA開發(fā)應用的自學參考書。
與此教材配套的還有CAI教學課件、實驗指導課件、實驗源程序和實驗設計項目相關的詳細技術資料等,讀者都可免費索取。
書籍目錄
目 錄
第1章 EDA技術概述 1
1.1 EDA技術 1
1.2 EDA技術應用對象 2
1.3 常用HDL和Verilog HDL 3
1.4 EDA技術的優(yōu)勢 5
1.5 面向FPGA的EDA開發(fā)流程 6
1.5.1 設計輸入 6
1.5.2 綜合 7
1.5.3 適配(布線布局) 9
1.5.4 仿真 10
1.5.5 RTL描述 10
1.6 可編程邏輯器件 11
1.6.1 PLD的分類 11
1.6.2 PROM可編程原理 12
1.6.3 GAL 14
1.7 CPLD的結構與可編程原理 15
1.8 FPGA的結構與工作原理 18
1.8.1 查找表邏輯結構 18
1.8.2 Cyclone III系列器件的結構原理 19
1.9 硬件測試技術 22
1.9.1 內部邏輯測試 22
1.9.2 JTAG邊界掃描測試 22
1.10 編程與配置 23
1.11 Quartus II 24
1.12 IP核 25
1.13 EDA的發(fā)展趨勢 26
習題 27
第2章 Verilog程序結構與數(shù)據(jù)類型 29
2.1 Verilog程序結構 29
2.1.1 Verilog的模塊的表達方式 30
2.1.2 Verilog模塊的端口信號名和端口模式 30
2.1.3 Verilog信號類型定義 31
2.1.4 Verilog模塊功能描述 32
2.2 Verilog數(shù)據(jù)類型 32
2.2.1 net網線類型 33
2.2.2 wire網線型變量的定義方法 33
2.2.3 register寄存器類型 34
2.2.4 reg寄存器型變量的定義方法 34
2.2.5 integer整數(shù)型寄存器類型變量定義方法 35
2.2.6 存儲器類型 35
2.3 Verilog基本要素與文字規(guī)則 37
2.3.1 Verilog的4種邏輯狀態(tài) 37
2.3.2 Verilog的數(shù)字表達形式 37
2.3.3 數(shù)據(jù)類型表示方式 38
2.3.4 常量 39
2.3.5 標識符、關鍵詞及其他文字規(guī)則 40
2.3.6 參數(shù)定義關鍵詞parameter和localparam的用法 42
習題 42
第3章 Verilog行為語句 44
3.1 過程語句 44
3.1.1 always語句 44
3.1.2 always語句在D觸發(fā)器設計中的應用 46
3.1.3 多過程應用與異步時序電路設計 47
3.1.4 簡單加法計數(shù)器及其Verilog表述 47
3.1.5 initial語句 48
3.2 塊語句 50
3.3 case條件語句 50
3.4 if條件語句 52
3.4.1 if語句的一般表述形式 52
3.4.2 基于if語句的組合電路設計 53
3.4.3 基于if語句的時序電路設計 55
3.4.4 含異步復位和時鐘使能的D觸發(fā)器的設計 56
3.4.5 含同步復位控制的D觸發(fā)器的設計 57
3.4.6 含清零控制的鎖存器的設計 58
3.4.7 時鐘過程表述的特點和規(guī)律 59
3.4.8 實用加法計數(shù)器設計 60
3.4.9 含同步預置功能的移位寄存器設計 62
3.4.10 關注if語句中的條件指示 63
3.5 過程賦值語句 64
3.6 循環(huán)語句 65
3.6.1 for語句 65
3.6.2 while語句 66
3.6.3 repeat語句 67
3.6.4 forever語句 67
3.7 任務與函數(shù)語句 68
習題 70
第4章 時序仿真與硬件實現(xiàn) 72
4.1 Verilog程序輸入與仿真測試 72
4.1.1 編輯和輸入設計文件 72
4.1.2 創(chuàng)建工程 73
4.1.3 全程編譯前約束項目設置 74
4.1.4 全程綜合與編譯 75
4.1.5 仿真測試 77
4.1.6 RTL圖觀察器應用 79
4.2 引腳鎖定與硬件測試 79
4.2.1 引腳鎖定 79
4.2.2 編譯文件下載 81
4.2.3 JTAG間接編程模式 82
4.2.4 USB-Blaster驅動程序安裝方法 83
4.3 電路原理圖設計流程 83
4.3.1 用原理圖輸入方式設計半加器 84
4.3.2 完成全加器頂層設計 85
4.3.3 對全加器進行時序仿真和硬件測試 86
4.4 利用屬性表述實現(xiàn)引腳鎖定 87
4.5 宏模塊邏輯功能查詢 88
4.6 SignalTap II的使用方法 88
4.7 編輯SignalTap II的觸發(fā)信號 93
習題 94
實驗與設計 95
實驗4-1 多路選擇器設計實驗 95
實驗4-2 十六進制7段數(shù)碼顯示譯碼器設計 95
實驗4-3 8位硬件乘法器設計實驗 97
實驗4-4 應用宏模塊設計數(shù)字頻率計 97
實驗4-5 計數(shù)器設計實驗 101
實驗4-6 數(shù)碼掃描顯示電路設計 101
實驗4-7 半整數(shù)與奇數(shù)分頻器設計 102
實驗4-8 串行靜態(tài)顯示控制電路設計 104
第5章 Verilog運算符與結構描述語句 105
5.1 運算操作符 105
5.1.1 按位邏輯操作符 105
5.1.2 邏輯運算操作符 106
5.1.3 算術運算操作符 106
5.1.4 關系運算操作符 107
5.1.5 BCD碼加法器設計示例 108
5.1.6 縮位操作符 109
5.1.7 并位操作符 110
5.1.8 移位操作符應用法 110
5.1.9 使用移位操作符的設計示例 110
5.1.10 條件操作符 111
5.2 連續(xù)賦值語句 112
5.3 例化語句 113
5.3.1 半加器設計 113
5.3.2 全加器設計 114
5.3.3 Verilog例化語句及其用法 114
5.4 參數(shù)傳遞語句應用 116
5.5 用庫元件實現(xiàn)結構描述 117
5.6 用戶自定義元件(UDP) 119
5.6.1 UDP組合元件設計 119
5.6.2 UDP時序元件設計 120
5.7 編譯指示語句 123
5.7.1 宏定義命令語句 123
5.7.2 文件包含語句'include 124
5.7.3 條件編譯命令語句'ifdef、'else、'endif 124
5.8 keep屬性應用 125
5.9 SignalProbe使用方法 126
習題 128
實驗與設計 130
實驗5-1 高速硬件除法器設計實驗 130
實驗5-2 不同類型的移位寄存器設計實驗 130
實驗5-3 基于Verilog代碼的頻率計設計 130
實驗5-4 8位加法器設計實驗 132
實驗5-5 VGA彩條信號顯示控制電路設計 132
實驗5-6 移位相加型8位硬件乘法器設計 135
第6章 LPM宏模塊的應用 137
6.1 計數(shù)器LPM宏模塊調用 137
6.1.1 計數(shù)器LPM模塊文本代碼的調用 137
6.1.2 LPM計數(shù)器代碼與參數(shù)傳遞語句應用 138
6.1.3 創(chuàng)建工程與仿真測試 140
6.2 利用屬性控制乘法器的構建 141
6.3 LPM_RAM宏模塊的設置與使用 142
6.3.1 初始化文件及其生成 142
6.3.2 以原理圖方式對LPM_RAM進行設置和調用 144
6.3.3 測試LPM_RAM 146
6.3.4 Verilog代碼描述的存儲器初始化文件加載表述 147
6.3.5 存儲器設計的結構控制 148
6.4 LPM_ROM的定制和使用示例 150
6.4.1 簡易正弦信號發(fā)生器設計 150
6.4.2 正弦信號發(fā)生器硬件實現(xiàn)和測試 151
6.5 在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應用 152
6.6 LPM嵌入式鎖相環(huán)調用 153
6.6.1 建立嵌入式鎖相環(huán)元件 154
6.6.2 測試鎖相環(huán) 156
6.7 In-System Sources and Probes Editor使用方法 156
6.8 數(shù)控振蕩器核使用方法 159
6.9 FIR核使用方法 161
6.10 DDS實現(xiàn)原理與應用 162
6.10.1 DDS原理 163
6.10.2 DDS信號發(fā)生器設計示例 165
習題 166
實驗與設計 166
實驗6-1 查表式硬件運算器設計 166
實驗6-2 正弦信號發(fā)生器設計 167
實驗6-3 簡易邏輯分析儀設計 167
實驗6-4 DDS正弦信號發(fā)生器設計 169
實驗6-5 移相信號發(fā)生器設計 169
實驗6-6 AM幅度調制信號發(fā)生器設計 170
實驗6-7 硬件消抖動電路設計 171
第7章 Verilog設計深入 173
7.1 過程中的兩類賦值語句 173
7.1.1 未指定延時的阻塞式賦值語句 173
7.1.2 指定了延時的阻塞式賦值 174
7.1.3 未指定延時的非阻塞式賦值 175
7.1.4 指定了延時的非阻塞式賦值 176
7.1.5 深入認識阻塞式與非阻塞式賦值的特點 177
7.1.6 不同的賦初值方式導致不同綜合結果的示例 179
7.2 過程語句深入探討 181
7.2.1 過程語句應用總結 181
7.2.2 深入認識不完整條件語句與時序電路的關系 182
7.3 三態(tài)與雙向端口設計 183
7.3.1 三態(tài)控制電路設計 184
7.3.2 雙向端口設計 184
7.3.3 三態(tài)總線控制電路設計 186
7.4 資源優(yōu)化 188
7.4.1 資源共享 188
7.4.2 邏輯優(yōu)化 189
7.4.3 串行化 190
7.5 速度優(yōu)化 191
7.5.1 流水線設計 191
7.5.2 關鍵路徑法 193
7.5.3 乒乓操作法 194
7.5.4 加法樹法 194
習題 195
實驗與設計 197
實驗7-1 4×4陣列鍵盤鍵信號檢測電路設計 197
實驗7-2 直流電機綜合測控系統(tǒng)設計 198
實驗7-3 VGA簡單圖像顯示控制模塊設計 199
實驗7-4 樂曲硬件演奏電路設計 200
實驗7-5 PS2鍵盤控制模型電子琴電路設計 204
實驗7-6 SPWM脈寬調制控制系統(tǒng)設計 207
第8章 Verilog狀態(tài)機設計技術 210
8.1 Verilog狀態(tài)機的一般形式 210
8.1.1 狀態(tài)機的特點與優(yōu)勢 211
8.1.2 狀態(tài)機的一般結構 212
8.1.3 初始控制與表述 215
8.2 Moore型狀態(tài)機及其設計 216
8.2.1 多過程結構狀態(tài)機 216
8.2.2 序列檢測器及其狀態(tài)機設計 220
8.3 Mealy型狀態(tài)機設計 221
8.4 不同編碼類型狀態(tài)機 224
8.4.1 直接輸出型編碼 224
8.4.2 用宏定義語句定義狀態(tài)編碼 226
8.4.3 順序編碼 227
8.4.4 一位熱碼編碼 228
8.4.5 狀態(tài)編碼設置 228
8.5 異步狀態(tài)機設計 230
8.6 安全狀態(tài)機設計 233
8.6.1 狀態(tài)導引法 233
8.6.2 狀態(tài)編碼監(jiān)測法 234
8.6.3 借助EDA工具自動生成安全狀態(tài)機 235
習題 235
實驗與設計 236
實驗8-1 序列檢測器設計 236
實驗8-2 ADC采樣控制電路設計 236
實驗8-3 數(shù)據(jù)采集模塊設計 237
實驗8-4 五功能智能邏輯筆設計 239
第9章 基于Verilog的實用CPU創(chuàng)新設計 241
9.1 KX9016的結構與特色 241
9.2 KX9016基本硬件系統(tǒng)設計 244
9.2.1 單步節(jié)拍發(fā)生模塊 244
9.2.2 ALU模塊 245
9.2.3 比較器模塊 245
9.2.4 基本寄存器與寄存器陣列組 246
9.2.5 移位器模塊 248
9.2.6 程序與數(shù)據(jù)存儲器模塊 249
9.3 KX9016v1指令系統(tǒng)設計 249
9.3.1 指令格式 250
9.3.2 指令操作碼 251
9.3.3 軟件程序設計示例 252
9.3.4 KX9016v1控制器設計 254
9.3.5 指令設計示例詳解 258
9.4 KX9016的時序仿真與硬件測試 259
9.4.1 時序仿真與指令執(zhí)行波形分析 259
9.4.2 CPU工作情況的硬件測試 261
9.5 KX9016應用程序設計示例和系統(tǒng)優(yōu)化 263
9.5.1 除法算法及其硬件實現(xiàn) 263
9.5.2 乘法算法及其硬件實現(xiàn) 264
9.5.3 KX9016v1的硬件系統(tǒng)優(yōu)化 265
習題 266
實驗與設計 267
實驗9-1 16位CPU驗證性設計綜合實驗 267
實驗9-2 新指令設計及程序測試實驗 267
實驗9-3 16位CPU的優(yōu)化設計與創(chuàng)新 268
實驗9-4 CPU創(chuàng)新設計競賽 269
第10章 Verilog Test Bench仿真 271
10.1 Verilog行為仿真流程 272
10.2 Verilog測試基準示例 274
10.3 Verilog Test Bench測試流程 276
10.4 Verilog系統(tǒng)任務和系統(tǒng)函數(shù) 279
10.4.1 系統(tǒng)任務和系統(tǒng)函數(shù) 279
10.4.2 預編譯語句 285
10.5 延時模型 285
10.5.1 #延時和門延時 286
10.5.2 延時說明塊 286
10.6 其他仿真語句 287
10.6.1 fork-join塊語句 287
10.6.2 wait語句 288
10.6.3 force、release語句 288
10.6.4 deassign語句 289
10.7 仿真激勵信號的產生 289
10.8 Verilog數(shù)字系統(tǒng)仿真 291
習題 292
實驗 292
實驗10-1 在ModelSim上對計數(shù)器的Test Bench進行仿真 292
實驗10-2 在ModelSim上進行16位累加器設計仿真 292
第11章 DSP Builder設計初步 294
11.1 MATLAB/DSP Builder及其設計流程 294
11.2 正弦信號發(fā)生器設計 297
11.2.1 建立設計模型 297
11.2.2 Simulink模型仿真 303
11.2.3 SignalCompiler使用方法 307
11.2.4 使用ModelSim進行RTL級仿真 308
11.2.5 使用Quartus II實現(xiàn)時序仿真 310
11.2.6 硬件測試與硬件實現(xiàn) 310
11.3 DSP Builder層次化設計 311
11.4 基于DSP Builder的DDS設計 314
11.4.1 DDS模塊設計 314
11.4.2 FSK調制器設計 316
11.4.3 正交信號發(fā)生器設計 318
11.4.4 數(shù)控移相信號發(fā)生器設計 319
11.4.5 幅度調制信號發(fā)生器設計 320
11.5 數(shù)字編碼與譯碼器設計 321
11.5.1 偽隨機序列 321
11.5.2 幀同步檢出 323
11.6 HIL硬件仿真 325
習題 329
實驗與設計 329
實驗11-1 利用MATLAB/DSP Builder設計基本電路模塊 329
實驗11-2 基于DSP Builder的DDS應用模型設計 330
實驗11-3 編譯碼器設計實驗 332
實驗11-4 HIL硬件環(huán)仿真實驗 332
實驗11-5 DSP Builder狀態(tài)機應用實驗 333
第12章 DSP Builder設計深入 335
12.1 FIR數(shù)字濾波器設計 335
12.1.1 FIR濾波器原理 335
12.1.2 使用DSP Builder設計FIR濾波器 336
12.1.3 使用MATLAB的濾波器設計工具 341
12.1.4 使用FIR IP Core設計FIR濾波器 346
12.2 HDL模塊插入仿真與設計 350
12.3 正交幅度調制與解調模型設計 351
12.4 NCO IP核應用 354
12.5 基于IP的數(shù)字編譯碼器設計 356
習題 358
實驗與設計 359
實驗12-1 FIR數(shù)字濾波器設計實驗 359
實驗12-2 編譯碼器與調制解調模塊設計實驗 360
實驗12-3 HDL Import模塊應用實驗 360
參考文獻 361
附錄A EDA開發(fā)系統(tǒng)及相關軟硬件 362
A.1 KX_DN8系列EDA/SOPC系統(tǒng) 363
A.2 部分實驗擴展模塊 365
A.3 .mif文件生成器使用方法 366
圖書封面
評論、評分、閱讀與下載