StarRC的妙用

news2025/1/15 6:47:30

在整个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文件里边有如下的描述,

在这里插入图片描述

这里是一个net和blockage的short,此时使用如下命令打开debug的数据库
在这里插入图片描述
然会聚焦到指定位置,可以看到如下的信息
在这里插入图片描述

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

open GUI debug 举例

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

一个简单的示意图如下所示:通过小电阻建立连接
在这里插入图片描述

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

在这里插入图片描述
StarRC会从三个维度进行比对:

  • net total cap
  • net coupling cap
  • p2p resistance

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

在这里插入图片描述

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

在这里插入图片描述

上述信息中:

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

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

  • invs: 用户可以通过调整下面的create_rc_corner对APR的RC抽取进行调整,从而达到和signoff更为接近的值(PS:C家也有自己独到的ostrich,后面有机会的话,也可以分享给大家)
    在这里插入图片描述

  • ICC/ICC2:用户可以通过命令set_extraction_options进行RC scaling配置
    在这里插入图片描述

【敲黑板划重点】

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

参考资料

Synopsys StarRC User Guide

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/435793.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚拟数字人的3种驱动方式

虚拟数字人是由计算机程序所构建的具有人类特征的虚拟实体,目前的虚拟数字人经过了三代的更迭,划分每一代更迭的标准则是虚拟数字人的驱动方式。 一、虚拟数字人1.0:动画&CG驱动 虚拟数字人1.0就是目前我们所熟知的,比如&am…

[NOIP2000 提高组] 进制转换

[NOIP2000 提高组] 进制转换 题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置为指数,以 10为底数的幂之和的形式。例如 123 可表示为 10^22*10^13*10^0 这样的形式。 与之相似的,对二进制数来说,也可表示成…

运行时内存数据区之执行引擎(二)

JIT编译器 第一种是将源代码编译成字节码文件,然后在运行时通过解释器将字节码文件转为机器码执行。 第二种是编译执行(直接编译成机器码)。现代虚拟机为了提高执行效率,会使用即时编译技术(JIT,Just In Time)将方法编译成机器 …

北邮22信通:(13)二叉树 书上重要知识点补充 例4.3 统计结点总数 深度和叶子结点数

北邮22信通一枚~ 跟随课程进度每周更新数据结构与算法的代码和文章 持续关注作者 解锁更多邮苑信通专属代码~ 上一篇文章: 下一篇文章: 目录 一.统计结点总个数 二.统计二叉树深度 三.统计叶子结点总数 四.完整代码 4.1测试int存储类型&…

网络原理基础(认识IP地址、子网掩码、端口号、协议、五元组)

文章目录 前言一、网络通信基础1、IP地址2、子网掩码3、端口号4、协议5、五元组 二、协议基础知识1.协议分层2.OSI七层模型3、TCP/IP五层(或四层)模型4、网络设备所在分层5、封装和分用 总结 前言 网络互连的目的是进行网络通信,也即是网络数据传输,更具…

Mac/Linux系统idea启动springboot项目慢;Oracle数据库连接:ORA-21561: OID generation failed

Mac/Linux系统idea启动springboot项目慢;Oracle数据库连接:ORA-21561: OID generation failed 解决方案: 1、终点输入localhost查看;发现我这里是local 2、终点输入cat /etc/hosts查看配置; hosts文件中127.0.0.1的映射是:127…

react 之 useState

参考:https://blog.csdn.net/Ljwen_/article/details/125319191 一、基本使用 useState是 react 提供的一个定义响应式变量的 hook 函数,基本语法如下: const [count, setCount] useState(initialCount)它返回一个状态和一个修改状态的方…

R语言ggplot2 | 绘制随机森林重要性+相关性热图

📋文章目录 原图复现准备数据集及数据处理构建不同分类随机森林模型的并行计算绘制随机森林变量重要性柱状图计算数据集的相关性热图可视化合并随机森林重要性和热图 附上所有代码 在文献中,我们经常遇到随机森林和相关性热图的组合图片(下图)&#xff0…

LeetCode热题HOT100:76. 最小覆盖子串,84.柱状图中最大的矩形、96. 不同的二叉搜索树

LeetCode 热题 HOT 100 76. 最小覆盖子串 题目:给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。 注意: 对于 t 中重复字符,我们寻找的子字…

Ubuntu18.04获取root权限并用root用户登录

写在前面:以下步骤中需要在终端输入命令,电脑端查看博客的朋友可以直接复制粘贴到终端,手机端查看的朋友请注意命令里面的空格是必须的,否则运行会出错。 1.为root设置初始密码 (1)登录系统,打…

【unity实战】随机地下城生成1

先看看最终效果 导入素材 导入房间图片素材,配置图片信息信息 点击sprite Editor,开始切割图片 随机创建基本房间 已一个白底图片模拟房间预设体 思路:建立一个空的 GameObject 用来做创建房间的点,设置坐标(0,0,0)。每创建1个房间之后,随机在上、下、右判断是否有…

python以及PyCharm工具的环境安装与配置

这里以Windows为例 Python的安装 当然是到Python官网下载咯,https://www.python.org/downloads/点我直达,如图: 可以下载最新版本,可以下拉找到之前特定的版本安装,如图: 这里先择的是最新版的进行安装…

leetcode每日一题:链表专题篇第一期(1/2)

😚一个不甘平凡的普通人,日更算法学习和打卡,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘 🤗专栏:每日算法学习 💬个人…

现在备考2023年5月软考网络工程师时间够吗?

距离2023年5月软考还有1个多月的时间,备考网络工程师的时间是够的,以下是一些备考方法: 1.了解考试内容 在你开始学习考试之前,了解考试的形式和内容是很重要的。这将帮助你把注意力集中在最有可能被测试的领域。你应该复习考试…

Gartner Magic Quadrant for SD-WAN 2022 (Gartner 魔力象限:软件定义广域网 2022)

Gartner 魔力象限:SD-WAN 2022 请访问原文链接:https://sysin.org/blog/gartner-magic-quadrant-sd-wan-2022/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Gartner 魔力象限:SD-WAN 2022…

ChatGPT最强竞争对手,无需魔法,直接使用

无需科学上网,无需加入Waitlist,免费使用,没有高峰限制,而且效果媲美ChatGPT! ChatGPT 的最强竞争对手Claude!!! Claude 是由Anthropic这家人工智能公司开发出来的,其联合创始人Dario Amodei曾经担任OpenAI…

K8S使用持久化卷存储到NFS(NAS盘)

参考文章:K8S-v1.20中使用PVC持久卷 - 知乎 Persistent Volumes:PV是持久化卷,系统管理员设置的存储,它是群集的一部分,是一种资源,所以它有独立于Pod的生命周期 Persistent Volume Claim:PVC…

抽象同步队列AbstractQueuedSynchronizer(AQS)简要理解

抽象同步队列AbstractQueuedSynchronizer AQS 简要理解 1 什么是AQS2 AQS结构2.1 同步状态2.2 CLH队列2.3 Node 3 AQS流程 https://zhuanlan.zhihu.com/p/370501087 1 什么是AQS AQS(AbstractQueuedSynchronizer)是 Java 中实现锁和同步器的基础设施&am…

el-input-number中添加单位(css版)

优点: 通过css添加,非常便捷和简单 例如此处,需要添加一个分钟单位 <el-input-number class"input-number" v-model"value" :step"5" :min"30" ></el-input-number> //css <style lang"scss"> .input-nu…

node项目(一) koa脚手架的搭建

一、koa 安装 // 安装koa npm install -g koa-generator // 创建项目 koa2 项目名称 当出现这个框的时候安装完毕 之后就是进入目录文件&#xff0c;根据package.json执行即可 二、出现问题 汇总 问题一&#xff1a;koa-generator安装失败 没有出现koa-generator安装成功 …