2023年開(kāi)篇——芯片設(shè)計(jì)五部曲來(lái)了,!
本季將會(huì)包括:模擬IC,、數(shù)字IC,、存儲(chǔ)芯片、算法仿真和總結(jié)篇(排名不分先后)
第一集:模擬IC
模擬IC是負(fù)責(zé)生產(chǎn),、放大和處理各類(lèi)模擬信號(hào)的電路,工程師通過(guò)模擬電路把模擬信號(hào)放大縮小后,,再全部記錄下來(lái),,是連續(xù)的信號(hào),;而數(shù)字IC則是通過(guò)0和1兩個(gè)代號(hào)來(lái)處理手機(jī)信號(hào)、寬帶信號(hào)和數(shù)碼信號(hào)等,,是離散的信號(hào),。
如果說(shuō)數(shù)字IC像科學(xué),那么模擬IC,,就更像是一種魔法,。
利用計(jì)算機(jī)來(lái)輔助模擬芯片設(shè)計(jì),本質(zhì)是在解一道又一道高階微分方程題,。
EDA工具就是干這個(gè)的,,ta的價(jià)值,就不需要我們來(lái)解釋了,。
而我們今天的主題是:模擬IC設(shè)計(jì)不同階段有哪些典型的業(yè)務(wù)特點(diǎn),,使用的EDA工具有哪些特性,我們?nèi)绾卫糜?jì)算機(jī)技術(shù)提升不同業(yè)務(wù)場(chǎng)景的計(jì)算效率,,協(xié)助模擬芯片工程師更高效地完成芯片研發(fā)工作,,提升整體效率。
本篇主要從EDA工具的計(jì)算任務(wù)視角出發(fā),。
而在計(jì)算角度之外,,調(diào)度/管理/數(shù)據(jù)/協(xié)同/CAD等視角,那就是另外的(價(jià)錢(qián))篇章了~
先給大家一個(gè)模擬芯片設(shè)計(jì)全流程分析圖:
1,、前仿階段:前端電路設(shè)計(jì)與仿真
本階段包括了設(shè)計(jì)需求/說(shuō)明書(shū)架構(gòu),、原理圖輸入、前仿結(jié)果比對(duì)設(shè)計(jì)需求3大步驟,。
前仿階段本質(zhì)上是數(shù)值計(jì)算,,因此對(duì)主頻要求很高,一旦資源無(wú)法滿足,,會(huì)直接造成CPU過(guò)載,,且任務(wù)之間獨(dú)立可切割,十分適合并行,?;谠O(shè)計(jì)圖的設(shè)計(jì)與仿真,參數(shù)范圍較少,,對(duì)內(nèi)存要求不高,。此階段多為多corner與蒙特卡羅Monte Carlo任務(wù),峰值算力需求較高,,存儲(chǔ)需求一般,。
2、中期:版圖設(shè)計(jì)驗(yàn)證
本階段包括版圖設(shè)計(jì),、版圖規(guī)則檢查DRC/LVS兩個(gè)步驟,。
版圖繪制/驗(yàn)證同屬規(guī)則檢查,,因?yàn)椴簧婕皵?shù)值計(jì)算,對(duì)主頻要求不高,,重內(nèi)存需求,。版圖可以模塊為單位進(jìn)行切割,子任務(wù)間幾乎無(wú)數(shù)據(jù)關(guān)聯(lián),、適合并行,。但版圖檢查量十分大,算力需求比前仿高,,推薦使用多核+大內(nèi)存機(jī)型,,存儲(chǔ)要求最高。
3,、后仿階段:后端仿真
后仿包括寄生參數(shù)提取,、后端仿真、GDS文件形成,。
后仿和前仿類(lèi)似,,多個(gè)任務(wù)可進(jìn)行分布式處理。但后仿階段任務(wù),,因?yàn)橛锌赡苌婕半姶艌?chǎng)仿真,,本質(zhì)雖為數(shù)值計(jì)算,但需在優(yōu)先滿足內(nèi)存情況下,,再滿足高主頻需求,,因?yàn)榧尤肓烁黝?lèi)元器件的寄生參數(shù),算力需求是三大階段里最高的,,存儲(chǔ)比前仿要求高,,有時(shí)會(huì)與版圖階段相當(dāng)。
以下,,我們選了三種典型場(chǎng)景,,展開(kāi)說(shuō)說(shuō):
兩大超常見(jiàn)數(shù)值計(jì)算場(chǎng)景
多corner又稱(chēng)為多工藝角,和蒙特卡羅Monte Carlo屬于兩種不同的電路性能與工藝誤差的估計(jì)方法,,但本質(zhì)上都是數(shù)值計(jì)算,,前仿和后仿都會(huì)大量使用這兩種方法進(jìn)行任務(wù)處理。這兩種方法里的單個(gè)任務(wù)間都獨(dú)立,、沒(méi)有數(shù)據(jù)關(guān)聯(lián),,不論是多corner 還是Monte Carlo都很適合進(jìn)行分布式并行計(jì)算。
推薦閱讀:揭秘20000個(gè)VCS任務(wù)背后的“搬桌子”系列故事
這個(gè)故事拆開(kāi)揉碎地解釋了我們?cè)趺磶椭脩?hù)從單機(jī)單任務(wù)單線程運(yùn)行的階段大幅度跨越到了大規(guī)模任務(wù)自動(dòng)化集群化運(yùn)行階段,,應(yīng)該能很好地幫助你理解為啥分布式并行計(jì)算會(huì)大大提高計(jì)算效率,。
多corner是將元件的電阻,、溫度,、電壓等參數(shù)的誤差上下限固定后,,取每個(gè)參數(shù)的極值(誤差上限或誤差下限)進(jìn)行排列組合,每一個(gè)組合都是一個(gè)獨(dú)立的任務(wù),。
一種組合就是一個(gè)corner,,全部的排列組合即多corner。
這就像你來(lái)到一家二選一奶茶店,。這家店奶茶店的甜度,、熱度、加多少配料都只提供兩個(gè)選擇,,你要么選擇不甜,,要么最甜。你每喝一次無(wú)非都在這些選項(xiàng)里排列組合(2*2*2種),,比如超多糖,、燙嘴、超多料,;下次你換一種排列組合,,無(wú)糖,多冰,,無(wú)料,;所有選項(xiàng)的排列組合全點(diǎn)了,那就是多corner,。
蒙特卡羅Monte Carlo則是在上,、下限之間無(wú)窮盡地取值進(jìn)行排列組合。
這次你來(lái)到了一家新的奶茶店,,名字叫無(wú)窮∞奶茶店,,選項(xiàng)完全定制化。你可以在選擇任意一個(gè)值,,比如第一次你喝的是3分甜,、少少冰、不加料,;下一次覺(jué)得不夠甜,,不冰,你點(diǎn)了6.6分甜,、7.8分冰,、加兩顆珍珠。
這樣就會(huì)有出現(xiàn)無(wú)數(shù)種排列組合的奶茶,,這就是蒙特卡羅Monte Carlo了,。
可取無(wú)數(shù)個(gè)組合的蒙特卡羅Monte Carlo可以用來(lái)估算良率的范圍,隨著取值組合越多,,對(duì)工藝偏差導(dǎo)致的誤差估計(jì)范圍越準(zhǔn)確,,對(duì)實(shí)際的成品良率預(yù)測(cè)范圍越準(zhǔn)確,,當(dāng)然計(jì)算量也會(huì)成倍提高。
不管是哪家奶茶店,,這杯奶茶與那杯奶茶之間互相獨(dú)立,,你喝你的,我喝我的,。
這就是多corner和蒙特卡羅Monte Carlo任務(wù)特別適合分布式并行計(jì)算的本質(zhì)原因,。
不同任務(wù),你算你的,,我算我的,,分開(kāi)算,人多力量大,。
不論是前仿還是后仿階段,,都需要大量多corner與蒙特卡羅Monte Carlo仿真。
兩者相比,,蒙特卡羅Monte Carlo仿真因?yàn)槿≈颠x擇多,,組合多,計(jì)算量明顯比多corner大,。
而前仿和后仿之間,,后仿因涉及更多的物理參數(shù),兩種算法的計(jì)算量都會(huì)呈幾何倍增長(zhǎng),,算力需求也更大,。
整體來(lái)說(shuō),這兩種數(shù)值計(jì)算方法任務(wù)間獨(dú)立,,算力需求大,,是我們幫用戶(hù)提高效率的典型場(chǎng)景之一。
“大家來(lái)找茬”之版圖驗(yàn)證任務(wù)
版圖設(shè)計(jì),,就是把設(shè)計(jì)好的電路原理圖變成包含實(shí)際布局布線規(guī)劃內(nèi)容的掩模版圖,,設(shè)計(jì)師每天在電路圖上畫(huà)花花綠綠的MOS管,確定要用多少元件,、用哪種排列方法,,在保證芯片電氣性能的前提下,怎么跨層使得芯片體積最小,、最省錢(qián),。
版圖驗(yàn)證就是把畫(huà)好的版圖和原理圖進(jìn)行比對(duì),確保兩者的拓?fù)溥B接關(guān)系一致,,同時(shí)檢查版圖是否符合foundry的設(shè)計(jì)工藝,。
版圖設(shè)計(jì)與驗(yàn)證,就像是在玩一個(gè)“大家來(lái)找茬”的游戲,首先幾個(gè)版圖設(shè)計(jì)師先一起把這張圖分工合作給畫(huà)出來(lái),。到了版圖驗(yàn)證階段,,就開(kāi)始正式玩找茬游戲了。目的是檢查版圖有哪些地方不對(duì),,有問(wèn)題的話,打回去重新畫(huà),。畫(huà)完再繼續(xù)檢查,,循環(huán)往復(fù)。
如果使用“小F影分身術(shù)”(版圖分割術(shù)),,可以把小F分為9個(gè)影子,,每個(gè)影子只需負(fù)責(zé)找茬九分之一個(gè)版圖,影分身的數(shù)量越多(版圖切割的任務(wù)數(shù))越多,,分配的資源數(shù)越多,,單位效率越高(當(dāng)然,版圖大小有個(gè)物理上限,,沒(méi)必要走極端),。
更重要的一點(diǎn),切割版圖與找茬任務(wù)之間互不干擾,,你改你的,,我改我的。你改完了重新提交下一輪,,也不影響我還在上一輪,。中間也不用因?yàn)榈却9ぁ?/p>
切割版圖并合理分配資源的檢查方法,可以讓版圖設(shè)計(jì)師無(wú)需苦苦等待一臺(tái)計(jì)算機(jī)對(duì)單個(gè)大版圖各部分逐一檢查,,而可以讓多臺(tái)計(jì)算機(jī)并行檢查同一張大版圖的不同部分,,并自動(dòng)匯總結(jié)果。這樣一來(lái)就能更快地完成任務(wù),。
版圖,、原理圖對(duì)比與設(shè)計(jì)規(guī)則檢查同屬檢查類(lèi)任務(wù),都是以模塊為單位,,本質(zhì)上是數(shù)據(jù)對(duì)比工作,、重內(nèi)存需求、子任務(wù)間沒(méi)有數(shù)據(jù)關(guān)聯(lián),,是一種高并行度任務(wù),。因此這一階段很適合在云上使用內(nèi)存優(yōu)化型資源,通過(guò)暴力堆資源的方式快速完成任務(wù),。
模擬電路王冠上的明珠--射頻電路
射頻芯片作為模擬電路王冠上的明珠,,一直被認(rèn)為是芯片設(shè)計(jì)中的“華山之巔”。
一方面因?yàn)樯漕l電路的物理形狀和周?chē)橘|(zhì)分布會(huì)對(duì)射頻信號(hào)的傳輸造成很大影響,因此設(shè)計(jì)之路十分困難,,前期需要進(jìn)行大量仿真測(cè)試,,而且為了保證高頻性能,材料的選取也十分講究,,比如砷化鎵和氮化鎵,。
另一方面,為了保證射頻芯片各類(lèi)指標(biāo)的性能均衡,,很多指標(biāo)的性能要求都需要挑戰(zhàn)工藝極限或設(shè)計(jì)創(chuàng)新性的電路結(jié)構(gòu),,十分考驗(yàn)工程師的經(jīng)驗(yàn)積累。
而射頻需要使用電磁場(chǎng)仿真,,需要計(jì)算三維空間向量,。
如果說(shuō)版圖是將二維世界切成一片片的,那射頻就是將立體空間切成一粒粒的,,當(dāng)然更具挑戰(zhàn)性,,算力需求也會(huì)呈指數(shù)級(jí)增加。
當(dāng)遇到CPU無(wú)法滿足的情況,,不妨嘗試使用GPU處理,,他們可是處理向量計(jì)算的一把好手。
目前射頻電路電磁場(chǎng)仿真的三種常用軟件分別為:HFSS,、EMX,、ADS。
HFSS處理智能制造/汽車(chē)制造場(chǎng)景下的電磁場(chǎng)仿真較多,、也支持部分芯片設(shè)計(jì)場(chǎng)景,,EMX和ADS處理芯片設(shè)計(jì)場(chǎng)景的電磁場(chǎng)仿真更為廣泛。其中,,HFSS和19版之后的ADS支持GPU處理電磁場(chǎng)仿真任務(wù),,且通過(guò)并行化處理后,效率提升十分顯著,;EMX作為Cadence里的萬(wàn)能插件暫不支持GPU任務(wù),。
關(guān)于計(jì)算量級(jí)的本質(zhì)
單模塊、多模塊和top級(jí)任務(wù)是三種計(jì)算量級(jí)的任務(wù),,從字面上就能猜到單模塊任務(wù),,計(jì)算量最少;以此遞增,,top級(jí)任務(wù)計(jì)算量最多,。
單模塊任務(wù)指的是單一模塊的任務(wù),比如單層上的某個(gè)元器件就是一個(gè)單模塊任務(wù),,計(jì)算量級(jí)最小,,可能可以繼續(xù)拆,也可能是最小不可拆分任務(wù);
多模塊任務(wù)指的是多個(gè)單模塊合并在一起的任務(wù),,比如一層上的多個(gè)元器件組合在一起的模塊,,計(jì)算量級(jí)中等,可將多個(gè)模塊拆分進(jìn)行多線程處理,;
top級(jí)任務(wù),,字如其名,是整個(gè)芯片設(shè)計(jì)階段最大規(guī)模的仿真,,將整個(gè)芯片的全部功能模塊聚在一起,,做全功能驗(yàn)證。top級(jí)仿真是在頂視圖下的一整套前仿或后仿,,算力需求最高,。
如果涉及到先進(jìn)工藝(28nm以下芯片),,更小的空間,,更多的模塊,更復(fù)雜的PDK工藝庫(kù),,計(jì)算量呈指數(shù)級(jí)增長(zhǎng),。
而且先進(jìn)制程芯片后仿時(shí)還要做IR Drop的獨(dú)立性檢查,是SignOff的一個(gè)必要步驟,。業(yè)內(nèi)在該步驟使用的工具大多為Redhawk,,和DRC/LVS的算法流程基本一致。
關(guān)于模擬IC設(shè)計(jì),,從不同設(shè)計(jì)階段的計(jì)算任務(wù)視角出發(fā),,我們總結(jié)了三點(diǎn):
1、三大階段的算力需求呈現(xiàn)前期<中期<后期的趨勢(shì),。和波谷相比,,峰值算力最高可達(dá)到百萬(wàn)級(jí)別,使用彈性云端資源可以高效且動(dòng)態(tài)地滿足峰值需求,;
2,、多corner、蒙特卡羅Monte Carlo以及DRC,、LVS這類(lèi)任務(wù),,非常適合直接用多機(jī)并行來(lái)提升任務(wù)效率;
3,、基于單模塊不可拆的任務(wù),,雖不能做到多機(jī)分布式處理,但可以通過(guò)上大內(nèi)存,、高主頻機(jī)型,,靠機(jī)器的性能實(shí)現(xiàn)任務(wù)效率的提升。
說(shuō)到這,模擬IC篇就結(jié)束啦,,敬請(qǐng)期待我們的第二集--數(shù)字IC,!
敬請(qǐng)關(guān)注電子技術(shù)應(yīng)用2023年2月22日==>>商業(yè)航天研討會(huì)<<