是否可以根据参数从特定组中排除某些覆盖点?
covergroup NEW (string for_exclusion) @ (clk);
option.per_instance = 1;
option.comment = for_exclusion;
apples: coverpoint (available) { bins hit1 = {1'b1};}
bananas: coverpoint ({not_available, less}) {bins hit1 = {1'b1};}
oranges: coverpoint ({available, less}) {bins hit1 = {1'b1};}
rose: coverpoint ({available, flower}) {bins hit1 = {1'b1};}
这是原始文件的一小部分。我想根据参数从该封面组中排除“玫瑰”参数 IDENTITY = 2'b00我已经在模块中传递了它。有没有办法做到这一点?
(如果有语法错误,请忽略。我现在不担心它们)
我尝试使用这个,但没有成功。
covergroup NEW (string for_exclusion) @ (clk);
option.per_instance = 1;
option.comment = for_exclusion;
apples: coverpoint (available) { bins hit1 = {1'b1};}
bananas: coverpoint ({not_available, less}) {bins hit1 = {1'b1};}
oranges: coverpoint ({available, less}) {bins hit1 = {1'b1};}
generate
if (IDENTITY = 2'b01) begin
rose: coverpoint ({available, flower}) {bins hit1 = {1'b1};}
end
endgenerate`
你不能使用generate
在声明另一个构造的过程中。您能否将该覆盖点分离到另一个覆盖组中,而不是根据其他参数对其进行构造/采样?
另一种选择是根据参数将覆盖点的权重设置为0。您可以在构造覆盖组之前或之后在过程代码中执行此操作。
if (IDENTITY != 2'b01)
NEW::rose::type_option.weight = 0;
或在覆盖点内
rose: coverpoint ({available, flower}) {
bins hit1 = {1'b1};
option.weight = (IDENTITY == 2'b01};
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)