中文引用格式: 高華,李輝. 14 nm工藝下基于CUPF的數(shù)字IC低功耗物理設(shè)計[J].電子技術(shù)應(yīng)用,2017,43(9):25-29.
英文引用格式: Gao Hua,Li Hui. Digital IC physical design low power implement based on CUPF flow under 14 nm process[J].Application of Electronic Technique,2017,43(9):25-29.
0 引言
數(shù)字集成電路發(fā)展初期,芯片的面積和速度是衡量芯片設(shè)計質(zhì)量的重要標(biāo)準(zhǔn),而功耗問題并沒有引起芯片設(shè)計工作者的關(guān)注和重視。近年來,伴隨著超大規(guī)模集成電路(Very Large Scale Integration,VLSI)集成度的急劇增加、工作頻率的大幅提高,以及生產(chǎn)工藝的提升,數(shù)字芯片的功耗顯著增加。眾所周知,功耗會影響封裝和生產(chǎn)成本,同時功耗的增加還會引起電遷移等一系列問題,從而影響信號的完整性、降低芯片的可靠性。因此,功耗逐漸成為了當(dāng)今數(shù)字IC設(shè)計的重要衡量標(biāo)準(zhǔn)[1]。
目前,數(shù)字集成電路的生產(chǎn)工藝進(jìn)入了超深亞微米時代。國內(nèi)集成電路行業(yè)在生產(chǎn)工藝和設(shè)計方面都比較落后。國際方面,芯片制造商臺積電(TSMC)、GF(Global Foundry)生產(chǎn)工藝達(dá)到了7 nm水平。芯片設(shè)計商Intel、AMD、NVIDIA也逐漸投入28 nm以及更先進(jìn)工藝芯片的設(shè)計工作。技術(shù)方面,芯片特征尺寸的減小給低功耗設(shè)計在系統(tǒng)級、算法級、電路級以及門級的實現(xiàn)提出了新的挑戰(zhàn),因此現(xiàn)有的低功耗設(shè)計方法面臨著優(yōu)化和淘汰,傳統(tǒng)的基于UPF的低功耗物理設(shè)計流程設(shè)計周期長、可修復(fù)性比較差,很難保證設(shè)計的正確性,難以滿足目前大規(guī)模數(shù)字芯片快速精準(zhǔn)開發(fā)設(shè)計的要求。現(xiàn)階段,針對超深亞微米數(shù)字芯片的物理設(shè)計的文獻(xiàn)比較少,因此14 nm工藝實現(xiàn)芯片的低功耗物理設(shè)計具有現(xiàn)實意義和研究價值。
1 基于CUPF的低功耗設(shè)計流程簡介
UPF為IEEE1801 Unified Power Format標(biāo)準(zhǔn)。數(shù)字IC設(shè)計人員將電源電壓、隔離單元以及電源開關(guān)等與功耗相關(guān)的設(shè)計約束寫入UPF文件[2]。UPF以TCL 腳本的形式貫穿于RTL-to-GDSII設(shè)計流程的始終。
在傳統(tǒng)的物理設(shè)計流程中,物理設(shè)計的每一個階段都會讀入UPF,即每一個設(shè)計步驟都進(jìn)行相應(yīng)的低功耗優(yōu)化。IC Compiler 會讀入UPF文件,并且根據(jù)低功耗優(yōu)化引入的特殊元件,導(dǎo)致UPF產(chǎn)生新的連接關(guān)系從而直接修改原UPF文件。這種方式導(dǎo)致在物理設(shè)計的每一階段都會重新修改整個UPF,并且不利于追蹤變化。
基于CUPF的低功耗設(shè)計流程在物理設(shè)計過程中不會因為低功耗優(yōu)化而改變原始UPF文件,而是在每一個設(shè)計階段將UPF的變化寫入SUPF(Supplement UPF)。在物理設(shè)計的開始階段,IC Compiler讀入前端網(wǎng)表(Netlist)和UPF進(jìn)行芯片的布局規(guī)劃、單元放置、時鐘樹綜合以及布線工作。然而在布局優(yōu)化和時鐘優(yōu)化過程中,IC Compiler會根據(jù)時序、功耗、阻塞等因素插入或者刪除特殊單元,從而改變UPF定義的連接關(guān)系,本文將這些針對UPF的改變寫入SUPF而不是改變原始的CUPF,然后將最終的SUPF和CUPF整合在一起交付PrimetimePX等工具進(jìn)行功耗分析[3]。具體流程如圖1所示。
基于CUPF的低功耗設(shè)計流程與基于UPF的傳統(tǒng)設(shè)計流程相比具有以下優(yōu)點和創(chuàng)新:
(1)CUPF避免了IC Compiler在設(shè)計的每個階段讀取原始UPF并且全局修改造成的時間浪費,有助于縮短芯片物理設(shè)計周期和提高良品率。
(2)CUPF在物理設(shè)計的每個階段只是保存了UPF發(fā)生改變的部分,而不是對原始文件進(jìn)行反復(fù)修改,從而利于UPF變化追蹤,及時反饋和修改不必要的約束。
(3)CUPF相對于UPF占用更少的存儲空間,有利于滿足龐大物理設(shè)計數(shù)據(jù)的內(nèi)存需求。
2 基于CUPF的14 nm芯片低功耗物理設(shè)計與實現(xiàn)
本設(shè)計針對GF 14 nm工藝下GPU的fch_sata_t模塊進(jìn)行低功耗設(shè)計。fch_sata_t是芯片內(nèi)部用于控制全局模塊電源開關(guān)的控制模塊,其內(nèi)部包含大約567 136個門單元,工作頻率在1.1 GHz??紤]到數(shù)目龐大的晶體管和較高的工作頻率帶來的靜態(tài)功耗和動態(tài)功耗,此模塊使用門控電源、多電源電壓和多閾值電壓等低功耗技術(shù)進(jìn)行物理設(shè)計。
2.1 門控電源低功耗技術(shù)實現(xiàn)
門控電源技術(shù)基本原理是根據(jù)芯片中各個模塊的工作情況,選擇性地控制各模塊的電源供給,減少門電路不工作時的短路電流,從而降低芯片總體的動態(tài)功耗。
用于實現(xiàn)門控電源技術(shù)的基本單元是電源開關(guān)單元(Power Switch Cell)。同時,為了減少不同模塊在不同電源狀態(tài)下的相互干擾,需要插入隔離單元(Isolation Cell)將可掉電區(qū)域和常開區(qū)域進(jìn)行隔離[4]。電源開關(guān)單元和隔離單元如圖2所示。
2.1.1 電源開關(guān)單元的實現(xiàn)
在UPF文件中,將門控電源低功耗中用到電源開關(guān)單元命名為SW_PD_P1,在GF14制程工藝下,利用庫元件hdpghdr2vspacexssM160D4bl作為開關(guān)電源單元,并且指定SW_PD_P1控制的電源域為PD_P1。開關(guān)電源單元在CUPF中的描述如下所示[5]:
create_power_switch SW_PD_P1
-domain PD_P1
-input_supply_port {vin VDDCR_SATA}
-output_supply_port {vout VDDINT_P1}
-control_port {Min u_fch_sata_A/mother_sleep/Y }
-control_port {Din u_fch_sata_A/daughter_sleep/Y}
-on_state {SW_ON vin {!Min && !Din}}
-off_state {SW_OFF {!(!Min && !Din)}}
map_power_switch SW_PD_P1
-domain PD_P1
-lib_cells {hdpghdr2vspacexssM160D4bl}
上述引入的電源開關(guān)單元SW_PD_P1陣列插入DEF的方式有兩種:網(wǎng)格型和環(huán)型。網(wǎng)格型的插入方式實現(xiàn)起來比較困難,對繞線資源和時序的影響比較大,但是這種網(wǎng)絡(luò)的優(yōu)點在于占用的面積比較??;環(huán)型的插入方式實現(xiàn)起來比較簡單,并且占用的繞線資源較少,不會引起繞線阻塞,但是這種網(wǎng)絡(luò)對面積的占用比較大。因為fch_sata_t面積比較小,并且門電路的使用率比較高,因此本模塊使用網(wǎng)格型電源開關(guān)的插入方式。插入方式在UPF中描述為[6]:
create_power_switch_array
-lib_cell SW_PD_P1: hdpghdr2vspacexssM160D4bl
-bounding_box {302.145 -211.34 314.045 -200.94}
-x_increment 11.9
-y_increment 10.4
其中,-lib_cell指的是電源開關(guān)單元所用的庫元件;-bounding_box指的是電源開關(guān)單元放置的具體位置;-x_increment和-y_increment指的是相鄰的電源開關(guān)之間的橫向和縱向距離設(shè)置。當(dāng)然,以上的距離參數(shù)由實際的電源條帶的分布決定。SW_PD_P1在模塊中的具體實現(xiàn)效果如圖3、圖4所示。
由圖3可以看出,相鄰兩行的電源開關(guān)單元交錯擺放,這樣有利于提高電源開關(guān)單元的利用率。每一個電源開關(guān)單元的面積約為2.16 μm2,模塊中共用到3 685個電源開關(guān)單元,因此電源開關(guān)單元共占用7 959.6 μm2,相當(dāng)于模塊1.9%的面積,滿足設(shè)計要求。
2.1.2 隔離單元的應(yīng)用
隔離單元是數(shù)字IC物理設(shè)計中出現(xiàn)的又一重要的物理單元(Physical Cell)。不同工作狀態(tài)的電源域不可避免的會有相互干擾,甚至有可能導(dǎo)致邏輯功能上的錯誤。因此,在門控電源低功耗技術(shù)的實現(xiàn)過程中,需要在電源常開區(qū)域和可關(guān)斷電源區(qū)域插入隔離單元[7]。在placement階段,通過CUPF插入隔離單元,插入的實現(xiàn)過程如下:
set_isolation ISO_LO_P1_GLB
-domain PD_GLB
-source SS_P1
-diff_supply_only TRUE
-isolation_power_net VDDCR_SATA
-isolation_ground_net VSS
-name_suffix _ISO_LO_P1_GLB
-clamp_value 0
set_isolation_control ISO_LO_P1_GLB
-domain PD_GLB
-isolation_signal u_fch_sata_AON_0/d0nt_P/Z
-location self
-isolation_sense low
map_isolation_cell ISO_LO_P1_GLB
-domain PD_GLB
-lib_cells {hdvionoclamplonxss2ul}
可以看出在模塊中定義的隔離單元為ISO_LO_P1_GLB,其控制隔離的電壓源是PD_GLB,隔離單元的VDD來自電源條帶VDDCR_SATA,隔離單元的VSS來自電源條帶VSS。另外,UPF定義單元庫元件hdvionoclamplonxss2ul 等作為隔離單元。隔離單元在DEF里面的實現(xiàn)如圖5所示。
2.2 多電源電壓低功耗技術(shù)實現(xiàn)
多電源電壓低功耗技術(shù)是CUPF應(yīng)用于數(shù)字IC低功耗物理設(shè)計的又一重要體現(xiàn)。
在RTL設(shè)計階段,設(shè)計人員根據(jù)低功耗需求對芯片進(jìn)行模塊劃分,UPF也會根據(jù)劃分的模塊定義相應(yīng)的電源約束。IC Compiler需要讀入UPF并且根據(jù)約束在不同模塊正確設(shè)計相應(yīng)模塊的電源結(jié)構(gòu)[8]。在UPF中,對電源域的定義如下:
create_power_domain DFT_AON -include_scope
create_power_domain DFT_AON
-elements{vl_sms_fch_sata_t1_sms_proc_sms_1_stp
fch_sata_t1_clken_sync fch_sata_t1_clksms_gate
fch_sata_t_wrck_gate}
create_supply_net VDDCR_SATA
-domain DFT_AON -reuse
create_supply_set SS_DFT_AON
-function { power VDDCR_SATA}
-function {ground VSS}
這里定義了名為DFT_AON的電源域用于為DFT模塊提供電源。因為-include_scope選項,IC Compiler會自動為DFT_AON電源域在DEF中映射為對應(yīng)的電壓域(voltage area)。
對于多電源電壓設(shè)計,不同的電壓域之間需要插入電平轉(zhuǎn)換器單元(Level Shifter)。電平裝換器單元能夠過渡不同電壓域之間的切換,IC Compiler會在單元擺放階段根據(jù)UPF中關(guān)于轉(zhuǎn)換器單元的定義自動插入電平轉(zhuǎn)換單元。CUPF中關(guān)于電平轉(zhuǎn)換器單元的定義為:
set_level_shifter
LS_VDDCR_FCH_S5_VDDCR_FCH -domain
PD_VDDCR_FCH_S5 -applies_to inputs -rule both
-location self
name_suffix LS_VDDCR_FCH_VDDCR_FCH
map_level_shifter_cell
LS_VDDCR_FCH_S5_VDDCR_FCH
-domain PD_VDDCR_FCH_S
-lib_cells {hdlsbf2g6011 …}
由以上CUPF命令可得,定義了名為LS_VDDCR_FCH_S5_VDDCR_FCH的電平轉(zhuǎn)換器單元,并指定單元庫中hdlsbf2g6011等元件作為電平轉(zhuǎn)換器單元。單元所在的電源域為PD_VDDCR_FCH_S,主要功能是完成電壓VDDCR_FCH_S5到VDDCR_FCH的轉(zhuǎn)變。通常,電平轉(zhuǎn)換器單元的面積比較大,占用比較多的繞線資源,因此對時序和阻塞有一定的影響。為了盡量減少電平轉(zhuǎn)換器單元帶來的負(fù)面影響,需要規(guī)定特定的區(qū)域?qū)㈦妷恨D(zhuǎn)換器單元放置在一起,并且靠近電壓域臨界區(qū)域。Level Shifter在DEF中的分布如圖6所示。
實現(xiàn)過程如下:
create_bounds -name Shifter_region
-coordinate { -120.23 30.83 -200.65 60.72}
-type soft shifter_cells
3 實驗結(jié)果及分析
本次設(shè)計針對基本14 nm工藝的fch_sata_t模塊設(shè)計,fch_sata_t是GPU中控制其他模塊電源模式的控制單元。模塊含有567 136個門電路單元、68個宏單元。fch_stat_t的DEF布局如圖7所示。
芯片設(shè)計全過程基于本文提出的基于CUPF的設(shè)計流程,應(yīng)用了電源開關(guān)技術(shù)、多電壓電源技術(shù)以及多閾值電壓等低功耗技術(shù)。參考目前主流數(shù)字IC設(shè)計公司的驗證流程,本設(shè)計利用Synopsys的產(chǎn)品PrimetimePX進(jìn)行功耗分析,并利用圖形化界面的Show Power Analysis Driver選項得到優(yōu)化前后功耗分析柱狀圖如圖8、圖9所示。
由以上柱狀圖可以看出,優(yōu)化后模塊總功率減少了約為8.675%。其中靜態(tài)功耗即Leakage Power為7.691×10-3 W,占總功耗的19.23%;動態(tài)功耗即Switch Power和Internal Power分別為5.652×10-3 W與0.026 7 W,占總功耗的80.77%;總功耗約為0.039 9 W,小于設(shè)計要求的0.050 W,滿足設(shè)計要求。
4 結(jié)論
本次設(shè)計主要對GF14 nm工藝下數(shù)字IC進(jìn)行低功耗物理設(shè)計,提出全新的基于CUPF的物理設(shè)計流程,芯片中所用到的電源開關(guān)單元技術(shù)和多電源電壓技術(shù)等都是基于CUPF設(shè)計流程展開。最終經(jīng)過PrimetimePX分析表明該設(shè)計流程具有很好的魯棒性,較短的設(shè)計周期,并且芯片的功耗得到明顯降低。
參考文獻(xiàn)
[1] 王超,田太慶,王明江.SoC物理設(shè)計低功耗方法研究[J].微處理機(jī).2011(02).
[2] 石玉龍,張立超,柏璐.ASIC后端設(shè)計中低功耗時鐘樹綜合方法[J].信息通信.2009(04).
[3] 李娜.UHF RFID電子標(biāo)簽芯片的低功耗物理設(shè)計與時鐘樹綜合[D].西安:西安電子科技大學(xué),2013.
[4] 賀京.基于65 nm的低功耗設(shè)計與等價性驗證[D].西安:西安電子科技大學(xué),2013.
[5] 鐘濤,王豪才.CMOS集成電路的功耗優(yōu)化和低功耗設(shè)計技術(shù)[J].微電子學(xué).2000(02).
[6] 高丹,劉海濤.CMOS數(shù)字電路低功耗的層次化設(shè)計[J].微電子學(xué)與計算機(jī).2008(01).
[7] 徐芝蘭,楊蓮興.CMOS集成電路低功耗設(shè)計方法[J].微電子學(xué).2004(03).
[8] 郝冬艷,張明,鄭偉.低功耗VLSI芯片的設(shè)計方法[J].微電子學(xué)與計算機(jī).2007(06).
作者信息:
高 華,李 輝
(中國科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,安徽 合肥230026)