微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > layout skill求教

layout skill求教

时间:10-02 整理:3721RD 点击:
本人用skill做了一个在指定范围内打通孔的程序。运行正常。
但是,当从上层进入到下层(Edit in Place)时,由于坐标系不同,发生错位。用:
geEditToWindowPoint
dbTransformBBox
函数矫正后运行正常,但进入下下层(中间层有旋转)后还是不行,由于层次可以相套,
显然上述矫正方法不可取。
特向高手请教有什么好的方法。

打孔打在top层就好。下层的shaps全部把坐标点transform到top层后再进行处理。

2楼:
谢谢答复。
这样是不行的。修正下层的cell,孔打在上层是不可以的。

只要抓到嵌套的两层相对的 coordinate 和 rotation,通过数学运算就可以得到底层正确的 coordinate
可以写成一个函数,返回值是相对顶层的 rotation 和在底层的 coordinate

回4楼多谢。
但是要是3层相套呢?32层相套呢?
virtuoso的Edit in place可做到任意相套!包括中间层反转。
我求教的是这种方法。

以top层的坐标为起始,然后每一层都做同样的坐标换算,嵌套几层就换算几次,换算到你想要的层次。

我说的写成一个函数是指子函数,上一次的返回值作为下一次调用的参数,循环或者递归调用就好了

打在下层单元太不可靠了吧? 毕竟一个cell都是例化很多次。除非每打一个空都去遍历其所有实例然后确定能不能打、怎样打。LZ先得想清楚这个问题。

写法就像前面有人提到的,嵌套,递归。我以前写过类似的。

确实楼上哥们的提醒非常重要,小编小心为好。

回7楼:多谢指教。我也想过递归方法,但凡从上层进入下层都要涉及坐标变换。Virtuoso本身提供的各项功能都很好地解决了这个问题,因此我想应该有现成的Skill函数,只是不知道而已。
8楼:做Block是自底向上,但做TOP配线,下层配线需要规避或修正时是自上而下(edit in place)。我指的是这个。



我的之前遇到这个问题的时候,也是写了一个脚本,去复合计算坐标 和计算相对旋转角度的脚本。

指定范围内打孔,可以写个打via的calibre rule,通过calibre drc的area来划定范围:
http://bbs.eetop.cn/thread-404481-1-1.html

学习了,有用的指教

学习了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top