CRPR能补偿crosstalk吗?明天就是清明小长假了,提前祝大家小长假玩的开心。上一期推送的原来电路最高工作频率是这么算出来的(STA基础篇),最后留了一个思考题给大家,吾爱I
CRPR能补偿crosstalk吗?
明天就是清明小长假了,提前祝大家小长假玩的开心。上一期推送的原来电路最高工作频率是这么算出来的(STA 基础篇),最后留了一个思考题给大家,吾爱 IC 社区的公众号后台也陆续收到很多粉丝的答案,有的表示完全不会,有的给出大致解题过程(不知道如何去计算),有的给出错误的答案(答案反正是五花八门,什么结果都有)。看到这种情况让小编瞬间震惊!所以有必要让大家做个投票,选择自己认为正确的答案。全面统计下各位的基础后,能更具针对性地写一些文章。
下面我们进入今天的主题。主要介绍 OCV 和 CRPR 的概念以及他们对 setup,hold 的影响。
OCV 的全称是 On Chip Variation。OCV 的类型分为两种。一种被称之为 global variation。另外一种则是 Local variation。
Global variation:
它是指受 Process,Voltage,Temperature(简称 PVT)的影响,芯片之间的性能差异性。因为芯片是成批加工制造的,无法保证每颗芯片上同一个 device 的性能一致性。
Local variation:
它是指受 Process,Voltage,Tempeture(简称 PVT)的影响,同一个 device 在同一颗芯片上表现出性能的不一致性。它与 Global variation 的相同点是都是受 PVT 的影响而表现出来的性能不一致性。
芯片中的所有晶体管不能期望具有相同的加工制造工艺。由于掩模印刷、蚀刻等工艺的缺陷,沟道长度、氧化层厚度、掺杂浓度、金属厚度等都会发生变化。具体理论的知识可以自行查阅相关教程。
关键公式: ID \= (1/2)μnCox (W/L)(VGS – VTh)2 (这个公式模电里面也学过的,忘记了可以翻书去)
由于标准单元是被摆放在芯片中的不同位置,所以外部电源的供电电压从源头的参考电压,经历一段电源网络后,达到每个标准单元时的电压会显现出差异性。这就是我们经常所说的 IR drop。
芯片内的晶体管密度不均匀。芯片的某些区域的高 cell density,高翻转率,会导致功耗比较高。因此,这些区域的结温较高,形成局部热点。芯片温度的变化会导致不同的延迟。
受到 OCV 的影响,一些 cell 可能快或慢于预期。如果不考虑这些变化,结果可能是乐观的,而实际情况可能导致 setup 或 hold 违例。那么,在数字 IC 设计实现阶段我们应该如何来表征这个 OCV 效应呢?我们的方法就是采用 timing derate 的方式来进行最终的 Timing signoff。
考虑 OCV 效应的 setup 检查
如果不考虑 OCV 的影响,图 1 中的电路实际最高工作周期 T=5.49ns,周期为 1/T=182MHz(是不是发现跟上一期的思考题类似,其实有所区别)。下面我们
假设考虑 OCV 引进 time derate 的约束,命令如下:
set_timing_derate -early 0.9
set_timing_derate -late 1.2
set_timing_derate -late 1.1 -cell_check
Launch clock path=2.0*1.2=2.4ns
MaxDataPath=5.2*1.2=6.24ns
CaptureClockPath=2.06*0.9=1.854ns
Tsetup_UFF1=0.35*1.1=0.385
Tmin=7.171ns
通过计算确实周期 T 变大了,即电路实际工作频率变低了(Performance 降低)。同时我们发现 UFF0 和 UFF1 的 clock tree 上存在 1.2ns 的 common path 即那两个 clock buffer(或者 inverter),既在 launch 的 clock path 上,又在 capture 的 clock path 上。所以在计算 seutp 时,common path 上的 cell delay 被分别乘以不同的 derate 值(实际情况在芯片上只会处于一个特定的 PVT 环境下),这样的计算方式显然太过悲观。
因此,我们引进了 CRPR(Clock Reconvergence Pessimism Removal) 的概念,它的数值等于这两个差异值之差。
LatestArrivalTime atCommOnPoint= 1.2 * 1.2 = 1.44ns
EarliestArrivalTime at CommOnPoint= 1.2 * 0.9 = 1.08ns
CRPR 值 = 1.44-1.08=0.36ns
因此 CRPR 补偿后,Tmin=7.171-0.36=6.811ns
图 1 考虑 ocv 的 setup 检查
考虑 OCV 效应的 hold 检查
不考虑 OCV 的影响,图 2 中没有 hold violation。假设施加以下 timing derate:
set_timing_derate -early 0.9
set_timing_derate -late 1.2
set_timing_derate -early 0.95 -cell_check
LaunchClockPath = 0.85 * 0.9 = 0.765
MinDataPath = 1.7 * 0.9 = 1.53
CaptureClockPath = 1.00 * 1.2 = 1.2
Thold_UFF1 = 1.25 * 0.95 = 1.1875
Common clock path pessimism: 0.25 * (1.2 - 0.9) = 0.075
因此 hold slack=0.765 + 1.53 – 1.2 - 1.1875 + 0.075 = -0.0175ns,即存在 hold violations。
图 2 考虑 ocv 的 hold 检查
这里说明一点,正常我们 timing signoff 时 derating 都不会这么悲观。对于 setup 检查来说,检查的是在最 worst 的 corner 底下,此时 cell delay 已经是最慢,最悲观的,因此无需在 launch path 上加 derate,只需要在 capture 上加额外的 derate 即可。同理,对 hold 检查来说,只需要在 launch path 上加 derate。当然很多时候对于 launch 或者 capture path,我们还区分 clock path 和 data path,可以针对性设置 derate。
介绍了这么多的概念和计算过程后,吾爱 IC 社区的小编又要抛出一个思考题给大家了,接招吧!
对于图 2 中的电路,假设在 common_clock_tree path 上存在 0.10ns 的 crosstalk,请分析其对 setup 和 hold 的影响。这道题算是拓展题,面试的时候很有可能问到哦,以后可能成为你的加分项。
小编都无私地分享了这么高级的玩意了,你们是不是得给小编打赏下(目前平均下来一天获得打赏 1 元钱,呵呵)。小编发文后开车都盼着每个路口遇红灯,为什么呢?目的有两个,一个是看阅读量,另外一个是看你们给打赏了没,呵呵。所以,请多多打赏,请多多转发,感谢!还是感谢!
相关文章推荐(不看保证后悔)
原来电路最高工作频率是这么算出来的(STA 基础篇)
数字后端面试问答 No.1-3(每日三问)
秒杀数字后端实现中 clock gating 使能端 setup violation 问题
教你轻松调 DCT 和 ICC 之间 Timing 与 Congestion 的一致性
数字芯片设计实现中修复 setup 违例的方法汇总
数字 IC 设计中 ECO 的那些事,其实并不是事!
Scan chain reordering 怎么用你知道吗?
如何评价数字后端设计中 floorplan 的好坏?
数字后端实现时 congestion 比较严重,你 hold 得住吗?
数字后端实现 place 过程进阶
Final netlist release 前,你应该做好哪些工作?
基于 Physical Aware 的动态功耗优化实现方案
深入浅出讲透 set_multicycle_path,从此彻底掌握它
【大师必备】最全的数字 IC 设计经典书籍电子版下载
你与数字后端大神的差距在这里,快来瞧瞧!
数字后端实现时 congestion 比较严重,你 hold 得住吗?
时钟树综合(clock tree synthesis)基础篇
【福利】数字 IC 后端各种 Userguide 下载
好了,今天的内容分享就到这里。另外,因为公众号更改推送规则,小编分享的每篇干货不一定能及时推送给各位。为了避免错过精彩内容,请关注星标公众号,点击 “在看”,点赞并分享到朋友圈,让推送算法知道你是社区的老铁,这样就不会错过任何精彩内容了。
如果你想和小编有更进一步的沟通交流的机会,欢迎加入小编知识星球,让我们一起学习成长,共同进步。相信在这里能让你成就一个更完美的自己 。
小编知识星球简介(如果你渴望进步,期望高薪,喜欢交流,欢迎加入 ****) :
在这里,目前已经规划并正着手做的事情:
ICC/ICC2 lab 的编写
基于 ARM CPU 的后端实现流程
利用 ICC 中 CCD(Concurrent Clock Data)实现高性能模块的设计实现
基于 ARM 四核 CPU 数字后端 Hierarchical Flow 实现教程
时钟树结构分析
低功耗设计实现
定期将项目中碰到的问题以案例的形式做技术分享
基于 90nm 项目案例实现教程(ICC 和 Innovus 配套教程)
数字 IC 行业百科全书
吾爱 IC 社区 知识星球星主为公众号” 吾爱 IC 社区” 号主,从事数字 ic 后端设计实现工作近八年,拥有55nm,40nm,28nm,22nm,14nm 等先进工艺节点成功流片经验,成功tapeout 过三十多颗芯片 。
这里是一个数字 IC 设计实现高度垂直细分领域的知识社群,是数字 IC 设计实现领域中最大,最高端的知识交流和分享的社区,这里聚集了无数数字 ic 前端设计,后端实现,模拟 layout 工程师们。
在这里大家可以多建立连接,多交流,多拓展人脉圈,甚至可以组织线下活动。在这里你可以就数字 ic 后端设计实现领域的相关问题进行提问,也可以就职业发展规划问题进行咨询,也可以把困扰你的问题拿出来一起讨论交流。对于提问的问题尽量做到有问必答,如遇到不懂的,也会通过查阅资料或者请教专家来解答问题。在这里鼓励大家积极发表主题,提问,从而促进整个知识社群的良性循环。每个月小编会针对活跃用户进行打赏。
最重要的是在这里,能够借助这个知识社群,短期内实现年薪百万的梦想!不管你信不信,反正已经进来的朋友肯定是相信的!相遇是一种缘分,相识更是一种难能可贵的情分!如若有缘你我一定会相遇相识!知识星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有 881 星球成员,感谢这881 童鞋的支持!欢迎各位渴望进步,期望高薪的铁杆粉丝加入!终极目标是打造实现本知识星球全员年薪百万的宏伟目标 。
欢迎关注 “吾爱 IC 社区 ”
微信号:ic-backend2018
https://mp.weixin.qq.com/s/pTN-R5l21vOf1W7so9IDMA