UPF低功耗設(shè)計_第1頁
UPF低功耗設(shè)計_第2頁
UPF低功耗設(shè)計_第3頁
UPF低功耗設(shè)計_第4頁
UPF低功耗設(shè)計_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Thursday,November18,2010基于IEEE1801(UPF)標準的低功耗設(shè)計實現(xiàn)流程Low-powerImplementationFlowBasedIEEE1801(UPF)郭軍,廖水清,張劍景華為通信技術(shù)有限公司AbstractPowerconsumptionisbecominganincreasinglyimportantaspectofASICdesign.Thereareseveraldifferentapproachesthatcanbeusedtoreducepower.However,itisimportanttousetheselow-powertechnol

2、ogymoreeffectivelyinICdesignimplementationandverificationflow.Inourlatestlow-powerchip,wecompletedfullimplementationandverificationflowfromRTLtoGDSIIsuccessfullyandeffectivelybyadoptingIEEE1801UnifiedPowerFormat(UPF).ThispaperwillfocusonUPFapplicationindesignimplementationwithSynopsyslowpowersolutio

3、n.Itwillhighlightthathowtodescribeourlow-powerintentusingUPFandhowtocompletethedesignflow.Thispaperfirstillustratescurrentlow-powermethodologyandUPFsconcept.Then,itdiscusUPFapplicationindetail.Finally,itgivesourconclusion.Keywords:IEEE1801,UPF,Low-Power,Shut-Down,PowerGating,Isolation,IC-Compiler摘要目

4、前除了時序和面積,功耗已經(jīng)成為集成電路設(shè)計中日益關(guān)注的因素。當前有很多種降低功耗的方法,為了在設(shè)計實現(xiàn)流程中更加有效的利用各種低功耗的設(shè)計方法,我們在最近一款芯片的設(shè)計實現(xiàn)以及驗證流程中,使用了基于IEEE1801標準UnifiedPowerFormat(UPF)的完整技術(shù),成功的完成了從RTL到GDSII的全部過程,并且芯片制造回來成功的完成了測試。本文就其中的設(shè)計實現(xiàn)部分進行了詳細探討,重點介紹如何用UPF把我們的低功耗意圖描述出來以及如何用Synopsys工具實現(xiàn)整個流程,希望給大家以啟發(fā)。本文先介紹目前常用的低功耗設(shè)計的一些方法特別是用power-gating的方法來控制靜態(tài)功耗以及U

5、PF的實現(xiàn)方法,然后闡述UPF在我們設(shè)計流程中的應(yīng)用,并在介紹中引入了一些我們的設(shè)計經(jīng)驗,最后給出我們的結(jié)論。關(guān)鍵字:IEEE1801,UPF,低功耗,電源關(guān)斷,Power-Gating,Isolation,IC-Compiler1.簡介1.1深亞微米設(shè)計面臨的挑戰(zhàn)隨著工藝特征尺寸的縮小以及復(fù)雜度的提高,IC設(shè)計面臨了很多挑戰(zhàn):速度越來越高,面積不斷增大,噪聲現(xiàn)象更加嚴重等。其中,功耗問題尤為突出,工藝進入130nm以下節(jié)點后,單位面積上的功耗密度急劇上升,已經(jīng)達到封裝、散熱、以及底層設(shè)備所能支持的極限。隨著工藝進一步達到90nm以下,漏電流呈指數(shù)級增加(如圖1所示),在某些65nm設(shè)計中,漏

6、電流已經(jīng)和動態(tài)電流一樣大,曾經(jīng)可以忽略的靜態(tài)功耗成為功耗的主要部分。功耗已成為繼傳統(tǒng)二維要素(速度、面積)之后的第三維要素。1WKT】強g2000sooi201020152020OaImh*aTficodofikSHKaxludof吃toovvi圖1:靜態(tài)功耗與工藝特征尺寸的關(guān)系另外,目前飛速發(fā)展的手持電子設(shè)備市場,為了增強自身產(chǎn)品的競爭力,也對低功耗提出了越來越高的要求;其次散熱問題、可靠性問題也要求IC的功耗越小越好;最后全球都在倡導綠色環(huán)??萍祭砟?,保護環(huán)境,節(jié)約能源。這些都要求IC設(shè)計時必須采用低功耗技術(shù),以有效應(yīng)對這些挑戰(zhàn)。12目前低功耗設(shè)計常用的方法如圖2所示,影響功耗的因素有電壓

7、、漏電流、工作頻率、有效電容等??梢酝ㄟ^降低工作電壓、減少翻轉(zhuǎn)負載以及降低電路翻轉(zhuǎn)率等來降低動態(tài)功耗;通過減少工作電壓以及減少漏二耳汐z+ck訂心禺stsliePowerDissipation口ynmmlc:PoerDlssipstlortTotalPowerDissipation一人MinimizekwiLcn*ReducingoperatingvoltageLewswilcliingcapLessswitchingactivityMinimize1by:-ReducingoperatingvoltageFewgileakingtransistors圖2:影響功耗的因素電流來降低靜態(tài)功耗。當

8、前,業(yè)界采用了各種方法來降低芯片的動態(tài)功耗和靜態(tài)功耗。如圖3所示,傳統(tǒng)的低功耗技術(shù)有時鐘關(guān)斷(Clock-Gating),多域值電壓庫(Multi-thresholdlibraries)等;較新的技術(shù)有多電壓(Multi-Voltage),電源關(guān)斷(MTCMOSPowerGating),帶狀態(tài)保持功能的電源關(guān)斷(PowerGatingwithStateRetention),動態(tài)電壓頻率調(diào)整(DynamicVoltageandFrequencyScaling),低電壓待機(Low-VddStandby)等。TraditionalTechniquesClockClcwckGatingDeutMur

9、ti-Thr?holdNominalV,AdvancedlechntquesMultbVohage(MV)MTCMOSPew科dmg(shutdowin(DVS,CWFS.AVrAVFS.I圖3:低功耗技術(shù)示例Low-vddStandby13控制靜態(tài)漏電的方法131電路優(yōu)化(Gate-levelOptimization)在設(shè)計實現(xiàn)過程中,自動化的綜合和布局布線工具可以根據(jù)電路的時序特征,來綜合優(yōu)化每條路徑中用到的所有標準單元的時序,面積以及功耗。根據(jù)負載將非關(guān)鍵路徑中的標準單元切換到具有較小驅(qū)動能力的單元,由于輸出電容減小,可以減小動態(tài)功耗;同時,由于標準單元MOS管和電容變小,靜態(tài)漏電流也同

10、時減小。除了變化驅(qū)動能力之外,還可以通過優(yōu)化電路中的邏輯單元、移動單元物理位置等方法來達到降低功耗的目的。132多域值電壓庫(Multi-Threshold)如圖4所示,高域值電壓的標準單元漏電流小但速度慢,低域值電壓的標準單元則速度快但漏電流大。所以采用多域值電壓庫作為設(shè)計實現(xiàn)的目標庫,在設(shè)計中盡可能多地用高域值電壓的標準單元,僅在關(guān)鍵路徑上為了滿足時序要求采用低域值電壓的標準單元,這樣就可以最大限度地減小標準單元的漏電流,從而降低靜態(tài)功耗。Multi-ThresholdDelay圖4:漏電流、單元速度與閾值電壓三者之間的關(guān)系1.3.3電源關(guān)斷(Power-Gating)芯片中某些模塊在不工

11、作時,可以關(guān)斷其電源,在需要工作時,再將其電源導通,這就是電源關(guān)斷技術(shù)。它可以使電源關(guān)斷區(qū)域的漏電流降至接近零,極大的減小芯片的靜態(tài)功耗?,F(xiàn)在電源關(guān)斷的技術(shù)也很多,有片內(nèi)關(guān)斷、片外關(guān)斷。顧名思義,片外關(guān)斷就是在芯片外部通過切斷電源來關(guān)斷芯片內(nèi)部的某些模塊。片內(nèi)關(guān)斷又分為精細關(guān)斷(fine-grain)和粗糙關(guān)斷(coarse-grain),精細關(guān)斷需要特別庫的支持,可以實現(xiàn)每個標準單元的精細關(guān)斷;而粗糙關(guān)斷只需要一些門控單元就可以實現(xiàn)對某些模塊的電源或地的控制,如圖5所示,用pmos來控制電源,用nmos來控制地。SLEEPnSLEEP圖5:電源關(guān)斷(Power-Gating)的原理圖2.UP

12、F的設(shè)計實現(xiàn)流程IEEE1801標準UnifiedPowerFormat(UPF)是一個真正意義統(tǒng)一的,被廣泛采用的低功耗實現(xiàn)標準。它用一些標準的語句描述用戶的低功耗設(shè)計意圖(PowerIntent)。如圖6所示,有了這樣一個統(tǒng)一的UPF文件,邏輯綜合、物理實現(xiàn)、仿真驗證、等效性檢查以及最后的sign-off流程就可以按照UPF中對低功耗設(shè)計意圖的描述來完成整個IC設(shè)計實現(xiàn)驗證流程。這樣貫穿于整個流程的低功耗意圖來源于同一個文件,這種一致性可以大大降低低功耗設(shè)計的風險性。并且UPF對低功耗設(shè)計提供了開放的,多廠商工具支持的流程和解決方案。眾多支持UPF標準的EDA供應(yīng)商的產(chǎn)品證明了它是一個互操

13、作性強的標準。UPFnVerificationVFormalVerificationSign-OffPhysicalIrnplmentatjon圖6:UPF的應(yīng)用流程2.1Synopsys基于UPF的低功耗設(shè)計流程Synopsys公司提供了完整的基于UPF的低功耗綜合、物理實現(xiàn)和驗證流程,如圖7所示。該流程始于寄存器傳輸級(RTL)描述的邏輯設(shè)計,加上一個獨立的描述低功耗設(shè)計意圖的UPF文件。RTL和UPF描述分別放在獨立的文件中,使他們可以單獨維護和修改。在這個示例中,最初的UPF文件標志為UPF。=c(jjva!erceCheckingTiming/PawerSignoffJTriplem

14、entalianFoiTiEitilyFo-insltyFunctionalVerification,UPFVC3WMVSIIMVRCDesignCompilerPowerCompilerPrimeTimePnmeTimePXVCSNfMVSIMPrimeTmeTG呂怕PrimeTmePXrup-HcmaityICCurnpileiMVRCPrimeRail圖7:UPFFlowWithSynopsysToolsDesignCompiler讀入RTL和初始UPF描述文件,基于它們綜合出門級網(wǎng)表并產(chǎn)生一個更新了的UPF文件,這個DesignCompiler輸出的UPF文件在示例圖中標志為UPF。U

15、PF文件中包含了原始UPF文件的內(nèi)容,并添加了綜合時加入的對某些特殊cell(比如isolationcells、levelshifters)的電源和地的連接關(guān)系。綜合輸出的門級網(wǎng)表已經(jīng)被工具根據(jù)UPF的相應(yīng)描述插入了一些低功耗所需的特殊電路單元,比如Level-Shifter,Isolationcells,RetentionRegister等。ICCompiler讀入綜合輸出的門級網(wǎng)表和UPF描述文件,基于它們進行物理實現(xiàn),包括:布局和布線以及電源關(guān)斷特殊單元(Power-Gatingcell)的插入、擺放和控制信號線的連接等步驟。輸出一個新的門級網(wǎng)表,一個包括所有cell的電源和地連接關(guān)系的

16、網(wǎng)表(俗稱pg網(wǎng)表),以及一個更新了的UPF文件,標志為UPFoUPF文件包含了UPF的內(nèi)容,并添加了在物理實現(xiàn)階段對低功耗電路結(jié)構(gòu)的改變,比如添加了PowerSwitches(俗稱MTCMOS)的連接關(guān)系。這個flow中產(chǎn)生的數(shù)據(jù)可以用于做功能仿真(利用MVSIM、VCS),插入的低功耗單元的正確性檢查(利用MVRC),形式驗證(利用Formality),以及時序功耗檢查(利用PrimeTime-PX)和電壓降(IR-Drop)(利用PrimeRail)的驗證。VCS仿真器和MVSIM多電壓仿真工具可以在幾個階段用來做多電壓的功能仿真:RTL級,綜合后加入了低功耗相關(guān)器件(比如Isolati

17、oncell)的門級,以及PR之后加入了PowerSwitches的門級。MVRC用于檢查多電壓設(shè)計的規(guī)則是否正確實現(xiàn),包括電源連接關(guān)系、電源結(jié)構(gòu)、電源一致性等等,也適用于流程中的各個步驟。PrimeTime讀入DC或ICC輸出的門級網(wǎng)表以及對應(yīng)的UPF文件。它利用UPF文件中的信息建立一個虛擬的電源網(wǎng)絡(luò)模型,并將電壓值反標到每個器件的電源端口,進行帶電源信息的時序檢查。PrimeRail是基于帶UPF信息的版圖進行電壓降以及電遷移的分析。如果設(shè)計中有電源關(guān)斷單元,它還可以分析相關(guān)關(guān)斷電路的瞬態(tài)電流以及動態(tài)的電壓降分布。來幫助判斷這些電源關(guān)斷單元是否插入合理以及是否需要插入De-cap單元。2

18、2UPF所需要的特殊單元庫基于UPF的設(shè)計流程與傳統(tǒng)流程相比,需要一些庫中特殊單元的支持以及對傳統(tǒng)的DB時序庫添加電源地的信息。特殊單元包括Level-shifter,IsolationCell,電源關(guān)斷單元(PowerGating,也叫MTCMOS),Retention-Register,以及Always-on單元。下面分別闡述:Level-Shifter和IsolationCell對于多電壓設(shè)計,需要用Level-shifter來實現(xiàn)不同電壓域之間信號的電平轉(zhuǎn)換。根據(jù)信號電平由高到低和由低到高的轉(zhuǎn)換,Level-shifter分為兩類,其結(jié)構(gòu)分別如圖8和圖9所示。VDDLUU圖8:High

19、toLowLevel-shifters圖9:LowtoHighLevel-shifters對于電源關(guān)斷技術(shù),電源關(guān)斷區(qū)域的輸出信號在電源關(guān)斷時處于不定態(tài),這種不定態(tài)會導致其負載單元出現(xiàn)內(nèi)部電流,從而導致不期望的功耗。所以需要在電源關(guān)斷區(qū)域的輸出信號上插入IsolationCell來實現(xiàn)對不定態(tài)的隔離。Isolationcell根據(jù)鉗位值不同分為與型和或型結(jié)構(gòu),其結(jié)構(gòu)如圖10所示。ISOLNiS0UTEDSfGNALCLAMPED(LOW)CLOMPED(HIGH)圖10:BasicIsolationCellsPower-Gatingcell,Retention-Register和Always-

20、on單元對于電源關(guān)斷技術(shù),需要Power-GatingCell(也稱MTCMOS)來實現(xiàn)電源的關(guān)斷??梢赃x擇斷開電源(VDD)或地(VSS)的連接來實現(xiàn)Power-Gating,這兩種Power-GatingCell被形象的稱為Header-Switch和Footer-Switch。它們的結(jié)構(gòu)如圖11所示。圖11:BasicHeader-SwitchstructureandFooter-Switchstructure在電源關(guān)斷模塊有可能要求register對關(guān)斷前的數(shù)據(jù)進行鎖存或者在電源打開后要求對鎖存的數(shù)據(jù)進行恢復(fù),這就需要特殊的單元Retention-Register。如圖12所示,它有兩

21、個電源,一個用于模塊電源未關(guān)斷時的工作用電,一個用于模塊電源關(guān)斷時的用電。它還有兩個控制信號save和restore,用于控制是否鎖存數(shù)據(jù)或者恢復(fù)數(shù)據(jù)。VDDon/off_LVDDBACKUPsaveaShutDown圖12:Retention-Register在電源關(guān)斷模塊還有可能需要有些信號線或邏輯長期工作,比如MTCMOS單元的控制信號線,Retention-register的save/restore控制信號,isolationcell的控制信號等。為了實現(xiàn)這種功能,這就需要另外的特殊單元叫always-oncello如圖13所示。圖13Aways-on單元的應(yīng)用場合223PGlibra

22、ry的準備除了上述這些特殊單元外,UPF流程的實現(xiàn)還需要用到的logicallibraryCdb庫)是帶PG(Power&Ground)信息的,與傳統(tǒng)流程相比要多出下面與PG相關(guān)的信息:pg_pin的名稱,pg_pin的類型(如primary,backup等);每個信號管腳(signalpin)與pg_pin的對應(yīng)關(guān)系;每個輸出信號管腳中power_downJunction的定義;每個pg-pin的電壓數(shù)值。有了上述信息,工具就可以根據(jù)UPF里面的描述自動地完成電源網(wǎng)絡(luò)的連接,電源關(guān)斷電路的驗證,基于UPF里面電源狀態(tài)表的綜合和優(yōu)化,以及最后輸出帶PG信息的網(wǎng)表的驗證等。其直接帶來的好處就是使

23、得流程更完整,更簡單,更自動化。由于UPF應(yīng)用還不是很普及,F(xiàn)oundry及第三方IP提供商目前提供的db庫基本上還沒有完全更新到帶PG信息的版本,所以需要用戶在使用前先轉(zhuǎn)換。ICC和DC都提供了轉(zhuǎn)換PGdb庫的命令:add_pg_pin_to_db,可以將不帶PG信息的db庫轉(zhuǎn)換成帶PG信息的db庫。ICC0809以上版本還提供了add_pg_pin_to_lib命令,可以將不帶PG信息的lib庫轉(zhuǎn)換成帶PG信息的lib庫,這樣可以更清晰的知道PG庫中具體都添加了什么信息。3UPF在本芯片設(shè)計實現(xiàn)中的應(yīng)用本款芯片的設(shè)計實現(xiàn)以及驗證流程完全采用了如圖7中所示的所有Synopsys工具,并且所有

24、實現(xiàn)和驗證流程都使用了基于IEEE1801標準UnifiedPowerFormat(UPF)的完整技術(shù),成功的完成了從RTL到GDSII的全部過程,并且芯片制造回來成功的完成了功能測試以及低功耗測試。本篇文章著重介紹實現(xiàn)流程中基于UPF的應(yīng)用,對于驗證流程的應(yīng)用我們不作介紹。在實現(xiàn)過程中我們主要完成了下列工作,如圖14所示。prepareprepareUPFRTLSyntliesisDesignCompiler)RtlFormalCheck-2UPFUPF1OFT(OFTCompiler)Floorplan+P&RR#tFormalCheck4UPFfilePGlibraiy(UPFPG)Im

25、pTiming,SIPov/er;IR-Drop!伽曲(Star-FCXT.PT-PX,P幷師cPaiLMP.Cj圖14:本芯片實現(xiàn)流程圖PGlibrary的準備;UPF文件的準備;有了UPF以及PGlibrary,先用DesignCompiler對RTL綜合,綜合后產(chǎn)生的netlist里面就包含了low-power設(shè)計中除了電源關(guān)斷單元(MTCMOS)之外的所有的特殊cell,女如:level-shifter,isolationcell等等;綜合完成后,作了DFT的工作,在這一步驟如果DFT設(shè)計中要引入一些特殊單元,工具會自動插入;DFT之后我們在IC-Compiler完成了所有的布局布線工

26、作,包括:整體規(guī)劃(floorplan),電源關(guān)斷單元MTCMOS的插入、布局以及控制信號的連接,電源網(wǎng)絡(luò)綜合和分析,布局,時鐘樹綜合,布線以及最后一些提高良率方面的工作。布局布線完成后,我們還對timing,SI,Power,IR-DROP等進行了Sign-off分析。在流程中經(jīng)過每一步我們都用formality對包含了UPF的設(shè)計作了形式驗證,既保證了功能的一致性,也保證了含有低功耗信息的實現(xiàn)一致性。下面我們對每一步驟進行詳細介紹,其中PGlibrary的準備在2.2章節(jié)中已經(jīng)作了介紹,這里就不再說明。3.1本芯片中用到的lowpower設(shè)計意圖在我們最近的這款芯片中,采用了時鐘關(guān)斷(Cl

27、ock-Gating),多域值電壓庫(Multi-thresholdlibraries),電源關(guān)斷(MTCMOSPowerGating),低電壓待機(Low-VddStandby)等低功耗技術(shù)。圖15和圖16分別是芯片電源分區(qū)拓撲圖和floorplan截圖,芯片劃分成3個powerdomain,分別為PD_1、PD_2、PD_TOP。其中PD_1是掉電區(qū),PD_2是降壓區(qū),PD_TOP是常開區(qū);PD_2的hierarchy嵌套在PD_1內(nèi)部,當PD_1掉電時,PD_2可以降壓保持數(shù)據(jù)即可。VDD和VDD_2是芯片外部提供的兩個電源,分別提供給PD_TOP和PD_2;而VDD_1是PD_1的內(nèi)部

28、電源,由VDD經(jīng)過MTCMOS產(chǎn)生,可以通過控制MTCMOS關(guān)斷使PD_1掉電。在進行芯片設(shè)計之前,我們要先對芯片的低功耗意圖用UPF描述出來,下面的章節(jié)做詳細的闡述。掉電區(qū)降圧區(qū)圖15:芯片電源分區(qū)拓撲圖圖16:芯片floorplan截圖32用UPF對本芯片設(shè)計意圖的描述在UPF中,包含了所有對low-power設(shè)計意圖的描述,比如:芯片中有哪些相對獨立的電源模塊;每個電源模塊中用到哪些電源或地;如果有電源關(guān)斷模塊的話還要描述其關(guān)斷的方式及控制;每一個電源的各種工作模式(工作電壓或是否關(guān)斷);特殊單元的規(guī)劃等。下面章節(jié)將根據(jù)本芯片中用到的low-power意圖(如圖15和圖16所示)分別介紹

29、如何用UPF描述這些意圖。3.2.1UPF對PowerDomain的描述在UPF中,首先要對所有的Powerdomain進行定義。先設(shè)定頂層的powerdomain,然后描述PD_1和PD_2這兩個powerdomain。如下所示:#powerdomaindefinitionscreate_power_domainPD_TOP-include_scopecreate_power_domainPD_1-elementsBLOCKAcreate_power_domainPD_2-elementsBLOCKBUPF對PowerNetwork的描述然后根據(jù)電源分區(qū)拓撲圖,要清晰地描述各個powerdo

30、main里面的電源網(wǎng)絡(luò)(PowerNetwork),如下所示,詳細的定義了每個domain里面的電源線的名稱以及和芯片原始電源輸入端口的連接關(guān)系。supplynetsdefinitionscreate_supply_netVDD-domainPD_TOPcreate_supply_netVDD-domainPD_1-reusecreate_supply_netVDD_2-domainPD_TOPcreate_supply_netVDD_2-domainPD_1-reusecreate_supply_netVDD_2-domainPD_2-reusecreate_supply_netVDD_1-

31、domainPD_1create_supply_netVSS-domainPD_TOPcreate_supply_netVSS-domainPD_1-reusecreate_supply_netVSS-domainPD_2-reuse#definetheprimarypower/groundforpowerdomainsset_domain_supply_netPD_TOP-primary_power_netVDD-primary_ground_netVSSset_domain_suupply_netPD_1-primary_power_netVDD_1-primary_ground_netV

32、SSset_domain_supply_netPD_2-primary_power_netVDD_2-primary_ground_netVSSpowerportsdefinitionscreate_supply_portVDD-domainPD_TOP-directionincreate_supply_portVDD_2-domainPD_TOP-directionincreate_supply_portVSS-domainPD_TOP-directionin#connectthesupplynettopowerportconnect_supply_netVDD-portsVDDconnec

33、t_supply_netVDD_2-portsVDD_2connect_supply_netVSS-portsVSS323UPF對PowerGating的描述本設(shè)計中含有電源關(guān)斷模塊,需要在UPF中定義電源關(guān)斷單元(PowerGatingcell),描述該單元的電源輸入輸出,以及控制信號的連接。如下所示。create_power_switchSW1-domainPD_1-output_supply_portVDD_OUTVDD_1一input_supply_portVDD_INVDD一control_portPW_CTRLpd1_pw_en-on_statePW_ONVDD_INPW_CTRL

34、-ack_portPW_ACKpd1_pw_ack該條命令中VDD_1是VDD經(jīng)過該單元后的電源名稱,pd1_pw_en是控制信號,當該控制信號為高的時候,VDD_1接通VDD使電路處于開啟狀態(tài)。除了該控制信號,該單元還輸出一個叫pd1_pw_ack的響應(yīng)信號。至于如何在物理上實現(xiàn)PowerGatingcell的插入以及控制信號的連接,這個要在ICCompiler里面完成,后面的章節(jié)里面有詳細的介紹。3.2.4UPF對Isolation的描述因為芯片中有關(guān)斷模塊,從功能上為了處理模塊關(guān)斷后信號輸出的穩(wěn)定性,還需要增加關(guān)斷電源模塊處于關(guān)斷時如何插入isolation單元的描述。如下所示,以PD_

35、1的邊界信號定義為例:指定其所有輸入信號都不插入isolationcell,輸出信號默認插入箝位到0的isolationcell,對其中兩個特殊信號插入箝位到1的isolationcello并且定義了Isolationcell的控制信號,以及插入的位置是在PD_TOPdomainoset_isolationpd1_iso_in-domainPD_1-no_isolation-applies_toinputsset_isolationpd1_iso_low-domainPD_1-isolation_power_netVDD-isolation_ground_netVSS-clamp_value0

36、-applies_tooutputssetisolationcontrolpd1isolow-domainPD1-isolationsignalisoen-isolationsensehigh-locationparentset_isolationpd1_iso_high-domainPD_1-isolatioin_power_netVDD-isolation_ground_netVSS-elementsBLOCKA/pin1BLOCKA/pin2-clamp_value1set_isolation_controlpd1_iso_high-domainPD_1-isolation_signal

37、iso_en-isolation_sensehigh-locationparent325UPF對PowerState的描述在UPF里面,還有一個非常重要的部分,那就是描述電源狀態(tài)表(PowerStateTable),簡稱PST,也就是說要描述各個電源有哪些工作模式。有了這個表格,工具就可以判斷是否需要在各個電源模塊之間插入特殊的單元。本芯片共有三種工作模式,pst_pd1_ON是正常模式,三個domain都是1.2V供電;pst_pd1_OFF是掉電模式,PD_1掉電,其他兩個domain是1.2V供電;pst_pd2_LOW是掉電降壓模式,PD_1掉電,PD_2降壓到0.8V供電,僅保持數(shù)據(jù)

38、。add_port_stateVDD-stateNOR_VOL1.2add_port_stateVDD_1-stateNOR_VOL1.2add_port_stateVDD_1-stateOFF_VOLoffadd_port_statteVDD_2-stateNOR_VOL1.2add_port_stateVDD_2-stateLOW_VOL0.8create_pstop_pst-supplieslistVDDVDD_1VDD_2add_pst_statepst_pd1_ON-psttop_pst-stateNOR_VOLNOR_VOLNOR_VOLadd_pst_statepst_pd1_O

39、FF-psttop_pst-stateNOR_VOLOFF_VOLNOR_VOLadd_pst_statepst_pd2_LOW-psttop_pst-stateNOR_VOLOFF_VOLLOW_VOL完整的UPF請參考附件7.1o33UPF在DesignCompiler中的應(yīng)用根據(jù)圖14中的流程介紹,UPF準備好就可以進行綜合和DFT的工作了。在這一步,Isolationcell、levelshifters、RetentionRegisters等特殊單元都要正確的實現(xiàn)插入,而且也要插入clockgating來優(yōu)化動態(tài)功耗以及用多個閾值電壓的庫來優(yōu)化靜態(tài)功耗。如圖17所示,在DC中,首先把所

40、有不同閾值電壓的標準單元庫都設(shè)置到target_library以及l(fā)ink_library里面去,工具在綜合優(yōu)化的時候,就可以根據(jù)路徑上timing的是否關(guān)鍵來盡量平衡標準單元速度與靜態(tài)功耗的關(guān)系,關(guān)鍵路徑上,盡量選擇低閾值電壓/速度快的單元,但在非關(guān)鍵路徑上,就盡量選擇高閾值電壓/靜態(tài)功耗小的單元。在讀入RTL后,需要用load_upf的命令讀入UPF文件,然后在compile時,工具會根據(jù)UPF的設(shè)置,自動插入Isolationcell、levelshiftersRetentionRegisters等特殊單元(在我們這個設(shè)計中,僅需插入Isolationcells),并正確連接這些特殊單元

41、的控制信號。*checmvjeigncanbepedormedbetweendifferentdesignstages另外,為了優(yōu)化動態(tài)功耗,我們在綜合階段讓DC自動插入了ClockGating。設(shè)置也很簡單,只要在compile_ultra命令后面加上clock_gating的選項就可以了。SftupmumpkHbrahKLoadaUP俺intoth*dKlgndtMVcontltaintsRuncenvlli.ultrRunOFTInsertionPerformtncnnxrrtakQinplhWj(toutthedhndta圖17:UPFflowinDesignCompiler綜合完成后

42、,除MTCMOS沒有插入外,其他特殊單元都已經(jīng)按UPF描述的設(shè)計意圖插入并連接。綜合后我們還要插入DFT相關(guān)結(jié)構(gòu),再做一個增進式的優(yōu)化。在這兩個過程中,如果DFT引入的電路根據(jù)UPF的要求需要插入特殊單元的話,工具會自動判斷并在insert_dft或者compile命令執(zhí)行的時候自動插入。比如,DFT插入的掃描鏈從電源關(guān)斷模塊連接到了其它非關(guān)斷模塊,這個時候根據(jù)UPF里面的規(guī)定,從關(guān)斷區(qū)到非關(guān)斷區(qū)要經(jīng)過isolationcell的過渡,工具會自動判斷到這一點,在需要的地方插入這些單元。在綜合和DFT的各個階段,可以利用DC提供的命令check_mv_design對低功耗設(shè)計進行規(guī)則檢查,確保沒

43、有違反UPF里面定義的相關(guān)規(guī)則。最后,DC輸出網(wǎng)表和UPF。也可以直接輸出DDC或者直接寫入到Milkyway數(shù)據(jù)庫里面去,這兩種方式都包含了網(wǎng)表和UPF信息,可以直接作為物理實現(xiàn)工具ICC的輸入。在綜合前后我們都用Formality對輸入和輸出的RTL或netlist進行了帶UPF的比對,以確保每一步驟電路在形式上沒有發(fā)生改變。34UPF在ICCompiler中的應(yīng)用s/)S圖18:UPFflowinICCompilerICCompiler的UPF流程如圖18所示,可以直接用DC輸出的mw庫或ddc文件,里面已經(jīng)包含了UPF信息。我們采用的是讀入網(wǎng)表加UPF的方式。首先我們需要在讀入veri

44、log網(wǎng)表以后,把UPF文件導入到ICC中:load_upf$ICC_IN_UPF_FILE讀入netlist以及upf后就可以作整體規(guī)劃(floorplan)了,在這個階段主要有下面的工作:在floorplan之前,要正確設(shè)置芯片的工作條件(operating_condition)以及用set_voltage命令對所有的電源和地設(shè)置正確的工作電壓值。工具會根據(jù)這些設(shè)置來選擇正確的單元進行時序計算。讀入UPF之后,ICC已經(jīng)知道設(shè)計中有哪些powerdomain以及每個powerdomain里面有哪些電源、地。但這個時候ICC還沒有把各個powerdomain里面所有cell中電源、地的端口與

45、UPF里面定義的電源、地連接起來。需要運行下面的命令,所有powernet會根據(jù)UPF中的描述自動創(chuàng)建,所有cells的電源也會根據(jù)UPF中的描述自動連接:derive_pg_connection一create_netderive_pg_connection-reconnect另外derive_pg_connection命令在ICC每一次優(yōu)化后都要執(zhí)行一次,以對新加入的cell進行電源、地的連接。UPF里面雖然已經(jīng)有了powerdomain的定義,但在物理上這些不同的電源域還沒有固定的位置和形狀。這就需要創(chuàng)建voltagearea,每一個powerdomain都對應(yīng)一個voltagearea。

46、但如何根據(jù)UPF文件中描述的powerdomain創(chuàng)建VoltageArea呢?我們這里也有些經(jīng)驗,在創(chuàng)建voltagearea之前,我們可以用ICC里virtual-flatplacement對全芯片進行一個快速的布局,然后根據(jù)布局的結(jié)果就可以知道與各個電源域相對應(yīng)的各個模塊的大體物理分布,從而幫助我們在這些區(qū)域來創(chuàng)建相應(yīng)的voltagearea。在UPF里面定義了三個powerdomain(PD_TOP,PD_1和PD_2),不過對于PD_TOP,ICC會自動的創(chuàng)建一個默認的VoltageArea(DEFAULT_VA),對于另外兩個Powerdomain,我們利用create_volta

47、ge_area命令創(chuàng)建VoltageArea。Voltagearea的位置確定了,但其形狀也與很多因素有關(guān),可以是矩形也可以是多邊形,總之,其位置和形狀的最后確定可能會經(jīng)過一些反復(fù),因為這與設(shè)計最終布局布線的結(jié)果息息相關(guān),創(chuàng)建不好,可能影響設(shè)計的時序,也可能影響設(shè)計的布線等。所有voltagearea都創(chuàng)建好后,就可以對關(guān)斷電源區(qū)域插入電源關(guān)斷單元(powergatingcell)了。在我們這個設(shè)計里,PD_1是電源關(guān)斷域,需要在這個電源模塊里面插入MTCMOS(powergatingcell)。在插入之前,用map_power_switch命令指定要使用的MTCMOS單元名稱及相對應(yīng)的pow

48、erdomain名子。然后用add_header_footer_cell_array命令按指定的陣列插入MTCMOS單元,如圖19所示。設(shè)計中有可能因為voltagearea形狀的原因或者因為macro的影響,可能要求按不規(guī)則陣列插入MTCMOS單元,可以通過多個add_header_footer_cell_array命令疊加來實現(xiàn),或者手動移動MTCMOS的位置,然后再將其位置固定。如圖22所示,在我們的設(shè)計中電源關(guān)斷區(qū)域就有個非常大的macro,為了照顧這個大macro上的供電充足,我們就在其周圍插入了密度比較大的MTCMOS單元。所以MTCMOS的插入和擺放跟整體規(guī)劃中voltagear

49、ea以及屬于這個區(qū)域的macro的規(guī)劃都有緊密關(guān)系。我們使用的是有一組控制信號(NSLEEPIN和NSLEEPOUT)的MTCMOS單元,其結(jié)構(gòu)如圖20所示:NSLEEPIN是MTCMOS打開或者關(guān)斷的控制輸入信號,NSLEEPOUT是NSLEEPIN信號經(jīng)過MTCMOS單元后輸出的響應(yīng)信號。這些控制和響應(yīng)信號在MTCMOS插入后還需要把他們都互相連接起來。連接的方法也有很多種,我們采用的是鏈狀的連接方法。如圖21所示。ICC提供了命令connectpowerswitch來自動的實現(xiàn)這個功能。NSLEEPINCOLlffdNtCOLUMN2COLLI帖M3VaTVDDVDDVSSNSLEEPC

50、OLUMNPITCHNSLEEPOUT圖19ColumnplacementofMTCMOScells圖20:Singleinputheadercontrolsignalconnections圖21:MTCMOScellschainconnections最后,MTCMOS單元在版圖中的位置及控制信號連接關(guān)系如圖22所示:圖22:MTCMOSplacementinthelayoutmap現(xiàn)在voltagearea已經(jīng)創(chuàng)建,MTCMOS單元也已經(jīng)擺放連接好了。下一步就開始做powerplan了,也就是電源網(wǎng)絡(luò)的規(guī)劃。由于VSS在每個powerdomain都是一樣的。所以三個powerdomain的V

51、SSmesh是連在一起。TrueVDD(VDD)在所有的powerdomain都會用到,所以在每個powerdomain都需要加上powermesh。而在掉電區(qū)PD_1,VDD通過MTCMOS得到VDD_1,由VDD_1來給掉電區(qū)供電。所以VDD_2在PD_2和VDD_1在PD_1的powermesh不能連接到一起。ICC里面提供一個自動的電源網(wǎng)絡(luò)綜合的功能,用戶可以告訴工具一些電源網(wǎng)絡(luò)的約束以及要達到的電壓降的目標,工具就可以自動產(chǎn)生符合要求的電源網(wǎng)絡(luò)。而且,它是支持帶MTCMOS的綜合,也可以一次綜合多個電源、地。用戶只要根據(jù)產(chǎn)生的電源網(wǎng)絡(luò)作些精細的修改就可以了。電源網(wǎng)絡(luò)做好后,還要把MT

52、CMOS的輔助電源連接好,如圖23所示。連接輔助電源的方法主要有兩種:一種是在“True”PG正好在MTCMOS上方的情況下,可以用create_preroute_vias命令來直接用過孔把MTCMOS的電源端口與True”PG連接起來;另一種就是如果“True”PG不在MTCMOS上方,那就要用preroute_standard_cells命令里net連接的模式物理連接起來。至此,所有的電源、地網(wǎng)絡(luò)都連接好了,還可以借用ICC提供的PNA(PowerNetworkAnalysis)的功能對包含MTCMOS的電壓降進行分析,以幫助判斷MTCMOS單元數(shù)量是否足夠以及其位置是否合理。圖23:MT

53、CMOS輔助電源的連接如果voltagearea位置形狀、macro的擺放以及電源網(wǎng)絡(luò)都合理了,而且用check_mv_design來檢查低功耗的規(guī)則還有電源、地的連接都沒有問題了,floorplan階段的工作也就結(jié)束了。自此,設(shè)計中所有因為低功耗設(shè)計要引入的新的cell都已經(jīng)插入到設(shè)計中了。在綜合及DFT階段插入了isolationcell,在floorplan階段我們又插入了MTCMOS。Floorplan結(jié)束后,ICC里面的布局、時鐘樹綜合以及布線都和傳統(tǒng)非UPF流程沒有太大區(qū)別了。這些步驟工具都是可以自動理解low-power要求的,并會自動把isolation單元放到相對應(yīng)的volt

54、agearea的邊界。在我們這個設(shè)計中,我們還用到了ICC對動態(tài)功耗和靜態(tài)功耗的電路優(yōu)化能力,只要把相應(yīng)開關(guān)打開工具就可以自動進行電路方面的功耗優(yōu)化了。同樣,在各個階段都可以通過check_mv_design命令來檢查是否有違反低功耗設(shè)計規(guī)則。自此,在ICC里面的主要工作就結(jié)束了,為了給sign-off工具提供數(shù)據(jù),我們還要寫出帶PG信息的netlist以作理解low-power的形式驗證、要寫出最后的UPF以及不帶PG信息的netlist以作最后的時序、SI及功耗分析。PrimeRail作IR-drop分析可以直接讀取Milkyway的設(shè)計庫。Star-rcxt作參數(shù)提取也可以直接讀取Mil

55、kyway的設(shè)計庫。35經(jīng)驗介紹在上一節(jié)中已經(jīng)介紹了一些物理實現(xiàn)的經(jīng)驗,比如如何確定VoltageArea的位置和形狀,如何合理擺放MTCMOS等等。下面再就我們在實現(xiàn)過程中遇到的一些問題,以及一些需要注意的地方,在這里和大家分享:UPF里面特殊cell的控制信號(比如Isolationcell和MTCMOS的控制信號)最好定義在leafpin上,不要定義在hierarchypin上,否則ICC可能不能正確的識別該控制信號。DFT設(shè)計階段會在UPF里定義的特殊cell的控制信號上插入mux,用于測試時控制這些信號,如果UPF里面定義的控制信號在插入的mux之前,則ICC也會找不到這些特殊cel

56、l的控制信號。比如Isolationcell的控制信號,如圖24所示,UPF中本來定義的Isolationcell控制信號是func_iso_en,但是加了DFTmux之后,UPF中就需要將Isolationcell的控制信號定義在iso_en上才行。dft_scan_enablefunc_iso_enisoen關(guān)于Isolationcell的插入有一個需要注意的問題,powerdomain的某些接口信號在網(wǎng)表中可能是直接接電源或地的,如果在這些信號上插入了Isolationcell,在ICC中不能正確derive出這些Isolationcell的power連接關(guān)系。會報.告這樣的告警Thei

57、solationcellxxxdoesnothaveanyassociatedUPFisolationstrategy”。解決的方法就是在UPF中指定對這些信號不要插入Isolationcell,或者在ICC中直接指定這些Isolationcell的電源和地。需要在VoltageArea的邊界用hardblockage留出足夠的間隙或者在創(chuàng)建voltagearea的時候加上guard_band的選項,工具就不會在這些區(qū)域擺放cell,否則如果voltagearea邊界內(nèi)外cell緊密擺放的話,不同電源、地的cell就物理連接到一起了,就會有電源或地的短路出現(xiàn)。具體需要留多少間隙,要根據(jù)不同工藝

58、的designrule來計算。關(guān)于MTCMOS的插入數(shù)量,可以先根據(jù)該模塊的功耗大致估算一下。首先通過功耗分析估算出掉電區(qū)的功耗P,根據(jù)P=VI,及電源電壓,計算出供電電流I;再根據(jù)foundry提供的MTCMOS的電阻值R,可以計算出并聯(lián)n個MTCMOS的IRdrop大致為IR/n;這樣就可以根據(jù)期望達到的IRdrop值,計算出需要插入多少MTCMOS了。當然最后還需要通過更精確的IRdrop分析工具(比如PrimeRail)來分析IRdrop是否滿足要求。關(guān)于MTCMOS的擺放和分布,則需要考慮掉電區(qū)的功耗分布,功耗密度大的地方電流密度也大,所以MTCMOS擺放密度要高一些,以減小IRdr

59、op。比如在我們的設(shè)計中,掉電區(qū)有個大塊的Macro(見圖22左上),且它的時鐘頻率比其他部分高,功耗密度比其他部分大很多,所以我們在其外圍放了一圈緊挨著的MTCMOS,而在其他部分,則是按陣列形式擺放了幾列MTCMOS,每列MTCMOS都是隔行擺放。掉電區(qū)的電源網(wǎng)絡(luò)規(guī)劃、以及MTCMOS的電源連接也是需要特別考慮的地方。掉電區(qū)有三個PGnets(TrueVDD、VirtualVDD和VSS),在做電源網(wǎng)絡(luò)規(guī)劃時,建議對三個PGnets都畫一個密度相當?shù)碾娫淳W(wǎng)格。TrueVDD和VirtualVDD的網(wǎng)格通過MTCMOS連接,MTCMOS處是電流密度最大的地方,所以為了減小IRdrop,在MT

60、CMOS上方盡量用寬金屬走PowerStrap。這樣做出來的電源網(wǎng)絡(luò),一般不會有IRdrop的問題。4.結(jié)論及建議利用Synopsys基于UPF標準的低功耗流程,幫助我們在設(shè)計的整個流程(從前端到后端,以及驗證)中,達成對低功耗設(shè)計意圖描述上的連貫性、簡潔性與一致性,并提供各方面的驗證功能,極大的提高了設(shè)計實現(xiàn)的效率,并保證了設(shè)計的正確性。對于設(shè)計實現(xiàn)工程師來說,UPF流程僅比傳統(tǒng)流程增加了如何用UPF來描述自己設(shè)計中的低功耗意圖,工具就可以根據(jù)UPF里面的約束,自動實現(xiàn)低功耗設(shè)計。而且實現(xiàn)與驗證可能要用到多個工具,傳統(tǒng)流程中,每個工具都要求有自己獨立的低功耗設(shè)計命令,這樣很難保證各個工具之間

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論