张盖伦
芯片设计类似于画一张大楼的施工图纸。只不过,呈现这张图纸,用的不是线条,而是一种叫作Chisel的硬件语言。
5位本科生,主导完成了一款64位RISC-V处理器SoC芯片设计并实现流片。这款芯片,被称作他们的 “最硬核毕业证书”。
芯片是今年5月底快递到王华强家的。
它大概一元硬币大小,上面刻着 “COOSCA-01”和“一生一芯”的字样,还有国科大的Logo。
COOSCA是一个内部代号,是国科大计算机科学与技术学院的3门课程——计算机组成原理、操作系统和计算机架构的缩写。“一生一芯”则是计划的名字,意思是让每位本科生带着自己设计的处理器芯片毕业。
受新冠肺炎疫情影响,今年国科大的本科毕业答辩在线上进行。王华强代表“一生一芯”团队,向答辩委员会的老师远程展示了芯片。他把芯片装上测试板,用串口线将测试板与电脑连接,打开电脑上的终端软件,按下测试板上的复位键,运行了几个简单的程序——Linux系统跑起来了。
然而,去年夏天,“一生一芯”计划参与者张紫飞第一次听到该计划时的第一反应却是“天方夜谭吧”。让几个本科生用几个月时间,设计出一枚能够运行Linux这样复杂操作系统的芯片,可能吗?
“一生一芯”计划负责人、国科大计算机学院教授、中国科学院计算所先进计算机系统研究中心主任包云岗则觉得,在开源时代,将芯片设计的门槛降下来,是可能的。
中国的处理器芯片设计界,缺人。2019年5月,华为被美国商务部列入实体名单,人才危局必须尽快找到出路。包云岗迅速将他模糊的想法细化:让学生学习并实践芯片敏捷设计方法,参与芯片设计实现,通过大学流片计划完成芯片制造。
如果学生能带着他们自己设计的芯片实物毕业,这会是最特别的毕业纪念。
2019年8月,“一生一芯”计划正式启动。包云岗将之称为一次教学实践。国科大校领导认为,它会掀起本科教学改革的新篇章。
5位参与的学生是金越、王华强、王凯帆、张林隽和张紫飞,他们都是国科大计算机科学与技术学院2016级本科生,那时也都已通过了中国科学院计算技术研究所的保研夏令营,成为首批吃螃蟹的人。
在王华强看来,如果能用自己做的芯片运行自己写的操作系统,“很浪漫”。
其实,在学生们面前的,是一条没有人走过的路。
难度究竟如何,耗时需要多久,可能会有什么坑……通通都是未知数。没有导航,他们需要自己打怪升级,自己试错尝试。
当然,他们也并非是在白纸上作画。
教师团队已经制定了总体方案,确定了技术路线,选择好了基础平台,搭建了开发环境,也选定了流片工艺和班车。5位学生真正动手之前,一支实力强大的教师团队,为学生的乘风破浪,做好了保驾护航的准备。
做芯片,其实分为前端和后端。前端主要是做設计,用数字电路的方式实现处理器的功能;后端则是用物理元件来实现这些设计。
“要说芯片都是我们做的,并不准确。其实我们只是做了前端的逻辑设计部分。”王凯帆强调。
他尝试用最通俗的语言向记者解释设计芯片是怎么一回事——类似于画一张大楼的施工图纸。只不过,呈现这张图纸,用的不是线条,而是一种叫作Chisel的硬件语言。
此前,包云岗团队中的博士生余子濠为南京大学开发了一款教学用RISC-V处理器,“一生一芯”计划的学生要在此基础上进行改进,把师兄搭建的房子,改建得更舒服、更亮堂。
对新手施工设计团队来说,他们盖的第一栋房子,要保证的是屹立不倒。“要是哪面墙放错了地方,或者墙体本身设计的承重强度不够,整栋楼也就塌了。”王凯帆说。
从2019年8月正式动手设计,到12月中旬交付设计图纸,5人组踩过坑,给别人挖过坑,也挣扎着从坑里爬出来过;他们曾熬夜和不知躲在哪里的错误死磕,还要对抗可能拖延队友进度的焦虑。
学生们在总结时写道,课程作业就像直接给人采摘的果园,“一生一芯”计划却是给一片荒地和几棵树苗,从开垦种植到施肥都要自己动手,并且还不知道这样能不能结出果实。“不知为何,从0开始种出的果实好像要更甜一些。”他们说。
2019年12月,这款芯片的设计版图正式提交,基于中芯国际110nm工艺完成投片。
对5位学生来说,他们的工作也暂时告一段落。接下来的重心,是完成以芯片为基础的毕业设计。
正式流片之前,团队已经在模拟机上反复测试过多次。但仍然没人能打包票,芯片就一定能实现预期的功能。
无可否认的是,压力更大。
此前的芯片设计,更像是“纸上谈兵”,成功了固然好,失败了好像也无所谓。但是这次,投入真金白银去流片,能不能用,几个月的努力会不会打水漂,流片后就能见分晓。
2020年4月23日,学生们从微信群里得知,他们亲手设计的处理器芯片返回了。
但这并不是终点,还需要进行测试验证。
这段测试经历,同样也是一波三折,甚至有点戏剧性。
芯片回来后,团队里的老师们上手测试了几颗,结果芯片真的就是块“砖”,没有任何输出。一阵忙乱后他们才发现,原来是主板上的一根电源线接错了,芯片“出师未捷身先死”,被烧坏了。
后来,又因为一个串口时钟频率设置问题,芯片性能始终不正常。折腾了一段时间,芯片才被调整到最佳状态。
6月2日,在毕业答辩现场,王华强展示了芯片的工作流程。后来,王凯帆还将国科大操作系统课程上同学们自己编写的UCAS-Core移植到了COOSCA核上,完成了用自己写的CPU运行自己写的操作系统这件“浪漫”的事。
国科大的学生将自己的母校简称为“果壳”,所以,果壳(nutshell)也就成了“一生一芯”计划首款芯片的正式名字。9月3日,王华强将代表团队向全球同行介绍“果壳”的设计,这也将是“果壳”首次在国际舞台上亮相。
“国科大学生硬核毕业证书”一度成为网上的热议话题。
他们的平均年龄,只有21.8岁。包云岗说,等他们30岁时,就可以说已经是处理器芯片和计算机系统设计领域的“老兵”了。无论他们是进入业界还是学界,创造力会得到更大的发挥和展现。“我对这批年轻人的未来充满期待。”
◎ 来源|科技日报