作者:Ashok Chandran、Sajeev Thomas、Saj Kapoor 引言 基于验证方法手册(VMM)的验证是行之有效的模块级验证环 境实现方法。在系统级利用模块级验证组件可显著改善验证质 量,缩短满足系统级覆盖率所需的时间。系统级测试平台带来 了一系列需要应对的挑战,包括运行时间、随机化质量、系统 存储器管理、多寄存器访问接口、时钟域和随机稳定性。模块 到系统的重用方法应当简单、可扩展。 对于具有专有内核和系统接口的片上系统(SoC),利用汇编语 言进行测试编码,以便演练各外围器件的不同模式,并不是一 个可扩展的解决方案。此外,这也不大适合基于 VMM 的流程, 在该流程中,会有多个仿真线程同时访问外设。例如,在配置 一个外设时,可能有另一个线程正在读取同一寄存器空间以检 查中断状态。在汇编测试中,一个内核只有一个指令流,因此 无法模拟这种行为。本文所述方法将内核替换为总线功能模型 系统 DMA 引擎访问存储器。虽然没有明确显示,但外设与存 适用于系统级验证的 储器之间有多个仲裁层。 该芯片还有多个模块、电源和用于判断的系统交叉开关,如图 VMM 多层框架 1 的简化示意图所示。外部引脚通过多路复用方案由多个外设 共用。 作者:Ashok Chandran、Sajeev Thomas、Saj Kapoor 引言 基于验证方法手册(VMM) 的验证是行之有效的模块级验证环 境实现方法。在系统级利用模块级验证组件可显著改善验证质 量,缩短满足系统级覆盖率所需的时间。系统级测试平台带来 了一系列需要应对的挑战,包括运行时间、随机化质量、系统 存储器管理、多寄存器访问接口、时钟域和随机稳定性。模块 到系统的重用方法应当简单、可扩展。 对于具有专有内核和系统接口的片上系统(SoC),利用汇编语 言进行测试编码,以便演练各外围器件的不同模式,并不是一 个可扩展的解决方案。此外,这也不大适合基于 VMM 的流程, 图 1. 设计概览 在该流程中,会有多个仿真线程同时访问外设。例如,在配置 系统级验证挑战 一个外设时,可能有另一个线程正在读取同一寄存器空间以检 ……