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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5363|回复: 13

[解决] 解决layout中off grid问题

[复制链接]
发表于 2021-12-20 14:00:32 | 显示全部楼层 |阅读模式

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

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

x
有的时候layout里会有一些线或者device 不在格点上,如果一个个去修改坐标,势必很烦。分享一个脚本,可以快速修改不在格点上的问题。
具体方法如下:1.将putCellOnGrid.il 文件copy到cadence的home的工作目录下;2.打开Cadence virtuoso的CIW窗口;3.打开需要改变格点的layout文件,并将layout全选(Ctrl+A)
4.在virtuoso的CIW窗口里输入两行命令:load “putOnCellsGrid.il”   PutOnGrid(0.005)。此处的0.005是你需要的最小格点。
5.如果程序正常运行,就可以看到运行完后,CIW窗口最后一行是一个t.
PutOnGrid.il脚本如下

procedure( OnGrid( Point )
if(listp( Point ) then
mapcar( lambda((x) OnGrid(x)) Point)
else
round((Point/Grid))*Grid
)
)

procedure( PutOnGrid(Grid)
let(( SelectObj )
SelectObj = geGetSelSet()
foreach( Object SelectObj
cond(
(Object~>objType == "path"
Polygon = leConvertShapeToPolygon(Object)
Polygon~>points = OnGrid(Polygon~>points)
)


(Object~>objType == "polygon"
Object~>points = OnGrid(Object~>points)
)


(Object~>objType == "rect"
Object~>bBox = OnGrid(Object~>bBox)
)



(Object~>objType == "inst" || Object~>objType == "mosaic"
Object~>xy = OnGrid(Object~>xy)
)
)
)
)
)

发表于 2021-12-20 15:39:52 | 显示全部楼层
谢谢分享~~~~
发表于 2023-1-16 10:00:40 | 显示全部楼层
试过了,谢谢分享~
发表于 2023-1-16 10:25:12 | 显示全部楼层
谢谢分享
发表于 2023-9-6 15:30:09 | 显示全部楼层
你好,楼主,没看到那个il文件在哪里啊?
发表于 2023-9-6 19:34:05 | 显示全部楼层
Goooooooooooooood
发表于 2023-9-7 11:00:09 | 显示全部楼层
请问出现Error:argument #2 should be a string(type template =“t”) 是什么原因?该如何解决?
发表于 2024-3-14 11:51:39 | 显示全部楼层
谢谢分享
发表于 2024-5-9 15:15:09 | 显示全部楼层
谢谢分享
发表于 2024-5-13 23:46:18 | 显示全部楼层
感觉不错 改天试一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-23 03:04 , Processed in 0.020374 second(s), 6 queries , Gzip On, Redis On.

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