AMD FPGA設計優(yōu)化寶典:面向Vivado/SystemVerilog
定 價:125 元
叢書名:EDA精品智匯館
- 作者:高亞軍
- 出版時間:2023/6/1
- ISBN:9787121457258
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP332.1
- 頁碼:440
- 紙張:
- 版次:01
- 開本:16開
本書以Xilinx公司 7系列FPGA、UltraScale/UltraScale+和Versal ACAP內(nèi)部架構(gòu)為基礎,介紹了與之匹配的RTL代碼風格(采用SytemVerilog語言)和基于Vivado的設計分析方法。全書共10章內(nèi)容,包括了時鐘網(wǎng)絡、組合邏輯、觸發(fā)器、移位寄存器、存儲器、乘加運算單元和狀態(tài)機的代碼風格和優(yōu)化方法,也包含扇出和布線擁塞的優(yōu)化方法。本書可供電子工程領域內(nèi)的本科高年級學生和研究生學習參考,也可供FPGA工程師和自學者參考使用。
高亞軍,F(xiàn)PGA 技術分享者、設計優(yōu)化和時序收斂專家、Vivado 工具使用專家、數(shù)字信號處理專家,現(xiàn)任Xilinx 資深戰(zhàn)略應用工程師。多年來一直使用Xilinx FPGA 實現(xiàn)數(shù)字信號處理算法,對Xilinx FPGA 器件架構(gòu)、開發(fā)工具Vivado、Vitis HLS 和Vitis ModelComposer 及設計理念有深厚的理論基礎和實戰(zhàn)經(jīng)驗。主要著作:2011 年出版《基于FPGA 的數(shù)字信號處理》 ;2012 年發(fā)布網(wǎng)絡視頻課程《Vivado 入門與提高》 ;2015 年出版《基于FPGA 的數(shù)字信號處理(第2 版)》 ;2016 年出版《Vivado 從此開始(基礎篇)》 ;2016 年發(fā)布網(wǎng)絡視頻課程《跟Xilinx SAE 學HLS》 ;2020 年出版《Vivado 從此開始(進階篇)》 ;2021 年出版《Vivado/Tcl 零基礎入門與案例實戰(zhàn)》 。2018 年創(chuàng)建FPGA 技術分享公眾號“FPGA 技術驛站”。每周更新一篇原創(chuàng)文章,累計發(fā)表原創(chuàng)文章380 余篇,獲得大量粉絲的認可和稱贊。
第1 章 FPGA 技術分析/ 1
1.1 芯片架構(gòu)的演變 / 1
1.2 設計方法的演變 / 15
1.3 面臨的挑戰(zhàn) / 20
1.4 四大基本原則 / 23
1.5 性能指標 / 29
1.6 思考空間 / 31
第2 章 優(yōu)化時鐘網(wǎng)絡/33
2.1 時鐘資源 / 33
2.2 時鐘偏移 / 55
2.3 時鐘抖動 / 68
2.4 安全的時鐘啟動方式 / 75
2.5 時鐘規(guī)劃 / 79
2.6 創(chuàng)建輸出時鐘 / 84
2.7 思考空間 / 84
第3 章 優(yōu)化組合邏輯/86
3.1 組合邏輯資源 / 86
3.2 譯碼器代碼風格 / 87
3.3 編碼器代碼風格 / 94
3.4 多路復用器代碼風格 / 103
3.5 多路解復用器代碼風格 / 116
3.6 比較器代碼風格 / 118
3.7 移位器代碼風格 / 130
3.8 加法器代碼風格 / 135
3.9 奇偶校驗電路代碼風格 / 163
3.10 二進制碼與格雷碼互轉(zhuǎn)電路代碼風格 / 165
3.11 避免組合邏輯環(huán)路 / 168
3.12 慎用full_case 和parallel_case / 169
3.13 思考空間 / 175
第4 章 優(yōu)化觸發(fā)器/ 176
4.1 觸發(fā)器資源 / 176
4.2 建立時間和保持時間 / 183
4.3 亞穩(wěn)態(tài) / 185
4.4 控制集 / 188
4.5 復位信號的代碼風格 / 194
4.6 同步邊沿檢測電路代碼風格 / 204
4.7 串并互轉(zhuǎn)電路代碼風格 / 206
4.8 避免意外生成的鎖存器 / 211
4.9 思考空間 / 216
第5 章 優(yōu)化移位寄存器/ / 218
5.1 移位寄存器資源 / 218
5.2 移位寄存器的代碼風格 / 222
5.3 移位寄存器的應用場景 / 234
5.4 管理時序路徑上的移位寄存器 / 236
5.5 思考空間 / 240
第6 章 優(yōu)化存儲器/ 242
6.1 存儲器資源 / 242
6.2 單端口RAM 代碼風格 / 255
6.3 簡單雙端口RAM 代碼風格 / 269
6.4 真雙端口RAM 代碼風格 / 277
6.5 RAM 的初始化與ROM 代碼風格 / 284
6.6 同步FIFO 代碼風格 / 289
6.7 異步FIFO 代碼風格 / 302
6.8 平衡Block RAM 的功耗與性能 / 310
6.9 異構(gòu)RAM / 312
6.10 以IP 方式使用RAM 和FIFO / 312
6.11 以XPM 方式使用RAM 和FIFO / 319
6.12 管理時序路徑上的Block RAM 和UltraRAM / 322
6.13 思考空間 / 328
第7 章 優(yōu)化乘加運算單元/ / 330
7.1 乘加器資源 / 330
7.2 以乘法為核心運算的代碼風格 / 337
7.3 復數(shù)乘法運算代碼風格 / 363
7.4 向量內(nèi)積代碼風格 / 377
7.5 以加法為核心運算的電路結(jié)構(gòu) / 379
7.6 管理時序路徑上的乘加器 / 384
7.7 思考空間 / 385
第8 章 優(yōu)化狀態(tài)機/ 386
8.1 基本概念 / 386
8.2 狀態(tài)機代碼風格 / 388
8.3 狀態(tài)編碼方式 / 409
8.4 基于ROM 的控制器 / 413
8.5 思考空間 / 414
第9章 優(yōu)化扇出/ 416
9.1 生成扇出報告 / 416
9.2 利用設計流程降低扇出 / 418
9.3 利用約束降低扇出 / 420
9.4 從代碼層面降低扇出 / 424
9.5 改善扇出的正確流程 / 424
9.6 思考空間 / 425
第10 章 優(yōu)化布線擁塞/ 426
10.1 布線擁塞的三種類型 / 426
10.2 利用設計流程改善布線擁塞 / 428
10.3 利用約束緩解布線擁塞 / 430
10.4 從代碼層面降低布線擁塞程度 / 431
10.5 緩解布線擁塞的正確流程 / 431
10.6 思考空間 / 432