文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.199805
中文引用格式: 張驍竣,季昊,聶筆劍. 鰭式場(chǎng)效應(yīng)晶體管結(jié)合自熱效應(yīng)的電遷移分析[J].電子技術(shù)應(yīng)用,2019,45(8):53-60.
英文引用格式: Zhang Xiaojun,Ji Hao,Nie Bijian. Electromigration analysis of FinFET self-heating[J]. Application of Electronic Technique,2019,45(8):53-60.
0 引言
在先進(jìn)工藝節(jié)點(diǎn)下,熱相關(guān)的問題變得愈發(fā)嚴(yán)重,并且也得到了廣泛關(guān)注。以一個(gè)眾所周知的情況為例:隨著工藝節(jié)點(diǎn)的前進(jìn),柵密度增加會(huì)導(dǎo)致FinFET產(chǎn)生更多無法通過襯底完全散熱的局部熱點(diǎn);而局部a的功耗熱點(diǎn)也通常會(huì)轉(zhuǎn)化為更高的局部自熱。在電路正常工作時(shí)晶體管的自熱效應(yīng)隨著工藝節(jié)點(diǎn)的前進(jìn)也會(huì)變得更加顯著,并且會(huì)導(dǎo)致后道工藝(BEOL)的可靠性下降以及電遷移違例的發(fā)生。為了保持芯片的可靠性,有必要通過控制互聯(lián)金屬的溫升在一個(gè)可接受的范圍之內(nèi)。
在本文中,首先探討電遷移失效期限的理論及其影響因素,然后介紹Voltus針對(duì)考慮自熱效應(yīng)的電遷移的檢查解決方案,最后,對(duì)本文進(jìn)行總結(jié)并且針對(duì)結(jié)論作進(jìn)一步分析。
1 電遷移與失效期限概述
電遷移通常是指在電場(chǎng)的作用下導(dǎo)電材料中的金屬離子發(fā)生遷移的現(xiàn)象。在銅互聯(lián)工藝中,電遷移表示在電場(chǎng)作用下銅離子從陰極向陽極遷移,繼而在陰極產(chǎn)生空洞。電遷移不僅僅會(huì)造成電阻的增大,嚴(yán)重的會(huì)造成開路與短路。
1.1 幾種電流計(jì)算方法的物理意義
比較常見的電遷移檢查中所關(guān)聯(lián)的電流的計(jì)算公式如式(1)所示:
1.2 自熱溫升函數(shù)
自熱溫升函數(shù)通過采用從工藝規(guī)則文件中預(yù)先得到的熱阻值(Rth)以及單元庫中單元的功耗值來計(jì)算單元的自熱溫升ΔT。所以在物理設(shè)計(jì)中,翻轉(zhuǎn)率、信號(hào)輸入狀態(tài)、信號(hào)電平轉(zhuǎn)換時(shí)間、輸出負(fù)載等各種因素都會(huì)成為器件的前道工藝溫升ΔTFEOL的影響因素,因?yàn)檫@些因素都會(huì)導(dǎo)致器件的功耗發(fā)生變化。具體公式如式(2)所示:
式中,NFIN為fins的數(shù)量,NF為fingers的數(shù)量。
由于P型場(chǎng)效應(yīng)晶體管和N型場(chǎng)效應(yīng)晶體管都會(huì)進(jìn)行散熱,因此P型和N型場(chǎng)效應(yīng)晶體管的熱阻估算模型是獨(dú)立的,并且對(duì)標(biāo)準(zhǔn)單元而言,由于P型與N型場(chǎng)效應(yīng)管是相鄰的,因此會(huì)產(chǎn)生額外的熱阻。
1.3 考慮自熱效應(yīng)的電遷移分析
傳統(tǒng)的電遷移檢查分析方法是由兩個(gè)階段組成的:第一階段將芯片中多個(gè)網(wǎng)絡(luò)的全局均方根電流Irms換算為預(yù)設(shè)的溫升限制進(jìn)行電遷移的檢查;第二階段為用平均電流Iavg計(jì)算金屬互聯(lián)線上的實(shí)際電流密度,并和設(shè)計(jì)規(guī)則文件中的閾值相比較從而完成電遷移檢查與分析。在這種情況下,需要時(shí)刻保證均方根電流Irms引起的溫升ΔT在芯片各處都控制在預(yù)設(shè)值以內(nèi)。
顯然,并沒有很好地把自熱效應(yīng)體現(xiàn)在傳統(tǒng)的電遷移檢查分析方法中,取而代之的是選擇了一個(gè)設(shè)定的全局溫升(一般而言ΔT=5 ℃)。在這種方法學(xué)中,可能會(huì)對(duì)某些場(chǎng)景分析過于悲觀,而相對(duì)的,也可能會(huì)對(duì)某些溫升較大的熱點(diǎn)區(qū)域分析過于樂觀。
考慮自熱效應(yīng)的電遷移分析方法是對(duì)不同的對(duì)象采用不同的分析溫度進(jìn)行電遷移檢查,其中溫升由兩部分組成:一部分是金屬互聯(lián)線之間的焦耳熱產(chǎn)生的溫升,另一部分是由于在電路中的晶體管自熱而向金屬互聯(lián)線上輻射產(chǎn)生的溫升;ΔTBEOL計(jì)算公式如下:
溫升ΔTBEOL對(duì)于相同區(qū)域內(nèi)的不同元器件根據(jù)分析結(jié)果可能是不同的,因此基于此點(diǎn)可以取代傳統(tǒng)的單個(gè)全局預(yù)設(shè)溫升,而采用分析得出的實(shí)際溫升結(jié)合芯片的工作環(huán)境溫度來進(jìn)行更精確的電遷移簽核檢查與分析。
1.4 電遷移檢查規(guī)則介紹
在電遷移檢查規(guī)則文件內(nèi)定義的不同電流密度上限公式如下所示:
(1)信號(hào)線電遷移電流密度(傳統(tǒng)檢查中為交流均方根電流上限),因子:ΔT金屬線因子。
金屬線因子的選取會(huì)定義在電遷移工藝規(guī)則文件的開頭,其取值取決于在襯底上的金屬線結(jié)構(gòu)。
(2)信號(hào)線電遷移電流密度(考慮自熱效應(yīng)的平均電流密度上限),因子:jmax factor(實(shí)際溫度)。
(3)電源地電遷移電流密度(直流平均電流):jmax_factor(實(shí)際溫度)。
顯然根據(jù)上述公式模型,可以得出結(jié)論:當(dāng)金屬互聯(lián)線的實(shí)際溫度上升時(shí),其所能承載的電流密度上限會(huì)隨之下降。
1.5 統(tǒng)計(jì)學(xué)的電遷移預(yù)算(SEB)
對(duì)于傳統(tǒng)的電遷移檢查簽核方法,將有效電流與相對(duì)保守的固定預(yù)設(shè)溫度對(duì)應(yīng)的電流上限作比較:Sdc=電遷移檢查通過與否,取決于所有檢查對(duì)象是否都滿足Sdc≤1。
電遷移SEB是一種設(shè)計(jì)可靠性的評(píng)估方法。當(dāng)高性能的芯片進(jìn)入到新的工藝節(jié)點(diǎn),將會(huì)面臨更多更密集的互聯(lián)同時(shí)高速翻轉(zhuǎn),這也意味著會(huì)同時(shí)產(chǎn)生更大的電流,因此選擇一個(gè)更為精確而又不會(huì)過度悲觀的方法去分析元器件乃至整個(gè)芯片的可靠性以及失效率(FIT)是迫在眉睫的也是十分有必要的。SEB為物理設(shè)計(jì)工程師提供了相對(duì)于預(yù)設(shè)固定的電流密度上限而言更為靈活的方式來分析電遷移違例,并且與此同時(shí),工程師可以將每個(gè)微觀節(jié)點(diǎn)乃至整個(gè)芯片的故障率控制在一定的范圍之內(nèi)。下面是一些有關(guān)失效率的基本概念介紹:
(1)0.1%累計(jì)失效的定義:總體樣本的0.1%失效的期限。
(2)失效標(biāo)準(zhǔn):測(cè)試對(duì)象(Design Under Test)的電阻發(fā)生10%的增長(zhǎng)時(shí)會(huì)被認(rèn)定為失效。
(3)失效率或者故障率單位Failure in time(FIT)計(jì)算公式:
(5)TTF(time to fail)的定義:互聯(lián)電遷移壽命預(yù)測(cè)模型:
式中,TTF為平均失效時(shí)間,A為工藝相關(guān)的常數(shù)因子,N為電流密度指數(shù)(對(duì)銅互聯(lián)工藝N=1),J為金屬互聯(lián)線上的電流密度(平均電流密度),Ea為激發(fā)能(對(duì)于銅互聯(lián)工藝,Ea=0.9 eV),k為玻爾茲曼常數(shù),T為熱力學(xué)溫度(單位:K),kT=0.025 852 eV(室溫下T=300 K時(shí))。
根據(jù)上述模型,可以得出電遷移壽命與溫度的倒數(shù)呈指數(shù)相關(guān),因此金屬互聯(lián)線的溫升增加會(huì)顯著地降低TTF。表1列出了在不同溫度下的TTF與105 ℃的TTF的變化對(duì)比。
通過表1,不難發(fā)現(xiàn):
(1)當(dāng)工作環(huán)境溫度為105 ℃,溫升為10 ℃時(shí),TTF僅為原來的一半;
(2)當(dāng)工作環(huán)境溫度為105 ℃,溫升為20 ℃時(shí),TTF僅為原來的1/4。
現(xiàn)在對(duì)SEB和FIT有了初步了解與基本概念,下面將借助一個(gè)簡(jiǎn)單的例子來說明相對(duì)于傳統(tǒng)的電遷移檢查分析方法而言,采用SEB的方法來分析電遷移有哪些不同。
假設(shè)芯片中所有節(jié)點(diǎn)的Sdc均小于1,并且在0.99附近,那么用傳統(tǒng)的電遷移檢查簽核方法學(xué)來分析,這種情況下不存在電遷移違例。但是當(dāng)引入了SEB,在Sdc=0.99時(shí),每個(gè)節(jié)點(diǎn)的FIT值約等于4.644 8×10-6,那么此時(shí)當(dāng)此類對(duì)象的數(shù)量大于1×107甚至1×108以上時(shí),整個(gè)芯片從統(tǒng)計(jì)學(xué)上來說是存在電遷移違例的,并且會(huì)在比預(yù)想的工作期限更短的時(shí)間內(nèi)失效。
2 通過Voltus結(jié)合自熱效應(yīng)進(jìn)行電遷移檢查分析
根據(jù)SEB的電遷移檢查方法學(xué),將通過Voltus結(jié)合自熱效應(yīng)進(jìn)行電遷移檢查來得到更精確且合理的檢查結(jié)果。
2.1 分析目標(biāo)
采用Voltus動(dòng)態(tài)電壓降與交流均方根信號(hào)互聯(lián)電遷移檢查這兩種分析方法來得到金屬互聯(lián)線與電源網(wǎng)絡(luò)上由焦耳熱產(chǎn)生的均方根溫升ΔTrms。采用Voltus的功耗分析引擎來分析設(shè)計(jì)中每個(gè)元器件的總功耗,并且將 α(金屬線效應(yīng))、β(熱耦合效應(yīng))和熱阻模型文件與之結(jié)合來計(jì)算ΔTFEOL,最后將兩部分溫升經(jīng)過處理后反標(biāo)回設(shè)計(jì)中的互聯(lián)金屬線以及電源地網(wǎng)絡(luò),以便進(jìn)行采用SEB方法學(xué)且考慮自熱效應(yīng)的電遷移分析??倻厣BEOL的計(jì)算公式如下:
2.2 Self-heating Analysis
Voltus中ΔTFEOL的計(jì)算方式如圖1所示。
圖1中,α為金屬層效應(yīng),包含:
(1)α connection:表示不僅僅在單元輸出端口所連接的金屬線,而是在單元邊界以內(nèi)的所有單元自身端口存在連接關(guān)系的金屬線部分;
(2)α overlapping:顧名思義表示與單元重疊且并非存在連接關(guān)系的金屬線,當(dāng)然也存在部分例外情況:如存在有連接關(guān)系的金屬線呈“之”字型繞出單元邊界,無論超出部分之后返回單元邊界與否,超出之后的金屬線段都為α overlapping。
β為熱耦合效應(yīng),包含:
(1)計(jì)算方式:β=C1×ΔTFEOL+C2×ΔTRMS+C3、C1、C2、C3為系數(shù)因子。
在Voltus中ΔTRMS的計(jì)算方式如下:
2.2.1 Voltus中自熱效應(yīng)仿真的實(shí)現(xiàn)方法
圖2展示了Voltus針對(duì)自熱效應(yīng)仿真所需的輸入文件以及分析流程。
Voltus自熱效應(yīng)分析流程如下:
(1)設(shè)計(jì)數(shù)據(jù)建立與導(dǎo)入(時(shí)序功耗庫文件,設(shè)計(jì)數(shù)據(jù),電阻電容模型,工藝電壓溫度選取設(shè)定等):
read_lib -lef $lef_files
read_view_definition $viewDefinition.tcl
read_verilog $netlist_files
set_top_module $cur_design -ignore_undefined_cell
read_def -keepPinGeometry $def_files
set_delay_cal_mode- eng_shareDelayAcrossSame-SpefInsttances false
set_delay_cal_mode -eng_fixFirstCapForNLDM true
set_delay_cal_mode -eng_skipUnRelatedArcsForEM true
set_delay_cal_mode -eng_useLoadCurrentRegionForNLDM true
set_delay_cal_mode -equivalent_waveform_model propagation
set nspefExtConnOverRes 1
set_analysis_mode -analysisType onChipVariation -check-Type hold
(2)自熱分析所必要的翻轉(zhuǎn)率設(shè)定以及功耗分析配置:
set_power_analysis_mode -reset
set_power_analysis_mode \
-method dynamic_vectorless \
-enable_state_propagation true \
-analysis_view func_cbest_CCbest_ml_0p85c \
-enable_static false \
-static_netlist def \
-write_static_currents true \
-create_binary_db false \
-disable_ecsm_interpolation true \
-power_grid_library $pgv_list($corner) \
-report_missing_nets false
set_default_switching_activity -global_activity 0.2 -clock_gates_output 1.8
set_power_include_file ./user/pm.inc
set_dynamic_power_simulation -period 5ns -resolution 10ps
report_power -rail_analysis_format VS -outfile $power.rpt
(3)動(dòng)態(tài)電壓降分析配置:
set_rail_analysis_mode \
-method dynamic \
-accuracy hd \
-power_grid_library $pgv_list($corner) \
-temp_directory_name ./tmp_dynamic \
-filler_cell_list *FILL* \
-decap_cell_list *DCAP* \
-enable_rc_analysis true \
-rms_em_with_via2via_spacing_check true \
-rms_em_analysis true \
-enable_manufacturing_effects true \
-limit_number_of_steps false \
-env_temperature $Tambient \
-extraction_tech_file $qrcTechFile \
-extractor_include ./user/zx.inc \
-process_techgen_em_rules true \
-ignore_incomplete_net true \
-ignore_shorts true \
-em_temperature $Tambient+5 \
source ./user/set_power_pads.tcl
source ./user/pg_dynamic.tcl
set_power_data -reset
set_power_data -format current -scale 1 $dynamic_PG.ptiavg
set_rail_analysis_domain -name Core -pwrnets $PWR_VALID_NETS -gndnets $GND_VALID_NETS
(4)自熱效應(yīng)分析:
setBetaFeaturevtsSelfHeat 1
analyze_self_heat\
-ssh_options{-default_freq_for_unconstrained_nets1000000000 \
-effort_level medium \
-em_temperature $Tambient } \
- alpha_parameters{ {<layer_name><α-overlapping > <α-connecting >} {…} {…} }
- beta_parameters{C1 C2 C3}
- instance_power_file <input: static power report depend on instance based>
- tiles {n_tile_in_x m_tile_in_y}
- cell_thermal_resistance_file <input: TRF -cell’s equivalent thermal resistance file>
- instance_delta_temperature_file <output: FEOL instance-based delta-temperature file>
- tile_delta_temperature_file <output: FEOL/BEOL tile-based delta-temperature file>
- detail_delta_temperature_file <output: BEOL detailed delta-temperature file>
- detail_delta_temperature_region {x1 y1 x2 y2} (default: full chip)
[- net <pg_net_name> | - domain <rail_domain_name>] (optional, default: -domain ALL)
2.2.2 數(shù)據(jù)結(jié)果展示
圖3和表2~表5分別為Voltus元器件詳細(xì)溫升熱點(diǎn)圖與模塊瓦片詳細(xì)溫升熱點(diǎn)圖以及其他具體數(shù)據(jù)。
從圖3中可以看出元器件詳細(xì)溫升圖和模塊瓦片詳細(xì)溫升圖熱點(diǎn)分布基本自洽。
2.3 考慮自熱效應(yīng)的電遷移分析
現(xiàn)在通過Voltus得到了每段金屬線各自分立的溫升,因此可以將實(shí)際溫升在Voltus中反標(biāo)回整個(gè)設(shè)計(jì),進(jìn)行基于實(shí)際仿真溫度的電源地網(wǎng)絡(luò)電遷移以及信號(hào)線電遷移分析。
2.3.1 Voltus中考慮自熱效應(yīng)的電遷移分析的實(shí)現(xiàn)方法
(1)電源地網(wǎng)絡(luò)電遷移分析方法:
set_rail_analysis_mode \
-ict_em_models $ictem_file \
-beta_parameters {c1 c2 c3} \
-env_temperature $Tambient\
-check_thermal_aware_em true \
-read_detail_delta_temperature_file tem.txt \
-use_rms_delta_t true \
-method static \
-rms_em_with_via2via_spacing_check true \
-spacing_factor0 \
set_power_data -format ascii-scale 1 -bias_voltage 0.9 static_power.rpt
<set_power_data -format current - scale 1 - bias_voltage0.9 {static_*.ptiavg} >
analyze_rail -type <net | domain> -results_directory <rail_dir>
(2)信號(hào)線電遷移分析方法:
verify_AC_limit \
-method {avg} \
-avgRecovery $recovery_factor \
-detailed \
-use_db_freq \
-report_db \
-useQRCTech \
-report ../vt_db/seb_${corner}_${version}/seb_reduce_10y.rpt \
-error 1000000 \
-default_freq_for_unconstrained_nets 1000000000 \
-check_thermal_aware_em \
-read_detail_delta_temperature_file SHE_${cur_design}_ddt.txt \
-effort_level {high} \
-minPeakFreq 1 \
-seb_lifetime 87600 \
-enable_seb \
-enable_seb_reduction \
-seb_table ./data/SEB_CLN7+_1P13M+UT-ALRDL_1XS1X1YA5Y2YY2R_MiM.ircx \
-em_temperature $Tambient+5 \
-env_temperature $Tambient \
-delta_T 5
2.3.2 實(shí)驗(yàn)結(jié)果分析
表6為反標(biāo)實(shí)際仿真溫升后的電源地網(wǎng)絡(luò)電遷移分析結(jié)果。
加粗行數(shù)據(jù)的坐標(biāo)如表7所示,對(duì)比表4中的加粗部分可以得出兩者的溫升、節(jié)點(diǎn)名、金屬層號(hào)基本相吻合。但事實(shí)上,Voltus會(huì)在±15個(gè)同層金屬線繞線格點(diǎn)之內(nèi)選取仿真溫升來作為金屬線上實(shí)際仿真溫升的反標(biāo),并以此對(duì)電流密度檢查及進(jìn)行限制,因此并不是在所有情況下所看到的結(jié)果都會(huì)滿足溫升的公式:ΔTBEOL=F(α×β×ΔTFEOL)+F(ΔTrms)。
由于傳統(tǒng)的電源地網(wǎng)絡(luò)電遷移檢查不會(huì)將自熱效應(yīng)作為考慮,而是將一個(gè)預(yù)設(shè)的固定值(一般來說溫升為5 ℃)來作為全局的溫度變化,因此在不考慮這個(gè)預(yù)設(shè)值的情況下,反標(biāo)自熱效應(yīng)帶來的溫升所得到的電遷移檢查結(jié)果肯定是更為悲觀的。詳細(xì)報(bào)告如表8和圖4所示。
在本次實(shí)驗(yàn)中,發(fā)現(xiàn)有部分違例點(diǎn)的溫升是大于5 ℃的,即大于傳統(tǒng)分析方法的全局預(yù)設(shè)值,因此用戶可以通過這種分析方法找到相較于之前傳統(tǒng)分析方法覆蓋不到的特殊情況并且加以修復(fù)與優(yōu)化,表9數(shù)據(jù)為針對(duì)同一對(duì)象,采用/不采用自熱分析的電遷移檢查報(bào)告。
在傳統(tǒng)的電遷移簽核分析方法中,用戶需要修復(fù)所有的違例金屬線,而如果采用SEB的方法,用戶則可以在修復(fù)更少更精準(zhǔn)定位的違例條數(shù)的同時(shí)也能確保電遷移的檢查通過。采用不同方法的電遷移違例修復(fù)對(duì)比數(shù)據(jù)表如表10所示。
特別是當(dāng)在先進(jìn)工藝節(jié)點(diǎn)下針對(duì)高翻轉(zhuǎn)率的高性能芯片進(jìn)行電遷移檢查時(shí),采用SEB可以使電遷移的檢查覆蓋率大幅上升,顯著地增加設(shè)計(jì)的可靠性。
3 結(jié)束語
Cadence Voltus可以很好地幫助用戶進(jìn)行自熱效應(yīng)與焦耳熱效應(yīng)的仿真,也可以通過其內(nèi)部引擎得到一個(gè)合理的溫升值,并且將其反標(biāo)回整個(gè)設(shè)計(jì)進(jìn)行進(jìn)一步的電遷移檢查分析供用戶修復(fù)及優(yōu)化。特別是針對(duì)先進(jìn)工藝下的高性能芯片,Voltus不僅提供給用戶數(shù)據(jù),使用戶可以采用更為準(zhǔn)確并且覆蓋率高的方法進(jìn)行電遷移檢查,同時(shí)也可以使用戶更容易地發(fā)現(xiàn)設(shè)計(jì)在某些極端情況下所真實(shí)存在的由自熱效應(yīng)引起的可靠性隱患。并且結(jié)合SEB的統(tǒng)計(jì)學(xué)分析方法,用戶可以通過精準(zhǔn)定位、少量修復(fù)來達(dá)到與修復(fù)所有違例點(diǎn)相近的FIT值,顯著地加快設(shè)計(jì)的收斂速度。
除此以外,工程師可以以模塊瓦片溫升圖以及元器件詳細(xì)溫升文件作為指導(dǎo),來對(duì)設(shè)計(jì)在布局布線階段進(jìn)行局部功耗或者自熱效應(yīng)的熱點(diǎn)優(yōu)化,諸如通過針對(duì)高翻轉(zhuǎn)率的網(wǎng)絡(luò)進(jìn)行負(fù)載優(yōu)化、電平轉(zhuǎn)換時(shí)間的優(yōu)化;限制局部區(qū)域中大功耗與高熱阻(Rth×Power)元器件的布局密度來有效的抑制自熱效應(yīng);甚至可以針對(duì)模塊瓦片溫升圖對(duì)不同的區(qū)域采用不同的電源地網(wǎng)絡(luò)結(jié)構(gòu)來達(dá)到繞線資源與設(shè)計(jì)可靠性之間的平衡。
參考文獻(xiàn)
[1] Taiwan Semiconductor Manufacturing Co.,LTD.,Hsin-Chu.Electromogration sign-off methodology:US,10042967 B2[P].2018-08-07.
[2] International Business Machines Corporation,Armonk,NY(US).Early analysis and mitigation of self-heating in design flows:US,9990454 B2[P].2018-06-05.
[3] Voltus IC power integrity solution user guide[Z].
作者信息:
張驍竣1,季 昊1,聶筆劍2
(1.上海寒武紀(jì)信息科技有限公司,上海201203;2.上海楷登電子科技有限公司,上海200000)