22

下冰雹 · 2023年06月12日

StarRC的妙用

在整个R2G的流程里边,寄生参数抽取(StarRC)是比较没有存在感的。大部分的时间,工程师们只是用这个工具来刷SPEF。并不会关注太多。这本身其实是一个好事情,反向证明了参数抽取工具的高度稳定性!
但是,再小的工具都有可以挖掘的地方,StarRC就是一个值得细品的小工具,说的不多,做的不少,通过一些特殊的调教,还可以获得额外的收获。话不多说,ICer GO!

简介

StarRC的寄生参数抽取可以作为签收标准,和APR相比通常有如下的优(完)势(备)性

  • metal fill handle
  • half-node scale factor
  • light-base layer and lower metal support. like: poly, active, contact, M1 etc.
  • resistance scaling by temperature
    以上种种,常见的影响主要是来自于metal filll。metal fill是一种常见的处理芯片流片的密度(density)问题。与常规的APR操作不同,metal fill通常实在calibre(GDS 工具里边)完成的,虽然历史上也流行过在APR工具里边完成的流程。但是从处理效率和独立想上而言,metal fill 确实是calibre等GDS工具的强项。
    由于metal fill是基于真实GDS的数据进行现场生成(APR通常用的是LEF/MW文件),各种因素混在一起,metal fill 通常会带来一些RC参数和绕线上的影响/

StarRC的open/short GUI 定位功能


在常规的starRC运行数据库上,通常会生成两个文件

  • shorts\_all.sum
  • opens.sum
    用户可以通过读取这两个文件,定位出APR数据库和metal fill等信息合并后产生的short/open问题,当然这两个report也会包含APR数据库原有的short//open信息。
    基于上,starRC是可以评判出作为extraction对象数据库里边的short/open问题,利用这个功能,StarRC可以导出MW/NDM数据库,将short/open进行GUI查验,具体流程如下:
  1. 完成正常的starRC抽取
  2. 基于下列starRC command生成可以GUI debug的数据库
*** * for icc user
*** DEBUG_MILKYWAY_DATABASE: my_design 
* for icc2 user
DEBUG_NDM_DATABASE: my_design 
* this path need to match the normal starRC command setting
STAR_DIRECTORY: star
** * for all nets comamnd:
** NETS: *  
NETS: net1 net2 net3
3. 运行命令,生成可以debug的MW/NDM数据库
> StarXtract -Display short_regions star_cmd_debug
4. 打开MW/NDM数据库进行查验

short GUI debug举例

在starRC的short\_all.sum文件里边有如下的描述,

image.png

这里是一个net和blockage的short,此时使用如下命令打开debug的数据库
image.png
然会聚焦到指定位置,可以看到如下的信息
image.png

在short report里边呈现出的三个net这里都可以看到,这里标注的SYNPSYS\_FLOAT是一种metal fill的标记方式,对照GDS,可以看到这个细节
(PS:为了节省资源,StarRC只保留了临近的metalfill的信息)
image.png

open GUI debug 举例

对于open net,会根据实际逻辑连接关系,从现有的绕线资源上选取一段进行短连接(解open),同时会基于工艺信息,在短连接上应用一个小电阻,譬如这里的:resistance=0.01, width=100
描述中的RCG是指:resistively connected group
image.png
starRC通过使用一个默认(很小)的电阻,把输出的pin和open 的net重新连接在一起,这样对于STA 而言,并不会出现一个很大的开路延迟。所以,使用小电阻的虚拟连接显然比保持open更加合理。

一个简单的示意图如下所示:通过小电阻建立连接
image.png

spef RC信息比较


通常APR工具和StarRC都可以产生spef,但是StarRC的SPEF是可以用作签收使用的,鉴于前述,APR的spec通常不可以当作签收有。为了推进时序分析,需要让APR的RC信息和签收尽量一致。这里需要用户对APR和StarRC抽取出来的spef进行一个比对,然后基于结果对APR的RC scaling进行合理的配置,从而在APR里边得到逼近签收阶段的RC信息,对优化timing可以起到事半功倍的效果。

命令:StarXtract -compare_parasitics APR_SPEF SIGNOFF_SPEF

image.png
StarRC会从三个维度进行比对:

  • net total cap
  • net coupling cap
  • p2p resistance

在比较返回信息的顶部,会有三个维度的比较的平均值(mean)和方差(std)信息

image.png

方差是各个数据与平均数之差的平方的和的平均数,通常用于描述数据的离散度,方差结果越小,说明离散度越小,一致性越高
譬如下列的tcap的差异

image.png

上述信息中:

  • 正值代表:APR比signoff 大
  • 负值代表:APR比signoff 小

对于不同的APR工具,请使用下列命令进行配置

  • invs:用户可以通过调整下面的create_rc_corner对APR的RC抽取进行调整,从而达到和signoff更为接近的值(PS:C家也有自己独到的ostrich,后面有机会的话,也可以分享给大家)
    image.png
  • ICC/ICC2:用户可以通过命令set_extraction_options进行RC scaling配置
    image.png

【敲黑板划重点】


StarRC可以读取比APR更多的GDS相关的信息,在做extraction的时候可以遵循原著,并且可以辅助R2G的设计流程和加快定位,是值得大家多多把玩的一个小工具

参考资料


Synopsys _StarRC User Guide_

作者:艾思后端设计
文章来源:艾思后端实现

推荐阅读

更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
20188
内容数
1307
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息