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

高亞軍

  • 出版商: 電子工業
  • 出版日期: 2023-06-01
  • 定價: $750
  • 售價: 8.5$638
  • 語言: 簡體中文
  • 頁數: 440
  • ISBN: 7121457253
  • ISBN-13: 9787121457258
  • 相關分類: FPGAVerilog
  • 已絕版

相關主題

商品描述

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

目錄大綱

第1 章 FPGA 技術分析/ 1
1.1 芯片架構的演變 / 1
1.2 設計方法的演變 / 15
1.3 面臨的挑戰 / 20
1.4 四大基本原則 / 23
1.5 性能指標 / 29
1.6 思考空間 / 31

第2 章 優化時鐘網絡/33
2.1 時鐘資源 / 33
2.2 時鐘偏移 / 55
2.3 時鐘抖動 / 68
2.4 安全的時鐘啟動方式 / 75
2.5 時鐘規劃 / 79
2.6 創建輸出時鐘 / 84
2.7 思考空間 / 84

第3 章 優化組合邏輯/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 二進制碼與格雷碼互轉電路代碼風格 / 165
3.11 避免組合邏輯環路 / 168
3.12 慎用full_case 和parallel_case / 169
3.13 思考空間 / 175

第4 章 優化觸發器/ 176
4.1 觸發器資源 / 176
4.2 建立時間和保持時間 / 183
4.3 亞穩態 / 185
4.4 控制集 / 188
4.5 復位信號的代碼風格 / 194
4.6 同步邊沿檢測電路代碼風格 / 204
4.7 串並互轉電路代碼風格 / 206
4.8 避免意外生成的鎖存器 / 211
4.9 思考空間 / 216

第5 章 優化移位寄存器/ / 218
5.1 移位寄存器資源 / 218
5.2 移位寄存器的代碼風格 / 222
5.3 移位寄存器的應用場景 / 234
5.4 管理時序路徑上的移位寄存器 / 236
5.5 思考空間 / 240

第6 章 優化存儲器/ 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 異構RAM / 312
6.10 以IP 方式使用RAM 和FIFO / 312
6.11 以XPM 方式使用RAM 和FIFO / 319
6.12 管理時序路徑上的Block RAM 和UltraRAM / 322
6.13 思考空間 / 328

第7 章 優化乘加運算單元/ / 330
7.1 乘加器資源 / 330
7.2 以乘法為核心運算的代碼風格 / 337
7.3 復數乘法運算代碼風格 / 363
7.4 向量內積代碼風格 / 377
7.5 以加法為核心運算的電路結構 / 379
7.6 管理時序路徑上的乘加器 / 384
7.7 思考空間 / 385

第8 章 優化狀態機/ 386
8.1 基本概念 / 386
8.2 狀態機代碼風格 / 388
8.3 狀態編碼方式 / 409
8.4 基於ROM 的控制器 / 413
8.5 思考空間 / 414

第9章 優化扇出/ 416
9.1 生成扇出報告 / 416
9.2 利用設計流程降低扇出 / 418
9.3 利用約束降低扇出 / 420
9.4 從代碼層面降低扇出 / 424
9.5 改善扇出的正確流程 / 424
9.6 思考空間 / 425

第10 章 優化布線擁塞/ 426
10.1 布線擁塞的三種類型 / 426
10.2 利用設計流程改善布線擁塞 / 428
10.3 利用約束緩解布線擁塞 / 430
10.4 從代碼層面降低布線擁塞程度 / 431
10.5 緩解布線擁塞的正確流程 / 431
10.6 思考空間 / 432