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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: sr1245648455

[求助] 求助skill脚本transform相关的问题

[复制链接]
 楼主| 发表于 2024-3-12 15:08:39 | 显示全部楼层


着着着火了 发表于 2024-3-6 11:45
不需要转化啊,tempObj是啥就复制啥,让tempObj=cell_id不就行了


哥,我自己写的您帮忙看下,我这个能复制出来,但是复制出来的padcell相对位置变了,问题应该是transform这里,不知道怎么搞了
pads=leSearchHierarchy(cv cv~>bBox 32 "inst" list(list("cell name" "==" "PAD_58")))

objs=dbGetOverlaps(cv cv~>bBox list("CB" ""drawing) 32 t)
foreach(pad pads
foreach(obj objs
transform=dbGetInstTransform(obj)
padcell=dbCopyFig(pad cv transform)
padcells=append1(padcells padcell)
leMakeCell(padcells "pad_lib" "pad_1" "layout" nil))))))
发表于 2024-3-12 16:34:55 | 显示全部楼层


sr1245648455 发表于 2024-3-12 15:08
哥,我自己写的您帮忙看下,我这个能复制出来,但是复制出来的padcell相对位置变了,问题应该是transform ...


哭笑不得.jpg


你把CB layer的transform给pad cell用,真是个天才!!!

dbCopuFig(obj cv transform)中的obj和transform要一一对应,先不说你用两个搜索结果来拼搭顺序对不对得上,就是这参数的概念就没理解清楚。
pad cell依然用dbGetOverlaps()来搜索,如果只是考虑cell的话第三个参数设为nil,即dbGetOverlaps(cv cv~>bBox nil 32 t)。得到的结果中就包含有目标cell的dbId,只是要处理一下,在7楼我给你回复中给了方法。得到了dbId再用条件判断语句判断一下就得到目标cell的dbId啦。

记得看我给你的最新那条回复,把dbGetInstTransform()替换成dbGetHierPathTransform()。
 楼主| 发表于 2024-3-12 17:07:00 | 显示全部楼层


哥,我知道这是CB的transform,就是不知道pad cell的transform该怎么表达了才继续用这个来研究的,7楼那个语句执行出来会报cadr后的变量需要是list的警告,有点难受啊
发表于 2024-3-12 18:16:54 | 显示全部楼层


sr1245648455 发表于 2024-3-12 17:07
哥,我知道这是CB的transform,就是不知道pad cell的transform该怎么表达了才继续用这个来研究的,7楼那 ...



报啥错就解决啥错,思路对了就没问题
while(listp(tempObj)
        tempObj=cadr(tempObj)
);end while
 楼主| 发表于 2024-3-13 14:08:14 | 显示全部楼层


着着着火了 发表于 2024-3-12 18:16
报啥错就解决啥错,思路对了就没问题
while(listp(tempObj)
        tempObj=cadr(tempObj)


谢谢老哥指教,最后再请教一下dbGetOverlaps查找输出的结果怎么看呢,我不知道为啥要写tempObj=cadr(obj)
发表于 2024-3-13 15:05:05 | 显示全部楼层


sr1245648455 发表于 2024-3-13 14:08
谢谢老哥指教,最后再请教一下dbGetOverlaps查找输出的结果怎么看呢,我不知道为啥要写tempObj=cadr(obj ...


用输出函数print或者直接在CIW窗口运行dbGetOverlaps()看。至于为啥要这么写,自己看函数结果说明,或者从得到的结果去观察思考
 楼主| 发表于 2024-3-13 15:18:57 | 显示全部楼层


着着着火了 发表于 2024-3-13 15:05
用输出函数print或者直接在CIW窗口运行dbGetOverlaps()看。至于为啥要这么写,自己看函数结果说明,或者 ...


谢谢老哥,搞懂了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-6-2 13:08 , Processed in 0.021356 second(s), 6 queries , Gzip On, Redis On.

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