公司新闻

关于硬件加速仿真的 11 个谬论

作者:Lauro Rizzatti

误解和谎言可以歪曲人们对硬件加速仿真的认知。这些错误认知包括:

1.硬件加速器是幕后的验证工具,仅用于需要更为严谨调试的最复杂的设计

在 20 世纪 80 年代末和 90 年代初硬件加速器刚出现时,这种说法的确没错。不过,在跨入 21 世纪之后,也就是过去 15 年来,情况全然不同。这一转变有赖于几次技术改进和创新。新架构、新功能和简化的使用方法推动了硬件加速器在半导体行业各个领域的部署应用,从处理器/图形扩展到网络、多媒体、存储、汽车和航空航天。

如今,硬件加速器被用于任何规模和任何类型的设计。它们可以验证硬件、集成硬件和嵌入式软件,也可以验证嵌入式软件和整个片上系统 (SoC) 设计。

  • 项目团队因为使用硬件仿真加速器编译项目时间过长而避免使用硬件仿真加速器。在硬件仿真加速器上,建立设计平台和调试硬件仿真加速器硬件耗费了太多精力,和结果相比,得不偿失

同样,这一说法在多年前没错,现在却并非如此了。编辑技术的进步简化并提高了被测设计 (DUT) 到硬件加速器的映射。DUT 准备、编辑以及硬件加速器上映射设计的过程曾非常耗时,现在已从数个月缩短为几天时间。如果设计复杂度较低或属于新的复杂设计的衍生,甚至只需一天。

  • 硬件加速器的购置和维护成本高昂

过去确实如此,如今不全然是这样。考虑到现代硬件加速器的验证功能和灵活性,其购置成本简直不值一提。硬件加速器是迄今为止功能最多的验证引擎。它具备解决最复杂的调试情景所需的性能和能力,通常包括嵌入式软件内容。只要想想,90 年代初每个门需耗费 5 美元,如今单位成本大约为每个门几美分甚至更少。

虽然听起来很奇怪,但是以周期为基础来计算,工具的多用性使硬件加速仿真成为最廉价的验证解决方案。

持有的成本也大幅下降。由应用工程师团队“在幕后”操作和维护硬件加速器的时代已一去不复返。产品的可靠性得到大幅提高,降低了几个数量级的维护成本。此外,其易用性也让它的用途简单明了。

  • 硬件加速仿真仅用于电路内仿真 (ICE) 模式

需要了解的是,在 ICE 模式中,DUT被映射到硬件加速器之中,被目标系统所驱动,和最终流片出的芯片一致。这就是推动硬件加速仿真概念形成和发展的部署模式,换言之,就是通过物理目标系统产生的真实世界的激励来测试 DUT。

虽然很多用户仍采用这一模式,但这并不是部署硬件加速器的唯一方式。除了 ICE,硬件加速器还可用于多种仿真加速模式。此外,还可以通过 PLI 接口使用基于软件的测试平台驱动硬件加速器,虽然由于硬件加速受限而未得到广泛应用,但仍可用于缩短从软件仿真切换至硬件加速仿真的设计调用耗时。或者通过基于事务的接口(TBX 或 TBA)驱动硬件加速器,硬件加速系数达到与 ICE 相当的水平之后,这些接口的应用越来越普及,至少对于目前某些硬件加速器是这样。将可综合的测试平台与 DUT 一起映射到硬件加速器内部之后,硬件加速器便可用于独立模式 (SAA)。它们还可以加快存储于板上或密切关联的内存的嵌入式软件的验证。此外,硬件加速器还可同时用于上述多个目的。

  • 在基于事务的硬件加速模式中,硬件加速仿真毫无用处

人们对硬件加速器仍存在一种普遍的误解,即基于事务的方法不起作用,或者与 ICE 相比性能有限。这一概念源于 20 世纪 90 年代末的 IKOS 系统并且起了作用。Mentor Graphics 在收购 IKOS 之后改进和推动了这一技术发展,命名为 TBX,作为 ICE 的一种可行的替代方案。

新兴的仿真公司 EVE (Emulation Verification Engineering) 在创建时就采用硬件加速仿真作为主要部署模式。我曾在这家公司担任过总经理和营销副总裁。Mentor 和 EVE 都证明了:基于事务的硬件加速模式不仅能起作用,其执行速度还能与 ICE 匹敌,甚至更快。

基于事务的硬件加速的另一个独特优势在于能够创建一个运行 DUT 的虚拟测试环境,支持特殊用例分析、假设分析等 ICE 无法实现的功能,例如 Mentor Graphics 的 VirtuaLAB 实施。VirtuaLAB 在虚拟环境中将整个目标系统制成模型,例如 USB、以太网或 HDMI。

  • 硬件加速器将替代 HDL 仿真器

这个说法不仅错误,而且永远不会发生。硬件描述语言 (HDL) 仿真器能够快速设置和编辑,并且具备固有的优势——灵活而全面的设计调试功能,使其成为业内独一无二的最佳验证工具,但其有一个重大的局限性:在设计规模扩大到某个程度,尺寸达到数亿个门时,它们会“筋疲力尽”,性能下降。硬件加速器正是在这个时候发挥作用。

假定设计规模会继续扩大,而 HDL 仿真器对大规模设计的执行速度不会提高,那么硬件加速器将成为唯一可行的系统级设计验证手段。仿真器将继续用于知识产权 (IP) 和模块级。

您可能会问,那多机仿真呢?

在多机仿真中,大规模 DUT 不会分解成小块并分布到大量 PC 中,使一个工作站执行一小块 DUT。这种方法已被重复尝试了 25 年多了,但结果并不尽如人意。

相反,多机仿真中的每个工作站会执行同一个设计的副本,和设计的大小相同。每份设计副本由功能完善且独立的不同测试平台执行。因此,设计规模仍起决定性作用。带有大规模验证平台的多机仿真被用于回归测试是非常流行的。

仿真器与硬件加速器的使用比率可能是 80% 比 20%。据我估计,这个比例会在十年后反转,变成 20% 比 80%。

7.硬件加速仿真和 FPGA 原型除了名称有别,本质并无不同。FPGA 原型能够并且将取代硬件加速器

这是个错误的说法。虽然硬件加速器可以使用 FPGA 器件(事实上有一些硬件加速器确实使用了 FPGA 器件),但这两种是截然不同的工具。

FPGA 原型的设计旨在实现尽可能最高的执行速度。在芯片设计的过程中,通常每一种验证原型会针对特定的设计加速而作优化。它们牺牲了 DUT 映射工作、DUT 调试功能(限制到最低,常常毫无用处)以及调整灵活性和多用性。它们可用于芯片成功流片之前的嵌入式软件验证以及最终系统验证。

除了采用了基于定制的处理器、定制的片上硬件加速器和商用 FPGA 的技术,硬件加速器拥有的几个特性将其与 FPGA 原型电路板或系统区别开来。例如:

  • 硬件加速器和 FPGA 原型系统在 DUT 映射和编辑耗时方面有着天壤之别,一个以天计算,一个以月计算。
  • 硬件加速器针对硬件调试,因此支持 100% 的设计可见性,不要求探针编辑。不同的硬件加速器在这个关键性能上存在差异,但是和FPGA相比,这些差异微不足道。
  • 硬件加速器可用于几个操作模式,支持从硬件验证和硬件/软件集成到固件/操作系统测试和系统验证的一系列验证目标。此外,它们还可用于多电源域设计验证,并且可以产生支持功率估算的切换活动。
  • 硬件加速器还是多用户/多任务引擎。FPGA 原型系统仅由一个用户使用,一次处理一个任务。

上文所述已说明了 FPGA 原型不会取代硬件加速器的原因。

  • 硬件加速器必须安装在一个地点,不能远程使用,例如作为数据中心资源使用

早期的硬件加速器确实如此,如今已不再是这样。目前,所有的硬件加速器都可以远程访问。但是,在 ICE 模式中,这种方法太繁琐,在硬件加速器上传不同设计时需要人为监督来安装和切换速率适配器。事实上,ICE 模式的多用户或多任务非常不利于远程访问部署。

尽管如此,ICE 模式的多用户、远程访问(TBX/TBA 或 SAA)和大规模配置是硬件加速仿真数据中心的基础。显然,高效且顺利的操作需要管理软件,这就是各种硬件加速器实施的不同之处。

  • 硬件加速仿真不支持 SoC 中的嵌入式软件验证,这意味着该手段无法实现硬件/软件协同验证

事实完全相反。硬件加速仿真是能够执行这项艰巨任务的唯一工具。

为验证嵌入式软件在底层硬件上(带单个或多个 CPU 的 SoC)的交互,包括固件和操作系统,验证工程师需要以下三种要素:

  • 周期精确的设计呈现,以跟踪 SoC 中任何地方的错误。硬件加速器可以提供最准确的设计呈现(在这方面和真实芯片相比只是缺少了硅晶片)。
  • 可达到数百个千赫或兆赫的极高执行速度,越快越好。硬件加速器可以实现这个速度。
  • 硬件设计完全可见。硬件加速器提供了 100% 的设计可见性,虽然不同硬件加速器的访问速度不同。
  • 功率估算是一项关键的验证任务,但硬件加速仿真没有能力分析 SoC 的功耗

这又是一个错误的说法。功耗分析基于设计内部所有元素的切换活动跟踪。设计呈现得更细致,分析就更为准确。遗憾的是,更高的粒度水平意味着会消耗更多的硬件加速器资源,从而降低其灵活性,阻碍其做出能够改善功耗的重大设计变更。最好是从架构层级实现这一分析。

硬件加速仿真可以实现寄存器传输级 (RTL) 和现代 SoC 设计门级的最佳功耗分析。只有硬件加速仿真才有处理大量逻辑以及产生针对所有元素的切换活动的独有能力。

  • 所有硬件加速器都是一样的

今天,所有硬件加速器有很多共同特性,都能够执行任务。不过,在特定模式下,有些硬件加速器会优胜于其他硬件加速器。

从架构的角度来看,硬件加速器之间的区别在于技术基础。以下是来自三个主要 EDA 供应商的三种商用产品:

  • 基于定制处理器的架构:由 IBM 制定,是自 1997 年后经过验证的技术,在 2000-2010 十年间占主导地位。优势包括快速编辑、良好的可扩展性、在 ICE 模式下执行速度快、获得来自全面的速度桥接目录的支持,以及卓越的调试功能。缺点是在 TBA 模式下的执行速度有限、功耗大,并且物理尺寸比基于同等设计容量的商用 FPGA 的硬件加速器更大。
  •   定制的片上硬件加速器架构:片上硬件加速器架构由一家名为 Meta Systems 的法国新兴公司在上世纪 90 年代中期率先设计出来,基于高度优化的定制 FPGA,这种 FPGA 包含能够快速编辑的互连网络,并且可以实现“设计即正确”的编辑。设计可视化在硅片上实现,提供 100% 的可见性,不要求探针编辑和快速的波形跟踪。它有几个缺点:需要多个工作站进行快速编辑;相比基于同等设计容量的商用 FPGA 的硬件加速器而言,速度更慢,物理尺寸更大。
  •   基于商用 FPGA 的架构:首次使用时间是 20 世纪 90 年代,因为几个缺点而不及基于定制处理器的架构。过去 10 年,超大的新一代商用 FPGA 帮助克服了旧的商用 FPGA 的很多弱点,其物理尺寸和功耗在同等设计容量的架构中均属最小值。与其他两种架构相比,它可以获得更快的执行速度。最大的一个缺点是在至少 1,000 万门或更低的设计中,其编辑速度低于其他两种架构。这种设计完全可见的实现以牺牲较高的硬件仿真速度为代价。

这三种架构都具备可扩展性,能够处理任何设计规模,小至 IP 模块,大到超过十亿门级的整个系统。它们支持多用户,其中,基于定制处理器的架构可以容纳最多的用户。它们还支持所有部署模式和验证目标。