Я хочу написать ограничение, чтобы удостовериться, что r_addr
разрешено только в том случае, если ранее использовался тот же адрес, что и w_addr
, но следующее ограничение не работает, у вас есть какие-либо предложения по этому поводу?
class try;
rand int w_addr;
rand int r_addr;
int ua[$];
int aa[int];
constraint unique_addr_c{
aa.size() == 0 || aa.exists(r_addr);
}
endclass
module test;
try a;
initial begin
a=new;
repeat(20) begin
if(a.randomize);
$display("add=%0d", a.w_addr);
$display("add=%0d", a.r_addr);
a.ua.push_back(a.w_addr);
a.aa[a.w_addr] = 1;
end
end
endmodule