為了延長電子便攜式產(chǎn)品的電池使用時間,降低設(shè)計功耗變得越來越重要。在IC設(shè)計流程中,多種電源管理技術(shù)逐漸被應(yīng)用,如clockgating,MSV(Multiple Supply Voltage),PSO(Power ShutOff)。然而這些低功耗技術(shù)的引入,對驗證工作帶來了很大的挑戰(zhàn)性。 CPF(Common Power Format)是Cadence公司提出的一套完整的低功耗解決方案。本文根據(jù)CPF在低功耗驗證過程中的實際使用情況,闡述了如何使用CPF來查找低功耗設(shè)計問題以及簡化驗證工作。 VIA芯片的低功耗設(shè)計和驗證的挑戰(zhàn) 在筆者目前負(fù)責(zé)的芯片中,用到的主要的低功耗設(shè)計技術(shù)包括clock gating,MSV(Multiple Supply Voltage)和PSO(Power Shut Off)。CPF主要被用于進(jìn)行PSO的驗證。 圖1是一個芯片結(jié)構(gòu)示意圖:黃色區(qū)域表示電源always-on的電源域。電源關(guān)斷的控制信號來自外部。 圖1 芯片模塊圖 低功耗芯片設(shè)計的驗證方式評估 由于RTL代碼沒有電源信息,因此在RTL通常很難驗證到和低功耗設(shè)計相關(guān)的bug。 為了實現(xiàn)RTL級代碼的power aware驗證,我們在2007年第四季度針對支持低功耗設(shè)計的驗證方式進(jìn)行了評估,選擇了基于CPF的Cadence的流程和另外一家基于PLI方式的低功耗驗證方式進(jìn)行了評估。 表1是評估結(jié)果。 表1 Power Aware驗證評估結(jié)果 應(yīng)用CPF驗證低功耗設(shè)計流程 1 將低功耗設(shè)計規(guī)范寫成cpf文件 此步驟在我們的設(shè)計中非常簡單,下面是一個簡單的cpf文件的示意。 # Define the top domain set_design TOP # Define the default domain create_power_domain -name pdTop -default # Define Power-Domain A create_power_domain -name pdA -instances {uA uC} -shutoff_condition {!uPCM/pso[0]} 2 在驗證流程中讀入cpf文件 應(yīng)用IDTS進(jìn)行仿真包括3個步驟: Ncvlog:編譯文件 Ncelab:擴(kuò)展和鏈接 Ncsim:進(jìn)行仿真 進(jìn)行power aware simulation時,只需要在第二步ncelab增加一個option“-nclps_cpf design.cpf”把第一部產(chǎn)生的cpf讀入就可以了。 以下是進(jìn)行仿真之前關(guān)于低功耗設(shè)計的相關(guān)信息: ***Low Power Simulation Power Information Power domainDcore -Default -AlwaysOn Power domainDau -Instances: TESTBENCH.inst.alu_inst.aui Power domainDlu -Instances: TESTBENCH.inst.alu_inst.lui Power domainDalu -Instances: TESTBENCH.inst.alu_inst Power domainDrf -Instances: TESTBENCH.inst.rf_inst Total number of power domains:5 圖2是電源關(guān)斷恢復(fù)的波形圖。 當(dāng)對應(yīng)的電源關(guān)斷控制信號有效時,對應(yīng)的power domain中的信號被置為X值。 當(dāng)對應(yīng)的電源關(guān)斷控制信號有效時,對應(yīng)的power domain中的信號依然為X,當(dāng)對應(yīng)的信號恢復(fù)程序執(zhí)行后,信號恢復(fù)正常。 圖2 電源關(guān)斷恢復(fù)的波形圖 應(yīng)用CPF驗證低功耗設(shè)計 在選定Cadence基于CPF的power aware verification flow作為此項目的低功耗設(shè)計芯片的設(shè)計流程之后,我們在其他設(shè)計中也應(yīng)用了此流程,如門級網(wǎng)表設(shè)計等。 在應(yīng)用此流程之后,設(shè)計人員得以發(fā)現(xiàn)了一些與低功耗設(shè)計相關(guān)的設(shè)計bug,避免了芯片的失敗。 由于設(shè)計和驗證環(huán)境都非常復(fù)雜,Cadence flow中顯現(xiàn)出一些問題: ① default power domain shut-off: 最初CPF文件不支持default power domain可以被關(guān)斷,導(dǎo)致cpf文件寫起來比較麻煩,因為此項目中的design是大部分電路可以被關(guān)斷,只有部分電路是always-on。 經(jīng)功能改進(jìn)后,現(xiàn)在的Cadence在IUS611S011之后的版本中增加了此項功能。 ② pass-through信號的處理: 當(dāng)一個來在always-on domain的信號值通過一個shut-off domain到達(dá)一個always-on domain時,此信號被置為X值。 此功能后未被實現(xiàn)在新版本軟件中。目前可以有一個選項控制,對于這類信號是保持或者被置為X值。 ③force信號的處理: 為實現(xiàn)某些特定功能,在驗證環(huán)境中增加了一系列force語句。當(dāng)這些force應(yīng)用到可以被關(guān)斷的power domain中的信號時,一旦此模塊被關(guān)斷,又恢復(fù)供電之后,這些force將丟失。 目前此功能增強(qiáng)申請正在處理中。 目前我們的低功耗設(shè)計技術(shù)還比較簡單,只應(yīng)用了電源關(guān)斷技術(shù)。CPF還可以支持信號隔離(isolation),狀態(tài)保留寄存器(SRPG)等,這在將來的設(shè)計中可能使用到。 結(jié)束語 通過應(yīng)用Cadence的基于CPF的power aware驗證流程,實現(xiàn)了針對低功耗設(shè)計的流程。應(yīng)用此流程,我們無須對現(xiàn)有流程做修改,并幫助發(fā)現(xiàn)設(shè)計中如果不應(yīng)用此流程無法發(fā)現(xiàn)的bug,使得開發(fā)人員在進(jìn)行后端設(shè)計之前就可以及時發(fā)現(xiàn)和低功耗相關(guān)的bug。 |