在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

低功耗之門控時鐘設計

冬至子 ? 來源:全棧芯片工程師 ? 作者:Chiptist ? 2023-06-29 17:23 ? 次閱讀

clock gating和power gating是降低芯片功耗的常用手段,相比power gating設計,clock gating的設計和實現更為簡單,多在微架構、RTL coding階段即可充分考慮,在綜合時(compile_ultra -gate_clock)即可自動mapping到clock gating結構上去。本文先講解clock gating,ICG的基本結構如下圖所示:

圖片

門控時鐘電路有效的降低了動態功耗,因為其減少了時鐘樹的翻轉行為、減少了寄存器clock pin的翻轉行為、減少了大量MUX邏輯消耗的功耗,一般可以節省20%-60%的功耗,同時也節省了MUX面積。

門控時鐘單元分成兩種,一種是帶鎖存器(latch based)的門控時鐘單元,一種是不帶有鎖存器(latch free)的門控時鐘單元。latch based的門控時鐘單元能避免毛刺,因此更推薦使用。

門控時鐘又分為離散的和集成的(ICG)兩種:

  1. 離散的CG單元
    1)帶latch的CG(默認)
    set_clock_gating_style -sequential_cell latch
    2)不帶latch的CG
    set_clock_gating_style -sequential_cell none
  2. 集成的CG單元(ICG)
    set_clock_gating_style -negtive_edge_logic "integrated"

通常,在執行命令compile_ultra -gate_clock前需要設置好clock gating的相關配置選項,具體選項如下:

圖片

set_clock_gating_style的options解析如下:

  • -sequential_cell none | latch

1)-sequential_cell latch(默認)指帶latch的CG(latch based style), 并可指定使用具體某個latch cell,比如:-sequential_cell latch:lib_cell。

2)-sequential_cell none指不帶latch的CG(latch free style),比如:

與門做CG,時鐘使能為1時鐘穿透AND,但posedge trigger存在毛刺;

或門做CG,時鐘使能為0時鐘穿透OR,但negesge trigger存在毛刺;

  • -minimum_bitwidth minsize_value

為了節省gating cell的數量,需達到一定寄存器數量的register bank才使用gating cell。

  • -setup setup_value 指定建立時間

  • -hold hold_value 指定保持時間

  • -positive_edge_logic {cell_list | integrated [active_low_enable]

    [invert_gclk]}

    1. {cell_list}用于指定“上升沿”觸發使用的CG單元。需要注意的是-sequential_cell指定的是否有latch應該和cell_list的對應電路是否含有latch保持一致,如:

      set_clock_gating_style -sequential_cell latch -positive_edge_logic { latch and }

      set_clock_gating_style -sequential_cell none -positive_edge_logic { or }

    2. {integrated}用于表明使用上升沿觸發的ICG單元。

      如下圖所示,該ICG單元就是一個pre-conctrolled positive-edge triggered clock gating latch。

    圖片

  • -negative_edge_logic {cell_list | integrated [active_low_enable]

    [invert_gclk]}

  1. {cell_list}用于指定"下降沿”觸發使用的CG單元。需要注意的是-sequential_cell指定的是否有latch應該和cell_list的對應電路是否含有latch保持一致,如:

    set_clock_gating_style -sequential_cell **latch ** -negtive_edge_logic { latch or }

    set_clock_gating_style -sequential_cell ** none ** -negtive_edge_logic { and }

    如下圖,-sequential_cell none指定latch-free模式,但是cell_list卻指定了latch、and/or, 這種情況下,DC工具仍然會綜合出latch-based clock-gating的電路。
    圖片

  2. {integrated}用于表明使用下降沿觸發的ICG單元。

如下圖所示,該ICG單元就是一個pre-conctrolled negative-edge triggered clock gating latch。

圖片

  • -control_point none | before | after
    對于DFT測試電路,為了滿足電路可控,需要引入TE信號來控制latch的使能端。before就是在Latch之前插入或門,將TE信號和時鐘使能信號或起來然后連接到Latch的D端。同理,after就是在Latch之后插入或門,將TE信號和Latch的Q端或起來然后連接到IGG的AND門。
  • -num_stages num_stages_count
    工具默認只使用一級門控時鐘,而使用多級門控時鐘可進一步節省面積、降低功耗。如下圖,a信號被三個CG單元共享,那么將a信號做成第一級CG,b、c、d做成第二級CG。這樣,增加了一個CG但減少了3個與門,同時節省了組合邏輯和第二級的CG的功耗。
    set_clock_gating_style -num_stages 2
    圖片
    那么如何編寫門控時鐘的RTL代碼風格呢?
    第一種風格:

圖片

綜合出來電路有32個MUX2選擇器:

圖片

我們換一種寫法,DC工具就可將load_cond作為Latch的使能,從而一個clock gating cell便取代了32個MUX2,節省了大量面積的同時,還節省了32個寄存器的動態功耗,32MUX2組合邏輯的功耗,也節省了時鐘樹上buffer的功耗。

圖片

那么如何保證ICG中Latch的時序呢?

除in2reg、reg2reg、reg2out、in2out類型路徑外,我們會經常看到reg2cgate的setu/hold檢查,即clock gate上enable信號要比clock信號提前到達一段時間setup和保持一段時間hold。

通常clock gate上的setup較難收斂,如下圖

  1. register CK端作為launch clock發起端,latch的CK端作為capture捕獲端,它們之間天然會存在skew k,即clock tree必然不balance。
  2. Latch的時序檢查只有半個時鐘周期;
  3. register Q到Latch EN的combo邏輯延遲;

解決辦法:

  • 一般將clock gate 單元放在寄存器附近以減小skew。
  • 也可以采用set_clock_gating_check,加大對clock gating時序約束。

圖片

對于clock gating cell,synthesis時就會插入,和CTS沒太大關系,一般只要確保clock timing check打開的就行。

另外,CTS工具會對其做clone、declone操作。

  • ICG cell Clone: 同一個ICG單元控制的寄存器較多或者分布不均勻時,就會導致ICG時鐘連線過長,可通過clone ICG cell進行優化;
  • ICG cell De-Clone: 同一個ICG單元控制的寄存器較少,導致ICG cell數量過多,可通過De-clone ICG cell進行優化;
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5359

    瀏覽量

    120819
  • 鎖存器
    +關注

    關注

    8

    文章

    906

    瀏覽量

    41565
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59878
  • DFT
    DFT
    +關注

    關注

    2

    文章

    231

    瀏覽量

    22774
  • 門控時鐘
    +關注

    關注

    0

    文章

    27

    瀏覽量

    8961
收藏 人收藏

    評論

    相關推薦

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

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

    基于門控時鐘低功耗時序電路設計

    的競爭,因此將電路分成多個電源域并根據要求關閉它們,并且在設計每個時序電路的同時節省功耗,這兩點至關重要。時序電路(如計數器和寄存器)在現代設計中無處不在。本文以約翰遜計數器為例介紹了如何采用有效門控時鐘
    發表于 09-30 16:00

    什么是時鐘門控?如何去實線時鐘門控的設計呢

    什么是時鐘門控?有幾個因素會影響電路的功耗。邏輯門具有靜態或泄漏功率,只要對其施加電壓,該功率大致恒定,并且它們具有由切換電線產生的動態或開關功率。Flip-flop觸發器非常耗電,大約占總功率
    發表于 12-19 17:09

    基于門控時鐘的CMOS電路低功耗設計

    闡述了如何運用門控時鐘來進行CMOS電路的低功耗設計。分析了門控時鐘的實現方式,如何借助EDA工具在設計中使用
    發表于 11-19 11:49 ?22次下載

    基于門控時鐘低功耗電路設計方案

    在眾多低功耗技術中,門控時鐘對翻轉功耗和內部功耗的抑制作用最強。本文主要講述門控
    發表于 02-21 09:31 ?3553次閱讀
    基于<b class='flag-5'>門控</b><b class='flag-5'>時鐘</b>的<b class='flag-5'>低功耗</b>電路設計方案

    應用于片上系統中低功耗IP核設計的自適應門控時鐘技術

    摘要:門控時鐘技術一直以來是降低芯片動態功耗的有效方法,文章結合片上系統(SOC)的結構特性和設計特點,分析已有的各種門控時鐘技術的優缺點,
    發表于 02-23 13:53 ?36次下載

    低功耗時鐘門控算術邏輯單元在不同FPGA中的時鐘能量分析

    低功耗時鐘門控算術邏輯單元在不同FPGA中的時鐘能量分析
    發表于 11-19 14:50 ?0次下載

    通常有兩種不同的時鐘門控實現技術

    constrained,mobile端不能夠充更多的電就只能盡可能地降低功耗了(無法開源只能節流呀),也因為時鐘門控是降低芯片動態功耗最簡單,最常用的方法之一。
    的頭像 發表于 06-13 16:48 ?2669次閱讀

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

    門控時鐘的設計初衷是實現FPGA的低功耗設計,本文從什么是門控時鐘門控
    的頭像 發表于 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>降<b class='flag-5'>低功耗</b>的原理

    門控時鐘實現低功耗的原理

    只有當FPGA工程需要大量降低功耗時才有必要引入門控時鐘,若必須引入門控時鐘,則推薦使用基于寄存器的門控
    的頭像 發表于 07-03 15:32 ?2338次閱讀

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

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

    FPGA原型驗證系統的時鐘門控

    門控時鐘是一種在系統不需要動作時,關閉特定塊的時鐘的方法,目前很多低功耗SoC設計都將其用作節省動態功率的有效技術。
    的頭像 發表于 04-20 09:15 ?1293次閱讀

    PyTorch教程10.2之門控循環單元(GRU)

    電子發燒友網站提供《PyTorch教程10.2之門控循環單元(GRU).pdf》資料免費下載
    發表于 06-05 18:15 ?0次下載
    PyTorch教程10.2<b class='flag-5'>之門控</b>循環單元(GRU)

    門控時鐘低功耗在Placement階段有什么技巧?

    門控時鐘技術可以用來降低電路的動態功耗,且在一定程度上能減小電路的面積。
    的頭像 發表于 06-29 16:45 ?1427次閱讀
    <b class='flag-5'>門控</b><b class='flag-5'>時鐘</b><b class='flag-5'>低功耗</b>在Placement階段有什么技巧?

    FSMs低功耗設計

    低功耗設計是當下的需要!這篇文章:低功耗設計方法論的必要性讓我們深入了解了現代設計的意圖和對功耗感知的需求。在低功耗方法標簽下的時鐘
    的頭像 發表于 10-17 10:41 ?704次閱讀
    FSMs<b class='flag-5'>低功耗</b>設計
    主站蜘蛛池模板: 成年男人午夜片免费观看| 高清xxx| 国产在线欧美精品卡通动漫| 天天爱夜夜做| 丁香婷婷综合五月综合色啪| 国产三级在线观看| 俺去啦最新网址| 天天干天天爽| 国产精品久久久久久久免费大片 | 一级毛片一级黄片| 亚洲婷婷六月| 日韩一级免费视频| 开心激情播播网| 日本媚薬痉挛在线观看免费| 奇米视频在线观看| 色多视频| 亚州1区2区3区4区产品乱码2021| 亚洲深爱| 青草91| 成年大片免费视频播放手机不卡| 天天色天天干天天射| 成人午夜亚洲影视在线观看| 一区二区不卡视频| 亚洲婷婷综合色高清在线| 色狠狠色综合久久8狠狠色| 婷婷久操| 免费人成在线观看网站品爱网 | 亚洲黄色三级网站| 你懂在线| 夜夜爽影院| 午夜小视频免费观看| 夜夜操网| 国产精品久久久久久福利| 亚洲高清视频一区| 特黄特黄视频| 国产女人伦码一区二区三区不卡| 羞羞答答xxdd影院欧美| 午夜国产精品视频| 91久久天天躁狠狠躁夜夜| 老司机精品免费视频| 色午夜影院|