1. 程式人生 > >Vivado HLS中的TCL命令介面(指令碼語言)(高階綜合)(FPGA)

Vivado HLS中的TCL命令介面(指令碼語言)(高階綜合)(FPGA)

前言:這個例項源於賽靈思的官方HLS手冊——(UG871),展示瞭如何基於已存在的Vivado HLS工程來建立一個TCL指令碼命令和如何應用TCL介面(已存在的工程為"lab1",使用TCL新建立的工程為“lab2”),軟體版本2013.4和2017.4均親測有效。

一、步驟1:建立TCL檔案。

1、開啟Vivado HLS 命令提示符

2、在windows系統中,採用“Start>All Programs>Xilinx Design Tools>Vivado2014.2>Vivado HLS>Vivado HLS 2014.2 ”命令提示符,(可能會存在一個問題,即當命令列視窗的預設路徑不是要求的路徑。此時,可以手動更改,再開始選單找到“命令列提示符”右鍵屬性,在“快捷方式”一欄中可以更改初始路徑)如下圖:

3、當建立一個Vivado HLS工程,TCL檔案自動儲存在專案層次結構中。在開啟lab1的使用者介面中,檢視工程,在工程結構中呈現了兩個TCL檔案見下圖:

4、在開啟lab1使用者介面中,開啟solution1中Constraints資料夾,雙擊script.tcl檔案,相關資訊在資訊視窗中呈現。

(1)script.tcl檔案包含了tcl命令,這命令是為了建立專案在設定和執行綜合過程中指定的檔案專案。

(2)directives.tcl檔案包含了一些應用在設計的優化項。

在這個實驗練習中,lab1是一個已經建立的完善的工程(包含.c檔案、.h檔案、tb檔案、和用來給.tb檔案輸出做對比的正確資料檔案.dat),我們可以採用lab1的script.tcl檔案(在lab1工程建立時自動生成的檔案),來為lab2建立一個tcl檔案。

5、在vivado HLS命令提示符中,採用以下的命令(在圖19表示)在為lab2建立新的tcl檔案。

(1)將目錄更改為lab1工程所在的目錄:C:\Vivado_HLS_Tutorial\Introduction

(2)用命令cp lab1\fir_pri\solution1\script.tcl lab2\run_hls.tcl 來拷貝存在tcl檔案到lab2(在Windows命令提示符下支援使用Tab鍵自動完成:按tab鍵多次看到新的選擇),此時在lab2工程目錄下已經出現run_hls.tcl檔案,內容和lab1工程目錄中的script.tcl檔案一樣。

(3)用命令cd lab2 改變成lab2的目錄:

(4).使用任何文字編輯器(比如notepad++),請執行下列編輯在lab2目錄中的檔案run_hls.tcl。最終的編輯如下圖

1)新增-reset選項的open_project命令。因為你通常反覆在同一個專案中執行Tcl的檔案,最好是覆蓋任何現有的專案資訊。

2)新增-reset選項的open_solution命令。這消除了當Tcl的檔案在同一解決方案中重新執行時任何現有解決方案的資訊。

3)刪除源命令,如果在以前的專案中包含您希望重新使用的任何指令,你可以從該專案中複製directives.tcl檔案到本地路徑,也可以直接複製指令到該檔案中。

4)新增退出命令。

(5) 儲存檔案。

6、可以用tcl檔案在批處理模式下執行vivado HLS(在不啟動HLS軟體的GUI介面的情況下)。

(1).在vivado HLS命令提示符視窗中(目錄精確到\lab2),鍵入vivado_hls -f run_hls.tcl.

Vivado HLS執行建立工程所有的步驟(C模擬、C綜合、C和RTL驗證、封裝IP)。完成後,結果可在lab2工程目錄的fir_prj目錄內使用。

1)綜合報告在fir_prj\solution1\ syn\report是可用的。

2)模擬結果在fir_prj\solution\sim\report是可用的。

3)輸出包在fir_prj\solution1\impl\ IP是可用的。

4)最終輸出的RTL在fir_prj\\solution1\impl,然後Verilog或VHDL是可用的。

7、補充:

(1)在一個完整工程目錄下,可以通過命令列視窗啟動工程(開啟Vivado HLS的GUI介面)。在本文的例子中,命令列視窗鍵入紅色字型C:\Vivado_HLS_Tutorial\Introduction\lab2>vivado_hls -p fir_prj,之後則會在GUI介面中啟動lab2工程(lab2本身也是由命令列視窗建立的工程);

(2)當從Vivado HLS專案中複製RTL結果,必須使用在impl目錄中的RTL;

(3)使用浮點運算子或AXI4介面的設計中,在syn目錄中的RTL檔案是僅由綜合輸出的。需要經過HLS軟體進行額外的處理(export_design),在可以使用此RTL在其他設計工具中執行之前。

###### 轉載請出名出處 https://blog.csdn.net/Gentleman_Qin/article/details/80043042 ########