0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

門控時鐘檢查(clock gating check)的理解和設計應用

冬至子 ? 來源:艾思后端實現(xiàn) ? 作者:艾思后端設計 ? 2023-06-19 16:49 ? 次閱讀

門控時鐘的分類

通過門控方式不同,一個門控時鐘通常可以分為下面基類,

高有效(Active High)門控時鐘

通常使用與門(and)或者與非門(nand)實現(xiàn),

image.png

當使能信號為高的時候,時鐘才可以被釋放出去. 如果是nand,則輸出的時鐘是一個反向時鐘的波形

image.png

低有效(Active High)門控時鐘

通常使用與門(and)或者與非門(nand)實現(xiàn),

image.png

當使能信號為低的時候,時鐘才可以被釋放出去. 如果是nor,則輸出的時鐘是一個反向時鐘的波形

image.png

除過上述的情況,有時候也會使用復雜一些的clock gating結構,這里的波形就會復雜一些

XOR結構的門控時鐘

image.png

當enable信號為1的時候,輸出是輸入的反向,反之則是正向

MUX結構的門控時鐘

image.png

時鐘傳播單調性(unate

靜態(tài)時序分析的基本原理是信號傳播,對于擁有明確單調性的傳播是構建正確STA環(huán)境的基礎,數(shù)據(jù)通路對單調性(unate)通常不敏感,但是時鐘通常是邊沿敏感信號,所以時鐘網(wǎng)絡的單調性在STA時序分析的形態(tài)中尤為重要。STA工具也只有在單調性明確的時鐘網(wǎng)絡上做正確的時序分析,否則大概率會在實際芯片里邊出現(xiàn)和STA不一致的情況。這點對于時鐘網(wǎng)絡的設計非常重要。

通過上述幾種門控始終結構,從單調時鐘的(unate)的角度來看,可以總結為下表

gating結構

image.png

所以,對于所有在時鐘網(wǎng)絡上的門控時鐘,用戶都需要明確其單調性,以便STA進行正確的分析。

門控時鐘的的檢查(clock gating check)

通過上述描述,可以看到始終網(wǎng)絡對于靜態(tài)時序分析的重要性,所以在門控時鐘在時鐘網(wǎng)絡的傳播路徑上的檢查尤為重要。同樣,基于clock gating的結構,對于active high,active low的門控時鐘,通過STA工具??梢宰詣油茢啵╥nfer)出相應的門控時鐘檢查(clock gating check),用戶可以理解,這里的clock gating結構被STA所覆蓋。所以用戶在需要理解STA自動推斷的原理,從而確保自己的時鐘路徑被STA覆蓋

定義

工具判斷門控時鐘的基本標準如下

  • 輸入的時鐘到輸出必須存在一個組合邏輯的傳播路徑。常規(guī)的與或非,或者常規(guī)的latch based 的clock gating結構(見下圖),但是register的分頻結構,就不是一個clock gating。

image.png

  • 輸入的端口必須包含clock,但是輸入到輸出的傳播必須包含數(shù)據(jù)路徑(gated 信號)。

    示例1: 組合邏輯的輸入都是clock,STA會自動將時鐘傳播到輸出,這樣輸出的會看到四個clock,這樣的結構是無法判定為clock gating結構的,需要用戶在使用的時候,當clock1有效的時候,clock2/3/4需要維持一個常1,否則輸出的clock會出現(xiàn)混亂
    image.png
    示例2: 輸入都是clock,但是用戶使用下列命令在輸出創(chuàng)建了一個gen-clock

    create_generated_clock -name clock1_gen_clk -divide_by 1 \\
    -source clock1 [get_pins U1/Z]
    

由于這個AND只有clock1傳播過去,STA會自動推斷出這是一個clock gating結構,clock1到clock2的gating 檢查,clock2信號就是一個門控信號(enable)

image.png

示例3 :對于一個復雜的門控時鐘無法自動推斷

這里的UMUX0滿足clock gating的結構

image.png

但是由于MUX結構是一個非單調性傳播(none-unate),這樣一個clock gating結構是無法自動推斷(auto-infer)出來的,所以在clock 傳播路徑上存在風險,這樣工具會給出如下的提示。需要用戶進一步處理

image.png

挑戰(zhàn)

門控時鐘是在clock的傳播路徑插入了與或非邏輯,設計人員通過一定的邏輯控制達到對時鐘的操作:

  • 時鐘分頻:使用低頻門控信號與高頻時鐘和做AND操作: clock_slow = clock_fast * slow_enable

  • 時鐘開合:使用半靜態(tài)信號(近乎于始終關斷控制): block_clock = sys_clock * block_enable

  • 時鐘選擇:使用半靜態(tài)信號(近乎于模式控制): clock_out =(sel==1'b0)?func_clock : scan_clock

    或者使用latch/reg結構,設計一個防抖的時鐘切換,但是無論門控信號的產(chǎn)生有多么復雜,只要符合門控適中的結構,最后的clock gating check的點位是不會發(fā)生變化的,只是一個好的時鐘生成(clock-gen)的設計,可以對STA更友好的,推進項目質量和加速項目收斂,這也是一個有經(jīng)驗的設計工程師的基本修為。

    時鐘是周期的變化,如果和一個門控邏輯進行組合邏輯運算,通常會出現(xiàn)時鐘波形傳播的問題(clock crop 或者clock swallow):
    image.png

在不同階段出現(xiàn)的enable信號,會導致clock的波形發(fā)生畸變

image.png

注意:在STA的timing report中,用戶是不會看到上述問題的影響的的,但是在實際芯片中,這種影響是真實發(fā)生的。 所以,clock-gating的邏輯,必須被clock-gating-check所覆蓋,并且需要謹慎地進行徹底修復,對于工具不能自動推斷出來的clock-gating點,需要用戶重點關注和給出解決方案,否則在最后的芯片中會出現(xiàn)和STA完全不一致(無法通過STA定位)的時序問題。

未完待續(xù)… (To Be continued …)

這樣處理以后,LVS的std-cell的port mismatch也就完美解決了,

學好v2lvs,再也不用perl去patch source netlist了~~~~

【敲黑板劃重點】

理解門控時鐘檢查(clock-gating-check)和理解門控時鐘(clock-gating)同等重要,任何在clock tree上做的動作都需要額外的小心。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 分頻器
    +關注

    關注

    43

    文章

    447

    瀏覽量

    49918
  • STA
    STA
    +關注

    關注

    0

    文章

    51

    瀏覽量

    18966
  • 門控時鐘
    +關注

    關注

    0

    文章

    27

    瀏覽量

    8951
  • XOR
    XOR
    +關注

    關注

    0

    文章

    12

    瀏覽量

    161959
收藏 人收藏

    評論

    相關推薦

    淺析clock gating模塊電路結構

    ICG(integrated latch clock gate)就是一個gating時鐘的模塊,通過使能信號能夠關閉時鐘。
    的頭像 發(fā)表于 09-11 12:24 ?2383次閱讀
    淺析<b class='flag-5'>clock</b> <b class='flag-5'>gating</b>模塊電路結構

    XOR自門控時鐘門控的不同之處

    時鐘XOR自門控(Self Gating)基本思路和時鐘門控類似,都是當寄存器中的數(shù)據(jù)保持不變時,通過關閉某些寄存器的
    的頭像 發(fā)表于 01-02 11:34 ?1678次閱讀
    XOR自<b class='flag-5'>門控</b>與<b class='flag-5'>時鐘</b><b class='flag-5'>門控</b>的不同之處

    FPGA的時鐘門控是好還是壞?

    喜我對時鐘門控有一些疑問。從我所讀到/學到的東西 - 時鐘門控可用于低功率fpga設計(關閉時鐘以防止元件切換以節(jié)省功率)。但是,我還讀到
    發(fā)表于 02-21 10:21

    通常有兩種不同的時鐘門控實現(xiàn)技術

    時鐘門控Clock Gating)是一種在數(shù)字IC設計中某些部分不需要時關閉時鐘的技術。這里的“部分”可以是單個寄存器、模塊、子系統(tǒng)甚至整
    的頭像 發(fā)表于 06-13 16:48 ?2654次閱讀

    什么是門控時鐘 門控時鐘降低功耗的原理

    門控時鐘的設計初衷是實現(xiàn)FPGA的低功耗設計,本文從什么是門控時鐘、門控時鐘實現(xiàn)低功耗的原理、推
    的頭像 發(fā)表于 09-23 16:44 ?1.4w次閱讀
    什么是<b class='flag-5'>門控</b><b class='flag-5'>時鐘</b> <b class='flag-5'>門控</b><b class='flag-5'>時鐘</b>降低功耗的原理

    什么是門控時鐘?如何生成門控時鐘?

    由于門控時鐘邏輯具有一定的開銷,因此數(shù)據(jù)寬度過小不適合做clockgating。一般情況下,數(shù)據(jù)寬度大于8比特時建議采用門控時鐘。
    發(fā)表于 12-05 12:28 ?3175次閱讀

    一文詳解門控時鐘

    當寄存器組的輸出端沒有驅動或沒有變化時,可以關掉寄存器組的時鐘來減少動態(tài)功耗,此謂門控時鐘 (Clock Gating, CG) 技術。
    的頭像 發(fā)表于 03-29 11:37 ?9549次閱讀
    一文詳解<b class='flag-5'>門控</b><b class='flag-5'>時鐘</b>

    低功耗設計基礎:Clock Gating

    大多數(shù)低功耗設計手法在嚴格意義上說并不是由后端控制的,Clock Gating也不例外。
    的頭像 發(fā)表于 06-27 15:47 ?1813次閱讀
    低功耗設計基礎:<b class='flag-5'>Clock</b> <b class='flag-5'>Gating</b>

    AND GATE的clock gating check簡析

    一個cell的一個輸入為clock信號,另一個輸入為gating信號,并且輸出作為clock使用,這樣的cell為gating cell。
    的頭像 發(fā)表于 06-29 15:28 ?3172次閱讀
    AND GATE的<b class='flag-5'>clock</b> <b class='flag-5'>gating</b> <b class='flag-5'>check</b>簡析

    什么是時鐘門控技術?為什么需要控制時鐘的通斷呢?

    開始之前,我們首先來看一下什么是時鐘門控clock gating)技術,顧名思義就是利用邏輯門技術控制時鐘的通斷。
    的頭像 發(fā)表于 06-29 15:38 ?2830次閱讀
    什么是<b class='flag-5'>時鐘</b><b class='flag-5'>門控</b>技術?為什么需要控制<b class='flag-5'>時鐘</b>的通斷呢?

    為什么需要時鐘門控?時鐘門控終極指南

    時鐘門控Clock Gating)** 是一種在數(shù)字IC設計中某些部分不需要時關閉時鐘的技術。這里的“部分”可以是單個寄存器、模塊、子系統(tǒng)
    的頭像 發(fā)表于 06-29 15:58 ?2152次閱讀
    為什么需要<b class='flag-5'>時鐘</b><b class='flag-5'>門控</b>?<b class='flag-5'>時鐘</b><b class='flag-5'>門控</b>終極指南

    低功耗之門控時鐘設計

    clock gating和power gating是降低芯片功耗的常用手段,相比power gating設計,clock
    的頭像 發(fā)表于 06-29 17:23 ?3965次閱讀
    低功耗之<b class='flag-5'>門控</b><b class='flag-5'>時鐘</b>設計

    Clock Gating的特點、原理和初步實現(xiàn)

    當下這社會,沒有幾萬個Clock Gating,出門都不好意思和別人打招呼!
    的頭像 發(fā)表于 07-17 16:50 ?4371次閱讀
    <b class='flag-5'>Clock</b> <b class='flag-5'>Gating</b>的特點、原理和初步實現(xiàn)

    ASIC的clock gating在FPGA里面實現(xiàn)是什么結果呢?

    首先,ASIC芯片的clock gating絕對不能采用下面結構,原因是會產(chǎn)生時鐘毛刺
    發(fā)表于 08-25 09:53 ?1041次閱讀
    ASIC的<b class='flag-5'>clock</b> <b class='flag-5'>gating</b>在FPGA里面實現(xiàn)是什么結果呢?

    SOC設計中Clock Gating的基本原理與應用講解

    SOC(System on Chip,片上系統(tǒng))設計中,時鐘信號的控制對于整個系統(tǒng)的性能和功耗至關重要。本文將帶您了解SOC設計中的一種時鐘控制技術——Clock Gating,通過V
    的頭像 發(fā)表于 04-28 09:12 ?2231次閱讀