本書全面系統(tǒng)地介紹了電子設(shè)計(jì)自動化(EDA)的相關(guān)技術(shù)理論、HDL語言及語法、開發(fā)環(huán)境操作流程、電子設(shè)計(jì)與優(yōu)化方法等。全書共分10章,內(nèi)容包括:EDA技術(shù)概述、可編程邏輯器件基礎(chǔ)、QuartusPrime開發(fā)軟件應(yīng)用、VerilogHDL的基本語法、VerilogHDL設(shè)計(jì)的層次與常用模塊設(shè)計(jì)、宏功能模塊設(shè)計(jì)、可綜合設(shè)計(jì)與優(yōu)化、ModelSim軟件的使用、數(shù)字設(shè)計(jì)實(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è)計(jì)方法 4
1.3.2 HDL 的設(shè)計(jì)方法 4
1.3.3 HDL 設(shè)計(jì)方法與傳統(tǒng)原理圖設(shè)計(jì)方法的比較 5
1.4 綜合 6
1.5 基于HDL 的設(shè)計(jì)方法 7
1.6 EDA 工程的設(shè)計(jì)流程 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)特點(diǎn) 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è)計(jì)流程 39
3.2 Quartus Prime 軟件安裝 39
3.3 創(chuàng)建工程文件 45
3.3.1 建立工程 45
3.3.2 建立設(shè)計(jì)文件 50
3.3.3 原理圖輸入方法 52
3.3.4 文本輸入設(shè)計(jì)方法 53
3.3.5 編譯 55
3.4 約束輸入 55
3.4.1 器件選擇 55
3.4.2 引腳分配及驗(yàn)證 57
3.4.3 使用“Assignment Editor”和“Settings”對話框 58
3.5 綜合和仿真 59
3.5.1 使用Quartus Prime 的集成綜合 59
3.5.2 使用ModelSim 仿真器進(jìn)行仿真設(shè)計(jì) 60
3.6 下載配置 63
3.6.1 JTAG 模式 63
3.6.2 AS 模式 63
3.7 實(shí)例:3 線-8 線譯碼器設(shè)計(jì)與仿真 64
3.7.1 實(shí)例簡介 64
3.7.2 實(shí)例目的 64
3.7.3 實(shí)例內(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è)計(jì)舉例 73
4.3 Verilog HDL 模塊的結(jié)構(gòu) 75
4.4 Verilog HDL 的要素與表達(dá)式 79
4.4.1 注釋 80
4.4.2 常量 80
4.4.3 變量 81
4.4.4 操作符 83
4.4.5 字符串?關(guān)鍵字?標(biāo)識符 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 起始時(shí)間和結(jié)束時(shí)間 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 時(shí)間尺度('timescale) 117
4.11.4 條件編譯指令('ifdef?'else?'endif) 117
4.12 小結(jié) 118
4.13 習(xí)題 118
第5 章 Verilog HDL 設(shè)計(jì)的層次與常用模塊設(shè)計(jì) 120
5.1 Verilog HDL 設(shè)計(jì)的層次 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è)計(jì) 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í)序電路設(shè)計(jì) 136
5.6.1 觸發(fā)器 136
5.6.2 寄存器 137
5.6.3 計(jì)數(shù)器 138
5.6.4 串-并轉(zhuǎn)換器 139
5.7 加法器設(shè)計(jì) 140
5.7.1 并行加法器 141
5.7.2 流水線加法器 141
5.8 乘法器設(shè)計(jì) 143
5.8.1 并行乘法器 143
5.8.2 查找表乘法器 144
5.9 乘累加器設(shè)計(jì) 145
5.10 小結(jié) 147
5.11 習(xí)題 147
第6 章 宏功能模塊設(shè)計(jì) 148
6.1 算術(shù)運(yùn)算模塊庫 148
6.1.1 算術(shù)運(yùn)算模塊庫模塊列表 148
6.1.2 乘法器模塊設(shè)計(jì)舉例 149
6.1.3 計(jì)數(shù)器模塊設(shè)計(jì)舉例 153
6.2 邏輯門庫 156
6.2.1 邏輯門庫宏模塊列表 156
6.2.2 3 線-8 線譯碼器模塊設(shè)計(jì)舉例 156
6.3 I/O 模塊庫 158
6.4 存儲器模塊庫 159
6.5 小結(jié) 160
6.6 習(xí)題 160
第7 章 可綜合設(shè)計(jì)與優(yōu)化 161
7.1 可綜合設(shè)計(jì) 161
7.1.1 綜合的概念及其過程 161
7.1.2 可綜合模型的設(shè)計(jì) 162
7.1.3 綜合結(jié)果的驗(yàn)證 163
7.2 Verilog HDL 設(shè)計(jì)優(yōu)化 165
7.2.1 公因子和公因子表達(dá)式 165
7.2.2 算術(shù)表達(dá)式優(yōu)化 165
7.2.3 運(yùn)算符優(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)機(jī)設(shè)計(jì) 168
7.4.1 有限狀態(tài)機(jī)的設(shè)計(jì)步驟 169
7.4.2 有限狀態(tài)機(jī)編碼方式 170
7.4.3 用Verilog HDL 設(shè)計(jì)可綜合的狀態(tài)機(jī)的指導(dǎo)原則 170
7.4.4 狀態(tài)機(jī)的三種設(shè)計(jì)風(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 仿真驗(yàn)證 184
8.3.1 基本結(jié)構(gòu) 184
8.3.2 驗(yàn)證過程 185
8.3.3 驗(yàn)證的全面性與代碼覆蓋率分析 188
8.4 應(yīng)用ModelSim 軟件仿真 194
8.4.1 軟件簡介 194
8.4.2 使用ModelSim 進(jìn)行設(shè)計(jì)仿真 194
8.4.3 在Quartus Prime 中直接調(diào)用ModelSim 198
8.5 實(shí)例:4 位全加器設(shè)計(jì)及ModelSim 仿真 200
8.5.1 實(shí)例簡介 200
8.5.2 實(shí)例目的 201
8.5.3 實(shí)例內(nèi)容 201
8.6 小結(jié) 207
8.7 習(xí)題 207
第9 章 數(shù)字設(shè)計(jì)實(shí)例 208
9.1 卷積編碼Verilog HDL 設(shè)計(jì) 208
9.1.1 卷積碼的編碼工作原理 208
9.1.2 卷積碼的Verilog HDL 實(shí)現(xiàn) 209
9.1.3 卷積碼的ModelSim 仿真 210
9.2 通用異步收發(fā)器的Verilog HDL 設(shè)計(jì)與驗(yàn)證 211
9.2.1 通用異步收發(fā)器的規(guī)范 211
9.2.2 電路結(jié)構(gòu)設(shè)計(jì) 212
9.2.3 UART 控制電路模塊的代碼設(shè)計(jì)與分析 214
9.2.4 發(fā)送電路的代碼設(shè)計(jì)與仿真分析 218
9.2.5 接收電路的代碼設(shè)計(jì)與仿真 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è)計(jì)方法 235
10.2 硬件設(shè)計(jì)的C 數(shù)據(jù)類型 235
10.2.1 ac_int 型 236
10.2.2 ac_fixed 型 236
10.3 C/C FIR 濾波器設(shè)計(jì) 237
10.3.1 直接型FIR 濾波器 237
10.3.2 奇對稱FIR 濾波器 238
10.3.3 轉(zhuǎn)置型FIR 濾波器 239
10.4 C 濾波器的可編程邏輯實(shí)現(xiàn)及驗(yàn)證 239
10.4.1 C FIR 濾波器的實(shí)現(xiàn) 239
10.4.2 FIR 濾波器的驗(yàn)證 247
10.5 小結(jié) 249
10.6 習(xí)題 250
附錄 Quartus Ⅱ支持的Verilog 結(jié)構(gòu) 251
參考文獻(xiàn) 254
顯示部分信息