芯片设计是世界上最细微也是最宏大的工程。芯片设计者需要在一个小小的硅片规划几千万甚至数百亿的晶体管,从微米级到纳米级再到正在探索的量子级。这样的工程早已不是靠单纯人力可以应对,所以必须借助EDA工具来完成。
根据应用场景的不同,EDA工具的使用主要分为设计、验证和制造三大类。验证工作贯穿整个芯片设计流程,从芯片需求定义、功能设计开发到物理实现制造,每个环节都需要进行大量的验证。动辄几千万至上亿美金的流片(Tape-out)成本使得在流片之前通过验证发现所有的设计缺陷和错误是极其重要。这样才能保证所投入的巨大研发成本不会覆水东流或产品不会错过最佳上市时间。而且随着芯片复杂程度日益提高,验证需要探索的空间和范围越来越大,因此验证的复杂度以及所需要的时间亦越来越长。此外,芯片的质量以及安全性很大程度上也依赖于验证。随着5G、AI、自动驾驶等众多应用不断涌现,芯片功能复杂度呈指数级增长。在流片前,芯片的应用模式也需要从安全角度进行充分的验证。据统计,在当前SoC研发项目中,仿真和功能验证的时间占到了整个项目70%以上。
早期芯片开发者想验证芯片的设计是否符合预设,只有等待极其漫长的模拟结果。而一旦结果不如预期,不管是再次模拟或是二次流片,都将产生极高的成本。因此,当Xilinx和Altera推出现场可编程逻辑门阵列(FPGA)时,开发者即可通过用FPGA板拼凑出有效的流程来对设计进行验证,FPGA原型验证这一解决方案就此应运而生。这个比流片便宜,比仿真要快的方式已成为开发者检验设计有效性的不二之选。而当今SoC/ASIC 设计规模不断增大且结构愈加复杂,想要缩减开发周期,必须将系统软件开发验证和投前验证并行,这更使得原型验证的优势凸显,成为了主流且成熟的芯片验证方法。
什么是FPGA原型验证?打个比方,就像是建筑设计师完成大厦设计图纸后,在动工前需要通过模型去验证和测试防震、防风、结构强度等各种参数。芯片设计开发者也需要在流片前对设计进行“原型验证”,模仿真实软件应用条件下的芯片和系统表现是否满足了实际应用场景需求。
从技术层面来说,FPGA原型验证是通过将RTL移植到现场可编程门阵列(FPGA)来验证ASIC的功能,主要目的是为了模拟芯片的功能和应用环境,以验证芯片整体功能,并提供片上软件开发环境。原型验证工具的应用对象为设计源代码,底层技术为源代码的语法分析和编译、实时控制等技术。一方面,其能够在多个FPGA组成的硬件设备中模拟芯片功能,从而为芯片设计公司高速样品,此样品与投片后的芯片拥有同样的功能,从而能够实现在投片之前开展芯片的环境适应性测试。另一方面,现代化芯片普遍承载着一个甚至多个运行软件的CPU、GPU,该类软件开发的复杂度越来越高,为了加快芯片推出市场的速度,在芯片投片之前即需进行软件开发,原型验证工具则为软件工程师提供了一个能够并行验证的软件开发平台,加快产品推向应用市场。
FPGA原型验证的发展主要经历了三个阶段:芯片设计公司自己制作的FPGA开发板(Roll Your Own,RYO)、有专门的原型验证公司开始提供商用现货(Commercial Off The Shelf,COTS)阶段、以及企业级云方案阶段。
在2000年之前,芯片设计团队意识到了原型验证的优势,并开始自己制作的FPGA开发板。通常这样的开发板只能搭载不超过4颗的FPGA,如果需要多板级联只能依赖FPGA工程师的技术水平。设计分割(Partition)只能手动分割,需要具有丰富经验的研发者才能提高成功率。板子的调试只能使用FPGA芯片供应商提供的调试工具进行单FPGA调试。需要用到的子卡也只能自行开发。
2000年后开始出现专门研发和提供商用原型验证平台的公司,通过提供桌面原型验证平台并配套相应的软件和接口方案。经过十多年的发展,从平台容量、速度性能等方面都经历了多次迭代创新,绝大多数芯片设计公司也开始选用成熟的原型验证方案来进行来提高验证效率。从第一代单板结构的逻辑模组到桌面原型验证平台的不断迭代,并支持设计自动编译和分割,多FPGA并行调试,还有丰富的接口子卡可供选择。这也意味着COTS原型验证日臻成熟。
但是近年来随着SoC设计规模呈指数级增长,芯片设计团队原型验证需求也变得越来越复杂。单通过增加系统容量的方式,还是会遇到诸多困难。设计团队需要有一个成熟的面向大规模SoC设计的高密原型验证系统的软硬件通用解决方案来突破关键技术节点。因此,对成熟的企业级原型验证云方案的需求迫在眉睫。
今年10月,国产FPGA原型验证领域推出的前沿产品在各个技术层面都进行了突破和创新,用以应对所有大规模复杂SoC设计原型验证的困难与挑战。结自动原型编译软件、深度调试套件外置应用库以及云管理软件等,形成了一套完整应对大规模复杂SoC设计原型验证的企业级解决方案,可从容应对大规模复杂SoC设计的困难与挑战。不同于目前主流的桌面型原型验证平台,异构芯片设计验证方案拥有灵活的拓扑及多层次的组网能力,不仅显著提升超大规模原型速度,而且达到了业界领先的系统容量,单机柜支持近32亿门逻辑规模,多个机柜之间可以进行级联。配合企业级管理与控制软件,可以实现算力管理、集群管理、多用户管理、虚机/容器资源管理等一系列功能。使用者可通过各种终端设备,快速访问部署于数据中心或公司机房内的原型验证算力与CPU集群资源,并仅需几分钟时间即可完成环境的创建、操作或移除,轻松实现并行开发验证。
如今,半导体行业进入后“摩尔定律”时代,在先进工艺下异构计算架构正逐渐成为设计芯片的主流。不同的运算单元有不同的架构设计,对信息流也有不同的处理方式,这些都需要针对其特性使用不同验证的方法学。国微思尔芯CEO兼总裁林俊雄认为:“对于异构芯片设计验证的需求,我们提出基于验证云系统的统一验证平台,融合架构设计、原型验证等不同解决方案,以实现高效快速验证。这些解决方案采用了统一的编译、控制脚本和核心数据库,芯片开发者可以在项目生命周期的不同阶段选择最适合的解决方案,并随着项目的开发进展平滑迁移到更优的解决方案,减少切换成本。此外,利用统一验证平台还可以确保各个阶段的验证任务在同一个环境中完成。”