① 检查DUT与TB的空闲链(指针在队列里面的顺序)是否一致;
② 检查TB的空闲链地址是否有重复,超出范围,缺失等;
③ 检查环境的队列是否为空(是否有数据残留);(或非空场景是否合理)
④ 检查DUT的计数器与TB的计数器是否一致,计数器是否为0;
⑤ 接口信号检查:反压和丢弃信号是否为0;(非0场景是否合理)
⑥ 所有从DUT拉出的数据传输信号应为0或为预期值;
⑦ 检查DUT是否有致命中断拉起;(拉起场景是否合理)
⑧ 检查DUT状态寄存器的结束状态是否符合预期;(状态机状态是否符合预期)
① 接口X/Z态检查;
1)fifo读写指针相等或为特定预期;(大部分场景内部fifo应该排空)
2)状态机为预期状态;
3)DUT统计的报文数量和环境分配的数量是否一致;
相关dfx的检查是否自洽等;
反压信号过冲检查:bp信号拉起来后,过冲的流量数目不能超出规格
重要:对于后续的新增需求带来的模块变化,也需要加入到仿真结束检查里面;
仿真结束检查:一般在task phase后去执行;
其他检查:仿真过程中的检查;
1)仿真过程中检查反压过程,以及credit过冲等,可以考虑加到monitor里面;
2)时序相关的断言检查;
3)如果有控制性能的QoS,还需要检查性能(可以通过断言微观检查,比如某一个id最多三拍一个包,如果出现2个就是违例了;)
1)可以通过bind方式去检查fifo的状态;bind到fifo的module上;
2)