国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MCMM技術(shù)在SOC FD_Z801模塊中的運(yùn)用

2021-03-12 05:49:04蔡沅坤王仁平孫恒
電氣開關(guān) 2021年4期
關(guān)鍵詞:時(shí)序芯片流程

蔡沅坤,王仁平,孫恒

(福州大學(xué)物理與信息工程學(xué)院,福建 福州 350108)

1 引言

隨著集成電路產(chǎn)業(yè)的不斷發(fā)展,特征尺寸不斷縮小,到了深亞微米工藝下,芯片功能受到工藝、電壓、溫度的影響更為嚴(yán)重,需要使用更多的工藝角來保證所設(shè)計(jì)的芯片在不同極端情況下能夠穩(wěn)定工作。同時(shí),隨著芯片測試需求的增加和芯片功能的增強(qiáng),芯片工作模式也在不斷增加。設(shè)計(jì)者除了保證芯片在不同的工藝角下時(shí)序收斂,也需要保證在各種工作模式下正常工作。對此,工藝角和芯片工作模式的增加使得芯片在時(shí)序收斂方面遭受較大的挑戰(zhàn)。所謂工藝角是指在保證芯片功能正確的前提下所表現(xiàn)出來的參數(shù)波動(dòng)的極端情況[1-2]。在以往設(shè)計(jì)過程中習(xí)慣性采用傳統(tǒng)的方法實(shí)現(xiàn)時(shí)序收斂,但在這過程中往往需要大量的人工操作進(jìn)行大工作量的反復(fù)迭代并且分析消除模式之間的影響,容易產(chǎn)生時(shí)序難以收斂的情況。除此以外,可測試性設(shè)計(jì)(Design for Test,DFT)技術(shù)也可以降低芯片功耗成本和測試成本,在DFT中的掃描鏈技術(shù)(Scan Chain)可以在短時(shí)間內(nèi)檢查芯片內(nèi)部各寄存器的好壞,早一步將因工藝缺陷和塵埃附著的損壞芯片在裸片階段檢測出來,可以防止損壞的芯片流入下一階段的設(shè)計(jì)中,從而避免造成更大損壞[3]。目前,很多知名電子設(shè)計(jì)自動(dòng)化EDA(Electronic Design Automation)公司已相繼發(fā)布了系統(tǒng)層面的電路設(shè)計(jì)軟件,被行業(yè)廣泛應(yīng)用[4]。本文采用了Synopsis公司IC Compiler軟件的MCMM設(shè)計(jì)技術(shù),以FD_Z801芯片設(shè)計(jì)為例,對比傳統(tǒng)時(shí)序收斂方法,證明了MCMM技術(shù)有效實(shí)現(xiàn)了時(shí)序快速收斂,縮短了設(shè)計(jì)周期。

2 傳統(tǒng)時(shí)序收斂實(shí)現(xiàn)方法

時(shí)序分析的目的是檢查時(shí)序路徑延時(shí)是否符合時(shí)序約束要求,根據(jù)到達(dá)時(shí)間(arrival time)、要求時(shí)間(required time)和違例值(slack)判斷是否存在時(shí)序違約[6]。由于早期工具的限制,早期的時(shí)序分析方式是利用一套單元庫,在單一的情況下進(jìn)行時(shí)序分析。在邏輯綜合、自動(dòng)布局布線過程中選擇最差的工藝角。在最后時(shí)序signoff時(shí)更換成其他不同的庫,反復(fù)分析時(shí)序這一流程,如圖1所示。這一情況只能考慮到一種時(shí)序情況進(jìn)行邏輯綜合和布局布線,對此,在設(shè)計(jì)過程中需要預(yù)留足夠的裕量(margin)從而保證在最后時(shí)序signoff時(shí)能夠在其他工藝角下滿足時(shí)序。

對此EDA工具提供對建立時(shí)間和保持時(shí)間的時(shí)序分析分別設(shè)定不同的兩套單元庫。使用最差狀況(延遲最大)的庫處理建立時(shí)間,使用最佳狀況(延遲最小)的庫處理保持時(shí)間,該方法被稱為最佳-最差(best-case worst-case,BC-WC)分析。該方法的工作模式是:建立時(shí)間對時(shí)鐘頻率以及最長路徑總延時(shí)敏感,所以希望數(shù)據(jù)路徑延遲越小越好,對此采用最大延遲情況去分析,得到的結(jié)果是最悲觀的,如果該結(jié)果能夠滿足,則其他情況也能同時(shí)被滿足;同時(shí)保持時(shí)間希望數(shù)據(jù)路徑延遲越大越好,對此采用最小延遲情況去分析,以此覆蓋所有情況[5]。

該方法存在的問題:保持時(shí)間希望數(shù)據(jù)路徑來得越晚越好,但在最佳狀況下的保持時(shí)間裕量可能比最差狀況下的保持時(shí)間裕量大。這說明使用最佳狀況檢查,保持時(shí)間符合時(shí)序要求,但在使用最差狀況進(jìn)行檢查時(shí),保持時(shí)間就不符合時(shí)序要求,這種情況存在多數(shù)復(fù)雜的實(shí)際情況中。所以傳統(tǒng)的BC-WC方法并不能保證覆蓋靜態(tài)時(shí)序分析結(jié)果的最差狀況[7]。

從圖1流程圖不難看出,該方法存在的問題是EDA工具無法同時(shí)覆蓋所有模式下的時(shí)序問題,只能通過串行的方式對各個(gè)模式下的時(shí)序進(jìn)行修復(fù),同時(shí)需要保證修復(fù)過程中各個(gè)模式之間沒有影響。對此需要設(shè)計(jì)者反復(fù)切換到各個(gè)模式檢查時(shí)序是否滿足,只要對其中某一個(gè)模式進(jìn)行時(shí)序修復(fù)操作,其他模式也需要進(jìn)行檢查。這無疑增加了各個(gè)模式之間切換迭代的次數(shù)和人工手動(dòng)ECO(Engineering Change Order)的時(shí)間成本。工作量會(huì)隨著芯片工藝角和模式增多而增大[8]。

圖1 傳統(tǒng)時(shí)序收斂方法

3 MCMM設(shè)計(jì)流程

傳統(tǒng)的靜態(tài)時(shí)序分析,屬于串行的,需要逐個(gè)分析,且每種工作模式都要分析。因此,需要耗費(fèi)大量的時(shí)間。為了解決傳統(tǒng)設(shè)計(jì)流程帶來的不便,MCMM旨在解決這一問題。其內(nèi)容主要是將工作模式和工藝角相互組合,corner分析由工藝參數(shù)(process),電源電壓(voltage)和溫度(temperature)組成,從而創(chuàng)建多個(gè)場景(Scenario),接著選擇需要激活的場景讓EDA工具對其進(jìn)行優(yōu)化[10]。在這過程中同一條時(shí)序違例的路徑會(huì)在不同的場景中出現(xiàn),評估這條時(shí)序?yàn)槔穆窂皆诓煌瑘鼍爸械臅r(shí)序裕量大小,例如一條路徑在場景1中的裕量為-1,在場景2中的裕量為-0.2,可以認(rèn)為該路徑在場景1中的權(quán)重更高,選擇在場景1中進(jìn)行修復(fù)[9]。流程如圖2所示。

圖2 MCMM設(shè)計(jì)流程

傳統(tǒng)設(shè)計(jì)流程可以理解為每次對一個(gè)場景進(jìn)行時(shí)序分析和操作,但無法分析其他場景的狀況,同時(shí)也無法確定當(dāng)前要修復(fù)的時(shí)序路徑是否在其他場景下也有影響。但倘若對所有場景進(jìn)行分析評估以后便可以確定時(shí)序修復(fù)的最佳方案,并依照該方案進(jìn)行時(shí)序修復(fù),一方面提高了時(shí)序修復(fù)的效率,另一方面也保證不對其他場景的時(shí)序產(chǎn)生其他影響。

綜上所述,與傳統(tǒng)的時(shí)序收斂方法相比,MCMM設(shè)計(jì)通過在靜態(tài)時(shí)序分析的過程中將不同的工作模式和工藝角相互組合,創(chuàng)建場景的方式來減少設(shè)計(jì)迭代,由“串行”變?yōu)椤安⑿小?,大大?jié)省了人工手動(dòng)ECO的工作量,提高了工作效率和減少了設(shè)計(jì)成本[11]。

4 FD_Z801模塊的MCMM技術(shù)設(shè)計(jì)應(yīng)用

4.1 場景定義

場景就是工藝角和工作模式相互組合[12]。雖然EDA工具能夠?qū)斎氲亩鄠€(gè)模式進(jìn)行優(yōu)化,但工作模式的增加會(huì)導(dǎo)致計(jì)算機(jī)運(yùn)算時(shí)間的增加,所以需要選出有針對性的模式。經(jīng)過綜合考慮選擇如表1的4個(gè)場景。

表1 工藝角和模式的選擇

定義場景的腳本如下:

建立名叫func_ss_cmax的Scenario:

create_scenario func_ss_cmax

讀入該模式的時(shí)序約束文件:

source FD_Z801_core.sdc

場景Scenario是由工藝角Corner和工作模式Mode組合而成的,其中Corner分析由工藝參數(shù)(process),電源電壓(voltage)和溫度(temperature)組成,下面指定時(shí)序分析類型和對應(yīng)Corner下的lib庫:

set_operating_conditions-analysis_type on_chip_variation-max library scc018ug_uhd_rvt_ss_v1p62_125c_basic-max ss_v1p62_125c

同時(shí)設(shè)定相應(yīng)corner的RC寄生模型:

set_tlu_plus_files-max_tluplus $TLUPLUS_CMAX-min_tluplus $TLUPLUS_CMAX-tech2itf_map $TLUPLUS_MAP

同理,根據(jù)如上腳本依次建立func_ss_cmax,func_ss_cmin,func_ff_cmin,func_ff_cmax場景。

4.2 實(shí)現(xiàn)時(shí)序修復(fù)和收斂

在完成時(shí)鐘樹綜合以后,下一步需要對保持時(shí)間進(jìn)行時(shí)序修復(fù)??紤]到4個(gè)場景都有保持時(shí)間違約,需要對其進(jìn)行修復(fù)。對此應(yīng)當(dāng)同時(shí)激活func_ss_cmax,func_ss_cmin,func_ff_cmin,func_ff_cmax這4個(gè)關(guān)鍵scenario進(jìn)行時(shí)序收斂,操作腳本具體如下:

激活關(guān)鍵的場景Scenario:

set_active_scenarios {func_ss_cmax func_ss_cmin func_ff_cmin func_ff_cmax}

對已經(jīng)激活的場景Scenario依次設(shè)置每個(gè)場景的時(shí)序裕量:

foreach scenario[all_active_scenarios]{

current_scenario $scenario

set_clock_uncertainty-setup 0.2[all_clocks]

set_clock_uncertainty-hold 0.2[all_clocks]

set_max_transition 0.8[current_design]

set_max_transition-clock_path 0.7[all_clocks]

set_max_fanout 64[current_design]

set_app_var timing_remove_clock_reconvergence_pessimism true

set_scenario_options-setup true-hold true

set_propagated_clock[all_clocks]

set_fix_hold[all_clocks]

remove_ideal_network-all

group_path-name INPUTS-from[all_inputs]

group_path-name OUTPUTS-to[all_outputs]

group_path-name COMBO-from[all_inputs]-to[all_outputs]

}

設(shè)置完各類場景的時(shí)序裕量后更新clock延遲:

update_clock_latency

開始進(jìn)行時(shí)序修復(fù):

clock_opt-fix_hold_all_clocks

經(jīng)過一輪時(shí)序修復(fù)后,再進(jìn)行增量修復(fù):

psynopt

4.3 時(shí)序修復(fù)結(jié)果

經(jīng)過上述操作,4個(gè)關(guān)鍵場景時(shí)序路徑完成優(yōu)化,當(dāng)前時(shí)序違約情況如表2所示。

表2 MCMM第1次優(yōu)化結(jié)果

結(jié)果顯示,大部分時(shí)序已經(jīng)滿足要求,func_ss_cmax的場景有建立時(shí)間上的時(shí)序的違例,func_ff_cmin場景有保持時(shí)間上的時(shí)序違例,只需要激活該場景然后迭代運(yùn)行一次指令“psynopt”即可修復(fù),結(jié)果如表3所示。

表3 MCMM第2次優(yōu)化結(jié)果

傳統(tǒng)方式修復(fù)時(shí)序,由于不同模式和工藝角之間數(shù)量較多,需要人工來回切換模式,并且模式之間時(shí)序相互影響,導(dǎo)致在時(shí)序收斂方面所需要的時(shí)間多于MCMM技術(shù)所需要的時(shí)間,在本次設(shè)計(jì)中嘗試?yán)脗鹘y(tǒng)方法進(jìn)行時(shí)序收斂。在這一過程中因?yàn)楣ぷ髂J綌?shù)量多,從而導(dǎo)致在模式間來回切換,切換次數(shù)多于20次,由于不同模式之間的時(shí)序干擾較為嚴(yán)重,所以人工ECO的工作量很大,時(shí)序收斂所需要的時(shí)間遠(yuǎn)遠(yuǎn)高于MCMM技術(shù)所需要的時(shí)間,具體結(jié)果如表3所示。對此可以看出MCMM技術(shù)在時(shí)序收斂方面優(yōu)勢明顯。MCMM流程完成后的版圖如圖3所示。

表3 傳統(tǒng)方法與MCMM技術(shù)所用時(shí)間對比

圖3 最終版圖

5 結(jié)論

本文介紹了MCMM技術(shù)在時(shí)序收斂方面的應(yīng)用,并利用FD_Z801設(shè)計(jì)實(shí)例闡述實(shí)現(xiàn)過程,結(jié)果表明該技術(shù)能夠?yàn)榘鎴D設(shè)計(jì)工程師節(jié)省設(shè)計(jì)時(shí)間,其實(shí)際應(yīng)用價(jià)值可觀。CTS(Clock Tree Synthesis)階段需要平衡時(shí)鐘網(wǎng)絡(luò)的負(fù)載,減小時(shí)鐘偏差,保持時(shí)鐘信號(hào)的完整性,從而建立一個(gè)合理的時(shí)鐘網(wǎng)絡(luò)[13]。所以本次設(shè)計(jì)過程中將MCMM技術(shù)從CTS階段開始應(yīng)用,并且達(dá)到芯片時(shí)序收斂的結(jié)果。在今后遇到更為復(fù)雜的設(shè)計(jì)時(shí)可以將MCMM技術(shù)應(yīng)用到邏輯綜合階段和布局布線階段,保證芯片能夠一次性滿足在不同工作模式和不同工藝角下的時(shí)序要求,同時(shí)避免在時(shí)序驗(yàn)證時(shí)反復(fù)回到布局布線階段進(jìn)行時(shí)序修復(fù),達(dá)到縮短設(shè)計(jì)周期和節(jié)約面積的效果,從而節(jié)約設(shè)計(jì)成本。同時(shí)現(xiàn)階段已有很多優(yōu)秀的EDA工具,可以從更多不同的角度研究MCMM優(yōu)化的設(shè)計(jì)流程以及方法。對于新的工藝和設(shè)計(jì)流程還有許多值得深入研究討論的地方。

猜你喜歡
時(shí)序芯片流程
基于時(shí)序Sentinel-2數(shù)據(jù)的馬鈴薯遙感識(shí)別研究
基于Sentinel-2時(shí)序NDVI的麥冬識(shí)別研究
吃水果有套“清洗流程”
違反流程 致命誤判
一種毫米波放大器時(shí)序直流電源的設(shè)計(jì)
電子制作(2016年15期)2017-01-15 13:39:08
芯片測試
本刊審稿流程
析OGSA-DAI工作流程
多通道采樣芯片ADS8556在光伏并網(wǎng)中的應(yīng)用
DPBUS時(shí)序及其設(shè)定方法
河南科技(2014年15期)2014-02-27 14:12:36
泊头市| 小金县| 措美县| 纳雍县| 沂源县| 晋中市| 肇庆市| 锦州市| 陆川县| 二手房| 余干县| 冕宁县| 玉田县| 威海市| 孝感市| 丹棱县| 宝鸡市| 岳普湖县| 高雄市| 台湾省| 荥经县| 增城市| 海门市| 天气| 横山县| 获嘉县| 敦煌市| 远安县| 山阳县| 如皋市| 崇左市| 南涧| 海丰县| 丘北县| 芜湖县| 墨脱县| 绥芬河市| 兰州市| 宜兰市| 喜德县| 衡阳市|