UPF是一個(gè)統(tǒng)一的,被廣泛應(yīng)用的低功耗實(shí)現(xiàn)標(biāo)準(zhǔn)。它用一些標(biāo)準(zhǔn)的語言描述用戶的低功耗設(shè)計(jì)意圖。
一、UPF所需要的特殊單元庫
1 )Level-Shifter****和Isolation Cell
對于多電壓設(shè)計(jì),需要用Level-shifter來實(shí)現(xiàn)不同電壓域之間信號(hào)的電平轉(zhuǎn)換。根據(jù)信號(hào)電平由高到低和由低到高的轉(zhuǎn)換,Level-shifter分為兩類,一種是高到低、一種是低到高;
對于電源關(guān)短技術(shù),電源關(guān)短區(qū)域的輸出信號(hào)在電源關(guān)斷時(shí)處于不定態(tài),這種不定態(tài)會(huì)導(dǎo)致其負(fù)載單元出現(xiàn)內(nèi)部電流,從而導(dǎo)致不期望的功耗。所以需要在電源關(guān)斷區(qū)域的輸出信號(hào)上插入Isolation Cell來實(shí)現(xiàn)對不定態(tài)的隔離。
2 )Power-Gating Cell ,Retation-Register和Always-on單元
對于電源關(guān)斷技術(shù),需要Power-Gating Cell來實(shí)現(xiàn)電源的關(guān)斷??梢赃x擇斷開電源(VDD)或地(VSS)的連接來實(shí)現(xiàn)Power-Gating;
電源關(guān)斷模塊有可能要求register對關(guān)斷前的數(shù)據(jù)進(jìn)行鎖存或者在電源打開后要求對鎖存的數(shù)據(jù)進(jìn)行恢復(fù),這就需要特殊的單元Retention-Register。
在電源關(guān)斷模塊還有可能需要有些信號(hào)線或邏輯長期工作,比如MTCOMS單元的控制信號(hào)線,Retention-register的save/restore控制信號(hào),isolation cell的控制信號(hào)。為了實(shí)現(xiàn)這種功能,這就需要另外的特殊單元叫always-on cell。
二、UPF在芯片設(shè)計(jì)實(shí)現(xiàn)中的應(yīng)用
芯片劃分3個(gè)power domain,分別為PD_1、PD_2、PD_TOP。其中PD_1是掉電區(qū),PD_2是降壓區(qū),PD_TOP是常開區(qū);PD_2嵌套在PD_1內(nèi)部,當(dāng)PD_1掉電時(shí),PD_2可以降壓保持?jǐn)?shù)據(jù)即可。VDD和VDD_2是芯片外部提供的兩個(gè)電源,分別提供給PD_TOP和PD_2;而VDD_1是PD_1的內(nèi)部電源,由VDD經(jīng)過MTCOMS產(chǎn)生,可以通過控制MTCOMS關(guān)斷PD_1掉電。
三、UPF對Power Domain的描述
1)在UPF中,首先要對所有的Power domain進(jìn)行定義。先設(shè)定頂層的power domain,然后描述PD_1和PD_2這兩個(gè)power domain。
#power domaindefinitions
Create_power_domainPD_TOP -include_scope
Create_power_domainPD_1 -elements BLOCKA
Create_power_domainPD_2 -elements BLOCKB
2)創(chuàng)建Power domain的建議
-
一些沒有關(guān)閉多長時(shí)間的邏輯不應(yīng)該分到關(guān)斷domin里
-
對一些關(guān)鍵路徑邏輯不應(yīng)該考慮使用低電壓或者動(dòng)態(tài)電壓頻率調(diào)節(jié)技術(shù)
-
只有那些對性能沒有多大影響可以加入一個(gè)新的domain
-
UPF對Power Network的描述
然后根據(jù)電源分區(qū)拓?fù)鋱D,清晰地描述各個(gè)power_domain里面的電源網(wǎng)絡(luò)(Power Nerwork),如下所示,詳細(xì)的定義了每個(gè)domain里面的電源線的名稱以及和芯片原始電源輸入端口的連接關(guān)系。
#power ports definitions//創(chuàng)建頂層的電源ports
Create_supply_port VDD-domain PD_TOP -direction in
Create_supply_port VDD_2-domain PD_TOP -direction in
Create_supply_portVSS -domain PD_TOP -direction in
#supply netsdefinitions//創(chuàng)建內(nèi)部電源線
Create_supply_netVDD -domain PD_TOP//頂層的電源線
Create_supply_net VDD-domain PD_1 -reuse//連接到內(nèi)部domain
Create_supply_net VDD_2-domain PD_TOP
Create_supply_net VDD_2-domain PD_1 -reuse
Create_supply_net VDD_2-domain PD_2 -reuse
Create_supply_net VDD_1-domain PD_1
Create_supply_net VSS-domain PD_TOP
Create_supply_net VSS-domain PD_1 -reuse
Create_supply_net VSS-domain PD_2 -reuse
#connect thesupply net to power port
Connect_supply_netVDD -ports VDD
Connect_supply_netVDD_2 -ports VDD_2
Connect_supply_netVSS -ports VSS
#define theprimary power/ground for power domains
Set_domain_supply_netPD_TOP -primary_power_net VDD -primary_ground_net VSS
Set_domain_supply_netPD_1 -primary_power_net VDD_1 -primary_ground_net VSS
Set_domain_supply_netPD_2 -primary_power_net VDD_2 -primary_ground_net VSS
四、UPF對Power Gating的描述
1)含有電源關(guān)短模塊,需要在UPF中定義電源關(guān)短電源(Power Gating cell),描述該單元的電源輸入輸出,以及控制信號(hào)的連接。
Create_power_switch SW1-domain PD_1\\
-output_supply_port {VDD_OUT VDD_1}\\
-input_supply_port{VDD_INVDD}\\
-control_port{PW_CTRL pd1_pw_en}\\
-on_state {PW_ON VDD_IN {PW_CTRL}}
-ack_port{PW_ACK pd1_pw_ack}
該條命令中VDD_1是VDD經(jīng)過該單元后的電源名稱,pd1_pw_en是控制信號(hào),當(dāng)該控制信號(hào)為高的時(shí)候,VDD_1接通VDD使電路處于開啟狀態(tài),除了該控制信號(hào),該單元還輸出一個(gè)叫pd1_pw_ack的響應(yīng)信號(hào)。
五、UPF對Isolation的描述
因?yàn)樾酒嘘P(guān)斷模塊,從功能上了為處理模塊關(guān)斷后信號(hào)輸出的穩(wěn)定性,還需要增加關(guān)斷電源模塊處于關(guān)斷時(shí)如何插入isolation單元的描述。如下所示,以PD_1的邊界信號(hào)定義為例:指定其所有輸入信號(hào)都不插入isolation cell,輸出信號(hào)默認(rèn)插入到0的isolation cell,對其中兩個(gè)特殊信號(hào)輸入到1的isolation cell。并且定義了isolation cell的控制信號(hào),以及插入的位置是在PD_TOP domain。
六、UPF對Power state的描述
在UPF里面,還有一個(gè)非常重要的部分,那就是描述電源狀態(tài)表(Power state Table),也就是說要描述各個(gè)電源有哪些工作模式。有了這個(gè)表格,工具就可以判斷是否需要在各個(gè)電源模塊之間插入特殊的單元。
本芯片共有三種工作模式:
pst_pd1_ON是正常模式,三個(gè)domain都是1.2V供電;
pst_pd1_OFF是掉電模式,PD_1掉電,其他兩個(gè)domain都是1.2V供電;
pst_pd1_LOW是掉電模式,PD_1掉電,PD_2降壓到0.8V供電;
add_port_state VDD -state{NOR_VOL 1.2}
add_port_state VDD_1 -state{NOR_VOL 1.2}
add_port_state VDD_1 -state{OFF_VOL off}
add_port_state VDD_2 -state{NOR_VOL 1.2}
add_port_state VDD_2 -state{LOW_VOL 0.8}
create_ps top_pst -supplies [list VDD VDD_1 VDD_2]
add_pst_state pst_pd1_ON -pst top_pst -state{ NOR_VOL NOR_VOL NOR_VOL}
add_pst_state pst_pd1_OFF -pst top_pst -state{ NOR_VOL OFF_VOL NOR_VOL}
add_pst_state pst_pd2_LOW -pst top_pst -state{ NOR_VOL OFF_VOL LOW_VOL}
評(píng)論