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