zoukankan      html  css  js  c++  java
  • 为何ICG容易出现setup violation?

    ICG(Intergrated Clock Gating)作为low power的设计手法之一,已经在实际中得到广泛应用。它们能够在某些时候将某些clock关断从而达到降低功耗的目的。然而从时序的角度,经常会发生ICG的setup难以收敛的情况。

    为什么会出现这种情况呢?

    下图展示了一种简单的带ICG的clock tree结构:

    一般每个ICG会控制一个或多个DFF,通过某个DFF传递过来的控制信号控制ICG的开启或者关断。

    然而,在CTS(clock tree synthesis)工具或者命令综合时钟树的时候,ICG不会被看作sink因此并不会作为balance对象,因此就会出现如下这种结果:

    由上图可以看出,在分析setup时:

    launck clk delay   = a + b

    capture clk delay = a

    因此,对于ICG的setup path,天然存在clock skewb ,而skew的大小完全取决于ICG距离sink DFF有多远。

    在出现setup violation的ICG path上,比较多见的就是因为ICG和sink DFF的clock之间存在较多逻辑或者物理上距离较远,从而导致skew较大而发生setup violation

    针对这种现象,在实际设计中,我们可能会考虑将出现setup violation的ICG尽量放在sin DFF附近以减小skew。与此同时,EDA工具也提供命令来收紧ICG的timing constraint来迫使工具来优化这些path,比如set_clock_gating_check命令。

  • 相关阅读:
    局域网搭建https局域网
    在内部局域网内搭建HTTPs
    在局域网内实现https安全访问
    http网站转换成https网站
    iis6 和iis7s上整个网站重定向
    我们在部署 HTTPS 网站时,该如何选择SSL证书?
    HTML:几个常见的列表标签
    HTML:基本的标签
    iOS: 字体样式
    iOS: 首次使用App时,显示半透明新手指引
  • 原文地址:https://www.cnblogs.com/lelin/p/12611597.html
Copyright © 2011-2022 走看看