AMD FPGA 設計優化寶典:面向 Vivado/VHDL

高亞軍

  • 出版商: 電子工業
  • 出版日期: 2023-03-01
  • 售價: $750
  • 貴賓價: 9.5$713
  • 語言: 簡體中文
  • 頁數: 444
  • ISBN: 7121450984
  • ISBN-13: 9787121450983
  • 相關分類: FPGA
  • 立即出貨

買這商品的人也買了...

商品描述

本書以Xilinx公司(目前已被AMD公司收購)的7系列FPGA、UltraScale/UltraScale+ FPGA和Versal ACAP內部架構為基礎,介紹與之匹配的RTL代碼的風格(採用VHDL語言)和基於Vivado的設計分析方法。全書共10章,包括時鐘網絡、組合邏輯、觸發器、移位寄存器、存儲器、乘加運算單元和狀態機的代碼風格和優化方法,也包含扇出和布線擁塞的優化方法。本書可供電子工程領域的本科生和研究生學習參考,也可供FPGA工程師和自學者參考使用。

目錄大綱

第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