FIFO verification with "n" unique elements

In reply to Verif Engg:
Glad the model helped.
Obviously, you need to tune the model to your needs. Specifically, you need to main a count of the unique entries. Thus, on a push, aa[data]+= 1’b1 (or aa[data]= 1’1b1 + aa[data] for any entry if it exists, and decrement on a pop of that data, and delete if the count is zero.
What I am trying to say is that your queue of 32 deep could contain values like:
1, 2, 3, 3, 3, 3,3 2, 3, …
So that on the 1st “3” exit, you need to account for the other 3’s. Thus, when “3” is popped, that does not necessarily mean that “3” is flushed; there could be a “3” still in the queue. My model did not account for that.
In any case, the associative array and the methods are of great help here.
Ben