UDD 是什么?版图中如何使用?

文摘   其他   2023-06-15 09:32   江苏  


UDD (User Defined Device)即用户自定义的器件,可以生成像pdk lib中提供的device pcell一样参数化可调节器件。UDD给用户提供了GUI平台下的编辑设计pcell的方式。GUI的平台对设计者的脚本能力要求不是很高。UDD还可以提供了一种hierarchy的design,如果想要做一些复杂嵌套结构device也是非常方便的。目前Laker 和custom compiler 工具都有提供UDD这样的功能。

如果有参考的版图那就更简单了,可以直接使用import layout添加大量的Distance就可以满足参数化device的效果。

下面演示个Laker 种udd的使用,做了一个粗糙的电感来演示UDD的使用介于篇幅不展示细节laker的reference.pdf有操作详细解释内容,把下面这个位置做了参数化。

         

我们首先来完成下面cross connect的底层udd cell.

第一步先创建cross connect 必要的参数

第二步使用Distance的操作把交叉线的相对位置进行参数化

第三步使用Align的功能把需要对齐的边或中心进行对齐,有些像在版图种直操作一样。

最后一步把直角走线通过CutCorner的操作倒角成45°走线

         

这样cross connect的udd 就完成了。

下面看怎么生成电感并在电感种使用:

第一步一样生成需要的parameter,这里可以从cross connect的udd 种导入进来再进行进一步添加需要的。编辑窗口种先画出需要用到的layer 与形状,后续操作都是基于这些参考layer 进行运算和拉伸对齐得到。比如下图来控制调用的cross connect的udd 具体放在什么位置,这里通过Distance来控制上边距与左边距。下面那个白色长方形layer是用来后期切断ring的中间运算层使用,最后会remove掉。

         

这里双环是基于上面正方形进行grow 和shrink然后NOT的布尔运算得到生成下图中outR inR两圈。然后再通过白色中间运算层来切掉双环下部的中间位置,方便用cross connect来替换连接。上面单环切口也是使用相同的操作。方便进行电感的输入 输出连接。最后把不相干的中间运算层次进行remove就完成了这个电感udd.

         

这里只是简单的示例,如果需要复杂的操作做些复杂的callback.可以接入UDD Procedure script来处理一些操作或运算。

如果有用过udd的对此有些基础的可以尝试尝试如何生成多圈非螺旋的圆形电感

这个是在custom compiler 的UDD Assistant与Laker中UDD界面略微不同:

         

IC模拟版图设计
IC 设计后端知识分享 EDA使用心得 Linux 环境 脚本分享 Perc开发 Custom compiler