《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 自動門控時鐘技術(shù)在聚芯SoC1000C中的應(yīng)用

自動門控時鐘技術(shù)在聚芯SoC1000C中的應(yīng)用

2009-05-21
作者:王伊蕾1,李 濤2,宋麗華1,

  摘  要: 針對SoC中時鐘網(wǎng)絡(luò)的自動門控時鐘技術(shù)進(jìn)行應(yīng)用方法的研究,主要以聚芯SoC1000C的CPU核為基礎(chǔ),通過對其內(nèi)部時序邏輯特點(diǎn)的分析,提出以精確可靠的時序分析為基礎(chǔ)的時鐘網(wǎng)絡(luò)設(shè)計方案,從而在不增加物理設(shè)計復(fù)雜度的情況下大大降低SoC的時鐘功耗,同時達(dá)到改善時序性能和芯片面積的效果。
  關(guān)鍵詞: SoC1000C;單片機(jī);門控時鐘

?

  近年來,芯片的內(nèi)部時鐘頻率飛速增長,由于其時鐘樹的翻轉(zhuǎn)率固定為時鐘頻率的2倍,而其他信號每個周期的平均翻轉(zhuǎn)率通常要遠(yuǎn)小于1,因此時鐘樹以及觸發(fā)器單元的功耗消耗要比處理器中其他非時序單元的功耗消耗大得多。芯片中的時鐘網(wǎng)絡(luò)包括時鐘樹以及時鐘樹所驅(qū)動的觸發(fā)器兩大部分,這兩部分由于具有翻轉(zhuǎn)頻率高、分布廣、連線長等特點(diǎn),所以不論從延遲、可靠性,還是從功耗的角度看,時鐘網(wǎng)絡(luò)都是處理器中需要細(xì)心考慮的關(guān)鍵部分。根據(jù)功耗分析的結(jié)果,由時鐘樹和觸發(fā)器組成的時鐘網(wǎng)絡(luò)雖然在單元數(shù)目上只占處理器所有單元數(shù)目的不到百分之十,但這部分的時鐘功耗卻通常占處理器總功耗的30%以上。例如在Alpha 21264中占總功耗的32%[1],Itanium2中占總功耗的33%[2],在龍芯2E處理器中達(dá)到47%[3]。
1 自動門控時鐘技術(shù)原理
  門控時鐘技術(shù)是在寄存器排的時鐘網(wǎng)絡(luò)上插入門控電路,產(chǎn)生一個消除寄存器不必要活動的控制信號,減少了電路中不必要的信號翻轉(zhuǎn),從而降低功耗。當(dāng)前,支持自動門控時鐘技術(shù)的EDA工具,如Synopsys公司的Power Compiler,可以將以上三種類型的RTL代碼自動映射為如圖1所示的電路,觸發(fā)器原先的使能端EN同時關(guān)閉時鐘。為此,需要在時鐘樹上增加一個基本門控單元,它由一個邏輯與門(AND)和一個用來防止生成毛刺的鎖存器(LATCH)組成,從而保證時序的正確性。當(dāng)EN端為低時,寄存器排的時鐘被自動關(guān)閉,有效降低了功耗;而當(dāng)EN端為高時,寄存器排的時鐘被自動打開,從而確保了電路的正常工作。當(dāng)EN越長時間為低時,功耗優(yōu)化效果會越明顯。

?

  根據(jù)門控時鐘原理不難看出,門控時鐘的引入可以帶來如下好處:首先門控使能關(guān)閉時,位于門控單元后面的時鐘不再翻轉(zhuǎn),因此節(jié)省了相應(yīng)的時鐘樹與觸發(fā)器上的時鐘功耗;其次,加入門控邏輯后,被門控的每個觸發(fā)器不再需要一個單獨(dú)的多路選擇器,因此進(jìn)一步減少了功耗和面積;第三,面積的縮小可以降低物理設(shè)計時的布線擁塞度,對芯片的時序會有所改善,意味著芯片性能的提升。但與此同時會增加門控單元的代價以及時鐘線的負(fù)載,并且?guī)砹艘幌盗信c物理設(shè)計相關(guān)的問題,包括時序分析、可測性設(shè)計和驗(yàn)證等[4]
2 自動門控時鐘技術(shù)的應(yīng)用問題與解決方法
  雖然自動門控時鐘技術(shù)理論上可以有效降低芯片功耗,甚至同時達(dá)到提高性能和減少面積的效果,但在當(dāng)今EDA工具發(fā)揮重要作用的芯片設(shè)計流程中,還缺乏完備的支持。例如在中科SoC和聚芯SoC1000A兩個版本中,都沒有采用這種方法。如果依靠全定制設(shè)計來解決,就限制了ASIC設(shè)計流程對自動門控方法的使用。
2.1 時序分析問題
  時序問題是自動門控時鐘技術(shù)使用過程中最棘手的問題,其嚴(yán)重限制了這種技術(shù)的使用與推廣。本文分析了自動門控時鐘潛在的時序問題,并說明非理想時鐘情況下,傳統(tǒng)方法仍然可能導(dǎo)致門控后的時鐘產(chǎn)生毛刺并針對工程實(shí)現(xiàn)給出解決方法。
  圖2所示是一個基本的門控單元。由于與門(AND)在時鐘樹上,CLK傳遞到ENCLK的延遲變大,因此DATAIN數(shù)據(jù)推遲到達(dá)寄存器排的Q端,DATAOUT后面的組合電路將要在不足一個時鐘周期內(nèi)完成,從而造成時序緊張。這種時序緊張只可能導(dǎo)致性能的下降而不會造成錯誤,但性能的下降也會帶來嚴(yán)重的后果。如圖3所示,EN由于其之前組合邏輯的作用產(chǎn)生一個毛刺(不足一個時鐘周期),此時經(jīng)過LATCH延遲delay時間后傳遞到ENL。假設(shè)CLK到達(dá)B點(diǎn)的延遲大于到達(dá)A點(diǎn)的延遲,即存在時鐘偏斜skew且大于delay,這樣ENCLK仍然會產(chǎn)生一個毛刺而不會被屏蔽,從而造成嚴(yán)重后果。

?

?

  為了防止時鐘產(chǎn)生以上分析的毛刺,只要門控時鐘的建立時間保持時間都得到滿足,ENCLK就不會出現(xiàn)毛刺,并且可以在理論上得到占空比為1的時鐘波形。因此只要對布線后網(wǎng)表的門控邏輯進(jìn)行精確的靜態(tài)時序分析(簡稱STA)[4],就可以保證自動門控時鐘技術(shù)的可靠性。在一個電路中,門控時鐘的建立時間和保持時間如何計算是一個復(fù)雜的過程,本文將針對Artisan 0.18 μm工藝進(jìn)行實(shí)驗(yàn)和分析。
2.2 可測性設(shè)計問題
  半導(dǎo)體在制造過程中可能帶入各類失效,例如材料的缺陷以及工藝偏差都可能導(dǎo)致芯片中電路的短路、斷路以及器件節(jié)點(diǎn)間穿通等問題,而這樣的物理失效必然導(dǎo)致電路功能或者性能方面的故障。結(jié)構(gòu)化測試可以定位生產(chǎn)制造過程中的故障,并且確保連線、晶體管等基本成分生產(chǎn)制造的正確性。為此原始設(shè)計需要加入只在測試過程中才使用的測試邏輯,以便于高質(zhì)量測試向量的自動產(chǎn)生,同時也提供診斷失效器件的高效率方法,通常稱這一過程為可測性設(shè)計(簡稱DFT)[5]
  本文關(guān)注的主要內(nèi)容并不是DFT,但加入自動門控而不對原有DFT進(jìn)行改動則會影響設(shè)計的可測性。例如,在沒有加入自動門控時鐘的設(shè)計中,所有觸發(fā)器鏈接成一條掃描鏈,它們的CLK端(時鐘端)與芯片時鐘直接相連,以促使測試數(shù)據(jù)的傳遞。而在加入自動門控時鐘之后(如圖4所示),門控觸發(fā)器的CLK端并不與時鐘直接相連,當(dāng)其之前的門控使能信號EN為低時,深色區(qū)域的電路將不具有可測性,從而影響掃描鏈的正常工作。當(dāng)然可以將這類觸發(fā)器從掃描鏈中刪除,但后果是部分電路的可控性和可觀察性都將降低,而當(dāng)這類觸發(fā)器占有相當(dāng)大數(shù)量時,芯片的故障覆蓋率(Fault Coverage)將會大幅度降低。

?

2.3 面積問題
  自動門控時鐘方法除了可以降低時鐘網(wǎng)絡(luò)的功耗,還可以減少綜合后邏輯的面積,這是因?yàn)殚T控時鐘方法可以消除大量反饋電路的多選器,取而代之的是一個LATCH和一個與門。表1列出Artisan 0.18 μm工藝庫中的一組真實(shí)的多選器、LATCH以及與門的面積。數(shù)據(jù)表明,如果使用該工藝庫,兩個多選器的面積相當(dāng)于一個門控單元(含一個LATCH和一個與門)的面積。因此當(dāng)寄存器排中觸發(fā)器的數(shù)量即位寬(Bit Width)超過2時,使用門控時鐘方法將減少面積,而當(dāng)位寬增大時,面積減小的效果會更加明顯。


  EDA工具提供了靈活的選項(xiàng)供設(shè)計者使用,用戶可以選定當(dāng)寄存器排中觸發(fā)器數(shù)量超過特定數(shù)值時,才自動插入門控時鐘單元。例如使用Artisan 0.18 μm庫時,可以選擇當(dāng)寄存器排的位寬超過2時,對該寄存器排插入門控。
2.4 等價性驗(yàn)證問題
  等價性驗(yàn)證比較RTL級與門級或門級與門級來保證設(shè)計沒有偏離初始的設(shè)計意圖。在一個典型的流程中,用戶經(jīng)常使用等價性驗(yàn)證比較RTL源碼與綜合后門級網(wǎng)表的邏輯功能等效性。這個過程通常用于整個設(shè)計周期,例如在掃描鏈插入、時鐘樹綜合、優(yōu)化、手工網(wǎng)表編輯等流程中,以便在流程的每一階段都能在門級維持原始的功能。這樣,在整個設(shè)計周期中就不再需要耗時的門級仿真,大幅度提高了設(shè)計和驗(yàn)證效率。
  Formality是Synopsys公司推出的高性能、高速度的全芯片的形式驗(yàn)證工具[6],但是在自動門控插入后,RTL源代碼與其門級網(wǎng)表不再等價。為此,需要在Formality環(huán)境中添加涉及門控時鐘插入的配置如下:
  fm_shell>set verification_clock_Gate_hold_mode any
  這樣,就可以精確得出RTL源代碼與其綜合而成的門級網(wǎng)表是否邏輯等價。
3 實(shí)驗(yàn)結(jié)果與分析
3.1 自動門控時鐘技術(shù)的邏輯綜合與結(jié)果分析
  選擇對聚芯SoC1000C的CPU核進(jìn)行實(shí)驗(yàn),這是因?yàn)槠涔谋戎刈畲螅ㄔ挤椒ㄟ_(dá)70%),時鐘單一(除接口模塊和EJTAG模塊之外整個CPU核只有一個時鐘),功耗優(yōu)化過程易于實(shí)現(xiàn)且效果明顯。為保證功耗分析的精度,實(shí)驗(yàn)采用Artisan公司0.18 μm工藝庫進(jìn)行綜合并進(jìn)行物理設(shè)計,對帶有電容和延遲信息的門級網(wǎng)表進(jìn)行功耗計算。實(shí)驗(yàn)工具選用了工業(yè)界主流的EDA軟件:綜合選用Synopsys公司內(nèi)嵌Power Compiler的Design Compiler,仿真選用Cadence公司的NCVerilog,功耗計算選擇Synopsys公司的Power Compiler和Prime Power,物理設(shè)計選用Synopsys公司的Astro。
  與自動門控時鐘技術(shù)實(shí)現(xiàn)相關(guān)的綜合腳本如圖5所示,包含門控時鐘單元風(fēng)格的定義、最小位寬定義、門控相關(guān)的時序檢查、DFT信號的連接等命令。為保險起見,參考前述Hspice的仿真結(jié)果,將門控時鐘的建立時間和保持時間檢查保守地設(shè)為0.25 ns。

?


  對聚芯SoC中除CPU核以外的其他部分的寄存器和可以門控的寄存器數(shù)量進(jìn)行了統(tǒng)計。由于CPU核中觸發(fā)器數(shù)量占整個聚芯SoC的一半以上,甚至超過PowerPC 405LP的門控觸發(fā)器比例(Power PC 405LP中CPU和其他部分分別為80%與50%[Nowka02]),所以這種方法的效果將會非常明顯,甚至可以超過PowerPC 405LP。
  為了分析自動門控時鐘技術(shù)芯片性能的影響,對比了原始版本和自動門控時鐘版本(分別采用test_mode和scan_enable兩種不同DFT方式),綜合后的時序結(jié)果如表2所示。保持時間(hold time)通??梢栽诤蠖宋锢碓O(shè)計時加以考慮和解決,因此可以暫時忽略。就建立時間(setup time)而言,門控的兩個版本的時序結(jié)果都會略優(yōu)于不帶門控的原始版本,其主要原因是由于面積從原始的6 053 441μm2分別減少到5 690 474 μm2(test_mode)和5 527 114μm2(scan_enable),分別減少了6%和9%,從而使布線擁塞度顯著降低,更加便于物理上的布局布線。


3.2 功耗仿真與分析
  本文最終利用test_mode的門控版本網(wǎng)表進(jìn)行進(jìn)一步的物理設(shè)計和功耗分析實(shí)驗(yàn)。在運(yùn)行Dhrystone測試下,整個聚芯SoC1000C功耗為0.564 W,內(nèi)部各IP核功耗分布如圖6所示,其中CPU核功耗為0.252 W,其內(nèi)部各模塊功耗分布如圖7所示。研究發(fā)現(xiàn),即使在聚芯SoC1000C中添加了MAC和CAN等IP核,同聚芯SoC1000A的0.99 W功耗相比,整個芯片仍然降低了43%的功耗。由于CPU采用了自動門控時鐘技術(shù),功耗比例降低為整個芯片的47%,而內(nèi)部RAM所占的比例加大,這是由于自動門控時鐘技術(shù)降低帶有觸發(fā)器的時鐘網(wǎng)絡(luò)功耗,但并沒有能夠有效降低RAM功耗。

?


  本文以降低SoC中的時鐘網(wǎng)絡(luò)功耗為出發(fā)點(diǎn),分析了現(xiàn)有自動門控時鐘技術(shù)的工作原理,并提出該技術(shù)在ASIC設(shè)計應(yīng)用過程中的困難,結(jié)合當(dāng)今EDA廠商提供的軟件特性,提出了相應(yīng)的解決方案,從事實(shí)上緩解了設(shè)計難度并提高了設(shè)計的可靠性。本文提出的解決方法在聚芯SoC1000C的CPU核中進(jìn)行實(shí)驗(yàn),結(jié)果表明,該方法可以使整個芯片的功耗降低43%以上。在今后的工作中,將進(jìn)一步考慮這種方法在復(fù)雜的多時鐘域設(shè)計中可能存在的問題,并有望在聚芯SoC2000中得到進(jìn)一步應(yīng)用,從而大大降低SoC的時鐘功耗。此外,由于RAM的功耗比例變大,已經(jīng)成為功耗的瓶頸,因此下一步的工作將研究低功耗的RAM結(jié)構(gòu)。


參考文獻(xiàn)
[1] GOWAN M K,BIRO L L,JACHSON D B.Power considerations in the design of the alpha 21264 microprocessor[J].In:Proceedings of the 35th Annual Design Automation?Conference(DAC′98),Los Alamitos USA,1998.
[2] NAFFZIGER S,Colon-Bonet G,F(xiàn)ISCHER T,et al.The?implementation of the itanium 2 microprocessor[J].IEEE?Journal of Solid-State Circuits,2002,37(11).
[3] 張戈.高性能通用處理器核的低功耗技術(shù)研究[D].博士學(xué)位論文,中國科學(xué)院計算技術(shù)研究所,2006.
[4] Synopsys Prime Time User Guide[M].Release U-2005.06-QA,2005,6.
[5] BUSHNELL M L,AGRAWAL V D.Essentials of electronic?testing for digital,memory,and mixed-signal VLSI circuits[M].Kluwer Academic Publishers,2000.
[6] Synopsys Formality User Guide[M].Release U-2005.06-QA,2005,6.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。