0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >技术信息 > 硬件仿真如何让嵌入式系统便宜可靠克服主要物联网和网络验证挑战

硬件仿真如何让嵌入式系统便宜可靠克服主要物联网和网络验证挑战

2017-08-28
类别:技术信息
eye 156
文章创建人 拍明

  在当今竞争激烈的形势下,使富含嵌入式软件的复杂电子设备更快面市,但是同时确保其更便宜更可靠,是一种相当冒险的做法。未经彻底测试的硬件设计不可避免地导致返工,增加设计成本并延长布局流程的网表交付时间,并最终延迟上市时间目标,对收益源造成破坏性影响。

  推迟嵌入式软件的测试也潜藏有错过上市机遇的可能,会带来更严重的后果。

  正因为如此,项目周期的验证部分极大地占用计划时间变成了很常见的事情。其中的根本原因,在于跟踪和消除错误极为不易,尤其是在片上系统 (SoC) 的软件内容以每年约 200% 的速度增长的情况下。与此相反,设计的硬件部分仅增长约 50%。

硬件仿真作为系统验证的基础.png

  硬件仿真作为系统验证的基础

  虽然虚拟原型和现场可编程门阵列 (FPGA) 原型在早期嵌入式软件测试上已受到关注,但对于软件和硬件的集成并无助益。前者缺乏追踪硬件错误所需的硬件精确性,而对于尽快消除错误所需的硬件调试,后者能力有限。

  因此,开发团队和项目经理已转而采用硬件仿真作为其验证策略的基础。硬件仿真是一种多功能验证工具,有许多相关优势,包括软硬件协同验证或测试硬件和软件集成的功能。它已受到软件开发者的注意,因为这是能够确保嵌入式系统软件通过底层硬件正常工作的唯一验证工具。对于致力于调试复杂 SoC 设计的硬件工程师来说,这也是值得注意的,因为工程师可以凭借该方法追踪硬件内的软件错误或软件行为中的硬件错误。硬件仿真的其他优势包括快速汇编功能、软件验证、全面的设计调试和可扩展性,可满足包括数十亿应用程序特定集成电路 (ASIC) 门的设计。此外,它能够以验证嵌入式软件和执行系统验证必需的高速率来处理数十亿验证周期(图 1)。

  过去,硬件调试和测试是项目周期验证部分的唯一工作,此作业由硬件描述语言 (HDL) 测试平台驱动的逻辑软件仿真进行管理。传统的大箱式硬件仿真只用于最大型的设计。很多开发团队已采用正式验证对软件仿真进行补充,以增加基础覆盖范围并确保不遗漏特殊用例。但是,只有硬件仿真可以在比较可行的时间内完成 SoC 设计的全部验证任务,并缓解与基于事件的软件仿真相关的运行问题。

都是软件内容的问题.png

  都是软件内容的问题

  SoC 的软件内容使协同验证成为验证策略中一个非常重要的部分,因为它可以在投片前确认一个嵌入式 SoC 的硬件和软件部分同时得到验证且正确交互。

  过去,如果设计流片后发生硬件问题,软件开发者必须尽其所能设法围绕问题进行编码。在 SoC 完成之前验证软件,设计团队可以在进入硅片阶段之前解决硬件问题。如前所述,硬件仿真检查用于确保嵌入式软件根据规范在硬件上运行。

  过去使用各种调试引擎进行软件调试。每种引擎有一个核心,充分利用硬件对处理器内部工作的可视性和控制功能。虽然提供了部分调试功能,但由于处理器提供的接入方式,诊断问题的能力受限。此外,由于传统软件调试通常发生在实际系统中,软件开发者以目标系统速度在实际硬件上执行实际代码。这样他们可以通过大量代码迅速找到错误的程序。

  这些传统技术在调试 SoC 时无效,因为没有实际硬件,无法以真实系统速度执行代码。一般来说,只要执行代码且软件模拟器提供所有硬件可视性,即可仿真硬件。但问题是速度 - 调试代码是很慢的一种方法。

  例如,如果 SoC 设计为在 Linux 上运行程序,软件开发者必须以数十亿时钟周期完成 Linux 启动,软件才能开始执行。粗略估计这会以约 10 赫兹 (Hz) 的典型软件仿真速度花费 28 年以上完成 Linux 启动。

  不管调试硬件还是软件,传统硬件和软件调试工具都无法得知彼此的任何情况。如果采用复杂的大型 SoC 设计,尝试找到问题时独立完成两种调试是效率低下的。

  两者结合是最为理想的方法,这样硬件仿真就可以节约时间。SoC 硬件通常在 FPGA 或其他可编程器件中实施,速度更快。在此设置中,根据运行速度,最快可以 15 分钟的速度完成 Linux 启动。硬件仿真可提供与硬件调试器相似的断点和波形控制及可视性。


  确认 SoC 设计按预期工作


  硬件仿真以其高性能(这是软件需求推动的越来越重要的需求)在一众验证工具中脱颖而出。它能够确认 SoC 设计按计划工作,并适于处理大到十亿 ASIC 等效门的复杂设计,且每月可完成超过一万亿验证周期。即使是这样,现阶段使用硬件仿真进行彻底详尽的功能验证仍然是可用的最具成本效益且有效的调试方法(图 2)。

确认 SoC 设计按预期工作

  引入事务级建模 (TLM) 和事务处理器可用性可将硬件仿真转为一系列垂直市场的虚拟平台测试环境。事务处理器作为验证知识产权 (IP) 组合的一部分,是外设功能或协议的一种高级抽象模型。事务处理器通常作为现成 IP 提供,可用于各种不同的协议。典型的事务处理器通常包括 PCIe、USB、FireWire、Ethernet、Digital Video、RGB、HDMI、I2C、UART 和 JTAG 器件。

  更好验证更多的复杂系统

  先前,硬件设计独立于要在芯片上执行的软件的开发。但今非昔比,由于 SoC 处理器数量翻倍且每代产品包含两倍的软件内容,软件问题成为开发团队和项目经理优先考虑的对象。现在,开发团队证实预期软件在硬件平台正常工作后,SoC 才算完整。

  SoC 是一个全面的嵌入式系统,需要进行硬件仿真来验证其能否正常工作。通过硬件仿真,开发团队可以更策略性地进行计划,并根据多个抽象层面实施调试方法。他们可以同时在硬件和嵌入式软件之间追踪错误,确定问题所在。通过具有更高性价比且有效的方式,他们在这个过程中节约了时间,大幅降低错过上市机遇的风险。

  硬件仿真技术克服五大主要物联网和网络验证挑战

  我们的产品设计涉及到更多协议和数十亿门设计,还要最大程度降低能耗,软件也变得日益繁多复杂,对于网络应用,还存在数百个交换机和路由器端口,因此我们需要可扩展的虚拟硬件仿真。

  我们需要进行大量验证,来设计用于组成物联网 (IoT) 和网络生态系统的产品和网络。这些都是非常复杂的大规模设计。它们使用大量的软件,而且必须满足严格的低功耗要求。因此,它们需要经过大量的验证周期,才能得到充分的运用和调试。

  IoT 设计和网络设计的五大特征对验证工作具有重大影响。这两种设计具有以下四大共同特征:“每颗芯片实现更多的协议”会更好、设计规模更大且更加复杂、对低功耗的要求更高,以及更多软件。网络系统还面临着第五个挑战:交换机和路由器端口的数量持续增加。

IoT 设计面临的四大难题 (Mentor Graphics).png

  图 1.IoT 设计面临的四大难题 (Mentor Graphics)。

  只有硬件仿真才能够提供足够的容量、速度和功能,让您能够高效地完成大量验证。现在,我们还需要认真考虑应该如何使用硬件仿真。传统的电路内仿真 (ICE)不仅无法支持迅速增长的互联网芯片端口数的需求,对于测试IoT设备上的众多接口协议也不实用。我们需要舍弃传统的电路内仿真,而转向以软件为中心的虚拟硬件仿真。

  首先,我们将讨论这些挑战,然后再介绍它们的解决方案。

  IoT 和网络设计的主要挑战


  1.每个芯片需承载更多协议


  由于更多应用程序和功能需要同时连接到网络,因此每个设备所使用的协议数量在不断增加。例如,手机需要连接到云存储空间、播放流媒体格式的音视频、运行各种应用程序以及拨打接听电话和收发文本信息。

  所有这些协议本身可能非常复杂。但因为在不同协议之间以及它们与设计的其余部分之间存在如此多的通信和交互,因此它们会呈现出许多棘手的需要检查甚至调试的场景和边界情况。

  将所有这些协议都置于单个 SoC 上,将会大幅增加硬件复杂度。芯片的内外部通信协议越多,验证设计所需的验证周期就越长。

IoT 提高了每颗芯片的协议使用要求 .png

  图 2.IoT 提高了每颗芯片的协议使用要求 (Mentor Graphics)。


  2.设计规模更大


  设计规模更大的协议集成会增加复杂度和尺寸。此外,各种功能、多处理器和嵌入式软件也会增加其复杂度和尺寸。消费者希望产品能够处理更多功能。这些设备必须提供集成的数字、音频、语音和数据功能,且始终保持运行和连接状态。

  集成的功能数量越多,运行的并发性也就越高。这使得验证系统变得越发困难,因为一个系统可能包含数十亿门。因此,我们必须重新考虑验证技术,这是不言而喻的。

更多集成、多功能、多处理器、嵌入式软件提高了复杂性

  图 3.更多集成、多功能、多处理器、嵌入式软件提高了复杂性 (Mentor Graphics)。


  3.功耗更低


  设计决策需要考虑到功耗、面积和性能。IoT 设计尤其重视功耗。这使得系统级功耗分析和管理成为一项重要工作。

  在设计流程早期提供精确功耗分析的验证解决方案,有助于确保您的设计决策能够显著降低能耗。此类分析的准确度取决于测量会最终在SoC上运行的特定应用场景的功耗。这正是传统基于测试平台的验证方法的不足之处。我们需要一种更好的方法,来提供符合 IoT 设计人员需求的分析。

数据软件仿真测试平台无法捕获精确的功耗测量数据

  图 4.数据软件仿真测试平台无法捕获精确的功耗测量数据 (Mentor Graphics)。


  4.更高端的软件内容


  在软件模拟器上运行传统软件验证正逐渐被淘汰。软件仿真进展太慢,无法对运行数十亿周期或数据帧的 SoC 执行充分的压力测试。如果设计人员完全或很大程度地依赖软件仿真,他们就不得不在功能方面做出妥协。他们不能完全理解系统或 SoC 中究竟发生了什么情况,因为他们无法生成和隔离可能在实际应用中导致问题的边界情况。

  同样,较多的软件内容会大大增加 SoC 的开发成本,因为根据经验法则,软件要求为每位硬件工程师配备五到十名软件工程师。这些软件工程师需要尽可能高效地执行相关验证。

  您的编程团队需要一种能够提升 OS 性能的验证解决方案,并在硬件原型可用之前于目标硬件上运行软件应用程序。并且该解决方案还需具备执行全面验证软件所需的数十亿周期的容量和速度。

增加软件内容可推动 SoC 开发和成本节约.png

  图 5.增加软件内容可推动 SoC 开发和成本节约 (Mentor Graphics)。


  5.增加网络交换机和路由器活动


  IoT 正在不断推动网络发展,因为消费者需要更多的带宽、更加丰富的多媒体,以及更多视频流和音频流。因此,网络公司必须提供更高的带宽、更优异的计算性能以及更多专注于内容的应用程序。业界正在扩展和/或推出以太网和其他网络标准以满足这些需求,并通过更快速的网络协议和更多端口来改善网络服务。

  例如,为满足需求而产生的大量网络配置迫使较新网络芯片的开发人员不得不将数以千计的以太网端口置于单个 SoC 上。如此一来,在一个硬件测试环境中为所有这些端口提供连接就变得几乎不可能。因此,网络公司需要在软件中采取某种方式来实施他们的设计。


  针对 IoT 网络以硬件仿真为主的验证


  当今的硬件和软件需要大量的验证。产品开发工作不会变得更加简单,而只会变得日益困难。要记住,开发人员需要在不断缩短的时间期限内开发出产品,这也会加大开发难度。那么,硬件仿真如何帮助您应对这些压力呢?为什么硬件仿真会成为验证过程的一个“必需”环节?

  Mentor Graphics 仿真团队认为,改进复杂 IoT 和网络系统验证的最佳方式是使用 Veloce 平台来重复 IoT 公司进行设计的过程。这种方法包括断开运行于手机和其他产品上的应用程序与硬件和操作系统间的关系。此方法是可行的,因为最终用户往往比较关注自己想要使用的应用程序,并希望这些应用程序可以在其所拥有的任何操作系统或设备上都可以运行。

  因此,Veloce 硬件仿真平台经过量身定制,让设计人员能够使用 Veloce 应用程序以相同方式测试设计。验证应用程序(例如覆盖范围、软件调试、低功耗等)独立于操作系统 (OS)。因此,Veloce OS 为 Veloce 验证应用程序以及内部或第三方开发的应用程序提供了一个仿真器界面。由于 Veloce OS 与任何版本或任何型号的 Veloce 仿真硬件系列都兼容,因此用户可从一个平台无缝迁移到下一代平台,这将会保护客户的投资,并在他们的性能和容量需求增加时提供可扩展性。

.Veloce OS 和硬件仿真应用程序 .png

  图 6.Veloce OS 和硬件仿真应用程序 (Mentor Graphics)。

  此外,Veloce OS 还支持企业服务器。企业服务器可使用负载分享管理软件优化资源使用量,并提供作业队列和优先级排序。利用企业服务器,用户可以将工作从其桌面提交到位于全球任何地方的数据中心的 Veloce 硬件仿真资源中。它支持为多个项目、团队、用户和使用模式并行使用 Veloce 硬件仿真。他可以以最有效的方式将单个或多个项目分配到某个位置,以确保最高效地利用 Veloce 资源。因此,全球用户可以随时随地高效地访问易于数据中心管理的硬件仿真资源。

  但是,如果执行设计所需的外围设备和协议本身并非基于软件,那么所有这些操作都将是徒劳。这正是 Mentor 开发 VirtuaLAB 的原因所在。VirtuaLAB 已经改变了执行基于 SoC 的硬件仿真的方式,并为企业服务器功能做好准备,将实验室环境转变成只需硬件仿真器和工作站来执行协议模型软件版本的数据中心。由于 VirtuaLAB 使用与 ICE 硬件解决方案相同的协议 IP 和软件堆栈,因此可以利用软件的灵活性和可重复结果,提供与基于传统 ICE 验证相同的功能,进而为用户提供硬件准确度。

VirtuaLAB 企业服务器为多个用户和项目提供全天候的全球访问 .png

  图 7.VirtuaLAB 企业服务器为多个用户和项目提供全天候的全球访问 (Mentor Graphics)。


  但它的优点不止于此。与 ICE 相比,它具有实实在在的优势:


  您可以获得更高的可靠性,因为硬件仿真系统消除了常会引发故障的外部硬件和布缆。

  利用高效的多用户环境,您可以提高效率,并能通过只改变其编译参数(而不是换入/换出混乱不堪的外部硬件底板和缆线)远程重新配置 VirtuaLAB 模型。

  您可以部署可靠、低成本的工作站,用于执行软件模型,而无需连接硬件(包括昂贵的测试仪),从而降低总体成本。

  您可将硬件仿真功能从实验室移入数据中心,使得全球多个团队可以随时随地使用硬件仿真功能,就像一个服务器场,从而提高投资回报。

  由于基于软件的解决方案具有较高的调试可见性,而且设计人员可以访问在物理环境中很难使用的软件协议检查器和分析仪,因此您可以实现更高质量的结果。

  让我们一起来了解下基于 Veloce 软件的环境如何具体地解决 IoT 和网络开发人员面临的五大技术挑战。


  1a.协议解决方案


  在某种程度上,软件解决方案可以更加轻松地获得准确的结果,因为硬件解决方案即使在使用相同的激励时也可产生不同的结果(结果取决于硬件启动时所处的状态)。因此,在设计中为协议采用基于软件的环境非常重要。Veloce 为多个细分市场提供协议解决方案,其中包括可提供主机/外围设备模型、协议试验程序/分析仪以及软件调试接口的一系列解决方案。


  2a.大规模设计


  随着设计尺寸的持续增加,硬件仿真容量也必须跟上节奏。Veloce 利用可扩展硬件仿真平台来应对这一挑战。客户最初可能会使用 Veloce Quattro 来满足他们的需求。Quattro 可为每个系统和多达 16 个用户处理多达 2.56 亿门。随后,他们可能会使用的下一个型号是支持多达 64 个用户的十亿门 Veloce Maximus。接下来是 Double Maximus 系统,它具有多达 20 亿门和 128 个用户的容量。所有 Veloce 型号和版本都使用相同的 Veloce OS,运行相同的应用程序,并且完全向后兼容。确保硬件仿真容量的增长具有可扩展性,并保护现有投资。

Veloce 可扩展硬件仿真平台满足不断提高的容量需求 .png

  图 8.Veloce 可扩展硬件仿真平台满足不断提高的容量需求 (Mentor Graphics)。

  3a.低功耗

  Veloce 非常适合进行低功耗分析,因为它能够提供很高的精确度,这一精确度仅可在真实应用环境下运行设计方能得以实现。

  Veloce 具有适当的速度和容量,可以启动 OS 和完全运行软件应用所需的数十亿周期,即使在硬件具有数十亿门时也如此。Mentor 创建了一个动态波形 API 流程,以直接与集成到 Veloce 硬件仿真器中的功率分析工具相连接。通过与行业领先的第三方功率分析工具(例如 ANSYS)集成,客户可以在设计流程初期获得准确的功率数。因此,他们能够针对功耗、区域和性能做出明智的设计决策。

  这是其他硬件仿真器无法做到的,也令Veloce功耗分析应用程序比任何其他低功耗解决方案都要准确得多。

加快的 Veloce 功耗分析流程 .png

  图 9.加快的 Veloce 功耗分析流程 (Mentor Graphics)。


  4a.软件调试


  运行于芯片上的软件必须与硬件同时进行验证。硬件仿真与软件仿真一样易于调试,对于较大规模的设计,硬件仿真比软件仿真要快数千甚至数百万倍。Veloce 包含大量解决方案,以满足软件工程师调试其嵌入式软件之需。

  Veloce 针对使用软件仿真的实时交互式调试提供虚拟探针。这些虚拟探针可提供与软件调试程序的虚拟连接,无需再使用硬件 JTAG 探针。这不仅消除了 JTAG 探针的部分固有问题,还充分利用了企业服务器。然而,交互式调试会极大占据硬件加速器宝贵的机时,尤其是在软件工程师停顿时钟并进行主动调试的时候。在调试时将硬件的时钟停止对于使用硬件加速器来说是一种非常浪费的方式。因此,交互式调试应仅在绝对必要时方可使用。

  当交互式调试不是那么必要的时候,Veloce Codelink 可以支持离线和重放调试。Codelink 提供标准软件开发人员工具的调试功能,包括将软件调试程序中运行的代码与硬件波形中显示的位置相关联。通过 Codelink 软件,硬件仿真器会生成多个数据库,这些数据库可用于离线软件调试。这是一个非常高效的环境,可释放硬件仿真器用于其他任务和用户,同时又能够离线执行软件调试。

Codelink 支持多个并行用户的离线调试.png

  图 10.Codelink 支持多个并行用户的离线调试 (Mentor Graphics)。


  5a.交换机和路由器端口


  拥有成百上千个端口的设计需要与硬件拥有非常多的连接,而这些连接全都需要接线缆,这就使得在 ICE 环境中验证网络交换机和路由器设计不再可行。此外,一个128 端口的以太网设计等可能具有数亿甚至数十亿个门的尺寸。

  Veloce VirtuaLAB 可通过将大多数的测试环境转移到软件中来克服硬件环境的障碍,并在可运行多达20亿门设计的可扩展 Veloce 平台上运行。另外,VirtuaLAB 协议解决方案还可满足网络交换机或路由器公司在验证其芯片时的关键目标:数据包延迟、带宽、数据包丢失、乱序序列以及流量分析。

  在典型的 VirtuaLAB 环境中,SoC 将被载入 Veloce 硬件仿真器中。硬件仿真器通过一个或多个软件连接与工作台上的用户环境相连。通过这些连接,工程师能够与在仿真中运行的 DUT 进行交互。对于以太网,工作站上运行的 VirtuaLAB 以太网数据包生成器和监视器 (EPGM) 应用程序将会生成虚拟以太网流量。EPGM 会生成测试数据包并对以太网流量提供可见性、分析和用户控制。

VirtuaLAB EPGM 设置

  图 11.VirtuaLAB EPGM 设置 (Mentor Graphics)。


  企业硬件仿真和 IoT


  IoT以及它所需要的不断增长的网络基础设施使得我们当前面临的验证挑战变得更加严峻,而且还带来了新的挑战。如果公司希望及时将产品推向市场,同时确保在产品设计中没有出现错误,他们就需要强大的技术手段来帮助完成如此复杂的任务。只有硬件仿真能够应对这一挑战。

  因此,通过企业验证平台 (EVP),Mentor Graphics 开发了一系列以 Veloce VirtuaLAB 为核心且专门针对 IoT 的硬件仿真解决方案,。此解决方案灵活性更强、可见性更高,并且能够根据 IoT 和网络系统设计的容量和复杂度的增加而进行扩展。VirtuaLAB 能够提高工作效率并改善设计质量。它还提供很多 ICE 传统功能,但无需额外的线缆和硬件设备。

  由于所有这些功能和技术都是建立在企业硬件仿真理念之上,因此所有硬件仿真资源均位于数据中心,并可由多个团队、用户和项目随时随地进行远程访问。VirtuaLAB 环境为所有 IoT 市场提供软件和硬件验证,从而为多协议、复杂设计、加速低功耗应用程序以及硬件-软件协同调试提供高速验证解决方案。

EVP 为实现高效验证集成了一整套工具.png

  图 12.EVP 为实现高效验证集成了一整套工具 (Mentor Graphics)。



责任编辑:Davia

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: 硬件仿真

相关资讯