今天我们要介绍的时序分析命令是 uncertainty ,简称时钟不确定性。主要用来定义clock信号到时序器件的clock端可能早到或晚到的时间,降低了时钟抖动jitter对有效时钟周期的影响。
值得注意的是,在setup check中,clock uncertainty是代表着降低了时钟的有效周期;而在hold check中,clock uncertainty是代表着hold check所需要满足的额外margin。
来看下面一条reg2reg path. 对照着如下时钟波形图。可以写出下面的约束。
set_clock_uncertainty-from virtual_sys_clk -to sys_clk -hold 0.05
set_clock_uncertainty -from virtual_sys_clk -to sys_clk -setup 0.3
set_clock_uncertainty -from sys_clk -to cfg_clk -hold 0.05
set_clock_uncertainty -from sys_clk -to cfg_clk -setup 0.1
在pre-cts的时候,我们将时钟的不确定性设定为target的skew和jitter值之和来模拟真实的时钟;而post-cts之后,时钟树propagate delay已经确定,skew真实存在,所以uncertainty就是时钟的真实抖动值。因此prects的target skew不能设置的太大或者太小,这样会造成prects和postcts的correlation不好。总结一下:
在pre-cts中,
setup的clock uncertainty = jitter + clock tree skew
hold的clock uncertainty = clock tree skew
在post-cts中,
setup的clock uncertainty = jitter
hold的clock uncertainty = 0
对于uncertainty的设置,每种工艺,或者每种设计来说,都不尽相同。一般来说,频率较高的时钟,我们可以设置相对较小的clock uncertainty;而频率较低的或者经过分频的时钟,我们可以把clock uncertainty加大一些。
对设计的不同阶段,clock uncertainty的设置也不一样,从design的initial阶段,经过place, cts, route, extraction, signoff等步骤,每个阶段都应该设置不同的clock uncertainty,给后续每个步骤预留margin,而且数值是越来越小的趋势。
惠普Sonata锂离子长效电池超长寿命电池开始销售
冠层快速分析仪的作用是怎样的
微软Surface系列的全新产品介绍
通用重整旗鼓向电动车进发 但却夹杂着英雄迟暮的悲壮
以单片机为控制核心的空调逆变器设计
时序分析基本概念介绍<Uncertainty>
Facebook开源了两款基于PyTorch的实验框架Ax和BoTorch
弹片微针模组可完美解决手机摄像头性能测试的难题
iPhone十一年的进化,每一款都是工巧匠精心雕琢的视觉盛宴
87%科技人才坚信:区块链是继互联网之后下一个颠覆者
上拉下拉电阻问题分析,流散、接地、冲击接地电阻都是什么意思?
CNN图像分类策略
WiFi产品射频电路的设计方法有哪些
STM32L1产品线中带A与不带A的差别
为什么液晶拼接屏在安防监控上会被广泛地应用
伯克利RISELab推出了多主体强化学习包Ray RLlib 0.6.0
9月开学季,最适合学生的手机,oppor11和vivox9s你选谁?
实现高性能和高速度应用的低漏失线性稳压器的设计
微雪电子EP3C FPGA NIOSII开发板简介
广州国际人工智能产业研究院挂牌 主要开展人工智能前沿技术的研究