data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v
1: b"%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:30: Cannot find file containing module: 'matchedNAND'\n matchedNAND  N0 (.in({enable, O[length*4-4]}), .out(O[length*4]));\n ^~~~~~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/188039952/SmartFusion2,data/full_repos/permissive/188039952/matchedNAND\n             data/full_repos/permissive/188039952/SmartFusion2,data/full_repos/permissive/188039952/matchedNAND.v\n             data/full_repos/permissive/188039952/SmartFusion2,data/full_repos/permissive/188039952/matchedNAND.sv\n             matchedNAND\n             matchedNAND.v\n             matchedNAND.sv\n             obj_dir/matchedNAND\n             obj_dir/matchedNAND.v\n             obj_dir/matchedNAND.sv\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:31: Cannot find file containing module: 'matchedNAND'\n matchedNAND  N1 (.in({enable, O[length*4-3]}), .out(O[length*4+1]));\n ^~~~~~~~~~~\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:32: Cannot find file containing module: 'matchedNAND'\n matchedNAND  N2 (.in({enable, O[length*4-2]}), .out(O[length*4+2]));\n ^~~~~~~~~~~\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:33: Cannot find file containing module: 'matchedNAND'\n matchedNAND  N3 (.in({enable, O[length*4-1]}), .out(O[length*4+3]));\n ^~~~~~~~~~~\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:41: Cannot find file containing module: 'matchedStage'\n    matchedStage  S0 (.in(O[length*4+3:length*4]),  .out(O[i*4]),   .sel(sel[i*2+1:i*2]));\n    ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:42: Cannot find file containing module: 'matchedStage'\n    matchedStage  S1 (.in(O[length*4+3:length*4]),  .out(O[i*4+1]),  .sel(sel[i*2+1:i*2]));\n    ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:43: Cannot find file containing module: 'matchedStage'\n    matchedStage  S2 (.in(O[length*4+3:length*4]),  .out(O[i*4+2]),  .sel(sel[i*2+1:i*2]));\n    ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:44: Cannot find file containing module: 'matchedStage'\n    matchedStage  S3 (.in(O[length*4+3:length*4]),  .out(O[i*4+3]),  .sel(sel[i*2+1:i*2]));\n    ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:47: Cannot find file containing module: 'matchedStage'\n    matchedStage  S0 (.in(O[4*i-1:4*i-4]),  .out(O[i*4]),   .sel(sel[i*2+1:i*2]));\n    ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:48: Cannot find file containing module: 'matchedStage'\n    matchedStage  S1 (.in(O[4*i-1:4*i-4]),  .out(O[i*4+1]),  .sel(sel[i*2+1:i*2]));\n    ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:49: Cannot find file containing module: 'matchedStage'\n    matchedStage  S2 (.in(O[4*i-1:4*i-4]),  .out(O[i*4+2]),  .sel(sel[i*2+1:i*2]));\n    ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:50: Cannot find file containing module: 'matchedStage'\n    matchedStage  S3 (.in(O[4*i-1:4*i-4]),  .out(O[i*4+3]),  .sel(sel[i*2+1:i*2]));\n    ^~~~~~~~~~~~\n%Error: data/full_repos/permissive/188039952/SmartFusion2/matchedRO.v:56: Cannot find file containing module: 'matchedStage'\n matchedStage  MUX (.in(O[length*4-1:length*4-4]), .out(out), .sel(sel[1:0]));\n ^~~~~~~~~~~~\n%Error: Exiting due to 13 error(s)\n"
module matchedRO #(
		parameter 				length = 3
	)(
		input	[length*2-1:0] sel,
		input						enable,
		output		 			out
	);
	

	wire [length*4+3:0] O;
	

	matchedNAND		N0 (.in({enable, O[length*4-4]}), .out(O[length*4]));
	matchedNAND		N1 (.in({enable, O[length*4-3]}), .out(O[length*4+1]));
	matchedNAND		N2 (.in({enable, O[length*4-2]}), .out(O[length*4+2]));
	matchedNAND		N3 (.in({enable, O[length*4-1]}), .out(O[length*4+3]));
	

	genvar i;
	
	generate
		for (i = 0; i < length; i = i + 1) begin : stage
			if (i == 0) begin
				matchedStage 	S0 (.in(O[length*4+3:length*4]), 	.out(O[i*4]), 		.sel(sel[i*2+1:i*2]));
				matchedStage 	S1 (.in(O[length*4+3:length*4]), 	.out(O[i*4+1]), 	.sel(sel[i*2+1:i*2]));
				matchedStage 	S2 (.in(O[length*4+3:length*4]), 	.out(O[i*4+2]), 	.sel(sel[i*2+1:i*2]));
				matchedStage 	S3 (.in(O[length*4+3:length*4]), 	.out(O[i*4+3]), 	.sel(sel[i*2+1:i*2]));
			end
			else begin
				matchedStage 	S0 (.in(O[4*i-1:4*i-4]), 	.out(O[i*4]), 		.sel(sel[i*2+1:i*2]));
				matchedStage 	S1 (.in(O[4*i-1:4*i-4]), 	.out(O[i*4+1]), 	.sel(sel[i*2+1:i*2]));
				matchedStage 	S2 (.in(O[4*i-1:4*i-4]), 	.out(O[i*4+2]), 	.sel(sel[i*2+1:i*2]));
				matchedStage 	S3 (.in(O[4*i-1:4*i-4]), 	.out(O[i*4+3]), 	.sel(sel[i*2+1:i*2]));
			end
		end
	endgenerate
	

	matchedStage		MUX (.in(O[length*4-1:length*4-4]), .out(out), .sel(sel[1:0]));

endmodule
module matchedRO #(
		parameter 				length = 3
	)(
		input	[length*2-1:0] sel,
		input						enable,
		output		 			out
	);

	

	wire [length*4+3:0] O;
	

	matchedNAND		N0 (.in({enable, O[length*4-4]}), .out(O[length*4]));
	matchedNAND		N1 (.in({enable, O[length*4-3]}), .out(O[length*4+1]));
	matchedNAND		N2 (.in({enable, O[length*4-2]}), .out(O[length*4+2]));
	matchedNAND		N3 (.in({enable, O[length*4-1]}), .out(O[length*4+3]));
	

	genvar i;
	
	generate
		for (i = 0; i < length; i = i + 1) begin : stage
			if (i == 0) begin
				matchedStage 	S0 (.in(O[length*4+3:length*4]), 	.out(O[i*4]), 		.sel(sel[i*2+1:i*2]));
				matchedStage 	S1 (.in(O[length*4+3:length*4]), 	.out(O[i*4+1]), 	.sel(sel[i*2+1:i*2]));
				matchedStage 	S2 (.in(O[length*4+3:length*4]), 	.out(O[i*4+2]), 	.sel(sel[i*2+1:i*2]));
				matchedStage 	S3 (.in(O[length*4+3:length*4]), 	.out(O[i*4+3]), 	.sel(sel[i*2+1:i*2]));
			end
			else begin
				matchedStage 	S0 (.in(O[4*i-1:4*i-4]), 	.out(O[i*4]), 		.sel(sel[i*2+1:i*2]));
				matchedStage 	S1 (.in(O[4*i-1:4*i-4]), 	.out(O[i*4+1]), 	.sel(sel[i*2+1:i*2]));
				matchedStage 	S2 (.in(O[4*i-1:4*i-4]), 	.out(O[i*4+2]), 	.sel(sel[i*2+1:i*2]));
				matchedStage 	S3 (.in(O[4*i-1:4*i-4]), 	.out(O[i*4+3]), 	.sel(sel[i*2+1:i*2]));
			end
		end
	endgenerate
	

	matchedStage		MUX (.in(O[length*4-1:length*4-4]), .out(out), .sel(sel[1:0]));

endmodule