摘 要: 針對(duì)SoC中時(shí)鐘網(wǎng)絡(luò)的自動(dòng)門控時(shí)鐘技術(shù)進(jìn)行應(yīng)用方法的研究,主要以聚芯SoC1000C的CPU核為基礎(chǔ),通過(guò)對(duì)其內(nèi)部時(shí)序邏輯特點(diǎn)的分析,提出以精確可靠的時(shí)序分析為基礎(chǔ)的時(shí)鐘網(wǎng)絡(luò)設(shè)計(jì)方案,從而在不增加物理設(shè)計(jì)復(fù)雜度的情況下大大降低SoC的時(shí)鐘功耗,同時(shí)達(dá)到改善時(shí)序性能和芯片面積的效果。
關(guān)鍵詞: SoC1000C;單片機(jī);門控時(shí)鐘
?
近年來(lái),芯片的內(nèi)部時(shí)鐘頻率飛速增長(zhǎng),由于其時(shí)鐘樹(shù)的翻轉(zhuǎn)率固定為時(shí)鐘頻率的2倍,而其他信號(hào)每個(gè)周期的平均翻轉(zhuǎn)率通常要遠(yuǎn)小于1,因此時(shí)鐘樹(shù)以及觸發(fā)器單元的功耗消耗要比處理器中其他非時(shí)序單元的功耗消耗大得多。芯片中的時(shí)鐘網(wǎng)絡(luò)包括時(shí)鐘樹(shù)以及時(shí)鐘樹(shù)所驅(qū)動(dòng)的觸發(fā)器兩大部分,這兩部分由于具有翻轉(zhuǎn)頻率高、分布廣、連線長(zhǎng)等特點(diǎn),所以不論從延遲、可靠性,還是從功耗的角度看,時(shí)鐘網(wǎng)絡(luò)都是處理器中需要細(xì)心考慮的關(guān)鍵部分。根據(jù)功耗分析的結(jié)果,由時(shí)鐘樹(shù)和觸發(fā)器組成的時(shí)鐘網(wǎng)絡(luò)雖然在單元數(shù)目上只占處理器所有單元數(shù)目的不到百分之十,但這部分的時(shí)鐘功耗卻通常占處理器總功耗的30%以上。例如在Alpha 21264中占總功耗的32%[1],Itanium2中占總功耗的33%[2],在龍芯2E處理器中達(dá)到47%[3]。
1 自動(dòng)門控時(shí)鐘技術(shù)原理
門控時(shí)鐘技術(shù)是在寄存器排的時(shí)鐘網(wǎng)絡(luò)上插入門控電路,產(chǎn)生一個(gè)消除寄存器不必要活動(dòng)的控制信號(hào),減少了電路中不必要的信號(hào)翻轉(zhuǎn),從而降低功耗。當(dāng)前,支持自動(dòng)門控時(shí)鐘技術(shù)的EDA工具,如Synopsys公司的Power Compiler,可以將以上三種類型的RTL代碼自動(dòng)映射為如圖1所示的電路,觸發(fā)器原先的使能端EN同時(shí)關(guān)閉時(shí)鐘。為此,需要在時(shí)鐘樹(shù)上增加一個(gè)基本門控單元,它由一個(gè)邏輯與門(AND)和一個(gè)用來(lái)防止生成毛刺的鎖存器(LATCH)組成,從而保證時(shí)序的正確性。當(dāng)EN端為低時(shí),寄存器排的時(shí)鐘被自動(dòng)關(guān)閉,有效降低了功耗;而當(dāng)EN端為高時(shí),寄存器排的時(shí)鐘被自動(dòng)打開(kāi),從而確保了電路的正常工作。當(dāng)EN越長(zhǎng)時(shí)間為低時(shí),功耗優(yōu)化效果會(huì)越明顯。
?
根據(jù)門控時(shí)鐘原理不難看出,門控時(shí)鐘的引入可以帶來(lái)如下好處:首先門控使能關(guān)閉時(shí),位于門控單元后面的時(shí)鐘不再翻轉(zhuǎn),因此節(jié)省了相應(yīng)的時(shí)鐘樹(shù)與觸發(fā)器上的時(shí)鐘功耗;其次,加入門控邏輯后,被門控的每個(gè)觸發(fā)器不再需要一個(gè)單獨(dú)的多路選擇器,因此進(jìn)一步減少了功耗和面積;第三,面積的縮小可以降低物理設(shè)計(jì)時(shí)的布線擁塞度,對(duì)芯片的時(shí)序會(huì)有所改善,意味著芯片性能的提升。但與此同時(shí)會(huì)增加門控單元的代價(jià)以及時(shí)鐘線的負(fù)載,并且?guī)?lái)了一系列與物理設(shè)計(jì)相關(guān)的問(wèn)題,包括時(shí)序分析、可測(cè)性設(shè)計(jì)和驗(yàn)證等[4]。
2 自動(dòng)門控時(shí)鐘技術(shù)的應(yīng)用問(wèn)題與解決方法
雖然自動(dòng)門控時(shí)鐘技術(shù)理論上可以有效降低芯片功耗,甚至同時(shí)達(dá)到提高性能和減少面積的效果,但在當(dāng)今EDA工具發(fā)揮重要作用的芯片設(shè)計(jì)流程中,還缺乏完備的支持。例如在中科SoC和聚芯SoC1000A兩個(gè)版本中,都沒(méi)有采用這種方法。如果依靠全定制設(shè)計(jì)來(lái)解決,就限制了ASIC設(shè)計(jì)流程對(duì)自動(dòng)門控方法的使用。
2.1 時(shí)序分析問(wèn)題
時(shí)序問(wèn)題是自動(dòng)門控時(shí)鐘技術(shù)使用過(guò)程中最棘手的問(wèn)題,其嚴(yán)重限制了這種技術(shù)的使用與推廣。本文分析了自動(dòng)門控時(shí)鐘潛在的時(shí)序問(wèn)題,并說(shuō)明非理想時(shí)鐘情況下,傳統(tǒng)方法仍然可能導(dǎo)致門控后的時(shí)鐘產(chǎn)生毛刺并針對(duì)工程實(shí)現(xiàn)給出解決方法。
圖2所示是一個(gè)基本的門控單元。由于與門(AND)在時(shí)鐘樹(shù)上,CLK傳遞到ENCLK的延遲變大,因此DATAIN數(shù)據(jù)推遲到達(dá)寄存器排的Q端,DATAOUT后面的組合電路將要在不足一個(gè)時(shí)鐘周期內(nèi)完成,從而造成時(shí)序緊張。這種時(shí)序緊張只可能導(dǎo)致性能的下降而不會(huì)造成錯(cuò)誤,但性能的下降也會(huì)帶來(lái)嚴(yán)重的后果。如圖3所示,EN由于其之前組合邏輯的作用產(chǎn)生一個(gè)毛刺(不足一個(gè)時(shí)鐘周期),此時(shí)經(jīng)過(guò)LATCH延遲delay時(shí)間后傳遞到ENL。假設(shè)CLK到達(dá)B點(diǎn)的延遲大于到達(dá)A點(diǎn)的延遲,即存在時(shí)鐘偏斜skew且大于delay,這樣ENCLK仍然會(huì)產(chǎn)生一個(gè)毛刺而不會(huì)被屏蔽,從而造成嚴(yán)重后果。
?
?
為了防止時(shí)鐘產(chǎn)生以上分析的毛刺,只要門控時(shí)鐘的建立時(shí)間和保持時(shí)間都得到滿足,ENCLK就不會(huì)出現(xiàn)毛刺,并且可以在理論上得到占空比為1的時(shí)鐘波形。因此只要對(duì)布線后網(wǎng)表的門控邏輯進(jìn)行精確的靜態(tài)時(shí)序分析(簡(jiǎn)稱STA)[4],就可以保證自動(dòng)門控時(shí)鐘技術(shù)的可靠性。在一個(gè)電路中,門控時(shí)鐘的建立時(shí)間和保持時(shí)間如何計(jì)算是一個(gè)復(fù)雜的過(guò)程,本文將針對(duì)Artisan 0.18 μm工藝進(jìn)行實(shí)驗(yàn)和分析。
2.2 可測(cè)性設(shè)計(jì)問(wèn)題
半導(dǎo)體在制造過(guò)程中可能帶入各類失效,例如材料的缺陷以及工藝偏差都可能導(dǎo)致芯片中電路的短路、斷路以及器件節(jié)點(diǎn)間穿通等問(wèn)題,而這樣的物理失效必然導(dǎo)致電路功能或者性能方面的故障。結(jié)構(gòu)化測(cè)試可以定位生產(chǎn)制造過(guò)程中的故障,并且確保連線、晶體管等基本成分生產(chǎn)制造的正確性。為此原始設(shè)計(jì)需要加入只在測(cè)試過(guò)程中才使用的測(cè)試邏輯,以便于高質(zhì)量測(cè)試向量的自動(dòng)產(chǎn)生,同時(shí)也提供診斷失效器件的高效率方法,通常稱這一過(guò)程為可測(cè)性設(shè)計(jì)(簡(jiǎn)稱DFT)[5]。
本文關(guān)注的主要內(nèi)容并不是DFT,但加入自動(dòng)門控而不對(duì)原有DFT進(jìn)行改動(dòng)則會(huì)影響設(shè)計(jì)的可測(cè)性。例如,在沒(méi)有加入自動(dòng)門控時(shí)鐘的設(shè)計(jì)中,所有觸發(fā)器鏈接成一條掃描鏈,它們的CLK端(時(shí)鐘端)與芯片時(shí)鐘直接相連,以促使測(cè)試數(shù)據(jù)的傳遞。而在加入自動(dòng)門控時(shí)鐘之后(如圖4所示),門控觸發(fā)器的CLK端并不與時(shí)鐘直接相連,當(dāng)其之前的門控使能信號(hào)EN為低時(shí),深色區(qū)域的電路將不具有可測(cè)性,從而影響掃描鏈的正常工作。當(dāng)然可以將這類觸發(fā)器從掃描鏈中刪除,但后果是部分電路的可控性和可觀察性都將降低,而當(dāng)這類觸發(fā)器占有相當(dāng)大數(shù)量時(shí),芯片的故障覆蓋率(Fault Coverage)將會(huì)大幅度降低。
?
2.3 面積問(wèn)題
自動(dòng)門控時(shí)鐘方法除了可以降低時(shí)鐘網(wǎng)絡(luò)的功耗,還可以減少綜合后邏輯的面積,這是因?yàn)殚T控時(shí)鐘方法可以消除大量反饋電路的多選器,取而代之的是一個(gè)LATCH和一個(gè)與門。表1列出Artisan 0.18 μm工藝庫(kù)中的一組真實(shí)的多選器、LATCH以及與門的面積。數(shù)據(jù)表明,如果使用該工藝庫(kù),兩個(gè)多選器的面積相當(dāng)于一個(gè)門控單元(含一個(gè)LATCH和一個(gè)與門)的面積。因此當(dāng)寄存器排中觸發(fā)器的數(shù)量即位寬(Bit Width)超過(guò)2時(shí),使用門控時(shí)鐘方法將減少面積,而當(dāng)位寬增大時(shí),面積減小的效果會(huì)更加明顯。
EDA工具提供了靈活的選項(xiàng)供設(shè)計(jì)者使用,用戶可以選定當(dāng)寄存器排中觸發(fā)器數(shù)量超過(guò)特定數(shù)值時(shí),才自動(dòng)插入門控時(shí)鐘單元。例如使用Artisan 0.18 μm庫(kù)時(shí),可以選擇當(dāng)寄存器排的位寬超過(guò)2時(shí),對(duì)該寄存器排插入門控。
2.4 等價(jià)性驗(yàn)證問(wèn)題
等價(jià)性驗(yàn)證比較RTL級(jí)與門級(jí)或門級(jí)與門級(jí)來(lái)保證設(shè)計(jì)沒(méi)有偏離初始的設(shè)計(jì)意圖。在一個(gè)典型的流程中,用戶經(jīng)常使用等價(jià)性驗(yàn)證比較RTL源碼與綜合后門級(jí)網(wǎng)表的邏輯功能等效性。這個(gè)過(guò)程通常用于整個(gè)設(shè)計(jì)周期,例如在掃描鏈插入、時(shí)鐘樹(shù)綜合、優(yōu)化、手工網(wǎng)表編輯等流程中,以便在流程的每一階段都能在門級(jí)維持原始的功能。這樣,在整個(gè)設(shè)計(jì)周期中就不再需要耗時(shí)的門級(jí)仿真,大幅度提高了設(shè)計(jì)和驗(yàn)證效率。
Formality是Synopsys公司推出的高性能、高速度的全芯片的形式驗(yàn)證工具[6],但是在自動(dòng)門控插入后,RTL源代碼與其門級(jí)網(wǎng)表不再等價(jià)。為此,需要在Formality環(huán)境中添加涉及門控時(shí)鐘插入的配置如下:
fm_shell>set verification_clock_Gate_hold_mode any
這樣,就可以精確得出RTL源代碼與其綜合而成的門級(jí)網(wǎng)表是否邏輯等價(jià)。
3 實(shí)驗(yàn)結(jié)果與分析
3.1 自動(dòng)門控時(shí)鐘技術(shù)的邏輯綜合與結(jié)果分析
選擇對(duì)聚芯SoC1000C的CPU核進(jìn)行實(shí)驗(yàn),這是因?yàn)槠涔谋戎刈畲螅ㄔ挤椒ㄟ_(dá)70%),時(shí)鐘單一(除接口模塊和EJTAG模塊之外整個(gè)CPU核只有一個(gè)時(shí)鐘),功耗優(yōu)化過(guò)程易于實(shí)現(xiàn)且效果明顯。為保證功耗分析的精度,實(shí)驗(yàn)采用Artisan公司0.18 μm工藝庫(kù)進(jìn)行綜合并進(jìn)行物理設(shè)計(jì),對(duì)帶有電容和延遲信息的門級(jí)網(wǎng)表進(jìn)行功耗計(jì)算。實(shí)驗(yàn)工具選用了工業(yè)界主流的EDA軟件:綜合選用Synopsys公司內(nèi)嵌Power Compiler的Design Compiler,仿真選用Cadence公司的NCVerilog,功耗計(jì)算選擇Synopsys公司的Power Compiler和Prime Power,物理設(shè)計(jì)選用Synopsys公司的Astro。
與自動(dòng)門控時(shí)鐘技術(shù)實(shí)現(xiàn)相關(guān)的綜合腳本如圖5所示,包含門控時(shí)鐘單元風(fēng)格的定義、最小位寬定義、門控相關(guān)的時(shí)序檢查、DFT信號(hào)的連接等命令。為保險(xiǎn)起見(jiàn),參考前述Hspice的仿真結(jié)果,將門控時(shí)鐘的建立時(shí)間和保持時(shí)間檢查保守地設(shè)為0.25 ns。
?
對(duì)聚芯SoC中除CPU核以外的其他部分的寄存器和可以門控的寄存器數(shù)量進(jìn)行了統(tǒng)計(jì)。由于CPU核中觸發(fā)器數(shù)量占整個(gè)聚芯SoC的一半以上,甚至超過(guò)PowerPC 405LP的門控觸發(fā)器比例(Power PC 405LP中CPU和其他部分分別為80%與50%[Nowka02]),所以這種方法的效果將會(huì)非常明顯,甚至可以超過(guò)PowerPC 405LP。
為了分析自動(dòng)門控時(shí)鐘技術(shù)芯片性能的影響,對(duì)比了原始版本和自動(dòng)門控時(shí)鐘版本(分別采用test_mode和scan_enable兩種不同DFT方式),綜合后的時(shí)序結(jié)果如表2所示。保持時(shí)間(hold time)通??梢栽诤蠖宋锢碓O(shè)計(jì)時(shí)加以考慮和解決,因此可以暫時(shí)忽略。就建立時(shí)間(setup time)而言,門控的兩個(gè)版本的時(shí)序結(jié)果都會(huì)略優(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è)計(jì)和功耗分析實(shí)驗(yàn)。在運(yùn)行Dhrystone測(cè)試下,整個(gè)聚芯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功耗相比,整個(gè)芯片仍然降低了43%的功耗。由于CPU采用了自動(dòng)門控時(shí)鐘技術(shù),功耗比例降低為整個(gè)芯片的47%,而內(nèi)部RAM所占的比例加大,這是由于自動(dòng)門控時(shí)鐘技術(shù)降低帶有觸發(fā)器的時(shí)鐘網(wǎng)絡(luò)功耗,但并沒(méi)有能夠有效降低RAM功耗。
?
本文以降低SoC中的時(shí)鐘網(wǎng)絡(luò)功耗為出發(fā)點(diǎn),分析了現(xiàn)有自動(dòng)門控時(shí)鐘技術(shù)的工作原理,并提出該技術(shù)在ASIC設(shè)計(jì)應(yīng)用過(guò)程中的困難,結(jié)合當(dāng)今EDA廠商提供的軟件特性,提出了相應(yīng)的解決方案,從事實(shí)上緩解了設(shè)計(jì)難度并提高了設(shè)計(jì)的可靠性。本文提出的解決方法在聚芯SoC1000C的CPU核中進(jìn)行實(shí)驗(yàn),結(jié)果表明,該方法可以使整個(gè)芯片的功耗降低43%以上。在今后的工作中,將進(jìn)一步考慮這種方法在復(fù)雜的多時(shí)鐘域設(shè)計(jì)中可能存在的問(wèn)題,并有望在聚芯SoC2000中得到進(jìn)一步應(yīng)用,從而大大降低SoC的時(shí)鐘功耗。此外,由于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é)位論文,中國(guó)科學(xué)院計(jì)算技術(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.