用買奶茶的方式來理解模擬晶片的設計
Back to previous page
與一般晶片產品相比,模擬晶片通常具有更長的生命週期和更廣泛的應用,憑藉其極其多樣化的產品類別和廣泛的應用範圍,包括消費電子、電信、工業和汽車終端市場,模擬晶片在半導體行業低迷時期仍可以通過補充不同市場的需求來展示其行業彈性,這在 2022 年的庫存調整中展現得非常突出。
這也是模擬晶片相較於其他晶片在設計付出更多的原因吧,設計師表示真的很累!
例如數字晶片設計,強調的是運算速度和成本比。主要在抽象級別上完成,不需要關注門/電晶體級放置和路由的細節。
而模擬晶片設計強調的是強調的是高信噪比、低失真、低功耗及穩定性。設計師每天在電路圖上畫花花綠綠的MOS管,要確定用多少元件、用哪種排列方法,怎麼跨層使得晶片體積最小、性能最高、最省錢。涉及每個電路的個性化特點,甚至涉及每個電晶體的大小和細節,設計和驗證也更為複雜。
國內外知名的模擬晶片設計企業數量並不多,國外主要是德州儀器、亞德諾半導體、英飛淩等;國內主要有艾為電子,士蘭微電子,聖邦微電子等,從業20年的微碧半導體當然也身在其列。
晶片設計是一個專業知識高度集合並組織的過程,其中運用到的設備、軟體工具的要求都非常高,例如EDA工具。今天我們主要從EDA工具的計算任務視角出發來瞭解模擬晶片的設計之路。
至於在計算角度之外,調度/管理/數據/協同/CAD等視角,
另外的篇章了。
首先簡單瞭解下模擬晶片設計的大致流程。
前期階段本質上是數值計算,多為多corner與蒙特卡羅Monte Carlo任務,峰值算力需求較高,存儲需求一般。
至於多corner與蒙特卡羅Monte Carlo是什麼東西,我們也簡單介紹下。這是兩種不同的電路性能與工藝誤差的估計方法,這兩種方法裏的單個任務間都獨立、沒有數據關聯,不論是多corner 還是Monte Carlo都很適合進行分佈式並行計算。
多corner是將元件的電阻、溫度、電壓等參數的誤差上下限固定後,取每個參數的極值進行排列組合,每一個組合都是一個獨立的任務。一種組合就是一個corner,全部的排列組合即多corner。
就像是你去奶茶店買奶茶,不過這家奶茶店有點特殊,提供的服務都很極端,你只能選擇無糖,或者超多糖最甜的,要麼熱到燙嘴、要麼就是冰的,再或者沒有配料、或者全是配料。
你買的奶茶無非就是在這些選項裏進行組合,比如超多糖、燙嘴、超多料;下次你換一種排列組合,無糖,多冰,無料;所有選項的排列組合全點了,那就是多corner。
但你覺得這家店的奶茶你不喜歡,所以來到了一家新的奶茶店,這家店就厲害了,可以根據你的需求完全定制。
比如你可以選5分甜、少少冰、不加料;或者你想搞點事,點了5.5分甜、半冰半熱、再加半顆珍珠等等組合。
這樣就會有出現無數種排列組合的奶茶,這就是蒙特卡羅Monte Carlo在上下限之間無窮盡的取值進行排列組合。
隨著取值組合越多,對工藝偏差導致的誤差估計範圍越準確,對實際的成品良率預測範圍越準確,當然計算量也會成倍提高。
中期階段的版圖設計,就是把設計好的電路原理圖變成包含實際佈局佈線規劃內容的掩模版圖,版圖驗證就是把畫好的版圖和原理圖進行比對,確保兩者的拓撲連接關係一致,同時檢查版圖是否符合foundry的設計工藝。
版圖設計與驗證,就像是在玩“找茬”遊戲一樣,檢查版圖和原理圖不同的地方,有問題的話,打回去重新畫。畫完再繼續檢查,循環往復。
版圖檢查量十分大,好在版圖可以以模組為單位進行切割,板塊之間互不干擾,各改各的。你改完了重新提交下一輪,也不影響我還在上一輪。中間也不用因為等待而停工。
切割版圖並合理分配資源的檢查方法,可以讓版圖設計師無需苦苦等待一臺電腦對單個大版圖各部分逐一檢查,而可以讓多臺電腦並行檢查同一張大版圖的不同部分,並自動匯總結果。這樣一來就能更快地完成任務。
後仿階段本質為數值計算,因為加入了各類元器件的寄生參數,算力需求是三大階段裏最高的。
比如射頻晶片,作為模擬電路王冠上的明珠,一直被認為是晶片設計中的“華山之巔”。一方面因為射頻電路的物理形狀和周圍介質分佈會對射頻信號的傳輸造成很大影響,因此設計之路十分困難,前期需要進行大量仿真測試,而且為了保證高頻性能,材料的選取也十分講究,比如砷化鎵和氮化鎵。另一方面,為了保證射頻晶片各類指標的性能均衡,很多指標的性能要求都需要挑戰工藝極限或設計創新性的電路結構,十分考驗工程師的經驗積累。
而射頻需要使用電磁場仿真,需要計算三維空間向量。如果說版圖是將二維世界切成一片片的,那射頻就是將立體空間切成一粒粒的,當然更具挑戰性,算力需求也會呈指數級增加。
關於模擬晶片設計,從不同設計階段的計算任務視角出發,可以總結以下三點:
1、三大階段的算力需求呈現前期<中期<後期的趨勢。
2、多corner、蒙特卡羅Monte Carlo以及DRC、LVS這類任務,非常適合並行計算來提升任務效率。
3、基於單模組不可拆的任務,雖不能做到分佈式處理,但可以通過大記憶體、高主頻機型,靠機器的性能實現任務效率的提升。
中文
English