首页 > 其他分享 >为什么先进工艺需要check那么多corner?

为什么先进工艺需要check那么多corner?

时间:2024-09-12 15:21:51浏览次数:16  
标签:capture clock 工艺 delay path corner hold check

    越先进的工艺,其制造生产是偏差也越大。所以导致了了很多corner的产生。如RC corner有最基础的rcworst、cworst、rcbes和cbest情况。有的foundry还会对rc的取值范围进行了约束,如cworst_T,采用的是1.5 sigma的取值范围。

    此外,工艺越先进,mos管的工作电压也会随之降低。这也发生了有趣的现象,MOS管的器件延迟随着温度的升高而降低即温度反转效应。因此,在温度反转效应下,ff125的delay反而要比ffm40更小。

    因此,先进工艺下,RC corner变得更多,同时加上温度反转效应,这就导致了signoff corner要比老工艺多很多。同时,我们也会发现hold signoff corner要比setup多很多。这又是为什么呢?

    答案是setup如果不满足的情况下,可能通过降频使得芯片正常工作。而且,我们在设计的时候,一般clock频率都会过约,所以是有较大的margin的。而hold如果出现了violation就没有很好的手段去修复了。因此,我们需要在尽可能多的corner下去check hold。

那么基于上面的陈述,我们可以探讨一下一个问题,就是如果ffcbest的hold check满足的情况下,还有必要去check ffcworst吗?

    搞清楚上面的问题,可以从hold check公式入手:hold_slack = ( launch_clock_delay + data_path_delay ) – capture_clock_delay – hold_check

    举个极端的例子方便大家理解,假设launch clock path delay为0,launch clock data path delay 也为0,而capture clock path delay较大。

    那么hold slack = launch clock path delay + data path delay - capture_clock_path_delay = -capture_clock_path_delay,也就是说,capture clock path delay越大,hold越难满足。很明显,ffcworst下的delay是更大的。所以,在这条特殊case下,ffcbest hold是cover不掉ffcworst的情况的。

    当然上面的例子过于极端,我们再看一个例子。假设launch clock path 和data path上的delay主要是集中在cell delay上,capture clock path delay主要集中在net delay上。那么,这种情况下,ffcworst的capture clock path delay就要大于ffcbest了。导致ff cworst下,hold更难满足。

    芯片的生产制造和使用环境是特别复杂的。为了能够满足不同体质的芯片在不同的使用场景下面都能够正常的工作。我们需要在尽可能多的corner下都能够满足timing要求,从而增加芯片稳定运行的鲁棒性。

#小编是一个入行多年的数字后端工程师,本身对编程方面比较感兴趣,在数字后端的脚本、flow上比较擅长,可以为大家提供答疑咨询服务。如有需求,可打开星球芯冰乐,获取更多知识干货分享与答疑服务。

标签:capture,clock,工艺,delay,path,corner,hold,check
From: https://blog.csdn.net/Albert66666/article/details/142177285

相关文章

  • van-checkbox + dialog
    <van-dialogv-model="showParkingLot"title="选择"show-cancel-buttoncancelButtonText="取消"confirmButtonColor="#2e7cf9"@confirm="confirm"><divclass=......
  • 【PCB工艺】如何实现PCB板层间的互连
    系列文章目录1.元件基础2.电路设计3.PCB设计4.元件焊接5.板子调试6.程序设计7.算法学习8.编写exe9.检测标准10.项目举例11.职业规划文章目录前言①、什么是通孔②、通孔是怎样产生的③、通孔种类④、盘中孔⑤、设计建议前言送给大学毕业后找不......
  • CheckSum算法--又名累加和校验算法
    校验和(Checksum)是网络协议使用的数据错误检测方法,并且被认为比LRC(纵向冗余校验,LongitudinalRedundancyCheck,LRC),VRC和CRC(循环冗余校验(CyclicRedundancyCodes,CRC))更可靠。此方法在发送方使用校验和生成器,在接收方使用校验和校验器。累加和校验算法的实现发送方:对要数据累加,得......
  • CF1672F2 Checker for Array Shuffling 题解
    题目链接点击打开链接题目解法我怎么F1都不会做/llF1:由原始值向最终值连边如果是排列的话,操作次数显然为\(n-\)环数拓展到非排列的情况,即相同数之间的下标可以选择顺序,要求分出来的环数最大直接考虑上面的这东西,让我进入了死胡同。。先给出一个结论:最大环数的最小值是......
  • C++ 如何检查两个给定的线段是否相交(How to check if two given line segments inters
    给定两条线段(p1,q1)和(p2,q2),判断给定的线段是否相交。在讨论解决方案之前,让我们先定义方向的概念。平面中有序点三元组的方向可以是 –逆时针 –顺时针 –共线 下图显示了(a,b,c)的不同可能方向 方向在这里有什么用处? 两条线段(p1,q1)和(p2,q2)相交,当且仅当以下......
  • CheckNetIsolation介绍
    CheckNetIsolation是Windows操作系统中的一个命令行工具,用于管理UWP应用(UniversalWindowsPlatform,通用Windows平台应用)的网络隔离设置。该工具主要用于配置应用程序是否允许访问本地网络资源(如本地回环地址127.0.0.1),并排查与网络相关的问题。UWP应用由于其安全架构,默认......
  • 【SQL数据库技术开发】第34课时-数据库SQL CHECK 约束
    SQL CHECK 约束SQLCHECK约束CHECK约束用于限制列中的值的范围。如果对单个列定义CHECK约束,那么该列只允许特定的值。如果对一个表定义CHECK约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。CREATETABLE时的SQLCHECK约束下面的SQL在"Per......
  • Eclipse Check For Updates总是检查不到更新-解决方法
    最近想用流行的JavaIDE——Eclipse的Help->CheckForUpdates更新Eclipse,结果总是说未找到更新:1.检查是否有更新首先,访问Eclipse下载地址获得最新版本(目前为2020-06):再看看系统中的Eclipse版本(Help->AboutEclipseIDE):如果网上版本和当前版本相等(像图中),那就System.......
  • Shrink工艺当中的“坑”你知道吗?
            Foundry厂主流工艺为0.18μm、0.13μm、90nm、65nm、45nm、32nm等,而shrink工艺就是foundry在主流工艺的基础上,将相关参数设置进行调整,从而能够得到制程更先进的工艺。这么做的好处就是foundry的开发成本降低很多。如0.11um的工艺就是从0.13um的工艺基础上shrin......
  • CF2002D2 DFS Checker (Hard Version) 题解
    https://codeforces.com/problemset/problem/2002/D2考虑找一个容易维护的必要条件,再证明充分性。最容易想到的是每个子树对应一个区间,子树根位于左端点sol1相邻的结点\(p_{i-1},p_i\)有两种情况:\(fa[p_i]=p_{i-1}\);叶子\(p_{i-1}\)在子树\(fa[p_i]\)中,回溯到\(fa[......