[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
module inv_mux_2to1 (in1,in2,out,sel);
input [31:0] in1,in2;
output [31:0] out;
input sel;
assign out=~(sel?in2:in1);
endmodule
module shift2(in,out,shft);
input [31:0] in;
output [31:0] out;
input [4:0] shft;
wire [31:0] s0,s1,s2,s3;
inv_mux_2to1 m1 (~in,{~in[31],~in[31:1]},s0,shft[0]);
inv_mux_2to1 m2 (s0,{{2{in[31]}},s0[31:2]},s1,shft[1]);
inv_mux_2to1 m3 (s1,{{4{~in[31]}},s1[31:4]},s2,shft[2]);
inv_mux_2to1 m4 (s2,{{8{in[31]}},s2[31:8]},s3,shft[3]);
inv_mux_2to1 m5 (s3,{{16{~in[31]}},s3[31:16]},out,shft[3]);
endmodule
E-mail: info@telesys.ru