●章 FPGA技術分析 / 1 1.1 FPGA內部結構分析 / 1 1.1.1 Xilinx 7繫列FPGA內部結構分析 / 1 1.1.2 Xilinx UltraScale繫列FPGA內部結構分析 / 18 1.2 FPGA設計流程分析 / 22 1.3 Vivado概述 / 25 1.3.1 Vivado下的FPGA設計流程 / 25 1.3.2 Vivado的兩種工作模式 / 26 1.3.3 Vivado的5個特征 / 30 參考文獻 / 31 第2章 設計綜合 / 32 2.1 常用綜合選項的設置 / 32 2.1.1 -flatten_hierarchy對綜合結果的影響 / 32 2.1.2 -fsm_extraction對狀態機編碼方式的影響 / 35 2.1.3 -keep_equivalent_registers的含義 / 36 2.1.4 -resource_sharing對算術運算的影響 / 38 2.1.5 -control_set_opt_threshold對觸發器控制集的影響 / 38 2.1.6 -no_lc對查找表資源的影響 / 40 2.1.7 -shreg_min_size對移位寄存器的影響 / 41 2.2 合理使用綜合屬性 / 43 2.2.1 async_reg在異步跨時鐘域場合的應用 / 43 2.2.2 max_fanout對高扇出信號的影響 / 44 2.2.3 ram_style和rom_style對存儲性能的影響 / 46 2.2.4 use_dsp48在實現加法運算時的作用 / 48 2.3 out-of-context(OOC)綜合模式 / 50 2.3.1 Project模式下使用OOC / 50 2.3.2 Non-Project模式下使用OOC / 54 2.4 綜合後的設計分析 / 54 2.4.1 時鐘網絡分析 / 54 2.4.2 跨時鐘域路徑分析 / 56 2.4.3 時序分析 / 60 2.4.4 資源利用率分析 / 72 2.4.5 扇出分析 / 73 2.4.6 觸發器控制集分析 / 75 參考文獻 / 75 第3章 設計實現 / 76 3.1 理解實現策略 / 76 3.1.1 Project模式下應用實現策略 / 76 3.1.2 Non-Project模式下應用實現策略 / 80 3.2 理解物理優化 / 81 3.3 增量實現 / 82 3.3.1 Project模式下應用增量實現 / 82 3.3.2 Non-Project模式下應用增量實現 / 87 3.4 實現後的設計分析 / 88 3.4.1 資源利用率分析 / 88 3.4.2 時序分析 / 88 3.5 生成配置文件 / 90 3.6 配置文件 / 93 參考文獻 / 99 第4章 設計驗證 / 100 4.1 行為級仿真 / 100 4.1.1 基於Vivado Simulator的行為級仿真 / 100 4.1.2 基於ModelSim/QuestaSim的行為級仿真 / 111 4.2 實現後的時序仿真 / 115 4.3 使用VLA(Vivado Logic Analyzer) / 118 4.3.1 使用ILA(Integrated Logic Analyzer) / 118 4.3.2 使用VIO(Virtual Input/Output) / 126 4.3.3 VLA中的數據分析 / 128 4.4 使用add_probe / 133 參考文獻 / 134 第5章 IP的管理 / 135 5.1 定制IP / 135 5.1.1 在Vivado工程中定制IP / 135 5.1.2 在Manage IP中定制IP / 139 5.2 IP的兩種生成文件形式:xci和xcix / 144 5.3 對IP的幾個重要操作 / 148 5.3.1 IP的綜合 / 148 5.3.2 IP的仿真 / 150 5.3.3 IP的更新 / 151 5.3.4 IP輸出文件的編輯 / 155 5.4 IP的屬性與狀態 / 156 5.5 IP的約束 / 159 5.6 封裝IP / 164 5.6.1 通過Vivado工程封裝用戶代碼 / 164 5.6.2 通過指定目錄封裝用戶代碼 / 177 參考文獻 / 178 第6章 約束的管理 / 179 6.1 基本時序理論 / 179 6.2 兩類基本約束 / 180 6.2.1 時鐘周期約束 / 180 6.2.2 引腳分配 / 201 6.3 兩種時序例外 / 210 6.3.1 多周期路徑約束 / 210 6.3.2 偽路徑約束 / 214 6.4 從UCF到XDC / 217 6.4.1 UCF與XDC的基本對應關繫 / 217 6.4.2 理解層次標識符在UCF和XDC中的區別 / 219 6.5 時序約束編輯輔助工具 / 220 6.5.1 時序約束編輯器 / 220 6.5.2 時序約束向導 / 223 6.6 關於約束文件 / 224 參考文獻 / 226 第7章 Tcl在Vivado中的應用 / 227 7.1 Vivado對Tcl的支持 / 227 7.2 Vivado中Tcl命令的對像及屬性 / 232 7.2.1 文件對像及屬性 / 232 7.2.2 網表對像及屬性 / 234 7.3 Tcl命令與網表視圖的交互使用 / 241 7.4 典型應用 / 242 7.4.1 流程管理 / 242 7.4.2 定制報告 / 246 7.4.3 網表編輯 / 249 7.5 其他應用 / 253 參考文獻 / 256
內容簡介
本書涵蓋了Vivado的四大主題:設計流程、時序約束、設計分析和Tcl腳本的使用,結合實例深入淺出地闡述了Vivado的使用方法,精心總結了Vivado在實際工程應用中的一些技巧和注意事項,既包含圖形界面操作方式,也包含相應的Tcl命令。本書語言流暢,圖文並茂。全書共包含405張圖片、17個表格、172個Tcl腳本和39個HDL代碼,同時,本書配有41個電子教學課件,為讀者提供了直觀而生動的資料。本書可供電子工程領域內的本科高年級學生和研究生學習參考,也可供FPGA工程師和自學者參考使用。