出版信息
書號: | 59334 | ISBN: | 978-7-111-59334-8 |
作者: | 盧有亮 | 印次: | 1-1 |
責編: | 吉玲 王小東 | 開本: | 16開 |
字數: | 368千字 | 定價: | 37.0 |
所屬叢書: | 普通高等教育“十三五”規劃教材 | ||
裝訂: | 平裝 | 出版日期: | 2018-05-03 |
內容簡介
本書以目前流行的Xilinx7系列FPGA的開發為主線,全面講解FPGA的原理及電路設計、VerilogHDL語言及Vivado的套用,並循序漸進地從組合邏輯和時序邏輯的開發開始,深入到FPGA的基礎套用、綜合套用和進階套用。本書具有理論和實踐緊密結合的特點,在內容的設計上既重視學生對基礎理論知識的認知過程,又通過由易到難的19個實踐逐步提高理論知識及培養開發能力,為學生提高FPGA設計開發能力及提高知識套用素質提供平台與指導。通過本書的學習和實踐,學生能夠達到初級FPGA開發工程技術人員的水平。
圖書目錄
前 言
第1 章 FPGA基礎及電路設計 1
1. 1 FPGA 基礎及7 系列FPGA 基本原理 1
1. 1. 1 FPGA 概述 1
1. 1. 2 FPGA 基本邏輯結構 2
1. 1. 3 7 系列FPGA CLB 4
1. 1. 4 7 系列FPGA 的IOB 8
1. 1. 5 7 系列FPGA 及7a35tftg256 ̄1 特性 9
1. 2 FPGA 電路設計 11
1. 2. 1 FPGA 的BANK 電路 11
1. 2. 2 LED 驅動電路 13
1. 2. 3 撥碼開關電路 13
1. 2. 4 按鍵電路 14
1. 2. 5 七段數碼管驅動電路 15
1. 2. 6 VGA 顯示驅動電路 17
1. 2. 7 RS ̄232 驅動電路 19
1. 2. 8 配置電路 20
1. 2. 9 XADC 接口和擴展接口 22
習題 24
第2 章 Verilog HDL 語言與Vivado 25
2. 1 Verilog HDL 基本結構 25
2. 1. 1 一個簡單的組合邏輯實例 25
2. 1. 2 一個簡單的時序邏輯實例 27
2. 1. 3 Verilog HDL 結構要求 28
2. 2 數據類型及變數、常量 29
2. 2. 1 邏輯值和常量 30
2. 2. 2 線網型變數wire 30
2. 2. 3 暫存器類型reg 31
2. 2. 4 符號常量 32
2. 2. 5 存儲器型變數 32
2. 3 運算符 33
2. 3. 1 算術運算符 33
2. 3. 2 邏輯運算符 33
2. 3. 3 按位運算符 34
2. 3. 4 關係運算符 34
2. 3. 5 等式運算符 35
2. 3. 6 縮減運算符 35
2. 3. 7 移位運算符 35
2. 3. 8 條件運算符和拼接運算符 36
2. 3. 9 運算符的優先權 37
2. 4 語句 37
2. 4. 1 賦值語句、結構說明語句、阻塞與非阻塞 38
2. 4. 2 條件語句 41
2. 4. 3 循環語句 43
2. 5 Vivado 初步 46
2. 5. 1 Vivado 獲取和安裝 47
2. 5. 2 Vivado 主界面 47
習題 50
第3 章 組合邏輯電路與Vivado 進階 51
3. 1 我的第一個工程———多數表決器 51
3. 1. 1 多數表決器的分析和邏輯實現 51
3. 1. 2 多數表決器的工程創建 52
3. 1. 3 多數表決器的Verilog HDL 源檔案創建 56
3. 1. 4 多數表決器的Verilog HDL 代碼實現及RTL 分析 58
3. 1. 5 綜合 59
3. 1. 6 約束 60
3. 1. 7 實現 62
3. 1. 8 仿真 63
3. 1. 9 編程和調試 65
3. 2 3 ̄8 解碼器設計和IP 核 70
3. 2. 1 解碼器的實現 70
3. 2. 2 解碼器IP 核生成 75
3. 3 調用IP 核實現多數表決器 78
3. 3. 1 使用74x138 實現多數表決器的設計 78
3. 3. 2 構建新工程並調用IP 核 78
習題 83
目 錄Ⅶ
第4 章 時序邏輯電路FPGA實現 84
4. 1 時鐘同步狀態機的設計 84
4. 1. 1 時鐘同步狀態機及其設計流程 84
4. 1. 2 時鐘同步狀態機設計方法構建序列發生器 86
4. 1. 3 狀態圖直接描述法實現序列發生器 90
4. 2 同步計數器74x163 的實現 94
4. 3 移位暫存器的實現和套用 97
4. 3. 1 74x194 的實現 97
4. 3. 2 使用74x194IP 核實現11001 序列發生器 100
習題 104
第5 章 FPGA基本實踐 105
5. 1 流水燈實踐 105
5. 1. 1 流水燈的關鍵設計 105
5. 1. 2 流水燈工程的Vivado 實現 106
5. 2 數碼管動態顯示實踐 111
5. 2. 1 數碼管動態顯示原理分析 111
5. 2. 2 數碼管動態顯示設計 112
5. 2. 3 數碼管動態顯示工程的Vivado 實現 113
5. 2. 4 數碼管動態顯示IP 核設計與實現 117
5. 2. 5 調用IP 核實現動態顯示 120
5. 3 VGA 顯示的實現 123
5. 3. 1 VGA 顯示基本原理 123
5. 3. 2 VGA 顯示設計與實現 125
習題 132
第6 章 FPGA綜合實踐 133
6. 1 電子秒表的設計與實現 133
6. 1. 1 按鍵消抖 133
6. 1. 2 秒表綜合設計 136
6. 2 UART 串列接口設計及通信實現 142
6. 2. 1 異步串列接口原理分析 142
6. 2. 2 波特率及其他時鐘信號發生模組設計 143
6. 2. 3 串列傳送程式設計 145
6. 2. 4 串列接收程式設計 148
6. 2. 5 串列通信頂層程式設計 152
6. 2. 6 串列通信功能測試 153
習題 155
Ⅷ Xilinx FPGA 原理與實踐———基於Vivado 和Verilog HDL
第7 章 FPGA 進階——XADC、BRAM原理及電壓表、示波器設計 156
7. 1 XADC 基本結構及暫存器 156
7. 1. 1 XADC 邏輯結構 156
7. 1. 2 XADC 對外連線說明 156
7. 1. 3 XADC 連線埠 159
7. 1. 4 XADC 狀態暫存器和控制暫存器 160
7. 1. 5 操作模式 166
7. 1. 6 XADC 操作時序 167
7. 2 套用XADC 實現多路電壓採集及顯示 168
7. 2. 1 生成XADC IP 核實例 168
7. 2. 2 使用XADC IP 核實現XADC 序列模式訪問模組 171
7. 2. 3 A/ D 序列採集和顯示實現 175
7. 2. 4 序列採集及顯示測試 179
7. 3 套用XADC 及BRAM 實現多通道示波器 181
7. 3. 1 塊存儲器BRAM 原理 181
7. 3. 2 塊記憶體生成IP 的使用和仿真驗證 186
7. 3. 3 多通道示波器的設計思路 192
7. 3. 4 顯示記憶體設計及其訪問模組構建及仿真 193
7. 3. 5 波形發生器模組設計及仿真 196
7. 3. 6 VGA 顯示驅動模組設計及仿真 202
7. 3. 7 加入邏輯分析儀模組及頂層模組實現 206
7. 3. 8 功能測試 209
習題 209
附錄 211
附錄A xc7a35tftg256 ̄1 引腳說明 211
附錄B 口袋實驗板資源 218
附錄C 實驗或課程設計教學安排 229
附錄D 分章節代碼匯總 230
附錄E A 型實驗板參考約束檔案 232
參考文獻 236