Setup&Hold互卡问题和Useful Skew的影响

2023-10-29

setup与hold timing互卡(conflict)现象的成因主要有哪些?如何解决?

成因上来说,setup&hold互卡主要有几种因素的影响:

a) 不同PVT条件下的cell delay variation较大

b) 某些cell的library setup time或library hold time特别大

c) setup与hold的uncertainty或者derate约束较为严格或悲观

d) launch, capture的clock common path很短,OCV因素导致setup和hold都很难收敛
有些path是某一种原因导致的,另外一些path可能是几种因素叠加而产生的互卡。

从path的类型上来说,主要有三种情况:
  1. 同一endpoint的setup&hold互卡,但startpoint不同

  2. 相同startpoint与endpoint的setup&hold互卡,但中间经过的data路径不同

  3. 相同startpoint与endpoint的setup&hold互卡,且经过的data路径完全相同

1, 2两种情况相对简单,只要仔细分析大概率可以找到有margin的点去修hold或者setup,最麻烦的是3)这种情况。在了解上面几种因素的基础上,我们可以看一条具体的path来分析这个问题。
例:假设下面的path在worst PVT条件下的setup slack如下所示:
在这里插入图片描述
而对应的best PVT条件下的hold slack如下:
在这里插入图片描述
可以看到setup和hold的slack都是负的。仔细分析delay值可以发现,导致这种情况发生的原因是多样化的:

  1. 不同PVT条件下clock line的delay大概呈2倍比例,而data line的delay比例高达3.4

  2. clock line完全没有common path,计算slack的时候没有任何CPPR的补偿

  3. library hold time数值过大

  4. hold corner的derate比setup更严格(悲观)
    明白了上述原因,再想解决办法就相对简单了。library hold time本身如果lib没有问题,后端很难去改善,如果是sram的话设计早期还可以考虑换类型,但是到ECO基本就没有办法了;hold corner的derate属于signoff约束,一般也不能轻易改动,否则很难保证STA的准确性;因此我们能做的就是在原因1)与原因2)上想办法:
    **对于1)**来说,就是很多人常说的某些cell在不同corner下的variation较大,我们可以去一一对比找出该cell的类型,将其替换成variation更小的cell;
    **对于2)**来说,我们可以想办法增加两条timing path的common clock path,这样CPPR就可以扣掉部分悲观量,从而缓解setup与hold的slack。一般可能需要多管齐下才能很好地解决这种问题。非常建议大家对照上述公式计算一下考虑CPPR的情况下slack会有怎样的改变。

useful skew解setup violation的具体做法有哪些?分别有什么影响?

我们考虑下面一组timing path:
在这里插入图片描述
上图中有三条timing path: A, B和C,有4条clock路径到达各个DFF分别为1, 2,3和4。如果现在timing path B的endpoint上有setup violation,我们可以怎样调整clock可以修掉它呢?根据setup的定义可以知道,做短clock路径2和做长clock路径3都可以修掉B处的setup(不考虑实际情况是否允许做短和做长)。那么这两种方案分别有哪些影响呢?

方案一:做短clock路径2,也就是path B的launch clock。

其影响在于path B本身的hold会变差,同时path A的setup也会变差,因此需要分别检查二者是否有足够的margin支持将clock路径2做短。

方案二:做长clock路径3,也就是path B的capture clock。

其影响在于path B本身的hold会变差,同时path C的setup也会变差。因此需要分别检查二者是否有足够的margin支持将clock路径3做长。

其实这个问题的本质并不复杂,大家需要记住和理解的是:对同一条path来说,setup变好hold就要变差,反之亦然。同时capture变长对setup有利对hold有害,反之launch长对hold有利对setup有害。

做长common clock path 的方法
方法一:bounds法
将其他module(dpu模块)有timing path的寄存器摆放至Common clock gating那个位置来实现。粗暴的做法是给module做一个bounds或region来实现。根据实际情况需求,也可以再加一颗guide buffer避免工具出错。
在这里插入图片描述

方法二:分步做tree思想
这个方法的提出主要目的是让大家体验下分段长tree的基本思想。在CLKIN port处加一颗guide buffer,然后在这颗buffer输出定义一个时钟。这样整条CLKIN的tree就被分成两部分:第一部分是从CLKIN port到guide buffer,第二部分是从guide buffer到所有的sink。
在这里插入图片描述

方法三(分步思想二):
在common clock gating的输出端定义时钟,并根据ICG后面的实际tree长度来调整分支N中寄存器的floating pin值。
采用这些方法后我们可以在ICC2中看到如下的clock tree。确实common clock path的级数变多了,符合我们的预期。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Setup&Hold互卡问题和Useful Skew的影响 的相关文章

  • 康奈尔笔记法:高效学习的秘密武器

    在求知的道路上 我们常常会遇到这样的情况 上课时明明听得很认真 但课后却发现自己对知识的掌握并不牢固 阅读书籍时 尽管我们做了很多笔记 但最后却发现自己并没有真正理解 这就是因为没有找到有效的学习方法 而康奈尔笔记法 就是一种能够帮助我们高
  • 38条Web测试经验分享

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 9k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 联邦学习:在保护数据隐私的前提下进行分布式机器学习的方法

    随着大数据时代的到来 机器学习正成为各个领域中重要的工具和技术 然而 传统的机器学习方法通常需要集中式地收集和处理大量的数据 这可能涉及到用户的隐私问题 为了解决这一问题 联邦学习应运而生 联邦学习是一种分布式机器学习的方法 它允许在保护数
  • 联邦学习:在保护数据隐私的前提下进行分布式机器学习的方法

    随着大数据时代的到来 机器学习正成为各个领域中重要的工具和技术 然而 传统的机器学习方法通常需要集中式地收集和处理大量的数据 这可能涉及到用户的隐私问题 为了解决这一问题 联邦学习应运而生 联邦学习是一种分布式机器学习的方法 它允许在保护数
  • 音频翻译文字软件哪个好用?猜你在找这几个翻译工具

    随着跨语言交流的深入发展 音频翻译技术的应用也越来越广泛 有了这项技术 大家可以在各个领域中快速实现跨语言的交流和理解 进一步实现跨语言的即时沟通 而随着这项技术的不断发展 音频翻译的准确率和实时性也在不断提高 许多应用有这项技术的翻译工具
  • 拍照翻译在线使用的具体教程在哪里?你一定想知道这个

    马上就期末了 这几天真是天天在为我的日语考试而发愁 都怪我平时上课只顾着 欣赏 老师放的各种教学电影 那些课堂知识倒是一点也不进脑 这下好了 人家已经在美美的复习 我还卡在看不懂单词 尴尬期 而且这查词也太费功夫了吧 一下午的时间光用在这上
  • ITLV格式:优化数据处理与通信效率

    许多文章中经常使用 它是基于TLV Tag Length Value 格式的一种变体 根据实际需要进行了一些修改 在ITLV格式中 各字段具有以下含义 I ID或Index 用于区分不同的数据 每个数据都有一个唯一的ID或索引 用于标识该数
  • Mac/Linux虚拟机CrossOver2024新版下载使用教程

    CrossOver不像Parallels或VMware的模拟器 而是实实在在Mac OS X系统上运行的一个软件 该软件可以让用户在mac是上直接运行windows软件 本文为大家带来的是CrossOver Mac版安装教程 CrossOv
  • 提升口才:掌握技巧,展现自信

    口才 是现代社会中不可或缺的一种能力 无论是在职场 社交场合还是日常生活中 良好的口才都能为我们带来更多的机会和成功 然而 很多人却因为缺乏自信或者技巧不足而无法充分发挥自己的口才 那么 如何提升口才呢 下面就让我们一起来探讨这个问题 如果
  • 海报制作软件哪个好用?这几款功能强大且易于操作,快试试看

    近日工作状态be like 表面唯唯诺诺 私下骂骂咧咧 老板是觉得自己的嘴开过光吗 随便指个人叫她制作海报 那个人就能无师自通海报设计skill 是的没错 我就是那个倒霉蛋 作为一个完全没有海报设计基础的人 当时接到这个任务 我是想迎难而下
  • Win11熄屏,自动断开WiFi解决方法

    一 前言 由于 我需要使用自己的电脑 远程连接服务器跑代码 电脑息屏之后 wifi断开 代码也就自动停止了 非常生气 二 解决办法 网上的办法很多都是win10 而且别人的都有电源管理 而我的没有 下面是别人的 这是我的 就是没有电源管理
  • 在线识别图片文字工具有哪些?教你快速提取文字

    文字识别工具 也称为光学字符识别 OCR 工具 是一种能将图像中的文本信息转化为可编辑和可搜索的数字格式的过程 它是现代信息处理和人工智能领域的重要应用之一 文字识别工具的作用在于 无论是纸质文档 电子文档还是照片上的文字 都能通过该工具进
  • “性能压测揭密:关键指标分析!“

    在进行全链路压测和性能测试时 需要关注多个关键性能指标 KPIs 来评估系统的性能表现 以下是一些常见的性能测试指标 1 吞吐量 Throughput 系统在单位时间内能够处理的请求数量或事务数量 通常以每秒请求数 RPS TPS 来衡量
  • 考HCIE要多久 | HCIE学员经验分享

    大家好 我是讯方 智汇云校的学员林同学 来自深圳信息职业技术学院的一名22届的通信专业的学生 通过近半年在云校的学习 我在年底成功考取了云服务方向的HCIE证书 想把我的一些考证心得分享给正在备考的小伙伴们 刚开始了解到ICT行业是在学校的
  • 魏副业而战:小红书AI漫画副业项目

    我是魏哥 与其躺平 不如魏副业而战 今天魏哥给大家分享一个小红书AI漫画副业项目 大家都知道小红书上用户80 以上都是女性 而我们今天的项目主要利用AI生成的漫画宝宝图片来吸引宝妈用户 这个项目操作简单 适合宝妈 或有空闲时间的小伙伴 我们
  • 基于电源完整性的PCB设计原则

    基于电源完整性的一些PCB设计建议 1 尽量减少电源和地通路之间的环路电感 在相邻的层上分配电源和接地面时 使用尽可能薄的电介质 2 通过在平面之间使用尽可能高的介电常数来获得平面之间的最低阻抗 与尽可能薄的介电常数设计保持一致 3 使用尽
  • 驾驭远程工作:提高工作效率与灵活性的秘诀

    随着科技的飞速发展 远程工作已成为越来越多企业和员工的选择 这种工作模式不仅为员工提供了更大的灵活性 也为提高工作效率创造了新的可能 本文将深入探讨如何通过远程工作提高工作效率和灵活性 一 明确目标与计划 在远程工作中 明确的目标和计划至关
  • 图片编辑软件有哪些好用的?这几款快收藏吧

    你有没有过这样的经历 精心拍摄了一组照片 却发现有些角度不对 光线不够好 或者想要给图片加上一些特别的滤镜效果来达到心目中的样子 这时 你就需要一款合适的图片编辑软件了 但是 市面上的图片编辑软件琳琅满目 哪一款才是适合自己的呢 别担心 今
  • 储存设备的进化与发展:从传统到现代的飞跃

    随着科技的飞速发展 储存设备作为信息时代的基石 经历了翻天覆地的变化 从最早的机械硬盘到现代的固态硬盘和云存储 储存设备的进化与发展不仅提升了数据存储的速度和容量 还极大地改变了我们的工作和生活方式 本文将带您回顾储存设备的进化历程 并探讨
  • 像素高低:影响照片质量、分辨率与细节表现的奥秘

    在数字摄影时代 像素成为了衡量照片质量的重要标准之一 那么 什么是像素 像素的高低又如何影响照片的质量 分辨率和细节表现呢 本文将为您揭开这个奥秘 首先 我们来了解一下像素的基本概念 像素 Pixel 是组成数字图像的基本单元 通常由字母

随机推荐

  • XSSGAME小游戏(XSS学习)level1-15

    XSS源码下载 xssgame 本地搭建 level1 查看源码
  • 【SQL注入-04】报错注入案例

    目录 1 报错注入概述 2 常用的报错注入命令 2 2 group by重复键冲突 count floor rand group by组合 2 2 1 group by重复键冲突的原理及bug演示 2 2 2 补充 sql语句解析过程 2
  • SpringBoot 如何使用 CORS 进行跨域资源共享

    SpringBoot 如何使用 CORS 进行跨域资源共享 在 Web 开发中 跨域资源共享 CORS 是常见的问题之一 CORS 是一种安全机制 用于限制跨域请求对目标服务器的访问 在本文中 我们将介绍如何在 Spring Boot 中使
  • 解决NestedScrollView嵌套RecyclerView滑动冲突导致无法正常调用加载更多功能

    解决NestedScrollView嵌套RecyclerView滑动冲突导致无法正常调用加载更多功能 在使用NestedScrollView嵌套RecyclerView中 首先会出现的问题就是RecyclerView滑动会出现卡顿 没有惯性
  • DB2 常见错误号 解释

    操作数据库过程中 遇到许多问题 很多都与SQL CODE和SQL State相关 现在把一个完整的SQLCODE和SQLState错误信息和相关解释作以下说明 一来可以自己参考 对DB2错误自行找出原因 声明 这是搜集网上的资料得来的 详细
  • Java获取JSONObject内指定字段key的value值

    项目场景一 获取 id code success data user id 6286f2c0 6399 11ec 800b f7f07b836bd8 exp 1667880458 解决方案 通过JSONObject解决 String id
  • Android studio 卸载

    Android studio 卸载 彻底卸载 Android studio 卸载 彻底卸载 1 卸载Android Studio前 要关闭 或重启电脑 2 控制面板 开始 控制面板 程序和功能 选择Android Studio 3 删除sd
  • JS中localStorage的使用

    localStorage的介绍使用 localStorage理论上来说是永久有效的 即不主动清空的话就不会消失 即使保存的数据超出了浏览器所规定的大小 也不会把旧数据清空而只会报错 localstorage为标准的键值对 Key Value
  • 使用Qgis按属性批量裁剪

    参考 QGIS按属性表批量裁剪 知乎 1 加载栅格图以及矢量 2 根据属性字段将矢量分割成单独的矢量文件 Vetor Data Management Tools Splt vector layer 3 根据单独矢量文件批量裁剪栅格图像 Ra
  • 为什么越多的通用寄存器,可以减少对栈的访问,提高性能

    为什么越多的通用寄存器 可以减少对栈的访问 提高性能 增加通用寄存器的数量可以减少对栈的访问 从而提高性能的原因如下 1 寄存器是位于CPU内部的存储器 访问速度非常快 远快于访问外部内存 相比之下 访问栈上的数据需要通过内存总线与内存进行
  • 微信登录接口对接

    微信开发文档 https open weixin qq com cgi bin showdocument action dir list t resource res list verify 1 id open1419316505 toke
  • 简单的Android端新闻App的实现。

    1 更新记录 2021 11 14 1 更新了数据来源的 api 使用了聚合数据的 新闻 api 2 使用了 TabLayout 代替原来的 textview 组 2021 11 13 1 解决下拉刷新出现崩溃的现象 1 更新了数据来源的
  • 基于FPGA的售货机

    文章目录 一 要求 二 效果 三 设计思路 1 按键 2 数码管 3 LED 4 蜂鸣器 四 程序流程图 五 项目RTL视图 六 代码实现 1 按键消抖 2 售货机 3 LED 4 数码管 5 音乐播放 6 蜂鸣器 7 顶层模块 七 仿真
  • 在uCGUI中添加汉字库

    在STM32上移植了uCGUI3 9 但是uGUI中没有带汉字库 于是网上找了一下资料 好多没有看懂 但后来还是找到了一个网友提供的uCGUI汉字库生成器 直接生成了 c文件 操作很简单 在此和有同样需求的同行分享一下 下面是uCGUI汉字
  • 用MobaXterm连接服务器

    用MobaXterm连接服务器 MobaXterm软件下载地址 MobaXterm连接服务器 MobaXterm连接Ubuntu MobaXterm软件下载地址 百度网盘分享码是 uvoj MobaXterm连接服务器 MobaXterm下
  • vue实现搜索功能

    通过列表里面的月份来进行搜索 需要用到日期选择器和filter方法
  • nginx集群报错“upstream”directive is not allow here 错误

    nginx集群报错 upstream directive is not allow here 错误 搭建了一个服务器 采用的是nginx apache 多个 php mysql 两个 多个apache负载均衡及后端mysql读写分离的服务器
  • 看了这篇文章,别再说你不会制作纹理逼真的法线贴图了

    下图是一只恐龙的低模布线 细心的朋友估计会看到恐龙头部的布线密度是要远远高于身体和四肢的 这种布线的好处就是可以在你需要着重刻画的部位经过细分后生成的模型面数会远远高于那些次要部分 会使你的细节刻画更方便 精度更高 如果想更多了解游戏建模可
  • 小程序路由跳转

    1 在小程序中路由跳转分为两种方式 声明式导航和编程式导航 路由导航就是我们在进行路由跳转的时候选择的方式 2 小程序中的声明式导航 概念 通过小程序提供的组件navigator 进行路由跳转 想要了解更多关于小程序navigator组件用
  • Setup&Hold互卡问题和Useful Skew的影响

    setup与hold timing互卡 conflict 现象的成因主要有哪些 如何解决 成因上来说 setup hold互卡主要有几种因素的影响 a 不同PVT条件下的cell delay variation较大 b 某些cell的lib