在线仿真的兴起、衰落和重生:真实案例研究(2)
关键
Synopsys 速度适配器通过在仿真过程中允许真实硬件交互来显着增强系统验证,这有助于发现虚拟环境可能遗漏的关键设计缺陷。
高保真在线仿真 (ICE) 平台可以暴露与低级系统行为相关的错误,这些错误在虚拟平台中逃脱检测,正如在硅前识别错误的案例所证明的那样。
采用新思科技速度适配器可以实现准确的物理层表示,从而实现高效的硅前测试,并将编程和训练 PHY 所需的时间从数月缩短到数周。
最近,我有机会与新思科技在速度适配器和在线仿真 (ICE) 方面的杰出专家进行了交谈。许多了解我专业背景的人都认为我是基于交易器的虚拟仿真的倡导者,因此我真的很惊讶地发现当今的速度适配器所取得的令人印象深刻的结果对于系统在其实际使用环境中的验证至关重要。
在本文中,我分享我所学到的知识。虽然保密性使我无法透露客户的名字,但所有示例都来自领先的半导体公司和整个行业的主要超大规模企业,使用 ZeBu® 仿真或 HAPS® 原型设计以及 Synopsys 速度适配器。当您阅读本文时,您可以参考下图 Synopsys Speed Adaptor 解决方案:

图 1:Synopsys Speed Adaptor 解决方案和系统验证服务器 (SVS) 的部署图
案例研究 #1:在系统验证中结合保真度和灵活性的价值
挑战
一家大型无晶圆厂半导体公司采用虚拟平台和硬件辅助验证 (HAV) 平台来加速早期软件开发和设计验证。
该公司的运营围绕三个不同的业务部门组织,每个业务部门负责独立设计自己的芯片。每个单位都为其虚拟主机解决方案平台选择了不同的主要 EDA 供应商。乍一看,这种多供应商设置可能看起来支离破碎,但由于虚拟平台通常建立在相似的架构蓝图之上,因此该方法仍然导致所有三个 BU 之间保持一致和标准化的验证环境。
除了这些虚拟设置外,工程团队还采用了在线仿真 (ICE)。在这里,他们再次实现了工具的多样化,从三大 EDA 供应商中的两家采购速度适配器和仿真。这使他们能够进行系统级测试,将仿真环境与真实硬件组件连接起来,以验证真实条件下的行为。
在一个关键的设计里程碑中,一位负责监督设计验证的高级副总裁要求进行跨平台验证计划:在 BU 之间交换设计和工具,验证每个 BU 的芯片是否在所有供应商的平台上工作,在流片前发现隐藏的不一致之处。
该任务要求在所有三个虚拟主机平台和两个 ICE 设置上运行每个 BU 的设计,以确保环境独立性。
就在这时,惊喜袭来了!一种设计在所有三个虚拟主机平台上都完美通过。它在其中一个 ICE 平台上通过,但在另一个 ICE 平台上失败,导致系统启动完全停止。直接的怀疑落在了速度适配器上。设计团队将问题上报给 EDA 供应商的 ICE 专家进行根本原因分析。
解决方案
EDA 供应商的 ICE 团队深入挖掘了日志和波形迹线,找到了真正的罪魁祸首。这不是适配器。这是 DUT RTL 中的一个错误。
由于缺少低级系统行为建模,这个 RTL 缺陷逃脱了所有三个虚拟平台。由于保真度较低的实现,逃脱了其中一个 ICE 设置,并且仅出现在保真度较高的 ICE 平台上,该平台准确地反映了真实的服务器行为。
在现实世界的服务器系统中,三个关键的硬件/软件层同时交互。从下往上看,层次是:
主板芯片组,包括 PCIe 交换机、桥接芯片和其他支持芯片
BIOS,处理低级系统初始化和配置
作系统 (OS),例如 Linux 或 Windows,运行在顶部
虚拟主机平台通常仅使用虚拟机方法(通常基于 QEMU)模拟作系统层。BIOS 的表示最少,芯片组行为被完全抽象出来。
然而,在高保真 ICE 平台上,通过速度适配器连接了真正的英特尔服务器主板。在启动期间,此英特尔芯片组通过 PCIe 正确发出供应商定义消息 (VDM),这是许多生产英特尔服务器中的标准行为,但在虚拟平台中根本没有建模。收到此 VDM 后,DUT 错误地丢弃了数据包,而不是更新 PCIe 流量控制。这会导致系统启动期间出现死锁。没有软件解决方法,唯一的解决方案是在流片前修复 RTL。
结果
如果未被检测到,该芯片将在每次服务器部署中都会出现故障,从而导致产品到达时死亡。在硅前检测到错误为公司节省了数百万美元的重新旋转和数月的进度延迟。该事件表明,为什么高精度虚拟环境对于及早发现错误至关重要,而高保真度的电路内设置对于获得最终保真度和设计信心是必要的。
—
案例研究 #2:ICE 提供卓越的吞吐量
挑战
在设计外设接口产品时,工程团队通常依靠虚拟解决方案进行早期验证。虽然虚拟环境可以对协议控制器进行建模,但它们无法准确表示物理 (PHY) 层。
在这些虚拟模型中,PHY 被删除并替换为简化的“假”模型,允许编写用于基本寄存器编程的软件,但不支持链路训练、均衡或真正的电信号。因此,链接训练可能看起来很成功,因为模型“假设”合规性。时序失配、均衡故障和信号完整性问题等细微问题一直隐藏在硅后测试后期。测试实际的互作性是不可能的,尤其是与各种第三方硬件和驱动程序的互作性。
由于这一缺点,一家领先的超大规模企业面临着重大挑战。在设计周期的早期,他们仅仅为了编程和训练 PHY 就面临长达数月的延迟,将关键错误的发现推向了昂贵的硅后阶段。
解决方案
为了克服这些挑战,他们采用了新思科技速度适配器将 PHY 引入仿真环境。
通过这种方法,PHY 通过速度适应物理连接到仿真器。这些板支持完整的编程、培训和链路初始化,就像在芯片上一样。
这种集成有效地将仿真环境转变为真正的在线仿真 (ICE) 平台,将硅前仿真的速度和可见性与实际硬件的物理精度和互作性相结合
影响示例
PCIe Gen5 接口
在虚拟设置中,Gen5 设备的链路训练序列似乎很成功。
当通过速度适配器和 PHY 进行测试时,客户发现了严重的时序不匹配和均衡故障,这些故障本可以逃脱虚拟验证。
在硅前解决这些问题,避免了潜在的昂贵的硅重新旋转,并确保完全符合 Gen5 规范。
UFS 存储接口
UFS 主机控制器通过了虚拟模型中的功能测试。
当通过速度适配器连接到真实的 UFS PHY 时,工程师发现了时钟未对准、突发模式不稳定以及压力条件下的数据损坏——这些问题根源于真实信令,在虚拟模型中是看不见的。
早期检测提高了系统可靠性并确保符合 JEDEC 标准。
驱动程序互作性测试
在根复杂模式下,不同的 GPU(NVIDIA、AMD、Intel)各自使用不同的驱动程序和优化。
虚拟环境无法测试这些真实驱动程序,因为它们需要物理接口。
速度适配器允许针对真实设备进行完整的驱动程序堆栈,从而暴露出虚拟模型永远无法捕获的勘误表和互作性错误。
结果
之前四个月的 PHY 编程加上长达六个月的硅后训练,在硅前几周内就完成了。这是可能的,因为速度适配器运行工作负载,实现了快速设计迭代和更快的启动周期。另一个好处是改进了调试和重用,因为在硅前训练的相同 PHY 配置可以直接在硅后重用,从而加速启动。
—
案例研究 #3:以太网产品验证
挑战
在开发高级以太网产品(如超以太网、智能网卡或智能交换机)时,工程师面临着一个反复出现的挑战:如何将真实的软件流量引入以太网验证环境。
虚拟环境提供部分解决方案。虚拟测试器生成器 (VTG) 提供低级数据包流量(第 2 层、第 3 层),但不执行应用软件堆栈。虚拟主机 (VHS) 允许软件交互,但缺乏流量控制功能。如果没有流量控制,数据包就会被丢弃,这对于保真度和确定性至关重要的验证环境来说是一个不可接受的限制。
因此,从流量控制角度 (VHS) 来看,传统的虚拟环境要么不完整 (VTG),要么不完全可靠。这一差距使设计团队无法跨所有协议层全面验证以太网产品,尤其是依赖于真实驱动程序、作系统和诊断软件的更高层(L4-L7)。
溶液
以太网速度适配器通过以太网将虚拟测试环境与真实软件执行联系起来,从而弥补了缺失的环节。
与 VHS 不同,速度适配器保证零丢包,即使在高流量下也能提供确定性性能。虚拟测试仪(例如,来自 Ixia 或 Spirent)对于低级(第 2/3 层)功能验证仍然有用。速度适配器可以执行测试人员无法模拟的真实驱动程序和基于 Linux 的诊断工具。虚拟测试仪和速度适配器共同构成了涵盖所有以太网层的完整解决方案。
对于初创公司或预算有限的客户来说,速度适配器是对更昂贵的虚拟测试仪许可证的补充。速度适配器可以以更低的成本提供等效的数据包生成和分析。此外,免费和开源测试生成器可以分层在速度适配器之上,以低得多的成本复制测试仪功能。
结果
在实践中,这种混合方法使客户能够根据正在开发的硬件验证真实的软件堆栈,而不会丢失数据包。捕获仅出现在更高协议层中的设计错误,这些问题是纯虚拟测试环境无法暴露的问题。以经济实惠的方式扩展,将有限的 VTG 许可证与速度适配器相结合,以实现完整的测试覆盖。
—
案例研究 #4:与 MIPI 速度适配器的真实传感器互作性
挑战
一家大型无晶圆厂企业的显示和测试框架 (DTF) 团队面临着一个反复出现且代价高昂的问题。他们需要根据基于MIPI的真实图像传感器和相机来验证其芯片设计。然而,在虚拟仿真环境中,这是不可能的,因为虚拟模型可以模仿协议行为,但无法复制真实的传感器电信号或时序。供应商特定的摄像头和传感器各自具有独特的初始化序列、时序怪癖和信号完整性特性,这些都是通用虚拟模型无法捕获的。当第一块硅从晶圆厂返回时,它经常无法与预期的相机和传感器连接,导致长时间的启动工作,甚至整个硅重新旋转。
这种限制造成了重大的上市时间瓶颈。当发现硬件兼容性问题时,该设计已经经历了昂贵的制造,从而推迟了产品发布。
解决方案
为了消除这一瓶颈,该公司采用了 MIPI 速度适配器,使 ICE 具有真正的传感器硬件。使用这种方法,在仿真器内部运行的芯片设计可以直接连接到真实的、特定于供应商的 MIPI 相机和图像传感器。工程师可以像在物理芯片上一样执行完整的初始化、配置和数据流路径。该设置支持轻松更换不同的传感器和相机型号,从而实现跨供应商的快速互作性测试。
这种能力为 DTF 团队提供了他们在硅前所需的真实世界覆盖,而无需等待芯片从晶圆厂返回。
结果
该设计已成功测试,使用计划生产的确切供应商特定相机和传感器型号。通过发现硅前的集成问题,企业避免了因硅后启动故障而导致的代价高昂的设计重新旋转。取消硅后相机/传感器调试周期加快了整体产品进度。最后,团队可以签署,因为该设计已经在现实世界的外围设备中得到了验证。
—
案例研究 #5:Synopsys 的系统验证服务器 (SVS) 如何捕获其他解决方案遗漏的关键错误
挑战
使用 ICE 进行硅前验证历来面临严重障碍。标准现成主机服务器的设计不能容忍仿真器的缓慢或间歇性响应时间。当仿真器时钟停止或变慢时,主机通常会超时,从而中止测试运行。
该客户的芯片验证团队亲身遇到了这一限制。虽然他们为 ICE 使用了商业仿真主机服务器,但该系统没有强制执行严格的实际时序和协议检查。这有可能让有缺陷的设计通过硅前签核,但在生产后期失败。
解决方案
为了克服这些限制,客户的验证团队采用了新思科技的系统验证服务器 (SVS) 作为其 ICE 验证的主机系统。SVS 是一款经过预先验证的专用主机,专为与速度适配器和仿真器配合使用而设计。与通用主机或传统商业主机服务器设置相比,它具有两个主要优势。SVS 附带一个自定义 BIOS,旨在容忍仿真器的缓慢响应时间,以消除超时,否则可能会过早终止验证运行。SVS 忠实地模仿最终将插入的 DUT,包括强制执行严格的规范合规性,特别是对于 PCIe 等复杂子系统。参见文章顶部的图 1。
验证团队在 3 个RDparty 仿真硬件和 Synopsys 的 SVS.使用 3RDparty 仿真时,系统启动成功,但在 SVS 上,启动完全失败。最初,工程师怀疑 SVS 存在硬件故障。正如他们所说:“你的 SVS 坏了,而其他人工作正常。
然而,经过详细的调试会话后,发现他们的 DUT 在 PCIe 空间寄存器中包含配置错误。3RDparty 仿真解决方案和主机服务器屏蔽了这些错误,因为它使用了无法强制实施 PCIe 寄存器约束的过时 BIOS。相比之下,SVS 严格执行 PCIe 规范并正确拒绝非法寄存器值。该错误无法通过固件修复(没有软件补丁可以纠正它)。
结果
SVS 暴露了一个 RTL 级配置错误,虚拟流和另一个仿真解决方案遗漏了该错误。由于 SVS 修改后的 BIOS,它消除了超时不稳定性,允许稳定、长时间的测试。
SVS 确保只有符合规范的设计才能进入流片,从而消除遗留流程中的误报。
如果设计是基于 3 流片的RD派对仿真“通过”,则芯片将是 DOA,需要进行完整的、昂贵的重新旋转。
结论
早在 2015 年,我就为《电子设计》撰写了“冰河时代的融化”,其中我预测了在线仿真 (ICE) 的消亡。它的众多缺点(参见本系列的第 1 部分)似乎注定了它被历史所取代,取而代之的是基于事务的仿真,以及后来推动左移验证方法的混合方法。事后看来,我必须承认我低估了工程界的聪明才智和足智多谋。
如今,第三代速度适配器再次将 ICE 推向了系统级验证的聚光灯下。曾经只能在硅后实验室中检测到的错误现在可以在硅前识别出来。此功能不仅降低了重新旋转的风险,还加快了流片时间并节省了巨额费用。ICE 非但没有消失,反而重新成为系统级验证的基石。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码