data/full_repos/permissive/117439233/hdl/src/CLA_64bit.v
1: b"%Error: data/full_repos/permissive/117439233/hdl/src/CLA_64bit.v:30: Cannot find file containing module: 'CLA_16bit'\n CLA_16bit FIRST(\n ^~~~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/117439233/hdl/src,data/full_repos/permissive/117439233/CLA_16bit\n             data/full_repos/permissive/117439233/hdl/src,data/full_repos/permissive/117439233/CLA_16bit.v\n             data/full_repos/permissive/117439233/hdl/src,data/full_repos/permissive/117439233/CLA_16bit.sv\n             CLA_16bit\n             CLA_16bit.v\n             CLA_16bit.sv\n             obj_dir/CLA_16bit\n             obj_dir/CLA_16bit.v\n             obj_dir/CLA_16bit.sv\n%Error: data/full_repos/permissive/117439233/hdl/src/CLA_64bit.v:39: Cannot find file containing module: 'CLA_16bit'\n CLA_16bit SECOND(\n ^~~~~~~~~\n%Error: data/full_repos/permissive/117439233/hdl/src/CLA_64bit.v:48: Cannot find file containing module: 'CLA_16bit'\n CLA_16bit THIRD(\n ^~~~~~~~~\n%Error: data/full_repos/permissive/117439233/hdl/src/CLA_64bit.v:57: Cannot find file containing module: 'CLA_16bit'\n CLA_16bit FOURTH(\n ^~~~~~~~~\n%Error: Exiting due to 4 error(s)\n"
module CLA_64bit(
    input [63:0] A,
    input [63:0] B,
    input Cin,
    output [63:0]S,
    output PG,
    output GG,
    output C32
    );
	wire [3:0] P;
	wire [3:0] G;
	wire [4:0] Cout;
	assign Cout[0] = Cin;
	assign C32 = Cout[4];
	assign PG = P[0] & P[1] & P[2] & P[3];
	assign GG = G[3] | ( G[2] & P[3] ) | ( G[1] & P[2] & P[3] ) | ( G[0] & P[1] & P[2] & P[3] );
	
	CLA_16bit FIRST(
    .A(A[15:0]), 
    .B(B[15:0]), 
    .Cin(Cout[0]), 
    .S(S[15:0]), 
    .PG(P[0]),
	 .GG(G[0]),
	 .C16(Cout[1])
    );
	CLA_16bit SECOND(
    .A(A[31:16]), 
    .B(B[31:16]), 
    .Cin(Cout[1]), 
    .S(S[31:16]), 
    .PG(P[1]),
	 .GG(G[1]),
	 .C16(Cout[2])
    );
	CLA_16bit THIRD(
    .A(A[47:32]), 
    .B(B[47:32]), 
    .Cin(Cout[2]), 
    .S(S[47:32]), 
    .PG(P[2]),
	 .GG(G[2]),
	 .C16(Cout[3])
    );
	CLA_16bit FOURTH(
    .A(A[63:48]), 
    .B(B[63:48]), 
    .Cin(Cout[3]), 
    .S(S[63:48]), 
    .PG(P[3]),
	 .GG(G[3]),
	 .C16(Cout[4])
    );
	 
endmodule
module CLA_64bit(
    input [63:0] A,
    input [63:0] B,
    input Cin,
    output [63:0]S,
    output PG,
    output GG,
    output C32
    );

	wire [3:0] P;
	wire [3:0] G;
	wire [4:0] Cout;
	assign Cout[0] = Cin;
	assign C32 = Cout[4];
	assign PG = P[0] & P[1] & P[2] & P[3];
	assign GG = G[3] | ( G[2] & P[3] ) | ( G[1] & P[2] & P[3] ) | ( G[0] & P[1] & P[2] & P[3] );
	
	CLA_16bit FIRST(
    .A(A[15:0]), 
    .B(B[15:0]), 
    .Cin(Cout[0]), 
    .S(S[15:0]), 
    .PG(P[0]),
	 .GG(G[0]),
	 .C16(Cout[1])
    );
	CLA_16bit SECOND(
    .A(A[31:16]), 
    .B(B[31:16]), 
    .Cin(Cout[1]), 
    .S(S[31:16]), 
    .PG(P[1]),
	 .GG(G[1]),
	 .C16(Cout[2])
    );
	CLA_16bit THIRD(
    .A(A[47:32]), 
    .B(B[47:32]), 
    .Cin(Cout[2]), 
    .S(S[47:32]), 
    .PG(P[2]),
	 .GG(G[2]),
	 .C16(Cout[3])
    );
	CLA_16bit FOURTH(
    .A(A[63:48]), 
    .B(B[63:48]), 
    .Cin(Cout[3]), 
    .S(S[63:48]), 
    .PG(P[3]),
	 .GG(G[3]),
	 .C16(Cout[4])
    );
	 
endmodule