主权项 |
一种基于VMM验证方法学的MCU验证平台实现方法,其特征在于:待验证模块采用Verilog代码编写,MCU的参照模型采用C语言编写,通过SystemVerilog的直接程序接口调用待验证模块或MCU的参照模型;使用文件读写方式,用磁盘文件作为中介进行待验证模块的自检;整体验证环境使用SystemVerilog编写;SystemVerilog提供有约束的随机数生成,将MCU指令集进行分类,将同一格式的指令归为一类;根据测试用例的约束,随机生成指令以及指令所需的参数,将所有指令数据放入数据类VMM_DATA中;所述指令通过通道传递到执行模块;所述执行模块中采用C语言编写一个汇编器,当通过直接程序接口将MCU的参照模型接入验证环境中时,汇编器将生成的汇编指令实时转化为十六进制代码;当通过直接程序接口将MCU的参照模型接入验证环境中时,在每一条指令执行后写出一个参照结果;MCU参照模型通过存储单元保存数据,内部特殊功能寄存器单元保存寄存器值,通过对比所述参照模型与待验证模块的存储单元和特殊功能寄存器单元中的数据,来保证待验证模块MCU的每一条指令的工作状态和参照模型都是一致的;实现包括ROM,RAM的SystemVerilog行为模型,并且通过后门直接将寄存器值通过通道传递给自检记分板;通过MCU的参照模型写出每一条指令后的寄存器值会保存下来,由自检记分板通过读取磁盘文件来读入,并同从存储单元行为模型通道传输过来的寄存器值进行自检;将MCU的参照模型运行的结果和MCU的参照模型内部对应的特殊功能寄存器置位作为功能覆盖率模块的收集点,将关注的特殊功能寄存器值描述为功能覆盖模型,在仿真中自动监测,并在所有测试用例通过后给出一个最终的功能覆盖率。 |