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

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

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

XOR自門控與時(shí)鐘門控的不同之處

jf_tpHP8OJR ? 來源:集成電路設(shè)計(jì)及EDA教程 ? 2024-01-02 11:34 ? 次閱讀

時(shí)鐘XOR自門控(Self Gating)基本思路和時(shí)鐘門控類似,都是當(dāng)寄存器中的數(shù)據(jù)保持不變時(shí),通過關(guān)閉某些寄存器的時(shí)鐘信號(hào)來降低設(shè)計(jì)的動(dòng)態(tài)功耗。不過XOR 自門控是利用異或門(XOR)將存儲(chǔ)在寄存器中的數(shù)據(jù)與到達(dá)寄存器的數(shù)據(jù)引腳的數(shù)據(jù)進(jìn)行比較,輸出門控時(shí)鐘使能信號(hào)。

在講解XOR自門控之前,先回顧一下時(shí)鐘門控(Clock Gating)技術(shù)的缺點(diǎn)。

時(shí)鐘門控使用條件:

代碼中有確定的門控時(shí)鐘使能信號(hào)或者有門控時(shí)鐘使能譯碼邏輯存在。比如下面代碼中的EN信號(hào):

input [n:0] D;

input CLK,EN;

output [n:0] Q;

always@ (posedge CLK)

begin

if (EN)

Q<=D;

end

時(shí)鐘門控的缺陷:

從上面代碼能看出,要想使用時(shí)鐘門控技術(shù),對(duì)代碼風(fēng)格有一定的要求,得有時(shí)鐘門控信號(hào)。這可是硬傷,畢竟設(shè)計(jì)中不可能所有的寄存器都能找到這樣邏輯,也不能保證所有寫Verilog代碼的人都有這樣的覺悟。

因此,這就導(dǎo)致設(shè)計(jì)中有些寄存器組無法采用門控時(shí)鐘技術(shù)。

XOR自門控與時(shí)鐘門控的不同之處:

與時(shí)鐘門控的不同之處在于,時(shí)鐘門控技術(shù)依賴于現(xiàn)有設(shè)計(jì)中的使能條件,而XOR 自門控則利用異或門(XOR)將存儲(chǔ)在寄存器中的數(shù)據(jù)與到達(dá)寄存器的數(shù)據(jù)引腳的數(shù)據(jù)進(jìn)行比較,輸出門控時(shí)鐘使能信號(hào)。如果數(shù)據(jù)不變,則由異或門直接關(guān)斷寄存器的時(shí)鐘輸入信號(hào)。下圖顯示了插入XOR自門控單元產(chǎn)生門控時(shí)鐘使能信號(hào)的原理。

wKgZomWThGKAU88nAABmELvuuuU653.png

XOR自門控單元

XOR自門控的優(yōu)點(diǎn):

默認(rèn)情況下,工具僅支持非門控時(shí)鐘寄存器上的XOR自門控。

以下是XOR自門控的優(yōu)點(diǎn):

?有些情況,某些寄存器的使能條件無法從現(xiàn)有邏輯推斷出,因此無法用傳統(tǒng)的門控時(shí)鐘技術(shù)來關(guān)斷它們的時(shí)鐘信號(hào)。這種情況下可以使用XOR自門控來關(guān)斷它們的時(shí)鐘信號(hào);

?時(shí)鐘門控和XOR自門控并不沖突,可以同時(shí)使用。對(duì)于那些已經(jīng)采用門控時(shí)鐘關(guān)斷的寄存器,可以使用下面的命令允許在這些寄存器上采用XOR自門控:

set_self_gating_options

-interaction_with_clock_gating

采用了該技術(shù)之后,這些寄存器時(shí)鐘信號(hào)的關(guān)斷時(shí)間可能會(huì)增加。

DCT實(shí)現(xiàn)的Flow:

wKgaomWThGKAPKTLAADWlsFPTok806.jpg

DCT實(shí)現(xiàn)的Flow

注意:當(dāng)具有XOR自門控單元的ASCII網(wǎng)表被讀回到Power Compiler工具中時(shí),所有屬性信息都將丟失,并且工具無法識(shí)別自門控單元用于報(bào)告或優(yōu)化。Power Compiler工具使用write_script命令支持XOR自門控ASCII流程。如下圖所示,使用下面的命令保存設(shè)計(jì)的當(dāng)前屬性:

write_script -hierarchy -output file_name

wKgZomWThGKAES9-AADD3d_mT-4907.jpg

XOR Self-Gating ASCII Flow

將需要將設(shè)計(jì)讀回工具時(shí),可以使用source命令來加載由write_script命令導(dǎo)出的腳本。這將設(shè)置設(shè)計(jì)中的所有必需屬性,包括用于報(bào)告和優(yōu)化目的的自門控單元。

DCT實(shí)現(xiàn):

使用set_self_gating_objects命令可以指定XOR自門控的對(duì)象,運(yùn)行compile_ultra -self_gating命令時(shí)會(huì)執(zhí)行XOR自門控。

如果不想對(duì)MID子設(shè)計(jì)中的D_OUT寄存器組執(zhí)行XOR自門控,可以用下面的命令:

dc_shell-topo> set_self_gating_objects -exclude MID/D_OUT_reg[*]

dc_shell-topo> compile_ultra -self_gating

對(duì)時(shí)鐘門控寄存器執(zhí)行XOR自門控:

默認(rèn)情況下,Power Compiler工具不會(huì)在時(shí)鐘門控寄存器上執(zhí)行XOR自門控。如果要對(duì)時(shí)鐘門控的寄存器執(zhí)行XOR自門控,可以使用以下命令:

dc_shell-topo> set_self_gating_options

-interaction_with_clock_gating insert

指定XOR自門控選項(xiàng):

要指定XOR自動(dòng)門控的條件并定義與時(shí)鐘門控的交互,使用set_self_gating_options命令。在用命令compile_ultra -self_gating進(jìn)行編譯,Power Compiler插入XOR門時(shí),會(huì)采用這些設(shè)置。

應(yīng)用舉例:

使用set_self_gating_options命令,對(duì)2位到9位之間的寄存器插入XOR自門控:

dc_shell-topo> set_self_gating_options -min_bitwidth 2 -max_bitwidth 9

dc_shell-topo> compile_ultra -self_gating

審核編輯:湯梓紅

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

    關(guān)注

    31

    文章

    5250

    瀏覽量

    119200
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1673

    瀏覽量

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

    關(guān)注

    0

    文章

    27

    瀏覽量

    8916
  • XOR
    XOR
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    161852

原文標(biāo)題:數(shù)字IC低功耗設(shè)計(jì)之--XOR自門控與Design Compiler topo實(shí)現(xiàn)

文章出處:【微信號(hào):集成電路設(shè)計(jì)及EDA教程,微信公眾號(hào):集成電路設(shè)計(jì)及EDA教程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    fpga門控時(shí)鐘問題

    我在一個(gè)圖像項(xiàng)目里用來很多的門控時(shí)鐘來產(chǎn)生需要的時(shí)序波形,這樣程序很不穩(wěn)定,圖像晃動(dòng)很大,我猜想是不是因?yàn)?b class='flag-5'>門控時(shí)鐘太多,程序不穩(wěn)定,但是又沒有方法替代
    發(fā)表于 10-28 22:39

    關(guān)于門控時(shí)鐘的討論 精選資料推薦

    1、什么是門控時(shí)鐘?在解釋何為門控時(shí)鐘之前,有必要了解為什么需要門控時(shí)鐘。集成電路工藝節(jié)點(diǎn)的提升
    發(fā)表于 07-30 06:11

    什么是門控時(shí)鐘?

    什么是門控時(shí)鐘?
    發(fā)表于 11-05 07:26

    什么是時(shí)鐘門控?如何去實(shí)線時(shí)鐘門控的設(shè)計(jì)呢

    什么是時(shí)鐘門控?有幾個(gè)因素會(huì)影響電路的功耗。邏輯門具有靜態(tài)或泄漏功率,只要對(duì)其施加電壓,該功率大致恒定,并且它們具有由切換電線產(chǎn)生的動(dòng)態(tài)或開關(guān)功率。Flip-flop觸發(fā)器非常耗電,大約占總功率
    發(fā)表于 12-19 17:09

    基于門控時(shí)鐘的CMOS電路低功耗設(shè)計(jì)

    闡述了如何運(yùn)用門控時(shí)鐘來進(jìn)行CMOS電路的低功耗設(shè)計(jì)。分析了門控時(shí)鐘的實(shí)現(xiàn)方式,如何借助EDA工具在設(shè)計(jì)中使用門控
    發(fā)表于 11-19 11:49 ?22次下載

    基于門控時(shí)鐘的低功耗電路設(shè)計(jì)方案

    在眾多低功耗技術(shù)中,門控時(shí)鐘對(duì)翻轉(zhuǎn)功耗和內(nèi)部功耗的抑制作用最強(qiáng)。本文主要講述門控時(shí)鐘技術(shù)的具體實(shí)現(xiàn)。另外,基于高閾值單元具有較低的功耗,設(shè)計(jì)采用高閾值單元庫(kù)。
    發(fā)表于 02-21 09:31 ?3369次閱讀
    基于<b class='flag-5'>門控</b><b class='flag-5'>時(shí)鐘</b>的低功耗電路設(shè)計(jì)方案

    門控時(shí)鐘

    門控時(shí)鐘的資料,關(guān)于FPGA方面的資料。有需要的可以看看
    發(fā)表于 05-10 16:31 ?11次下載

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

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

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

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

    門控時(shí)鐘實(shí)現(xiàn)低功耗的原理

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

    什么是門控時(shí)鐘?如何生成門控時(shí)鐘?

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

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

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

    FPGA原型平臺(tái)門控時(shí)鐘自動(dòng)轉(zhuǎn)換

    現(xiàn)代FPGA綜合工具會(huì)自動(dòng)執(zhí)行門控時(shí)鐘轉(zhuǎn)換,而無需更改RTL代碼中的設(shè)計(jì),然而,我們可能需要適當(dāng)?shù)厥謩?dòng)指導(dǎo)綜合工具執(zhí)行門控時(shí)鐘變換。
    的頭像 發(fā)表于 05-23 17:38 ?1537次閱讀
    FPGA原型平臺(tái)<b class='flag-5'>門控</b><b class='flag-5'>時(shí)鐘</b>自動(dòng)轉(zhuǎn)換

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

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

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

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