EDA技術(shù)與Verilog HDL

出版時間:2013-4  出版社:清華大學(xué)出版社  作者:潘松 陳龍 黃繼業(yè)  

內(nèi)容概要

潘松、陳龍、黃繼業(yè)編著的《EDA技術(shù)與VerilogHDL(第2版高等院校電子信息科學(xué)與工程規(guī)劃教材)》系統(tǒng)地介紹了EDA技術(shù)和VerilogHDL硬件描述語言,將VerilogHDL的基礎(chǔ)知識、編程技巧和實用方法與實際工程開發(fā)技術(shù)在先進的EDA設(shè)計平臺――QuartusII上很好地結(jié)合起來,使讀者通過《EDA技術(shù)與VerilogHDL(第2版高等院校電子信息科學(xué)與工程規(guī)劃教材)》的學(xué)習(xí)能迅速了解并掌握EDA技術(shù)的基本理論和工程開發(fā)實用技術(shù),為后續(xù)的深入學(xué)習(xí)和發(fā)展打下堅實的理論與實踐基礎(chǔ)。
作者依據(jù)高校課堂教學(xué)和實驗操作的規(guī)律與要求,并以提高學(xué)生的實際工程設(shè)計能力和自主創(chuàng)新能力為目的,恰當編排了全書內(nèi)容。全書共分為7個部分:EDA技術(shù)的概述、VerilogHDL語法知識及其實用技術(shù)、QuartusII及LPM宏模塊的詳細使用方法、基于Verilog的有限狀態(tài)機設(shè)計技術(shù)、基于Verilog的16位實用CPU設(shè)計技術(shù)及創(chuàng)新實踐項目、基于ModelSim的TestBench仿真技術(shù),以及基于MATLAB和DSPBuilder平臺的EDA設(shè)計技術(shù)及大量實用系統(tǒng)設(shè)計示例。除個別章節(jié)外,其余各章都安排了相應(yīng)的習(xí)題和大量針對性強的實驗與設(shè)計項目。書中列舉的VerilogHDL示例都經(jīng)編譯通過或經(jīng)硬件測試通過。
《EDA技術(shù)與VerilogHDL(第2版高等院校電子信息科學(xué)與工程規(guī)劃教材)》主要面向高等院校本、??频腅DA技術(shù)和VerilogHDL語言基礎(chǔ)課,推薦作為電子工程、通信、工業(yè)自動化、計算機應(yīng)用技術(shù)、電子對抗、儀器儀表、數(shù)字信號或圖像處理等學(xué)科專業(yè)和相關(guān)實驗指導(dǎo)課的教材用書或主要參考書,同時也可作為電子設(shè)計競賽、FPGA開發(fā)應(yīng)用的自學(xué)參考書。
與此教材配套的還有CAI教學(xué)課件、實驗指導(dǎo)課件、實驗源程序和實驗設(shè)計項目相關(guān)的詳細技術(shù)資料等,讀者都可免費索取。

書籍目錄

目    錄
第1章 EDA技術(shù)概述 1
1.1 EDA技術(shù) 1
1.2 EDA技術(shù)應(yīng)用對象 2
1.3 常用HDL和Verilog HDL 3
1.4 EDA技術(shù)的優(yōu)勢 5
1.5 面向FPGA的EDA開發(fā)流程 6
1.5.1 設(shè)計輸入 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的結(jié)構(gòu)與可編程原理 15
1.8 FPGA的結(jié)構(gòu)與工作原理 18
1.8.1 查找表邏輯結(jié)構(gòu) 18
1.8.2 Cyclone III系列器件的結(jié)構(gòu)原理 19
1.9 硬件測試技術(shù) 22
1.9.1 內(nèi)部邏輯測試 22
1.9.2 JTAG邊界掃描測試 22
1.10 編程與配置 23
1.11 Quartus II 24
1.12 IP核 25
1.13 EDA的發(fā)展趨勢 26
習(xí)題 27
第2章 Verilog程序結(jié)構(gòu)與數(shù)據(jù)類型 29
2.1 Verilog程序結(jié)構(gòu) 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網(wǎng)線類型 33
2.2.2 wire網(wǎng)線型變量的定義方法 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ān)鍵詞及其他文字規(guī)則 40
2.3.6 參數(shù)定義關(guān)鍵詞parameter和localparam的用法 42
習(xí)題 42
第3章 Verilog行為語句 44
3.1 過程語句 44
3.1.1 always語句 44
3.1.2 always語句在D觸發(fā)器設(shè)計中的應(yīng)用 46
3.1.3 多過程應(yīng)用與異步時序電路設(shè)計 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語句的組合電路設(shè)計 53
3.4.3 基于if語句的時序電路設(shè)計 55
3.4.4 含異步復(fù)位和時鐘使能的D觸發(fā)器的設(shè)計 56
3.4.5 含同步復(fù)位控制的D觸發(fā)器的設(shè)計 57
3.4.6 含清零控制的鎖存器的設(shè)計 58
3.4.7 時鐘過程表述的特點和規(guī)律 59
3.4.8 實用加法計數(shù)器設(shè)計 60
3.4.9 含同步預(yù)置功能的移位寄存器設(shè)計 62
3.4.10 關(guān)注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 任務(wù)與函數(shù)語句 68
習(xí)題 70
第4章 時序仿真與硬件實現(xiàn) 72
4.1 Verilog程序輸入與仿真測試 72
4.1.1 編輯和輸入設(shè)計文件 72
4.1.2 創(chuàng)建工程 73
4.1.3 全程編譯前約束項目設(shè)置 74
4.1.4 全程綜合與編譯 75
4.1.5 仿真測試 77
4.1.6 RTL圖觀察器應(yīng)用 79
4.2 引腳鎖定與硬件測試 79
4.2.1 引腳鎖定 79
4.2.2 編譯文件下載 81
4.2.3 JTAG間接編程模式 82
4.2.4 USB-Blaster驅(qū)動程序安裝方法 83
4.3 電路原理圖設(shè)計流程 83
4.3.1 用原理圖輸入方式設(shè)計半加器 84
4.3.2 完成全加器頂層設(shè)計 85
4.3.3 對全加器進行時序仿真和硬件測試 86
4.4 利用屬性表述實現(xiàn)引腳鎖定 87
4.5 宏模塊邏輯功能查詢 88
4.6 SignalTap II的使用方法 88
4.7 編輯SignalTap II的觸發(fā)信號 93
習(xí)題 94
實驗與設(shè)計 95
實驗4-1 多路選擇器設(shè)計實驗 95
實驗4-2 十六進制7段數(shù)碼顯示譯碼器設(shè)計 95
實驗4-3 8位硬件乘法器設(shè)計實驗 97
實驗4-4 應(yīng)用宏模塊設(shè)計數(shù)字頻率計 97
實驗4-5 計數(shù)器設(shè)計實驗 101
實驗4-6 數(shù)碼掃描顯示電路設(shè)計 101
實驗4-7 半整數(shù)與奇數(shù)分頻器設(shè)計 102
實驗4-8 串行靜態(tài)顯示控制電路設(shè)計 104
第5章 Verilog運算符與結(jié)構(gòu)描述語句 105
5.1 運算操作符 105
5.1.1 按位邏輯操作符 105
5.1.2 邏輯運算操作符 106
5.1.3 算術(shù)運算操作符 106
5.1.4 關(guān)系運算操作符 107
5.1.5 BCD碼加法器設(shè)計示例 108
5.1.6 縮位操作符 109
5.1.7 并位操作符 110
5.1.8 移位操作符應(yīng)用法 110
5.1.9 使用移位操作符的設(shè)計示例 110
5.1.10 條件操作符 111
5.2 連續(xù)賦值語句 112
5.3 例化語句 113
5.3.1 半加器設(shè)計 113
5.3.2 全加器設(shè)計 114
5.3.3 Verilog例化語句及其用法 114
5.4 參數(shù)傳遞語句應(yīng)用 116
5.5 用庫元件實現(xiàn)結(jié)構(gòu)描述 117
5.6 用戶自定義元件(UDP) 119
5.6.1 UDP組合元件設(shè)計 119
5.6.2 UDP時序元件設(shè)計 120
5.7 編譯指示語句 123
5.7.1 宏定義命令語句 123
5.7.2 文件包含語句'include 124
5.7.3 條件編譯命令語句'ifdef、'else、'endif 124
5.8 keep屬性應(yīng)用 125
5.9 SignalProbe使用方法 126
習(xí)題 128
實驗與設(shè)計 130
實驗5-1 高速硬件除法器設(shè)計實驗 130
實驗5-2 不同類型的移位寄存器設(shè)計實驗 130
實驗5-3 基于Verilog代碼的頻率計設(shè)計 130
實驗5-4 8位加法器設(shè)計實驗 132
實驗5-5 VGA彩條信號顯示控制電路設(shè)計 132
實驗5-6 移位相加型8位硬件乘法器設(shè)計 135
第6章 LPM宏模塊的應(yīng)用 137
6.1 計數(shù)器LPM宏模塊調(diào)用 137
6.1.1 計數(shù)器LPM模塊文本代碼的調(diào)用 137
6.1.2 LPM計數(shù)器代碼與參數(shù)傳遞語句應(yīng)用 138
6.1.3 創(chuàng)建工程與仿真測試 140
6.2 利用屬性控制乘法器的構(gòu)建 141
6.3 LPM_RAM宏模塊的設(shè)置與使用 142
6.3.1 初始化文件及其生成 142
6.3.2 以原理圖方式對LPM_RAM進行設(shè)置和調(diào)用 144
6.3.3 測試LPM_RAM 146
6.3.4 Verilog代碼描述的存儲器初始化文件加載表述 147
6.3.5 存儲器設(shè)計的結(jié)構(gòu)控制 148
6.4 LPM_ROM的定制和使用示例 150
6.4.1 簡易正弦信號發(fā)生器設(shè)計 150
6.4.2 正弦信號發(fā)生器硬件實現(xiàn)和測試 151
6.5 在系統(tǒng)存儲器數(shù)據(jù)讀寫編輯器應(yīng)用 152
6.6 LPM嵌入式鎖相環(huán)調(diào)用 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)原理與應(yīng)用 162
6.10.1 DDS原理 163
6.10.2 DDS信號發(fā)生器設(shè)計示例 165
習(xí)題 166
實驗與設(shè)計 166
實驗6-1 查表式硬件運算器設(shè)計 166
實驗6-2 正弦信號發(fā)生器設(shè)計 167
實驗6-3 簡易邏輯分析儀設(shè)計 167
實驗6-4 DDS正弦信號發(fā)生器設(shè)計 169
實驗6-5 移相信號發(fā)生器設(shè)計 169
實驗6-6 AM幅度調(diào)制信號發(fā)生器設(shè)計 170
實驗6-7 硬件消抖動電路設(shè)計 171
第7章 Verilog設(shè)計深入 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 不同的賦初值方式導(dǎo)致不同綜合結(jié)果的示例 179
7.2 過程語句深入探討 181
7.2.1 過程語句應(yīng)用總結(jié) 181
7.2.2 深入認識不完整條件語句與時序電路的關(guān)系 182
7.3 三態(tài)與雙向端口設(shè)計 183
7.3.1 三態(tài)控制電路設(shè)計 184
7.3.2 雙向端口設(shè)計 184
7.3.3 三態(tài)總線控制電路設(shè)計 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 流水線設(shè)計 191
7.5.2 關(guān)鍵路徑法 193
7.5.3 乒乓操作法 194
7.5.4 加法樹法 194
習(xí)題 195
實驗與設(shè)計 197
實驗7-1 4×4陣列鍵盤鍵信號檢測電路設(shè)計 197
實驗7-2 直流電機綜合測控系統(tǒng)設(shè)計 198
實驗7-3 VGA簡單圖像顯示控制模塊設(shè)計 199
實驗7-4 樂曲硬件演奏電路設(shè)計 200
實驗7-5 PS2鍵盤控制模型電子琴電路設(shè)計 204
實驗7-6 SPWM脈寬調(diào)制控制系統(tǒng)設(shè)計 207
第8章 Verilog狀態(tài)機設(shè)計技術(shù) 210
8.1 Verilog狀態(tài)機的一般形式 210
8.1.1 狀態(tài)機的特點與優(yōu)勢 211
8.1.2 狀態(tài)機的一般結(jié)構(gòu) 212
8.1.3 初始控制與表述 215
8.2 Moore型狀態(tài)機及其設(shè)計 216
8.2.1 多過程結(jié)構(gòu)狀態(tài)機 216
8.2.2 序列檢測器及其狀態(tài)機設(shè)計 220
8.3 Mealy型狀態(tài)機設(shè)計 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)編碼設(shè)置 228
8.5 異步狀態(tài)機設(shè)計 230
8.6 安全狀態(tài)機設(shè)計 233
8.6.1 狀態(tài)導(dǎo)引法 233
8.6.2 狀態(tài)編碼監(jiān)測法 234
8.6.3 借助EDA工具自動生成安全狀態(tài)機 235
習(xí)題 235
實驗與設(shè)計 236
實驗8-1 序列檢測器設(shè)計 236
實驗8-2 ADC采樣控制電路設(shè)計 236
實驗8-3 數(shù)據(jù)采集模塊設(shè)計 237
實驗8-4 五功能智能邏輯筆設(shè)計 239
第9章 基于Verilog的實用CPU創(chuàng)新設(shè)計 241
9.1 KX9016的結(jié)構(gòu)與特色 241
9.2 KX9016基本硬件系統(tǒng)設(shè)計 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)設(shè)計 249
9.3.1 指令格式 250
9.3.2 指令操作碼 251
9.3.3 軟件程序設(shè)計示例 252
9.3.4 KX9016v1控制器設(shè)計 254
9.3.5 指令設(shè)計示例詳解 258
9.4 KX9016的時序仿真與硬件測試 259
9.4.1 時序仿真與指令執(zhí)行波形分析 259
9.4.2 CPU工作情況的硬件測試 261
9.5 KX9016應(yīng)用程序設(shè)計示例和系統(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
習(xí)題 266
實驗與設(shè)計 267
實驗9-1 16位CPU驗證性設(shè)計綜合實驗 267
實驗9-2 新指令設(shè)計及程序測試實驗 267
實驗9-3 16位CPU的優(yōu)化設(shè)計與創(chuàng)新 268
實驗9-4 CPU創(chuàng)新設(shè)計競賽 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)任務(wù)和系統(tǒng)函數(shù) 279
10.4.1 系統(tǒng)任務(wù)和系統(tǒng)函數(shù) 279
10.4.2 預(yù)編譯語句 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 仿真激勵信號的產(chǎn)生 289
10.8 Verilog數(shù)字系統(tǒng)仿真 291
習(xí)題 292
實驗 292
實驗10-1 在ModelSim上對計數(shù)器的Test Bench進行仿真 292
實驗10-2 在ModelSim上進行16位累加器設(shè)計仿真 292
第11章 DSP Builder設(shè)計初步 294
11.1 MATLAB/DSP Builder及其設(shè)計流程 294
11.2 正弦信號發(fā)生器設(shè)計 297
11.2.1 建立設(shè)計模型 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層次化設(shè)計 311
11.4 基于DSP Builder的DDS設(shè)計 314
11.4.1 DDS模塊設(shè)計 314
11.4.2 FSK調(diào)制器設(shè)計 316
11.4.3 正交信號發(fā)生器設(shè)計 318
11.4.4 數(shù)控移相信號發(fā)生器設(shè)計 319
11.4.5 幅度調(diào)制信號發(fā)生器設(shè)計 320
11.5 數(shù)字編碼與譯碼器設(shè)計 321
11.5.1 偽隨機序列 321
11.5.2 幀同步檢出 323
11.6 HIL硬件仿真 325
習(xí)題 329
實驗與設(shè)計 329
實驗11-1 利用MATLAB/DSP Builder設(shè)計基本電路模塊 329
實驗11-2 基于DSP Builder的DDS應(yīng)用模型設(shè)計 330
實驗11-3 編譯碼器設(shè)計實驗 332
實驗11-4 HIL硬件環(huán)仿真實驗 332
實驗11-5 DSP Builder狀態(tài)機應(yīng)用實驗 333
第12章 DSP Builder設(shè)計深入 335
12.1 FIR數(shù)字濾波器設(shè)計 335
12.1.1 FIR濾波器原理 335
12.1.2 使用DSP Builder設(shè)計FIR濾波器 336
12.1.3 使用MATLAB的濾波器設(shè)計工具 341
12.1.4 使用FIR IP Core設(shè)計FIR濾波器 346
12.2 HDL模塊插入仿真與設(shè)計 350
12.3 正交幅度調(diào)制與解調(diào)模型設(shè)計 351
12.4 NCO IP核應(yīng)用 354
12.5 基于IP的數(shù)字編譯碼器設(shè)計 356
習(xí)題 358
實驗與設(shè)計 359
實驗12-1 FIR數(shù)字濾波器設(shè)計實驗 359
實驗12-2 編譯碼器與調(diào)制解調(diào)模塊設(shè)計實驗 360
實驗12-3 HDL Import模塊應(yīng)用實驗 360
參考文獻 361
附錄A EDA開發(fā)系統(tǒng)及相關(guān)軟硬件 362
A.1 KX_DN8系列EDA/SOPC系統(tǒng) 363
A.2 部分實驗擴展模塊 365
A.3 .mif文件生成器使用方法 366

圖書封面

評論、評分、閱讀與下載


    EDA技術(shù)與Verilog HDL PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7