System verilog 覆盖组箱过渡中的无界(无限)重复
我如何为可能有许多重复的转换定义覆盖范围bin?我想做的是这样的:System verilog 覆盖组箱过渡中的无界(无限)重复,system-verilog,System Verilog,我如何为可能有许多重复的转换定义覆盖范围bin?我想做的是这样的: bins st = (2=> 3[* 1:$] => 2); 当然,这是行不通的。编译这行代码时,模拟器会给出错误消息 编辑:模拟器抱怨$符号,他们不认为它是“无界最大值”。但是,在编写序列时,使用连续重复运算符作为[*1:$]是合法的。我希望SystemVerilog的下一个版本也能使封面组合法 作为一个粗略的解决方法,我用一个大的数字替换了$,因此它对于我的案例来说效果很好 bins st = (2=>
bins st = (2=> 3[* 1:$] => 2);
当然,这是行不通的。编译这行代码时,模拟器会给出错误消息
编辑:模拟器抱怨$
符号,他们不认为它是“无界最大值”。但是,在编写序列时,使用连续重复运算符作为[*1:$]
是合法的。我希望SystemVerilog的下一个版本也能使封面组合法
作为一个粗略的解决方法,我用一个大的数字替换了$
,因此它对于我的案例来说效果很好
bins st = (2=> 3[* 1:1000] => 2);
SystemVerilog转换箱的设计只能处理简单的转换。任何更复杂的内容都应该使用
cover
指令或序列的某种组合进行建模。触发的()方法和covergroup