找回密码
 注册
关于网站域名变更的通知
查看: 294|回复: 1
打印 上一主题 下一主题

基于Tcl脚本生成Vivado工程及编译

[复制链接]
  • TA的每日心情
    奋斗
    2020-3-25 15:17
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-6-29 16:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    Tcl脚本简介0 K# o$ c0 U9 ~3 n( c4 l
    Tcl——Tool Command Language(读作tickle),诞生于80年代的加州大学伯克利分校,作为一种简单高效可移植性好的脚本语言,目前已经广泛应用在几乎所有的EDA工具中。在Xilinx最新的FPGA设计工具Vivado中,Tcl成为唯一支持的脚本。
    ' h6 A$ ^: G8 h# |' [7 A使用Tcl脚本的优势如下
    & l. e, U5 i& E! X$ }
    • 能快速生成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脚本文件。
      " U- K6 p; k! T. g3 G' G% @7 y
    基于TcL脚本生成Vivado工程: z0 }# x6 f+ u6 e& n& J( ^: g
    • Windows 7/10 64bit
    • Xilinx Vivado 2017.48 z6 M) R. a+ u% J
    表 1
    开发板型号
    是否支持本实验
    TLZ7x-EasyEVM
    支持
    TLZ7xH-EVM
    支持
    TL5728F-EVM
    支持
    TLA7-EasyEVM/TLA7-EVM
    支持
    TLK7-EVM
    支持
    TL665xF-EasyEVM
    支持
    TL6678F-EasyEVM
    支持
    - z4 s" m+ @: _9 h, ~
    由创龙提供的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
    " s& \" n5 x7 @& G. a- q+ Bclear_project.tcl
    删除log文件和生成的工程
    ; j+ _+ k+ X8 m3 j: i  E$ J
    使用TcL终端打开Tcl脚本
    " V: E" e9 V' g# C) G
    打开Vivado软件,点击菜单栏"Window->Tcl Consonle"打开Tcl控制台窗口。
    ​​​​​​​. b7 ?8 m, F" D$ x# J' X0 ^1 T
    在Tcl控制台窗口执行如下指令(注意指令中"/"符号的方向),进入需要执行的Tcl脚本所在路径,该脚本文件用于生成tl-led-flash例程的Vivado工程。
    Vivado% cd C:/tl-led-flash/src/scripts
    ​​​​​​​生成Vivado工程
    , M# X* h; t& A# I6 G* ?0 c$ s7 [1 g
    进入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脚本文件;& b& s3 c1 u7 {1 d
    -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)型号
    "-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
    / h5 q$ f0 \5 F+ n$ E" \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脚本执行完成后,Tcl控制台窗口打印信息如下图所示,同时在工程源码"\src\runs"目录下生成对应开发平台的Vivado工程。本次生成了配套于创龙TLK7-EVM开发板的tl_led_flash工程。
    ​​​​​​​Vivado工程编译
    ) s  A0 D8 u$ K' |6 s
    双击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目录下,该目录下包含了适用于创龙全部开发平台的可执行文件,将其下载到开发板即可运行测试。

    5 i# g; v. p! I' o

    该用户从未签到

    2#
    发表于 2020-6-29 18:13 | 只看该作者
    无需要打开Vivado软件就进行编译生成bit文件,花费的时间极大的缩短了。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-13 00:47 , Processed in 0.125000 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表