基于門(mén)控時(shí)鐘的低功耗電路設計方案
集成電路工藝節點(diǎn)的提升帶來(lái)了芯片集成度的極大提高,同時(shí)也導致了功耗的急速增加。另外,市場(chǎng)對電子設備的大量需求使得系統功耗成為系統性能的一個(gè)重要指標,功耗的高低成了芯片廠(chǎng)商競爭力的焦點(diǎn)之一,功耗控制與管理已成為絕大多數芯片廠(chǎng)商首要考慮的問(wèn)題。SoC設計的功耗包含兩部分:靜態(tài)功耗和動(dòng)態(tài)功耗。靜態(tài)功耗主要由泄漏電流引起,在130 nm工藝下,靜態(tài)功耗相對較小,可以忽略不計。動(dòng)態(tài)功耗主要包括短路功耗和翻轉功耗,是本設計功耗的主要組成部分。短路功耗即內部功耗,指由器件內部由于P管和N管在某一瞬間同時(shí)導通引起的瞬時(shí)短路引起。翻轉功耗由CMOS器件的輸出端負載電容充放電引起。芯片工作時(shí),很大一部分功耗是由于時(shí)鐘網(wǎng)絡(luò )的翻轉消耗的,如果時(shí)鐘網(wǎng)絡(luò )較大,這部分引起的功耗損失會(huì )很大。在眾多低功耗技術(shù)中,門(mén)控時(shí)鐘對翻轉功耗和內部功耗的抑制作用最強。本文主要講述門(mén)控時(shí)鐘技術(shù)的具體實(shí)現。另外,基于高閾值單元具有較低的功耗,設計采用高閾值單元庫。
1 門(mén)控時(shí)鐘技術(shù)的基本原理
對于一個(gè)設計中的寄存器組,經(jīng)DC編譯后一般會(huì )生成如圖1所示的電路。由圖1可以看出,當EN為1時(shí), DATA_ IN的值由多路開(kāi)關(guān)傳至寄存器組的數據輸入端,當CLK上升沿來(lái)臨時(shí),傳至DATA_OUT。當EN為0時(shí), OUTPUT保持不變。但由于時(shí)鐘信號CLK的翻轉,寄存器組會(huì )持續在CLK的上升沿來(lái)臨時(shí)讀取數據輸入端的數據,而這時(shí)讀取的數據是不變的,這就消耗了額外的功耗。

為保證此時(shí)寄存器組不受時(shí)鐘翻轉的影響,可在EN信號為0時(shí)關(guān)斷寄存器組的時(shí)鐘輸入端,使其不受CLK端的變化而變化,這一操作可通過(guò)門(mén)控時(shí)鐘技術(shù)來(lái)實(shí)現,如圖2所示。圖中的門(mén)控單元由一個(gè)Latch和一個(gè)與門(mén)組成。門(mén)控單元也可以采用非latch結構,直接由與門(mén)或或門(mén)組成。但由于這種電路會(huì )引發(fā)毛刺,故此處采用基于Latch的門(mén)控單元電路。插入門(mén)控時(shí)鐘后,當EN為1時(shí), Latch單元在時(shí)鐘低電平時(shí)將EN鎖存至ENL,時(shí)鐘上升沿來(lái)臨時(shí), ENCLK隨CLK變化,寄存器組執行正常的讀入讀出操作。當EN為0時(shí),寄存器時(shí)鐘輸入端ENCL保持為0,不隨源時(shí)鐘CLK的翻轉而變化,故此時(shí)寄存器組不消耗額外功率。

由此可見(jiàn),插入門(mén)控時(shí)鐘能消除寄存器組冗余翻轉引發(fā)的內部功耗,同時(shí)由于多路選擇器組被一個(gè)基于latch的門(mén)控單元代替,所以也減小了電路的面積。
另外,為了進(jìn)一步減小設計的功耗,可采用一些特定的門(mén)控技術(shù)。目前應用比較廣泛的有多級門(mén)控時(shí)鐘,層次化門(mén)控時(shí)鐘等。在多級門(mén)控時(shí)鐘技術(shù)中,一個(gè)門(mén)控單元還可用來(lái)驅動(dòng)其他一個(gè)或一組門(mén)控單元。這樣就通過(guò)分級控制減少了門(mén)控單元的數目,而且這種方法可組合盡可能多的寄存器組使得門(mén)控單元向頂層靠近,節省更多功耗。
2 門(mén)控時(shí)鐘的物理實(shí)現
電路在功能仿真通過(guò)后,開(kāi)始進(jìn)行寄存器級綜合。采用高閾值標準單元庫和多級門(mén)控時(shí)鐘技術(shù)相結合,在RTL階段插入門(mén)控時(shí)鐘單元,并在布局布線(xiàn)時(shí)在IC Compiler中進(jìn)行了基于門(mén)控時(shí)鐘的布局布線(xiàn)優(yōu)化,布局布線(xiàn)正確完成仿真通過(guò)后,在PT中做靜態(tài)時(shí)序分析并進(jìn)行最終的功耗分析。以下分三個(gè)部分講述。
2. 1 時(shí)鐘門(mén)控的RTL級實(shí)現
在RTL級,門(mén)控時(shí)鐘的實(shí)現不需要對設計本身進(jìn)行修改,而只需在綜合腳本中加入一些控制項。
本文采用多級門(mén)控時(shí)鐘,相關(guān)的腳本如圖3 所示。

圖中,傳統的綜合流程用實(shí)線(xiàn)標出。虛線(xiàn)部分為門(mén)控時(shí)鐘的操作。
控制項set_clock_gating_ STyle是門(mén)控時(shí)鐘的核心。它的參數大小決定門(mén)控時(shí)鐘的質(zhì)量,對功耗的優(yōu)化效果和對CTS的影響。目前尚無(wú)完備的體系介紹如何設置控制項以使門(mén)控效果達到最優(yōu)。本設計中有以下各個(gè)參數的設置方法。
首先確定時(shí)序單元的類(lèi)型。為了避免非Latch單元易產(chǎn)生毛刺的缺點(diǎn),此處選定時(shí)序單元的類(lèi)型為L(cháng)atch。由于庫中提供基于鎖存器的門(mén)控單元,固正邊沿邏輯positive_edge_ logic采用工藝庫提供的專(zhuān)用單元。采用集成單元的優(yōu)勢在于不僅不需要設置門(mén)控單元輸入端建立時(shí)間和保持時(shí)間,因為集成單元的時(shí)序信息在單元庫中已有說(shuō)明,而且有效緩解了插入門(mén)控單元對延時(shí)帶來(lái)的不利影響。以下重點(diǎn)闡述實(shí)驗中bi
評論