Forwarding the programme
module function_by_ref ();
reg [7:0] data ;
reg parity_out;
function automatic//static reg parity ( ref reg [7:0] idata);
int parit = 0;
for (int i= 0; i < 8; i ++) begin
parit = parit ^ idata[i];
end
// We can modify the data passed through reference
// idata ++ ;
// Something that is passed as const ref, can not be modified
// tdata ++ ; This is wrong
return parit;
endfunction
initial begin
parity_out=0;
data = 0;
for (int i=250; i<256; i ++) begin
#5 data = i;
// ltime = $time;
parity_out = parity (data);
$display ("Data = %00000000b, Parity = %b, Modified data : %b",i, parity_out, data);
end
#50 $finish;
end
endmodule