【魚說科技】魚說科技入駐華為云市場,科技擊活文化,文化賦能產業!
1415
2025-03-31
目錄
Understanding Project Mode and Non-Project Mode
Project Mode
Non-Project Mode
Feature Differences
Command Differences
Understanding Project Mode and Non-Project Mode
Vivado設計套件有兩個主要使用模型:項目模式和非項目模式。 可以通過Vivado IDE或通過Tcl命令和批處理腳本開發和使用項目模式和非項目模式。 但是,Vivado IDE為項目模式提供了許多好處,例如Flow Navigator圖形工作流程界面。 Tcl命令是運行非項目模式的最簡單方法。
Project Mode
Vivado Design Suite利用基于項目的架構來組裝,實現和跟蹤設計的狀態。 這稱為項目模式。 在項目模式下,Vivado工具可自動管理您的設計流程和設計數據。
Project Mode的主要優勢在于Vivado Design Suite管理整個設計過程,包括依賴關系管理,報告生成,數據存儲等。
在項目模式下工作時,Vivado Design Suite會在磁盤上創建目錄結構,以便在本地或遠程管理設計源文件,并管理源文件的更改和更新。
項目基礎結構還用于管理自動綜合和實施運行,跟蹤運行狀態以及存儲綜合和實施結果和報告。 例如:
?如果在綜合后修改HDL源,Vivado Design Suite會將當前結果標識為過時,并提示您進行重新合成。
?如果修改設計約束,Vivado工具會提示您重新綜合,重新實現或兩者兼而有之。
?布線完成后,Vivado工具會自動生成時序,DRC,方法和電源報告。
?只需在Vivado IDE中單擊即可運行整個設計流程。
Non-Project Mode
或者,您可以選擇內存編譯流程,您可以在其中自行管理源和設計過程,稱為非項目模式。 在非項目模式下,您可以使用Tcl命令或腳本自行管理設計源和設計過程。 關鍵優勢在于您可以完全控制流程的每個步驟。
在非項目模式下工作時,源文件從其當前位置讀取,例如從修訂控制系統讀取,并且設計通過內存中的流程進行編譯。
您可以使用Tcl命令單獨運行每個設計步驟。 您還可以使用Tcl命令設置設計參數和實現選項。
您可以在設計過程的任何階段保存設計檢查點并創建報告。 每個實施步驟都可以定制,以滿足特定的設計挑戰,您可以在每個設計步驟后分析結果。 此外,您可以隨時打開Vivado IDE進行設計分析和約束分配。
在非項目模式下,使用Tcl命令控制每個設計步驟。 例如:
?如果在綜合后修改HDL文件,則必須記住重新運行綜合以更新內存中的網表。
?如果在布線后需要時序報告,則必須在布線完成時顯式生成時序報告。
?使用Tcl命令和參數設置設計參數和實現選項。
?您可以使用Tcl在設計過程的任何階段保存設計檢查點并創建報告。
隨著設計流程的進展,設計的表示將保留在Vivado Design Suite的內存中。 非項目模式會在每次會話后丟棄內存設計,并僅將數據寫入您指示的磁盤。
Feature Differences
在項目模式下,Vivado IDE會跟蹤設計的歷史記錄并存儲相關的設計信息。 但是,由于許多功能都是自動化的,因此您對默認流程的控制較少。 例如,每次運行僅生成一組標準報告文件。 但是,通過Tcl命令或腳本,您可以在項目模式下自定義工具的流程和功能。
The following automated features are only available when using Project Mode:
? Out-of-the-box design flow
? Easy-to-use, push-button interface
? Powerful Tcl scripting language for customization
? Source file management and status
? Automatically generated standard reports
? Storage and reuse of tool settings and design configuration
? Experimentation with multiple synthesis and implementation runs
? Run results management and status
非項目模式,更像是一種編譯方法,您可以完全控制通過Tcl命令執行的每個操作。 這是一個完全可定制的設計流程,適合尋求控制和批處理的特定設計人員。 所有處理都在內存中完成,因此不會自動生成任何文件或報告。 每次編譯設計時,都必須定義所有源,設置所有工具和設計配置參數,啟動所有實現命令以及生成報告文件。
這可以使用Tcl運行腳本來完成,因為項目不是在磁盤上創建的,源文件保留在其原始位置,并且設計輸出僅在您指定的時間和地點創建。 此方法為您提供Tcl命令的所有功能,并完全控制整個設計過程。 許多用戶更喜歡這種批量編譯風格與工具和設計數據的交互。
Table 2-1: Project Mode versus Non-Project Mode Features
Command Differences
Tcl命令因您使用的模式而異,并且每種模式生成的Tcl運行腳本都不同。 在非項目模式下,所有操作和工具設置都需要單獨的Tcl命令,包括設置工具選項,運行實施命令,生成報告和編寫設計檢查點。 在項目模式中,包裝命令用于各個綜合,實現和報告命令。
例如,在“項目模式”中,使用add_files Tcl命令將源添加到項目以進行管理。 可以將源復制到項目中以在項目目錄結構中維護單獨的版本,也可以遠程引用。 在非項目模式下,使用read_verilog,read_vhdl,read_xdc和read_ * Tcl命令從當前位置讀取各種類型的源。
在項目模式下,launch_runs命令使用預配置的運行策略啟動工具并生成標準報告。 這樣可以合并實施命令,標準報告,運行策略的使用和運行狀態跟蹤。 但是,您也可以在設計過程的每個步驟之前或之后運行自定義Tcl命令。 在項目中自動存儲和管理運行結果。 在非項目模式下,必須運行單個命令,例如opt_design,place_design和route_design。
許多Tcl命令可以在任一模式下使用,例如報告命令。 在某些情況下,Tcl命令特定于項目模式或非項目模式。 創建腳本時,不得混用特定于一種模式的命令。 例如,如果您使用的是項目模式,則不得使用基本級命令,例如synth_design,因為這些命令特定于非項目模式。 如果在項目模式下使用非項目模式命令,則不會使用狀態信息更新數據庫,也不會自動生成報告。
提示:項目模式包括GUI操作,這導致在大多數情況下執行Tcl命令。 Tcl命令出現在Vivado IDE Tcl控制臺中,也可以在vivado.jou文件中捕獲。 您可以使用此文件開發用于任一模式的腳本。
Figure 2-3 shows the difference between Project Mode and Non-Project Mode Tcl commands.
內容來自于UG892
單片機
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。