能介紹幾本能夠系統學習vivado的書嗎?
謝邀。不過我讀書少,還真推薦不上書。
要系統,我就推一下 Xilinx Document Navigator 吧。只要裝了Vivado,就自動裝了這個工具。它把Xilinx的文件按各種分類方式做了組織,關心哪個話題都可以迅速找到需要閱讀的文件列表。然後就看文件吧。所有Tutorial類都是帶Step-by-step教程的,Xapp都是帶例子工程的。如果覺得內容太多了,就看Design Hub提煉出來的一些必需的文件。
如果有看到好書再來更新。
蟹未妖。
主要還是看DocNav吧。基本所有軟體,ip,spec以及應用,教學影片等都有。樓主如果對vivado這個軟體的使用有問題,隨便在eetop搜尋一下vivado教程,跟著建立一個小工程,從編輯程式碼到綜合佈線模擬除錯全部走一遍,相信基本的軟體使用就不會有問題了。另,學東西的時候相信你遇到的問題已經有很多人也遇到過了,所以多Google是王道。
推薦的還是Documentation Navigator,不過說明一下閱讀順序
開啟documentation navigator之後如果你不瞭解Vivado的開發流程正確的閱讀順序是如下:
選中Design HUB 再去點選Getting Started
圖中出現的文件順序基本就是你的閱讀順序,如果你聽力不好 ,建議就只看PDF好了。
我感覺vivado的doc一上來就是所有資訊,新手其實會看得比較懵逼
推薦一下高亞軍老師的《Vivado從此開始》。對新手來說還是比較友好的,我工作中遇到的ip core的相關問題都可以從這本書中找到,還是一本很貼近實戰的書。
下面展示一下書的內容吧。
第1章 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
你應該會需要的,嘿嘿