一千多年前,詩人李白創(chuàng)作了豪放灑脫、氣勢磅礴的《蜀道難》,并發(fā)出了“蜀道難,難于上青天”的感慨。從長安到巴蜀之地,要穿越秦嶺和大巴山,山高谷深,道路崎嶇,極為艱險!我雖沒有李白“筆落驚風(fēng)雨,詩成泣鬼神”般的才華,但想借用李白的詩句來表達(dá)芯片設(shè)計之難,從某種角度來說,芯片設(shè)計是真的“難于上青天”!
難點之一——設(shè)計具有競爭力的高性能芯片
以個人計算機(jī)中的CPU為例,其全球市場幾乎被AMD和英特爾瓜分。在消費(fèi)電子領(lǐng)域,高性能就是絕對的競爭力,這在AMD和英特爾幾十年的競爭歷史上得到了完美的證明。一方的性能如果能全面超越另一方,那么其市場占有率就會發(fā)生明顯的變化。
比如,AMD在2003年推出的基于K8微架構(gòu)的64位速龍處理器,因其強(qiáng)悍的性能成為高端游戲玩家的主流配置。其市場份額也在逐年攀升,甚至在桌面CPU領(lǐng)域的市占率一度超過英特爾,但隨后英特爾憑借酷睿CPU重新奪回市場。
AMD和英特爾之間的競爭如“神仙打架”一般,鮮有第三家公司能擠進(jìn)這個領(lǐng)域。這是因為AMD和英特爾擁有最優(yōu)秀的架構(gòu)師,架構(gòu)設(shè)計思想經(jīng)過多年的市場驗證及迭代,始終走在領(lǐng)域的最前沿。
從前端設(shè)計的角度看,頂級芯片設(shè)計公司在芯片性能(Performance)、功耗(Power)、面積(Area)方面都做到了極致,后來者恐怕難以望其項背!
難點之二——為芯片設(shè)計新功能
業(yè)內(nèi)的多數(shù)芯片都有著成熟的設(shè)計方案,并且新產(chǎn)品都是基于上一代項目的迭代而誕生的,芯片設(shè)計過程相對容易。如果為了解決一個新的問題或者適應(yīng)新的使用場景,從頭開始設(shè)計一款芯片,那么難度會直線上升。
首先要考慮如何設(shè)計架構(gòu),實現(xiàn)新的功能;其次要考慮如何用硬件描述語言實現(xiàn)架構(gòu)師的想法,以及如何在有限的硬件資源條件下盡可能提高性能。這些問題都非??简?a target="_blank">工程師的技術(shù)實力。
難點之三——芯片驗證
事實上,驗證工程師承受著非常大的壓力,因為面對功能復(fù)雜的芯片,保證覆蓋率達(dá)標(biāo)是一件非常困難的事情。在流片之后,如果芯片沒有成功點亮,驗證工程師也會挺身而出,與硅后工程師一起完成芯片的調(diào)試工作。在實際的芯片項目中,找到芯片設(shè)計中一個相對隱晦的錯誤并不容易。
難點之四——可測性設(shè)計和測試
在可測性設(shè)計中,業(yè)界通常要求固定型故障的測試覆蓋率要達(dá)到99%或者99.5%,甚至更高。在超大規(guī)模的芯片中,邏輯設(shè)計極為復(fù)雜,邏輯深度大,很多電路難以被控制和觀測,盡管有EDA工具作為輔助,但要達(dá)到目標(biāo)并不容易。
在我初入職場時,公司領(lǐng)導(dǎo)曾給我講了一個故事:多年之前,一位工程師在芯片測試階段遇到了一個棘手的問題,耗費(fèi)一個月的時間仍沒有任何進(jìn)展,在巨大的壓力和挫敗感下,這位工程師趴在測試機(jī)上痛哭,讓人頗為唏噓。
拋開技術(shù)不談,芯片設(shè)計需要投入大量資金,流片費(fèi)用高昂,是一個名副其實的“燒錢”的行業(yè)。如果沒有資金注入,就好比“巧婦難為無米之炊”,寸步難行。
2021年4月21日,在芯片界的頂級會議Hot?Chips大會上,Cerebras Systems公司發(fā)布了一款晶圓級引擎芯片——Wafer Scale Engine 2。這款芯片采用臺積電7納米工藝制程,擁有85萬個AI核心,包含2.6萬億個晶體管,面積為46225平方毫米,基于一整張12英寸的晶圓制造,這是迄今為止包含晶體管數(shù)量最多的芯片 。
除了這款“巨無霸”,市面上主流的用在智能手機(jī)或者個人電腦中的芯片,其晶體管規(guī)模都在百億級。那么數(shù)量如天文數(shù)字般的晶體管,是如何被設(shè)計出來的呢?
“上百億個晶體管,總不能用手來畫吧?”相信很多非業(yè)內(nèi)人士會有類似的困惑。
其實在集成電路發(fā)展早期,內(nèi)部的晶體管都是通過手畫設(shè)計的,彼時芯片的規(guī)模較小,只有幾十個或者幾百個晶體管。但隨著芯片的發(fā)展和演進(jìn),其邏輯功能變得越來越復(fù)雜且全面,晶體管的數(shù)目也呈指數(shù)級增長,此時再徒手畫電路,顯然是不現(xiàn)實的。隨后,計算機(jī)輔助設(shè)計開始應(yīng)用于芯片領(lǐng)域。在直接促成百億級規(guī)模的芯片設(shè)計這一方面,有三種秘密武器必不可少。
秘密武器之一——使用編程語言來設(shè)計芯片的思想
這個思想來自卡沃·米德和林恩·康威的著作《超大規(guī)模集成電路系統(tǒng)導(dǎo)論》,它的提出是芯片設(shè)計歷史上一個非常重要的里程碑。
假設(shè)我們要設(shè)計一個數(shù)據(jù)比較器,當(dāng)輸入值a和b相等時,equal的返回值為1;當(dāng)a和b不相等時,返回值為0。使用Verilog語言,一行代碼即可實現(xiàn)。
assign?equal = (a==b)? 1 : 0;
但如果徒手畫晶體管電路,通過分析以上數(shù)據(jù)比較器的功能可知,邏輯功能和同或門一致,因此可以用異或門后接一個反相器實現(xiàn)該數(shù)據(jù)比較器的功能。搭建一個異或門最少需要6個晶體管,一個反相器需要2個晶體管,所以我們用一行代碼就完成了8個晶體管的設(shè)計,這大幅提高了工程師設(shè)計芯片的效率!
這是數(shù)字芯片設(shè)計中最簡單的一個例子,在實際工作中,工程師可以在比較抽象的層次上描述設(shè)計電路的結(jié)構(gòu)和邏輯功能,用簡潔明確的源代碼描述復(fù)雜的邏輯功能,并且支持模塊化設(shè)計和層次化設(shè)計。往往由簡單的幾十行代碼設(shè)計出來的電路,即可包含成千上萬個晶體管。因此,通過編程可以讓設(shè)計具有百億級數(shù)量晶體管的芯片成為可能。
秘密武器之二——EDA
在 RTL 設(shè)計完成后,即可采用邏輯綜合工具把RTL 轉(zhuǎn)換成門級網(wǎng)表,也就是與、或、非等邏輯門及其之間的連接關(guān)系。將RTL 轉(zhuǎn)換成門級網(wǎng)表的過程主要有三個步驟:翻譯、優(yōu)化和映射。就像自動化流水線一樣,只要把原材料放進(jìn)去,就可以得到成品。這些紛繁復(fù)雜的工作都交給EDA來做,可以明顯縮短設(shè)計的時間,加快將芯片推向市場的速度。
秘密武器之三——重復(fù)調(diào)用已有的成熟設(shè)計模塊
在芯片中,很多單元或模塊的數(shù)目不止用到一次,比如算術(shù)邏輯單元,我們只需設(shè)計一次,即可重復(fù)調(diào)用。這好比建筑師在設(shè)計住宅樓時,只需設(shè)計幾種標(biāo)準(zhǔn)戶型,并不要求每間房屋的戶型都是獨一無二的設(shè)計?;蛘邚母邔哟蔚慕嵌瓤?,目前的中央處理器都是8核、16核等,這些核心在設(shè)計上也幾乎是一致的。
盡管芯片設(shè)計工程師被認(rèn)為是硬件工程師,但編程是芯片設(shè)計工程師必不可少的技能之一,也正是編程思想賦予了芯片設(shè)計無限的可能。
本文節(jié)選自一本“嚴(yán)(專)肅(業(yè))的”芯片科普圖書——《了不起的芯片》。
作者王健,筆名“溫戈”,畢業(yè)于西安電子科技大學(xué),曾就職于全球頂級芯片測試公司Teradyne,現(xiàn)為某芯片大廠數(shù)字芯片設(shè)計經(jīng)理。成功參與多款高性能CPU、GPU、服務(wù)器等超大規(guī)模SoC芯片產(chǎn)品的流片。在芯片設(shè)計、可測性設(shè)計、芯片測試及應(yīng)用開發(fā)等領(lǐng)域具有豐富的實戰(zhàn)經(jīng)驗。
知乎平臺芯片(集成電路)、中央處理器(CPU)話題優(yōu)秀答主,數(shù)碼鹽究員。騰訊新聞特約撰稿人,四川衛(wèi)視《了不起的分享》節(jié)目嘉賓,微信公眾號“OpenIC”主理人。累計創(chuàng)作內(nèi)容高達(dá)百萬字,涉及科技熱點解讀、芯片科普、技術(shù)分享、職場成長等主題,深受讀者好評,全網(wǎng)關(guān)注人數(shù)超過30萬,閱讀量過億。
編輯:黃飛
?
評論