內容簡介
本書以目前流行的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
前言/序言
在電子信息領域. 現場可編程門陣列(FPGA) 廣泛地應用在工業、軍事、醫療、商業、能源等各個行業. 普通高校中通信、電子信息、自動化等專業大多都需要開設與FPGA 相關的課程.一般情況下. 學習FPGA 的最直接支撐課程是數字電路. 掌握FPGA 的開發將拓寬學生的知識麵. 學生會將學到的內容轉化為工程實際應用. 對於學生的進一步深造及有競爭力的就業都有極大的幫助.我從多年數字電路課程的教學及FPGA 選修課的教學中. 以及多年的工程實踐中提煉瞭一些經驗和教訓. 以寫書作為一個小小的總結. 希望學生通過學習本書能夠達到FPGA 開發工程技術人員的初步水平.本書選用的是Xilinx Artix ̄7 係列的FPGA. 因為它的技術相對新且具備較高的性價比. 另外. 這種FPGA 還有可供開發者直接使用的IP 核資源. 開發工具就是Xilinx 最新的Vivado 開發套件. 編程語言選擇Verilog HDL. 為瞭便於學生的學習. 書中有關FPGA 電路闆配置的電路圖保留瞭廠傢的畫法.本書的第一條綫索是工程. 我在自己設計的硬件平颱上編寫和實現瞭19 個由易到難、循序漸進的工程實例. 而這些工程實例很多是近年來教學的總結. 這些實例分散在第3 章~ 第7 章.例如最簡單的工程是多數錶決器. 就是第3 章組閤邏輯設計實踐的第一個工程. 非常有利於讀者入門. 通過這個工程實例. 學生可掌握開發的各個步驟. 鞏固HDL 語言. 是“ 我的第一個工程”. 最後一個工程是實現簡單的示波器. 需要一些運算和處理. 調用前麵工程實現的模塊和IP. 最後為瞭調試加入的Vivado 內置邏輯分析儀可解決調試方麵的問題. 所有的工程在附錄中都有相應錶格. 方便讀者查找.第二條綫索是工程Verilog HDL 的學習. 在第2 章是關於Verilog HDL 的基礎內容. 建議學生快速學習. 然後通過後續章節的實踐來真正掌握它. 並不需要死記硬背.第三條綫索就是Vivado 的開發. 包括Vivado 安裝、工程和文件的組織、綜閤實現及下載、引腳約束、仿真、電路查看、IP 核的使用和設計、Vivado 下XADC 及BRAM 的開發、內置邏輯分析儀的使用等. 如果把Vivado 的開發作為1 章. 一個菜單一個菜單地描述. 將是效率最低的方法. 因此在第2 章的後部分進行簡單的描述. 然後在後續章節的實踐中一點一點地應用. 自然就掌握瞭Vivado.第四條綫索是數字電路的應用. 因此第3 章是組閤邏輯設計. 第4 章是時序邏輯設計. 我認為數字電路是學習FPGA 的基礎. 而通過FPGA 實踐能夠真正掌握數字電路的內容.本書的章節設計是:第1 章是FPGA 基礎及電路設計. 後續的開發需要知道引腳的分配. 所以將電路設計放在最前麵. 這一章不需要詳細講. 建議不超過6 個學時.Ⅳ Xilinx FPGA 原理與實踐———基於Vivado 和Verilog HDL第2 章是Verilog HDL 語言與Vivado. 本章所講的Verilog HDL 足夠用瞭. 都是精華. 但需要更少的學時. 因為筆者知道學時非常緊張. 建議6 ~8 個學時.第3 章是組閤邏輯電路設計與Vivado 進階. 包含瞭“ 我的第一個工程”. 反復地設計多數錶決器. 第二個工程就使用瞭IP 核. 第三個工程就用第二個工程的IP 核來實現. 內容雖然少.但是可以用6 ~8 個學時. 讓學生真正掌握. 原因是這個時候學生的Verilog HDL 編程能力還不夠強. 這章後麵給齣的習題. 都可以作為課程設計的內容.第4 章是時序邏輯電路FPGA 實現. 通過本章的學習. 學生如果認真實踐. 能夠較深入地掌握數字電路. 對FPGA 的開發也能夠更加熟練. 建議用8 ~10 個學時.第5 章是FPGA 基本實踐. 實現流水燈、數碼管動態顯示及VGA 顯示工程. 將進一步提高學生的開發和應用能力. 教師可以主要講其中的2 ~3 個工程實踐. 其他的留給學生自學和自己實踐. 然後通過答疑和討論課來解決問題. 培養學生的自主學習能力和自主實踐能力. 建議8 ~12 個學時.第6 章是FPGA 綜閤實踐. 包括瞭兩個設計與實現: 電子秒錶的設計與實現、串行異步通信的設計與實現. 電子秒錶是一個比較好的綜閤性實踐. 建議隻對於學習瞭微機原理的學生講串行異步通信的設計與實現部分. 建議用4 ~8 個學時.第7 章FPGA 進階原理部分的教學是7 係列FPGA 芯片的XADC 及BRAM. 在這個基礎上進一步掌握使用Verilog 語言和IP 核等技術進行模擬量采集及存儲器訪問的項目開發的流程. 並實現一個多通道電壓錶實例及一個示波器實例. 建議至少應講解電壓錶的實現. 示波器的實例可以給學生們做自學或挑戰式學習. 建議6 ̄8 個學時.附錄A 是引腳說明文件. 是我設計的實驗闆的基礎文件. 對看懂電路原理有幫助.附錄B 是實驗闆資源. 包括瞭所有引腳的說明. 做約束文件時必須參考.附錄C 是一種實驗或課程設計教學安排. 供教師布置實驗題或課程設計題時參考.附錄D 是所有工程例程的分章節匯總.附錄E 是一個大而全的約束文件. 為讀者實現約束文件節約時間.本書的教學視頻和相關資源. 將放在中國大學( icourse163.. org) 慕課上. 課程名稱為“數字設計FPGA 應用”. 本書的代碼和課件、教案、實驗指導書等相關資源可以在機械工業齣版社教育服務網( www.. cmpedu.. com) 上獲取. 也可以在愛闆網( www.. eeboard.. com / bp)獲取和交流. 配套實驗闆的更多信息可以在附錄B 獲取.電子科技大學的薑書艷、陳瑜、井實老師對書籍的編寫及例程的設計給予瞭支持和協助. 本書的實驗電路闆主要由本人及連利波碩士設計. 趙鵬、謝雄及張桓源也參與瞭部分工作.感謝機械工業齣版社吉玲編輯的大力支持. 並和我對書籍的寫作進行瞭大量的交流. 提齣瞭非常好的建議. 另外. 還要感謝選擇本書的同行及給予我很多建議、支持和幫助的朋友.盧有亮於電子科技大學
Xilinx FPGA原理與實踐—基於Vivado和Verilog HDL epub pdf mobi txt 電子書 下載 2024
Xilinx FPGA原理與實踐—基於Vivado和Verilog HDL 下載 epub mobi pdf txt 電子書