中文引用格式: 高華,,李輝. 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)工藝進入了超深亞微米時代,。國內(nèi)集成電路行業(yè)在生產(chǎn)工藝和設(shè)計方面都比較落后,。國際方面,芯片制造商臺積電(TSMC),、GF(Global Foundry)生產(chǎn)工藝達到了7 nm水平,。芯片設(shè)計商Intel、AMD,、NVIDIA也逐漸投入28 nm以及更先進工藝芯片的設(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è)計的要求?,F(xiàn)階段,,針對超深亞微米數(shù)字芯片的物理設(shè)計的文獻比較少,因此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è)計步驟都進行相應(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進行芯片的布局規(guī)劃,、單元放置、時鐘樹綜合以及布線工作,。然而在布局優(yōu)化和時鐘優(yōu)化過程中,,IC Compiler會根據(jù)時序,、功耗,、阻塞等因素插入或者刪除特殊單元,從而改變UPF定義的連接關(guān)系,,本文將這些針對UPF的改變寫入SUPF而不是改變原始的CUPF,,然后將最終的SUPF和CUPF整合在一起交付PrimetimePX等工具進行功耗分析[3]。具體流程如圖1所示,。
基于CUPF的低功耗設(shè)計流程與基于UPF的傳統(tǒng)設(shè)計流程相比具有以下優(yōu)點和創(chuàng)新:
(1)CUPF避免了IC Compiler在設(shè)計的每個階段讀取原始UPF并且全局修改造成的時間浪費,,有助于縮短芯片物理設(shè)計周期和提高良品率。
(2)CUPF在物理設(shè)計的每個階段只是保存了UPF發(fā)生改變的部分,,而不是對原始文件進行反復(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模塊進行低功耗設(shè)計,。fch_sata_t是芯片內(nèi)部用于控制全局模塊電源開關(guān)的控制模塊,,其內(nèi)部包含大約567 136個門單元,,工作頻率在1.1 GHz??紤]到數(shù)目龐大的晶體管和較高的工作頻率帶來的靜態(tài)功耗和動態(tài)功耗,,此模塊使用門控電源、多電源電壓和多閾值電壓等低功耗技術(shù)進行物理設(shè)計,。
2.1 門控電源低功耗技術(shù)實現(xiàn)
門控電源技術(shù)基本原理是根據(jù)芯片中各個模塊的工作情況,,選擇性地控制各模塊的電源供給,減少門電路不工作時的短路電流,,從而降低芯片總體的動態(tài)功耗,。
用于實現(xiàn)門控電源技術(shù)的基本單元是電源開關(guān)單元(Power Switch Cell)。同時,,為了減少不同模塊在不同電源狀態(tài)下的相互干擾,,需要插入隔離單元(Isolation Cell)將可掉電區(qū)域和常開區(qū)域進行隔離[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ù)低功耗需求對芯片進行模塊劃分,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)換器單元帶來的負面影響,,需要規(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進行功耗分析,并利用圖形化界面的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進行低功耗物理設(shè)計,提出全新的基于CUPF的物理設(shè)計流程,,芯片中所用到的電源開關(guān)單元技術(shù)和多電源電壓技術(shù)等都是基于CUPF設(shè)計流程展開,。最終經(jīng)過PrimetimePX分析表明該設(shè)計流程具有很好的魯棒性,較短的設(shè)計周期,,并且芯片的功耗得到明顯降低,。
參考文獻
[1] 王超,田太慶,王明江.SoC物理設(shè)計低功耗方法研究[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é)與計算機.2008(01).
[7] 徐芝蘭,,楊蓮興.CMOS集成電路低功耗設(shè)計方法[J].微電子學(xué).2004(03).
[8] 郝冬艷,,張明,鄭偉.低功耗VLSI芯片的設(shè)計方法[J].微電子學(xué)與計算機.2007(06).
作者信息:
高 華,,李 輝
(中國科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,,安徽 合肥230026)