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

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

日志

原来用Python做pcell 如此简单

热度 4已有 1386 次阅读| 2024-6-25 20:22 |个人分类:日记|系统分类:芯片设计| python, pcell, custom, compiler

先介绍PyCell Studio,PyCell Studio使用的开源的Python 程序语言生成OA的database的pcell 工具。创建的pcell可以支持多种EDA tool,Python API提供了非常丰富的类和方法用来创建layout的pcell。因为使用的开源python所以很容易进行拓展,入门也非常方便。

    Custom compiler 的UDD (user define device)的功能背后就是利用了pycell studio的进行编译出pcell。我们也可以基于UDD 生成的基础pcell 的python code 框架 ,然后进一步直接python开发。

    你可以从custom compiler的安装目录下找到相关的技术文档和tutorial资料数据。

图片

可以按tutorial的文档一步步测试。PycellStudio也提供了debug和python IDE 供debug和python code 开发。   

图片

下面是我做的一个小示例(金属电阻)来演示生成pycell的过程。

图片

首先创建在pyCode目录下面创建 __init__.py,如果有多个cell compiler到lib里,可以在这里添加完整。如下是powerMOS 和MyRect cell   。 

图片这里是rect.py 对应代码:

图片       结构比较简单,定义parameter信息,然后根据parameter值生成对应shape。下面这里是编译的command,在terminal中执行即可。    

cngenlib --update --no_core_dlos --bundle=encrypted_source pkg:pyCode test_gr ./test_gr

pkg:pyCode 后面是所有python code的文件夹, test_gr是编译出的pcell 导入的lib 后面对应lib的path。

    如上就可以生成MyRect 这样的pcell了,为了配合使用我们可以 对应创建一个symbol,方便调用。保持跟pcell 中的pin名称对应一致一端为in 另一端为out。

图片     我们可以看到从电路上可以直接pick出这个自定义的pcell了,并且pcell 中定义的两端pin也会自动带上电路上的net信息。   

图片

图片

    如果想要导出cdl 中也有要对应导出,还需要在CDF 里设置auCdl相关定义。

    到这里pcell layout已经好了,其实还有个问题,因为金属宽度不能无限制,所以还需要添加callback函数。当输入大于某个值时,要强制设成max width上。

    如何添加callback函数,等后面章节再来介绍。

    下面是一个基于UDD的pcell框架,利用python的二次开发的POWER MOS。是个比较复杂的pcell,采用ESD rule的画法,把一些常需要调整的地方做成参数化。主要是因为要实现的场景组合非常复杂,如果全部使用UDD来开发会生成非常多的步骤debug起来也不是很方便。但是如果直接用Python来做的,可以通过判断重复调用减少很多重复的步骤。代码结构也比较清晰。我们在compiler UDD 的时候cc 会自动带出来对应的python code。可以基于这个code 来添加修改。

图片

    添加了各层金属方向的parameter,使用上非常灵活,需要什么方向的走线组合都可以实现。   

图片

        作为python的小白,能很短时间内完成上面这些pycell,感觉还是很棒的。给后面可能遇到的问题提供一些新思路。pycell studio里提供的Python API有很多示例对于新手来说是很不错的借鉴。



4

点赞

刚表态过的朋友 (4 人)

评论 (0 个评论)

facelist

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

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

    周排名
  • 0

    月排名
  • 0

    总排名
  • 4

    关注
  • 139

    粉丝
  • 65

    好友
  • 135

    获赞
  • 52

    评论
  • 1323

    访问数
关闭

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


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

GMT+8, 2024-12-22 14:09 , Processed in 0.023036 second(s), 9 queries , Gzip On, Redis On.

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