公司新闻

填补网络 SoC 设计前端与后端验证的差距

作者:Lauro Rizzatti 博士,验证顾问

消除复杂网络 SoC 开发风险不再是遥远的目标;如今,所有设计团队都可以实现。

最近,笔者一直在写关于在芯片流片成功之前使用硬件加速仿真来验证网络片上系统 (SoC) 设计的益处的系列文章。在本专栏中,将介绍一种可填补相同网络设计中的前端与后端验证之间差距的新方法。

在开始详细介绍前,让我们先看下这一竞争激烈的细分市场趋势。由于云计算、大数据中心和移动应用等新市场的不断涌现,使得软件驱动的网络 (SDN) 架构得以大量采用。图 1 绘制了 SDN 市场趋势的年收入,预计在未来两年将增长 135%。

Figure 1. SDN adoption continues to skyrocket due to new markets, such as cloud computing, big datacenters and mobile (Source: Lauro Rizzatti)

图 1.由于云计算、大数据中心和移动应用等新市场的出现,SDN 的采用持续高涨(信息来源:Lauro Rizzatti)

SDN 转而也大幅提高了设计复杂性、扩大了设计规模以及增加了端口数量。图 2 绘制了部分关键细分市场中的设计规模增长。

Figure 2. Complexity and gate counts have increased with new SDN applications (Source: Lauro Rizzatti)

图 2.复杂性和门数量已随着新 SDN 应用而增加(信息来源:Lauro Rizzatti)

开发这些巨型 SoC 的设计团队早已不堪重负,而这种势不可挡的设计规模的剧增更为其带来诸多挑战。按重要性递减的顺序,这些挑战包括:

  1. 测试所有端口配置。
  2. 测量并符合性能和带宽预期。
  3. 演示设计支持各种规格的所有以太网 OSI 层协议
  4. 调试在硬件仿真中找出的硬件问题和实验室中的后端问题。
  5. 确保设计按预期通过软件重新配置/执行。
  6. 提供编译、下载和运行的快速周转时间。
  7. 最大程度地降低部署验证环境的成本/时间。
  8. 评估功耗并将其降至最低。
  9. 减小芯片的封装。

这些挑战已无法通过传统软件仿真工具或者形式验证工具解决。这并非意味着这些工具已经变得毫无用处。恰恰相反,它们是验证工具箱中的基本工具,但其部署只限于知识产权 (IP) 模块和子系统模块级别的验证范围内,这在现代的复杂 SoC 设计早期开发周期中是必不可少的,包括网络芯片。

在十亿门级的竞争舞台,只有硬件驱动的验证引擎可以应对这些挑战任务,符合紧凑的时间表,在高速发展的网络市场中,避免芯片发布延期所带来的潜在收益损失。

笔者之前的文章已多次提到过,在基于硬件的验证引擎中,硬件加速仿真已成为前端验证的最佳工具。现代硬件加速器拥有近乎无限的容量,可仿真最大型的设计,并且无需仪表/编译即可提供整体设计可见性和访问/控制,同时还支持高吞吐量以及快速、可预测的编译和调用时间。它可以通过对资源的最优化利用来容纳多个并发用户。它能以多个操作模式进行部署,从而执行多种验证任务,包括内电路仿真 (ICE) 和虚拟测试、低功耗验证、功耗估计、性能特征提取以及可测试性设计 (DFT)。

当使用多个端口验证网络 SoC 设计时 -- 比如 64 或更多 -- ICE 价值定位相比前十年已显著降低。ICE 环境需用速度适配器这样的外部硬件,作为快速真实的网络流量(数百兆赫)和相对低速的硬件加速仿真设计(一兆赫或几兆赫)的接口。随即会增加设置复杂性,提高功耗,且会降低可靠性。如此一来,设置的重新配置变得繁琐,并且部署起来很慢,把加速器的使用权限制于本地安装的单个用户,因而排除了远程访问。更糟的是,它让设计调试的再现性和重复性变得不确定,导致调试计划难以执行。

相反,设计团队正在从 ICE 设置中迁移到虚拟测试环境,从而消除任一硬件 -- 乃至 -- 所有硬件的依赖性,包括噪声、功耗、电缆、可靠性和相关成本。在实际硬件可用之前,可以通过使用软件和可综合的硬件模型的组合创建虚拟器件,以便通过该软件轻松进行重新配置。它们以硬件加速仿真速度运行,支持多个用户和多个项目,可远程访问,并且能在数据中心进行部署。

DAC 2016 专家组的 Guy Hutchison(Cavium 的助理副总裁,也是一名硬件工程师)说道:“对于我们的设计,我们仅采用虚拟技术。部分原因在于我们的设计本质 -- 对我们而言,并没有真正具有代表性的、能达到 100 千兆流量的目标。内电路仿真器方法对我们来说毫无价值,因此我们对所有的仿真均采用完全虚拟的方法。”

但是,虚拟模式需要创建虚拟测试环境,这是一项非凡的任务。就这方面而言,Mentor Graphics 公司已走在前列,开发了全面的复杂虚拟环境 VirtuaLAB,可以支持应用程序特定 SoC 设计的前端测试。在网络设计的情况下,VirtuaLAB 包括以太网数据包生成器和监视器 (EPGM),可生成、传输并监控被测设计 (DUT) 的以太网数据包。它能够配置 25GMII、50GMII、200GMII 和 400GMII。

每个 VirtuaLAB 支持多达 32 个端口。可以将多个 VirtuaLAB 系统进行组合,从而使得端口数扩展至 1,000 个以上。图 3 就测试了 128 端口以太网交换机,比较了 ICE 设置和等效的 VirtuaLAB。

Figure 3. Comparing an ICE setup (top) with an equivalent Virtual setup (bottom) to verify a 128-port Ethernet switch illustrates the ICE´s complex setup and why it´s not viable for remote access (Source: Mentor Graphics)

图 3.比较验证 128 端口以太网交换机的 ICE 设置(顶部)和等效虚拟设置(底部),说明了 ICE 的复杂设置,以及为何对于远程访问不可行(信息来源:Mentor Graphics)。

前端与后端验证

尽管 VirtuaLAB 的前端验证功能强大,但在实验室中应用到工程样品的后端测试时,其有效性会受到影响。不过,在实验室中测试网络工程样品的方法是通过使用专用的硬件网络测试仪。再次引用 Guy Hutchison 的话:“当我们在实验室中测试时,我们会采用 IXIA 或 Spirent 流量生成器进行测试。”

在这种场景下,验证环境有两种差距。首先是软件仿真与硬件加速仿真之间的差距。第二个差距是在设计中心进行的基于硬件加速仿真和 VirtuaLAB 的前端验证,与在实验室中由专业测试仪进行的后端测试之间的差距。图 4 对这些差距进行了说明。

图 4. 在验证环境中存在从功能仿真到实验室测试之间的差距(信息来源:Mentor Graphics & IXIA)

填补差距

Mentor Graphics 再次率先发起一项举措,以填补硬件加速仿真环境和实验室之间的差距。它与全球领先的网络设备和网络应用综合解决方案提供商 IXIA 达成协议。IXIA 的产品覆盖整个网络测试需求范围,从性能到功能、再到安全和一致性测试,包括物理和虚拟测试仪。

物理测试仪用于:

  • 验证物理 DUT 的高性能和可扩展性。
  • 测试高速以太网接口的数据平面超高可扩展性。
  • 以微秒级精度进行可靠测试和测量所有数据速率。
  • 验证光学元件和线缆的高速互连系统。

虚拟测试仪用于:

  • 快速实施测试环境。
  • 管理订阅和灵活浮动许可证。
  • 支持多用户和多站点。
  • 进行大规模的功能测试。
  • 在芯片设计周期的早期进行测试。
  • 一个或多个管理器件上的载荷平衡验证。
  • 验证云/数据中心的软件定义网络、网络功能虚拟化 (NFV) 和应用。
  • 认证网络安全性、拒绝服务和入侵检测。

Mentor 和 IXIA 不断扩大 Veloce 硬件加速仿真平台应用的产品系列,共同开发了作为硬件加速仿真测试前端的 IXIA IxNetwork 虚拟版本 (VE) 测试产品系列和作为后端的 Mentor 的全新 Veloce 虚拟网络 (VN) 应用集成(图 5)。

Figure 5. A block diagram representing the Mentor/IXIA integrated networking solution (Source: Mentor Graphics & IXIA)

图 5.表示 Mentor/IXIA 集成网络解决方案的方框图(信息来源:Mentor Graphics & IXIA)

IxVerify 前端乃基于 IXIA 的 IxNetwork 测试产品,采用相同的图形界面,并启用了测试脚本和功能复用(也支持 IxExplorer 用于旧版安装)。在其第一版中,该系统支持这些客户端应用当前支持的所有无状态以太网流量,重点强调 1G、10G、25G、40G、50G、100G、Tx/Rx 带宽分析、UDF/UDS、流量整形、延时计算、完整的图形界面前端和 IXIA 的所有自动化特性。实际上,客户体验与 IXIA 客户现在所享受的并无区别。

VN App可用作后端,并且包括在工作站上运行的 Veloce 流程控制机制、以及 Veloce 硬件加速器内部映射的事务处理器,形成了从 IXIA 测试平台到硬件加速仿真的高性能优化数据平面流。就提高效率和改进调试而言,该整体解决方案填补了软件仿真、硬件加速仿真和实验室之间的差距。

VN 应用程序拓扑

模块化和高度可扩展的虚拟系统反映了完全虚拟化的物理 IXIA 测试仪,因此可以使用 Mentor 的软件仿真工具进行快速设计调试,并为整个 SoC 验证提供相同的 Veloce ICE 性能。图 6 是 Mentor/IXIA 集成解决方案的框图。

Figure 6: IxVerify acts as the front-end, while the VN App serves as the backend in this configuration (Click here to see a larger image. Source: Mentor Graphics & IXIA)

图 6:在本配置中,IxVerify 用作前端,而 VN 应用程序用作后端(信息来源:Mentor Graphics & IXIA)

每个线卡都是在 Qemu(通用和开源机器硬件加速器和虚拟器)/内核虚拟机 (KVM) 实用工具中运行的虚拟机 (VM)。它采用了最先进的 Hyper Visor 技术,搭配 Testbench Express (TBX) 技术,可以实现紧密集成的虚拟平台解决方案。线卡虚拟机 (VM) 通过在位于公司网络中任何位置的任何用户 Windows 工作站上运行的 IxExplorer 或 IxVerify 客户端应用程序与公司网络上的底板 VM 进行通信。

OSI 参考模型

图 7 比较了 EPGM VirtuaLAB 和 VN App与开放系统互连 (OSI) 参考模型。

图 7.ViruaLAB 中支持的 OSI 层与 VN App的比较(信息来源:Mentor Graphics & IXIA)

通过 IXIA 和 Mentor Graphics 实现加速的验证流程

Mentor Graphics 和 IXIA 合作开发产品,使得网络客户能够将 IXIA 虚拟环境无缝集成到基于硬件加速仿真的验证流程中,因此为实验室环境带来强大的硬件加速仿真优势。这样,客户便可复用数据流生成脚本,进而提高效率、完善调试,缩短上市时间,使设计团队能减少复杂芯片设计中的挑战风险。

图 8.Mentor/IXIA 集成消除了从软件仿真到硬件加速仿真再到实验室的验证环境中的所有差距(信息来源:Mentor Graphics & IXIA)

通过使用该系统,网络设计团队能在软件仿真、硬件加速仿真和实验室中运行相同的测试。它支持高性能,并可为前端验证提供调试优势。实验室中未发现的错误可在硬件加速仿真中通过与实验室相同的测试环境进行追踪。其中包括 PCIe、以太网和可能位于网络交换机上的其他 VirtuaLAB 解决方案。测试整个产品中发现的错误,包括硬件和软件,可在硬件加速仿真中立即再现,但若不使用由 IXIA 和 Mentor Graphics 共同开发的这些最先进的虚拟化技术,这种硬件加速仿真则可能需要数周才能复制。

最终,通过使用后端软件开发工具包 (SDK) 和测试环境,可以实现真正的“提前”前端验证功能。消除复杂网络 SoC 开发风险不再是遥远的目标;如今,所有设计团队都可以实现。