-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

零基礎學FPGA設計——理解硬件編程思想

( 簡體 字)
作者:杜勇類別:1. -> 電子工程 -> FPGA
譯者:
出版社:電子工業出版社零基礎學FPGA設計——理解硬件編程思想 3dWoo書號: 56259
詢問書籍請說出此書號!

有庫存
NT售價: 440

出版日:4/1/2023
頁數:304
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121452154
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

為什么要寫這本書
時光如水,流逝悄無聲息,從初次接觸FPGA開始,不知不覺已二十余年。十余年前,我開始寫FPGA方面的著作,第一本《FPGA/VHDL設計入門與進階》本是希望為菜鳥寫本入門書籍,現在翻看當時的文字,感覺自己當時也不過是有些自以為是的超級菜鳥而已。后來寫通信技術FPGA設計方面的書籍,本意不過是將自己在設計過程中頗有心得的設計經驗公之于眾,為在通信技術FPGA設計領域的工程師提供有益的參考,所幸確實幫助到不少工程師和同學,與讀者交流的郵件讓我備感欣慰。
自2011年開始編寫《數字濾波器的MATLAB與FPGA實現》(“數字通信技術的FPGA實現系列”圖書的第一本)后,我先后完成《數字濾波器的MATLAB與FPGA實現》《數字通信同步技術的MATLAB與FPGA實現》《數字調制解調技術的MATLAB與FPGA實現》三本圖書的編寫。這三本圖書(簡稱Xilinx/VHDL版)是基于AMD公司的FPGA器件和VHDL語言編寫的,后來又基于Intel公司的FPGA和Verilog HDL語言改寫了上面三本圖書(簡稱Altera/Verilog版)。由于載波鎖相環技術難度大且應用較為廣泛,我又專門針對這個專題編寫了《鎖相環技術原理及FPGA實現》一書。由于“數字通信技術的FPGA實現系列”圖書專業性較強,要同時理解一大堆繁雜的公式和FPGA設計知識,無疑是一件極具挑戰的事。為此,我又先后出版關于數字信號處理技術更為基礎的著作《Xilinx FPGA數字信號處理設計——基礎版》《Intel FPGA數字信號處理設計——基礎版》。
數字信號處理技術理論性強,FPGA技術入門難,要將兩者有機結合完成FPGA數字信號處理設計,對工程師的要求很高。在收到的讀者交流郵件中,有很大一部分讀者其實在咨詢FPGA設計的基礎知識。九層之臺,起于累土,學習不可操之過急。先打好基礎,掌握FPGA的基本設計方法,熟悉FPGA設計流程,透徹理解FPGA設計所需的硬件思想,再加上數字信號處理的專業知識,才可以自由地完成數字信號處理的FPGA設計。
雖然市面上關于 FPGA 入門的書籍多如繁星,但具有原創性和鮮明特性的書籍還比較少。
何必又要寫入門級別的書籍?無它,只是想將自己對FPGA設計的一些獨特的理解和心得公之于眾,為讀者提供有益參考。既然是心得,那么書中的實例和書中對FPGA設計方法的理解都有很強的原創性,讀者不用擔心會看到過多與其他圖書明顯雷同的內容。
所謂集腋成裘,聚沙成塔。任何技能或技術都不是一蹴而就的,掌握它都需要讀者長期的練習和思考,如江湖油翁,神箭穿楊。
如果有一本好書,能夠講解透徹、思路清晰、語言流暢,作者剛好又是講授相關課程的老師,且是在行業混跡多年的工程師,相信會加快初學者成裘成塔的速度。
本書的內容安排
本書分為基礎篇、初識篇、入門篇和提高篇,共16章。
基礎篇包括必備的數字邏輯電路知識、可編程邏輯器件基礎及開發環境的安裝方法,主要對FPGA設計所需要了解的數字電路、模擬電路知識進行簡單介紹,讀者不用再翻閱《數字電路技術》《模擬電路技術》等書籍。
初識篇正式開啟FPGA程序設計的學習之旅。首先詳細介紹經典的“流水燈”實例,手把手講解FPGA的全設計流程。接著從組合邏輯電路講起,感受Verilog HDL“繪制”電路的設計思想。正如所有紛繁復雜的數字產品本質上都是由“0”和“1”組成的數字游戲,掌握FPGA的靈魂和精華,就打開了絢爛至極的FPGA設計技術之門。D觸發器就是FPGA的靈魂,計數器就是FPGA的精華。幾乎所有的FPGA語法結構都可以套用描述D觸發器的語法結構,幾乎所有的FPGA時序電路都可以分解為功能單一的計數器。D觸發器雖然簡單,計數器僅需三五行代碼即可描述,但FPGA工程師的價值正是利用這些簡單的基本部件,融合設計者的思想,形成滿足用戶需求的功能電路。理解硬件編程的思想,需要從透徹理解D觸發器和計數器開始。在初識篇里,除了理解D觸發器和計數器,還需要掌握Verilog HDL“并行語句”的概念,從而悟透Verilog HDL與C語言的本質區別。
入門篇包括對秒表電路、密碼鎖電路、電子琴電路、串口通信電路及狀態機的討論。這些電路模塊看似功能簡單,如何能夠采用簡潔、規范、高效的Verilog HDL語言完成電路的設計,需要設計者熟知FPGA的設計規則。從網絡上找到類似功能電路的Verilog HDL代碼很容易。由于這些電路一般不需要用到IP核,全是用Verilog HDL實現的,很容易實現代碼移植,只需約束相應的引腳,了解電路頂層接口的信號功能,即可將編譯后的代碼下載到開發板上驗證。能夠在開發板上成功驗證功能電路,實現正確的秒表、密碼鎖、電子琴、串口通信功能無疑會讓人感到非常高興。但對于FPGA初學者來講,驗證電路功能并不是最重要的,重要的是理解代碼的設計思想。要在不參考任何代碼的情況下,從頭開始,在頭腦中形成具體的電路模型,指間隨心流淌Verilog HDL代碼,最終完成正確的功能電路設計卻需要艱苦卓絕的努力。唯有經過如此的練習,才能真正理解這些功能電路的設計方法。如果能夠達到這樣的狀態,說明你已跨進FPGA設計的大門了。狀態機一直是數字電路技術課程中的重要內容之一,雖然狀態機也是一種比較常用的FPGA設計方式,但是作者仍然不推薦采用狀態機的方式描述電路。第12章闡述了狀態機的設計方法,并對狀態機描述電路的利弊進行了分析。
提高篇包括時序約束、IP核設計、在線邏輯分析儀調試和常用的FPGA設計技巧等內容。當FPGA電路系統工作頻率較高時,時序約束的重要性就凸顯出來,設計出滿足時序要求的Verilog HDL程序,首先要深刻理解FPGA程序運行速度的極限。IP核是經過驗證的成熟設計模塊,是一種提高設計效率的極佳設計方式,何況FPGA開發環境提供了很多免費的IP核。要解決FPGA工程師和硬件制版工程師之間的爭端,弄清到底是FPGA程序的問題還是硬件電路板的問題,通常需要對FPGA程序進行在線調試。將FPGA程序下載到目標器件上觀察電路的運行情況,在線邏輯分析儀提供了很好的調試手段。本書最后介紹了一些常用的FPGA設計技巧,如默認引腳狀態設置、復位信號處理方法、時鐘使能信號使用方法等,并以浮點乘法器為例討論了FPGA電路的設計技巧,希望給讀者更多有益的參考。
關于FPGA開發平臺的說明
眾所周知,目前AMD公司(2022年收購了Xilinx公司)和Intel公司(2015年收購了Altera公司)的FPGA產品占據全球90%以上的FPGA市場。可以說,在一定程度上正是由于兩家公司的相互競爭,才有力地推動了FPGA技術的不斷發展。
但是,近年來國際上的芯片產業呈現出異乎尋常的競爭發展態勢,尤其國際上FPGA主要生產廠商的芯片在國內的售價持續上漲,且供貨渠道不暢,很大程度上影響了本書對開發平臺的選擇。本書定位于FPGA初學者,在選用開發平臺時主要考慮開發板的成本及開發軟件的易用性。近年來,國產FPGA的發展勢頭十分迅猛,綜合考慮后,本書選用了高云FPGA作為本書的開發平臺。
雖然硬件描述語言(HDL)的編譯及綜合環境可以采用第三方公司開發的產品,如ModelSim、Synplify等,但FPGA的物理實現必須采用各自公司開發的軟件平臺,無法通用。例如,AMD公司的FPGA使用Vivado和ISE系列開發工具,Intel公司的FPGA使用Quartus系列開發工具,高云公司的FPGA使用云源軟件。與FPGA的開發工具類似,HDL也存在兩種難以取舍的選擇:VHDL和Verilog HDL。
學習FPGA開發技術的難點之一在于開發工具的使用,AMD公司、Intel公司,以及各家國產FPGA公司,為了適應不斷更新的開發需求,主要是適應不斷推出的新型FPGA器件,開發工具的版本更新速度很快。開發工具的更新除了對開發環境本身進行完善,還需要不斷加強對新上市的FPGA器件的支持。本書所有實例均采用云源軟件進行編寫。相對于Quartus、ISE、Vivado而言,云源軟件的功能和界面都更為簡潔,更適于初學者學習。
應當如何選擇HDL呢?其實,對于有志于從事FPGA開發的技術人員,選擇哪種HDL并不重要,因為兩種HDL具有很多相似之處,精通一種HDL后,再學習另一種HDL也不是一件困難的事。通常來講,可以根據周圍同事、朋友、同學或公司的使用情況來選擇HDL,這樣在學習過程中,可以很方便地找到能夠給你指點迷津的專業人士,從而加快學習進度。
本書采用高云公司的FPGA作為開發平臺,采用Gowin_v1.9.8.07作為開發工具,采用Verilog HDL作為設計語言,使用ModelSim進行仿真測試。由于Verilog HDL并不依賴于具體的FPGA器件,因此本書中的Verilog HDL程序可以很方便地移植到AMD或Intel公司的FPGA上。如果Verilog HDL程序中使用了IP核,由于不同公司的IP核不能通用,因此需要根據IP核的參數,在另外一個平臺上重新生成IP核,或重新編寫Verilog HDL程序。
有人曾經說過,技術只是一個工具,關鍵在于思想。將這句話套用過來,對于本書來講,具體的開發平臺和HDL只是實現技術的工具,關鍵在于設計的思路和方法。讀者完全沒有必要過于在意開發平臺的差別,只要掌握了設計思路和方法,加上讀者已經具備的FPGA開發經驗,采用任何一種FPGA都可以很快地設計出滿足用戶需求的產品。
如何使用本書
本書是專為FPGA初學者編寫的入門級圖書。一般來講,FPGA設計者同時需要熟悉Verilog HDL語法,熟悉FPGA開發環境(如 Quartus II、ISE、Vivado、云源軟件),熟悉數字電路基礎知識。由于FPGA需要綜合應用這些知識,加之Verilog HDL與C語言(工科學生一般首先接觸到C語言,先入為主地形成了順序編程思維)又存在本質的區別,因此初學者總是感覺FPGA設計入門比較難。本書的基礎篇對FPGA設計所需的基礎知識進行了簡要介紹,后面介紹FPGA設計時,采用實例設計的方法,將云源軟件 和Verilog HDL語法融合在一起進行討論,并在實例過程中,詳細、深刻、反復、多角度地討論一些較難理解的FPGA設計概念,讀者要細心體會這些簡單的實例,理解FPGA設計的本質是設計電路,理解FPGA并行語句的概念,理解硬件編程思想。
為便于讀者學習,本書的絕大多數實例均可以在CGD100開發板上進行驗證。由于本書的實例并不復雜,大多數實例沒有用到IP核,因此讀者可以很容易地將本書的實例移植到其他開發板上進行驗證,只需修改FPGA工程的目標FPGA型號,修改頂層文件信號端口對應的引腳約束即可。
致謝
有人說,每個人都有他存在的使命,如果迷失了使命,就失去了存在的價值。不只是每個人,每件物品也都有其存在的使命。對于一本圖書來講,其存在的使命就是被閱讀,并給讀者帶來收獲。如果本書能對讀者的工作和學習有所幫助,將給作者莫大的欣慰。
在本書的編寫過程中,作者得到了高云半導體公司的大力支持和幫助,在此表示衷心的感謝。該書配套的FPGA教學開發板由武漢易思達科技有限公司和米恩工作室聯合研制,在此一并表示感謝。作者查閱了大量的資料,在此對資料的作者及提供者表示衷心的感謝。
FPGA技術博大精深,本書遠沒有討論完FPGA設計的全部內容,僅針對FPGA初學者需要掌握的知識展開了詳細的討論。學習的過程充滿艱辛、彷徨、痛苦和快樂,深入理解基本概念,透徹理解硬件設計思想,不急不躁,一定可以體會到FPGA設計的美妙。
由于作者水平有限,書中難免會存在不足和疏漏之處,敬請廣大讀者批評指正。歡迎讀者就相關技術問題與作者進行交流,或對本書提出改進意見及建議。本書的配套資源包含完整的Verilog HDL實例工程代碼。讀者可以關注作者的公眾號“杜勇FPGA”免費下載程序資料及開發環境,關注B站UP主“杜勇FPGA”免費觀看配套教學視頻。如果需要本書配套的CGD100開發板,請到官方網店購買。

杜 勇
2022年11月
內容簡介:

本書是針對FPGA初學者編著的入門級圖書,以高云公司的FPGA和Verilog HDL為開發平臺,詳細闡述FPGA設計所需的基礎知識、基本語法、設計流程、設計技巧,全面、細致、深刻地剖析了Verilog HDL與C語言等傳統順序語言的本質區別,使讀者通過簡單的實例逐步理解FPGA的硬件設計思想,實現快速掌握FPGA設計方法的目的。本書思路清晰、語言流暢、分析透徹,在簡明闡述設計方法的基礎上,重點辨析讀者易于與常規順序語言混淆的概念,力求使讀者在較短的時間內理解硬件編程思想,掌握FPGA設計方法。
目錄:

第一篇 基礎篇
第1章 必備的數字邏輯電路知識 3
1.1 數字邏輯和邏輯電平 3
1.1.1 模擬器件構成的數字電路 3
1.1.2 TTL反相器電路 4
1.1.3 現實中的數字信號波形 5
1.1.4 了解常用的邏輯電平 6
1.2 布爾代數 7
1.2.1 布爾和幾個基本運算規則 7
1.2.2 常用的布爾代數法則 8
1.3 組合邏輯電路基礎 9
1.3.1 組合邏輯電路的表示方法 9
1.3.2 為什么會產生競爭冒險 10
1.4 時序邏輯電路基礎 11
1.4.1 時序邏輯電路的結構 11
1.4.2 D觸發器的工作波形 12
1.4.3 計數器與寄存器電路 13
1.5 小結 16
第2章 可編程邏輯器件基礎 17
2.1 可編程邏輯器件的歷史 17
2.1.1 PROM是可編程邏輯器件 17
2.1.2 從PROM到GAL 19
2.1.3 從SPLD到CPLD 21
2.1.4 FPGA的時代 22
2.2 FPGA的發展趨勢 24
2.3 FPGA的結構 26
2.4 FPGA與其他處理平臺的比較 28
2.4.1 ASIC、DSP、ARM的特點 29
2.4.2 FPGA的特點及優勢 30
2.4.3 FPGA與CPLD的區別 31
2.5 工程中如何選擇FPGA器件 31
2.6 小結 32
第3章 準備好開發環境 33
3.1 安裝FPGA開發環境 33
3.1.1 安裝高云云源軟件 33
3.1.2 安裝ModelSim軟件 35
3.2 開發平臺CGD100簡介 38
3.3 Verilog HDL基本語法 39
3.3.1 Verilog HDL的程序結構 39
3.3.2 數據類型及基本運算符 42
3.3.3 運算符優先級及關鍵詞 44
3.3.4 賦值語句與塊語句 44
3.3.5 條件語句和分支語句 47
3.4 小結 48
第二篇 初識篇
第4章 FPGA設計流程—LED流水燈電路 51
4.1 FPGA設計流程 51
4.2 流水燈設計實例要求 54
4.3 讀懂電路原理圖 55
4.4 流水燈的設計輸入 57
4.4.1 建立FPGA工程 57
4.4.2 Verilog HDL程序輸入 59
4.5 程序文件下載 62
4.6 小結 64
第5章 從組合邏輯電路學起 65
5.1 從最簡單的與非門電路開始 65
5.1.1 調用門級結構描述與非門 65
5.1.2 二合一的命名原則 66
5.1.3 用門級電路搭建一個投票電路 67
5.2 設計復雜一點的投票電路 68
5.2.1 門電路設計方法的短板 68
5.2.2 利用assign語句完成門電路功能 69
5.2.3 常用的if…else語句 71
5.2.4 reg與wire的用法區別 73
5.2.5 記住“<=”與“=”賦值的規則 74
5.2.6 非常重要的概念—信號位寬 75
5.2.7 行為級建模的5人投票電路 75
5.3 ModelSim仿真電路功能 76
5.3.1 4線-2線編碼器設計 77
5.3.2 建立ModelSim工程 78
5.3.3 設計測試激勵文件 79
5.3.4 查看ModelSim仿真波形 82
5.4 典型組合邏輯電路Verilog HDL設計 84
5.4.1 8421BCD編碼器電路 85
5.4.2 8線-3線優先編碼器電路 86
5.4.3 74LS138譯碼器電路 88
5.4.4 與if…else語句齊名的case語句 90
5.4.5 數據分配器與數據選擇器電路 91
5.5 數碼管靜態顯示電路設計 93
5.5.1 數碼管的基本工作原理 93
5.5.2 實例需求及電路原理分析 94
5.5.3 數碼管顯示電路Verilog HDL設計 95
5.5.4 板載測試 97
5.6 小結 98
第6章 時序邏輯電路的靈魂—D觸發器 101
6.1 深入理解D觸發器 101
6.1.1 D觸發器產生一個時鐘周期的延時 101
6.1.2 D觸發器能工作的最高時鐘頻率分析 102
6.2 D觸發器的描述方法 104
6.2.1 單個D觸發器的Verilog HDL設計 104
6.2.2 異步復位的D觸發器 106
6.2.3 同步復位的D觸發器 108
6.2.4 時鐘使能的D觸發器 109
6.2.5 D觸發器的ModelSim仿真 111
6.2.6 其他形式的D觸發器 112
6.3 初試牛刀—邊沿檢測電路設計 113
6.3.1 邊沿檢測電路的功能描述 113
6.3.2 邊沿檢測電路的Verilog HDL設計 114
6.3.3 改進的邊沿檢測電路 115
6.4 連續序列檢測電路—邊沿檢測電路的升級 116
6.4.1 連續序列檢測電路設計 116
6.4.2 分析Verilog HDL并行語句 118
6.4.3 再論“<=”與“=”賦值 119
6.4.4 序列檢測電路的ModelSim仿真 121
6.5 任意序列檢測器—感受D觸發器的強大 124
6.5.1 完成飲料質量檢測電路功能設計 124
6.5.2 優化檢測電路的設計代碼 128
6.6 小結 129
第7章 時序邏輯電路的精華—計數器 131
7.1 簡單的十六進制計數器 131
7.1.1 計數器設計 131
7.1.2 計數器就是加法器和觸發器 133
7.2 十進制計數器 134
7.2.1 具有復位及時鐘使能功能的計數器 134
7.2.2 討論計數器的進制 135
7.2.3 計數器代碼的花式寫法 136
7.3 計數器是流水燈的核心 137
7.3.1 設計一個秒信號 137
7.3.2 流水燈電路的設計方案 139
7.3.3 閃爍頻率可控制的流水燈 140
7.3.4 采用移位運算設計流水燈電路 142
7.4 Verilog的本質是并行語言 142
7.4.1 典型的Verilog錯誤用法—同一信號重復賦值 142
7.4.2 并行語言與順序語言 144
7.4.3 采用并行思維分析信號重復賦值問題 145
7.5 呼吸燈電路設計 146
7.5.1 呼吸燈的工作原理 146
7.5.2 設計思路分析 147
7.5.3 亮度實現模塊Verilog HDL設計 147
7.5.4 亮度控制模塊Verilog HDL設計 148
7.5.5 頂層模塊Verilog HDL設計 150
7.6 小結 151
第三篇 入門篇
第8章 設計簡潔美觀的秒表電路 155
8.1 設定一個目標—4位秒表電路 155
8.1.1 明確功能需求 155
8.1.2 形成設計方案 156
8.2 頂層文件的Verilog HDL設計 157
8.3 設計一個完善的數碼管顯示模塊 158
8.4 秒表計數模塊的Verilog HDL設計 160
8.4.1 秒表計數電路設計 160
8.4.2 秒表計數電路的ModelSim仿真 162
8.4.3 簡潔美觀的秒表計數器設計 163
8.4.4 實現秒表的啟停功能 166
8.5 按鍵消抖模塊的Verilog HDL設計 166
8.5.1 按鍵消抖產生的原理 166
8.5.2 按鍵消抖模塊Verilog HDL設計 167
8.5.3 將按鍵消抖模塊集成到秒表電路中 169
8.6 小結 169
第9章 數字密碼鎖電路設計 171
9.1 數字密碼鎖的功能描述 171
9.2 規劃好數字密碼鎖的功能模塊 172
9.2.1 數字密碼鎖總體結構框圖 172
9.2.2 數字密碼鎖的頂層模塊設計 172
9.3 數字密碼鎖功能子模塊設計 174
9.3.1 按鍵消抖模塊Verilog HDL設計 174
9.3.2 計數模塊Verilog HDL設計 175
9.3.3 密碼設置模塊才是核心模塊 176
9.4 小結 178
第10章 簡易電子琴電路設計 179
10.1 音符產生原理 179
10.2 琴鍵功能電路設計 180
10.2.1 頂層模塊設計 180
10.2.2 琴鍵模塊設計 182
10.2.3 音符產生模塊設計 183
10.3 自動演奏樂曲《梁祝》 185
10.3.1 自動演奏樂曲的原理 185
10.3.2 自動演奏樂曲《梁祝》片段 186
10.4 完整的電子琴電路設計 189
10.5 小結 190
第11章 應用廣泛的串口通信電路 191
11.1 RS-232串口通信的概念 191
11.2 串口硬件電路原理分析 192
11.3 串口通信電路Verilog HDL設計 193
11.3.1 頂層文件的Verilog HDL設計 193
11.3.2 時鐘模塊的Verilog HDL設計 195
11.3.3 接收模塊的Verilog HDL設計 196
11.3.4 發送模塊的Verilog HDL設計 198
11.3.5 FPGA實現及板載測試 199
11.4 采用串口控制秒表電路 201
11.4.1 設計需求分析 201
11.4.2 頂層文件的Verilog HDL設計 202
11.4.3 秒表時間獲取模塊Verilog HDL設計 204
11.4.4 完善秒表電路頂層模塊Verilog HDL代碼 205
11.4.5 完善秒表計數模塊Verilog HDL代碼 207
11.4.6 FPGA實現及板載測試 210
11.5 小結 210
第12章 對狀態機的討論 211
12.1 有限狀態機的概念 211
12.2 狀態機的Verilog設計方法 212
12.2.1 一段式狀態機Verilog代碼 212
12.2.2 二段式狀態機Verilog代碼 213
12.2.3 三段式狀態機Verilog HDL代碼 215
12.3 計數器電路的狀態機描述方法 216
12.4 序列檢測器的狀態機描述方法 218
12.5 小結 221
第四篇 提高篇
第13章 基本的時序約束方法 225
13.1 電路的速度極限 225
13.2 時序約束方法 227
13.2.1 查看計數器的邏輯電路結構 227
13.2.2 計數器電路添加時鐘周期約束 229
13.3 速度與面積的取舍 231
13.3.1 多路加法器電路的結構分析 231
13.3.2 流水線操作的本質—討論多路加法器的運行速度 233
13.3.3 用一個加法器完成4路加法 235
13.3.4 串行加法器時序分析 238
13.4 小結 238
第14章 采用IP核設計 241
14.1 FPGA設計中的“拿來主義”—使用IP核 241
14.1.1 IP核的一般概念 241
14.1.2 FPGA設計中的IP核類型 242
14.2 時鐘IP核 244
14.2.1 全局時鐘資源 244
14.2.2 采用時鐘IP核生成多路時鐘信號 244
14.3 乘法器IP核 248
14.3.1 乘法器IP核參數的設置 248
14.3.2 乘法器IP核的功能仿真 250
14.4 存儲器IP核 251
14.4.1 ROM核 251
14.4.2 RAM核 255
14.5 小結 260
第15章 采用在線邏輯分析儀調試程序 261
15.1 在線邏輯分析儀的優勢 261
15.2 GAO的使用流程 262
15.3 采用GAO調試串口通信程序 263
15.3.1 調試目的 263
15.3.2 添加GAO到項目中 263
15.3.3 設置觸發信號及觸發條件 264
15.3.4 設置捕獲信號參數 265
15.3.5 觀察串口收發信號波形 267
15.4 小結 268
第16章 常用的FPGA設計技巧 269
16.1 默認引腳狀態設置 269
16.2 復位信號的處理方法 271
16.3 合理利用時鐘使能信號設計 272
16.4 利用移位相加實現乘法運算 273
16.5 根據芯片結構制定設計方案 274
16.6 浮點乘法器設計 275
16.6.1 單精度浮點數據格式 275
16.6.2 單精度浮點數乘法運算分析 276
16.6.3 自定義浮點數據格式 276
16.6.4 自定義浮點數據乘法算法設計 277
16.6.5 算法Verilog HDL實現 278
16.7 小結 284
參考文獻 287
序: