module bm(temp,cy,in1,in2);
input in1,in2;
output temp,cy;
wire [4:0]in1;
wire [4:0]in2;
reg [9:0] temp;
reg [1:0] sel;
reg cy;
integer i;
reg plsb;
always @(in1,in2)
begin
plsb=1'b0;
temp={{5'b00000},{in1[4:0]}};
for(i=0;i<5;i=i+1)
begin
sel={temp[0],plsb};
case(sel)
2'b00:begin
plsb=temp[0];
temp={temp[0],temp[9:1]};
end
2'b01:begin
temp[9:5]=temp[9:5]+in2[4:0];
plsb=temp[0];
temp={temp[0],temp[9:1]};
end
2'b10:begin
temp[9:5]=temp[9:5]-in2[4:0];
plsb=temp[0];
temp={temp[0],temp[9:1]};
end
2'b11:begin
plsb=temp[0];
temp={temp[0],temp[9:1]};
end
endcase
end
cy=temp[9]|temp[8]|temp[7]|temp[6]|temp[5];
end
endmodule