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