01. Vivado的兩種工作模式
Vivado設計有工程和非工程兩種模式:
1. 工程模式:
工程模式是使用Vivado Design Suite自動管理設計源文件、設計配置和結果,使用圖形化Vivado集成設計環境(IDE)交互式處理設計。工程模式下,既可以通過圖像界面下操作(GUI操作,鼠標操作),也可以通過運行Tcl腳本的方式在Vivado Tcl shell 中運行。
優勢:
工作模式的主要優勢在于Vivado Design Suite管理整個設計過程,包括依賴關系管理,報告生成,數據存儲等。
在工程模式下,Vivado工具可自動管理您的設計流程和設計數據;在工程模式下工作時,Vivado Design Suite會在磁盤上創建目錄結構,以便在本地或遠程管理設計源文件,并管理源文件的更改和更新。
工程基礎結構還用于管理自動綜合和實施運行,跟蹤運行狀態以及存儲綜合和實施結果和報告。
例如:
? 如果在綜合后修改HDL源,Vivado Design Suite會將當前結果標識為過時,并提示您進行重新合成。
? 如果修改設計約束,Vivado工具會提示您重新綜合,重新實現或兩者兼而有之。
? 布線完成后,Vivado工具會自動生成時序,DRC,方法和電源報告。
? 只需在Vivado IDE中單擊即可運行整個設計流程。
2. 非工程模式:
非工程模式是使用Tcl腳本流程,在非工程模式下,需要自己管理設計源文件和設計過程。源文件只能從當前位置訪問,不能將其復制到其它位置。設計結果保留在已分配給Vivado工具進程的機器內存中。使用Tcl命令來設置設計參數和實現選項。您可使用Tcl在設計過程的任何階段保存設計檢查點(DCP)并生成報告。每個設計步驟都可通過Tcl命令獨立控制。
優勢:
關鍵優勢在于您可以完全控制流程的每個步驟。相比于工程模式的自動化管理,非工程模式就更加靈活,可操作性強。
可以使用Tcl命令單獨運行每個設計步驟。您還可以使用Tcl命令設置設計參數和實現選項。
您可以在設計過程的任何階段保存設計檢查點并創建報告。每個實施步驟都可以定制,以滿足特定的設計挑戰,您可以在每個設計步驟后分析結果。此外,您可以隨時打開Vivado IDE進行設計分析和約束分配。
例如:
? 如果在綜合后修改HDL文件,則必須記住重新運行綜合以更新內存中的網表。
? 如果在布線后需要時序報告,則必須在布線完成時顯式生成時序報告。
? 使用Tcl命令和參數設置設計參數和實現選項。
? 您可以使用Tcl在設計過程的任何階段保存設計檢查點并創建報告。
隨著設計流程的進展,設計的表示將保留在Vivado Design Suite的內存中。非工作模式會在每次會話后丟棄內存設計,并僅將數據寫入您指示的磁盤。
02. 工程模式和非工程模式的比較
工程模式下Vivado集成環境會跟蹤設計歷史,并且保存相關設計信息,這種自動管理的模式致使開發人員處理GUI操作過程中很少能夠參與到更加具體執行過程。比如,工程模式下每次運行只生成一組標準的報告。vivado提供如下功能:
源文件的管理;
IP的配置和集成;
綜合信息和自動生成標準的報告;
保存和重用工具設置和設計設置;
創建多個synth runs和impl runs進行實驗;
運行結果的管理;
流程導航(Flow Navigator);
工程總結。
非工程模式,更像是一種編譯方法,您可以完全控制通過Tcl命令執行的每個操作。這是一個完全可定制的設計流程,適合尋求控制和批處理的特定設計人員。所有處理都在內存中完成,因此不會自動生成任何文件或報告。每次編譯設計時,都必須定義所有源,設置所有工具和設計配置參數,啟動所有實現命令以及生成報告文件。
2.1 特性比較
非工程模式下,是通過Tcl命令執行每個操作,是在存儲器中執行所有處理,故不會自動生成文件或者是報告。在每次編譯的時候必須指定所有源文件,設置所有工具和設計配置的參數,啟動所有實現命令,指定所需要生成的報告文件。在該模式下并沒有在磁盤中創建一個工程,故源文件會保留在最初的位置,只會在設計者指定的位置創建運行輸出。這個流程充分發揮Tcl命令的控制能力,可充分控制整個設計過程。
2.2 命令比較
首先,工程模式下包含所有GUI操作,這樣導致絕大多數情況下執行一個Tcl命令。Tcl命令會在Vivado的控制臺(console)顯示,并在vivado.jou文件中捕獲。開發人員可以利用這個文件開發用于其中一種模式的腳本。
兩種模式下都可以運行Tcl命令,但Tcl命令因您使用的模式而異,并且每種模式生成的Tcl運行腳本都不同。
如果在創建腳本的時候,在工程模式下使用了非工程模式的命令,那么數據庫不會更新狀態信息,并且也不會自動生成報告。例如,在“項目模式”中,使用add_files Tcl命令將源添加到項目以進行管理。可以將源復制到項目中以在項目目錄結構中維護單獨的版本,也可以遠程引用。在非項目模式下,使用read_verilog,read_vhdl,read_xdc和read_ * Tcl命令從當前位置讀取各種類型的源。
但可以看出有一些報告命令既可以用于工程模式也可以用于非工程模式下,如上圖標記的報告命令:report_timing_summary。
非工程模式下的命令只能在Vivado Tcl Shell中運行,但這并不表示無法與圖形界面方式交互使用。比如可以在Vivado Tcl Shell中執行start_gui命令就可以打開工具回到圖形界面方式,通過GUI操作對設計進行分析,分析完成后可利用stop_gui命令回到Vivado Tcl Shell。
提示:項目模式包括GUI操作,這導致在大多數情況下執行Tcl命令。Tcl命令出現在Vivado IDE Tcl控制臺中,也可以在vivado.jou文件中捕獲。您可以使用此文件開發用于任一模式的腳本。
Project模式的優勢在于可以創建多個runs來比較不同綜合策略或實現策略對設計的影響,而Non-Project模式優勢在于設計源文件、設計流程和生成文件可全部定制,并且相比于Project模式有更短的運行時間。
編輯:hfy
-
project
+關注
關注
0文章
35瀏覽量
13240 -
GUI
+關注
關注
3文章
631瀏覽量
39292 -
Vivado
+關注
關注
19文章
797瀏覽量
65854
發布評論請先 登錄
相關推薦
評論