前 言
第1 章 FPGA基礎及電路設計 1
?。? 1?。疲校牵?基礎及7 系列FPGA 基本原理 1
?。? 1. 1?。疲校牵?概述 1
?。? 1. 2?。疲校牵?基本邏輯結構 2
1. 1. 3?。?系列FPGA CLB 4
?。? 1. 4?。?系列FPGA 的IOB 8
?。? 1. 5 7 系列FPGA 及7a35tftg256 ̄1 特性 9
?。? 2 FPGA 電路設計 11
?。? 2. 1?。疲校牵?的BANK 電路 11
1. 2. 2?。蹋牛?驅動電路 13
1. 2. 3 撥碼開關電路 13
?。? 2. 4 按鍵電路 14
?。? 2. 5 七段數碼管驅動電路 15
1. 2. 6?。郑牵?顯示驅動電路 17
1. 2. 7?。遥樱玻常?驅動電路 19
?。? 2. 8 配置電路 20
1. 2. 9 XADC 接口和擴展接口 22
習題 24
第2 章 Verilog HDL 語言與Vivado 25
?。? 1 Verilog HDL 基本結構 25
?。? 1. 1 一個簡單的組合邏輯實例 25
?。? 1. 2 一個簡單的時序邏輯實例 27
?。? 1. 3?。郑澹颍椋欤铮?HDL 結構要求 28
?。? 2 數據類型及變量、常量 29
?。? 2. 1 邏輯值和常量 30
2. 2. 2 線網型變量wire 30
?。? 2. 3 寄存器類型reg 31
?。? 2. 4 符號常量 32
2. 2. 5 存儲器型變量 32
?。? 3 運算符 33
?。? 3. 1 算術運算符 33
?。? 3. 2 邏輯運算符 33
2. 3. 3 按位運算符 34
?。? 3. 4 關系運算符 34
?。? 3. 5 等式運算符 35
2. 3. 6 縮減運算符 35
2. 3. 7 移位運算符 35
?。? 3. 8 條件運算符和拼接運算符 36
?。? 3. 9 運算符的優(yōu)先級 37
?。? 4 語句 37
?。? 4. 1 賦值語句、結構說明語句、阻塞與非阻塞 38
2. 4. 2 條件語句 41
?。? 4. 3 循環(huán)語句 43
?。? 5?。郑椋觯幔洌?初步 46
2. 5. 1?。郑椋觯幔洌?獲取和安裝 47
?。? 5. 2 Vivado 主界面 47
習題 50
第3 章 組合邏輯電路與Vivado 進階 51
?。? 1 我的第一個工程———多數表決器 51
?。? 1. 1 多數表決器的分析和邏輯實現 51
3. 1. 2 多數表決器的工程創(chuàng)建 52
?。? 1. 3 多數表決器的Verilog HDL 源文件創(chuàng)建 56
?。? 1. 4 多數表決器的Verilog HDL 代碼實現及RTL 分析 58
?。? 1. 5 綜合 59
?。? 1. 6 約束 60
?。? 1. 7 實現 62
?。? 1. 8 仿真 63
3. 1. 9 編程和調試 65
?。? 2?。常?譯碼器設計和IP 核 70
3. 2. 1 譯碼器的實現 70
?。? 2. 2 譯碼器IP 核生成 75
3. 3 調用IP 核實現多數表決器 78
?。? 3. 1 使用74x138 實現多數表決器的設計 78
?。? 3. 2 構建新工程并調用IP 核 78
習題 83
目 錄Ⅶ
第4 章 時序邏輯電路FPGA實現 84
?。? 1 時鐘同步狀態(tài)機的設計 84
?。? 1. 1 時鐘同步狀態(tài)機及其設計流程 84
4. 1. 2 時鐘同步狀態(tài)機設計方法構建序列發(fā)生器 86
?。? 1. 3 狀態(tài)圖直接描述法實現序列發(fā)生器 90
?。? 2 同步計數器74x163 的實現 94
?。? 3 移位寄存器的實現和應用 97
?。? 3. 1?。罚矗保梗?的實現 97
?。? 3. 2 使用74x194IP 核實現11001 序列發(fā)生器 100
習題 104
第5 章 FPGA基本實踐 105
5. 1 流水燈實踐 105
?。? 1. 1 流水燈的關鍵設計 105
?。? 1. 2 流水燈工程的Vivado 實現 106
5. 2 數碼管動態(tài)顯示實踐 111
?。? 2. 1 數碼管動態(tài)顯示原理分析 111
?。? 2. 2 數碼管動態(tài)顯示設計 112
?。? 2. 3 數碼管動態(tài)顯示工程的Vivado 實現 113
5. 2. 4 數碼管動態(tài)顯示IP 核設計與實現 117
?。? 2. 5 調用IP 核實現動態(tài)顯示 120
5. 3?。郑牵?顯示的實現 123
?。? 3. 1?。郑牵?顯示基本原理 123
5. 3. 2?。郑牵?顯示設計與實現 125
習題 132
第6 章 FPGA綜合實踐 133
?。? 1 電子秒表的設計與實現 133
?。? 1. 1 按鍵消抖 133
?。? 1. 2 秒表綜合設計 136
?。? 2 UART 串行接口設計及通信實現 142
?。? 2. 1 異步串行接口原理分析 142
?。? 2. 2 波特率及其他時鐘信號發(fā)生模塊設計 143
?。? 2. 3 串行發(fā)送程序設計 145
6. 2. 4 串行接收程序設計 148
?。? 2. 5 串行通信頂層程序設計 152
6. 2. 6 串行通信功能測試 153
習題 155
Ⅷ?。兀椋欤椋睿?FPGA 原理與實踐———基于Vivado 和Verilog HDL
第7 章 FPGA 進階——XADC、BRAM原理及電壓表、示波器設計 156
?。? 1?。兀粒模?基本結構及寄存器 156
7. 1. 1?。兀粒模?邏輯結構 156
7. 1. 2?。兀粒模?對外連接說明 156
7. 1. 3?。兀粒模?端口 159
?。? 1. 4 XADC 狀態(tài)寄存器和控制寄存器 160
?。? 1. 5 操作模式 166
?。? 1. 6?。兀粒模?操作時序 167
7. 2 應用XADC 實現多路電壓采集及顯示 168
?。? 2. 1 生成XADC IP 核實例 168
?。? 2. 2 使用XADC IP 核實現XADC 序列模式訪問模塊 171
7. 2. 3?。? D 序列采集和顯示實現 175
?。? 2. 4 序列采集及顯示測試 179
7. 3 應用XADC 及BRAM 實現多通道示波器 181
?。? 3. 1 塊存儲器BRAM 原理 181
?。? 3. 2 塊內存生成IP 的使用和仿真驗證 186
?。? 3. 3 多通道示波器的設計思路 192
?。? 3. 4 顯示內存設計及其訪問模塊構建及仿真 193
7. 3. 5 波形發(fā)生器模塊設計及仿真 196
?。? 3. 6 VGA 顯示驅動模塊設計及仿真 202
7. 3. 7 加入邏輯分析儀模塊及頂層模塊實現 206
?。? 3. 8 功能測試 209
習題 209
附錄 211
附錄A?。悖罚幔常担簦妫簦纾玻担叮?引腳說明 211
附錄B 口袋實驗板資源 218
附錄C 實驗或課程設計教學安排 229
附錄D 分章節(jié)代碼匯總 230
附錄E A 型實驗板參考約束文件 232
參考文獻 236