当前位置: 首页 > news >正文

数字IC后端实现之Innovus中各种cell名字前缀物理含义

社区新一期T28 a7core 和T12nm A55数字IC后端实现训练营直播课开始预约报名啦!

今天给大家分享下Innovus中各种常见cell命名规则及其物理含义。知道这些信息后,后续我们在debug后端项目问题时就可以更高效地定位到具体问题。做为数字IC后端工程师,我们应该做到对时序路径timing path的每颗buffer,inverter的作用用途非常清楚!

数字IC后端培训教程之数字后端项目典型案例分析

Innovus中cell的命名规则主要有以下几种:

1)buf_dummy__

这类buffer是工具为了解决设计中的assign语句而加入的buffer。

在这里插入图片描述

2)FE_FEEDX_BUF

这个是使用addBufferForFeedthrough或insertPtnFeedthrough给FeedThough添加的buffer。FeedThrough buffer对应的net名字一般是FE_FEEDX_NET。

3)spr_gate

对于老一点的工艺,我们会在place阶段通过placeSpareModule来给设计添加后续postMask ECO要用的spare cell。加入进来的spare cell名字会带上spr_gate关键词。

一般spare cell添加完成后,我们会把这类cell fixed住,避免工具在后续流程对它们进行位置调整。

4)FE_ECOC

当我们使用ecoAddRepeater命令来修复长线或高fanout带来的transition violation时,工具默认插入的buffer或inverter名字就会带上ECOC这样的关键词。

如果想指定插入buffer或inverter名字,我们可以通过下面的命令来实现。

setEcoMode -prefixName

5)FE_OCPC

工具做optDesign时序优化阶段在时序关键路径上添加的instance名字前缀。

6)FE_OFC

这类前缀名字的buffer是工具为了修复timing drv而插入的。
如果一条timing path中出现了比较多的FE_OFC的buffer和inverter cell,即便这条timing path的Slack是正的,这条路径也是极度不合理的,我们都应该想办法做优化,否则设计的面积,功耗都会偏大!

下图所示为咱们社区训练营项目的一个典型案例。PT中检查到这条时序路径是WNS最差的,但逻辑关键路径就不应该出现在这个地方!

timing path时序报告合理性分析
数字后端timing path逻辑深度优化

7)FE_PSBC

这类cell是工具在postRoute阶段做时序优化引入的buffer和inverter,这些cell对应的net名字会带上FE_PSBN,这里的N即Net的缩写。
出现这种情况一般是route阶段出现了routing detour。具体可以看看咱们这个案例innovus中展示的这条timing path。

在这里插入图片描述

8)FE_PHC

这类cell相信只要做过后端的人都知道这类cell就是工具插入的hold buffer。那为什么要关注这类cell呢?

以咱们社区T12nm A55项目为例,下图所示为postCTS后的高亮的PHC hold buffer图。通过高亮我们可以很清晰看到工具为了修hold violation到底插了多少hold buffer以及这些hold buffer都插在什么样的位置了。

PHC hold buffer合理性分析
在这里插入图片描述
数字IC后端教程之Innovus hold violation几大典型问题

很显然从这个高亮图我们就知道当前工具修hold violation的效果我们是不满意的,必须重新做优化!

一般hold buffer插入太多主要有以下几方面原因:

  • data path太短
  • clock skew太大
  • clock tree长度太长
  • hold的clock uncertainty ,ocv derating 等margin预留太大
  • 异步时钟之间的路径当做同步处理了
  • 采用分段长clock tree策略,但遗漏了部分clock tree

在这里插入图片描述

9)FE_USKC

这类cell只会出现在clock path上,而且只有当我们使用useful skew技术后!本质是工具在优化data path的同时会自动帮助我们调clock tree来进一步优化时序!

默认情况工具会根据时序的需求把它认为该调整的clock tree长度都调整一遍,而且调tree的范围不受限制,即有的sink点的tree长度可能会被拖长若干ns。

很显然这种操作对于我们的hold,clock tree功耗都是极度不利的。因为我们在PR flow中一定要限制useful skew可以使用的范围,一般尽量控制在100ps内!

在这里插入图片描述
在这里插入图片描述

10) antenna

我们知道innovus在route阶段是支持通过让工具插天线二极管antenna diode来自动修复antenna violation的。工具插入的这些antenna diode名字会带上antenna的关键词。

setNanoRouteMode -quiet -drouteFixAntenna  true
setNanoRouteMode -quiet -routeInsertAntennaDiode true
setNanoRouteMode -quiet -routeAntennaCellName "ANTENNABWP16P90CPD"

在这里插入图片描述

相关文章:

  • Vue3 Element Plus 表格默认显示一行
  • GitHub Actions 深度实践:零运维搭建 CI/CD 流水线
  • React 第六十一节 Router 中 createMemoryRouter的使用详解及案例注意事项
  • SpringBoot+vue前后端分离系统开发(期末)
  • ios 26发布:设计革新与智能整合
  • 26考研 | 王道 | 计算机组成原理 | 六、总线
  • 栈与队列:数据结构优劣全解析
  • react react-router-dom中获取自定义参数v6.4版本之后
  • 域名+nginx反向代理实现案例
  • frida对qt5(32位)实现简单HOOK
  • Oracle 中使用CONNECT BY、START WITH递归查询
  • Dockerfile - 自定义 Nginx 镜像构建
  • 面向对象-对象和属性描述符详解(一)
  • 使用HashMap或者List模拟数据库插入和查询数据
  • java集合(十) ---- LinkedList 类
  • 精准洞察位移变化,位移传感器开启测量新纪元
  • 自适应攻击的强大后门防御
  • 个典型的 Java 泛型在反序列化场景下“类型擦除 + 无法推断具体类型”导致的隐性 Bug
  • 解决 html2canvas 把svg转成jpg,无法把svg里的image图片正常显示的情况
  • uni-app项目实战笔记5--使用grid进行定位布局
  • 网站建设的基本技术/合肥seo网络优化公司
  • 衢州网站建设找哪家/哪里有学电脑培训班
  • 陕西专业网站开发联系电话/宁德市安全教育平台
  • 重庆城市建设集团官方网站/google adwords
  • 有哪些可以做兼职翻译的网站/产品如何做网络推广
  • 怎么做网站底部文件/网址搜索