基于門控時鐘的低功耗電路實現(xiàn)方案
電路在功能仿真通過后,開始進行寄存器級綜合。采用高閾值標準單元庫和多級門控時鐘技術(shù)相結(jié)合,在RTL階段插入門控時鐘單元,并在布局布線時在IC Comp iler中進行了基于門控時鐘的布局布線優(yōu)化,布局布線正確完成仿真通過后,在PT中做靜態(tài)時序分析并進行最終的功耗分析。以下分三個部分講述。
2. 1 時鐘門控的RTL級實現(xiàn)
在RTL級,門控時鐘的實現(xiàn)不需要對設(shè)計本身進行修改,而只需在綜合腳本中加入一些控制項。
本文采用多級門控時鐘,相關(guān)的腳本如圖3 所示。
圖中,傳統(tǒng)的綜合流程用實線標出。虛線部分為門控時鐘的操作。
控制項set_clock_gating_ STyle是門控時鐘的核心。它的參數(shù)大小決定門控時鐘的質(zhì)量,對功耗的優(yōu)化效果和對CTS的影響。目前尚無完備的體系介紹如何設(shè)置控制項以使門控效果達到最優(yōu)。本設(shè)計中有以下各個參數(shù)的設(shè)置方法。
圖3 門控時鐘的基本描述
首先確定時序單元的類型。為了避免非Latch單元易產(chǎn)生毛刺的缺點,此處選定時序單元的類型為Latch。由于庫中提供基于鎖存器的門控單元,固正邊沿邏輯positive_edge_ logic采用工藝庫提供的專用單元。采用集成單元的優(yōu)勢在于不僅不需要設(shè)置門控單元輸入端建立時間和保持時間,因為集成單元的時序信息在單元庫中已有說明,而且有效緩解了插入門控單元對延時帶來的不利影響。以下重點闡述實驗中bitwIDTh, fanout和stage的確立方法。
fanout的大小對功耗和時序都有影響。數(shù)值越大則表示一個門控單元可承受較多的負載,即代表越節(jié)省功耗,需要的門控單元也越少,但對門控單元輸入端建立時間的要求也就更加嚴格。位寬決定一組寄存器能被門控的最小寬度。級數(shù)則確定多級門控時鐘的最大級數(shù)。本設(shè)計在這三個參數(shù)的選取上,主要是依據(jù)設(shè)計本身對功耗的要求,結(jié)合綜合時的時序約束和單元庫中門控單元的時延信息加以估計,確定一個粗略的數(shù)值范圍。fanout的值在滿足時序的前提下,不經(jīng)編譯就可確定,方法如下:首先按約束文件中的扇出值約束此處fanout,然后insert_clock_tree,加入時序約束并傳遞至門控時鐘,用re_port_clock_gating– multi_stage查看報告,重點關(guān)注第1項。發(fā)現(xiàn)fanout按約束文件取值為15時,門控單元的數(shù)目達到61個, fanout取值為20或更高時,門控單元數(shù)目為41,見表1,而被門控的寄存器數(shù)目卻保持不變,多級門控單元的數(shù)目也由fanout取值為15時的7級減小到當前的6級。由于門控單元也會消耗相當大功耗,因此在被門控的寄存器數(shù)目相同的情況下門控單元數(shù)越少就越節(jié)省功耗。因此確定fanout為20。
num_stages最初取值為2,插入門控時鐘后的報告顯示平均級數(shù)為1. 4,其值增至3時,平均級數(shù)為2. 3,如表1 所示。從對時鐘網(wǎng)絡的平衡性來講,stage值為2時要優(yōu)于取值為3時的情況,但結(jié)合其后的編譯,綜合考慮時序面積功耗因素,折衷考慮選定stage為3。
bitwidth初值為3,經(jīng)過編譯,得出了功耗和延時信息。以此為基準,根據(jù)設(shè)計改變bitwidth數(shù)值,然后再編譯,對比功耗延時。發(fā)現(xiàn)當bitwidth取值為5時,設(shè)計的各個性能指標達到最優(yōu)。
通過以上試驗,得出下列結(jié)論: 對門控時鐘而言,若不考慮設(shè)計的平衡性,插入的門控單元越少且被門控的寄存器越多, 門控的效果就越好, 反之亦然。
經(jīng)編譯,查看時序功耗報告,在滿足電路性能指標情況下, RTL級代碼經(jīng)綜合生成層次化門級網(wǎng)表和門級時序約束文件。
為查看門控單元在不同設(shè)置下的插入情況,用report_clock_gating– multi_stage得到表1所示報告。
從中可知,有23. 68 %的寄存器沒有被門控,原因在于位寬, 使能等不滿足門控要求, 對設(shè)計無影響。
表1 門控時鐘總結(jié)
2. 2 時鐘門控的版圖級實現(xiàn)
在布局布線階段,基于門控時鐘的功耗優(yōu)化流程主要如下:在布局之前,設(shè)置set_power_op tiONs–clock_gating true,之后在布局、時鐘樹綜合和布線階段的主要命令中添加選項- power即可。上述設(shè)置可實現(xiàn)最基本的門控時鐘布局布線,但在本設(shè)計中生成的時鐘網(wǎng)絡分布不均勻,而且skew很大。需要采取額外的優(yōu)化措施來消除其帶來的不利影響。
門控單元的加入給CTS帶來的影響主要有兩個方面,一方面會造成整個時鐘網(wǎng)絡分布不平衡,另一方面導致時鐘偏移增大。單采用上述措施,時鐘偏移最大可達到1. 11,見圖4中的第二項,嚴重偏離了不采用門控時鐘時的偏移量0. 12。在優(yōu)化時鐘偏移上,目標有三個方面:構(gòu)造一個相對平衡的時鐘網(wǎng)絡,使得在各個層上,層的各個分支上的單元數(shù)目相近;減小時鐘偏移至可承受范圍;盡量保持功耗同只采用門控時鐘而不優(yōu)化時鐘偏移狀況下的功耗相近或更小。
DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY
評論