zoukankan      html  css  js  c++  java
  • ocv & derate & crpr

    OCV: on-chip-variation 是指芯片在制造工艺P、工作电压V、环境温度T 等参数的局部变化情况下导致的 cell &net delay 变化,比如假设从clk 到两个reg D端的走线长度相同,RC 参数相同,xtalk 情况也相同,两个reg的size也相同,理论上来说这两条path 上的delay应该相同,但是由于两条path 的PVT参数的偏差,实际的delay 值也会有所偏差,这种偏差就称之为 ocv 。

    对于APR tool 来说,ocv 是无法精确计算的,但是在先进工艺制程中,ocv 的影响又不能忽略,一般通过设置 timing derate 参数来估算ocv 带来的影响。

    在 set_operating_condition 时,需要设置 analysis type,一般分为 bc_wc 和 ocv 两种

    bc_wc:在 wc 条件下 check setup (launch path :wc, latch path:wc),

                    在 bc 条件下 check hold   (launch  path :bc,latch path:bc)

    但是设想一种情况:在wc条件下,ocv 导致 latch path 出现偏差,latch path delay 比原来小,此时就可能出现 setup violation,所以bc_wc 模式是偏乐观的;

    ocv: 在 wc 条件下 check setup (launch path:wc,latch path:ocv_ wc)

               在 bc 条件下 check hold  (launch path:bc,latch path:ocv_bc )

    这样才能比较准确的考虑到芯片实际工作时的情况。但是这里也存在一个问题:wc corner bc corner 都是由 db 来描述的,如果采用ocv模式来分析timing的话,就需要一套 ocv_wc / ocv_bc 的 db 库,这个会比较麻烦,所以实际在使用ocv模式时,是直接用derate参数来分析的

    举个栗子:

    foundry 给出的signoff 要求中的 DRT_H 如下:

     

    那么在创建这个scenario时就需要这样设置:

    set_timing_derate  -cell_delay -early 0.954 -clock

    set_timing_derate  -net_delay  -early 1   -clock (这行可删去)

    set_timing_derate  -cell_delay  -late  1.046  -clock

    set_timing_derate  -net_delay  -late  1.085  -clock 

    这里只设置了clock derating, 如果foundry 也给出了 data derating,DATA_DRT_H,就将 data 也设置一遍

    所以,对比 BC_WC 和 OCV 区别如下图:

    一般在90nm以上的工艺,ocv 影响较小,直接用 bc_wc 分析即可;而到了90nm以下,如 u55 / u40 等等,都需要设置 derating 参数。

     那么如何开启 OCV,参考以下脚本:

    create_scenario  func_wc_cmax

    set_operating_condition 

    -analysis_type on_chip_variation
    -max  wc  -min wc 

    set_timing_derate  -cell_delay -early 0.954 -clock

    …………

     CRPR:

    实际上,ocv 模式有时也会太悲观,比如如果 launch 和 capture 有 common path,那么这段 common path 的 ocv 就是一样的,此时就不再需要用 early-drt 和 late-drt 来修正,所以开启了ocv 模式后,需要同时开启 crpr (clock reconveregence pessimism removal),开启方法:

    set_app_var timing_remove_clock_reconvergence_pessimism true

  • 相关阅读:
    PAT 1006 Sign In and Sign Out
    PAT 1004. Counting Leaves
    JavaEE开发环境安装
    NoSql数据库探讨
    maven的配置
    VMWARE 下使用 32位 Ubuntu Linux ,不能给它分配超过3.5G 内存?
    XCODE 4.3 WITH NO GCC?
    在苹果虚拟机上跑 ROR —— Ruby on Rails On Vmware OSX 10.7.3
    推荐一首让人疯狂的好歌《Pumped Up Kicks》。好吧,顺便测下博客园可以写点无关技术的帖子吗?
    RUBY元编程学习之”编写你的第一种领域专属语言“
  • 原文地址:https://www.cnblogs.com/xiaoxie2014/p/9550391.html
Copyright © 2011-2022 走看看