System verilog 覆盖组箱过渡中的无界(无限)重复

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

我如何为可能有许多重复的转换定义覆盖范围bin?我想做的是这样的:

bins st = (2=> 3[* 1:$] => 2);
当然,这是行不通的。编译这行代码时,模拟器会给出错误消息

编辑:模拟器抱怨
$
符号,他们不认为它是“无界最大值”。但是,在编写序列时,使用连续重复运算符作为
[*1:$]
是合法的。我希望SystemVerilog的下一个版本也能使封面组合法

作为一个粗略的解决方法,我用一个大的数字替换了
$
,因此它对于我的案例来说效果很好

bins st = (2=> 3[* 1:1000] => 2);

SystemVerilog转换箱的设计只能处理简单的转换。任何更复杂的内容都应该使用
cover
指令或序列的某种组合进行建模。
触发的
()方法和
covergroup