In reply to dave_59:
Hello,
First of all thanks for your reply.
See I have an output signal which is an unpacked array type. i.e. logic [7:0]OP[3:0][4080:0];
for this output signal I am not able to declare bins.
I have tried to pack this array(using do pack function) and then declare the bins but it is not working.
I am using do pack function as
function void do_pack(uvm_packer packer);
otn_trans t1;
super.do_pack(packer);
packer.pack_field_int(t1.op, $bits(t1.op));
t1.op.do_pack(packer);
endfunction : do_pack
It was showing error
- Field/method name (do_pack) not in ‘op’
- Arg. ‘value’ of ‘pack_field_int’: Illegal assignment to type ‘reg[63:0]’ from type ‘reg[7:0] $[3:0][4080:1]’: Cannot assign an unpacked type to a packed type.
- Bit stream casting is only allowed on same size data.
Do you mean for each ROW and COLUMN I have to declare different cover group?
Is there any in built function which help to cast an unpacked expression to integral expression?