基于Tcl腳本生成Vivado工程及編譯

      網友投稿 1499 2022-05-29

      Tcl腳本簡介

      Tcl——Tool Command Language(讀作tickle),誕生于80年代的加州大學伯克利分校,作為一種簡單高效可移植性好的腳本語言,目前已經廣泛應用在幾乎所有的EDA工具中。在Xilinx最新的FPGA設計工具Vivado中,Tcl成為唯一支持的腳本。

      使用Tcl腳本的優勢如下:

      能快速生成Vivado工程及編譯工程,生成工程所需要的PL端bit文件;生成工程之后,根據自己的需要,可手動創建Block Design,或者在腳本添加IP、實現自動連接等功能。總而言之,Tcl的引入,使得Vivado設計過程也變得可編程控制,設計流程變得更加靈活多變。

      在開發的過程中,直接打開Vivado軟件,可視化地進行Block Design設計、配置IP和連線等。但是這樣手動添加IP或者連線需要花一定的時間,且編譯步驟重復累贅,因為打開了Vivado這個占用電腦資源比較大的軟件,導致生成需要的bitstream文件需要花費大量時間。使用腳本可以快速的在Vivado 2017.4?Tcl Shell(Vivado自帶的shell終端窗口)執行Tcl腳本命令,無需要打開Vivado軟件就進行編譯生成bit文件,花費的時間極大的縮短了。

      如需修改工程的Block Design文件,可以打開Vivado進行修改或者直接修改Block Design Tcl腳本,所有的Block Design設計,Vivado都會自動保存成Tcl腳本文件。

      基于TcL腳本生成Vivado工程

      Windows 7/10 64bit;

      Xilinx Vivado 2017.4。

      表 1

      開發板型號

      是否支持本實驗

      TLZ7x-EasyEVM

      支持

      TLZ7xH-EVM

      支持

      TL5728F-EVM

      支持

      TLA7-EasyEVM/TLA7-EVM

      支持

      TLK7-EVM

      支持

      TL665xF-EasyEVM

      支持

      TL6678F-EasyEVM

      支持

      由創龍提供的FPGA開發例程位于光盤Demo目錄下,本文以創龍TLK7-EVM開發板為實驗平臺,以tl-led-flash例程為例,演示使用Tcl腳本生成Vivado工程及編譯的開發步驟。

      將Demo目錄下的tl-led-flash例程復制到Windows非中文路徑下,例如復制到C盤根目錄。Vivado工程目錄結構及文件說明見下表,表格中的xxx代表具體的例程,例如 tl-led-flash例程。Vivado工程的bin文件夾下存放適用于創龍各開發平臺運行的可執行文件,src文件夾下包含constraints、hdl和scripts目錄。

      注意:Windows路徑有長度限制,路徑太長會導致出錯。

      表 2

      目錄

      文件/目錄

      說明

      bin

      xxx.bin/xxx.bit

      可執行文件,可直接運行測試

      src

      constraints

      約束文件

      hdl

      Verilog源碼

      scripts

      xxx_project.tcl

      執行該腳本生成Vivado工程

      clean.sh

      clear_project.tcl

      刪除log文件和生成的工程

      使用TcL終端打開Tcl腳本

      打開Vivado軟件,點擊菜單欄"Window->Tcl Consonle"打開Tcl控制臺窗口。

      在Tcl控制臺窗口執行如下指令(注意指令中"/"符號的方向),進入需要執行的Tcl腳本所在路徑,該腳本文件用于生成tl-led-flash例程的Vivado工程。

      Vivado% cd C:/tl-led-flash/src/scripts

      生成Vivado工程

      進入xxx_project.tcl腳本所在路徑,執行Tcl腳本生成對應平臺的Vivado工程。本次操作中生成創龍TLK7-EVM開發板的Vivado工程——tl_led_flash,指令參數解釋如下:

      Vivado%? vivado -mode batch -source tl_led_flash_project.tcl -tclargs?tlk7-evm xc7k325tffg676-2

      vivado -mode batch:使用vivado的batch模式;

      -source ?axi_gpio_project.tcl:選中要執行的Vivado工程xxx_project.tcl腳本文件;

      -tclargs ?tlk7-evm ?xc7k325tffg676-2:修改"-tclargs"參數,即可生成對應開發平臺和芯片型號的工程。這里生成了TLK7-EVM開發板,FPGA型號為XC7K325TFFG676-2的Vivado工程。如需要生成TLZ7x-EasyEVM開發板,SoC芯片型號為XC7Z010CLG400-2的工程,則將指令修改為:-tclargs ?tlz7x-easyevm ?xc7z010clg400-2。表 3

      開發板型號

      FPGA(SoC)型號

      基于Tcl腳本生成Vivado工程及編譯

      "-tclargs"參數

      TLZ7x-EasyEVM

      XC7Z010CLG400-2

      tlz7x-easyevm ?xc7z010clg400-2

      XC7Z020CLG400-2

      tlz7x-easyevm ?xc7z020clg400-2

      TLZ7xH-EVM

      XC7Z100FFG900-2

      tlz7xh-evm ?xc7z100ffg900-2

      TL5728F-EVM

      XC7A100TFGG484-2

      tl5728f-evm ?xc7a100tfgg484-2

      TLA7-EasyEVM

      TLA7-EVM

      XC7A100TFGG484-2

      tla7-evm ?xc7a100tfgg484-2

      TLK7-EVM

      XC7K325TFFG676-2

      tlk7-evm ?xc7k325tffg676-2

      TL665xF-EasyEVM

      XC7A100TFGG484-2

      tl665xf-easyevm ?xc7a100tfgg484-2

      TL6678F-EasyEVM

      XC7K325TFFG676-2

      tl6678f-easyevm ?xc7k325tffg676-2

      執行腳本彈出如下對話框,Tcl控制臺窗口打印的WARNING警告信息可以忽略。

      Tcl腳本執行完成后,Tcl控制臺窗口打印信息如下圖所示,同時在工程源碼"\src\runs"目錄下生成對應開發平臺的Vivado工程。本次生成了配套于創龍TLK7-EVM開發板的tl_led_flash工程。

      Vivado工程編譯

      雙擊Vivado工程"src\runs\tl_led_flash.xpr"文件

      ,打開新生成的Vivado工程如下圖所示。

      點擊左邊欄PROGRAM AND DEBUG下的Generate?Bitsteam選項,彈出對話框中選擇Yes選項,如下圖所示:

      在彈出的Launch Runs對話框中,點擊OK開始編譯Vivado工程,如下圖所示:

      用時約6min后,Vivado工程編譯完成,實際編譯時間跟FPGA工程和PC性能相關。在彈出以下對話框中,點擊Cancel完成編譯步驟。

      編譯完后會在Vivado工程"src\runs\xxx.runs\impl_1"目錄下生成可執行文件xxx.bit和xxx.bin,如下圖所示。其中xxx.bit文件內包含head information,可以通過下載器解析后加載到FPGA核,xxx.bin文件為可執行文件。

      為便于測試,我司提供由Vivado工程編譯生成的可行文件放于bin目錄下,該目錄下包含了適用于創龍全部開發平臺的可執行文件,將其下載到開發板即可運行測試。

      單片機 TCP/IP 硬件開發

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:一個HBase偶現Get慢查詢responseTooSlow的分析定位
      下一篇:華為云企業級Redis揭秘第16期:超越開源Redis的ACID"真"事務
      相關文章
      国产成人精品久久亚洲高清不卡 | 亚洲第一香蕉视频| 国产精品观看在线亚洲人成网| 亚洲视频免费一区| 亚洲产国偷V产偷V自拍色戒| 亚洲精品自产拍在线观看| 亚洲精品国产精品国自产观看 | 亚洲成色www久久网站夜月| 亚洲乱码精品久久久久..| 亚洲综合无码精品一区二区三区| 国产成人精品日本亚洲专区61| 亚洲综合色区在线观看| 日日噜噜噜噜夜夜爽亚洲精品| 伊人久久大香线蕉亚洲| 亚洲精品乱码久久久久久久久久久久 | 亚洲AV无码一区二区三区牛牛| 99热亚洲色精品国产88| 亚洲自偷自偷在线成人网站传媒| 亚洲色丰满少妇高潮18p| 亚洲国产欧美国产综合一区 | 亚洲精品国产成人99久久| 久久亚洲精品成人AV| 亚洲美女在线观看播放| 亚洲乱码无限2021芒果| 亚洲国产日韩精品| 亚洲av无码片vr一区二区三区| 国产成人高清亚洲一区久久| 亚洲精品国产高清嫩草影院| 亚洲一区精品无码| 亚洲成人免费在线| 亚洲激情校园春色| 亚洲中文字幕无码av永久| 亚洲av日韩综合一区久热| 亚洲国产香蕉人人爽成AV片久久| 亚洲一区精品无码| 久久久久亚洲AV成人片| 一本色道久久综合亚洲精品蜜桃冫| www亚洲精品久久久乳| 亚洲一区精品伊人久久伊人| 水蜜桃亚洲一二三四在线| 亚洲性69影院在线观看|