set-timing-derate的early和late定义问题
时间:10-02
整理:3721RD
点击:
在set-timing-derate中,对于early定义为short/min,对于late定义为long/max。将setup的数据路径和hold的时钟路径定义为late。
对于此不是很理解啊,因为满足时序前提下,require(setup)>arrival(setup),require(hold)<arrival(hold)。也就是说在setup满足时序的前提下,应该是setup的时钟路径和hold的数据路径是更长的路径,为什么选项的定义却是反的呢?
初学后端,请诸位大牛不吝赐教。
对于此不是很理解啊,因为满足时序前提下,require(setup)>arrival(setup),require(hold)<arrival(hold)。也就是说在setup满足时序的前提下,应该是setup的时钟路径和hold的数据路径是更长的路径,为什么选项的定义却是反的呢?
初学后端,请诸位大牛不吝赐教。
自己顶一下
加了DERATE后,SETUP/HOLD 更难Meet了。所以Setup的DATA路径是Late,Delay更大了。
以下公式更难Meet
require(setup)>arrival(setup) × 105%
总觉得还是不太对劲,为啥算setup的时候数据路径长?真心求解,如果是执果索因总是感觉还是反的。
set_timing_derate 本來就是要分析 OCV 情況下, 將更難 meet 的 timing 修過. 確保 On Chip Variation 下的 timing torrence.
OCV考虑更加极端的情况,setup的launch path更慢,capture path更快
首先,你先搞清楚slack在setup,hold情况下怎么算出来的,对于late来讲,不论对于setup还是hold,你只要记住,late是在计算slack的时候将减数增大,early是在计算slack的时候将被减数减小,不论是late还是early,这样都会使得slack往小的方向拉伸,不就是加紧 约束吗,这样岂不是更好记忆
再把user guide好好看看,总之ocv的理论就是使得越来越悲观的意思
看看timing report就知道了