天天看點

Vivado Design Suite User Guide Design Flows Overview -- Understanding Use Models

​一起來充電吧!

Vivado Design Suite User Guide Design Flows Overview -- Understanding Use Models

 UG892

 Chapter 2  Understanding Use Models

Vivado Design Suite Use Models

        在開始使用Vivado工具進行第一次設計之前,請檢視Vivado設計套件使用者指南: Vivado Design Suite User Guide: Getting Started (UG910)

        正如Vivado設計套件支援許多不同的設計流程,該工具支援幾種不同的使用模型,這取決于你想如何管理你的設計和如何與Vivado工具互動。本節将幫助指導您做出一些決定,這些決定是關于您想要使用的模型與Vivado工具互動。

        其中一些決定因素如下:

  • 你是腳本使用者還是指令使用者?或者您更喜歡使用圖形使用者界面(GUI)?
  • 你想讓Vivado設計套件通過使用項目結構來管理設計來源、狀态和結果嗎?或者您更喜歡自己快速建立和管理設計?
  • 你是否想要配置IP核并将其包含在一個設計項目中以實作可移植性?或者在項目外部建立一個配置IP核的遠端存儲庫,以便跨多個項目進行更容易的管理?
  • 您是否在版本控制系統中管理源檔案?
  • 您是否使用第三方工具進行綜合或仿真?
Vivado Design Suite User Guide Design Flows Overview -- Understanding Use Models

 Working with the Vivado Integrated Design Environment (IDE)

        Vivado內建設計環境(IDE)可以用Project模式和Non-Project模式。Vivado IDE提供了一個接口來組裝、實作和驗證設計和IP。打開設計加載目前設計網表,應用設計限制,并将設計加載到目标裝置。Vivado IDE允許您可視化設計并與之互動,如下圖所示。

Vivado Design Suite User Guide Design Flows Overview -- Understanding Use Models

        當使用Project模式時,Vivado IDE提供了一個稱為流程導航器(Flow Navigator)的接口界面,該界面支援按鈕式設計流程。您可以在RTL細化設計、合成或實作之後打開設計,并分析設計,更改限制條件、邏輯或裝置配置,以及實作結果。還可以使用設計檢查點儲存任何設計的目前狀态。有關Vivado IDE的更多資訊,請參見Vivado Design Suite User Guide: Using the Vivado IDE (UG893)

        當從指令行啟動Vivado設計套件時,将目錄更改為項目目錄,以便Vivado工具将其日志和日志檔案寫入項目目錄。這使得在需要時很容易找到和檢查這些檔案。

(提示:要将Vivado tools路徑添加到目前shell/指令提示符中,請在<install_path>/Vivado/<version>目錄下執行settings64.bat或settings64.sh。)

推薦:從您的項目目錄啟動Vivado設計套件,以便更容易地定位項目檔案、log檔案和journal檔案,這些檔案被寫入到啟動目錄。

Launching the Vivado IDE from the Vivado Design Suite Tcl Shell

        當Vivado Design Suite以Tcl模式運作時,在Tcl指令提示符後輸入 start_gui 來啟動Vivado IDE

Working with Tcl

        所有支援的設計流程和模型的使用都可以使用Tcl指令運作。您可以使用Tcl腳本來運作整個設計流程,包括設計分析和報告,或者運作設計流程中的某一部分,如設計建立和綜合。您可以使用單獨的Tcl指令或儲存的Tcl指令腳本。

        如果您喜歡直接使用Tcl指令,您可以使用Vivado Design Suite Tcl shell或Vivado IDE中的Tcl控制台來實作與設計的互動。         有關使用Tcl和Tcl腳本的更多資訊,請參閱Using Tcl Scripting (UG894)和Vivado Design Suite Tcl Command Reference Guide (UG835)。關于如何在Vivado工具中使用Tcl的一步一步教程,請參閱Vivado Design Suite Tutorial: Design Flows Overview (UG888)

Launching the Vivado Design Suite Tcl Shell

        在Linux指令提示符或Windows指令提示符視窗中使用以下指令調用Vivado Design Suite Tcl Shell: Vivado -mode Tcl

注意:在Windows上,你也可以選擇啟動>所有程式> Xilinx設計工具> Vivado <version> > Vivado <version> Tcl Shell。

Launching the Vivado Tools Using a Batch Tcl Script

        您可以在批處理模式下使用Vivado工具,方法是在調用該工具時提供Tcl腳本。在Linux指令提示符或Windows指令提示視窗中使用以下指令:

vivado -mode batch -source <your_Tcl_script>

注意:在批處理模式下,運作指定腳本後,Vivado工具會自動退出

Using the Vivado IDE with a Tcl Flow

        在使用Tcl時,您仍然可以利用Vivado IDE中基于互動式gui的分析和限制定義功能。你可以在設計周期的任何階段打開Vivado IDE。您還可以随時将設計資料庫儲存為檢查點檔案,并在稍後打開檢查點。

Using the Xilinx Tcl Store

        Xilinx Tcl Store是一個Tcl代碼的開源存儲庫,主要用于使用Vivado設計套件進行FPGA設計。Tcl Store提供對來自不同貢獻來源的多種腳本和實用程式的通路,這可以解決各種問題并提高生産率。您可以安裝Tcl腳本,也可以貢獻Tcl腳本與他人分享您的專業技術。有關使用Tcl腳本和Xilinx Tcl存儲的更多資訊,請參閱Vivado Design Suite User Guide: Using Tcl Scripting (UG894)

Understanding Project Mode and Non-Project

Mode

        Vivado設計套件有兩種主要的使用模式: Project模式和Non-Project模式。

        Project模式和Non-Project模式都可以通過Vivado IDE、Tcl指令和批處理腳本來開發和使用。然而,Vivado IDE為項目模式提供了許多好處,例如流程導航器圖形化工作流程界面。Tcl指令是運作Non-Project模式的最簡單方法。

Project Mode

        Vivado設計套件利用基于項目架構的優勢來組裝、實作和跟蹤設計的狀态。這被稱為項目模式。在項目模式下,Vivado工具自動管理您的設計流程和設計資料。

提示:項目模式的主要優點是Vivado設計套件管理整個設計過程,包括依賴關系管理、報告生成、資料存儲等。

        在項目模式下工作時,Vivado Design Suite會在磁盤上建立一個目錄結構,以便在本地或遠端管理設計源檔案,并管理源檔案的更改和更新。

重要提示:某些作業系統(例如Microsoft Windows)會限制用于檔案路徑和檔案名的字元數(例如256)。如果您的作業系統有這樣的限制,Xilinx建議您在靠近根目錄的地方建立項目,以便盡可能縮短檔案路徑和名稱。  

        項目架構還用于管理自動綜合和實作的運作,跟蹤運作狀态,并存儲綜合和實作結果及報告。例如:

  • 如果您在綜合之後修改了HDL源代碼,Vivado設計套件會将目前的結果辨別為過時的,并提示您重新綜合。
  • 如果你修改了設計限制,Vivado工具會提示你重新綜合,重新實作,或者兩者都要。
  • 布線完成後,Vivado工具自動生成時序、DRC、方法和功率報告。
  • 在Vivado IDE中,隻需點選一下,整個設計流程就可以運作

Non-Project Mode

        或者,您可以選擇一個記憶體編譯流程,在該流程中您可以自己管理源代碼和設計過程,稱為非項目模式。在非項目模式中,您可以使用Tcl指令或腳本自己管理設計源檔案和設計過程。關鍵的優勢是您可以完全控制流程的每個步驟。

        在非項目模式下工作時,源檔案從它們的目前位置讀取,比如從版本控制系統讀取,設計通過記憶體中的流程進行編譯。您可以使用Tcl指令分别運作每個設計步驟。您還可以使用Tcl指令設定設計參數和實作選項。

        您可以在設計過程的任何階段儲存設計檢查點并建立報告。可以對每個實作步驟進行調整,以滿足特定的設計挑戰,并且可以在每個設計步驟之後分析結果。此外,您可以在任何位置打開Vivado IDE進行設計分析和限制配置設定。

在非項目模式下,每個設計步驟都使用Tcl指令進行控制。例如:

  • 如果在綜合之後修改了HDL檔案,則必須記住重新運作綜合來更新記憶體中的網表。
  • 如果你想在布線完成後得到一個時序報告,你必須在布線完成時明确地生成時序報告。
  • 使用Tcl指令和參數設定設計參數和實作選項。
  • 您可以使用Tcl在設計過程的任何階段儲存設計檢查點并建立報告。

        随着設計流程的進行,設計的表示(representation)保留在Vivado設計套件記憶體中。非項目模式在每個會話之後丢棄記憶體中的設計資料,隻将您訓示的資料寫入磁盤。

Feature Differences

        在項目模式中,Vivado IDE跟蹤設計的曆史并存儲相關的設計資訊。然而,由于許多特性都是自動化的,是以在預設流程中您的控制較少。例如,每次運作時隻生成一組标準的報告檔案。但是,通過Tcl指令或腳本,您可以在項目模式中定制工具的流程和特性。

以下自動化特性僅在使用項目模式時可用:

•開箱即用設計流程

•易于使用,按鍵式界面

•強大的定制Tcl腳本語言

•源檔案管理和狀态

•自動生成标準報告

•存儲和重用工具設定和設計配置

•嘗試多重綜合和實作運作

•運作結果管理和狀态

        非項目模式,更像是一種編譯方法,您可以完全控制通過Tcl指令執行的每個操作。這是一個完全可定制的設計流程,适合特定的設計人員尋找控制和批處理。所有的處理都在記憶體中完成,是以不會自動生成檔案或報告。每次編譯設計時,您都必須定義所有的源檔案、設定所有工具和設計配置參數、啟動所有實作指令并生成報告檔案。這可以使用Tcl運作腳本來完成,因為項目不是在磁盤上建立的,源檔案保留在它們的原始位置,并且設計輸出隻在您指定的時間和地點建立。這個方法為您提供了Tcl指令的所有功能和對整個設計過程的完全控制。許多使用者喜歡使用這種批編譯風格的工具和設計資料互動。

        項目模式與非項目模式的特征差異如表2-1所示

表2-1:項目模式與非項目模式的特點

流程要素 Project Mode Non-Project Mode
設計源檔案管理 自動 手動
流程導向 有流程導向 手動
流程定制化 Tcl指令可無限制定制 Tcl指令可無限制定制
報告 自動 手動
分析階段 設計和設計檢查點 設計和設計檢查點

Command Differences

        Tcl指令根據您使用的模式而有所不同,每種模式的Tcl運作腳本的結果也不同。在非項目模式中,所有操作和工具設定都需要單獨的Tcl指令,包括設定工具選項、運作實作指令、生成報告和編寫設計檢查點。在項目模式中,指令(包裝的指令)用于單個的合成、實作和報告指令。

        例如,在項目模式中,您可以使用add_files Tcl指令向項目添加資源進行管理。可以将源代碼複制到項目中,以在項目目錄結構中維護單獨的版本,也可以遠端引用源代碼。在Non-Project模式下,您可以使用read_verilog、read_vhdl、read_xdc和read_*  Tcl指令從目前位置讀取各種類型的源檔案。

        在項目模式中,launch_runs指令使用預先配置的運作政策啟動工具,并生成标準報告。這樣就可以整合實作指令、标準報告、運作政策的使用和運作狀态跟蹤。但是,您還可以在設計過程的每個步驟之前或之後運作自定義Tcl指令。運作結果在項目中自動存儲和管理。在非項目模式下,必須運作單獨的指令,如opt_design、place_design和route_design。

提示:項目模式包括GUI操作,大多數情況下可執行Tcl指令。Tcl指令出現在Vivado IDE Tcl控制台中,并且也可在vivado.jou檔案中擷取。您可以使用該檔案來開發用于這兩種模式的腳本。

圖2-3顯示了“項目模式”和“非項目模式”Tcl指令的差別。

Vivado Design Suite User Guide Design Flows Overview -- Understanding Use Models

Using Third-Party Design Software Tools

        Xilinx與幾家第三方設計工具供應商建立了戰略夥伴關系。以下軟體解決方案僅包括綜合和仿真工具。

Running Logic Synthesis

        sysynopsys和Mentor Graphics提供的Xilinx FPGA邏輯綜合工具支援與Vivado設計套件一起使用。在Vivado設計套件中,您可以導入結構化Verilog或EDIF格式的綜合網表,以便在實作過程中使用。此外,您還可以使用Vivado設計套件中的邏輯綜合工具輸出的限制檔案(SDC或XDC)。

        所有Xilinx IP和塊設計都使用Vivado工具綜合。使用第三方工具綜合的Xilinx IP 或IP內建器塊設計是不支援的,隻有少數例外,如7系列裝置的記憶體IP。有關具體IP的更多資訊,請參閱資料表。

Running Logic Simulation

        Vivado IDE內建了Mentor Graphics、Cadence、Aldec和Synopsys提供的邏輯仿真工具,可以直接從Vivado IDE啟動。網表也可以為所有支援的第三方邏輯仿真器産生。從Vivado設計套件中,您可以在設計流程的任何階段導出完整的Verilog或VHDL網表,以便與第三方仿真器一起使用。此外,您還可以以标準延時格式(SDF)導出帶有實作後延遲的結構化網表,以供第三方時序仿真使用。Vivado設計套件還為企業使用者生成仿真腳本。使用腳本和編譯的庫,企業使用者可以在沒有Vivado Design Suite環境的情況下運作仿真。

注意:一些Xilinx IP隻提供Verilog或VHDL格式的RTL源代碼。綜合之後,結構網表可以用任何一種語言建立。

Interfacing with PCB Designers

        I/O規劃過程對高性能系統至關重要。印刷電路闆(PCB)設計者經常關心PCB上的FPGA方向和關聯。這些大型球栅陣列(BGA)裝置通常是PCB設計人員面臨的最困難的布線挑戰。其他需要考慮的問題包括關鍵接口布線、電源軌道的位置和信号完整性。FPGA和PCB設計人員之間的密切合作可以幫助解決這些設計挑戰。Vivado IDE使設計者能夠可視化實體封裝引腳和内部襯墊之間的關系,以優化系統級互連。

        Vivado設計套件有幾種方法來傳遞FPGA、PCB和系統設計結構域之間的設計資訊。I/O引腳配置可以使用 CSV(comma separated value)電子表格、RTL頭或XDC檔案來回傳遞。CSV電子表格包含額外的封裝和I/O資訊,可用于各種PCB設計任務,如比對長度連接配接和電源連接配接。一個I / O IBIS(I/O Buffer Information Specification)模型也可以從Vivado IDE中導出,用于PCB上的信号完整性分析。

有關詳細資料請參閱Vivado Design Suite User Guide: I/O and Clock Planning (UG899)

Vivado Design Suite User Guide Design Flows Overview -- Understanding Use Models

更多文章分享,請關注!