當前位置:首頁 » 數據倉庫 » vivado怎麼配置tcl文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

vivado怎麼配置tcl文件

發布時間: 2022-05-30 23:38:21

A. 在vivado程序中怎麼找到幾個名字一樣的名稱

繼而產生各種報告,所以一般要求用做參考的 ,工程模式下的Tcl腳本更簡潔。

Hook Scripts

Vivado IDE中內置了tcl。

tcl,驗證返回值。不同按鈕對應不同的實現過程.dcp文件,tcl。

特別需要指出的是 Flow Navigator只有在Vivado IDE中打開 。
運行過程中,而且只列出非工程模式下對應的Tcl命令,我們還可以利用Tcl Console與時序報告.pre和tcl,還支持布局後的物理優化;,從前到後依次執行。布線後的物理優化有時候會惡化THS,工具會自動創建相應的。這一步的結果不理想就可以及時退回到上一步的 ,增量布局布線對沒有發生變化的設計部分造成的破壞也很小,大大提升了效率、修改網表內容,尤其對文件輸出和管理全權負責,極大發揮Vivado IDE的優勢,直到找到正確合適的命令。

Vivado中則統一了約束格式和數據模型,但我們要指出的是,效果會更好,在Vivado中,進行互動式調試等各種在圖形化下更便捷直觀的操作.xpr工程文件。

如下圖所示。

充分利用物理優化

物理優化即 phys_opt_design 是在後端通過復制。

用Tcl定製實現流程

綜上所述。

這里不會討論那些圖形化界面中可選的策略。特別需要指出的是, 在Tcl Console中輸入新的Tcl//XDC命令或是source預先寫好的Tcl腳本,不同的實現策略中配置不同。

下圖所示是同一個設計(Vivado自帶的Example Design)採用兩種模式實現所需使用的不同腳本,只要運行時序報告來驗證.runs和lt,保證了更快地設計迭代.post 表示這步之後會source的腳本。在Xilinx推出全面支持Tcl的Vivado後,用戶建立了一個Vivado工程後,並且只會基於時序不滿足的路徑進行重布局而不會改變大部分已經存在的布局信息、實現ECO等等。Tcl腳本必須事先寫好,在布局後,不會存儲硬碟中,在設計實現過程中的每一步.dcp 繼續進行,否則會因沖突而報錯。當設計有95% 以上的相似度時。

我們要展示的是如何對設計流程進行改動來更好的滿足設計需求;XDC命令,非工程模式提供了一種類似ASIC設計的流程、何地,還可以使用Tcl腳本來跑設計,也是設計實現的首選,不同策略有何側重,從而實現設計流程的全定製,這一點依然沒有改變,可以生成時序報告.dcp 文件來保留階段性結果,從而進行時序優化的重要手段,最大限度保留時序結果,標準的FPGA設計實現流程完全可以通過Vivado IDE一鍵式執行,因此能減少時序變化。大體上跟IC設計流程類似.dcp 文件可以在Vivado IDE的Implementation設置中指定,如要在不新建一個impl實現的情況下使用上一次運行的結果作為參考點;,並且通過 write_checkpoint 寫出一個 .dcp 文件必須是一個完全時序收斂的設計,也有可能出現時序完全沒有得到優化的結果。

另外,包括何時.dcp文件一樣可以在Viv IDE中打開,但會增加額外的運行時間。可以通過Tcl寫一個循環多次迭代運行,這些動作往往只能通過Tcl腳本來實現,正是有了這樣的腳本。若是這些方法都不能滿足需求.cache,用戶就需要自己管理設計源文件和設計過程.xpr 工程文件才會顯示,但也需要用戶對設計實現的過程和數據。

下圖所示是Vivado中設計實現的基本流程.pre 表示當前這步之前Vivado會主動source的Tcl腳本,指引工具具體執行實現的哪一步,可以分為前端設計和後端設計。

以下兩圖分別表示ISE和Vivado的基本設計流程。設計實現的每一步都有這樣兩個位置可供用戶加入自己的Tcl腳本,也可以在Tcl腳本中用 read_checkpoint -incremental 讀入,設計調試過程中,可以完全掌控設計實現流程,但需留意每次的時序報告。需要注意的是、lt,用戶可以在Synthesis和Implementation的設置窗口中找到,每次運行改動很小,的做法就是在IDE中打開,成為一個按鈕,並且可以選擇不同的directive來有側重的優化時序、lt、輸出怎樣的文件等等,如果能重跑設計;,甚至可以再多運行一次物理優化,或是在布線前再跑幾次物理優化等;prj_namegt,則使用增量布局布線只有很小的優勢或者基本沒有優勢。

使用非工程模式管理輸入輸出文件,用戶可以通過 place_design -post_place_opt 在已經完成布局布線的設計上再做一次布局布線,運行增量流程的前提是有一個已經完成布局布線的,在每一步都能輸出包含有網表,若出現時序惡化就應及時停止。

布局布線之間的多次物理優化不會惡化時序,在運行過程中允許用戶輸入Tcl/XDC的優勢,如果僅需要少量擴展,圖形化界面仍舊是最熟悉的操作環境,增量布局布線的運行時間會比一般布局布線平均縮短2 倍,使用起來也不能混淆,就是從源代碼到比特流文件的實現過程,用戶需要維護不同的輸入文件,使用不同的directive或選項來跑多次物理優化:以下討論的幾種實現方案中僅包含後端實現具體步驟的區別,或是在Vivado 圖形化界面IDE 中交互運行和調試、select_objects等等)的幫助,又充分利用Tcl帶來的擴展性,從而形成一個有了反饋信息的閉環系統,並生成可預測的結果。

Customer Commands

Vivado IDE中還有一個擴展功能,但往往不知道這一步其實可以運行多次.dcp 文件(不論是工程模式或是非工程模式產生的dcp)都不會顯示這個側欄,並在工程文件所在的位置同層創建相應的幾個目錄,仍然可以充分利用Tcl的優勢,其中在後端實現階段:

ISE中設計實現的每一步都是相對獨立的過程。

參考點 ,在某個步驟後多產生幾個特別的報告,我們才得以在圖形化界面上既享有一鍵式執行的便利。

注、RTL和門級網表以及布局布線後的網表之間進行交互調試。

舉例來說,用戶擁有絕對的自由,通過某些Tcl命令(例如show_objects,藍色部分表示實現的基本步驟(盡管 opt_design 這一步理論上不是必選項;prj_namegt,數據模型各不相同,包括lt,在開始後端實現前讀入的設計網表具有較高相似度的情況下,一般在布局和布線之間運行。非工程模式下產生的。具體directive的含義可以通過UG835。這些預置的命令按鈕就放置在工具最左邊的側欄,但並不是最底層的Tcl命令、約束以及布局布線信息(如果有)的設計檢查點(DCP)文件。不同於ISE中必須修改UCF重跑設計的做法,更詳細的內容可以在UG975和UG835中找到,對應Implementation的Default策略。這次因為有了前一次布線後的真實連線延遲信息.1開始。當設計進行到後期.data;prj_namegt。

工程模式

工程模式的關鍵優勢在於可以通過在Vivado 中創建工程的方式管理整個設計流程,布局的針對性更好。

除了縮短運行時間外,是一種很有針對性的時序優化方案,例如約束等。當然,冗餘文件較多。

閉環設計流程

通常的FPGA設計流程是一個開環系統、移動寄存器來降扇出和retiming,在設計實現的任何一個階段都支持XDC約束。這是一個常見誤區;。這個功能常常用來報告特定的時序信息。

非工程模式

非工程模式下,但是這種方法在早期設計階段提供了一種快速進行互動式驗證的可能。

這一過程所需的運行時間較短,輸出文件也不是標准網表格式,還可以用右鍵調出詳細分步命令,就像很多人誤認為工程模式下不支持Tcl腳本運行是一個道理,必須將其另存到這次運行目錄之外的位置,分別用於存儲運行工程過程中產生的數據。在Vivado IDE 上運行Tcl腳本主要有以下幾個渠道。

簡單來講,並存入XDC文件中以備下次實現時使用,無需重跑設計,所以請一定記得每一步後都運行 report_timing_summary,Vivado支持工程模式(Project Based Mode)和非工程模式(None Project Mode)兩種。

Vivado支持的兩種Tcl腳本

Tcl對圖形化的補充

相信對大部分FPGA工程設計人員來說,或是缺失了某些重要約束,需要將一些約束應用在某些網表目標上(具體可參照《Tcl在Vivado中的應用》所示):Flow Navigator ,使用Vivado的增量布局布線功能,並且形式各異,包括工程文件的位置,允許用戶把事先創建好的Tcl腳本以定製化命令的方式加入圖形化界面,從Vivado 2014,返回值會即時顯示在這個對話框,在Vivado IDE 中還可以一鍵式運行整個設計流程。

從使用方式上來講,具體如何配置我們將在另外一篇關於Vivado策略選擇的文章中詳細描述,預先讀入的XDC中有些約束需要修改。黃色部分表示可選擇執行的部分;prj_namegt.srcs等等(不同版本可能有稍許差異),且都能通過Tcl 腳本批處理運行,但仍強烈建議用戶執行)、階段性關鍵報告的生成,在用戶不主動輸出的情況下。

增量設計流程

Vivado中的增量設計也是一個不得不提的功能,由於不會創建工程基本的FPGA設計實現流程

FPGA的設計流程簡單來講.dcp然後在Tcl Console中輸入相應的Tcl/XDC。但Vivado中提供了一種可能.post,而後端設計則是把門級網表布局布線到晶元上最終實現的過程,碰到問題可以直接修改。若相似度低於80%。

很多用戶會在Vivado中選中phys_opt_design

B. xilinx新一代fpga設計套件vivado應用指南 怎麼樣

Vivado是Xilinx最新的FPGA設計工具,支持7系列以後的FPGA及Zynq 7000的開發。與之前的ISE設計套件相比,Vivado可以說是全新設計的。無論從界面、設置、演算法,還是從對使用者思路的要求,都是全新的。看了大家很多的博文,基本上都是用GUI創建工程,那我就簡單介紹一下Vivado的腳本使用。
在ISE設計套件中,支持多種腳本: 可以用xperl來運行perl腳本,可以用xtclsh來運行Tcl腳本,還可以用windows批處理腳本來運行設計流程。
ISE集成的Tcl腳本解釋器為8.4版本。同時,ISE GUI中的Tcl console功能不夠強大,部分組件使用的腳本也與Tcl有不同,導致Tcl腳本在ISE上並不十分流行。
在Vivado上,Tcl已經成為唯一支持的腳本。並且,所有操作都有對應的Tcl腳本可以執行。所以,掌握Tcl腳本語言對掌握Vivado的使用有重要幫助。
Vivado上集成的Tcl腳本解釋器為8.5版本,也是目前比較流行的Tcl版本。Vivado的核心就是一個腳本解釋器,GUI界面只是將各種腳本命令封裝為圖形化界面而已。

C. vivado 怎麼把i o t 封裝到一起

Vivado Logic Analyzer的使用
chipscope中,通常有兩種方法設置需要捕獲的信號。
1.添加cdc文件,然後在網表中尋找並添加信號
2.添加ICON、ILA和VIO的IP Core
第一種方法,代碼的修改量小,適當的保留設計的層級和網線名,圖形化界面便於找到
需要捕獲的信號。
第二種方法,對代碼的改動量大一些,同時需要熟悉相關IP的設置,優點是,可以控制
ICON,並調用VIO。
與之類似,Vivado也有著兩種方法進行設置。
1.在綜合後的網表中尋找相關信號,右鍵點開菜單,然後設置mark debug
2.添加ILA,VIO的IP Core

第一種方法與chipscope的第一種方法極為類似:
1.都需要綜合後才能設置;
2.都需要保留一定的設計層級或者網線名來便於尋找信號;
3.並非所有信號都可以被捕獲,不能捕獲的信號,chipscope中是顯示為灰色,vivado
中是沒有mark debug的選項在右鍵菜單中;
第二種方法就更為類似了,vivado可以兼容ISE的IP,所以可以直接調用chipscope的相
關IP,調試時也只是用Chipscope,另外可以使用Vivado自己的ILA IP,來進行設計,
但最大的問題是Vivado不提供ICON的IP以供選擇,進一步埋沒了ICON的地位。
另外,早起的Vivado IP Catalog提供Chipscope的ICON、ILA和VIO IP Core可以選擇,目前已經取消了這些IP,只支持Vivado自己的ILA/VIO IP Core。
這里提供一個非常簡單的設計代碼,用於Vivado Logic Analyzer的研究。

`timescale 1ns / 1ps

mole Nexy_4 (
input I_CLK,
output [3:0] O_ST_COUNTER,
output O_TIMECOUNTER_OUTPUT

);
wire CLK_100;

clk_wiz_0 CLK_UNIT
(
.clk_in1 (I_CLK),
.clk_out1 (CLK_100),
.locked ()
);

reg [7:0] startup_counter = 'b0;

always @ (posedge CLK_100)begin
if(startup_counter == 8'b11111111)begin
startup_counter <= 8'b00000011;
end else begin
startup_counter <= startup_counter + 8'b1;
end
end

assign O_ST_COUNTER = startup_counter[7:4];

wire [47:0] TimeCounter_Result_wire ;
reg [47:0] TimeCounter_Result_reg = 'b0 ;
reg TimeCounter_Output ;
always @ (posedge CLK_100)begin
TimeCounter_Result_reg <= TimeCounter_Result_wire;
end
TimeCounter TimeCounter_Unit (
.CLK ( CLK_100 ), // input wire CLK
.A ( 2'b01 ), // input wire [1 : 0] A
.C ( TimeCounter_Result_reg ), // input wire [47 : 0] C
.P ( TimeCounter_Result_wire ) // output wire [47 : 0] P
);
always @ ( posedge CLK_100 )begin
TimeCounter_Output <= TimeCounter_Result_reg[47];
end
assign O_TIMECOUNTER_OUTPUT = TimeCounter_Output ;
endmole

綜合後的Netlist中選擇信號進行捕獲的方法。
只有Nets下的信號可以設置mark debug。

從原理上來說是很不合理的。Chipscope的捕獲界面中,只有Reg信號可以被抓取,而Vivado是Net,從實際的角度說也是很不合理的,LUT可以直接被抓去,從原理上和時序上,對設計都是不合適的。

在Set Up Debug中,工具會自動分析信號的所在時鍾域,並添加時鍾。少數情況,可以通過右鍵點擊Select Clock Domain來修改時鍾域。

下一頁設置存儲深度,相比較ChipScope,信號的寬度不需要事先設定好,而是根據捕獲信號來自動設定,Vivado確實方便了很多。

設置好之後,可以在屬性中修改ILA Core的屬性。確認無誤後進行Implementation。

不過,從Implementation的結果可以看到,雖然抓取的是LUT的信號,但是ILA的IP已經添加了寄存器進行隔離。從這一結果考慮,Vivado的ILA設計還是很優秀的。
但即使是這樣,為了netlist中的Reg型信號無法設置mark debug,確實是一個不好理解的解釋。

最終,Vivado Logic Analyzer的設置會以Tcl腳本的形式反應到XDC文件中。
完成Implementation後,生成bit文件,打開Hardware Manager,下載並配置好FPGA,開始Vivado Logic Analyzer的使用。
1. 下載好bit文件後的界面如下圖所示。

2. 這里有個問題,Vivado 2014.2中,Debug Probes窗口不會自動打開,可以再Windows選項單中找到該窗口。
3. 打開Debug Probes窗口後的界面如下圖所示。
4. 在Debug Probes中,把需要觀察的信號拖到Basic Trigger Setup中,可以設置觸發信號。
5. 設置好觸發信號之後,就可以開始捕獲信號。
6. 每一組觸發條件可以設置Operator、Radix和Value來設置具體的觸發條件,多個觸發條件還可以進行組合。
7. 為了便於觀察,在Window data depth將數據設為16個數據。
8. 設置好之後重新捕獲數據,可以看到一次只捕獲16個數據。
9. 可以設置窗口的數目,這里將Number of Windows設為2,代表兩個窗口,每次捕獲的數據為4個。
10. 重新觸發後,可以看到,觸發了兩次,每次的觸發條件都是一致的,即startup_counter = 8』h03。從下方的兩個計數器可以看到,是先後的兩次捕獲。
其實,與chipscope類似,可以設置捕獲數據的條件。
1. 將Capture mode設置為BASIC。

2. 在Basic Trigger Setup下面可以看到Basic Capture Setup的界面。

3. 從上兩張圖可以看到,觸發信號為starup_counter,觸發條件為03,捕獲條件為88,觸發位置為7。
4. 從捕獲結果圖來看,一共捕獲了16個數據,觸發條件處在第7個數據的位置上,該觸發條件會被捕獲。另外,在觸發條件前後的數據,只有數據位88時才會被捕獲。
5. 將觸發位置設為0後重新捕獲,可以看到第一個數據是觸發條件,隨後的數據只有為88才會被捕獲。
6. 這里,對ChipScope和Vivado Logic Analyzer的功能進行一個初步的比較。

ChipScope Vivado Logic Analyzer Basic
多種觸發值 支持 支持
觸發條件組合 支持 支持
觸發位置選擇 支持 支持
多窗口觸發 支持 支持
重復觸發 支持 支持
條件捕獲 支持 支持
狀態機觸發 16狀態 不支持
計數器輔助 支持 不支持

標志位顯示 不支持 不支持
重復觸發功能在文章中沒有涉及。
從該表可以看到,ChipScope的功能似乎較為強大。雖然在設置捕獲信號時Vivado較為便捷,但是在調試時似乎不如ChipScope的方便。
需要注意的是,Vivado並沒有確實這些功能,而是沒有提供在Basic功能中,關於Advancedd用法,會在後續博文中描述。

D. 官方常式給了四個文件兩個tcl文件,一個xdc文件,一個v文件,能在vivado下還原出整個工程嗎怎麼做呢

在這之前,你先得點開那個tcl文件,看是哪個版本的vivado,因為不同版本的vivado用的ip核可能不同,所以先得vivado版本一致;然後進vivado,在tcl console下,輸入pwd,查看當前路徑,然後將路徑用cd指令指到你所在的文件夾下,如cd e:/vivado_workspace,然後再pwd查看下,如果路徑對了, 最後vivado界面下tools下run tcl script,路徑指到這個system_project.tcl。

E. 如何在Vivado中使用Tcl腳本替代約束

Vivado是Xilinx最新的FPGA設計工具,支持7系列以後的FPGA及Zynq 7000的開發。與之前的ISE設計套件相比,Vivado可以說是全新設計的。無論從界面、設置、演算法,還是從對使用者思路的要求,都是全新的。看了大家很多的博文,基本上都是用GUI創建工程,那我就簡單介紹一下Vivado的腳本使用。


在ISE設計套件中,支持多種腳本: 可以用xperl來運行perl腳本,可以用xtclsh來運行Tcl腳本,還可以用windows批處理腳本來運行設計流程。


ISE集成的Tcl腳本解釋器為8.4版本。同時,ISE GUI中的Tcl console功能不夠強大,部分組件使用的腳本也與Tcl有不同,導致Tcl腳本在ISE上並不十分流行。


在Vivado上,Tcl已經成為唯一支持的腳本。並且,所有操作都有對應的Tcl腳本可以執行。所以,掌握Tcl腳本語言對掌握Vivado的使用有重要幫助。


Vivado上集成的Tcl腳本解釋器為8.5版本,也是目前比較流行的Tcl版本。Vivado的核心就是一個腳本解釋器,GUI界面只是將各種腳本命令封裝為圖形化界面而已。


下面以Windows為平台,用腳本的思路,運行一下Vivado:

首先需要設置環境變數,在path環境變數中添加Vivado的路徑,路徑設置到bin文件夾,例如 C:XilinxVivado2014.1in

在Windows界面下,「開始」->「運行」,輸入cmd,打開windows命令行終端。這個時候 有三個選擇:

1. 輸入「vivado」,啟動Vivado GUI界面,和點擊桌面上的圖標啟動Vivado沒什麼區別;事實上,直接點擊桌面圖標,就是調用windows batch命令啟動vivado

2. 輸入「vivado -mode batch -source file.tcl」,從腳本批處理的形式啟動Vivado,運行後直接執行file.tcl文件

3. 輸入「vivado -mode tcl」,啟動Tcl互動式命令行。

使用第三種方法。啟動後顯示Vivado的版本,這里使用2014.1

F. 如何在Xilinx ISE中使用TCL提高工作效率

使用TCL腳本可以極大地提高ISE的工作效率,省去了很多手動的滑鼠點擊,你只要編輯好相關的Verilog/VHDL源文件和UCF文件即可,然後運行一下.tcl文件就可以等著看結果了。下面簡要說明:
第一步:新建工程文件夾,將編寫好的Verilog/VHDL源文件和UCF文件及TCL文件(編寫方法見下文)放入文件夾中
第二步:打開ISE,單擊ISE信息提示欄中的Tcl Console,在Command欄鍵入pwd,查看當前目錄,然後鍵入cd命令進入到你新建的工程文件夾,例如:cd D:/new
第三步:運行tcl腳本文件,鍵入source new.tcl(假設你的.tcl文件名為new.tcl),剩下的工作就是等待了,腳本運行完後會生成bit文件
下面大致講一下Xilinx下tcl腳本文件的編寫,首先新建一個文本文件,保存為.tcl格式,將下面的內容復制進文本文件,照著修改就行了
要深入學習TCL建議看Xilinx的相關文檔,還有華為TCL培訓教程等
project new my_proj1.ise;# 新建工程
project set family spartan3e;# 選擇器件
project set device xc3s500e
project set package fg320 project set speed -4

G. vivado安裝教程

首先要去下載vivado的安裝包。建議去官網下載下載好了安裝解壓。

vivado是一款Xilinx開發的功能強大的產品加工分析軟體。

Vivado設計有工程和非工程兩種模式

  • 工程模式是使用Vivado設計套件工程自動管理設計源文件、設計配置和結果,使用圖形化Vivado集成設計環境(IDE)互動式處理設計。關鍵優勢在於Vivado工具可管理整個設計流程,包括工程文件管理、報告生成、數據存儲等。在綜合後修改HDL源文件,工具會自動生成時序和功耗報告。
  • 非工程模式是使用Tcl腳本流程,在非工程模式下,需要自己管理設計源文件和設計過程。源文件只能從當前位置訪問,不能將其復制到其它位置。設計結果保留在已分配給Vivado工具進程的機器內存中。使用Tcl命令來設置設計參數和實現選項。可使用Tcl在設計過程的任何階段保存設計檢查點(DCP)並生成報告 。

H. 如何利用Vivado SDK建立自己的騫こ

step1、編輯源碼,保證其編譯通過
step2、修改bsp的mss、mld、tcl文件
step3、製作模板工程,將模板和BSP文件夾一起放到自己喜歡的路徑下
step4、在SDK中設定repository的路徑
step5、創建工程並測試

I. 怎麼用vivado生成bin或者mcs文件

點一下 generate bitstream setting 勾選裡面bin文件產生選項至於產生mcs 方法 我也沒找到 似乎是用tcl命令 比如tcl console裡面執行 write_cfgmem -format mcs -interface spix4 -size 128 -loadbit "up 0 E:/x.bit" -file x.mcs implement完後,設置spi的寬度是4. open implement 在菜單tool下面有個屬性設置里有類似原來是impact轉換工具。