1、TCL脚本
TCL全称是Tool Command Language,是一种基于字符串的命令语言,也是一种解释性语言,类似于其他脚本语言一样,每条语句顺次解释执行。
2、OrCAD对TCL的支持和使用
OrCAD capture本身是支持TCL脚本的使用,只要在command windows的“capture>”后敲入指令即可。这个command windows通常布局在屏幕下面,如果没有这个窗口则在工具栏 View -> Command Windows 鼠标点一下即可勾选并默认出现在屏幕下方。
OrCAD本身也有一份对TCLTK的文档可供参考,不过内容做的非常简练,使用起来很高手向,以16.6版本为例,位于:
“安装目录\SPB_16.6\tools\capture\tclscripts\OrCAD_Capture_TclTk_Extensions.pdf”
另外OrCAD也有论坛社区,部分问题也可以在上面搜索一下来寻找解决方案,网络有点卡:
3、函数举例使用
1、PlaceWire
这是最简单的放线操作,在官方文档中是这样表述:
非常简练,笔者测试其为放一根从(x1,y1)到(x2,y2)的一根线,当然他不会拐弯,只会线段连接两个坐标
PlaceWire 4.00 1.00 6.00 3.00
2、PlaceNetAlias
放置一个网络别名,在官方文档中是这样表述:
网络别名只能放在wire上,笔者测试的命令如下,发现这个标识只能放置在线的左端且纵坐标要跟线的多端保持一致。命令执行后Alias会出现在线的上部如图
PlaceNetAlias 4.00 1.00 eeeee
3、PlaceGround
放一个地在这里,电源应该也差不多,不过现在一般都直接用一个port当电源了,在官方文档中是这样表述:
到这里就涉及使用TCL脚本调用库文件了,地通常也就用OrCAD自带的lib了,笔者举例使用的是CAPSYM库的“GND”举例;
PlaceGround 4 1 D:/Cadence/SPB_16.6/tools/capture/library/capsym.olb GND test
虽然这个symbol的连接点位于器件的中间,但是放置命令中的坐标表示的是器件的左上角,如果想要直接连接到wire上,可以把横坐标左移;
PlaceGround 3.9 1 D:/Cadence/SPB_16.6/tools/capture/library/capsym.olb GND test
这个api可以给器件在放置的同时改个名字,命令中的第四个元素是gnd在lib里面的名字
第五个参数是在sch里面我给器件起的名字
4、PlacePart
这是用的比较多的,在官方文档中是这样表述:
实际使用中效果依然是不以连接点为坐标点,是以绘制这个元器件时的框框的左上角作为坐标的定位点,这一点无论自带库还是自建库都是一样的,另外单独使用这个命令时候没有办法给器件起名字,例如U1\U2 C1\C2:
Capture> PlacePart 3 1 {D:\Cadence\SPB_16.6\tools\capture\library\Discrete.olb} {CAP} {} {}
Capture> PlacePart 4 1 {D:\Cadence\SPB_16.6\tools\capture\library\LIBRARY1.olb} {PE42562} {} {}
5、PlacePartEx
这是一个比较奇怪的用法,用途是编辑好一个器件,然后跟随鼠标,在点击之后放置下去(都打算自动化放置了,谁还亲自鼠标点),在官方文档中是这样表述:
笔者实际实验是这样的
PlacePartEx {D:\Cadence\SPB_16.6\tools\capture\library\Discrete.olb} {CAP} {} {0} {Value} {10NF}
器件呈现出黑色悬浮的状态
6、MirrorHorizontal
效果字面意思,当画布中有选中的器件(变成粉色而且有粉色虚线框框)时,在command windows中执行这个指令,所选的器件就会发生水平镜像;
7、Rotate
效果字面意思,当画布中有选中的器件(变成粉色而且有粉色虚线框框)时,在command windows中执行这个指令,所选的器件就会发生逆时针旋转;
4、Script的建立和使用
相较测试上述的api,新建脚本简单的多,只需要随便什么路径下建立一个文本文件,再改成.tcl即可。
文件也不需要shell那样写一个解释器的位置,直接就可以敲入上述api,然后顺序执行。
想在OrCAD中使用刚刚编辑好的脚本,只需要在command windows中键入如下命令:
source {C:\xxx\xxx\xxx.tcl}
5、宏的建立和使用
与其慢慢查书,不如发明创造;笔者在尝试发掘官方文档的时候进度缓慢,后发现OrCAD也支持类似Excel的宏操作,且宏文件可读,可录可执行,这大大提高了实验效率,在此做个分享。
宏的新建按钮位于工具栏的 “Macro” -> “Configure” ,点击后在选项卡中起好Macro Name之后就可以点击 “Record”进行录制了
record之后,宏的录制就已经开始,读者就可以手动做一些操作,这些操作最终都会被录制下来转换成脚本代码以供参考,而且这些操作代码都可以保证执行(毕竟是录下来的);当想要的操作完成后,即可点击画布左上角的小选项卡的第一个按钮(图案是个深蓝色方块)终止录制;
录制得到的宏文件暂时存放在“Configure”中,重新进入宏的“Configure”,在宏列表中选中刚刚录制好的宏,然后点击选项卡右侧的 “Save”按钮,然后点击“OK”,最后宏文件会以 .bas的格式保存到任意指定位置。
宏文件只需要用记事本打开即可
可以看到宏录制下来的代码比我们查书然后写的更加精细,原先无法给放置的part改名字的问题也得到了解决。
6、警告
当你的脚本出现报错时,首先确认使用的lib一定一定一定已经引用进当前的design了,通常没有引用lib会导致error-1687
原创文章,欢迎转载,请注明来源,未经书面允许,请勿用于商业用途。