data/full_repos/permissive/486954482/TinyGarble/circuit_synthesis/syn_lib/square_root_comb.v
1: b"%Error: data/full_repos/permissive/486954482/TinyGarble/circuit_synthesis/syn_lib/square_root_comb.v:46: Cannot find file containing module: 'MULT'\n MULT #(.N(N/2), .M(N/2)) MULT1 (.A(y_in), .B(y_in), .O(y_sqr));\n ^~~~\n        ... Looked in:\n             data/full_repos/permissive/486954482/TinyGarble/circuit_synthesis/syn_lib,data/full_repos/permissive/486954482/MULT\n             data/full_repos/permissive/486954482/TinyGarble/circuit_synthesis/syn_lib,data/full_repos/permissive/486954482/MULT.v\n             data/full_repos/permissive/486954482/TinyGarble/circuit_synthesis/syn_lib,data/full_repos/permissive/486954482/MULT.sv\n             MULT\n             MULT.v\n             MULT.sv\n             obj_dir/MULT\n             obj_dir/MULT.v\n             obj_dir/MULT.sv\n%Error: data/full_repos/permissive/486954482/TinyGarble/circuit_synthesis/syn_lib/square_root_comb.v:48: Cannot find file containing module: 'COMP'\n COMP #(.N(N)) COMP1 (.A(x), .B(y_sqr), .O(t));\n ^~~~\n%Error: data/full_repos/permissive/486954482/TinyGarble/circuit_synthesis/syn_lib/square_root_comb.v:50: Cannot find file containing module: 'SUB_'\n SUB_ #(.N(N/2), .M(N/2)) SUB1 (.A(y_in), .B(y0_in), .O({temp[0], y_min_y0}));\n ^~~~\n%Error: data/full_repos/permissive/486954482/TinyGarble/circuit_synthesis/syn_lib/square_root_comb.v:52: Cannot find file containing module: 'MUX'\n MUX #(.N(N/2)) MUX1 (.A(y_min_y0), .B(y_in), .S(t), .O(y_mid));\n ^~~\n%Error: data/full_repos/permissive/486954482/TinyGarble/circuit_synthesis/syn_lib/square_root_comb.v:55: Cannot find file containing module: 'ADD_'\n ADD_ #(.N(N/2), .M(N/2)) ADD1 (.A(y_mid), .B(y0), .O({temp[1],y}));\n ^~~~\n%Error: Exiting due to 5 error(s)\n"
module square_root_comb #(parameter N = 8, M = 16)(
	input 			[N-1:0]		A,
	output			[N/2-1:0]	O
	);
	
				wire	[N/2-1:0]	Y[0:M];
				wire	[N/2-1:0]	Y0[0:M];
	
	assign Y[0] = {1'b1,{(N/2-1){1'b0}}};
	assign Y0[0] = {1'b1,{(N/2-1){1'b0}}};
	
	assign O = Y[M];
	
	genvar gv;
	generate
	for (gv = 0; gv < M; gv = gv + 1)
	begin: sqr_rt
		squar_root_unit #(.N(N)) squar_root_unit(
			.x(A),
			.y_in(Y[gv]), 
			.y0_in(Y0[gv]),
			.y(Y[gv+1]), 
			.y0(Y0[gv+1])
);
	end
	endgenerate
	
	
endmodule
module square_root_comb #(parameter N = 8, M = 16)(
	input 			[N-1:0]		A,
	output			[N/2-1:0]	O
	);

	
				wire	[N/2-1:0]	Y[0:M];
				wire	[N/2-1:0]	Y0[0:M];
	
	assign Y[0] = {1'b1,{(N/2-1){1'b0}}};
	assign Y0[0] = {1'b1,{(N/2-1){1'b0}}};
	
	assign O = Y[M];
	
	genvar gv;
	generate
	for (gv = 0; gv < M; gv = gv + 1)
	begin: sqr_rt
		squar_root_unit #(.N(N)) squar_root_unit(
			.x(A),
			.y_in(Y[gv]), 
			.y0_in(Y0[gv]),
			.y(Y[gv+1]), 
			.y0(Y0[gv+1])
);
	end
	endgenerate
	
	
endmodule