<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于門控時(shí)鐘的低功耗電路設(shè)計(jì)方案

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

          作者: 時(shí)間:2012-02-16 來源:網(wǎng)絡(luò) 收藏
          twIDTh, fanout和stage的確立方法。

            fanout的大小對(duì)功耗和時(shí)序都有影響。數(shù)值越大則表示一個(gè)門控單元可承受較多的負(fù)載,即代表越節(jié)省功耗,需要的門控單元也越少,但對(duì)門控單元輸入端建立時(shí)間的要求也就更加嚴(yán)格。位寬決定一組寄存器能被門控的最小寬度。級(jí)數(shù)則確定多級(jí)的最大級(jí)數(shù)。本設(shè)計(jì)在這三個(gè)參數(shù)的選取上,主要是依據(jù)設(shè)計(jì)本身對(duì)功耗的要求,結(jié)合綜合時(shí)的時(shí)序約束和單元庫中門控單元的時(shí)延信息加以估計(jì),確定一個(gè)粗略的數(shù)值范圍。fanout的值在滿足時(shí)序的前提下,不經(jīng)編譯就可確定,方法如下:首先按約束文件中的扇出值約束此處fanout,然后insert_clock_tree,加入時(shí)序約束并傳遞至,用re_port_clock_gating– multi_stage查看報(bào)告,重點(diǎn)關(guān)注第1項(xiàng)。發(fā)現(xiàn)fanout按約束文件取值為15時(shí),門控單元的數(shù)目達(dá)到61個(gè), fanout取值為20或更高時(shí),門控單元數(shù)目為41,見表1,而被門控的寄存器數(shù)目卻保持不變,多級(jí)門控單元的數(shù)目也由fanout取值為15時(shí)的7級(jí)減小到當(dāng)前的6級(jí)。由于門控單元也會(huì)消耗相當(dāng)大功耗,因此在被門控的寄存器數(shù)目相同的情況下門控單元數(shù)越少就越節(jié)省功耗。因此確定fanout為20。

            num_stages最初取值為2,插入后的報(bào)告顯示平均級(jí)數(shù)為1. 4,其值增至3時(shí),平均級(jí)數(shù)為2. 3,如表1 所示。從對(duì)時(shí)鐘網(wǎng)絡(luò)的平衡性來講,stage值為2時(shí)要優(yōu)于取值為3時(shí)的情況,但結(jié)合其后的編譯,綜合考慮時(shí)序面積功耗因素,折衷考慮選定stage為3。

            bitwidth初值為3,經(jīng)過編譯,得出了功耗和延時(shí)信息。以此為基準(zhǔn),根據(jù)設(shè)計(jì)改變bitwidth數(shù)值,然后再編譯,對(duì)比功耗延時(shí)。發(fā)現(xiàn)當(dāng)bitwidth取值為5時(shí),設(shè)計(jì)的各個(gè)性能指標(biāo)達(dá)到最優(yōu)。

            通過以上試驗(yàn),得出下列結(jié)論: 對(duì)門控時(shí)鐘而言,若不考慮設(shè)計(jì)的平衡性,插入的門控單元越少且被門控的寄存器越多, 門控的效果就越好,反之亦然。

            經(jīng)編譯,查看時(shí)序功耗報(bào)告,在滿足電路性能指標(biāo)情況下, RTL級(jí)代碼經(jīng)綜合生成層次化門級(jí)網(wǎng)表和門級(jí)時(shí)序約束文件。

            為查看門控單元在不同設(shè)置下的插入情況,用report_clock_gating– multi_stage得到表1所示報(bào)告。

            從中可知,有23. 68 %的寄存器沒有被門控,原因在于位寬, 使能等不滿足門控要求,對(duì)設(shè)計(jì)無影響。

            

          門控時(shí)鐘總結(jié)
          2. 2 時(shí)鐘門控的版圖級(jí)實(shí)現(xiàn)

            在布局布線階段,基于門控時(shí)鐘的功耗優(yōu)化流程主要如下:在布局之前,設(shè)置set_Power_op tiONs–clock_gating true,之后在布局、時(shí)鐘樹綜合和布線階段的主要命令中添加選項(xiàng)- power即可。上述設(shè)置可實(shí)現(xiàn)最基本的門控時(shí)鐘布局布線,但在本設(shè)計(jì)中生成的時(shí)鐘網(wǎng)絡(luò)分布不均勻,而且skew很大。需要采取額外的優(yōu)化措施來消除其帶來的不利影響。

            門控單元的加入給CTS帶來的影響主要有兩個(gè)方面,一方面會(huì)造成整個(gè)時(shí)鐘網(wǎng)絡(luò)分布不平衡,另一方面導(dǎo)致時(shí)鐘偏移增大。單采用上述措施,時(shí)鐘偏移最大可達(dá)到1. 11,見圖4中的第二項(xiàng),嚴(yán)重偏離了不采用門控時(shí)鐘時(shí)的偏移量0. 12。在優(yōu)化時(shí)鐘偏移上,目標(biāo)有三個(gè)方面:構(gòu)造一個(gè)相對(duì)平衡的時(shí)鐘網(wǎng)絡(luò),使得在各個(gè)層上,層的各個(gè)分支上的單元數(shù)目相近;減小時(shí)鐘偏移至可承受范圍;盡量保持功耗同只采用門控時(shí)鐘而不優(yōu)化時(shí)鐘偏移狀況下的功耗相近或更小。

            

          各種操作方式下的時(shí)鐘偏移

            分析引起skew偏大的原因,通過在ICC中跟蹤路徑,查看時(shí)鐘網(wǎng)絡(luò)電路圖,發(fā)現(xiàn)時(shí)鐘層分布極不均勻,分支節(jié)點(diǎn)最大相差6 層。在具體時(shí)序路徑中,兩條路徑延時(shí)過大,插入了許多不必要的buffer,為構(gòu)造一個(gè)平衡的時(shí)鐘樹,減小skew并減少對(duì)功耗的影響,在CTS階段采取了三個(gè)措施。

            第一,設(shè)置set_clock_tree_op tions– LOGIC_ level_bal2ance為true。CTS的操作模式有三種: 模塊模式,頂層模式,邏輯級(jí)平衡模式。默認(rèn)為模塊模式。

            此處選取邏輯級(jí)平衡模式可得到最佳的skew,但對(duì)功耗有一定影響。第二,復(fù)制門控單元。主要是通過修正ICG輸出端的DRC來平衡扇出,并添加緩沖單元來驅(qū)動(dòng)沒有被門控的寄存器使得整個(gè)時(shí)鐘樹的結(jié)構(gòu)更加平衡。首先設(shè)置cts_push _down_ buffer為true。然后split_ clock _ gate – ob2jects { 3 . / Latch} – gate_ sizing– gate_ relocation。

            并且在時(shí)鐘樹綜合時(shí)結(jié)合使用- inter_clock_bal2ance選項(xiàng)。最后,為了彌補(bǔ)功耗優(yōu)化方面的不足,在CTS完畢之后用p synop t– power。不采用門控時(shí)鐘、采用門控時(shí)鐘但不做skew優(yōu)化、采用門控時(shí)鐘且進(jìn)行skew優(yōu)化三種情況下的skew見圖4。由此可見,優(yōu)化后的skew較原來相比雖有所增大,但要遠(yuǎn)小于優(yōu)化前的設(shè)計(jì)。

            2. 3 功耗測(cè)量過程及實(shí)驗(yàn)結(jié)果分析

            布局布線完成后,導(dǎo)出網(wǎng)表到VCS中進(jìn)行后仿,并得到分析功耗所需的saif文件。將此saif文件和布局布線后帶有實(shí)際延時(shí)信息的網(wǎng)表讀入PT中,加以適當(dāng)?shù)臅r(shí)序約束進(jìn)行功耗分析



          關(guān)鍵詞: 門控時(shí)鐘 低功耗電路

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();