module Adder (IN, R1P1, R2P1, R2M1, R3P1A, R3M2, R3P1B, R4P1, R4M3, R4P3, R4M1, OUT); input signed [5:0] IN; input R1P1; input R2P1; input R2M1; input R3P1A; input R3M2; input R3P1B; input R4P1; input R4M3; input R4P3; input R4M1; output signed [5:0] OUT; reg signed [5:0] OUT; reg signed [4:0] DEL; always @ (IN or R1P1 or R2P1 or R2M1 or R3P1A or R3M2 or R3P1B or R4P1 or R4M3 or R4P3 or R4M1) begin DEL = {4'd0,R1P1} + {4'd0,R2P1} - {4'd0,R2M1} + {4'd0,R3P1A} - {3'd0,R3M2,1'b0} + {4'd0,R3P1B} + {4'd0,R4P1} - {3'd0,R4M3,R4M3} + {3'd0,R4P3,R4P3} - {4'd0,R4M1}; OUT = IN + DEL; end endmodule