data/full_repos/permissive/434840709/作业/溢出检测/cg.v
data/verilator_xmls/d9e5764d-7039-43af-a88f-1fe01ed86693.xml
module top_module (

                input [7:0] a,

                input [7:0] b,

                output [7:0] s,

                output overflow

        ); 

wire x,y,c,d,e,f,g,h;
add1 A1_1(a[0],b[0],0,s[0],x);
add1 A1_2(a[1],b[1],x,s[1],y);
add1 A1_3(a[2],b[2],y,s[2],c);
add1 A1_4(a[3],b[3],c,s[3],d);
add1 A1_5(a[4],b[4],d,s[4],e);
add1 A1_6(a[5],b[5],e,s[5],f);
add1 A1_7(a[6],b[6],f,s[6],g);
add1 A1_8(a[7],b[7],g,s[7],h);

reg t;


assign x = a[0]&b[0];
assign y = x&a[1]|x&b[1]|a[1]&b[1];
assign c = y&a[2]|y&b[2]|a[2]&b[2];
assign d = c&a[3]|c&b[3]|a[3]&b[3];
assign e = d&a[4]|d&b[4]|a[4]&b[4];
assign f = e&a[5]|e&b[5]|a[5]&b[5];
assign g = f&a[6]|f&b[6]|a[6]&b[6];


assign overflow = (a[7]&b[7]|a[7]&g|b[7]&g)^g;

endmodule
module top_module (

                input [7:0] a,

                input [7:0] b,

                output [7:0] s,

                output overflow

        );
 

wire x,y,c,d,e,f,g,h;
add1 A1_1(a[0],b[0],0,s[0],x);
add1 A1_2(a[1],b[1],x,s[1],y);
add1 A1_3(a[2],b[2],y,s[2],c);
add1 A1_4(a[3],b[3],c,s[3],d);
add1 A1_5(a[4],b[4],d,s[4],e);
add1 A1_6(a[5],b[5],e,s[5],f);
add1 A1_7(a[6],b[6],f,s[6],g);
add1 A1_8(a[7],b[7],g,s[7],h);

reg t;


assign x = a[0]&b[0];
assign y = x&a[1]|x&b[1]|a[1]&b[1];
assign c = y&a[2]|y&b[2]|a[2]&b[2];
assign d = c&a[3]|c&b[3]|a[3]&b[3];
assign e = d&a[4]|d&b[4]|a[4]&b[4];
assign f = e&a[5]|e&b[5]|a[5]&b[5];
assign g = f&a[6]|f&b[6]|a[6]&b[6];


assign overflow = (a[7]&b[7]|a[7]&g|b[7]&g)^g;

endmodule