来源:编译自semiwiki
十多年来,硬件辅助验证(Hardware-Assisted Verification :HAV)平台一直是验证工具箱的核心。如今,任何重要的半导体项目在流片过程中都离不开仿真或FPGA原型验证的核心作用。硬件辅助验证已经深深融入到开发流程中,以至于人们很容易认为它一直都是如此。
但事实并非如此。
尽管确切的起始点可能略有偏差,但今年大致是硬件辅助验证诞生40周年,HAV涵盖了硬件仿真和FPGA原型设计两大领域。四十多年来,HAV已从一种小众技术发展成为现代芯片开发不可或缺的支柱。从很多方面来看,它的发展历程也反映了半导体行业自身的演变:随着芯片变得越来越复杂,软件逐渐占据主导地位,人工智能开始重塑一切,HAV也在不断地重新定义自身的用途。
早在硬件加速(HAV)成为公认的类别之前,就已经出现了一些先驱。例如,IBM曾通过Yorktown仿真引擎以及后来的工程验证引擎等系统进行硬件加速实验。这些机器本质上是仿真加速器——专用计算机,旨在比传统软件仿真器更快地运行硬件模型。它们代表着向前迈出的重要一步,但本质上仍然局限于仿真范式。它们提高了速度,但远远不足以将真实场景应用于待测设计。
HAV平台属于另一类引擎。早期的仿真器依赖于可重编程硬件,通常是FPGA阵列,其配置旨在模拟被测设计(DUT)的行为。工程师们首次能够在芯片流片之前,以接近实际运行速度的执行方式与芯片模型进行交互。PiE Design Systems、Quickturn、IKOS和Zycad等公司率先采用了这种新的验证方法,为半导体发展的一个关键支柱奠定了基础。
人机交互的发展历程可以分为三个主要时期:早期,硬件的复杂性迫使仿真技术应运而生;中期,软件占据主导地位,人机交互进入虚拟环境;成熟期,人工智能工作负载推动硬件成为架构创新的核心。
早期:硬件复杂性推动了仿真技术的兴起
20世纪80年代初期,半导体设计几乎完全由硬件决定。嵌入式软件即便存在,也只扮演次要角色。当时,处理器和图形芯片领域的先驱们引领着整个行业,朝着当时看来惊人的里程碑——一百万门——不断迈进。验证工作主要依赖于门级仿真,而门级仿真也成为了当时的通用标准。
然而,随着设计规模的扩大,仿真器遇到了不可避免的性能瓶颈。有限的主机内存迫使设计数据被交换到磁盘,仿真运行时间急剧膨胀,测试向量数量激增,而要达到可接受的故障覆盖率,所需的计算量也变得难以承受。在芯片流片之前进行全系统验证变得越来越不切实际,甚至完全不可能。业界需要速度更快、更接近芯片本身的仿真方法。
硬件辅助验证(HAV)正是为了应对这场危机而应运而生。早期的HAV平台主要部署在电路内仿真(ICE)模式下。在ICE配置中,仿真器通过物理线缆连接到实际目标系统,使工程师能够在真实的环境中,使用真实的外部设备对被测器件(DUT)进行测试。这具有革命性意义。设计人员不再依赖合成向量,而是可以使用实际工作负载来验证芯片,从而达到合成仿真向量无法企及的真实度。验证过程首次开始接近芯片在实际应用中的运行状态。
前景一片光明,但现实往往令人沮丧。早期的仿真器设置复杂、操作繁琐且故障频发。漫长的设置时间经常导致验证准备工作错过管理层的截止日期,而源于线缆和硬件依赖性的可靠性问题则导致频繁的停机。平均故障间隔时间 (MTBF) 只能以小时而非周或月来衡量,迫使验证团队花费更多精力调试仿真器本身,而不是调试被测设备 (DUT)。即便如此,尽管存在这些挫折,发展方向依然清晰:验证不能再仅仅依靠软件。
中世纪:软件吞噬世界,HAV成为验证骨干
在接下来的几十年里,设计格局发生了深刻的变化,功能开始稳步地从硬件转移到软件代码中。马克·安德森在2011年提出的“软件正在吞噬世界”的观点,精准地概括了这一转变。事实证明,他的预测在几乎所有与计算相关的行业都得到了惊人的准确验证。片上系统(SoC)转变为软件定义平台,智能越来越多地存在于固件、操作系统、驱动程序和应用堆栈中。硬件不再是产品的全部——它只是软件代码的载体。
这一转变彻底改变了验证方式。静态测试模式已无法充分展现现代设计的全部复杂性。工程师们转而采用软件驱动的激励机制,利用高级测试平台来验证系统在广泛功能领域的行为。硬件验证语言和更抽象的方法论应运而生,以适应这一新的现实。
HAV引擎最初主要用于实时内燃机验证,后来转型成为以软件为中心的环境背后的执行引擎。业界通过基于事务的验证,规范了软件测试平台与硬件映射的被测设备(DUT)之间的交互,该验证已在IEEE SCE-MI标准下标准化。工程师无需逐周期地切换信号,而是可以通过高级事务与DUT交互,从而显著提高性能和效率。
这一转变也消除了早期技术的许多实际局限性。虚拟化环境减少了对物理连接的依赖,并消除了基于ICE架构所需的速度适配器。验证IP取代了硬件接口,从而实现了可扩展的全数字化验证生态系统。
随着业界接受“左移”理念,HAV平台应运而生,成为其最强大的推动力量。HAV平台使工程师能够在设计流程的早期阶段就启动软件,从裸机初始化开始,逐步扩展到驱动程序和操作系统。验证不再局限于孤立的功能正确性,而是涵盖了整个软硬件系统的行为,甚至在芯片出现之前就已开始进行验证。
到这个阶段,硬件辅助验证(HAV)已远不止是一种加快验证速度的方法。它日益成为硬件和软件开发之间的桥梁,使团队能够并行工作而非按顺序进行,并将硬件辅助验证确立为现代系统验证的基石。
人工智能时代:人工智能重塑硬件中心地位,HAV 迈向全栈化
从2010年代中期开始,人工智能的爆炸式增长推动了行业进入一个新时代。人们的认知不再是软件吞噬世界,而是演变为更为激进的趋势:软件反过来吞噬硬件。在人工智能时代,软件不再仅仅是运行在硬件之上,而是越来越多地决定着硬件的未来发展方向。现代人工智能模型的需求如此之高,以至于它们正在从根本上重塑处理器架构。
生成式人工智能暴露了传统通用架构的局限性。现代模型庞大的数据传输需求和计算强度令CPU不堪重负,即使是高度优化的系统也难以应对。为了跟上时代步伐,业界开始采用专用架构,包括GPU、FPGA以及专为大规模并行和张量计算而设计的AI加速器。
这些发展极大地增加了片上系统 (SoC) 设计的规模和复杂性。人工智能时代的芯片通常包含数十亿个门电路、异构计算集群以及复杂的片上网络 (NOC),以便在处理单元之间高效地传输数据。参见图 1。
在此背景下,HAV的作用得到了根本性的扩展。
验证不再局限于十亿门以下设计的功能正确性;它现在必须扩展到数十亿门系统,并且要涵盖远超逻辑本身甚至软件栈的内容。如今,高可用性验证 (HAV) 平台越来越多地用于评估功耗和散热行为、分析性能、验证安全性和可靠性要求、捕获完整的系统级交互,以及运行反映设计在实际环境中运行情况的真实工作负载。
与此同时,ICE 式操作已从一种传统模式发展成为一项关键的工程能力。这一点在高速 FPGA 原型设计中尤为重要,因为在将设计投入生产之前,必须快速验证真实的物理接口。通过允许被测设计在周期早期与实际的 PHY 硬件交互,ICE 使团队能够发现纯虚拟环境无法揭示的集成、时序和信号完整性问题。如此一来,在流片之前,它就能显著增强硬件和软件的可靠性。
同样重要的是,人工智能硬件与其软件生态系统密不可分。编译器、运行时环境、库、内核和部署框架不再是事后考虑的因素,它们与硬件的成败息息相关。因此,HAV平台在芯片问世之前就被用于运行真实的AI工作负载,从而确保硬件和软件同步演进,而非循序渐进。架构与执行之间的反馈回路越来越多地在芯片流片之前而非首片芯片之后闭合。
从这个意义上讲,人工智能时代的验证已经真正实现了全栈式验证。HAV不再仅仅是验证工具,它现在是硬件/软件协同设计融合的环境,从而实现了一种新的范式:软件驱动的流片。
结论:HAV 作为硬件-软件融合的引擎
经过四十年的发展,半导体行业又经历了一个轮回。最初,硬件的复杂性推动了仿真技术的兴起,使其成为一种实际应用的必然选择。随后的软件时代拓展了硬件自动化(HAV)的作用,将其与虚拟环境、更丰富的软件栈以及更广泛的系统级工作流程连接起来。如今,人工智能革命再次重塑行业格局,将硬件重新置于创新中心,并对专业化、效率和规模提出了前所未有的要求。
然而,最根本的变化在于这种核心地位的意义。硬件不再是先设计后编程。本世纪的标志性趋势是软件定义设计,架构的形成不仅取决于晶体管、互连和逻辑结构,还取决于编译器、运行时和工作负载。硬件和软件之间的界限已经模糊,最终融合为一个紧密耦合的工程问题。
HAV平台恰好处于这一交汇点。它们不再仅仅是用于孤立地检查正确性的工具。相反,它们已成为验证架构意图的关键环境——在这里,硬件与实际软件相遇,性能假设在真实的负载下得到测试,系统级的权衡取舍得以展现,同时仍有机会进行有意义的设计变更。在软件驱动流片的时代,HAV是硅芯片诞生之前完成闭环验证的机制。
硬件再次成为宇宙的中心,不是因为软件变得不那么重要,而是因为软件变得如此重要,以至于它现在定义了硬件本身。
衡量成功的标准也随之改变。选择HAV平台不再仅仅取决于能够验证多少个逻辑门的功能正确性,而是要看能否在流片前执行、分析和优化所有软件驱动的应用场景。在这个新时代,硬件不仅是软件创新的基础,更已成为其主要驱动力之一。