圖書內容
本書根據電子類課程課堂教學和實驗的要求,以提高學生的動手實踐能力和工程設計能力為目的,對EDA技術和FPGA設計的相關知識進行系統和完整的介紹。
本書內容新穎,技術先進,由淺入深,既有關於EDA技術、FPGA器件和Verilog硬體描述語言的系統介紹,又有豐富的設計實例。本書配套多媒體電子課件、實驗與設計和程式代碼。
目 錄
第1章 EDA技術概述 1
1.1 EDA技術及其發展歷程 1
1.2 EDA技術的特徵和優勢 3
1.2.1 EDA技術的特徵 3
1.2.2 EDA技術的優勢 5
1.3 EDA設計的目標和流程 7
1.3.1 EDA設計的目標 7
1.3.2 EDA設計的流程 8
1.3.3 數字積體電路的設計 8
1.3.4 模擬積體電路的設計 10
1.4 EDA技術與ASIC設計 10
1.4.1 ASIC的特點與分類 10
1.4.2 ASIC的設計方法 11
1.4.3 SoC設計 13
1.5 硬體描述語言 16
1.5.1 VHDL 16
1.5.2 Verilog HDL 17
1.5.3 ABEL-HDL 18
1.5.4 Verilog HDL和VHDL的比較 18
1.6 EDA設計工具 19
1.6.1 EDA設計工具分類 19
1.6.2 EDA公司及其工具介紹 21
1.7 EDA技術的發展趨勢 23
習題1 25
第2章 可程式邏輯器件基礎 26
2.1 概述 26
2.1.1 可程式邏輯器件的發展歷程 26
2.1.2 可程式邏輯器件的分類 27
2.1.3 可程式邏輯器件的優勢 29
2.1.4 可程式邏輯器件的發展趨勢 30
2.2 PLD器件的基本結構 31
2.2.1 基本結構 31
2.2.2 電路符號 32
2.2.3 PROM 34
2.2.4 PLA 35
2.2.5 PAL 36
2.2.6 GAL 36
2.3 CPLD/FPGA器件概述 38
2.3.1 Lattice的CPLD/FPGA 38
2.3.2 Xilinx的CPLD/FPGA 39
2.3.3 Altera的CPLD/FPGA 40
2.3.4 CPLD和FPGA的異同 42
2.4 可程式邏輯器件的基本資源 43
2.4.1 功能單元 43
2.4.2 I/O引腳 44
2.4.3 布線資源 44
2.4.4 片內RAM 45
2.5 可程式邏輯器件的編程元件 46
2.5.1 熔絲型開關 47
2.5.2 反熔絲型開關 47
2.5.3 浮柵編程元件 48
2.5.4 基於SRAM的編程元件 50
2.6 可程式邏輯器件的設計與開發 51
2.6.1 CPLD/FPGA設計流程 51
2.6.2 CPLD/FPGA開發工具 53
2.6.3 CPLD/FPGA的套用選擇 55
2.7 可程式邏輯器件的測試技術 57
2.7.1 邊界掃描測試原理 58
2.7.2 IEEE1149.1標準 58
2.7.3 邊界掃描策略及相關工具 62
習題2 62
第3章 典型FPGA/CPLD的結構與配置 63
3.1 Stratix高端FPGA系列 63
3.1.1 Stratix器件 63
3.1.2 Stratix Ⅱ器件 65
3.2 Cyclone低成本FPGA系列 68
3.2.1 Cyclone器件 68
3.2.2 Cyclone Ⅱ器件 73
3.3 典型CPLD器件 79
3.3.1 MAX Ⅱ器件 79
3.3.2 MAX 7000器件 80
3.4 FPGA/CPLD的配置 82
3.4.1 CPLD器件的配置 83
3.4.2 FPGA器件的配置 83
習題3 88
第4章 Quartus Ⅱ集成開發工具 89
4.1 Quartus Ⅱ原理圖設計 89
4.1.1 半加器原理圖設計輸入 89
4.1.2 編譯與仿真 92
4.1.3 1位全加器編譯與仿真 96
4.2 Quartus Ⅱ的最佳化設定 97
4.2.1 分析與綜合設定 97
4.2.2 最佳化布局布線 99
4.2.3 設計可靠性檢查 104
4.3 Quartus Ⅱ的時序分析 105
4.3.1 時序設定與分析 105
4.3.2 時序逼近 106
4.4 基於宏功能模組的設計 108
4.4.1 Megafunctions庫 108
4.4.2 Maxplus2庫 113
4.4.3 Primitives庫 114
習題4 115
實驗與設計 117
第5章 Verilog HDL語法與要素 132
5.1 Verilog HDL簡介 132
5.2 Verilog HDL模組的結構 133
5.3 Verilog HDL語言要素 136
5.4 常量 138
5.4.1 整數 138
5.4.2 實數 139
5.4.3 字元串 140
5.5 數據類型 141
5.5.1 net型 141
5.5.2 variable型 142
5.6 參數 144
5.7 向量 145
5.8 運算符 147
習題5 152
實驗與設計 152
第6章 Verilog HDL行為語句 157
6.1 過程語句 157
6.1.1 always過程語句 158
6.1.2 initial過程語句 161
6.2 塊語句 162
6.2.1 串列塊begin-end 162
6.2.2 並行塊fork-join 163
6.3 賦值語句 163
6.3.1 持續賦值與過程賦值 163
6.3.2 阻塞賦值與非阻塞賦值 165
6.4 條件語句 166
6.4.1 if-else語句 166
6.4.2 case語句 168
6.5 循環語句 172
6.5.1 for語句 172
6.5.2 repeat、while、forever語句 173
6.6 編譯指示語句 175
6.7 任務與函式 177
6.7.1 任務 177
6.7.2 函式 178
6.8 順序執行與並發執行 181
習題6 182
實驗與設計 183
第7章 Verilog HDL設計的層次與風格 188
7.1 Verilog HDL設計的層次 188
7.2 門級結構描述 188
7.2.1 Verilog HDL內置門元件 189
7.2.2 門級結構描述 191
7.3 行為描述 192
7.4 數據流描述 193
7.5 不同描述風格的設計 194
7.5.1 半加器設計 194
7.5.2 1位全加器設計 195
7.5.3 4位加法器設計 197
7.6 多層次結構電路的設計 197
7.7 基本組合電路設計 200
7.7.1 編解碼器 200
7.7.2 其他組合電路 202
7.8 基本時序電路設計 202
7.8.1 觸發器 202
7.8.2 鎖存器與暫存器 203
7.8.3 計數器與串/並轉換器 205
7.8.4 簡易微處理器 205
7.9 三態邏輯設計 207
習題7 209
實驗與設計 209
第8章 Verilog HDL設計進階 214
8.1 小數分頻 214
8.2 Verilog HDL有限狀態機設計 216
8.2.1 有限狀態機的Verilog HDL
描述 217
8.2.2 狀態編碼 222
8.2.3 狀態編碼的定義 223
8.3 字元液晶顯示控制 225
8.3.1 字元液晶H1602B 225
8.3.2 用狀態機實現字元顯示控制 228
8.4 VGA圖像的顯示與控制 231
8.4.1 VGA圖像顯示原理與時序 231
8.4.2 VGA圖像顯示與控制的實現 235
8.5 點陣式液晶顯示控制 240
8.6 樂曲演奏電路 245
習題8 250
實驗與設計 252
第9章 Verilog HDL仿真與測試 270
9.1 系統任務與系統函式 270
9.2 用戶自定義元件 274
9.2.1 組合電路UDP元件 275
9.2.2 時序邏輯UDP元件 276
9.3 延時模型的表示 278
9.3.1 時間標尺定義'timescale 278
9.3.2 延時的表示與延時說明塊 279
9.4 測試平台 280
9.5 組合電路和時序電路的仿真 283
9.5.1 組合電路的仿真 283
9.5.2 時序電路的仿真 285
習題9 285
實驗與設計 286
第10章 Verilog HDL數字設計實例 292
10.1 加法器的Verilog HDL設計實例 292
10.1.1 全加器的設計 292
10.1.2 行波加法器的設計 293
10.1.3 超前進位加法器的設計 294
10.1.4 流水線技術在加法器設計中的
套用 296
10.2 乘法器的Verilog HDL設計實例 299
10.2.1 移位相加乘法器設計原理 299
10.2.2 移位相加乘法器的Verilog HDL
實現 300
10.2.3 布斯乘法器設計原理 301
10.2.4 布斯乘法器的Verilog HDL
實現 303
10.3 漢明編解碼器的Verilog HDL設計
實例 304
10.3.1 漢明編碼原理 304
10.3.2 漢明編碼的解碼原理 306
10.3.3 漢明編解碼的Verilog HDL
實現 307
10.4 ST-BUS匯流排接口設計 308
10.4.1 ST-BUS匯流排時序關係 308
10.4.2 ST-BUS匯流排接口實例 310
習題10 313
實驗與設計 313
第11章 Verilog HDL數字通信常用模組
設計實例 324
11.1 信號音發生器的Verilog HDL設計
實例 324
11.1.1 線性碼、A律碼轉換原理 324
11.1.2 信號音發生器Verilog HDL
實例 327
11.2 比特同步的Verilog HDL設計
實例 331
11.2.1 鎖相功能的自同步法原理 331
11.2.2 鎖相比特同步的EDA實現
方法 333
11.3 基帶差分編碼的Verilog HDL設計
實例 337
11.3.1 PSK調製和差分編碼原理 337
11.3.2 PSK差分編碼設計 340
11.4 GMSK調製電路的Verilog HDL設計
實例 343
11.4.1 GMSK調製基本原理 343
11.4.2 GMSK調製實現的基本方法 345
11.4.3 GMSK基帶調製實現的
Verilog HDL實例 346
習題11 353
實驗與設計 353
附錄A Verilog HDL(IEEE Std 1364-1995)
關鍵字 360
附錄B Verilog HDL(IEEE Std 1364-2001)
關鍵字 361
參考文獻 362