一張圖看懂Vivado設計流程
- 2019 年 10 月 31 日
- 筆記
上期內容:
與ISE相比,Xilinx新一代設計工具Vivado在很多方面有着很大的不同。這裡我們從設計流程這個角度看,先來回顧一下ISE的設計流程,如下圖所示。

在這個流程中,輸入的約束文件為UCF,而且該文件是在Translate(對應NGDBuild)這一步才開始生效。換言之,綜合後的時序報告沒有多大的參考價值。此外,這個流程的每一步都會生成不同的文件,例如綜合後生成.ngc文件,Translate之後生成.ngd文件,MAP和PAR之後生成.ncd文件等。這說明每一步使用了不同的數據模型。
再來看看Vivado的設計流程,如下圖所示。在這個流程中,輸入的約束文件為.xdc文件,這個文件採用了業界標準的SDC,且在綜合和實現階段均有效。因此,綜合後就要查看並分析設計時序,如果時序未收斂,不建議執行下一步。

此外,Vivado的實現階段由不同的子步驟構成:opt_design、place_design、 phys_opt_design、route_design和phys_opt_design,其中place_design和route_design之後的phys_opt_design是可選的。同時,無論是綜合還是實現,每個子步驟生成文件均為.dcp文件。這意味着Vivado採用了統一的數據模型。
默認情況下,在Vivado實現階段opt_design、place_design和route_design是必然執行的,且每步會生成相應的.dcp文件,可用於進一步的分析。
如果文章對你有收穫,歡迎轉發~