你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

Vivado 专家文章:Tcl 是什么?

发布者:jackzhang 时间:2018-08-31 20:16:10

作者:Lauren Gao,赛灵思高级战略应用工程师


安装Vivado之后,在GUI界面会看到Tcl Console,在这里可以输入Tcl命令。同时,还会发现有一个所谓的“Vivado 2018.2 Tcl Shell”(如果你安装的是Vivado 2018.2的话),意味着可以在Tcl模式下使用Vivado。通常,借助GUI的操作都有相应的Tcl命令,但不是每个Tcl命令都可以通过GUI完成。从这个角度而言,用户可以编写自己的Tcl命令扩展Vivado的功能,Tcl让Vivado更强大。熟练使用Tcl,将会显著提升Vivado使用效率。事实上,很多EDA厂商都把Tcl做为标准的API(Application Programming Interface),用于控制和扩展他们的应用。



什么是 Tcl

Tcl(Tool Command Language)是一种脚本语言,是一种基于字符串的命令语言,是一种解释性语言。所谓解释性是指不像其他高级语言需要通过编译和联结,而与其他Shell语言一样,直接对每条语句顺序解释执行。



Tcl 的两大特征

-任何东西都是一条命令及其参数,包括语法结构(例如for,if等)

-所有数据类型都可以看做字符串(基于字符串的命令语言)



基于这两大特征再次理解什么是解释性语言

if { $a > 1 } {

  puts “This is Tcl”

}

在处理if命令时,Tcl解释器只指导这个命令有三个词,其中第一个是命令名if。Tcl解释器并不知道if的第一个输入参数是表达式,第二个是Tcl脚本。完成对这个命令的解析之后,Tcl解释器才会把这个命令中的单词都传给if,此时这个命令会把第一个参数作为表达式,把第二个参数作为Tcl脚本处理。如果表达式的值非0,那么if就会把第二个参数传回Tcl解释器进行处理。到了这一步,解释器就会把这第二个参数作为脚本对待。事实上,if后面的两组大括号并无不同,其目的都是让Tcl解释器把括号内的字符原封不动地传给命令,不要进行任何替换操作。


学习 Tcl 的工具

-如果你安装了Vivado,Vivado自带的Vivado Tcl Shell就够用了。

-其他工具:ActiveTcl,免费工具,可在www.activestate.com下载


认识第一条 Tcl 命令

set a 5

set b “LUT”


最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了