<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ICG(Intergrated Clock Gating)作為low power的設計手法之一,已經在實際中得到廣泛應用。它們能夠在某些時候將某些clock關斷從而達到降低功耗的目的。然而從時序的角度,經常會發生ICG的setup難以收斂的情況。 為什么會出現這種情況呢? 下圖展示了一種簡單的帶ICG的clock tree結構: ![](https://img.kancloud.cn/12/86/12867537ca1cbaca5c2f3a7ab0946cad_720x462.png) 一般每個ICG會控制一個或多個DFF,通過某個DFF傳遞過來的控制信號控制ICG的開啟或者關斷。 然而,在CTS(clock tree synthesis)工具或者命令綜合時鐘樹的時候,ICG不會被看作sink因此并不會作為balance對象,因此就會出現如下這種結果: ![](https://img.kancloud.cn/9f/c6/9fc68a5659622c0eb27987983632e722_720x502.png) 由上圖可以看出,在分析setup時: launck clk delay = a + b capture clk delay = a 因此,**對于ICG的setup path,天然存在clock skew**:**b**,而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**命令。 往期問題答案: **fix hold violations時,插入buffer或者delay cell的位置,是靠近launch端還是capture端,還是并無任何要求呢?** 在邏輯和物理上都應該盡量靠近capture端,也就是endpoint。在邏輯上更靠近endpoint能夠保證插入的cells只會影響到有violation的path,物理上更靠近endpoint能夠有效避免DRV,因為修hold時加入的cell普遍驅動能力較弱。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看