本書全面系統(tǒng)地介紹了電子設(shè)計自動化(EDA)的相關(guān)技術(shù)理論、HDL語言及語法、開發(fā)環(huán)境操作流程、電子設(shè)計與優(yōu)化方法等。全書共分10章,內(nèi)容包括:EDA技術(shù)概述、可編程邏輯器件基礎(chǔ)、QuartusPrime開發(fā)軟件應(yīng)用、VerilogHDL的基本語法、VerilogHDL設(shè)計的層次與常用模塊設(shè)計、宏功能模塊設(shè)計、可綜合設(shè)計與優(yōu)化、ModelSim軟件的使用、數(shù)字設(shè)計實例、C/C++語言開發(fā)可編程邏輯器件。
目 錄
前言
第1 章 EDA 技術(shù)概述 1
1.1 EDA 技術(shù)簡介 1
1.2 EDA 技術(shù)的發(fā)展和優(yōu)勢 2
1.2.1 EDA 技術(shù)的發(fā)展 2
1.2.2 EDA 技術(shù)的優(yōu)勢 3
1.3 硬件描述語言(HDL) 4
1.3.1 原理圖設(shè)計方法 4
1.3.2 HDL 的設(shè)計方法 4
1.3.3 HDL 設(shè)計方法與傳統(tǒng)原理圖設(shè)計方法的比較 5
1.4 綜合 6
1.5 基于HDL 的設(shè)計方法 7
1.6 EDA 工程的設(shè)計流程 8
1.7 EDA 集成開發(fā)工具簡介 10
1.8 IP 核 12
1.9 小結(jié) 13
1.10 習(xí)題 13
第2 章 可編程邏輯器件基礎(chǔ) 14
2.1 可編程邏輯器件概述 14
2.1.1 可編程邏輯器件的發(fā)展過程 14
2.1.2 可編程邏輯器件的分類 15
2.2 PROM?PLA?PAL 和GAL 的基本結(jié)構(gòu) 16
2.2.1 邏輯電路符號的表示方法 16
2.2.2 PLD 器件的基本結(jié)構(gòu) 17
2.2.3 PROM 的基本結(jié)構(gòu) 17
2.2.4 PLA 的基本結(jié)構(gòu) 18
2.2.5 PAL 和GAL 的基本結(jié)構(gòu) 18
2.2.6 PROM?PLA?PAL 和GAL 電路的結(jié)構(gòu)特點 21
2.3 CPLD 的基本結(jié)構(gòu)和工作原理 21
2.3.1 CPLD 的基本結(jié)構(gòu) 21
2.3.2 Intel 公司的CPLD 23
2.4 FPGA 的結(jié)構(gòu)和工作原理 26
2.4.1 FPGA 的基本結(jié)構(gòu) 27
2.4.2 Intel 公司的FPGA 30
2.5 CPLD/FPGA 的應(yīng)用選型 33
2.6 Intel 器件的識讀與選型指南 34 2.7 小結(jié) 37
2.8 習(xí)題 38
第3 章 Quartus Prime 開發(fā)軟件應(yīng)用 39
3.1 Quartus Prime 軟件設(shè)計流程 39
3.2 Quartus Prime 軟件安裝 39
3.3 創(chuàng)建工程文件 45
3.3.1 建立工程 45
3.3.2 建立設(shè)計文件 50
3.3.3 原理圖輸入方法 52
3.3.4 文本輸入設(shè)計方法 53
3.3.5 編譯 55
3.4 約束輸入 55
3.4.1 器件選擇 55
3.4.2 引腳分配及驗證 57
3.4.3 使用“Assignment Editor”和“Settings”對話框 58
3.5 綜合和仿真 59
3.5.1 使用Quartus Prime 的集成綜合 59
3.5.2 使用ModelSim 仿真器進行仿真設(shè)計 60
3.6 下載配置 63
3.6.1 JTAG 模式 63
3.6.2 AS 模式 63
3.7 實例:3 線-8 線譯碼器設(shè)計與仿真 64
3.7.1 實例簡介 64
3.7.2 實例目的 64
3.7.3 實例內(nèi)容 64
3.8 小結(jié) 68
3.9 習(xí)題 69
第4 章 Verilog HDL 的基本語法 70
4.1 Verilog HDL 簡介 70
4.1.1 Verilog HDL 的發(fā)展過程 70
4.1.2 Verilog HDL 與C 語言的比較 71
4.2 Verilog HDL 設(shè)計舉例 73
4.3 Verilog HDL 模塊的結(jié)構(gòu) 75
4.4 Verilog HDL 的要素與表達式 79
4.4.1 注釋 80
4.4.2 常量 80
4.4.3 變量 81
4.4.4 操作符 83
4.4.5 字符串?關(guān)鍵字?標識符 90
4.5 賦值語句 90
4.5.1 連續(xù)賦值 91
4.5.2 過程賦值 92
4.5.3 連續(xù)賦值和過程賦值的不同 95
4.6 塊語句 96
4.6.1 順序語句塊(begin-end) 96
4.6.2 并行語句塊(fork-join) 97
4.6.3 起始時間和結(jié)束時間 98
4.7 條件語句 99
4.7.1 if-else 語句 99
4.7.2 case 語句 101
4.7.3 比較if-else 嵌套與case 語句 104
4.8 循環(huán)語句 104
4.8.1 for 語句 104
4.8.2 forever 語句 105
4.8.3 repeat 語句 105
4.8.4 while 語句 105
4.9 過程語句 106
4.9.1 initial 語句 106
4.9.2 always 語句 108
4.10 任務(wù)與函數(shù) 109
4.10.1 任務(wù) 110
4.10.2 函數(shù) 113
4.11 預(yù)編譯指令 114
4.11.1 宏定義語句('define?'undef) 114
4.11.2 文件包含語句('include) 115
4.11.3 時間尺度('timescale) 117
4.11.4 條件編譯指令('ifdef?'else?'endif) 117
4.12 小結(jié) 118
4.13 習(xí)題 118
第5 章 Verilog HDL 設(shè)計的層次與常用模塊設(shè)計 120
5.1 Verilog HDL 設(shè)計的層次 120
5.2 行為描述 120
5.3 數(shù)據(jù)流描述 121
5.4 結(jié)構(gòu)描述 121
5.4.1 Verilog HDL 內(nèi)置門元件 121
5.4.2 門元件的調(diào)用 122
5.5 基本組合邏輯電路設(shè)計 123
5.5.1 與非門電路 124
5.5.2 或非門電路 125
5.5.3 異或門電路 126
5.5.4 三態(tài)門電路 127
5.5.5 編碼器 127
5.5.6 譯碼器 129
5.5.7 BCD-七段顯示譯碼器 130
5.5.8 2 選1 數(shù)據(jù)選擇器 132
5.5.9 4 選1 數(shù)據(jù)選擇器 133
5.5.10 數(shù)值比較器 134
5.5.11 總線緩沖器 135
5.6 基本時序電路設(shè)計 136
5.6.1 觸發(fā)器 136
5.6.2 寄存器 137
5.6.3 計數(shù)器 138
5.6.4 串-并轉(zhuǎn)換器 139
5.7 加法器設(shè)計 140
5.7.1 并行加法器 141
5.7.2 流水線加法器 141
5.8 乘法器設(shè)計 143
5.8.1 并行乘法器 143
5.8.2 查找表乘法器 144
5.9 乘累加器設(shè)計 145
5.10 小結(jié) 147
5.11 習(xí)題 147
第6 章 宏功能模塊設(shè)計 148
6.1 算術(shù)運算模塊庫 148
6.1.1 算術(shù)運算模塊庫模塊列表 148
6.1.2 乘法器模塊設(shè)計舉例 149
6.1.3 計數(shù)器模塊設(shè)計舉例 153
6.2 邏輯門庫 156
6.2.1 邏輯門庫宏模塊列表 156
6.2.2 3 線-8 線譯碼器模塊設(shè)計舉例 156
6.3 I/O 模塊庫 158
6.4 存儲器模塊庫 159
6.5 小結(jié) 160
6.6 習(xí)題 160
第7 章 可綜合設(shè)計與優(yōu)化 161
7.1 可綜合設(shè)計 161
7.1.1 綜合的概念及其過程 161
7.1.2 可綜合模型的設(shè)計 162
7.1.3 綜合結(jié)果的驗證 163
7.2 Verilog HDL 設(shè)計優(yōu)化 165
7.2.1 公因子和公因子表達式 165
7.2.2 算術(shù)表達式優(yōu)化 165
7.2.3 運算符優(yōu)化 166
7.2.4 循環(huán)語句的優(yōu)化 166
7.3 面積與速度的折中 167
7.3.1 速度換面積 167
7.3.2 面積換速度 168
7.4 有限狀態(tài)機設(shè)計 168
7.4.1 有限狀態(tài)機的設(shè)計步驟 169
7.4.2 有限狀態(tài)機編碼方式 170
7.4.3 用Verilog HDL 設(shè)計可綜合的狀態(tài)機的指導(dǎo)原則 170
7.4.4 狀態(tài)機的三種設(shè)計風(fēng)格 170
7.5 小結(jié) 178
7.6 習(xí)題 178
第8 章 ModelSim 軟件的使用 179
8.1 系統(tǒng)任務(wù)與函數(shù) 179
8.2 用戶自定義原語 183
8.3 應(yīng)用Testbench 仿真驗證 184
8.3.1 基本結(jié)構(gòu) 184
8.3.2 驗證過程 185
8.3.3 驗證的全面性與代碼覆蓋率分析 188
8.4 應(yīng)用ModelSim 軟件仿真 194
8.4.1 軟件簡介 194
8.4.2 使用ModelSim 進行設(shè)計仿真 194
8.4.3 在Quartus Prime 中直接調(diào)用ModelSim 198
8.5 實例:4 位全加器設(shè)計及ModelSim 仿真 200
8.5.1 實例簡介 200
8.5.2 實例目的 201
8.5.3 實例內(nèi)容 201
8.6 小結(jié) 207
8.7 習(xí)題 207
第9 章 數(shù)字設(shè)計實例 208
9.1 卷積編碼Verilog HDL 設(shè)計 208
9.1.1 卷積碼的編碼工作原理 208
9.1.2 卷積碼的Verilog HDL 實現(xiàn) 209
9.1.3 卷積碼的ModelSim 仿真 210
9.2 通用異步收發(fā)器的Verilog HDL 設(shè)計與驗證 211
9.2.1 通用異步收發(fā)器的規(guī)范 211
9.2.2 電路結(jié)構(gòu)設(shè)計 212
9.2.3 UART 控制電路模塊的代碼設(shè)計與分析 214
9.2.4 發(fā)送電路的代碼設(shè)計與仿真分析 218
9.2.5 接收電路的代碼設(shè)計與仿真 222
9.2.6 UART 系統(tǒng)仿真 227
9.2.7 UART 自動測試Testbench 230
9.3 小結(jié) 233
9.4 習(xí)題 234
第10 章 C/C 語言開發(fā)可編程邏輯器件 235
10.1 基于C/C 的硬件設(shè)計方法 235
10.2 硬件設(shè)計的C 數(shù)據(jù)類型 235
10.2.1 ac_int 型 236
10.2.2 ac_fixed 型 236
10.3 C/C FIR 濾波器設(shè)計 237
10.3.1 直接型FIR 濾波器 237
10.3.2 奇對稱FIR 濾波器 238
10.3.3 轉(zhuǎn)置型FIR 濾波器 239
10.4 C 濾波器的可編程邏輯實現(xiàn)及驗證 239
10.4.1 C FIR 濾波器的實現(xiàn) 239
10.4.2 FIR 濾波器的驗證 247
10.5 小結(jié) 249
10.6 習(xí)題 250
附錄 Quartus Ⅱ支持的Verilog 結(jié)構(gòu) 251
參考文獻 254
顯示部分信息