采样寄存器相关的覆盖点主要包括以下几个方面:
硬件复位值:在硬件复位后,采样寄存器的值应该恢复到预设的复位值。这可以通过UVM中的uvm_reg_hw_reset_seq来实现,确保在全部复位结束后,创建序列,将寄存器重置,并将重置值赋给序列的模型,然后启动1。
位翻转测试:通过uvm_reg_bit_bash_seq进行位翻转测试,确保寄存器的每一位都能正确响应位翻转操作1。
寄存器访问测试:使用uvm_reg_access_seq进行寄存器的读写测试,确保寄存器的读写功能正常1。
功能覆盖率:在验证过程中,功能覆盖率是一个重要的指标。功能覆盖率来自多次运行、使用不同种子的多个测试用例,整理到单个数据库中来给出验证状态的总体测量值。确保覆盖到所有功能行为的所有方面,而不仅仅是代码覆盖率2。
寄存器模型预测:在UVM验证环境中,寄存器模型不仅可以发送激励,还可以用来做测试。通过内置的序列测试寄存器模型,检查每个字段如复位值和硬件是否一致。可以在寄存器内部或外部利用继承于uvm_subscriber的covergroup来新增寄存器覆盖率的检查3。
监视器:在UVM中,监视器(如SPI监视器)扮演一个被动观测总线接口信号的角色。它从总线提取信息,并创建一个可被环境其他部分处理的事务。监视器也可以在低层次的协议层执行数据比较和基本的覆盖率收集4。
通过这些覆盖点的测试和验证,可以确保采样寄存器的功能正确性和完整性,从而提高验证质量和展现更真实的功能覆盖。