timing derate

作者: 飞奔的大虎 | 来源:发表于2021-12-09 16:14 被阅读0次

    今天我们介绍的时序分析概念是timing derate. 我们可以称为时序增减因子。我们知道在芯片的生产过程中,由于刻蚀,不同点的温度,金属不均匀,串扰,晶体管沟道长度等影响因素,导致片上各个位置单元延迟不一样。因此,我们需要一个缩放因子来让设计更加严格。

    timing derate是计算OCV的一种简单方法,在某单一条件(BC-WC)下,把指定path的delay放大或者缩小一些,这个比率就是derate。比如说:

    -late

    setup ==> data path * 1.1

    hold ==> clock path * 1.1

    -early

    setup ==> clock path * 0.9

    hold ==> data path * 0.9

    以下图为例:

    setup check中,

    Date arrival time即data path和launch clock path需要使用-late 选项,使得路径变慢。

    Date require time即capture clock path需要使用-early 选项,加快路径延迟。

    需要注意的是:考虑time derate需要在某个单一条件下,比如说BC或者WC条件下,把指定path的延迟再放大或者缩小一点,要么是BC,要么是WC,不要把BC和WC混在一起,再OCV,那样太过于悲观。

    setup check 一般是工作在WC PVT条件下,因此不需要在late path上,即launch clock path以及data path上再加time derate,因为在WC条件下,launch clock path以及data path上的延迟已经是所有条件下最差的delay了,没有必要再加大延迟,但是WC条件下capture clock path上的delay肯定不是最小的,因此需要加快。

    所以上面的timing path做setup check,time derate只需要这样设置:

    set_timing_derate -early 0.9

    set_timing_derate -late 1.0

    我们可以计算一下设了timing derate以后setup check的变化:

    上图中:launch clock path = (1.2+0.8)*1.0 = 2.0

    max data path = 5.2 * 1.0 =5.2

    capture clock path = (1.2 + 0.86) *0.9 = 1.854

    所以最小时钟周期= 2.0 + 5.2 -1.854 + 0.385= 5.731

    可以看到:考虑timing derate以后,会降低整个design的工作频率。

    在Hold check中

    考虑time derate的情况与setup正好相反,

    Data require time中的capture clock path使用-late选项,使路径变慢。

    Data arrival time中的data path和launch clock path使用-early选项,使路径加快

    实际上,Hold check一般在BC条件下,因此,launch clock path与data path不需要再进一步减小delay, 因为已经是最小delay, 但是BC条件下的capture clock path需要derate. 可以使用如下设置

    set_timing_derate -early 1.0

    set_timing_derate -late 1.2

    这样添加time derate后

    Launch clock path = 0.85 * 1.0 = 0.85

    Min data path = 1.7 * 1.0 = 1.7

    Capture clock path = 1.0 * 1.2 = 1.2

    所以slack=0.85+1.7-1.2-1.25=0.1

    原文链接:时序分析基本概念介绍<Timing Derate> (sohu.com)

    相关文章

      网友评论

        本文标题:timing derate

        本文链接:https://www.haomeiwen.com/subject/cyvffrtx.html