使用保存和恢复进行调试,提高硬件加速仿真的智能性
图 2:拆分事务处理器将来自测试平台的事务转换为 DUT 所要求的信号级协议特定序列,反之亦然 (Mentor)。
HVL 域是行为级别的,时序不敏感的。软件开发人员通常都非常熟悉软件调试器、断点以及净化和量化等正确性检查。
HDL 域必须承受现代综合技术的限制。也就是说,通常不支持行为构造(备注 [1])。这个域对于 ASIC 设计人员来说是一个"舒适区",他们可使用波形、条件触发机制和监控器,还可操控寄存器和存储器中的值。
这两个域要求使用两套工具,每套工具通常馈入不同的文件,并且它们具有不同的要求。这就排除了允许 DUT 检查点的快照方法。唯一的解决方案就是捕捉测试平台从时间‘0’开始的整个活动,其中包括在测试平台和 DUT 之间交换的所有事务。
换言之,我们必须将 HDL DUT 与 HVL 测试平台和事务处理器分开,区分对待,采用分而治之的方法。
这样一来,便会阻止我们像使用 DUT 时那样定期捕捉测试平台的快照。相反,我们必须捕捉并保存测试平台和 DUT 之间交换的所有通信量,之后回放此通信量,以达到相关 DUT 检查点,从而进行调试。
利用备份和回放进行调试
在传统调试过程中,验证工程师会一直运行硬件加速器,直到发现问题。经过快速分析后,工程师会估计一个相关的时间段来跟踪问题,启用数据跟踪,重新运行硬件加速器,然后捕捉波形。这样一来,花费的时间远远超出不含波形捕捉的运行时间。当使用监控器和跟踪器等调试工具后,执行时间将进一步延长。
备份和回放方法与之前的方法相似但仍有不同之处。备份捕捉从时间‘0’开始激活,并设置足够小的时间间隔,以实现快速周转,但是又不能太小,以至于产生过多的检查点。出现问题时,工程师确定距离最近的相关调试时间点,从该时间开始之前最近的检查点进行回放,无需使用 HVL 测试平台。回放期间,不会执行从 DUT 传输到 HVL 测试平台的任何消息,少数系统任务和断言违规除外(参见图 3)。
图 3:捕捉并保存测试平台 DUT 通信量,之后回放此通信量,以达到相关 DUT 检查点 (Mentor)。
备份和回放方法将提高调试周期的效率。通过跳到相关时间段,工程师可以保存从 0 开始的时间到设置为开始回放的时间。由于回放期间不需要执行 HVL 测试平台,并且处理仅限于保存的测试平台和 DUT 活动之间的通信渠道,因此可提高吞吐量。这样一来,便可减少测试平台一侧的跟踪活动和测试数据生成。
此方法还可以增强调试的有效性。它可以应用到非确定性测试平台,并能提供更多调试信息,例如自定义监控器和跟踪器,以及回放期间的 $display。
要获得更高的吞吐量,硬件加速器和处理测试平台的主机工作站之间的通信通道必须拥有大带宽和低延迟。在一个硬件加速仿真平台中,可通过 64 个协同通道来确保获得高带宽。
需要注意的是,备份和回放有一定限制。它只能在测试平台硬件加速期间使用,不能在存在 ICE 目标的情况下使用。
调试测试案例
假设我们要调试一个 50M 的门级设计,以 400kHz 硬件加速仿真实时运行 16ms。测试平台将生成 1M 的数据包,备份数据库的大小为 119MB。
接着执行以下步骤。
1.利用启用的备份运行硬件加速仿真,备份间隔为挂钟时间 20 分钟。
o测试平台将在每个间隔结束时设置 DUT 检查点。
o每个间隔需要 20 MB 的额外空间以供备份数据库使用。
o每个间隔需要 20 秒额外的时间。
2.从第三个间隔开始回放(~40 分钟挂钟时间)。
o测试平台将自动恢复设置了检查点的 DUT。
o恢复花费的时间大约为 20 秒。
o上传波形并进行调试。
有关详细信息,请参见表 1 和图 4。
表 1:该表比较了传统运行时/调试与备份/恢复方法,并通过数字说明了此方法对于运行时效率的促进作用 (Mentor)。
图 4:该时间线比较了传统运行时/调试与备份/恢复方法,并通过图形说明了此方法对于运行时效率的促进作用 (Mentor)。
结语
基于定期检查点的保存和恢复方法已在门级和 HDL 仿真中实践多年。此方法之前并未在硬件加速仿真中予以采用,究其原因在于,由于物理设备的非确定性属性,它不能在 ICE 模式中部署;另外,由于 HVL 测试平台的不可综合特征,它不能在测试平台加速模式中部署。
现在通过分而治之的方法,可以在测试平台硬件加速仿真中实现保存和恢复的扩展。无数用户已成功部署此方法。
他们的经验表明,备份/回放可以减少存储空间并加快整个流程,从而达到提升效率的目的。另外,此方法允许部署高级调试功能,因此还可以提高调试的有效性,而且可优化硬件加速仿真资源的利用。
- 辽宁朝阳地区第三座光伏电厂——水泉光伏电厂开始并网调试(01-06)
- 51的江湖 | 忆当年200K代码联调成功的默契(04-08)
- Microchip开发工具屡获殊荣 持续发展壮大(04-18)
- 高端开发工具AVR ONE(Atmel)(03-27)
- Microchip推出新一代高速在线调试器(09-30)
- 泰克TLA6000系列逻辑分析仪推出新选件,简化DDR2 测试(03-28)