張蓋倫
芯片設計類似于畫一張大樓的施工圖紙。只不過,呈現(xiàn)這張圖紙,用的不是線條,而是一種叫作Chisel的硬件語言。
5位本科生,主導完成了一款64位RISC-V處理器SoC芯片設計并實現(xiàn)流片。這款芯片,被稱作他們的 “最硬核畢業(yè)證書”。
芯片是今年5月底快遞到王華強家的。
它大概一元硬幣大小,上面刻著 “COOSCA-01”和“一生一芯”的字樣,還有國科大的Logo。
COOSCA是一個內(nèi)部代號,是國科大計算機科學與技術學院的3門課程——計算機組成原理、操作系統(tǒng)和計算機架構(gòu)的縮寫?!耙簧恍尽眲t是計劃的名字,意思是讓每位本科生帶著自己設計的處理器芯片畢業(yè)。
受新冠肺炎疫情影響,今年國科大的本科畢業(yè)答辯在線上進行。王華強代表“一生一芯”團隊,向答辯委員會的老師遠程展示了芯片。他把芯片裝上測試板,用串口線將測試板與電腦連接,打開電腦上的終端軟件,按下測試板上的復位鍵,運行了幾個簡單的程序——Linux系統(tǒng)跑起來了。
然而,去年夏天,“一生一芯”計劃參與者張紫飛第一次聽到該計劃時的第一反應卻是“天方夜譚吧”。讓幾個本科生用幾個月時間,設計出一枚能夠運行Linux這樣復雜操作系統(tǒng)的芯片,可能嗎?
“一生一芯”計劃負責人、國科大計算機學院教授、中國科學院計算所先進計算機系統(tǒng)研究中心主任包云崗則覺得,在開源時代,將芯片設計的門檻降下來,是可能的。
中國的處理器芯片設計界,缺人。2019年5月,華為被美國商務部列入實體名單,人才危局必須盡快找到出路。包云崗迅速將他模糊的想法細化:讓學生學習并實踐芯片敏捷設計方法,參與芯片設計實現(xiàn),通過大學流片計劃完成芯片制造。
如果學生能帶著他們自己設計的芯片實物畢業(yè),這會是最特別的畢業(yè)紀念。
2019年8月,“一生一芯”計劃正式啟動。包云崗將之稱為一次教學實踐。國科大校領導認為,它會掀起本科教學改革的新篇章。
5位參與的學生是金越、王華強、王凱帆、張林雋和張紫飛,他們都是國科大計算機科學與技術學院2016級本科生,那時也都已通過了中國科學院計算技術研究所的保研夏令營,成為首批吃螃蟹的人。
在王華強看來,如果能用自己做的芯片運行自己寫的操作系統(tǒng),“很浪漫”。
其實,在學生們面前的,是一條沒有人走過的路。
難度究竟如何,耗時需要多久,可能會有什么坑……通通都是未知數(shù)。沒有導航,他們需要自己打怪升級,自己試錯嘗試。
當然,他們也并非是在白紙上作畫。
教師團隊已經(jīng)制定了總體方案,確定了技術路線,選擇好了基礎平臺,搭建了開發(fā)環(huán)境,也選定了流片工藝和班車。5位學生真正動手之前,一支實力強大的教師團隊,為學生的乘風破浪,做好了保駕護航的準備。
做芯片,其實分為前端和后端。前端主要是做設計,用數(shù)字電路的方式實現(xiàn)處理器的功能;后端則是用物理元件來實現(xiàn)這些設計。
“要說芯片都是我們做的,并不準確。其實我們只是做了前端的邏輯設計部分?!蓖鮿P帆強調(diào)。
他嘗試用最通俗的語言向記者解釋設計芯片是怎么一回事——類似于畫一張大樓的施工圖紙。只不過,呈現(xiàn)這張圖紙,用的不是線條,而是一種叫作Chisel的硬件語言。
此前,包云崗團隊中的博士生余子濠為南京大學開發(fā)了一款教學用RISC-V處理器,“一生一芯”計劃的學生要在此基礎上進行改進,把師兄搭建的房子,改建得更舒服、更亮堂。
對新手施工設計團隊來說,他們蓋的第一棟房子,要保證的是屹立不倒?!耙悄拿鎵Ψ佩e了地方,或者墻體本身設計的承重強度不夠,整棟樓也就塌了。”王凱帆說。
從2019年8月正式動手設計,到12月中旬交付設計圖紙,5人組踩過坑,給別人挖過坑,也掙扎著從坑里爬出來過;他們曾熬夜和不知躲在哪里的錯誤死磕,還要對抗可能拖延隊友進度的焦慮。
學生們在總結(jié)時寫道,課程作業(yè)就像直接給人采摘的果園,“一生一芯”計劃卻是給一片荒地和幾棵樹苗,從開墾種植到施肥都要自己動手,并且還不知道這樣能不能結(jié)出果實。“不知為何,從0開始種出的果實好像要更甜一些。”他們說。
2019年12月,這款芯片的設計版圖正式提交,基于中芯國際110nm工藝完成投片。
對5位學生來說,他們的工作也暫時告一段落。接下來的重心,是完成以芯片為基礎的畢業(yè)設計。
正式流片之前,團隊已經(jīng)在模擬機上反復測試過多次。但仍然沒人能打包票,芯片就一定能實現(xiàn)預期的功能。
無可否認的是,壓力更大。
此前的芯片設計,更像是“紙上談兵”,成功了固然好,失敗了好像也無所謂。但是這次,投入真金白銀去流片,能不能用,幾個月的努力會不會打水漂,流片后就能見分曉。
2020年4月23日,學生們從微信群里得知,他們親手設計的處理器芯片返回了。
但這并不是終點,還需要進行測試驗證。
這段測試經(jīng)歷,同樣也是一波三折,甚至有點戲劇性。
芯片回來后,團隊里的老師們上手測試了幾顆,結(jié)果芯片真的就是塊“磚”,沒有任何輸出。一陣忙亂后他們才發(fā)現(xiàn),原來是主板上的一根電源線接錯了,芯片“出師未捷身先死”,被燒壞了。
后來,又因為一個串口時鐘頻率設置問題,芯片性能始終不正常。折騰了一段時間,芯片才被調(diào)整到最佳狀態(tài)。
6月2日,在畢業(yè)答辯現(xiàn)場,王華強展示了芯片的工作流程。后來,王凱帆還將國科大操作系統(tǒng)課程上同學們自己編寫的UCAS-Core移植到了COOSCA核上,完成了用自己寫的CPU運行自己寫的操作系統(tǒng)這件“浪漫”的事。
國科大的學生將自己的母校簡稱為“果殼”,所以,果殼(nutshell)也就成了“一生一芯”計劃首款芯片的正式名字。9月3日,王華強將代表團隊向全球同行介紹“果殼”的設計,這也將是“果殼”首次在國際舞臺上亮相。
“國科大學生硬核畢業(yè)證書”一度成為網(wǎng)上的熱議話題。
他們的平均年齡,只有21.8歲。包云崗說,等他們30歲時,就可以說已經(jīng)是處理器芯片和計算機系統(tǒng)設計領域的“老兵”了。無論他們是進入業(yè)界還是學界,創(chuàng)造力會得到更大的發(fā)揮和展現(xiàn)?!拔覍@批年輕人的未來充滿期待?!?/p>
◎ 來源|科技日報