data/full_repos/permissive/468929885/verilog/rtl/el_pipeline.v
1: b"%Error: data/full_repos/permissive/468929885/verilog/rtl/el_pipeline.v:36: Cannot find file containing module: 'el_link'\n  el_link#\n  ^~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/468929885/verilog/rtl,data/full_repos/permissive/468929885/el_link\n             data/full_repos/permissive/468929885/verilog/rtl,data/full_repos/permissive/468929885/el_link.v\n             data/full_repos/permissive/468929885/verilog/rtl,data/full_repos/permissive/468929885/el_link.sv\n             el_link\n             el_link.v\n             el_link.sv\n             obj_dir/el_link\n             obj_dir/el_link.v\n             obj_dir/el_link.sv\n%Error: Exiting due to 1 error(s)\n"
module el_pipeline#(
	parameter						LINK_WIDTH  = 2,
	parameter						RAIL_NUM    = 2,
	parameter						PIPE_DEPTH  = 10
)
(

	input									rst,

	output									ack_o,
	input	[LINK_WIDTH*RAIL_NUM-1 : 0]		in,

	input									ack_i,
	output	[LINK_WIDTH*RAIL_NUM-1 : 0]		out

);

genvar pipe_idx;

wire [LINK_WIDTH*RAIL_NUM-1 : 0] pipe_data[PIPE_DEPTH : 0];
wire  pipe_ack [PIPE_DEPTH : 0];

assign pipe_data[0] = in;
assign out = pipe_data[PIPE_DEPTH];

assign pipe_ack[PIPE_DEPTH] = ack_i;
assign ack_o = pipe_ack[0];

generate
	for (pipe_idx = 0; pipe_idx < PIPE_DEPTH ; pipe_idx = pipe_idx + 1)
	begin 
	
		el_link#
		(
		    .LINK_WIDTH(LINK_WIDTH),
			.RAIL_NUM(RAIL_NUM)
		)
		el_link
		(
			.rst(rst),
			
			.ack_o(pipe_ack[pipe_idx]),
			.in(pipe_data[pipe_idx]),
			
			.ack_i(pipe_ack[pipe_idx+1]),
			.out(pipe_data[pipe_idx+1])
		);
		
	end
endgenerate 


endmodule
module el_pipeline#(
	parameter						LINK_WIDTH  = 2,
	parameter						RAIL_NUM    = 2,
	parameter						PIPE_DEPTH  = 10
)
(

	input									rst,

	output									ack_o,
	input	[LINK_WIDTH*RAIL_NUM-1 : 0]		in,

	input									ack_i,
	output	[LINK_WIDTH*RAIL_NUM-1 : 0]		out

);


genvar pipe_idx;

wire [LINK_WIDTH*RAIL_NUM-1 : 0] pipe_data[PIPE_DEPTH : 0];
wire  pipe_ack [PIPE_DEPTH : 0];

assign pipe_data[0] = in;
assign out = pipe_data[PIPE_DEPTH];

assign pipe_ack[PIPE_DEPTH] = ack_i;
assign ack_o = pipe_ack[0];

generate
	for (pipe_idx = 0; pipe_idx < PIPE_DEPTH ; pipe_idx = pipe_idx + 1)
	begin 
	
		el_link#
		(
		    .LINK_WIDTH(LINK_WIDTH),
			.RAIL_NUM(RAIL_NUM)
		)
		el_link
		(
			.rst(rst),
			
			.ack_o(pipe_ack[pipe_idx]),
			.in(pipe_data[pipe_idx]),
			
			.ack_i(pipe_ack[pipe_idx+1]),
			.out(pipe_data[pipe_idx+1])
		);
		
	end
endgenerate 


endmodule