I have a dynamic array with element size as 128 bits width.
Now I want to convert this to a dynamic array with element size as 64 bits. I followed below approach and it worked. Is there any simple way?
typedef bit [63:0] bit64_t;
bit [63:0] read_data[];
bit [127:0] bit128_read_data[];
task body();
bit128_read_data = rdata; //128 bit dynamic array
read_data = new[bit128_read_data.size()]; //initialize the 64 bit array
for(int i=0; i<bit128_read_data.size();i++) begin
read_data[i] = bit64_t'(bit128_read_data[i]); //cast each element
end
endtask