介绍:
正如我们所知,我们的芯片现在具有大量功能,因此设计的尺寸正在快速增长。现代SoC/ASIC在门数和功能方面越来越大。在这种情况下,主要挑战是实现time-to-market上,并对如此大型ASIC/SoC进行完备的的功能验证。
主要使用以下技术来实现功能验证收敛:
- RTL Simulation
- Formal or Static Verification
- FPGA Prototyping
- Emulation
支持这些挑战的功能验证流程中越来越流行的技术是“Emulation”。因此,“什么是emulation?”以及“它是如何运作的?”。
Emulation:
Emulation是将设计的RTL映射到硬件的内部可编程门阵列,以执行硬件和软件的功能验证。
在以200 MHz运行的1亿门电路中执行1秒的仿真需要执行2亿个周期。即使在具有大量缓存和大量主存的最快CPU上,RTL仿真也需要超过三周的时间,每秒100个周期——这已经是一个乐观的假设。它清楚地表明,RTL仿真不是大型设计在有限的时间内执行完备验证的有效方式,它可能会遗漏许多可能的bug。
比较不同的验证技术:
在下图中,不同验证技术之间的比较,即RTL仿真、FPGA原型和emulation根据各种参数进行展示,例如
比较基于性能、编译时间、设计容量和设计调试。
在下图中,显示了不同选项的支持功能:
不同技术支持的功能
由市场的三个主要参与者——Cadence Design Systems(Palladium XP)、Mentor Graphics(Veloce)和Synopsys(ZeBu)——提供的高级emulator都能够处理系统级别(例如C、C++、事务级模型)和RTL设计。