Can anyone please help me to understand what’s going on in sign_extend.v
,
this macro is initiated in the cic_decim.v
sign_extend #(bw,bw+maxbitgain)
ext_input (.in(signal_in),.out(signal_in_ext));
when i opened the macro i couldn’t understand it’s function
// Sign extension “macro”
// bits_out should be greater than bits_in
module sign_extend (in,out);
parameter bits_in=0; // FIXME Quartus insists on a default
parameter bits_out=0;
input [bits_in-1:0] in;
output [bits_out-1:0] out;
assign out = {{(bits_out-bits_in){in[bits_in-1]}},in};
endmodule
Thanks in advance.