何时使用软件仿真,何时使用硬件仿真

2023-05-14 178浏览

大约在40年前,ComprehensiveComputingSystemsandServices公司在市场上推出了**名为TEGAS的商业数字器,该设备主要用于测试生成和系统。这一对门级电路进行仿真的系统由一个小型专家团队开发,而在此之前只有针对晶体管级电路进行仿真的模拟仿真软件。TEGAS是其专用的描述语言。这种语言仅用于生成数字电路测试向量。*终,仍须通过原型板进行设计验证。

随着20世纪80年代早期计算机辅助工程(CAE)行业的兴起,数字器或逻辑软件仿真也在电子工程界流行起来,成为设计验证的主要手段。到20世纪90年代末,数字软件仿真器逐渐发展演变为寄存器传输级(RTL)软件仿真器,这种软件仿真器支持两种流行的硬件描述语言(HDLs)——Verilog和VHDL。现有的EDA(电子设计自动化,CAE和CAD的产物)供应商用了十多年的时间在同一个工具中支持这两种语言。如今,Synopsys、Cadence和MentorGraphics这三家大型EDA供应商,都提供各自的HDL软件仿真器,在市场上呈现三足鼎立的状态。

多年来一系列的改进使得HDL软件仿真器变得愈加**。现在,它是一款不可限量的工具,是设计验证和假设分析中必不可少的工具,但其还是有自身的局限性,即设计规模不能超过1亿个ASIC等效门。这种限制较为随意,事实上,仍然可以对更大型的设计进行软件仿真,只是执行速度奇慢无比。

一个示例

若要使用在10Hz下运行的现代软件仿真器来仿真在100MHz下运行的1亿ASIC门设计上的一秒钟的真实数据,这绝非易事。在这种设计复杂度下,可能需要花费1千万秒的时间。即2,778小时,或者115天。一秒钟的100MHz真实数据等于1亿个时钟周期,这个数字相当大,可能会超出处理典型测试平台的要求。在处理典型测试平台时,一毫秒或者更短时间就足够了,在大内存配置的*新PC上运行时,则会将执行时间缩短至**或更短。这是个合理的目标。

HDL软件仿真器可以在PC场中并行运行,每个PC会处理功能完善的测试平台。半导体公司有成千上万台PC构成的计算场全天运行。

但1亿周期仍不足以处理嵌入式软件设计。由于处理软件在本质上为串行流程,所以对于这项任务来说,有必要按顺序执行数十亿周期。然而,带有HDL软件仿真许可的PC场却鞭长莫及。软件程序无法在子集中进行拆分,再并行运行。

那么,要如何验证SoC设计的嵌入式软件呢?

进入时代

其实由来已久,它给设计人员在流片前提供了一种更为准确的电路行为描述,因为是通过真实的电路和逻辑来实现设计。硬件仿真始于20世纪80年代末,在20世纪90年代末盛行,当时主要是通过商业FPGA进行实现,用于验证需要较长测试周期的处理器和图形设计。它们也遇到诸如电路建模难度高以及可靠性低等各种问题。其成本也较为高昂,并且作为单用户资源,其投资回报较低。然而,硬件仿真器的出色执行速度仍使其成为长处理周期的必要工具。

还是之前的示例,在1MHz下运行的硬件仿真器需要花费100秒来执行1秒钟的真实数据以及处理1亿次周期。硬件仿真器可以在一小时左右的时间内启动操作系统。而且,硬件仿真器的投入比重新流片便宜得多。

图1:不同设计规模下软件仿真与硬件仿真性能对比

HDL软件仿真器由于缓存缺失和内存交换,其执行速度会随着设计规模增加而急剧下降。不过与之不同的是,在此情况下,硬件仿真器的性能只会受到轻微影响(见图1)。

由于商用FPGA硬件仿真器有一定的限制性,定制芯片硬件仿真器由此应运而生。这种硬件仿真器主要有两种不同类型:由MentorGraphics提供的定制FPGA硬件仿真器,又称片上硬件仿真器;以及由CadenceDesignSystems提供的基于处理器的硬件仿真器。同时,Synopsys也支持使用比标准FPGA硬件仿真器更为先进且功能有所增强的*新商用FPGA硬件仿真器。

直到十年前,硬件仿真器才在电路硬件仿真(ICE)模式中被单独部署为物理测试环境。由于当流片提供激励和处理响应时,被测设计(DUT)将*终驻留在此环境中。因为难以进行设置,ICE模式现在并不常见,而对更加灵活的测试环境的需求却在不断增长。应用硬件桥没有可控性/可再现性,并且由于安装时间和维护成本的增加,其还会增加测试环境的复杂度。由于可合成的测试平台能在硬件仿真器内部进行映射,并且无需依赖外部环境便可以硬件仿真器的*高速度执行,因此该测试平台区域还有其他可行的替代方案。不过遗憾的是,它们不易开发。

基于事务的验证或加速(TBV或TBX)是业内*看好的方法,具有两方面的优势。**,能采用少一个数量级的代码行,在更高抽象层次写入测试平台,简便而又不易出错。其次,由于在硬件仿真器内部映射晶体管的总线功能模型(BFM)实现了急剧加速,这些测试平台比传统RTL平台执行更快。另一个益处是,当用户切换设计或新用户登录时,TBV或TBX不需要人为监督来处理速度适配器。这种方式也适合于远程访问。

何时使用软件仿真,何时使用硬件仿真

HDL软件仿真器适用于设计周期早期阶段的硬件调试,早期阶段的设计主要专注于模块级别。凭借易用、快速设置、*速设计编译等特点,它们可以*其灵活地调试硬件设计。它们还支持每天进行多次设计迭代…只要设计规模合理。但在数千万门级别时会出现问题,这在现在看来只是典型的系统级设计验证。如上所述,它们并不适合嵌入式软件验证。

相反,硬件仿真能找到几乎所有设计缺陷,无论是在硬件中还是在SoC嵌入式软件中。硬件仿真可处理任何设计规模,但需要较长时间进行环境搭建,至少**,也可能更长时间。而且,相比软件仿真器,其编译速度相对较慢,大约需要一小时以上才能完成编译(见图2)。

图2:基于性能、设计能力和设置/编译时间的软件仿真与硬件仿真对比

现代硬件仿真器支持多个并发用户,包括通过远程访问,因此可增加投资回报。

0次

免责声明

以上信息仅作为转载信息展示,不代表作者任何观点.转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。