- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
synopsy的Tcl脚本语言学习笔记
TCL脚本语言学习
(1)当输入的命令较长时,可以使用反斜线 \ 将一行命令分割为几行,例如:
set target_library \
/home/fzz/synopsys/library/slow.db
上面的命令等价于set target_library /home/fzz/synopsys/library/slow.db
(2)缩略语命令:Synopsys的命令可以缩略到非含糊的形式,但是在脚本文件中应该少使用缩略命令,因为脚本文件在某些Synopsys的工具或者TCL中的命令易于发生变化,这种变化因为缩略而变得含糊。
(3)可以使用Synopsys中的“history”命令列举或者执行出先前使用过所有命令,例如:
dc_shell history info 5
该命令将列举出最近执行过的5跳指令
dc_shell history redo 4
该命令将执行在当前 dc_shell中执行过的命令中的第4条指令,这里面redo后面的数据如不是有效的,则将重复执行最后输入的命令。例如
dc_shell history redo -4,? -4 无效,将重复执行最后输入的有效指令
也可以采用快捷键的方式,输入“!!”命令,重新执行命令。例如:
dc_shell !!
set target_library /home/fzz/synopsys/library/slow.db
/home/fzz/synopsys/library/slow.db
能够重复执行某条指令可以使用
Dc_shell !5
(4)以命令行方式获得help
使用-help 命令获得帮助
Dc_shell echo –help
同样可以使用for命令获得help的所有命令,输入方式如下:
dc_shell help for*
也可以获得特殊的命令组的所有命令的列表,通过输入命令集合的名字,例如:
dc_shell help procedures
使用man命令
也可以使用man命令获取Synopsys中获得帮助的相应命令,例如:
dc_shell man query_objects
(5)Command Status
命令状态时命令返回值,所有的命令都返回一个一个字符串或者 null,默认时命令状态值返回控制窗口,例如:
dc_shell set total_cells 0 ,这里定义了一个新的变量
0
dc_shell incr total_cells
(6)Quoting 引用
使用quoting disable一些特殊字符的含义(例如:[],$ and ;)
dc_shell set a 5; set b 10
10
dc_shell echo {[expr $b - $a]} evaluates to [expr $b - $a]
[expr $b - $a] evaluates to 5
双引号标示特殊的较弱的quoting,使用举例如下:
dc_shell Set A 10; set B 4
4
dc_shell echo “A is $A; B is $B.\nNet is [expr $A - $B].”
chapter 2 Tcl基础
Variables变量
dc_shell set buf_name 1si_10K/B1I
1si_10K/B1I
dc_shell set a 1
1
dc_shell set b 2.5
Tcl中所有的变量都是字符串,Tcl不识别变量是整数或者实数的变量
dc_shell set b 10
10
dc_shell incr b
11
dc_shell incr b -6
5
Incr的默认增加值是1,如果增加的不是整数值,那么则会报错,例如:
dc_shell set b 2.4
2.4
dc_shell incr b
Error? …
为了查找一个变量是否存在,可以使用tcl的info exists命令,例如说,为了查看变量total_cells是否存在,键入:
dc_shell info exists total_cells
如果变量存在,则info exists返回1,否则,返回0。
为了查看变量是否与特定的类型相匹配,使用Tcl的脚本info vars命令,例如
dc_shell info vars total_c*
total_cells
数值变量的精度
数值变量的精度依赖于给变量所赋的值,如果使用小数点,则数值变量成为浮点数,否则成为整数。整数变量可以看作是是十进制,八进制或者十六进制。
?为了不产生不可预测的结果,在使用时,应该注意精度问题。例如,在下面的例子中,除法操作产生不同的结果:
dc_shell set a 10;set b = 4.0; set c 4
2.5
dc_s
文档评论(0)