欢迎来到天天文库
浏览记录
ID:42411027
大小:393.50 KB
页数:28页
时间:2019-09-14
《synopsy的Tcl脚本语言学习笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、TCL脚本语言学习(1)当输入的命令较长时,可以使用反斜线将一行命令分割为几行,例如:settarget_library/home/fzz/synopsys/library/slow.db上面的命令等价于settarget_library/home/fzz/synopsys/library/slow.db(2)缩略语命令:Synopsys的命令可以缩略到非含糊的形式,但是在脚本文件中应该少使用缩略命令,因为脚本文件在某些Synopsys的工具或者TCL中的命令易于发生变化,这种变化因为缩略而变得含糊。(3)可以使用Syno
2、psys中的“history”命令列举或者执行出先前使用过所有命令,例如:dc_shell>historyinfo5该命令将列举出最近执行过的5跳指令dc_shell>historyredo4该命令将执行在当前dc_shell中执行过的命令中的第4条指令,这里面redo后面的数据如不是有效的,则将重复执行最后输入的命令。例如dc_shell>historyredo-4, -4无效,将重复执行最后输入的有效指令也可以采用快捷键的方式,输入“!!”命令,重新执行命令。例如:dc_shell>!!settarget_library/
3、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>helpfor*也可以获得特殊的命令组的所有命令的列表,通过输入命令集合的名字,例如:dc_shell>helpprocedures使用man命令也可以使用man命令获取Syno
4、psys中获得帮助的相应命令,例如:dc_shell>manquery_objects(5)CommandStatus命令状态时命令返回值,所有的命令都返回一个一个字符串或者null,默认时命令状态值返回控制窗口,例如:dc_shell>settotal_cells0,这里定义了一个新的变量0dc_shell>incrtotal_cells(6)Quoting引用使用quotingdisable一些特殊字符的含义(例如:[],$and;)dc_shell>seta5;setb1010dc_shell>echo{[expr$b-
5、$a]}evaluatesto[expr$b-$a][expr$b-$a]evaluatesto5双引号标示特殊的较弱的quoting,使用举例如下:dc_shell>SetA10;setB44dc_shell>echo“Ais$A;Bis$B.Netis[expr$A-$B].”chapter2Tcl基础Variables变量dc_shell>setbuf_name1si_10K/B1I1si_10K/B1Idc_shell>seta11dc_shell>setb2.5Tcl中所有的变量都是字符串,Tcl不识别变量是整数
6、或者实数的变量dc_shell>setb1010dc_shell>incrb11dc_shell>incrb-65Incr的默认增加值是1,如果增加的不是整数值,那么则会报错,例如:dc_shell>setb2.42.4dc_shell>incrbError …为了查找一个变量是否存在,可以使用tcl的infoexists命令,例如说,为了查看变量total_cells是否存在,键入:dc_shell>infoexiststotal_cells如果变量存在,则infoexists返回1,否则,返回0。为了查看变量是否与特定的类
7、型相匹配,使用Tcl的脚本infovars命令,例如dc_shell>infovarstotal_c*total_cells数值变量的精度数值变量的精度依赖于给变量所赋的值,如果使用小数点,则数值变量成为浮点数,否则成为整数。整数变量可以看作是是十进制,八进制或者十六进制。 为了不产生不可预测的结果,在使用时,应该注意精度问题。例如,在下面的例子中,除法操作产生不同的结果:dc_shell>seta10;setb=4.0;setc42.5dc_shell>expr$a/$b;2.5dc_shell>expr$a/$c2第一个e
8、xpr命令实现了浮点数除法,第二个expr命令实现了整数除法变量置换variablesubstitution 使用变量置换实现变量值的接入,dc_shell>setbuf_name1si_10K/B1I1si_10K/B1Idc_shell>echo$buf_name1si_
此文档下载收益归作者所有