1-时钟 1 1) 确定DUT中时钟的数量,频率范围; 2) 测试用例须覆盖各时钟各种标称频率的组合,对于多时钟,须检查各时钟之间频率差最大/最小时DUT的工作状况。
2 若DUT有多个时钟,验证环境要支持各时钟的任意相位关系。
3 无论单时钟还是多时钟,验证环境均要支持时钟不确定性。
4 如果DUT支持门控时钟,需要对门控时钟进行功能验证,包括clock gating和ungating的切换
2-复位 1 确定DUT中复位信号的数量,并同设计,软件确定复位顺序。
2 复位后需要检查寄存器默认值。
3 复位后(包括二次复位)需要检查接口输出信号复位值,推荐使用断言检查。
5 二次复位后打流进行逻辑功能检查
3-寄存器 1 用CSR工具执行基础读写复位检查
2 用寄存器模型工具执行寄存器读写以及复位检查
3 在使用HBUS、RGR等总线对寄存器进行读写访问时,覆盖如下 种场景: SCN-1:valid信号无效时,总线上其他信号驱动成X态 SCN-2:valid信号无效时,总线上其他信号驱动成0 SCN-3:valid信号无效时,总线上其他信号取反
4 读reserved地址不应引起总线长时间挂住
5 写reserved地址不应引起总线长时间挂住
6 写RO寄存器不应引起总线长时间挂住,寄存器不应该被改写
7 写清寄存器,读清寄存器等特殊操作寄存器验证
8 读WO寄存器不应引起总线长时间挂住,是否返回不期望的值
4-存储单元 1 总线上data除使用随机激励产生外,还需要使用下列特殊pattern PAT-1:{N{8’b0101_0101}} (ie. 0x5555…5555) PAT-2:{N{8’b1010_1010}} (ie. 0xaaaa…aaaa) PAT-3:{N{8’b0000_0000}} (ie. 0x0000…0000) PAT-4:{N{8’bffff_ffff}} (ie. 0xffff…ffff) PAT-5:每两个pattern之间执行bit翻转
2 相同地址写-回读,使用所有特殊pattern,每两次写之间pattern翻转,检查存储单元相邻bit是否互相影响
3 写下一个地址,读上一个地址并比较上个地址写-读的数据是否相同,用来检查地址译码器是否正确。
4 片地址写-回读顺序操作,比较写-读的数据是否相同,用来检查地址译码器是否正确。
5 地址非对齐访问,写入数据不影响同一条地址线中其他字节
6 访问地址跨越bank边界,检查地址译码器是否正确。
5-ECC单元 1 Single Error纠错
2 Double Error检错
3 检查Syndrom功能
4 Error上报/不上报
6-寄存器逻辑功能 1 中断相关寄存器,检查是否可以屏蔽中断,是否能够正确反映中断状态,是否可以清除,参考
2 通道/业务开关类寄存器检查打开时对应的通道/业务被触发,关闭时对应的通道/业务被关闭,如果存在多个独立通道/业务,则参考 - 19
3 在post_main_phase通过前门动态读取状态寄存器,并检查内容正确
4 阈值相关寄存器,覆盖阈值极大值,极小值,对于full dynamic和limited dynamic配置,覆盖从极大值到极小值的变化
5 检查关联的配置寄存器是否全部有效组合都被覆盖。
7-边界信号 1 检查上电复位后端口输出信号默认值检查,不应有X态,不应有中断或异常报出,推荐用SVA检查
2 检查二次复位后端口输出信号默认值检查,不应有X态,不应有中断或异常报出,推荐用SVA检查
3 人为制造输入信号相位偏移,检查是不应对逻辑功能造成影响(不用的输入tie0或tie1)
8-接口总线 1 如果接口总线承载的是协议,则验证owner需要熟悉协议中每一个位域的功能和bit位置,并同设计以及上下游关联模块设计、验证owner确认每个位域理解相同,有测试用例覆盖
9-中断 1 优先级检查
2 中断输出信号为高电平指示,非脉冲指示
3 如果存在中断使能开关,验证开关功能正确
4 检查中断屏蔽寄存器的功能,以及同中断源的bitmap
5 检查中断状态寄存器的功能,以及同中断源的bitmap
6 检查清中断功能
7 检查中断可以频繁触发和清除
10-异常、错误处理 1 检查时序异常,数据异常时DUT的工作状态(包括DUT是否能对错误进行处理,丢弃,恢复)
11-robust 1 接口处于IDLE状态时,将开关/使能类指示信号外的其他信号驱动成不同状态,然后使能接口,检查功能正确: SCN-1:X态 SCN-2:Z态 SCN-3:各bit为0 SCN-4:各bit为1 SCN-5:同最后一次有效传输取反 SCN-6:保持最后一次有效传输的值
2 复位状态下输入各种类型的信号状态,检查逻辑不受影响
3 对于解耦的逻辑,某逻辑异常状态不影响其他逻辑
12-性能 1 明确SPEC中各性能指标,每一张性能图表(带宽,流量)要和DE核对,确认是否可测,如果不可测要注明
13-反压 1 TBD
14-FeedThrough 1 使用SVA和静态验证方式对RTL的FT进行连通性验证
2 通过功能验证检查FT对功能的影响符合预期
15-Cascade Arbiter 1 Fixed Priority(FP)
2 Fair Round Robin(FRR)
3 Weight Round Robin(WRR)
16-FIFO 1 使用断言检查full/empty的逻辑关系,full和push信号不能同时有效,empty和pop信号不能同时有效,full和empty信号不能同时有效
2 使用断言检查push/pop的时序,覆盖连续push,连续pop以及push pop同时出现
3 覆盖empty撤销的同时触发pop场景,检查empty被拉起
4 覆盖full撤销的同时触发push场景,检查full被拉起
17-数据通路串扰 1 检查数据通道相互独立,处理业务时互不影响
2 如果通道可以单独复位,检查复位一个通道不影响其他通道业务
18-链表 1 链表长度检查:检查链表能申请的最大地址;如果设计中有长度记录寄存器,仿真结束后前门读取该寄存器检查链表长度
2 检查链表内部发生错误时,是否触发中断/异常上报
3 检查链表内部申请、释放指针是否重复
4 检查上、下链的性能
5 背靠背重复上下链
99-其他 1 gen_frr_arb复位信号连接检查