489315174的个人空间 https://blog.eetop.cn/carlliu [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

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

热度 10已有 712 次阅读| 2023-6-15 11:21 |个人分类:日记|系统分类:芯片设计| udd, pcell, laker, cc, custom

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界面略微不同:

图片



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 9

    月排名
  • 0

    总排名
  • 4

    关注
  • 112

    粉丝
  • 58

    好友
  • 116

    获赞
  • 49

    评论
  • 1105

    访问数
关闭

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

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

GMT+8, 2024-5-2 18:09 , Processed in 0.014171 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部