Vivado有兩種工作模式:project模式和non-project模式。這兩種模式都可以借助VivadoIDE或Tcl命令來運行。相比之下,VivadoIDE給project模式提供了更多的好處,而Tcl命令使得non-project模式運行起來更簡單。
在project模式下,Vivado會自動管理整個設計流程和文件數據。最直接的體現是在Vivado左側導航Flow Navigator下會顯示所有流程,從設計輸入到最終生成bit文件。同時,Vivado會自動創(chuàng)建相應的文件目錄,生成相應的文件例如dcp以及相應的報告。
Non-project模式是一種內存編譯流程。用戶可以從指定位置讀取文件到內存中,然后進行編譯??梢灾鸩綀?zhí)行每個步驟如綜合、布局、布線等,可以根據需求設定編譯參數。這一切都可以通過Tcl命令完成。顯然,non-project模式下,用戶可以通過Tcl命令管理設計文件和設計流程,體現了該模式的主要優(yōu)勢即用戶對設計流程有完全的掌控力。
Project模式和non-project模式的主要區(qū)別如下圖所示。不難看出,project模式下更多的管理、操作都是“自動”完成的;而non-project模式下,則是“手工”完成的。
從Tcl命令的角度而言,project和non-project模式也是不同的,如下圖所示。Project模式下用到的Tcl命令是一種打包的命令,例如添加設計文件需用add_files,文件可以是HDL(包括VHDL,Verilog或SystemVerilog),可以是約束文件(包括.xdc或.tcl),可以是網表文件(可以是dcp,ngc或edif)等。Implementation時,命令launch_runs就可以按照指定的策略完成所有的步驟,包括生成相應的DCP。Non-project模式下用到的Tcl命令是分立的,例如,讀入設計文件,如果是VHDL,需要用到read_vhdl;如果是Verilog,需要用到read_verilog,如果是.xdc,需要用到read_xdc;如果是DCP,需要用到read_checkpoint;如果是EDIF,需要用到read_edif。而在implementation時,需要分別用到opt_design、place_design、phys_opt_design和route_design等。
因為Tcl命令使得non-project模式更能簡單地運行,這里我們將介紹如何通過Tcl命令在non-project模式下完成所有步驟。
責任編輯人:CC
-
TCL
+關注
關注
10文章
1722瀏覽量
88566 -
Vivado
+關注
關注
19文章
812瀏覽量
66470
原文標題:用Tcl實現Vivado設計全流程(1)
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論