一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

clock gating基礎(chǔ)知識(shí)介紹:基本邏輯門控/ICG

冬至子 ? 來源:黑的路白的路 ? 作者:黑的路白的路 ? 2023-12-01 14:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、何為clock gating

芯片中大部分的動(dòng)態(tài)功耗消耗在時(shí)鐘網(wǎng)絡(luò)中。這是由于時(shí)鐘樹上的單元(cells)有較高的翻轉(zhuǎn)率、驅(qū)動(dòng)能力較大且數(shù)量較多所導(dǎo)致的。

因此,為了有效減小時(shí)鐘樹上的動(dòng)態(tài)功耗,人們引入了門控時(shí)鐘(clock gating)技術(shù),即用一個(gè)控制信號控制時(shí)鐘的開啟,在模塊不工作時(shí)關(guān)閉時(shí)鐘,在工作時(shí)打開時(shí)鐘,從而降低觸發(fā)器總的翻轉(zhuǎn)率,達(dá)到降低功耗的目的。

插入門控時(shí)鐘單元來降低芯片功耗的效果主要由單個(gè)門控時(shí)鐘單元所控制的觸發(fā)器或鎖存器的數(shù)量決定。

? 新增的clock gating單元本身也會(huì)增加功耗和面積;當(dāng)clock gating單元輸出端控制的寄存器數(shù)目較少時(shí),可能會(huì)導(dǎo)致增加的功耗比時(shí)鐘翻轉(zhuǎn)降低的動(dòng)態(tài)功耗還要大。控制的寄存器數(shù)量越多,效果越明顯。在綜合的時(shí)候,可以設(shè)置采用clock gating的最低RegisterBank位數(shù)。

? 降低動(dòng)態(tài)功耗和時(shí)鐘關(guān)斷的時(shí)間比例有關(guān)。如果一個(gè)模塊關(guān)斷的時(shí)間很短,那么加入clock gating就用處不大。

? clock gating的效果取決于其在時(shí)鐘樹的位置,是靠近c(diǎn)lock tree的root還是sink??拷黵oot時(shí),可以控制更多的寄存器,對功耗降低更有效;而靠近sink時(shí),則timing更容易滿足。

圖片

例如,在這個(gè)電路中,只有當(dāng)EN為1時(shí),CLK信號才會(huì)重寫DFF的數(shù)據(jù),否則的話,所有的翻轉(zhuǎn)都是無效的。因此,只需要實(shí)現(xiàn)CLK_G的波形即可。

對于簡單邏輯門的clock gating,最簡單的實(shí)現(xiàn)方式是使用AND門或OR門來實(shí)現(xiàn),對CLK信號進(jìn)行與或運(yùn)算。

1. AND門clock gating

(1)基本概念

圖片

對于AND門的clock gating,即高電平有效的gating,當(dāng)EN為1時(shí),門控打開,CLK_IN信號可以傳遞出去;而當(dāng)EN為0時(shí),門控關(guān)閉,CLK_IN信號則無法通過門控傳遞出去。

圖片

如上圖所示,對于AND門的clock gating,EN信號的切換必須發(fā)生在CLK_IN的低電平區(qū)間,否則在輸出CLK_OUT時(shí)可能會(huì)出現(xiàn)glitch,如下圖所示。

圖片

(2)timing check

1)上升沿觸發(fā)

圖片

在上圖中,UAND0/B pin是clock信號,而gating信號則由UDFF0/Q經(jīng)過組合邏輯后輸入到UAND0/A pin中。

在前面的討論中,我們已經(jīng)得知,如果EN信號來自上升沿觸發(fā)的寄存器,則對于setup check來說,要求門控信號在上升沿之前到達(dá);而對于hold來說,則要求門控信號只能在下降沿之后發(fā)生變化。

因此,針對上圖電路中的UAND0/B pin,CLKA發(fā)出的gating信號只能在5 – 10ns的范圍內(nèi)達(dá)到,才能滿足時(shí)序要求。

圖片

此時(shí),hold是半周期check,比較難meet;

以下是setup和hold check的timing report:

setup:
圖片

hold:
圖片

2)下降沿觸發(fā)

如果使用下降沿觸發(fā)的寄存器產(chǎn)生EN信號,則對于hold來說是0 cycle check,而對于setup來說則是半周期check。因此,在使用基于AND門的gating時(shí),EN信號通常由下降沿觸發(fā)的寄存器產(chǎn)生。

圖片

如下圖所示,即使使用下降沿觸發(fā)的寄存器產(chǎn)生EN信號,對于基于AND門的gating,gating信號依然需要在5 – 10ns之間到達(dá),以滿足時(shí)序要求。

圖片

setup和hold check的timing report:

setup
圖片

hold
圖片

2. OR門clock gating

(1)基本概念

圖片

對于OR門的clock gating,即低電平有效的gating,當(dāng)EN為0的時(shí)候,門控打開,CLK_IN可以傳遞出去;當(dāng)EN為1的時(shí)候,門控關(guān)閉。

圖片

需要注意的是,在實(shí)現(xiàn)OR門的clock gating時(shí),EN信號的切換必須發(fā)生在CLK_IN的高電平區(qū)間,以避免在輸出CLK_OUT時(shí)出現(xiàn)glitch,如下圖所示。

圖片

(2)timing check

1)上升沿觸發(fā)

圖片

類似于之前的討論,如果EN信號來自上升沿觸發(fā)的寄存器,則對于setup check來說,要求門控信號在下降沿之前到達(dá);對于hold來說,則要求門控信號只能在上升沿之后發(fā)生變化。

因此,針對MCLK發(fā)出的gating信號,在這種情況下需要在0 – 4ns的范圍內(nèi)到達(dá),才能滿足時(shí)序要求。

圖片

根據(jù)上述時(shí)序要求,此時(shí)hold為0 cycle check,而setup為半周期check。

setup和hold check的timing report:

setup
圖片

hold
圖片

2)下降沿觸發(fā)

與之前討論類似,如果EN信號來自下降沿觸發(fā)的寄存器,則hold為半周期check,比較難以滿足。因此,在基于OR門的gating技術(shù)中,建議使用上升沿觸發(fā)的寄存器來產(chǎn)生EN信號,以確保時(shí)序要求的滿足。

圖片

3. 基于latch的clock gating

根據(jù)之前的討論可知,在基于基本邏輯門的clock gating技術(shù)中,EN信號的時(shí)間窗口只有半個(gè)周期的時(shí)間,因此對于一些時(shí)序要求較為嚴(yán)格的電路,可能需要使用latch來實(shí)現(xiàn)timing borrow,以確保時(shí)序的滿足。

(1) Latch + AND門的gating

圖片

如上圖所示,在AND門前面加入low-active latch,EN信號來自上升沿觸發(fā)器。

當(dāng)時(shí)鐘信號是低電平時(shí),latch處于透明狀態(tài),根據(jù)輸入更新輸出;當(dāng)時(shí)鐘信號從低電平變?yōu)楦唠娖綍r(shí),latch會(huì)讀取數(shù)據(jù)輸入端的輸入信號,并將其保存在鎖存器內(nèi)部的狀態(tài)中;波形圖如下:

圖片

由于這種latch是低電平有效的,因此在時(shí)鐘高電平期間,即使EN信號存在glitch(如上圖中紅色虛線1所示),也不會(huì)影響latch的輸出EN_Latch。

而在時(shí)鐘低電平期間,EN信號的glitch會(huì)傳遞到latch的輸出(如上圖中紅色虛線2所示),但由于EN_Latch需要與CLK信號做與運(yùn)算,此時(shí)gating信號CLK_Gated仍然不會(huì)受到影響。

圖片

如上圖所示,無論EN在0-1 ns還是1-2 ns之間變化,CLK_Gated均不受影響,即EN可以在0-2 ns一個(gè)周期的時(shí)間窗口內(nèi)到達(dá);此時(shí),hold是0 cycle check,setup是一個(gè)周期check;

基于這種結(jié)構(gòu)的clock gating,既可以避免毛刺,同時(shí)也避免了EN信號只有半個(gè)周期的要求。

(2) Latch + OR門的gating

圖片

與Latch + AND門不同的是,需要使用low-active latch,且EN信號來自下降沿觸發(fā)的寄存器。

圖片

4. ICG

(1)分離時(shí)鐘門控

上述討論中提到的基于latch的clock gating結(jié)構(gòu),指的是分離的時(shí)鐘門控單元,當(dāng)考慮skew時(shí),依然可能會(huì)引入glitch的問題(以latch + AND門為例)。

在下圖中,delay是指,當(dāng)CLK為0的時(shí)候,latch透明,數(shù)據(jù)信號EN要傳輸?shù)絣atch的輸出端EN_Latch,所經(jīng)過的一個(gè)鎖存器的延遲(CLK to latch/Q delay);

CLK一路送到latch,另一路送到AND/B,當(dāng)latch和AND在layout中相距較遠(yuǎn)時(shí),此時(shí)CLK和CLK_B之間就會(huì)有skew存在;

CLK和CLK_B之間的skew會(huì)引入到CLK_Gated信號中,并可能導(dǎo)致毛刺問題。如果skew的時(shí)間差大于delay,就可能會(huì)在CLK_Gated信號中引入毛刺,毛刺的寬度大約為skew-delay。

圖片

因此,在物理實(shí)現(xiàn)的時(shí)候,需要設(shè)置net weight,將latch和AND門靠近擺放;并且latch/CK需要設(shè)置non-stop pin。

(2)集成時(shí)鐘門控ICG

現(xiàn)在幾乎所有的標(biāo)準(zhǔn)單元庫都提供了集成門控時(shí)鐘單元(ICG),這種單元將上述所述的latch+ AND門或latch + OR門組合成一個(gè)標(biāo)準(zhǔn)單元。

值得注意的是,latch前面的OR門是為了DFT加入的,而控制信號SE可以根據(jù)需要選擇test_mode或scan_en。

圖片

ICG的應(yīng)用相對簡單,無需特別的設(shè)置,且CTS對于ICG的時(shí)序分析更加自動(dòng)化。ICG的setup和hold時(shí)間都已經(jīng)在庫中進(jìn)行了建模,并且其CK引腳默認(rèn)為implicit non-stop pin。

以上內(nèi)容只是簡單的示例,實(shí)際上,根據(jù)sequential cell的類型、控制寄存器觸發(fā)邊沿和測試控制信號的位置,庫中可以提供多種不同的ICG單元。

圖片

(3)什么情況下會(huì)做clock gating check(tool infer)

可以通過經(jīng)過cell的信號和經(jīng)過的cell類型這兩個(gè)條件判斷:

1)經(jīng)過cell的信號

? 被gating的clock信號,在下游需要當(dāng)做clock使用(即達(dá)到reg的CK pin、output port);

? gating的EN信號,不能帶有clock屬性;或者原來帶有clock屬性的EN信號,經(jīng)過gating cell后不再當(dāng)做clock使用,或者被后面的generated clock打斷了。

圖片

如圖所示,在AND門的輸出端,定義了一個(gè)generated_clock,其master為CLKA。因此CLKB無法傳播到AND后面,相當(dāng)于下游不再作為clock信號使用。

在這種情況下,PT會(huì)將CLKA視為時(shí)鐘信號,CLKB視為門控信號,并對AND門進(jìn)行clock gating check。

gating的EN信號和被gating的clock信號,要fanout到gating cell相同的輸出pin;如圖中一個(gè)EN和CLK,一個(gè)faout到了A,另一個(gè)fanout到了B,那么工具是不會(huì)自動(dòng)的做clock gating check的。

圖片

以上三個(gè)條件要同時(shí)滿足,工具才會(huì)做clock gating check。

2)經(jīng)過的cell類型

除了上述三個(gè)約束條件外,另一個(gè)需要滿足的條件是信號必須通過非復(fù)雜類型的cell。如果一個(gè)cell是non-unate cell,那么這個(gè)cell可以被視為復(fù)雜類型的cell。

對于復(fù)雜類型的cell(如常見的異或、同或和MUX),工具不會(huì)自動(dòng)執(zhí)行時(shí)鐘門控檢查。

append

? 可以通過使用set_clock_gating_check命令來顯式地指定門控單元的時(shí)鐘門控關(guān)系。

? 如果用戶使用set_clock_gating_check命令設(shè)置的時(shí)鐘門控檢查類型與工具推斷出的不一致,則通常會(huì)報(bào)警告,并且以用戶的設(shè)置為準(zhǔn)。

? 此外,用set_clock_gating_check設(shè)置的setup/hold時(shí)間值優(yōu)先級高于庫中定義的值。

? 如果不需要進(jìn)行某些時(shí)鐘門控檢查,則可以使用set_disable_clock_gating_check命令將其禁用。

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

    關(guān)注

    31

    文章

    5435

    瀏覽量

    124604
  • 鎖存器
    +關(guān)注

    關(guān)注

    8

    文章

    926

    瀏覽量

    42411
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2039

    瀏覽量

    62161
  • 門控時(shí)鐘
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    9122
  • CLK
    CLK
    +關(guān)注

    關(guān)注

    0

    文章

    128

    瀏覽量

    17618
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    clock-gating的綜合實(shí)現(xiàn)

    在ASIC設(shè)計(jì)中,項(xiàng)目會(huì)期望設(shè)計(jì)將代碼寫成clk-gating風(fēng)格,以便于DC綜合時(shí)將寄存器綜合成clk-gating結(jié)構(gòu),其目的是為了降低翻轉(zhuǎn)功耗。
    的頭像 發(fā)表于 09-04 15:55 ?2588次閱讀
    <b class='flag-5'>clock-gating</b>的綜合實(shí)現(xiàn)

    淺析clock gating模塊電路結(jié)構(gòu)

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

    FPGA的時(shí)鐘門控是好還是壞?

    queries regarding clock gating. from what i've read/learnt - clock gating can be used for l
    發(fā)表于 02-21 10:21

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

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

    什么是門控時(shí)鐘 門控時(shí)鐘降低功耗的原理

    clock) 是通過在時(shí)鐘路徑上增加邏輯門對時(shí)鐘進(jìn)行控制,使電路的部分邏輯在不需要工作時(shí)停止時(shí)鐘樹的翻轉(zhuǎn),而并不影響原本的邏輯狀態(tài)。在ASIC和FPGA設(shè)計(jì)中都存在
    的頭像 發(fā)表于 09-23 16:44 ?1.5w次閱讀
    什么是<b class='flag-5'>門控</b>時(shí)鐘 <b class='flag-5'>門控</b>時(shí)鐘降低功耗的原理

    一文詳解門控時(shí)鐘

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

    門控時(shí)鐘檢查(clock gating check)的理解和設(shè)計(jì)應(yīng)用

    通過門控方式不同,一個(gè)門控時(shí)鐘通??梢苑譃橄旅婊悾?/div>
    的頭像 發(fā)表于 06-19 16:49 ?5383次閱讀
    <b class='flag-5'>門控</b>時(shí)鐘檢查(<b class='flag-5'>clock</b> <b class='flag-5'>gating</b> check)的理解和設(shè)計(jì)應(yīng)用

    低功耗設(shè)計(jì)基礎(chǔ):Clock Gating

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

    AND GATE的clock gating check簡析

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

    什么是時(shí)鐘門控技術(shù)?為什么需要控制時(shí)鐘的通斷呢?

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

    為什么需要時(shí)鐘門控?時(shí)鐘門控終極指南

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

    低功耗之門控時(shí)鐘設(shè)計(jì)

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

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

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

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

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

    SOC設(shè)計(jì)中Clock Gating的基本原理與應(yīng)用講解

    SOC(System on Chip,片上系統(tǒng))設(shè)計(jì)中,時(shí)鐘信號的控制對于整個(gè)系統(tǒng)的性能和功耗至關(guān)重要。本文將帶您了解SOC設(shè)計(jì)中的一種時(shí)鐘控制技術(shù)——Clock Gating,通過Verilog代碼實(shí)例的講解,讓您對其有更深入的認(rèn)識(shí)。
    的頭像 發(fā)表于 04-28 09:12 ?3479次閱讀