data/full_repos/permissive/129989088/unimon_fpga_uda.v
 line:201: before: "."
1: b"%Error: data/full_repos/permissive/129989088/unimon_fpga_uda.v:140: Cannot find file containing module: 'connection_manager'\nconnection_manager conn_manager(\n^~~~~~~~~~~~~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/129989088,data/full_repos/permissive/129989088/connection_manager\n             data/full_repos/permissive/129989088,data/full_repos/permissive/129989088/connection_manager.v\n             data/full_repos/permissive/129989088,data/full_repos/permissive/129989088/connection_manager.sv\n             connection_manager\n             connection_manager.v\n             connection_manager.sv\n             obj_dir/connection_manager\n             obj_dir/connection_manager.v\n             obj_dir/connection_manager.sv\n%Error: data/full_repos/permissive/129989088/unimon_fpga_uda.v:187: Cannot find file containing module: 'ram'\nram conn_table(\n^~~\n%Error: data/full_repos/permissive/129989088/unimon_fpga_uda.v:209: Cannot find file containing module: 'ram'\nram aging_table(\n^~~\n%Error: data/full_repos/permissive/129989088/unimon_fpga_uda.v:230: Cannot find file containing module: 'ram'\nram hash_table(\n^~~\n%Error: data/full_repos/permissive/129989088/unimon_fpga_uda.v:251: Cannot find file containing module: 'ram'\nram flowKey_table(\n^~~\n%Error: data/full_repos/permissive/129989088/unimon_fpga_uda.v:274: Cannot find file containing module: 'connection_outTime_inspector'\nconnection_outTime_inspector conn_outTime_inspector(\n^~~~~~~~~~~~~~~~~~~~~~~~~~~~\n%Error: Exiting due to 6 error(s)\n"
module uniman_top(
	clk,
	reset,

	metadata_in_valid,
	metadata_in,
	action_valid,
	action,
	eventInfo_valid,
	eventInfo,
	ready,


	cin_data_wr,
	cin_data,
	cin_ready,
	cout_data_wr,
	cout_data,
	cout_ready
);

parameter 	LMID = 8,
			w_pkt = 134,
			w_meta = 209,

			
			w_eventInfo = 16,
			w_key = 104,
			w_evb = 8,
			w_connTb = 200,


			d_connTb = 3,
			words_connTb = 8,
			w_flowKTb = 120,
			d_flowKTb = 3,
			words_flowKTb = 8,
			w_agingTb = 17,
			w_hashTb = 17,
			d_hashTb = 3,
			words_hashTb = 8,
			w_timestamp = 16,
			w_flowID = 16,
			w_agingInfo = 16,


			INTERVAL_EQUAL_100MS = 32'd125000000,

			INCREASE_TIME_TMP = 16'd1;

input								clk;
input								reset;
input								metadata_in_valid;
input			[w_meta-1:0]		metadata_in;
output	wire						action_valid;
output	wire						action;
output	wire						eventInfo_valid;
output	wire	[w_eventInfo-1:0]	eventInfo;
output	wire						ready;

input								cin_data_wr;
input			[w_pkt-1:0]			cin_data;
output	reg							cin_ready;
output	reg							cout_data_wr;
output	reg		[w_pkt-1:0]			cout_data;
input								cout_ready;





wire			[d_hashTb-1:0]		idx_hashTb_search, idx_hashTb_conf;
wire			[w_hashTb-1:0]		data_hashTb_conf;
wire								rden_hashTb_search, rden_hashTb_conf;
wire								wren_hashTb_conf;
wire			[w_hashTb-1:0]		ctx_hashTb_search, ctx_hashTb_conf;


wire			[d_flowKTb-1:0]	idx_flowKTb_search, idx_flowKTb_conf;
wire			[w_flowKTb-1:0]	data_flowKTb_conf;
wire								rden_flowKTb_search, rden_flowKTb_conf;
wire								wren_flowKTb_conf;
wire			[w_flowKTb-1:0]	ctx_flowKTb_search, ctx_flowKTb_conf;


wire			[d_connTb-1:0]		idx_connTb_search, idx_connTb_conf;
wire			[w_connTb-1:0]		data_connTb_conf;
wire								rden_connTb_search;
wire								wren_connTb_conf;
wire			[w_connTb-1:0]		ctx_connTb_search;


wire	[d_connTb-1:0]		idx_agingTb_aging;
wire	[w_agingTb-1:0]	data_agingTb_aging;
wire						rden_agingTb_aging;
wire						wren_agingTb_aging;
wire	[w_agingTb-1:0]	ctx_agingTb_aging;


wire						agingInfo_valid;
wire	[w_agingInfo-1:0]	agingInfo;


reg		[31:0]				timer;
reg		[w_timestamp-1:0]	cur_timestamp;



connection_manager conn_manager(
.reset(reset),
.clk(clk),
.metadata_in_valid(metadata_in_valid),
.metadata_in(metadata_in),
.action_valid(action_valid),
.action(action),
.eventInfo_valid(eventInfo_valid),
.eventInfo(eventInfo),
.idx_hashTb_search(idx_hashTb_search),
.idx_hashTb_conf(idx_hashTb_conf),
.rdValid_hashTb_search(rden_hashTb_search),
.rdValid_hashTb_conf(rden_hashTb_conf),
.wrValid_hashTb_conf(wren_hashTb_conf),
.data_hashTb_conf(data_hashTb_conf),
.ctx_hashTb_search(ctx_hashTb_search),
.ctx_hashTb_conf(ctx_hashTb_conf),
.idx_flowKTb_search(idx_flowKTb_search),
.idx_flowKTb_conf(idx_flowKTb_conf),
.rdValid_flowKTb_search(rden_flowKTb_search),
.rdValid_flowKTb_conf(rden_flowKTb_conf),
.wrValid_flowKTb_conf(wren_flowKTb_conf),
.data_flowKTb_conf(data_flowKTb_conf),
.ctx_flowKTb_search(ctx_flowKTb_search),
.ctx_flowKTb_conf(ctx_flowKTb_conf),
.idx_connTb_search(idx_connTb_search),
.idx_connTb_conf(idx_connTb_conf),
.data_connTb_conf(data_connTb_conf),
.rdValid_connTb_search(rden_connTb_search),
.wrValid_connTb_conf(wren_connTb_conf),
.ctx_connTb_search(ctx_connTb_search),
.del_conn_valid(agingInfo_valid),
.del_conn_info(agingInfo),
.ready(ready),
.ctrl_in_valid(),
.ctrl_opt(),
.ctrl_addr(),
.ctrl_data_in(),
.ctrl_out_valid(),
.ctrl_data_out()
);

	


ram conn_table(
.address_a(idx_connTb_search),
.address_b(idx_connTb_conf),
.clock(clk),
.data_a({w_connTb{1'b0}}),
.data_b(data_connTb_conf),
.rden_a(rden_connTb_search),
.rden_b(1'b0),
.wren_a(1'b0),
.wren_b(wren_connTb_conf),
.q_a(ctx_connTb_search),
.q_b()
);
defparam
	conn_table.width = w_connTb,
	conn_table.depth = d_connTb,
	conn_table.words = words_connTb;


ram aging_table(
.address_a(idx_connTb_conf),
.address_b(idx_agingTb_aging),
.clock(clk),
.data_a({1'b1,cur_timestamp}),
.data_b(data_agingTb_aging),
.rden_a(1'b0),
.rden_b(rden_agingTb_aging),
.wren_a(wren_connTb_conf),
.wren_b(wren_agingTb_aging),
.q_a(),
.q_b(ctx_agingTb_aging)
);
defparam
	aging_table.width = w_agingTb,
	aging_table.depth = d_connTb,
	aging_table.words = words_connTb;


ram hash_table(
.address_a(idx_hashTb_search),
.address_b(idx_hashTb_conf),
.clock(clk),
.data_a({w_hashTb{1'b0}}),
.data_b(data_hashTb_conf),
.rden_a(rden_hashTb_search),
.rden_b(rden_hashTb_conf),
.wren_a(1'b0),
.wren_b(wren_hashTb_conf),
.q_a(ctx_hashTb_search),
.q_b(ctx_hashTb_conf)
);
defparam
	hash_table.width = w_hashTb,
	hash_table.depth = d_hashTb,
	hash_table.words = words_hashTb;


ram flowKey_table(
.address_a(idx_flowKTb_search),
.address_b(idx_flowKTb_conf),
.clock(clk),
.data_a({w_flowKTb{1'b0}}),
.data_b(data_flowKTb_conf),
.rden_a(rden_flowKTb_search),
.rden_b(rden_flowKTb_conf),
.wren_a(1'b0),
.wren_b(wren_flowKTb_conf),
.q_a(ctx_flowKTb_search),
.q_b(ctx_flowKTb_conf)
);
defparam
	flowKey_table.width = w_flowKTb,
	flowKey_table.depth = d_flowKTb,
	flowKey_table.words = words_flowKTb;




connection_outTime_inspector conn_outTime_inspector(
.reset(reset),
.clk(clk),
.idx_agingTb(idx_agingTb_aging),
.data_agingTb(data_agingTb_aging),
.rdValid_agingTb(rden_agingTb_aging),
.wrValid_agingTb(wren_agingTb_aging),
.ctx_agingTb(ctx_agingTb_aging),
.agingInfo_valid(agingInfo_valid),
.agingInfo(agingInfo),
.cur_timestamp(cur_timestamp)
);




always @ (posedge clk or negedge reset) begin
	if(!reset) begin
		cur_timestamp <= {w_timestamp{1'b0}};
		timer <= 32'b0;
	end
	else begin
		if(timer == INTERVAL_EQUAL_100MS) begin
			cur_timestamp <= cur_timestamp + INCREASE_TIME_TMP;
			timer <= 32'b0;
		end
		else begin
			timer <= timer + 32'd1;
		end
	end
end




endmodule
module uniman_top(
	clk,
	reset,

	metadata_in_valid,
	metadata_in,
	action_valid,
	action,
	eventInfo_valid,
	eventInfo,
	ready,


	cin_data_wr,
	cin_data,
	cin_ready,
	cout_data_wr,
	cout_data,
	cout_ready
);


parameter 	LMID = 8,
			w_pkt = 134,
			w_meta = 209,

			
			w_eventInfo = 16,
			w_key = 104,
			w_evb = 8,
			w_connTb = 200,


			d_connTb = 3,
			words_connTb = 8,
			w_flowKTb = 120,
			d_flowKTb = 3,
			words_flowKTb = 8,
			w_agingTb = 17,
			w_hashTb = 17,
			d_hashTb = 3,
			words_hashTb = 8,
			w_timestamp = 16,
			w_flowID = 16,
			w_agingInfo = 16,


			INTERVAL_EQUAL_100MS = 32'd125000000,

			INCREASE_TIME_TMP = 16'd1;

input								clk;
input								reset;
input								metadata_in_valid;
input			[w_meta-1:0]		metadata_in;
output	wire						action_valid;
output	wire						action;
output	wire						eventInfo_valid;
output	wire	[w_eventInfo-1:0]	eventInfo;
output	wire						ready;

input								cin_data_wr;
input			[w_pkt-1:0]			cin_data;
output	reg							cin_ready;
output	reg							cout_data_wr;
output	reg		[w_pkt-1:0]			cout_data;
input								cout_ready;





wire			[d_hashTb-1:0]		idx_hashTb_search, idx_hashTb_conf;
wire			[w_hashTb-1:0]		data_hashTb_conf;
wire								rden_hashTb_search, rden_hashTb_conf;
wire								wren_hashTb_conf;
wire			[w_hashTb-1:0]		ctx_hashTb_search, ctx_hashTb_conf;


wire			[d_flowKTb-1:0]	idx_flowKTb_search, idx_flowKTb_conf;
wire			[w_flowKTb-1:0]	data_flowKTb_conf;
wire								rden_flowKTb_search, rden_flowKTb_conf;
wire								wren_flowKTb_conf;
wire			[w_flowKTb-1:0]	ctx_flowKTb_search, ctx_flowKTb_conf;


wire			[d_connTb-1:0]		idx_connTb_search, idx_connTb_conf;
wire			[w_connTb-1:0]		data_connTb_conf;
wire								rden_connTb_search;
wire								wren_connTb_conf;
wire			[w_connTb-1:0]		ctx_connTb_search;


wire	[d_connTb-1:0]		idx_agingTb_aging;
wire	[w_agingTb-1:0]	data_agingTb_aging;
wire						rden_agingTb_aging;
wire						wren_agingTb_aging;
wire	[w_agingTb-1:0]	ctx_agingTb_aging;


wire						agingInfo_valid;
wire	[w_agingInfo-1:0]	agingInfo;


reg		[31:0]				timer;
reg		[w_timestamp-1:0]	cur_timestamp;



connection_manager conn_manager(
.reset(reset),
.clk(clk),
.metadata_in_valid(metadata_in_valid),
.metadata_in(metadata_in),
.action_valid(action_valid),
.action(action),
.eventInfo_valid(eventInfo_valid),
.eventInfo(eventInfo),
.idx_hashTb_search(idx_hashTb_search),
.idx_hashTb_conf(idx_hashTb_conf),
.rdValid_hashTb_search(rden_hashTb_search),
.rdValid_hashTb_conf(rden_hashTb_conf),
.wrValid_hashTb_conf(wren_hashTb_conf),
.data_hashTb_conf(data_hashTb_conf),
.ctx_hashTb_search(ctx_hashTb_search),
.ctx_hashTb_conf(ctx_hashTb_conf),
.idx_flowKTb_search(idx_flowKTb_search),
.idx_flowKTb_conf(idx_flowKTb_conf),
.rdValid_flowKTb_search(rden_flowKTb_search),
.rdValid_flowKTb_conf(rden_flowKTb_conf),
.wrValid_flowKTb_conf(wren_flowKTb_conf),
.data_flowKTb_conf(data_flowKTb_conf),
.ctx_flowKTb_search(ctx_flowKTb_search),
.ctx_flowKTb_conf(ctx_flowKTb_conf),
.idx_connTb_search(idx_connTb_search),
.idx_connTb_conf(idx_connTb_conf),
.data_connTb_conf(data_connTb_conf),
.rdValid_connTb_search(rden_connTb_search),
.wrValid_connTb_conf(wren_connTb_conf),
.ctx_connTb_search(ctx_connTb_search),
.del_conn_valid(agingInfo_valid),
.del_conn_info(agingInfo),
.ready(ready),
.ctrl_in_valid(),
.ctrl_opt(),
.ctrl_addr(),
.ctrl_data_in(),
.ctrl_out_valid(),
.ctrl_data_out()
);

	


ram conn_table(
.address_a(idx_connTb_search),
.address_b(idx_connTb_conf),
.clock(clk),
.data_a({w_connTb{1'b0}}),
.data_b(data_connTb_conf),
.rden_a(rden_connTb_search),
.rden_b(1'b0),
.wren_a(1'b0),
.wren_b(wren_connTb_conf),
.q_a(ctx_connTb_search),
.q_b()
);
defparam
	conn_table.width = w_connTb,
	conn_table.depth = d_connTb,
	conn_table.words = words_connTb;


ram aging_table(
.address_a(idx_connTb_conf),
.address_b(idx_agingTb_aging),
.clock(clk),
.data_a({1'b1,cur_timestamp}),
.data_b(data_agingTb_aging),
.rden_a(1'b0),
.rden_b(rden_agingTb_aging),
.wren_a(wren_connTb_conf),
.wren_b(wren_agingTb_aging),
.q_a(),
.q_b(ctx_agingTb_aging)
);
defparam
	aging_table.width = w_agingTb,
	aging_table.depth = d_connTb,
	aging_table.words = words_connTb;


ram hash_table(
.address_a(idx_hashTb_search),
.address_b(idx_hashTb_conf),
.clock(clk),
.data_a({w_hashTb{1'b0}}),
.data_b(data_hashTb_conf),
.rden_a(rden_hashTb_search),
.rden_b(rden_hashTb_conf),
.wren_a(1'b0),
.wren_b(wren_hashTb_conf),
.q_a(ctx_hashTb_search),
.q_b(ctx_hashTb_conf)
);
defparam
	hash_table.width = w_hashTb,
	hash_table.depth = d_hashTb,
	hash_table.words = words_hashTb;


ram flowKey_table(
.address_a(idx_flowKTb_search),
.address_b(idx_flowKTb_conf),
.clock(clk),
.data_a({w_flowKTb{1'b0}}),
.data_b(data_flowKTb_conf),
.rden_a(rden_flowKTb_search),
.rden_b(rden_flowKTb_conf),
.wren_a(1'b0),
.wren_b(wren_flowKTb_conf),
.q_a(ctx_flowKTb_search),
.q_b(ctx_flowKTb_conf)
);
defparam
	flowKey_table.width = w_flowKTb,
	flowKey_table.depth = d_flowKTb,
	flowKey_table.words = words_flowKTb;




connection_outTime_inspector conn_outTime_inspector(
.reset(reset),
.clk(clk),
.idx_agingTb(idx_agingTb_aging),
.data_agingTb(data_agingTb_aging),
.rdValid_agingTb(rden_agingTb_aging),
.wrValid_agingTb(wren_agingTb_aging),
.ctx_agingTb(ctx_agingTb_aging),
.agingInfo_valid(agingInfo_valid),
.agingInfo(agingInfo),
.cur_timestamp(cur_timestamp)
);




always @ (posedge clk or negedge reset) begin
	if(!reset) begin
		cur_timestamp <= {w_timestamp{1'b0}};
		timer <= 32'b0;
	end
	else begin
		if(timer == INTERVAL_EQUAL_100MS) begin
			cur_timestamp <= cur_timestamp + INCREASE_TIME_TMP;
			timer <= 32'b0;
		end
		else begin
			timer <= timer + 32'd1;
		end
	end
end




endmodule