《零點起飛學FPGA》是2015年清華大學出版社出版的圖書,作者是高敬鵬、武超群。
基本介紹
- 書名:零點起飛學FPGA
- 作者:高敬鵬、武超群
- ISBN:9787302399735
- 定價:69元
- 出版社:清華大學出版社
- 出版時間:2015-07-01
- 印次:1-1
- 印刷時間:2015-06-12
內容簡介,目錄,
內容簡介
本書以Verilog HDL語言為藍本,結合Altium Designer軟體、Quartus II軟體與ModelSim軟體的功能,通過豐富的實例,從實驗、實踐和實用的角度,詳細闡述了FPGA在電子系統中的套用。
目錄
第1章 FPGA基礎知識 1
1.1 通用數字積體電路 1
1.1.1 TTL數字積體電路 2
1.1.2 CMOS數字積體電路 2
1.1.3 可程式邏輯器件 3
1.2 FPGA的工藝結構 5
1.3 FPGA技術的發展方向 6
1.4 典型的FPGA晶片 7
1.4.1 Altera公司的典型產品 7
1.4.2 Xilinx公司的典型產品 9
1.5 FPGA晶片的套用 11
1.6 FPGA的設計流程 12
1.7 FPGA的設計開發工具 14
1.8 典型的FPGA產品設計軟體使用簡介 15
1.8.1 Altium Designer Summer 09的安裝 15
1.8.2 Altium Designer summer 09的啟動 17
1.8.3 Altium Designer Summer 09的主頁界面管理 20
1.8.4 Quartus II軟體的安裝 22
1.8.5 Quartus II軟體的啟動 25
1.8.6 Quartus II的主頁界面管理 26
1.9 思考與練習 27
第2章 FPGA硬體電路的設計 28
2.1 硬體電路的設計流程 28
2.2 FPGA最小系統 29
2.1.1 FPGA晶片管腳介紹 30
2.2.2 電源電路設計 31
2.2.3 濾波電容電路模組設計 32
2.2.4 JTAG調試與AS下載電路的設計 33
2.2.5 時鐘電路設計 33
2.2.6 復位電路的設計 34
2.2.7 鎖相環外圍電路的設計 34
2.2.8 LED電路的設計 35
2.2.9 高速SDRAM存儲器接口電路設計 35
2.2.10 Flash存儲器接口電路設計 36
2.2.11 FPGA最小系統擴展接口電路設計 36
2.3 FPGA硬體系統的設計技巧 37
2.4 FPGA硬體系統的調試方法 38
2.5 綜合實例:FPGA最小硬體系統的設計 39
2.6 思考與練習 51
第3章 Quartus II軟體操作基礎 52
3.1 Quartus II基本設計流程 52
3.2 Quartus II基本設計操作 53
3.2.1 工程創建 53
3.2.2 設計輸入 57
3.2.3 編譯項目 60
3.2.4 設計檔案的仿真 61
3.2.5 引腳分配與器件編譯 67
3.2.6 器件編程 69
3.2.7 其他操作 74
3.3 Quartus II參數化宏功能模組及其使用方法 77
3.3.1 LPM計數器的使用方法 77
3.3.2 建立存儲器檔案 80
3.3.3 LPM存儲器ROM的使用方法 81
3.3.4 LPM存儲器RAM的使用方法 84
3.4 SignalTap II線上邏輯分析儀的使用方法 86
3.4.1 SignalTap II介紹 86
3.4.2 使用SignalTap II操作流程 87
3.4.3 SignalTap II邏輯分析儀的使用 88
3.5 典型實例:正弦波發生器及SignalTap II的使用 96
3.6 思考與練習 108
第4章 Verilog HDL語言概述 109
4.1 硬體描述語言的概念 109
4.2 Verilog HDL的產生與發展 110
4.3 Verilog HDL語言的魅力 111
4.3.1 Verilog HDL語言與VHDL語言的比較 111
4.3.2 Verilog HDL與C語言的比較 112
4.3.3 Verilog HDL的套用 113
4.4 採用Verilog HDL設計複雜數字電路的優點 113
4.5 Verilog HDL程式設計模式 114
4.6 Verilog HDL程式基本結構 115
4.6.1 Verilog HDL程式入門 116
4.6.2 模組的框架 118
4.6.3 Verilog HDL語言的描述形式 119
4.7 Verilog HDL語言基本要素 128
4.7.1 標誌符與注釋 128
4.7.2 數字與邏輯數值 129
4.7.3 數據類型 131
4.7.4 常用運算符 138
4.7.5 Verilog HDL語言的賦值 144
4.7.6 Verilog HDL語言的關鍵字 145
4.8 典型實例:利用Verilog HDL語言在FPGA上實現LED流水燈 146
4.9 思考與練習 153
第5章 面向綜合的行為描述語句 154
5.1 可綜合模型的設計 154
5.2 觸發事件控制 155
5.2.1 信號電平事件語句 155
5.2.2 信號跳變沿事件語句 156
5.3 條件語句 157
5.3.1 if語句 157
5.3.2 case語句 158
5.3.3 條件語句的深入理解 161
5.4 循環語句 163
5.4.1 repeat語句 163
5.4.2 while語句 164
5.4.3 for語句 165
5.5 任務與函式 167
5.5.1 任務(task)語句 167
5.5.2 函式(function)語句 169
5.5.3 任務和函式的深入理解 170
5.6 有限狀態機的設計 171
5.6.1 有限狀態機的分類 172
5.6.2 有限狀態機的狀態編碼 173
5.6.3 有限狀態機設計方法 174
5.6.4 設計可綜合狀態機的指導原則 179
5.6.5 有限狀態機設計實例 180
5.7 Quartus II圖形化狀態機輸入工具使用 181
5.8 Verilog HDL語言實現組合邏輯電路 186
5.9 Verilog HDL語言實現時序邏輯電路 188
5.10 硬體描述語言設計基礎實例 189
5.10.1 8-3編碼器 189
5.10.2 3-8解碼器 190
5.10.3 數據選擇器 191
5.10.4 多位數值比較器 193
5.10.5 全加器 193
5.10.6 D觸發器 195
5.10.7 暫存器 196
5.10.8 雙向移位暫存器 197
5.10.9 四位二進制加減法計數器 198
5.10.10 順序脈衝發生器 199
5.10.11 序列信號發生器 201
5.11 思考與練習 201
第6章 ModelSim仿真工具 203
6.1 ModelSim仿真工具簡介 203
6.1.1 選單欄 204
6.1.2 工具列 216
6.1.3 工作區 216
6.1.4 命令視窗 217
6.1.5 MDI視窗 217
6.1.6 狀態欄 217
6.1.7 定製用戶界面 217
6.2 ModelSim的命令與檔案 218
6.2.1 vlib命令 219
6.2.2 vmap命令 219
6.2.3 vcom命令 220
6.2.4 vlog命令 221
6.2.5 vsim命令 222
6.2.6 force命令 223
6.2.7 add wave命令 225
6.2.8 run命令 226
6.2.9 DO命令 227
6.2.10 宏命令 227
6.3 ModelSim仿真工具安裝與使用 230
6.3.1 ModelSim的安裝 231
6.3.2 在Quartus II中直接調用ModelSim軟體進行時序仿真 231
6.3.3 使用ModelSim軟體直接進行功能仿真 235
6.4 典型實例:SDRAM讀寫控制的實現與ModelSim仿真 238
6.4.1 SDRAM簡介 238
6.4.2 SDRAM控制器的ModelSim仿真 241
6.5 思考與練習 243
第7章 面向驗證和仿真的行為描述語句 244
7.1 驗證與仿真概述 244
7.1.1 收斂模型 245
7.1.2 測試平台說明 245
7.1.3 驗證測試方法論 247
7.1.4 Testbench結構說明 251
7.2 仿真程式執行原理 252
7.3 延時控制語句 254
7.4 常用的行為仿真描述語句 257
7.4.1 循環語句 257
7.4.2 force和release語句 259
7.4.3 wait語句 260
7.4.4 事件控制語句 261
7.4.5 task和function語句 262
7.4.6 串列激勵與並行激勵語句 263
7.5 用戶自定義元件 264
7.6 仿真激勵的產生 267
7.6.1 變數初始化 267
7.6.2 時鐘信號的產生 270
7.6.3 復位信號的產生 271
7.6.4 數據信號的產生 272
7.6.5 測試向量的產生 274
7.6.6 關於仿真效率的說明 275
7.7 典型實例:全加器的驗證與仿真 276
7.8 思考與練習 280
第8章 Verilog HDL語言設計進階 281
8.1 系統任務 281
8.1.1 輸出顯示任務 281
8.1.2 檔案輸入輸出任務 287
8.1.3 時間標度任務 291
8.1.4 仿真控制任務 293
8.1.5 仿真時間函式 294
8.1.6 數字類型變換函式 295
8.1.7 機率分布函式 296
8.2 編譯預處理 297
8.2.1 宏定義`define語句 298
8.2.2 條件編譯命令`if語句 300
8.2.3 檔案包含`include語句 301
8.2.4 時間尺度`timescale語句 303
8.2.5 其他語句 304
8.3 Verilog HDL語言的代碼風格 305
8.3.1 Verilog HDL語言的基本原則 306
8.3.2 Verilog HDL語言的編寫規範 309
8.3.3 Verilog HDL語言的處理技巧 314
8.4 思考與練習 316
第9章 外設接口和綜合系統設計 318
9.1 外設接口實驗 318
9.1.1 數碼管顯示接口實驗 318
9.1.2 LCD液晶顯示接口實驗 326
9.1.3 VGA顯示接口實驗 334
9.1.4 RS-232C串列通信接口實驗 338
9.1.5 PS2鍵盤接口實驗 346
9.2 綜合系統設計 360
9.2.1 實時溫度採集系統 360
9.2.2 實時紅外採集系統 378