基于TCL脚本的OrCAD capture自动放置元件方案

本文详细介绍了TCL在OrCAD中的应用,包括基本函数如PlaceWire、PlaceNetAlias等的使用,以及如何创建和使用脚本和宏来提高设计效率。特别提到了错误处理的重要性,确保脚本与库文件正确引用。
摘要由CSDN通过智能技术生成

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也有论坛社区,部分问题也可以在上面搜索一下来寻找解决方案,网络有点卡:

        Cadence Community

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

原创文章,欢迎转载,请注明来源,未经书面允许,请勿用于商业用途。

                

  • 28
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值