文︱王树一
图︱除注明外均来自芯华章
验证调试是辛苦活儿。除错(debug)要先找出错误,但错误通常只在特定场景下才能复现,当工艺演进到5纳米及以下,超大芯片集成度动辄超过百亿晶体管时,遍历各种场景来把错误都揪出来就越来越难,所以验证工程师经常面临两个直击灵魂的问题:第一个是“什么时候能验完?”第二个是“芯片还有没有bug(错误)?”
这两个问题都不好回答,验证任务量指数型增长,但留给验证的时间并没有得到相应的增长,芯片开发节奏仍是以十八个月到两年左右为期。而芯片还有没有bug更难以回答,用中兴微电子有线系统部部长贺志强的话来说就是:验证芯片没有bug是证伪的过程,验证团队只能证明一颗芯片里存在(或存在过)bug,而不能证明一颗芯片没有bug。
从芯片技术发展历史来看,验证工作在整个芯片开发过程中的重要性与日俱增。据芯华章首席市场战略官谢仲辉介绍,芯片设计早期并没有专职验证工程师,设计中的大部分仿真验证工作都是由设计工程师或逻辑工程师来完成。但随着芯片规模不断增加,靠设计工程师兼顾难以应对芯片验证调试工作量,于是专职验证工程师开始出现,并有了专门用于验证加速的硬件仿真设备。而今,在单块芯片集成百亿甚至千亿晶体管的时代,验证调试工作量已经远远超过设计工作量,验证成本占大型芯片开发成本的比例高达60%至80%,在典型的大规模处理器开发时,验证工程师与设计工程师比例可以达到5:1。
图一、验证成本高涨
来源:Wilson研究集团及Axiomise 2020年
而且对开发总成本在数千万到数亿美元的大规模芯片而言,容错空间更小了。在低成本时代,一款芯片数次改版之后才量产并不少见,但现在的巨型芯片,工程费用高达数千万到上亿美元,可能要消耗上千工程师年才能流片,一旦有致命错误需要改版来迭代,那就往往意味着失去了上市时间窗口。
因此,虽然在流片之前查清所有bug并不现实,但验证调试工作还是需要用足够高的覆盖率来实现最小流片次数,比如一次流片即可量产。覆盖率高意味着工作量大,加人是加快验证工作的直接解决方法,不过在验证与设计比例已经很高的当下,再增加验证工程师人数并不一定能明显提高验证工作的效率,因而从验证调试工具和验证方法学入手,通过仿真验证的技术创新来满足超大芯片开发对验证工作的要求,就成了唯一的途径。
在介绍新产品之前,芯华章研发副总裁林扬淳,总结了当前验证调试工具存在的一些亟待解决的问题。在笔者看来,主要有如下三点:
首先,传统验证调试工具以功能实现为主,较少考虑工程师经验的传承与积累,工具智能化程度不够,各企业主要以增长的核对清单(check list)来实现经验传承。在人工智能时代,利用机器学习与云计算来更好地实现工程师经验传承,让普通工程师可以利用工具来快速上手复杂芯片验证调试与开发,是一个迫切需要EDA厂商探索的方向。
其次,在传统开发、验证、调试流程中,各工具之间的互连互通性差。不同EDA厂商的工具之间存在兼容性问题,即使同一厂商的工具,不同验证、测试手段也有兼容性问题。数据碎片化与结果兼容性差,易导致两个情况,一个是不同环节衔接时需要很多重复性工作,一个是衔接过程中可能会遗漏某些bug。
第三,传统工具对于验证调试的效率提升还存在瓶颈。如前所述,复杂大芯片开发中验证与设计人数比例已经非常高,再增加人手对于验证效率提升的效果有限,因而需要从底层架构上突破传统方法对“机器力”的束缚,从而真正打开验证调试效率提升通道。
传统验证调试工具,由于历史包袱重,性能提升缓慢,越来越难满足超大芯片开发对验证效率和覆盖率的要求。对此,芯华章工程人员表示,革新已难以有效改善验证效率,必须来一场技术革命,才能打破当前验证调试面临的瓶颈。那么,芯华章的新产品昭晓(Fusion Debug)调试解决方案,能够解决上述问题吗?
谢仲辉给了正面答复,他表示,作为后来者,虽然综合实力上与国际巨头仍有差距,但芯华章也有后来者的优势。因为没有历史包袱,所以芯华章可以从底层构建一套适应当前与未来芯片开发需求的技术底座,以高压缩比、高性能、统一且开放的数据格式为基础,打通开发验证不同环节衔接时的隔阂,充分吸收EDA验证调试的历史经验,充分利用当前成熟的机器学习与云计算技术,打造了一款集成了各种先进技术,具备创新、易用和高性能的特点,而且提供开放的API接口,该工具既可独立使用,还可以配合智V验证平台的所有产品混合使用,体现出融合的真谛。
图二、芯华章昭晓Fusion Debug特点
“从一开始,芯华章就秉持了跨平台开发理念,我们从共性技术开始构建,再赋能到具体产品线,”谢仲辉说,开放是芯华章产品的基因,希望芯片开发生态伙伴都能享受到芯华章的技术红利,“不仅是波形数据库,包括电路逻辑数据库、覆盖率数据库我们都提供了开放的API接口,芯华章EDA 2.0的理念就是通过开放的标准接口共建生态,将验证、调试、设计各环节的工具打通,发挥一加一大于二的效益,这是我们能做到后发先至的一个原因。”
如前所述,数据格式不通用是当前设计、验证、调试的一大痛点。芯华章的统一数据式如下图所示,其中XCDB存储了设计中 HDL信息,XNDB记录了设计分析的网表, XEDB压缩存储了信号波形,XCovDB则记录了覆盖率。所有芯华章的产品,都能够读写共享数据库,因此避免了耗时又容易出错的数据传输。同时也提供了公开、标准的API,以提升不同厂商之间的产品相容性。例如,XCDB API不仅效率高,更大大地提升了不同产品之间的波形共享。
图三、芯华章昭晓Fusion Debug特点
波形数据由于体积较大,因而其对压缩率和读写速度的要求很高,芯华章XEDB数据格式的压缩率如下图所示。
图四、XEDB数据格式压缩率测试
XEDB数据格式的性能表现如下图所示。
图五、分布式XEDB性能测试
林扬淳在其发言的最后,强调工具智能化的重要性,他表示,调试在整个验证过程中最耗时,也最劳心劳力,因为它着实需要经验,需要智慧,这正是机器学习的用武之地。在回归调试、异常监测、智能诊断等多个常见的调试场景中,机器学习都有很好的发挥空间,而机器学习的基础是要有海量的资料,芯华章的通用数据库无疑将是验证工具机器学习实施的理想平台。林扬淳说:“展望未来,我们深信Fusion Debug是验证调试的最佳选择”。