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