在当今竞赛剧烈的局势下,使富含嵌入式软件的杂乱电子设备更快面市,可是一起保证其更廉价更牢靠,是一种适当冒险的做法。未经完全测验的硬件规划不可避免地导致返工,添加规划本钱并延伸布局流程的网表交给时刻,并终究推延上市时刻方针,对收益源形成破坏性影响。推延嵌入式软件的测验也潜藏有错失上市机会的或许,会带来更严峻的结果。
正因为如此,项目周期的验证部分极大地占用方案时刻变成了很常见的作业。其间的根本原因,在于盯梢和消除过错极为不易,尤其是在片上体系 (SoC) 的软件内容以每年约 200% 的速度添加的情况下。与此相反,规划的硬件部分仅添加约 50%。
硬件仿真作为体系验证的根底
尽管虚拟原型和现场可编程门阵列 (FPGA) 原型在前期嵌入式软件测验上已遭到重视,但关于软件和硬件的集成并无助益。前者缺少追寻硬件过错所需的硬件精确性,而关于赶快消除过错所需的硬件调试,后者才干有限。
因而,开发团队和项目经理已转而选用硬件仿真作为其验证战略的根底。硬件仿真是一种多功用验证东西,有许多相关优势,包括软硬件协同验证或测验硬件和软件集成的功用。它已遭到软件开发者的留意,因为这是能够保证嵌入式体系软件经过底层硬件正常作业的仅有验证东西。关于致力于调试杂乱 SoC 规划的硬件工程师来说,这也是值得留意的,因为工程师能够凭仗该办法追寻硬件内的软件过错或软件行为中的硬件过错。硬件仿真的其他优势包括快速汇编功用、软件验证、全面的规划调试和可扩展性,可满意包括数十亿应用程序特定集成电路 (ASIC) 门的规划。此外,它能够以验证嵌入式软件和履行体系验证必需的高速率来处理数十亿验证周期。
曩昔,硬件调试和测验是项目周期验证部分的仅有作业,此作业由硬件描绘言语 (HDL) 测验渠道驱动的逻辑软件仿真进行办理。传统的大箱式硬件仿真只用于最大型的规划。许多开发团队已选用正式验证对软件仿真进行弥补,以添加根底掩盖规模并保证不遗失特别用例。可是,只需硬件仿真能够在比较可行的时刻内完结 SoC 规划的悉数验证使命,并缓解与依据事情的软件仿真相关的运转问题。
都是软件内容的问题
SoC 的软件内容使协同验证成为验证战略中一个非常重要的部分,因为它能够在投片前承认一个嵌入式 SoC 的硬件和软件部分一起得到验证且正确交互。
曩昔,假如规划流片后产生硬件问题,软件开发者有必要尽其所能设法环绕问题进行编码。在 SoC 完结之前验证软件,规划团队能够在进入硅片阶段之前处理硬件问题。如前所述,硬件仿真查看用于保证嵌入式软件依据标准在硬件上运转。
曩昔运用各种调试引擎进行软件调试。每种引擎有一个中心,充分利用硬件对处理器内部作业的可视性和操控功用。尽管供给了部分调试功用,但因为处理器供给的接入办法,确诊问题的才干受限。此外,因为传统软件调试一般产生在实践体系中,软件开发者以方针体系速度在实践硬件上履行实践代码。这样他们能够经过很多代码敏捷找到过错的程序。
这些传统技能在调试 SoC 时无效,因为没有实践硬件,无法以实在体系速度履行代码。一般来说,只需履行代码且软件模拟器供给一切硬件可视性,即可仿真硬件。但问题是速度 – 调试代码是很慢的一种办法。
例如,假如 SoC 规划为在 Linux 上运转程序,软件开发者有必要以数十亿时钟周期完结 Linux 发动,软件才干开端履行。大略估量这会以约 10 赫兹 (Hz) 的典型软件仿真速度花费 28 年以上完结 Linux 发动。
不论调试硬件仍是软件,传统硬件和软件调试东西都无法得知互相的任何情况。假如选用杂乱的大型 SoC 规划,测验找到问题时独立完结两种调试是功率低下的。
两者结合是最为抱负的办法,这样硬件仿真就能够节省时刻。SoC 硬件一般在 FPGA 或其他可编程器材中施行,速度更快。在此设置中,依据运转速度,最快能够 15 分钟的速度完结 Linux 发动。硬件仿真可供给与硬件调试器类似的断点和波形操控及可视性。
承认 SoC 规划按预期作业
硬件仿真以其高性能(这是软件需求推进的越来越重要的需求)在一众验证东西中锋芒毕露。它能够承认 SoC 规划按方案作业,并适于处理大到十亿 ASIC 等效门的杂乱规划,且每月可完结超越一万亿验证周期。即使是这样,现阶段运用硬件仿真进行完全翔实的功用验证仍然是可用的最具本钱效益且有用的调试办法。
引进业务级建模 (TLM) 和业务处理器可用性可将硬件仿真转为一系列笔直商场的虚拟渠道测验环境。业务处理器作为验证知识产权 (IP) 组合的一部分,是外设功用或协议的一种高档笼统模型。业务处理器一般作为现成 IP 供给,可用于各种不同的协议。典型的业务处理器一般包括 PCIe、USB、FireWire、Ethernet、Digital Video、RGB、HDMI、I2C、UART 和 JTAG 器材。
更好验证更多的杂乱体系
从前,硬件规划独立于要在芯片上履行的软件的开发。但今非昔比,因为 SoC 处理器数量翻倍且每代产品包括两倍的软件内容,软件问题成为开发团队和项目经理优先考虑的目标。现在,开发团队证明预期软件在硬件渠道正常作业后,SoC 才算完好。
SoC 是一个全面的嵌入式体系,需求进行硬件仿真来验证其能否正常作业。经过硬件仿真,开发团队能够更战略性地进行方案,并依据多个笼统层面施行调试办法。他们能够一起在硬件和嵌入式软件之间追寻过错,确认问题所在。经过具有更高性价比且有用的办法,他们在这个过程中节省了时刻,大幅下降错失上市机会的危险。