首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FPGA开发之Tcl项目设计一

FPGA开发之Tcl项目设计一

现在在教学的时候看到的一般都是UI进行FPGA的项目建立,但是使用Tcl命令的脚本文件实现FPGA的项目建立。
一、啥是Tcl,做什么的?
Tcl是工具命令语言(tool command language),一条命令就是完成某项工作,比如综合,仿真之类的。不用再用鼠标点来点去,好像有点装逼。确实是有点。
Tcl的格式一般是:command arg1 arg2 。。。。。。
二、Tcl的机制是怎么样的呢?怎么工作呢?
(1)变元数组;
(2)对嵌套命令,变量和反斜杠进行数值替换;
(3)调用命令,用最终命令对变元进行解释。
三、一些常用的Tcl命令:
(1)变量赋值。set命令是将值赋给变量,它接受两个变元,第一个是变量名,第二个是值。第一次对变量赋值时解释器自动创建变量后,可以通过$获取该变量的值。
set var 5 //var = 5;
set b $var // b = var = 5;

(2)命令替换:在方括号里嵌套命令,先执行方括号里面的嵌套命令,得出结果后再替换之前的嵌套指令。
比如:set len [string length ChinaFootball] //方括号里面的string length是求后面字符串的长度。那么先执行括号里面的内容,string length ChinaFootball
得到 的是13,那么最后指令就是执行set len 13
(3)数学表达式:Tcl本身只完成分组,替换和命令的调用工作,用expr命令对数学表达式进行分析和计算。expr的计算和c还是一样的,可以处理整数,浮点数和布尔值。
逻辑返回true或者false。
数学表达式可以嵌套命令和变量应用。
set x 7
set len [expr [string length foobar] + $x]

表达式支持许多内建的函数:
set pi [expr 2*asin(1.0)] 得到3.141592653589793

使用大括号:
expr { 7.2 / 4}
set len [expr {[string length footbar]} + $x ]
14
set pi {expr {2 * asin(1.0)}]

(4)反斜杠替换:引用特殊意义的字符,比如通过它的引用形式指定一个纯粹的美元符号,大括号或者方括号。反斜杠还经常用于在多行续写一条很长的指令。
比如:
set len [expr {[string length \
footbar]} + $x ]
14
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表