数字芯片验证需要围绕DUT做什么?-硬件仿真(中)

数字芯片验证需要围绕DUT做什么?-硬件仿真(中)
2023-09-15


什么是DUT?芯片验证,尤其是数字芯片需要围绕DUT做什么?面对复杂的设计代码,工程师们通常使用软件仿真、硬件仿真和原型验证等验证策略加速验证收敛。上回我们解释了软件仿真是如何围绕DUT进行工作的。不清楚的小伙伴可以回看上集。


上次说了软件仿真,今天我们来说说硬件仿真虽然软件仿真易于使用,成本效益高,并且具有方便的调试能力,但一旦碰到大规模数字电路设计,结构越是复杂,仿真所需要的时间就越长,软件仿真的效益得到了限制。所以通过专门的设备在硬件上调试芯片设计,如硬件仿真和原型验证,是其重要的解决方案。


硬件仿真的运行速度和调试效率比软件仿真可要高很多,因为它可以对完整的芯片设计进行自动化的加速仿真并调试,同时提供信号全可视,多应用于大规模SoC设计前期的RTL功能验证。硬件仿真首先将硬件设计(通常以HDL,例如Verilog或VHDL编写)编译,然后加载编译后的设计。在一些系统中,设计可能被加载到专门的硬件中(例如FPGA)。一旦设计被加载,硬件仿真就可以运行设计,并观察其行为。硬件仿真通常会提供观察和调试设计内部状态的工具。最后,工程师可以根据结果分析设计的正确性,查找并解决问题,以优化设计。


硬件仿真可以提供比软件仿真更快的仿真速度,同时还能模拟出硬件在实际运行中的实际行为。这使得它们在硬件设计和验证过程中,尤其是在处理复杂和大规模硬件系统时,非常有用。硬件仿真系统主要由硬件和软件两部分构成。以思尔芯的芯神鼎硬件仿真系统为例,其中硬件部分是由众多的FPGA搭成。软件部分由编译(Compile)、运行(Runtime)、调试(Debug)组成

编译:编译阶段通过完全自动化软件将待测设计(DUT)映射到硬件仿真系统上,便可以进行高速仿真。

运行:运行时Runtime软件控制整个硬件仿真的运行过程,它可以控制硬件仿真以支持不同的用户模式,它的核心组成部分是运行数据库、运行库、软硬件接口以及用户交互接口,例如ICE(In-circuit Emulation)、TBA(Transaction-based Acceleration)以及QEMU模式等。还可支持多用户同时进行使用设备。

调试:硬件仿真有着接近软件仿真的调试能力。可以通过静态探针(static probe),动态探针(dynamic probe)及内置逻辑分析仪(ILA)可以观测信号的数据,以及实现信号全可视(Full Visibility)。同时,通过ReadBack/WriteBack功能可以实现对信号进行赋值或恢复。


此外,硬件仿真还会配备专门的验证核(VIP),以思尔芯的芯神鼎为例,就支持APB、AHB、AXI4、DDR、Ethernet等,基本覆盖了常用的接口协议,可以满足绝大部分验证应用需求。


总之,硬件仿真通常集成了专门的电路和逻辑,以加速仿真过程。其速度通常可以达到几百kHz甚至MHz级别,软件仿真中的功能仿真通常运行速度通常在几十至几百Hz,相比之下,硬件仿真比软件仿真快几千倍至几十万倍。因此,硬件仿真在验证复杂设计时非常有用。它们能够以更高的速度执行仿真,更快地提供反馈和结果,这对于设计的验证和调试,尤其是SoC至关重要。


欢迎点赞、关注加转发,为你带来更多EDA硬核科普。



获取方案

您在设计什么类型的芯片?
设计中含的ASIC门容量为?
500万 - 2千万
2千万 - 5千万
5千万 - 1亿
1亿 - 10亿
大于10亿
您倾向于使用哪款FPGA?
赛灵思 VU440
赛灵思 KU115
赛灵思 VU19P
赛灵思 VU13P
赛灵思 VU9P
AMD VP1802
AMD VP1902
英特尔 S10-10M
英特尔 S10-2800
不太确定,需要专业建议
您需要什么样的FPGA配置?
单颗FPGA
双颗FPGA
四颗FPGA
八颗FPGA
不太确定,需要专业建议
您需要什么样的外设接口?
您需要多少数量的原型验证平台?
您是否需要以下原型验证配套工具? (可多选)
分割工具
多FPGA调试工具
协同建模工具(允许大量数据在 FPGA 与 PC 主机之间进行交互)
您什么时间内需要使用到我们产品?
0-6个月
6-12个月
大于12个月
不太确定
您是否需要其他工具资讯?(可多选)
架构设计
软件仿真
硬件仿真
数字调试
形式验证
想要更多了解,您是否需要产品选型指南?
其他
提交
输入您的电话,我们即刻给您回电
输入您的电话
验证码
您也可直接拨打电话:400 8888 427 或添加企业微信
电话咨询
微信咨询
企业微信咨询
TOP
企业微信咨询