马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 489315174 于 2023-7-5 20:00 编辑
论坛里关于cc customCompiler 或Laker的讨论太少了,想开个帖子一起学习S家的工具使用心得。以前的版本只有tcl 脚本,最新版本 custom compiler 已经可以支持python 了!工具更加 open。
最近在cc上写了几个脚本,功能分享下:
第一个脚本功能介绍:
从繁杂的版图中选择出跟选中的obj相同属性的其他objs,更快的选择出想要的东西。
1.选中需要选择的器件或层次,然后框选一个区域。
2.这个框选的区域里跟第一步相同属性的器件都会被选择出来。其他不一样的都不会选中。
xx
xx2
##################################################################################################
看到一些朋友还在花时间在查找函数自己来写一些操作功能,有时候写的通用性和应对复杂场景会有不少bug。看了下Custom Compiler有比较好solution,下面分享下几个好用的功能。 1.bus connect的功能:create bus下extend mode 然后白虚线可以按鼠标移动到合适位置再完成连接动作。 2.第二个好用的功能去除多余线头到Via 位置,CC还可以对整条net 进行trim dangling layer,能保证剔除冗余的走线。 整条bus 操作 3.Bus bridge 快速交叉走线跳层 我们还可以对这些功能用脚本进行二次包装,或对这些操作进行相关的option的预设,来进一步提高操作效率与使用的便捷度。 ########################################################################################################
最近在customcompiler平台上开发了一些脚本,开发的一些心得感受与大家分享。不得不说cc平台做二次脚本开发真的很方便,也有可能是我对tcl比skill 要使用顺手些吧。CC 内置的command对于开发图像用户界面也是非常简单,当然也是支持TK工具箱。 第一个脚本相信很多人也用过相似的功能,其主要为了解决mos device的进一步连接,源漏金属加宽叠层。栅端cont生成和自动添加对应guardring和注入层等,对效率提升也是很有帮助。主要利用了布尔运算来得到对于的位置,相比直板的根据pcell相对距离方式来说,布尔运算的适用性更好些。效果如下:
add gr
第二个脚本是为了自动增加bits/paths ,对于需要增加复杂长走线是非常方便的。脚本最主要就是在分析bus的走向与每段path的位置关系,所以我用了数组套数组来追踪记录每段path的信息。
addbus
第三个脚本是自定义添加dummy pattern,可以根据用户选择的区域也可以根据既有的层次为boundary。对于敏感模块,使用这种方式添加dummy还是比较方便的。
############################ 未完待续 ##############################
分享CC Design Retargeting/Migration flow工作中一定会遇到design porting的问题,当项目需要从一个process 切换到另一个process时候. Schematic 和layer 如何来快速完成迁移呢?同一foundry下的不同process 或许pcell 对应的cdf 还可以map上,通过replace 方式完成对应器件替换。但是对于不同foundry以及不同的process 之间迁移就不是那么容易了,device model name,cdf ,limit size,symbol结构等都不一致。这时候传统手动方式就不是那么容易做到了。 这里介绍下custom compiler Design Retargeting Flow 这也是个隐藏的gift: l对于schematic design,可以根据各自的对应symbol完整porting过去,而不会因为pcell symbol 不一致导致连接上问题。 l对于layer design,这个flow只会将对应的instance/pcells 迁移过来。其实我们也知道对应不同工艺版图porting是没有多少意义的,因为pcell的形状大小,以及对应drc要求都不同,porting过来也会是一堆的问题。相同的工艺节点,可能还是有些用处。 先看这个tool在哪里: 上图中画出的两份pdf是flow的介绍与step by step的使用方 法。 Configuring the setup tab: 主要设置design 信息,reference libraries,mapping 等信息,mapping可以在后面两个tab中详细设置。 Mapping Classes 对于相似类型的devices可以创建group来设置对于parameter mapping的信息。针对group里的device map可以在cell mapping中设置。这里的override target value和condition功能是非常有用的,可以根据不同条件来对应定制的mapping. Callback option需要注意打开对应callback 会增加migration 的时间。 后面更详细的内容可以查看上面那两份pdf。
Design Compare: 下面是我做的case,是一个从平面工艺porting到finfet的case,我们可以看到效果symbol不一致不影响连接正确性,这里因为fin的原因width上是不能完全一致的。从效率与质量上看已经是非常好了。 这个也顺便介绍下custom compiler的Compare Design的功能。可以高亮两份电路的差别。这个功能对应版图工程师来说也是个福利,RD版本迭代改了什么内容可以快速get到,不用通过lvs 去debug。
Custom compiler 的Indesign EM功能
|