data/full_repos/permissive/167489907/DE0 Stuff/GPIO_Board.v
 line:74: before: "."
1: b'%Error: Cannot find file containing module: Stuff,data/full_repos/permissive/167489907\n        ... Looked in:\n             data/full_repos/permissive/167489907/DE0/Stuff,data/full_repos/permissive/167489907\n             data/full_repos/permissive/167489907/DE0/Stuff,data/full_repos/permissive/167489907.v\n             data/full_repos/permissive/167489907/DE0/Stuff,data/full_repos/permissive/167489907.sv\n             Stuff,data/full_repos/permissive/167489907\n             Stuff,data/full_repos/permissive/167489907.v\n             Stuff,data/full_repos/permissive/167489907.sv\n             obj_dir/Stuff,data/full_repos/permissive/167489907\n             obj_dir/Stuff,data/full_repos/permissive/167489907.v\n             obj_dir/Stuff,data/full_repos/permissive/167489907.sv\n%Error: Cannot find file containing module: data/full_repos/permissive/167489907/DE0\n%Error: Cannot find file containing module: Stuff/GPIO_Board.v\n%Error: Exiting due to 3 error(s)\n'
module GPIO_Board(
	clock_50,
	R0, R1, R2, R3, R4, R5, R6, R7,
	HEX0, HEX0_DP, HEX1, HEX1_DP,
	HEX2, HEX2_DP, HEX3, HEX3_DP, 
	HEX4, HEX4_DP, HEX5, HEX5_DP, 
	HEX6, HEX6_DP, HEX7, HEX7_DP, 
	DIP_SW,
	LEDS,
	GPIO_0,
	GPIO_1
	);




	

	input [15:0] R0, R1, R2, R3, R4, R5, R6, R7;
	input [6:0] HEX0, HEX1, HEX2, HEX3, HEX4, HEX5, HEX6, HEX7;
	input HEX0_DP, HEX1_DP, HEX2_DP, HEX3_DP, HEX4_DP, HEX5_DP, HEX6_DP, HEX7_DP;

	input clock_50;

	input [31:0] LEDS;

	output [31:0] DIP_SW;

	output [31:0]GPIO_0;

	inout wire [31:0] GPIO_1;
	
	





	reg [16:0]count;
	wire [2:0]count3bit;

	initial
		count <= 17'b0;
	
	always @(posedge clock_50)
		count <= count + 1'b1;
	



	wire row_gate;

	assign row_gate = (count[13:11] == 3'b0 || count[13:11] == 3'b111) ? 1'b0 : 1'b1;

	
	assign count3bit = count[16:14];
	

	wire [15:0] matrix_columns2, matrix_columns;


	gpio_mux_8_to_1 matrix_mux(matrix_columns2, count3bit, R7, R6, R5, R4, R3, R2, R1, R0);
	defparam matrix_mux.n = 16;



	generate
	genvar c;

	for(c = 0; c < 16; c = c + 1) begin : col_gen
		assign matrix_columns[c] = matrix_columns2[15-c];
	end
	endgenerate
	


	wire [7:0] hex_segments;
	gpio_mux_8_to_1 hex_mux(hex_segments, count3bit, 
		{HEX7_DP, HEX7}, {HEX6_DP, HEX6}, 
		{HEX5_DP, HEX5}, {HEX4_DP, HEX4}, 
		{HEX3_DP, HEX3}, {HEX2_DP, HEX2}, 
		{HEX1_DP, HEX1}, {HEX0_DP, HEX0});
	defparam hex_mux.n = 8;
	

	wire [7:0]rowa;
	gpio_decoder_3_8 row_dec(count3bit, rowa[0], rowa[1], rowa[2], rowa[3], rowa[4], rowa[5], rowa[6], rowa[7]);



	wire [7:0]row;
	assign row = row_gate ? rowa : 8'b0;
	

	assign GPIO_0 = {hex_segments, matrix_columns, row};
	








	wire [31:0] output_to_leds;



	assign output_to_leds = (count[16:7] == 0) ? 32'bZ : LEDS;
	






	reg [31:0] input_from_switches;
	always @(posedge count[6]) begin
		if(count[16:6] == 1) begin

			input_from_switches <= GPIO_1; 
		end
	end
	



	generate
	genvar i;
	for(i = 0; i < 32; i = i + 1) begin : gen1
		assign GPIO_1[i] = output_to_leds[31-i];
		assign DIP_SW[i] = input_from_switches[31-i];
	end
	endgenerate
		
endmodule
module GPIO_Board(
	clock_50,
	R0, R1, R2, R3, R4, R5, R6, R7,
	HEX0, HEX0_DP, HEX1, HEX1_DP,
	HEX2, HEX2_DP, HEX3, HEX3_DP, 
	HEX4, HEX4_DP, HEX5, HEX5_DP, 
	HEX6, HEX6_DP, HEX7, HEX7_DP, 
	DIP_SW,
	LEDS,
	GPIO_0,
	GPIO_1
	);





	

	input [15:0] R0, R1, R2, R3, R4, R5, R6, R7;
	input [6:0] HEX0, HEX1, HEX2, HEX3, HEX4, HEX5, HEX6, HEX7;
	input HEX0_DP, HEX1_DP, HEX2_DP, HEX3_DP, HEX4_DP, HEX5_DP, HEX6_DP, HEX7_DP;

	input clock_50;

	input [31:0] LEDS;

	output [31:0] DIP_SW;

	output [31:0]GPIO_0;

	inout wire [31:0] GPIO_1;
	
	





	reg [16:0]count;
	wire [2:0]count3bit;

	initial
		count <= 17'b0;
	
	always @(posedge clock_50)
		count <= count + 1'b1;
	



	wire row_gate;

	assign row_gate = (count[13:11] == 3'b0 || count[13:11] == 3'b111) ? 1'b0 : 1'b1;

	
	assign count3bit = count[16:14];
	

	wire [15:0] matrix_columns2, matrix_columns;


	gpio_mux_8_to_1 matrix_mux(matrix_columns2, count3bit, R7, R6, R5, R4, R3, R2, R1, R0);
	defparam matrix_mux.n = 16;



	generate
	genvar c;

	for(c = 0; c < 16; c = c + 1) begin : col_gen
		assign matrix_columns[c] = matrix_columns2[15-c];
	end
	endgenerate
	


	wire [7:0] hex_segments;
	gpio_mux_8_to_1 hex_mux(hex_segments, count3bit, 
		{HEX7_DP, HEX7}, {HEX6_DP, HEX6}, 
		{HEX5_DP, HEX5}, {HEX4_DP, HEX4}, 
		{HEX3_DP, HEX3}, {HEX2_DP, HEX2}, 
		{HEX1_DP, HEX1}, {HEX0_DP, HEX0});
	defparam hex_mux.n = 8;
	

	wire [7:0]rowa;
	gpio_decoder_3_8 row_dec(count3bit, rowa[0], rowa[1], rowa[2], rowa[3], rowa[4], rowa[5], rowa[6], rowa[7]);



	wire [7:0]row;
	assign row = row_gate ? rowa : 8'b0;
	

	assign GPIO_0 = {hex_segments, matrix_columns, row};
	








	wire [31:0] output_to_leds;



	assign output_to_leds = (count[16:7] == 0) ? 32'bZ : LEDS;
	






	reg [31:0] input_from_switches;
	always @(posedge count[6]) begin
		if(count[16:6] == 1) begin

			input_from_switches <= GPIO_1; 
		end
	end
	



	generate
	genvar i;
	for(i = 0; i < 32; i = i + 1) begin : gen1
		assign GPIO_1[i] = output_to_leds[31-i];
		assign DIP_SW[i] = input_from_switches[31-i];
	end
	endgenerate
		
endmodule