请教一句system verilog中的断言
时间:10-02
整理:3721RD
点击:
if (random_delay_mode) begin
assert (std::randomize(delay) with {delay dist {0 := 1, !0 :/ 2};}) else
$error ("random delay generate error");
repeat (delay) @(sys_if.cb);
end
请问红色的那行断言什么意思呀?O(∩_∩)O谢谢指点!
assert (std::randomize(delay) with {delay dist {0 := 1, !0 :/ 2};}) else
$error ("random delay generate error");
repeat (delay) @(sys_if.cb);
end
请问红色的那行断言什么意思呀?O(∩_∩)O谢谢指点!
randomize with在线consrtaints结构,后面的constraints和对象delay的原有constaints一起起作用
randomize(delay) with {delay dist {0 := 1, !0 :/ 2}
这个语句执行:
随机化变量delay,且结果为0的概率为1/3,为非0的概率为2/3
assert()的目的是调试,如果随机运算不成功,
则报告断言失败且打印"random delay generate error"信息
解释正确,到位。支持!
nice~
支持TommyGG ,正解!
分布约束
一点点的学习
3楼正解。