編輯推薦
Xilinx FPGA零基礎快速入門
基礎概念闡釋、闆級電路解析、豐富的Verilog例程講解
可配套量身定製的開發實驗平颱,理論和實踐相結閤
基於Xilinx公司的Spa rtan 6 FPGA器件,“理論+實踐”的學習方式。豐富的例程講解:基礎入門實例、基於FPGA片上資源的應用實例、綜閤進階實例。提供Xilirlx FPGA的一站式入門學習方案:基礎概念闡釋、闆級電路解析、開發工具安裝配置、豐富的Verilog例程講解。
內容簡介
《勇敢的芯伴你玩轉Xilinx FPGA/Xilinx公司大學計劃指定教材》使用Xilinx公司的Spartan 6 FPGA器件,由淺入深地**讀者從闆級設計、基礎入門實例、FPGA片內資源應用實例和綜閤進階實例等方麵,玩轉FPGA邏輯設計。《勇敢的芯伴你玩轉Xilinx FPGA/Xilinx公司大學計劃指定教材》基於特定的FPGA實驗平颱,既有足夠的理論知識深度作支撐,也有豐富的例程進行實踐學習,並且穿插著筆者多年FPGA學習和開發過程中的經驗和技巧。
無論對於希望快速掌握Verilog語言進行FPGA開發的初學者,還是希望快速掌握基於XilinxSpartan 6 FPGA進行開發的設計者,《勇敢的芯伴你玩轉Xilinx FPGA/Xilinx公司大學計劃指定教材》都是很好的選擇。
作者簡介
吳厚航,[網名:特權同學]有近10年的FPGA工程實踐經曆,擅長記錄、分析並總結FPGA開發中的經驗與技巧,也非常樂於分享。活躍於各大電子技術網站的FPGA社區或版塊,多年來筆耕不輟、風雨無阻,不斷地發錶FPGA相關文章,文章總點擊量超過300萬次。著有多本FPGA技術相關圖書,其詼諧的文字、貼近讀者實際需求的知識點與經驗技巧分享,贏得瞭廣大讀者的一緻認可。
內頁插圖
目錄
第1章 FPGA開發入門
1.1 FPGA基礎入門
1.2 FPGA的優勢在哪裏
1.3 FPGA應用領域
1.4 FPGA開發流程
第2章 實驗平颱“勇敢的芯”闆級電路詳解
2.1 闆級電路整體架構
2.2 電源電路
2.3 復位與時鍾電路
2.3.1 關於FPGA器件的時鍾
2.3.2 關於FPGA器件的復位
2.3.3 實驗平颱電路解析
2.4 FPGA下載配置電路
2.5 SRAM接口電路
2.6 ADC/DAC芯片電路
2.7 UART接口電路
2.8 RTC接口電路
2.9 導航按鍵電路
2.10 VGA顯示接口電路
2.11 蜂鳴器、數碼管、流水燈、撥碼開關電路
2.12 超聲波接口、外擴LCD接口電路
第3章 邏輯設計基礎
3.1 0和1——精彩世界由此開始
3.2 錶麵現象揭秘——邏輯關係
3.3 內裏本質探索——器件結構
第4章 軟件安裝與配置
4.1 ISE 14.6 軟件安裝
4.1.1 安裝文件復製與解壓縮
4.1.2 虛擬光驅或解壓縮安裝
4.1.3 ISE 14.6 安裝
4.2 ModelsimSE 10.1 安裝
4.2.1 安裝文件復製與解壓縮
4.2.2 Modelsim SE安裝
4.3 文本編輯器Notepad++安裝
4.4 ISE中使用Notepad++的關聯設置
4.5 ISE與Modelsim聯閤仿真庫編譯
4.5.1 操作係統確認
4.5.2 Xilinx庫編譯
4.6 ISE與Modelsim聯閤仿真關聯設置
4.6.1 modelsim.ini內容復製與粘貼
4.6.2 ISE設置
4.7 Platform Cable USB驅動安裝
4.8 串口芯片驅動安裝
4.8.1 驅動安裝
4.8.2 設備識彆
第5章 基於仿真的第一個工程實例
5.1 新建工程
5.2 Verilog源碼文件創建與編輯
5.2.1 Verilog源碼文件創建
5.2.2 Verilog源碼文件編輯
5.3 Verilog語法檢查
5.4 Modelsim仿真驗證
5.4.1 ISE基本設置
5.4.2 測試腳本創建與編輯
5.4.3 調用Modelsim仿真
第6章 基於闆級調試的第二個工程實例
6.1 PWM蜂鳴器驅動之功能概述
6.1.1 功能概述
6.1.2 設計源碼
6.2 PWM蜂鳴器驅動之引腳分配
……
第7章 基礎入門實例
第8章 FPGA片內資源應用實例
第9章 綜閤進階實例
前言/序言
FPGA技術在當前的電子設計領域越來越火熱,雖然它的成本還是高高在上,但是它給電子係統所帶來的不可限量的速度和帶寬以及在靈活性、小型性方麵的優勢,越來越為對性能要求高、偏重定製化需求的開發者所青睞。因此,越來越多的電子工程師和電子專業在校學生希望能夠掌握這門技術。而一門電子技能的掌握,單憑幾本初級入門教材是很睏難的。筆者結閤自身的學習經曆,為廣大學習者量身打造瞭基於低成本、高性價比的XilinxSpartan 6 FPGA器件的硬件開發學習平颱。基於這個平颱,配套本教材的各種基礎概念闡釋和例程講解,相信可以幫助讀者快速掌握這一門新技術。
本書共分為以下9章。
第1章是基礎中的基礎,講述可編程器件的一些基本概念及其主要應用領域、相比於傳統技術的優勢和開發流程。
第2章從FPGA開發平颱的電路闆設計人手,介紹FPGA闆級硬件電路設計要點,以及本書配套開發平颱的周邊外圍電路的設計。
第3章從最基礎的O和1開始迴顧數字電路的基礎,也會深入探討讀者所關心的可編程器件的內部架構和原理。
第4章講述開發環境的搭建,包括Xilinx FPGA集成開發環境ISE、仿真工具Modelsim、文本編輯器Notepad++以及下載器驅動和UART驅動安裝,幫助讀者快速搞定學習路上遇到的最棘手的“軟”問題。
第5章和第6章完成最基本的工程創建、語法檢查、仿真驗證以及編譯,甚至在綫闆級調試和代碼固化,帶領學習者初步掌握基於Xilinx ISE的FPGA開發流程。
第7章手把手帶領讀者完成12個最基本的入門實例。
第8章用6個實例幫助讀者熟悉FPGA除瞭邏輯資源以外的豐富資源,如PLL,可配置為ROM、RAM、F1FO的內嵌存儲器,在綫邏輯分析儀cnpScope。
第9章的15個例程,是對前麵一些例程的集成整閤,力圖通過大量例程實踐,幫助讀者熟練掌握FPGA的基本開發設計。
本書既有對基礎理論知識專門的講解,也有非常詳細的實例演練和講解,更多的是在實踐中傳遞實用的設計技巧和方法,非常適閤初學者。吳厚航(網名:特權同學)
2017年8月於上海
深入淺齣,玩轉數字世界:Xilinx FPGA 實踐指南 本書並非一本教材,而是一本專注於Xilinx FPGA實際應用與開發經驗分享的實踐指南。 它旨在帶領讀者跳齣理論的束縛,走進真實的硬件設計世界,通過一係列精心設計的項目和深入的解析,讓您真正掌握Xilinx FPGA的強大功能,並將其靈活應用於各種創意和實際需求。如果您渴望將腦海中的數字邏輯構想變為觸手可及的硬件,如果您希望在FPGA開發領域獲得更深入、更實用的技能,那麼這本書將是您不可或缺的夥伴。 本書的獨特之處在於,它聚焦於“玩轉”——一種積極主動、充滿探索精神的學習方式。 我們不隻是在介紹枯燥的指令和概念,而是通過大量生動、有趣的實例,引導您親手去實現,去體驗,去解決在實際開發中可能遇到的各種問題。從最基礎的數字邏輯門到復雜的通信協議,從簡單的LED閃爍到精密的圖像處理,本書將帶您一步步構建齣令人驚嘆的數字係統。 為何選擇Xilinx FPGA? Xilinx作為FPGA領域的領導者,其産品擁有業界領先的性能、豐富的功能和成熟的生態係統。從入門級的Artix-7到高性能的Virtex UltraScale+,Xilinx提供瞭覆蓋各種應用場景的FPGA器件。本書將以Xilinx的開發工具鏈(如Vivado)為核心,深入講解其使用技巧,讓您能夠高效地完成設計、綜閤、實現和下載的全過程。我們不局限於某一個具體的器件型號,而是側重於通用的設計思想和方法,讓您能夠靈活應對不同Xilinx FPGA産品的開發需求。 本書的內容絕不枯燥,而是充滿瞭探索的樂趣。 我們將從最基礎的數字電路原理入手,但不會止步於理論的羅列。我們將立即將這些理論轉化為實際的FPGA設計,例如,如何使用Verilog或VHDL語言來構建一個基本的加法器,如何在FPGA上實現一個移位寄存器,以及如何通過時序分析來優化您的設計。這些基礎的構建模塊將為後續更復雜的項目打下堅實的基礎。 本書的核心價值在於其豐富的實踐項目。 我們精心策劃瞭一係列從易到難的項目,每一個項目都代錶瞭FPGA在實際應用中的一個重要方嚮。 入門級項目: 您將學習如何控製LED的閃爍模式,如何設計一個簡單的交通燈控製器,以及如何利用按鈕和數碼管來創建交互式應用。這些項目將幫助您熟悉FPGA的基本輸入輸齣、狀態機設計以及時序控製。 中級項目: 我們將深入到更具挑戰性的領域。例如,您將學習如何設計一個簡單的SPI通信接口,用於與外部傳感器或存儲器進行數據交換。您還將體驗如何實現一個UART(通用異步接收/發送)控製器,為FPGA與PC機之間的通信奠定基礎。此外,圖像處理的入門也將從這裏開始,您將學習如何捕捉和處理簡單的圖像數據,例如邊緣檢測或灰度化。 高級項目: 對於希望挑戰自我的讀者,本書提供瞭更加復雜的項目。例如,您將學習如何實現一個基本的DDR內存控製器,這對於需要處理大量數據的應用至關重要。我們還將探索更高級的通信協議,如I2C,並展示如何將其應用於實際的係統中。此外,您將有機會接觸到音頻處理或視頻信號的生成與處理,這些都是FPGA在嵌入式係統和多媒體領域的重要應用。 在每一個項目中,我們都不僅僅給齣代碼,更重要的是闡述設計思路、遇到的挑戰以及解決問題的過程。 您將學會如何將抽象的需求轉化為具體的邏輯設計,如何進行模塊化設計以提高代碼的可讀性和可維護性,以及如何有效地進行仿真和調試。調試是FPGA開發中最具挑戰但也最有價值的環節之一,本書將分享大量的實用調試技巧和工具,幫助您快速定位和解決設計中的錯誤。 本書的內容涵蓋瞭FPGA開發的關鍵技術和概念: 硬件描述語言 (HDL): 無論是Verilog還是VHDL,本書都將提供清晰的講解和豐富的實例,讓您能夠熟練掌握這兩種語言在FPGA設計中的應用。我們將側重於如何編寫高效、可綜閤的代碼。 邏輯綜閤與實現: 您將瞭解邏輯綜閤的過程,以及如何通過約束文件的設置來指導綜閤和布局布綫工具,以滿足時序和麵積的要求。 時序分析: 理解時序對於FPGA設計的成功至關重要。本書將深入講解建立時間和保持時間的概念,以及如何利用Xilinx的工具進行時序約束和優化。 IP核的使用: Xilinx提供瞭豐富的IP核庫,涵蓋瞭各種常用功能,如DSP、PCIe、內存控製器等。本書將指導您如何有效地查找、配置和集成這些IP核,大大加速您的開發進程。 嵌入式係統設計: 對於一些項目,我們將介紹如何將MicroBlaze等軟核處理器集成到FPGA設計中,構建一個完整的嵌入式係統,從而實現更復雜的軟件控製和算法處理。 高級數字信號處理 (DSP) 應用: FPGA在DSP領域具有得天獨厚的優勢。本書將介紹一些基礎的DSP算法,如FIR濾波器、FFT等,並展示如何在FPGA上實現它們。 通信協議詳解: 從基本的串行通信到更高級的並行總綫,本書將深入解析各種通信協議的原理和FPGA實現方法。 本書的語言風格力求通俗易懂,即使是初學者也能快速入門。 我們避免使用過於專業和晦澀的術語,而是用清晰的比喻和直觀的圖示來解釋復雜的概念。同時,對於有一定基礎的讀者,本書也將提供更深入的探討和更具挑戰性的內容,幫助您不斷提升自己的技能水平。 我們相信,學習FPGA不應該是一件孤立的苦差事,而應該是一場充滿發現和創造的旅程。 本書的目標是激發您對數字世界的無限好奇心,培養您解決實際問題的能力,並最終讓您能夠自信地在FPGA開發領域闖齣一片天地。無論您是來自學術界,還是工業界,亦或是純粹的技術愛好者,隻要您對硬件設計充滿熱情,這本書都將是您邁嚮成功的重要一步。 本書所提供的所有代碼和設計文件都經過精心測試,確保其可用性。 我們鼓勵您在閱讀的過程中,親手去敲擊代碼,去修改參數,去觀察結果,通過實踐來加深理解。我們還會在書中提供一些“挑戰”或者“思考題”,引導您去探索更深層次的設計技巧和應用場景。 總而言之,這本書將帶您走進一個充滿無限可能的數字世界。 它不是一個簡單的知識堆砌,而是一本陪伴您成長、激發您創造力的實踐寶典。在這裏,您將學會如何“想”,如何“做”,以及如何“玩轉”Xilinx FPGA,用您的智慧和雙手,創造齣屬於您自己的數字奇跡。