電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 2522|回復: 0
收起左側(cè)

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

[復制鏈接]

678

主題

902

帖子

8293

積分

高級會員

Rank: 5Rank: 5

積分
8293
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-6-2 15:21:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Tcl腳本簡介
Tcl——Tool Command Language(讀作tickle),誕生于80年代的加州大學伯克利分校,作為一種簡單高效可移植性好的腳本語言,目前已經(jīng)廣泛應用在幾乎所有的EDA工具中。在Xilinx最新的FPGA設(shè)計工具Vivado中,Tcl成為唯一支持的腳本。
使用Tcl腳本的優(yōu)勢如下
  • 能快速生成Vivado工程及編譯工程,生成工程所需要的PL端bit文件;生成工程之后,根據(jù)自己的需要,可手動創(chuàng)建Block Design,或者在腳本添加IP、實現(xiàn)自動連接等功能?偠灾,Tcl的引入,使得Vivado設(shè)計過程也變得可編程控制,設(shè)計流程變得更加靈活多變。
  • 在開發(fā)的過程中,直接打開Vivado軟件,可視化地進行Block Design設(shè)計、配置IP和連線等。但是這樣手動添加IP或者連線需要花一定的時間,且編譯步驟重復累贅,因為打開了Vivado這個占用電腦資源比較大的軟件,導致生成需要的bitstream文件需要花費大量時間。使用腳本可以快速的在Vivado 2017.4 Tcl Shell(Vivado自帶的shell終端窗口)執(zhí)行Tcl腳本命令,無需要打開Vivado軟件就進行編譯生成bit文件,花費的時間極大的縮短了。
  • 如需修改工程的Block Design文件,可以打開Vivado進行修改或者直接修改Block Design Tcl腳本,所有的Block Design設(shè)計,Vivado都會自動保存成Tcl腳本文件。​​​​​​​
基于TcL腳本生成Vivado工程
  • Windows 7/10 64bit;
  • Xilinx Vivado 2017.4。
表 1
開發(fā)板型號
是否支持本實驗
TLZ7x-EasyEVM
支持
TLZ7xH-EVM
支持
TL5728F-EVM
支持
TLA7-EasyEVM/TLA7-EVM
支持
TLK7-EVM
支持
TL665xF-EasyEVM
支持
TL6678F-EasyEVM
支持

由創(chuàng)龍?zhí)峁┑腇PGA開發(fā)例程位于光盤Demo目錄下,本文以創(chuàng)龍TLK7-EVM開發(fā)板為實驗平臺,以tl-led-flash例程為例,演示使用Tcl腳本生成Vivado工程及編譯的開發(fā)步驟。
將Demo目錄下的tl-led-flash例程復制到Windows非中文路徑下,例如復制到C盤根目錄。Vivado工程目錄結(jié)構(gòu)及文件說明見下表,表格中的xxx代表具體的例程,例如 tl-led-flash例程。Vivado工程的bin文件夾下存放適用于創(chuàng)龍各開發(fā)平臺運行的可執(zhí)行文件,src文件夾下包含constraints、hdl和scripts目錄。
注意:Windows路徑有長度限制,路徑太長會導致出錯。
表 2
目錄
文件/目錄
說明
bin
xxx.bin/xxx.bit
可執(zhí)行文件,可直接運行測試
src
constraints
約束文件
hdl
Verilog源碼
scripts
xxx_project.tcl
執(zhí)行該腳本生成Vivado工程
clean.sh
clear_project.tcl
刪除log文件和生成的工程

使用TcL終端打開Tcl腳本
打開Vivado軟件,點擊菜單欄"Window->Tcl Consonle"打開Tcl控制臺窗口。
​​​​​​​
在Tcl控制臺窗口執(zhí)行如下指令(注意指令中"/"符號的方向),進入需要執(zhí)行的Tcl腳本所在路徑,該腳本文件用于生成tl-led-flash例程的Vivado工程。
Vivado% cd C:/tl-led-flash/src/scripts

​​​​​​​生成Vivado工程
進入xxx_project.tcl腳本所在路徑,執(zhí)行Tcl腳本生成對應平臺的Vivado工程。本次操作中生成創(chuàng)龍TLK7-EVM開發(fā)板的Vivado工程——tl_led_flash,指令參數(shù)解釋如下:
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:選中要執(zhí)行的Vivado工程xxx_project.tcl腳本文件;
-tclargs  tlk7-evm  xc7k325tffg676-2:修改"-tclargs"參數(shù),即可生成對應開發(fā)平臺和芯片型號的工程。這里生成了TLK7-EVM開發(fā)板,F(xiàn)PGA型號為XC7K325TFFG676-2的Vivado工程。如需要生成TLZ7x-EasyEVM開發(fā)板,SoC芯片型號為XC7Z010CLG400-2的工程,則將指令修改為:-tclargs  tlz7x-easyevm  xc7z010clg400-2。
表 3
開發(fā)板型號
FPGA(SoC)型號
"-tclargs"參數(shù)
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腳本執(zhí)行完成后,Tcl控制臺窗口打印信息如下圖所示,同時在工程源碼"\src\runs"目錄下生成對應開發(fā)平臺的Vivado工程。本次生成了配套于創(chuàng)龍TLK7-EVM開發(fā)板的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性能相關(guān)。在彈出以下對話框中,點擊Cancel完成編譯步驟。

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

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

創(chuàng)龍TLZ7xH-EVM是一款基于Xilinx Zynq-7000系列XC7Z035/XC7Z045/XC7Z100高性能SoC處理器設(shè)計的高端評估板,處理器集成PS端雙核ARM Cortex-A9 + PL端Kintex-7架構(gòu)28nm可編程邏輯資源,由核心板與底板組成。

ZYNQ Z-7045-C6678新伙伴

TLZ7xH-EVM評估板

芯片架構(gòu):XC7Z045/XC7Z100-2FFG900I,集成PS端雙核ARM Cortex-A9 + PL端Kintex-7架構(gòu)28nm可編程邏輯資源。PS端主頻最高可達1GHz,單核運算能力高達2.5DMIPS/MHz。
外設(shè)資源:1x FMC(HPC)、2x CameraLink(Base/Medium/Full)、2x CAMERA、4x SFP+、1x PCIe Gen2、1x SATA、2x HDMI、2x SGMII

支持PS、PL端通信、高速AD采集與處理、CameraLink視頻采集與處理
應用領(lǐng)域:雷達探測 目標追蹤 電子對抗 定位導航 圖像處理 水下探測 光電探測 深度學習

更多詳情請查閱:
①官方網(wǎng)站
②官方TB:廣州創(chuàng)龍電子科技有限公司


嵌入式DSP、ARM、FPGA多核技術(shù)開發(fā),學習資料下載:http://site.tronlong.com/pfdownload
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表