Coverpoint for an array or queue

In reply to cnhoang:

Is there a way to cover a queue of register address? I have a queue of 370 specific 17 bit addresses.

Something like this?


covergroup register_address_queue_cg() with function sample (int array_index);
    register_address_cp :   coverpoint register_address_queue[array_index] {
                                bins address1  = {`ADDRESS1_VALUE};
                                bins address2  = {`ADDRESS2_VALUE};
                                /* fill in the rest */
                                bins address16 = {`ADDRESS16_VALUE};
                                bins address17 = {`ADDRESS17_VALUE};
                                bins unexpected_address[] = default;
                        }
endgroup : register_address_queue_cg

register_address_queue_cg = new();
foreach(register_address_queue[i]) register_address_queue_cg.sample(i);