验证测试集的分类构建以及随机的方式

验证测试集分类:

理解为验证环境搭建好的基本测试集(autrosmoke), 普通维护版本需要全pass的测试集(release_gate). 测试全覆盖需要的测试集(regression).

1,autrosmoke 测试集。

作为基本测试集,主要验证环境走不走的通。一般包括基本的reg读写测试,每个block有一个基本的功能测试,

2.  release_gate测试集

2-1.不同配置下的tb.

  有reset的tb, 没有reset的tb,有low power的tb, 没有low power的tb。

2-2.每个tb下都有的功能测试

  包括autrosmoke的测试集以及关心的每个block主要细节测试集

3.regression测试集

  包含#1和#2,以及每个block所关心的所有细节的随机序列的测试集。

随机:

1. 随机序列生成器,一般用在上电后,去替换掉上电默认值的寄存器配置。主要是约束寄存器取值的有效范围以及寄存器与寄存器之间的依赖关系。

2.在test测试集中进行随机

3.在uvc的cfg file里面随机

4. 用$value$args 传递cmd参数来随机

随机的常用语法举例:

静态约束

rand int a; constraint c_dist { a dist {0:=40,[1:3]:=60};}

动态约束

typedef enum {BYTE,WORD,LWRD} length_e;

rand length_e len;

bit[31:0] w_byte=1,w_word=3,w_lwrd=5;

constraint c_len { len dist {BYTE:=w_byte, WORD:=w_word, LWRD:=w_lwrd};}

确定上下限的约束

rand int a;

int 10,20;

constraint c_range {c inside {[10:20]};}

还有很多约束方式。请参考sv语法书约束一章节。

依赖关系的solve before使用。除非对某些值出现的概率不满意,否则不要用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值