芯片作(zuo)為現代(dai)電子產品的核心部件,一直充當著“大腦(nao)”的位置,其技(ji)術(shu)(shu)含量和資金極度密集,生(sheng)產線動輒數(shu)十億上百億美金。芯(xin)片(pian)制造(zao)的完整過程包括:芯(xin)片(pian)設計、晶(jing)圓制造(zao)、封裝、測試等幾個主要環(huan)節,其中(zhong)每個環(huan)節都是技(ji)術(shu)(shu)和科技(ji)的體現。
對(dui)于芯(xin)(xin)片(pian)(pian)(pian)來說設(she)(she)計和工(gong)藝同樣復雜,八十年代EDA技術誕生——芯(xin)(xin)片(pian)(pian)(pian)自動化設(she)(she)計,使得芯(xin)(xin)片(pian)(pian)(pian)設(she)(she)計以及(ji)超大(da)規模集成(cheng)電(dian)路(lu)(lu)的難度大(da)為(wei)降低(di),工(gong)程師只需(xu)將芯(xin)(xin)片(pian)(pian)(pian)的功能(neng)用芯(xin)(xin)片(pian)(pian)(pian)設(she)(she)計語言描述并輸入電(dian)腦,再(zai)由EDA工(gong)具軟(ruan)件將語言編譯成(cheng)邏輯電(dian)路(lu)(lu),然后再(zai)進行(xing)調(diao)試即(ji)可,正如編輯文檔需(xu)要微軟(ruan)的office,圖(tu)片(pian)(pian)(pian)編輯需(xu)要photoshop一樣,芯(xin)(xin)片(pian)(pian)(pian)開發者利用EDA軟(ruan)件平臺來進行(xing)電(dian)路(lu)(lu)設(she)(she)計、性(xing)能(neng)分析(xi)到生成(cheng)芯(xin)(xin)片(pian)(pian)(pian)電(dian)路(lu)(lu)版(ban)圖(tu)。現(xian)在的一塊芯(xin)(xin)片(pian)(pian)(pian)有上百億個晶體管,不依靠EDA工(gong)具,高(gao)端芯(xin)(xin)片(pian)(pian)(pian)設(she)(she)計根本無(wu)從下手。你細品(pin),這(zhe)么(me)浩瀚的工(gong)程怎(zen)么(me)能(neng)靠手動完成(cheng)呢?
重點是(shi)盡管有了EDA也并不代表芯(xin)片(pian)設計這件事很容易,芯(xin)片(pian)設計仍然是(shi)一(yi)個集高精尖于(yu)一(yi)體(ti)的復雜系(xi)統工程。
不管是IDM還是fabless,共同的特點是以芯片設計為產業的核心。舉個栗子,2018年AMD的處理器改由臺積電代工,制程為7nm,英特爾的處理器制程還是14nm,但性能照樣壓制了AMD,說明芯片設計也是非常關鍵的鴨。
設(she)計一款芯(xin)(xin)片(pian),開(kai)發者先要明確需求,確定芯(xin)(xin)片(pian)“規(gui)范”,定義諸如指令(ling)集、功(gong)能、輸(shu)入輸(shu)出(chu)管腳、性能與(yu)功(gong)耗等關鍵信(xin)息,將電路劃分成多(duo)個小模塊,清(qing)晰地描(miao)述(shu)出(chu)對每個模塊的要求。
然后由“前端”開發(fa)者根(gen)據(ju)(ju)每(mei)個模塊功能設計(ji)(ji)出“電路”,運用計(ji)(ji)算機語言建立(li)模型并驗證其(qi)功能準確無(wu)誤。“后端”開發(fa)者則要根(gen)據(ju)(ju)電路設計(ji)(ji)出“版圖(tu)”,將數以億計(ji)(ji)的電路按其(qi)連接(jie)關(guan)系(xi),有(you)規律地(di)翻印到一個硅(gui)片上。
至此,芯片(pian)設計才算完成。如此復雜(za)的設計,不能有(you)任何缺陷,否(fou)則無(wu)法修補,必(bi)須從頭再(zai)來。如果重新設計加工,一般(ban)至少需要一年時間,再(zai)投入上千萬美(mei)元的經費,有(you)時候甚至需要上億。
敲黑(hei)板,戴眼鏡,既(ji)然大(da)家普(pu)遍對芯片(pian)制造的難度有(you)(you)一定的了解,那這(zhe)篇文(wen)章希望可(ke)以讓(rang)大(da)家對芯片(pian)設計的難度也有(you)(you)共(gong)同(tong)的認(ren)知(zhi)。
01第一關,難在架構設計
芯片設計(ji),環節眾多(duo),每個環節都(dou)面臨(lin)很多(duo)挑戰(zhan)。以相對較為簡單的數字(zi)集成電路設計(ji)為例設計(ji)多(duo)采用自頂(ding)向下設計(ji)方(fang)式(shi),層層分(fen)解后包括:
需(xu)求定(ding)(ding)義(yi):結合外部(bu)環(huan)境分(fen)析、供應鏈(lian)資源、公(gong)司自身定(ding)(ding)位等信息,提(ti)出對新一(yi)代產(chan)品的需(xu)求,并進(jin)一(yi)步考慮產(chan)品作用(yong)、功能、所需(xu)線板數量、使用(yong)集成電路類型等,精準(zhun)定(ding)(ding)義(yi)產(chan)品需(xu)求。這(zhe)一(yi)環(huan)節的難度在(zai)于對市場、技術(shu)的未(wei)來趨勢準(zhun)確判斷和對設計人員(yuan)、制造工廠等自身和產(chan)業鏈(lian)情(qing)況(kuang)、能力的充分(fen)了解。
功(gong)能(neng)實(shi)現(xian):描(miao)述(shu)芯片(pian)需要(yao)實(shi)現(xian)的(de)目標,通常用硬件描(miao)述(shu)語(yu)言編寫。這一(yi)環節的(de)難度在(zai)于對芯片(pian)整體可以達到的(de)性(xing)能(neng)、功(gong)能(neng)的(de)把握,既要(yao)充分滿足目標,又不(bu)能(neng)超過自身的(de)能(neng)力(li)上限。
結構設計:根據芯片的特點,將其劃分成接口清晰、相互關系明確、功能相對獨立的子模塊。這一環節難度在于對芯片結構的熟悉,是否能用盡可能少的模塊和盡可能低的標準達到要求。
邏輯綜合(he):開發者將(jiang)硬件描(miao)述語言轉換成(cheng)邏輯電路圖(tu)。這(zhe)一環節難度在于需要(yao)保證(zheng)代碼的(de)可綜合(he)、清晰(xi)簡潔、可讀性,有時還(huan)要(yao)考慮模塊的(de)復用性。
物理實現:將邏輯電路轉換成為有物理連接的電路圖。這一環節難度在于如何根據制程,使用盡可能少的元件和連線完成從RTL描述到綜合庫單元之間的映射,得到一個在面積和時序上滿足需求的門級網表,并使內部互不干擾。
物(wu)理版圖:以 GDSII 的(de)文件(jian)格式交給晶圓(yuan)廠(chang),在硅片(pian)上做(zuo)出實際的(de)電(dian)路,再進(jin)行封裝(zhuang)和測(ce)試,得(de)到物(wu)理芯(xin)片(pian)。
必(bi)須說明的是(shi),芯片設計(ji)時(shi),需(xu)要考(kao)慮許多變量,例(li)如信號干(gan)擾、發熱(re)分(fen)布(bu)等,而(er)芯片的物理特(te)性(xing),如磁(ci)場、信號干(gan)擾,在不同制(zhi)程(cheng)下有很大(da)不同,沒(mei)有數(shu)學公式可以直接(jie)(jie)計(ji)算,也沒(mei)有可套用的經驗(yan)數(shu)據(ju)直接(jie)(jie)填入,只能(neng)依(yi)靠EDA工具一(yi)(yi)(yi)(yi)步(bu)一(yi)(yi)(yi)(yi)步(bu)設計(ji),一(yi)(yi)(yi)(yi)步(bu)步(bu)模擬,不斷取舍(she)。每一(yi)(yi)(yi)(yi)次模擬之后,如果(guo)效果(guo)不理想,就要重新(xin)設計(ji)一(yi)(yi)(yi)(yi)次,對團隊的智(zhi)慧、精(jing)力、耐心(xin)都是(shi)極(ji)大(da)考(kao)驗(yan)。
02第二關,難在驗證
芯(xin)片(pian)驗(yan)證(zheng)目(mu)標(biao)是在(zai)芯(xin)片(pian)制(zhi)造之(zhi)前,通過檢查、仿真、原(yuan)型平臺(tai)等手段反復迭(die)代驗(yan)證(zheng),提前發現系統軟(ruan)硬件(jian)功能錯誤、優化(hua)性能和(he)功耗,使設計精準、可靠,且符合最初規劃的芯(xin)片(pian)規格(ge)。
它不是(shi)在(zai)設計完成(cheng)后再(zai)進行(xing)的(de)工序,而是(shi)貫(guan)穿在(zai)設計的(de)每一個環(huan)節中的(de)重復性行(xing)為(wei),可(ke)細分為(wei)系統級(ji)驗證(zheng)、硬件邏輯功(gong)(gong)能驗證(zheng)、混合信(xin)號驗證(zheng)、軟件功(gong)(gong)能驗證(zheng)、物理層驗證(zheng)、時序驗證(zheng)等。
驗(yan)證很難,首先在驗(yan)證只能證偽,需要反復考(kao)慮(lv)可(ke)能遇(yu)到的(de)(de)問題,以及使用形式化(hua)驗(yan)證等(deng)手段(duan)來保證正確的(de)(de)概率(lv),非常考(kao)驗(yan)設計人員的(de)(de)經(jing)驗(yan)和智慧。
其次(ci)在驗證的(de)(de)(de)方(fang)法必(bi)須(xu)盡可能高效。現在的(de)(de)(de)芯片(pian)集成了微處理器、模擬(ni)IP核(he)、數(shu)字IP核(he)和存儲(chu)器(或(huo)片(pian)外(wai)存儲(chu)控制(zhi)接口),驗證復雜度指數(shu)級增長。如(ru)何(he)快速(su)、準(zhun)確、完(wan)備、易調試(shi)地(di)完(wan)成日(ri)益(yi)復雜的(de)(de)(de)驗證,進(jin)入(ru)流片(pian)階段,是每個芯片(pian)設計人員最(zui)大的(de)(de)(de)挑戰。
最(zui)后在驗(yan)證(zheng)(zheng)工具本(ben)身。以常(chang)見的FPGA硬(ying)件(jian)仿真驗(yan)證(zheng)(zheng)為例,90年代FPGA驗(yan)證(zheng)(zheng)最(zui)多(duo)可支持200萬門,每門的費用(yong)為1美元。如(ru)今單位價格(ge)雖然大幅下降,隨著芯片(pian)的復雜程(cheng)度指數級(ji)增長,驗(yan)證(zheng)(zheng)的門數也(ye)上升到以千萬和億為計算(suan)的規(gui)模,總體費用(yong)更加驚(jing)人。
此外,FPGA本身也是芯片設計的一種。現在大型設計(大于2千萬等效ASIC門)需要用多塊FPGA互聯進行驗證,FPGA的設計面對RTL邏輯的分割、多片FPGA之間的互聯拓撲結構、I/O分配、布局布線、可觀測性等現實要求,這就又給設計環節增加了難度。
03第三關,難在流片
流(liu)片就是試(shi)生產,設計(ji)完后,由芯(xin)(xin)片代工廠小批量生產一些,供測(ce)試(shi)用(yong)。它看起來是芯(xin)(xin)片制造(zao),但(dan)實際(ji)屬于芯(xin)(xin)片設計(ji)行業。
流片技術上不困難,因為芯片設計基于現有工藝,除了少量需要芯片設計企業指導的生產之外,困難在于錢、錢、錢。
流片一(yi)次有多貴?先引用CMP(Circuits Multi-Projets,美國一(yi)家非營利性(xing)多項(xiang)目(mu)晶圓服(fu)務組織)的(de)公開報價吧。
按照這份報價,以業內裸芯(die)面積最小的處理器高通驍龍855為例(尺寸為8.48毫米×8.64毫米,面積為73.27平方毫米),用28納米制程流片一次的標準價格為499,072.5歐元,也就是近400萬元人民幣!
然后(hou),芯(xin)片設(she)計企業可(ke)以拿到什么呢(ni)?25個(ge)裸芯(xin),平(ping)均(jun)每個(ge)16萬元!
更(geng)重要的是,流片根本不是一次性的事啊!
流(liu)(liu)片失(shi)敗(bai),需(xu)(xu)要修(xiu)改(gai)后再(zai)次(ci)流(liu)(liu)片;流(liu)(liu)片成(cheng)功,可能需(xu)(xu)要繼續(xu)修(xiu)改(gai)優化,二次(ci)改(gai)進(jin)后再(zai)次(ci)流(liu)(liu)片。
每一(yi)次都需要至(zhi)少幾百萬元。
什么叫做(zuo)氪金?這才叫做(zuo)氪金啊!
或(huo)許有知友會(hui)提出疑問(wen),這(zhe)是(shi)(shi)成(cheng)本(ben)上(shang)的(de)問(wen)題,為什么算在困(kun)難(nan)上(shang)呢?這(zhe)當然(ran)是(shi)(shi)困(kun)難(nan)了,世界上(shang)最大(da)的(de)困(kun)難(nan)不就是(shi)(shi)沒錢嗎?
之所以在會提到流片費用,是因為許多人在談及芯片制(zhi)(zhi)造困難的時候都會指出,建立一條先進制(zhi)(zhi)程芯片產線需要天(tian)量資金(jin)(jin)投入,但通過流片可(ke)以看(kan)出,其實(shi)芯片設計對資金(jin)(jin)的渴求也同(tong)樣驚人。
04第四關,越來越具有挑戰性的設計需求
首先是(shi)隨(sui)著芯(xin)(xin)(xin)片使用場(chang)景延伸(shen)至AI、云計(ji)算、智(zhi)能汽車、5G等領(ling)域,芯(xin)(xin)(xin)片的(de)(de)安(an)全(quan)性、可靠性變得前所(suo)未(wei)有的(de)(de)重要(yao),對芯(xin)(xin)(xin)片設(she)計(ji)提(ti)出更(geng)高、更(geng)嚴格的(de)(de)要(yao)求(qiu)。其次是(shi)隨(sui)著AI、智(zhi)能汽車等領(ling)域快速發展(zhan),帶(dai)來(lai)專用芯(xin)(xin)(xin)片和(he)適應行業需(xu)求(qiu)的(de)(de)全(quan)新(xin)架構需(xu)求(qiu),這一全(quan)新(xin)的(de)(de)課題給芯(xin)(xin)(xin)片設(she)計(ji)帶(dai)來(lai)更(geng)多新(xin)的(de)(de)挑戰。
最后是(shi)隨著硅基(ji)芯片(pian)(pian)根據摩爾(er)定律,在兩三年(nian)之后將(jiang)達到(dao)1納米的工藝(yi)極限,繼續(xu)提(ti)升性能、降低功耗的重(zhong)任更多落(luo)在芯片(pian)(pian)設計(ji)身上,給芯片(pian)(pian)設計(ji)更大的壓力(li)(li)。此外,制程工藝(yi)提(ti)升也迫切需要芯片(pian)(pian)設計(ji)的指導才(cai)能實現,也額外增加了壓力(li)(li)。