我有一个包含 512 个元素的一维数组,其宽度为 8 位。 我希望仅当这 512 个元素中的每个元素中都存在特定的唯一值时,覆盖率才能达到 100%。 例如,假设我们只有 4 个元素,所以我希望仅当第一个元素为 0x1、第二个元素为 0x2、第三个元素为 0x3、第四个元素为 0x4 时,覆盖率为 100%。
我对如何实现这一目标感到困惑。
我对此很陌生,还没有尝试过任何东西。 想要一些关于如何实现这一目标的指导。
您始终可以创建一个函数,该函数对于您想要覆盖的任何条件返回 true,并创建一个
cover
指令或 coverpoint
调用该函数的示例
bit [7:0] array[];
bit clk;
function bit is_unique(bit [7:0] arg[]);
foreach(array[i])
foreach(arg[j])
if (i!=j && arg[i] == arg[j]) return 0;
return 1;
endfunction
cover property (@(posedge clk) is_unique(array));