Department of Electronics and Communication Engineering
©Athihrii, Stephen, Sanjay 2016 Page 33
Design and implementation of 32-bit ALU using Verilog 2016
wire [31:0]w1,w2;
wire[31:0] w3;
wire [31:0]w4,w5,w6,w7,w8,w9,w10;
shift a1(s1,a,cin,w1);
logicunit32bit a2 (a,b,s2,s3,w3);
addcarry a3(a,b,cin,w4,s4,s5,s6,s7);
add a4 (a,b,cin,w5,s4,s5,s6,s7);
sub a5 (a,b,cin,w6,s4,s5,s6,s7 );
subcarry a6 (a,b,cin,w7,s4,s5,s6,s7 );
incremen22 a7 (a,cin,w8,s4,s5,s6,s7);
decremen22 a8 (a,cin,w9,s4,s5,s6,s7);
trd a9 (w10,a,cin,s4,s5,s6,s7);
always @(a,b,w3,s1,s0,cin,s4,w1,w4,w5,w6,w7,w8,w9,w10,s5,s2,s6,s7,s3)
begin
case({s4,s5,s6,s7})
4'b0000:result<= w3;
4'b0001:result<=w1;
4'b0010:result<=w4;
4'b0011:result<=w5;