3dwoo大學簡體電腦書店
AMD FPGA設計優化寶典:面向Vivado/VHDL
( 簡體 字)
作者:高亞軍類別:1. -> 電子工程 -> FPGA
出版社:電子工業出版社AMD FPGA設計優化寶典:面向Vivado/VHDL 3dWoo書號: 56261
詢問書籍請說出此書號!
有庫存
NT售價: 625
出版日:3/1/2023
頁數:444
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787121450983 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1章 FPGA技術分析 1
1.1 芯片架構的演變 1
1.2 設計方法的演變 15
1.3 面臨的挑戰 20
1.4 四大基本原則 22
1.4.1 硬件原則 23
1.4.2 同步原則 24
1.4.3 流水原則 25
1.4.4 面積與速度的平衡與互換原則 27
1.5 性能指標 29
1.6 思考空間 31
第2章 優化時鐘網絡 32
2.1 時鐘資源 32
2.1.1 7系列FPGA中的時鐘資源 32
2.1.2 UlatraScale/UltraScale+ FPGA中的時鐘資源 42
2.1.3 Versal ACAP中的時鐘資源 47
2.2 時鐘偏移 52
2.3 時鐘抖動 64
2.4 安全的時鐘啟動方式 71
2.5 時鐘規劃 75
2.6 創建輸出時鐘 79
2.7 思考空間 80
第3章 優化組合邏輯 81
3.1 組合邏輯資源 81
3.2 譯碼器與編碼器 82
3.2.1 譯碼器代碼風格 82
3.2.2 編碼器代碼風格 93
3.3 多路復用器與多路解復用器 104
3.3.1 多路復用器代碼風格 104
3.3.2 多路解復用器代碼風格 117
3.4 加法器與累加器 119
3.4.1 加法器代碼風格 119
3.4.2 累加器代碼風格 134
3.5 其他組合邏輯電路 149
3.5.1 移位器代碼風格 149
3.5.2 比較器代碼風格 153
3.5.3 奇偶校驗電路代碼風格 166
3.5.4 二進制碼與格雷碼互轉電路代碼風格 167
3.6 避免組合邏輯環路 170
3.7 思考空間 171
第4章 優化觸發器 172
4.1 觸發器資源 172
4.1.1 7系列FPGA中的觸發器資源 172
4.1.2 UltraScale/UltraScale+ FPGA中的觸發器資源 174
4.1.3 Versal ACAP中的觸發器資源 175
4.2 建立時間和保持時間 179
4.3 亞穩態 181
4.4 控制集 184
4.5 復位信號的代碼風格 189
4.5.1 異步復位還是同步復位 189
4.5.2 全局復位還是局部復位 192
4.5.3 是否需要上電復位 195
4.6 同步邊沿檢測電路代碼風格 199
4.7 串并互轉電路代碼風格 201
4.8 避免意外生成的鎖存器 206
4.9 思考空間 209
第5章 優化移位寄存器 211
5.1 移位寄存器資源 211
5.1.1 7系列FPGA中的移位寄存器資源 211
5.1.2 UltraScale/UltraScale+ FPGA中的移位寄存器資源 212
5.1.3 Versal ACAP中的移位寄存器資源 212
5.2 移位寄存器的代碼風格 216
5.3 移位寄存器的應用場景 227
5.4 管理時序路徑上的移位寄存器 228
5.5 思考空間 232
第6章 優化存儲器 234
6.1 存儲器資源 234
6.1.1 分布式RAM 234
6.1.2 BRAM 235
6.1.3 UltraRAM 242
6.2 單端口RAM代碼風格 246
6.3 簡單雙端口RAM代碼風格 266
6.4 真雙端口RAM代碼風格 276
6.5 RAM的初始化與ROM代碼風格 284
6.6 同步FIFO代碼風格 287
6.7 異步FIFO代碼風格 301
6.8 平衡BlockRAM的功耗與性能 310
6.9 異構RAM 312
6.10 以IP方式使用RAM和FIFO 312
6.11 以XPM方式使用RAM或FIFO 319
6.12 管理時序路徑上的BRAM和UltraRAM 322
6.13 思考空間 328
第7章 優化乘加運算單元 329
7.1 乘加器資源 329
7.1.1 7系列FPGA中的乘加器資源 329
7.1.2 UltraScale/UltraScale+ FPGA中的乘加器資源 332
7.1.3 Versal ACAP中的乘加器資源 332
7.2 以乘法為核心運算的代碼風格 335
7.3 復數乘法運算代碼風格 363
7.4 向量內積代碼風格 378
7.5 以加法為核心運算的電路結構 380
7.6 管理時序路徑上的乘加器 386
7.7 思考空間 387
第8章 優化狀態機 388
8.1 基本概念 388
8.2 狀態機代碼風格 390
8.3 狀態編碼方式 410
8.4 基于ROM的控制器 413
8.5 思考空間 416
第9章 優化扇出 417
9.1 生成扇出報告 417
9.2 利用設計流程降低扇出 419
9.3 利用約束降低扇出 421
9.4 從代碼層面降低扇出 424
9.5 改善扇出的正確流程 424
9.6 思考空間 425
第10章 優化布線擁塞 426
10.1 布線擁塞的三種類型 426
10.2 利用設計流程改善布線擁塞 428
10.3 利用約束緩解布線擁塞 429
10.4 從代碼層面降低布線擁塞程度 430
10.5 緩解布線擁塞的正確流程 430
10.6 思考空間 432
本書以Xilinx公司(目前已被AMD公司收購)的7系列FPGA、UltraScale/UltraScale+ FPGA和Versal ACAP內部架構為基礎,介紹與之匹配的RTL代碼的風格(采用VHDL語言)和基于Vivado的設計分析方法。全書共10章,包括時鐘網絡、組合邏輯、觸發器、移位寄存器、存儲器、乘加運算單元和狀態機的代碼風格和優化方法,也包含扇出和布線擁塞的優化方法。本書可供電子工程領域的本科生和研究生學習參考,也可供FPGA工程師和自學者參考使用。
設計收斂是FPGA工程師面臨的一個重要課題:既要保證功耗收斂,又要保證時序收斂。兩者均與設計自身有很大關系。筆者在多年的工程實踐和技術支持過程中發現,很多設計未能收斂都與代碼風格或對Vivado工具的理解有很大關系。
就代碼風格而言,目前已有越來越多的工程師意識到其重要性。往往“良好的代碼風格”能起到事半功倍的效果。“良好的代碼風格”的一個重要指標就是代碼風格與FPGA內部結構相匹配,保證綜合工具能夠完美地推斷出期望結果,而這一點被很多工程師忽略。例如,7系列FPGA內部的DSP48E1是不支持異步復位的,如果乘法器使用了異步復位,那么相應的觸發器是無法被吸收到DSP48E1內部的,不僅消耗了額外的觸發器(SLICE內部的觸發器),還會導致時序惡化。鑒于此,本書以FPGA內部結構為基礎,以VHDL語言為描述方式,結合大量實際案例,力求幫助讀者深入理解兩者之間的對應關系。Vivado從2015.3版本開始支持VHDL-2008,隨著版本的不斷升級,對VHDL-2008的支持力度也不斷增大,并引入VHDL-2008的更多特性。相比于VHDL-93版本和VHDL-87版本,VHDL-2008版本更靈活、更易用。因此,本書采用VHDL-2008版本,同時列出所用到的VHDL-2008新特性。
就工具而言,Vivado的功能越來越強大,自身越來越智能,分析手段越來越多。這就需要工程師深入理解工具在各個階段所提供的選項含義,能夠在工程實踐中正確、合理地使用這些選項對應的功能,同時,面對未能收斂的設計,能夠找到其中的根本原因。為此,本書也介紹了什么是有缺陷的設計、如何借助Tcl腳本找到這些缺陷,以及如何解決這些缺陷。
全書共10章。第1章從FPGA發展歷程的角度對FPGA技術進行了分析。第2章以時鐘網絡架構為基礎闡述了優化時鐘網絡的經典方法,涉及改善時鐘偏移和降低時鐘抖動。第3章~第7章分別介紹了優化組合邏輯、優化觸發器、優化移位寄存器、優化存儲器和優化乘加運算單元的經典方法。每章第1節均重點介紹優化對象的基本結構,包含目前主流的FPGA(7系列FPGA、UltraScale/UltraScale+ FPGA和Versal ACAP)。每章最后1節均重點介紹如何發現缺陷單元及如何處理這些缺陷。第8章介紹了優化狀態機的經典方法,包括狀態機的“兩段式”和“三段式”描述方法、狀態機編碼方式、Vivado提供的狀態機編碼選項等。第9章闡述了優化扇出的經典方法。第10章闡述了優化布線擁塞的經典方法。這兩章以Vivado工具為核心,給出了相應的Tcl腳本。
全書既闡述了FPGA內部結構,又闡述了RTL代碼風格(采用VHDL語言);既介紹了以Vivado圖形界面為主的分析手段,又介紹了以Tcl腳本為主的分析手段。力求幫助讀者從設計輸入和設計分析兩個維度理解設計。
為便于讀者閱讀和理解書中內容,本書給出了469張圖片、85個表格、189個VHDL代碼片段、56個Tcl腳本片段、65條設計規則和29個應用案例。同時,為加深印象,本書在每章結束之后還列出一些常見問題留給讀者思考,共有101個問題。
FPGA設計收斂不是一蹴而就的,既需要依靠大腦智慧,又需要工具協同,兩者缺一不可。希望您閱讀本書之后對FPGA架構和RTL代碼風格的理解能夠更上一層樓。
您在閱讀本書的過程中,如果發現書中內容有任何不當之處,或對本書內容有任何建議或意見,都可發送郵件,不勝感激。
如果需要獲取代碼示例,可關注編著者微信公眾號“FPGA技術驛站”,回復關鍵字“設計優化VHDL”即可。

高亞軍
2022/9/12
pagetop