在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7004|回复: 7

[求助] skill如何获取symbol的各个pin的位置顺序?

[复制链接]
发表于 2017-4-11 13:58:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
能获取symbol的pin list,但是list的顺序是按字母顺序排列的,每个pin的坐标也不同,能用skill脚本得到symbol pin的位置排列顺序吗?或者skill能得到symbol的外框吗?
发表于 2017-4-11 16:46:52 | 显示全部楼层
假设你是在schematic里面选择了提个器件,想获取这个器件的selecting box,和每个pin的坐标。

下面是用来获取这些信息的脚本。
需要注意的是,获得的坐标信息,都是基于symbol本身的。如果要转换成schematic中的坐标
用dbTransformPoint 和dbTransformBBox函数。

selObj~>transform,可以获得上述函数中所需的第二输入值。






  1. selObj = car(geGetSelSet())
  2.                         selInstMasterCV = dbOpenCellViewByType(selObj~>master~>libName selObj~>master~>cellName "symbol" "" "r")    ;open the cell view object for the master of selected instance.
  3.                             pinInfoList = nil
  4.                             selObjSelBox = car(setof(d_shape selInstMasterCV~>shapes d_shape~>objType == "rect" && d_shape~>lpp == list("instance" "drawing")))~>bBox                                 ;to get the selecting box
  5.                             foreach(term selInstMasterCV~>terminals    ;loop all the terminals
  6.                                 foreach(pin term~>pins
  7.                                     pinXY = centerBox(pin~>fig~>bBox)
  8.                                     pinInfoList = cons(list(term~>name, pinXY, term~>direction), pinInfoList)
  9.                                 );foreach(pin)
  10.                             );forech(term)


复制代码
 楼主| 发表于 2017-4-12 12:24:56 | 显示全部楼层
谢谢,目前是不想打开cell窗口的情况,我用schSymbolToPinList命令可以获取pin列表,但是对之排序比较麻烦。
 楼主| 发表于 2017-4-17 16:51:31 | 显示全部楼层
本帖最后由 prayer163 于 2017-4-17 18:01 编辑

回复 2# fatcat1205


   用你写的脚本执行后,该怎样关闭打开的cellview的lib呢?
发表于 2021-7-29 11:02:30 | 显示全部楼层


fatcat1205 发表于 2017-4-11 16:46
假设你是在schematic里面选择了提个器件,想获取这个器件的selecting box,和每个pin的坐标。

下面是用来 ...


这个脚本怎么用啊
发表于 2021-8-18 22:31:05 | 显示全部楼层


FOREVER10 发表于 2021-7-29 11:02
这个脚本怎么用啊


这个是没有封装过的,直接拷贝到CIW的命令行里面。你需要打开对应的symbol
发表于 2022-3-24 11:48:40 | 显示全部楼层


fatcat1205 发表于 2021-8-18 22:31
这个是没有封装过的,直接拷贝到CIW的命令行里面。你需要打开对应的symbol
...


centerBox那里好像有点问题。吃的数据格式不对。
发表于 2024-7-19 14:48:22 | 显示全部楼层


kda123456 发表于 2022-3-24 11:48
centerBox那里好像有点问题。吃的数据格式不对。


改成这样就可以了:





  1. pinXY = centerBox(car(pin~>fig~>bBox))


复制代码



您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-18 00:15 , Processed in 0.020920 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表