In reply to bachan21:
class A;
typedef bit [2:0] number_t;
rand number_t number;
number_t recent_numbers[$];
bit add;
function void post_randomize();
add = 1;
foreach (recent_numbers[i]) begin
if (recent_numbers[i] == number) begin
add = 0;
break;
end else begin
add = 1;
end
end
if (add == 1) begin
recent_numbers.push_front(number);
end
if (recent_numbers.size() > 5)
void'(recent_numbers.pop_back());
endfunction
endclass : A
module top();
A a = new();
initial begin
repeat(10) begin
if(!a.randomize()) $display("Please look into randomization issue");
if (a.recent_numbers.size() == 5) begin
$display("recent_numbers = %p",a.recent_numbers);
end
end
end
endmodule : top