顶级EDA公司大牛分享:你所不知的数字芯片验证技术
阿里“平头哥”横空出世,芯片界一片欢呼雀跃,加上在此之前国际巨头Google,微软,苹果早早就介入芯片领域,“平头哥”的出世算是顺应时代潮流的举动。紧接着一份IC行业2019应届生薪水单流窜网络,直指芯片行业薪水剑指互联网薪水,芯片设计的春天真的来了。
伴随着人类社会的物质需求的急速发展,芯片这个小小的电子元件已经在我们生活中无孔不入,形形色色的芯片随着日益增长的社会需求而强劲增加,其功能也不断丰富,丰富的功能算法势必使得芯片设计的复杂度以及集成度成爆发式增长。这样一来,给设计带来很大挑战。其实除芯片设计之外,更重要的,或者说需要人手更多的,挑战更多的却是另一份职位——芯片验证。
以数字芯片为例,芯片前端设计的工作中,设计人员和验证人员的数目比例大致是1:2,或者验证工程师数目要更多一些,也就是说,目前来讲,芯片验证的挑战已经越来越大。数字芯片验证的成功,才是提高芯片流片成功的关键因素。那么国内数字芯片验证技术的现状到底如何呢?
从功能验证的变革来看,芯片验证的语言与方式多种多样,我们可以用设计语言Verilog搭建验证平台,也可以用高级软件语言C或者C++搭建验证平台。当然,当下模块验证最突出的当属基于UVM验证平台System Verilog环境,当然验证的语言与方式不仅仅是这些。一切能抓出设计Bug的验证方式都是好方式,否则多么华丽的语言与平台都是假把式。
当下芯片设计,一些高端芯片已经步入极高集成度,极高复杂度的时代,CPU,GPU,TPU以及我们引以为豪的华为麒麟芯片等等各类高大上的芯片,无一例外,都是数亿门级别的规模,集成度和复杂度可见一斑。但是大多数芯片验证的方法却并无太大的进步,还是沿用以上所讲的这些方式方法。那么如何在复杂芯片验证上面提出或者创造新的验证方法便是十分紧急。而事实上,芯片设计上游的EDA公司,也十分清楚这一点,在不断提供更好的方法与支持。
当前复杂芯片的验证,尤其是集成系统的验证,是难点。我们大多数都用FPGA硬件设计验证,验证大型复杂芯片的系统功能,前提是我们的模块及验证做得很完备,这样在FPGA原型验证的时候不至于花大量的时间去Debug模块内部的一些小Bug(虽然Bug无大小之分)。
当芯片规模达到十亿门甚至百亿门的规模,FPGA原型验证的效率已经无法让人满意,每一次版本的迭代,都需要大量的工作去完成。另外,当模块级别的验证做得不充分的时候,FPGA上的debug实在是让人头疼,因为内部信号无法可见。硬件加速器验证适时的出现,让我们在EDA的simulation验证和FPGA原型验证之外,又多了一个验证的利器。
Simulator应该算是FPGA基础上衍生出来的,但就是这个衍生,却让复杂芯片验证的速度加速,能够加快复杂芯片上市时间。往前10年,可能除了全球最大的几家芯片设计公司在用硬件加速器Emulation验证技术提高特大型复杂芯片的验证效率和流片成功率,一般的芯片设计公司都没有接触过这种技术。好在近年来,芯片技术突飞猛进,越来越多的国内芯片设计公司也开始选择使用硬件加速Emulation验证技术提升自己的验证效率。
国内以华为海思为代表的芯片设计公司,在复杂芯片验证中,已经将硬件加速验证技术放在一个非常重要的位置,每年的投入都在不断的增加,硬件加速器在海思的地位已经同美国设计企业中硬件加速器的地位一样了,这是非常值得肯定和欣喜的。因为在先进技术的应用上,海思已经能够跟上脚步。并且一些后期之秀,也已经认识到emulator在验证中的重要性,希望更多的芯片设计公司能够学习运用这些先进的验证手段,加快国产复杂芯片的上市进程。