【验证小bai】soft constraint按域约束与整体约束的差异

简介: 【验证小bai】soft constraint按域约束与整体约束的差异

提问:

rand bit[31:0] value;
constraint value_con{
    foreach(value[i]) soft value[i] == 1;   
}
constraint value_con{
    soft value == '1;   
}

这两种soft constraint有没有区别?


回答:


第一种方式是对每一比特进行软约束,第二种方式是增提软约束,当软约束生效时二者没有区别。但是当其中某一比特的与硬约束冲突时,比如在case中bit0约束为0,那么此时:


对于第一种foreach软约束方式,除去bit0外其他比特仍能保持约束为1;


对于第二种整体软约束方式,整体的软约束都失效了,因此其他比特相当于没有约束直接整体随机了;


实验:

class tv0;
    rand bit[31:0] value;
    constraint value_con{
        foreach(value[i]) soft value[i] == 1;   
    }
endclass
class tv1;
    rand bit[31:0] value;
    constraint value_con{
        soft value == '1;   
    }
endclass
case:
    tv0 t0 = new();
    tv1 t1 = new();
    t0.randomize with {value[0] == 0;};
    t1.randomize with {value[0] == 0;};
    $display("'h%0h", t0.value);
    $display("'h%0h", t1.value);

打印:



相关文章
芯片验证 | UVM的objection机制
芯片验证 | UVM的objection机制
337 1
【MongoDB】如何区分MongoDB和关系型数据库?
【4月更文挑战第1天】【MongoDB】如何区分MongoDB和关系型数据库?
嵌入式linux面试题目总结
嵌入式linux面试题目总结
290 0
Google Earth Engine(GEE)——GEE最全介绍(7000字长文)初学者福音!
Google Earth Engine(GEE)——GEE最全介绍(7000字长文)初学者福音!
2486 0
Google Earth Engine(GEE)——GEE最全介绍(7000字长文)初学者福音!
深入理解AMBA总线(十三)AXI原子访问机制和AXI响应
深入理解AMBA总线(十三)AXI原子访问机制和AXI响应
980 0
一把王者的时间,学会generate语句【Verilog高级教程】
一把王者的时间,学会generate语句【Verilog高级教程】
一把王者的时间,学会generate语句【Verilog高级教程】

热门文章

最新文章