如何坚持做难而正确的芯片研发?

2025-04-18


如果一件事在别人眼中是坐冷板凳,是做脏活、累活,你是否还会坚持做下去呢?



石侃·


中国科学院计算技术研究所副研究员格致论道第117期|2025年1月18日 北京


大家好,我是来自中国科学院计算技术研究所的石侃,一个 “斜杠科技工作者”。我在芯片领域有十多年的从业经验,现在我在中国科学院从事芯片相关的学术研究;但同时我还是一个B站的科技UP主“老石谈芯”,我的观众都叫我“老石”。


芯片:现代社会的基石


提到芯片,大家肯定都知道它的重要性。


不管是现在正热的人工智能,还是生命医药、自动驾驶、网络通信等等,你能想象的现代社会的所有科技,几乎都离不开芯片——这一信息时代的基石性技术。


我从事芯片工作已经有很长时间了,芯片研发的过程其实是个很有趣的过程,这主要源于两个方面。


首先,芯片的应用非常广泛。一旦你从事了这个行业,大概率不用担心自己会失业,因为很多行业都需要用到芯片技术。


第二个原因可能更重要:芯片研发是一个非常难的事情。作为芯片工程师,我们需要不断地学习、不断地充实自己,来应对和迎接这个充满机遇和挑战的时代。


那么问题就来了,芯片技术到底难在哪里?


芯片为什么这么难?


已完成:10%//////////


大家可能知道,一颗芯片的制造过程,本质上其实是一粒沙子的进化之旅。沙子可能是这个星球上取之不尽、用之不竭的东西;但把低价值的沙子做成高价值的芯片,附加的全部都是人类的智慧。

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第1张


从沙子开始,我们需要对它进行提纯,得到晶圆。然后,再对晶圆进行光刻、离子注入、刻蚀、封装等一系列环节,才能从取之不尽、用之不竭的沙子变成最终的一颗小小的芯片。


那么说了这么多,有这么多的环节,其实芯片制造只是整个芯片开发流程的一部分,它并不等于芯片开发本身。


还有一个非常重要的环节,那就是芯片设计。它指的是根据需求完成电路设计,并让电路能正常工作。然后,我们把设计好的电路交给芯片制造商,让他们进行后期的制造,最终得到芯片的实体。


但这里还有另一个问题:如何保证芯片的功能和你一开始的设计是一样的?

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第2张


这里有一个很有意思的小故事。在1947年,一位非常著名的女性程序员Grace Hopper发现自己的电脑不工作了。经过仔细地排查和探索,她发现原来是电脑的继电器里飞进去了一只蛾子。于是,她用镊子小心翼翼地把这只蛾子给夹出来,然后贴到了一张纸上。


这有可能是我们整个计算机发展历史上发现的第一个“bug”(虫子),也就是漏洞。

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第3张


如果说前面的例子过于久远,那我们其实还有更多的例子。这里给各位出一个数学题,请问这个式子最终的结果等于多少?其实这个题目很简单,因为在后面式子里,分子和分母其实是一样的,可以消掉;然后减号前面的数和后面的数其实也是一样的,所以同样的数字相减,最后的答案应该等于0。但是,在实际的计算机和芯片当中,有可能得出来的结果并不是这样。

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第4张


比如,在英特尔的一个奔腾芯片中,得到的结果是255.00000000。这是怎么回事呢?原来有一个美国科学家在做科学研究时,当他运行这个式子的时候,怎么算都算不对。最后他才发现,原来在这颗芯片的一个浮点除法运算单元里,存在着一个没有被发现的设计漏洞。


可不要小看这个设计漏洞,它带来的后果其实是非常严重的。在20世纪90年代,英特尔花了4.75亿美元在全球范围内召回了所有出现这个问题的奔腾芯片。


所以回到刚才的问题,芯片技术到底难在哪里?在我看来,芯片的难点在于它需要一次性成功。做芯片不像软件,你可以后期通过打补丁的方式,去修复各种问题。相比之下,芯片一旦走完了从沙子到芯片的进化之旅,你可能就已经花费成千上万,甚至上亿元去完成芯片的流片和制造,很难再修改了。


那么,下一个问题就是:现在有多少芯片项目能够实现一次性成功?


“卡脖子”的芯片验证


已完成:40%


////


//////


根据调查结果的数据,只有24%的芯片项目可以实现一次性成功。也就是说,有3/4的芯片项目由于存在着各种各样的、大大小小的、没有被发现的设计漏洞,所以至少需要再去开展一次流片,这就会花费大量的时间和金钱。

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第5张


所以,问题的关键在于:我们如何能够尽可能保证芯片在流片制造之前尽可能少有、或者是尽可能没有bug、没有设计漏洞。也就是我过去几年一直在致力研究的方向。

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第6张


同样是根据这个研究数据,在整个芯片开发过程中,特别是随着现在人工智能以及各种高新技术的发展,芯片变得越来越复杂。芯片验证也由此成为整个芯片开发周期中占比非常高的环节,甚至超过了一半,达到了整个芯片设计周期的70%。

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第7张


但很遗憾,芯片验证也是一件很难的事情。我这里列出了一些天文数字,比如地球的周长、银河系里可能存在的星星数量,或者是光年的长度。

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第8张


在芯片验证里,其实也存在着一个天文数字,那就是完全验证一颗CPU核心所需要的周期数。这个天文数字到底代表什么意义呢?


如果我们用现在最先进的软件仿真技术去完全验证一颗CPU核心,需要至少15000年。而使用现在最先进的硬件仿真技术,可以把这个时间稍微缩短到30年。但我们都知道,开发一颗芯片不可能等15000年,也不可能等30年。

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第9张


那么,问题的本质到底是什么?过去几年我们其实一直在研究。我们发现,在芯片验证中存在着一个所谓的“不可能三角”,也就是芯片验证的高性能、良好的调试能力以及低成本;而这三个对芯片验证至关重要的因素不可能同时满足。对于现在主流的研究或方法来说,最多就是三者取其二,而这也就是导致芯片验证效率非常低的一个本质原因。


总要有人去做一些不一样的事情


已完成:60%


//////


////


由于这些原因,芯片验证在过去一段时间里并没有很大的发展。


在芯片公司里,芯片工程师可能更多地是在写测试用例、跑回归验证。本质上,这是一个脏活累活。在学术领域也是如此,投身于芯片验证研究的学者其实很少,特别是和现在大火的人工智能等热门领域的研究相比,芯片验证相关的研究是非常少的。


所以,有学术大佬跟我说过,在同样的时间内,我能够在人工智能领域发三篇甚至是更多的论文,但芯片验证可能一篇也发不出来。


很遗憾,他说的是对的。


不过,总要有人去做一些不一样的事情。


所以,在过去的几年中,我一直带领团队从事芯片验证的相关研究,并且从零到一构建了一个敏捷验证研究体系。这个研究体系的核心是一个名叫ENCORE的验证平台,它基于一个特殊的芯片——现场可编程门阵列(FPGA)。ENCORE能够大幅提升验证效率,同时实现较好的验证可调试性。


为了构建这个敏捷验证研究体系,我们一方面需要在算法层面不断优化漏洞挖掘、调试以及修复的效率;另一方面,我们也希望能够构建一套端到端的基于可编程逻辑芯片(FPGA)的敏捷验证加速平台。在应用层面,我们希望这个平台既能适用于通用处理器的验证,比如CPU或GPU,也能适用于专用芯片的验证,比如现在非常流行的AI加速器。

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第10张


在过去一段时间里,我们在这个领域做了很多前沿的探索工作,包括前面提到的ENCORE以及很多的新研究。我们也把这些研究成果发表在了很多国际知名的学术会议上。

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第11张


后面我们其实也在进行一些很有趣的工作,由于这些工作现在还没有发表,所以就先不跟大家一一展示了。


如果大家对我们的工作感兴趣,可以去我的B站主页,或者是通过B站的后台私信联系我。现在,也有很多同学也想要参与进来,欢迎大家加入我们的团队,一起从事这种很有趣的敏捷验证学术研究。


让更多人更了解芯片


已完成:80%//////////


但是在研究过程中,我逐渐发现这些科研成果或学术成果,主要是给我们这个小圈子里那些只懂芯片验证以及相关领域的人看的。那么,如何能让更多的人看到我们的工作、了解我们的科研、甚至参与到我们的工作当中来?


于是,我自然而然地想到了芯片科普,这同样让我感觉非常有意思。我从事科普已经四五年了,从一开始的文字,到后来在B站做视频。芯片科普不仅给我带来了很多收获,也帮我结识了很多志同道合的朋友,以及喜欢并支持我的观众朋友们。

如何坚持做难而正确的芯片研发? (https://ic.work/) 推荐 第12张


但是,做芯片科普视频并不是一件简单的事情,特别是在短视频泛滥的今天。有同样做科普的博主大佬也跟我说,在同样的时间内,我做一期芯片硬核科普的长视频,他可能能做10期,甚至是更多和热点相关的短视频,而且流量可能是我的很多倍。


很遗憾,他说的其实也是对的。


但在这个基础上,我觉得还是需要有人坚持做一些难的事情。我就希望能够把芯片科普和芯片验证这两个同样难但同样有趣的事情结合在一起,通过视频和文字的形式向大家展示我们做的东西、发过的论文以及我们整个大团队正在研究的开源芯片等内容。


除了芯片以外,我还会跟大家分享人工智能、计算机等硬核科技,也会和大家分享我的成长经历、我读过的书、我学到的知识。我知道,我自己其实并不是一个天才,也不是所谓的全面全能的专家和大牛。我更希望能够作为大家的一个“向导”,跟大家分享我走过的路。


在这个过程中,我也很有幸采访到了很多资深的专家以及业界的大咖,让观众能够更好地、更全面地去感受和理解芯片以及科技未来的发展趋势。比如说在2024年,我有幸采访到了AMD的CEO苏姿丰博士。我就问她:“你觉得人工智能对于芯片的设计和验证,会不会让这个过程变得更加简单和更加高效?”如果你想知道她是怎么回答的,可以去B站看这期的采访视频。


所以,回到今天想和大家分享的这个问题:芯片的科研和芯片的科普,到底哪个更有趣?当然,对我来说其实两个都同样有趣。原因很简单,因为它们同样很难。同时,它们都需要我非常长期、长久地去坚持下去。


很多人都说,我们需要做难而正确的事情。但是其实问题在于,在你做一件事情之前,你如何去判断这件事情是正确的呢?如果一件事在别人眼中是坐冷板凳,在别人眼中是做脏活、累活,你是否还会坚持做下去呢?


所以,我更希望做难而长期的事情,比如芯片验证的学术研究,比如做芯片硬核科普的长视频。因为如果一件事情它难而且需要长期坚持的话,那它大概率就是正确的。


以上就是我今天想跟大家分享的全部内容。我是老石,谢谢大家!


-END-

声明:


本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。





文章推荐

相关推荐