data/full_repos/permissive/43856783/j1_soc/hdl/LCD/LCD_Peripheral.v
1: b"%Error: data/full_repos/permissive/43856783/j1_soc/hdl/LCD/LCD_Peripheral.v:109: Cannot find file containing module: 'LCD'\n LCD LCD_Driver (\n ^~~\n        ... Looked in:\n             data/full_repos/permissive/43856783/j1_soc/hdl/LCD,data/full_repos/permissive/43856783/LCD\n             data/full_repos/permissive/43856783/j1_soc/hdl/LCD,data/full_repos/permissive/43856783/LCD.v\n             data/full_repos/permissive/43856783/j1_soc/hdl/LCD,data/full_repos/permissive/43856783/LCD.sv\n             LCD\n             LCD.v\n             LCD.sv\n             obj_dir/LCD\n             obj_dir/LCD.v\n             obj_dir/LCD.sv\n%Error: Exiting due to 1 error(s)\n"
module LCD_Peripheral(clk , rst , d_in , cs , addr , rd , wr, e, rs, data, int_cnt, en_cnt, limit_cnt, d_out );
  
  input [15:0]d_in;
  input cs;
  input [3:0]addr; 
  input rd;
  input wr;
  output reg [15:0] d_out;
  
  input clk;
  input rst;
  input int_cnt;
  output en_cnt;
  output [15:0] limit_cnt;
  output rs; 
  output e;
  output [7:0] data;


	reg [10:0] s;
	reg init=0;
	reg en;
	reg reset;
	reg set;
	reg clear;
	reg off;
	reg on;
	reg entry_mode;
	reg cursor;
	reg w_char;
	reg [7:0] cursor_pos;
	reg [7:0] ascii_char;
	wire busy;
	





	always @(*) begin
		case (addr)
			
			4'h0:begin s = (cs && wr) ? 11'b00000000001 : 11'b00000000000 ;end
			4'h1:begin s = (cs && wr) ? 11'b00000000010 : 11'b00000000000 ;end
			4'h2:begin s = (cs && wr) ? 11'b00000000100 : 11'b00000000000 ;end
			4'h3:begin s = (cs && wr) ? 11'b00000001000 : 11'b00000000000 ;end
			4'h4:begin s = (cs && wr) ? 11'b00000010000 : 11'b00000000000 ;end
			4'h5:begin s = (cs && wr) ? 11'b00000100000 : 11'b00000000000 ;end
			4'h6:begin s = (cs && wr) ? 11'b00001000000 : 11'b00000000000 ;end
			4'h7:begin s = (cs && wr) ? 11'b00010000000 : 11'b00000000000 ;end
			4'h8:begin s = (cs && wr) ? 11'b00100000000 : 11'b00000000000 ;end
			4'h9:begin s = (cs && wr) ? 11'b01000000000 : 11'b00000000000 ;end
			
			4'hA:begin s = (cs && rd) ? 11'b10000000000 : 11'b00000000000 ;end
			
			default:begin s = 11'b00000000000 ; end
		endcase
	end




	always @(negedge clk) begin

		en			  	= (s[0]) ? d_in[0]   : en;
		reset		   = (s[1]) ? d_in[0]   : reset;
		set		   = (s[2]) ? d_in[0]   : set;
		off	      = (s[3]) ? d_in[0]   : off;
		on		      = (s[4]) ? d_in[0]   : on;
		entry_mode  = (s[5]) ? d_in[0]   : entry_mode;
		cursor	   = (s[6]) ? d_in[0]   : cursor;
		w_char      = (s[7]) ? d_in[0]   : w_char;
		cursor_pos  = (s[8]) ? d_in[7:0] : cursor_pos;
		ascii_char  = (s[9]) ? d_in[7:0] : ascii_char;

	end




	always @(negedge clk) begin
		
		d_out <= (s[10]) ? {15'h0 , busy} : 16'h0000;
		
	end



	LCD LCD_Driver (
		 .clk(clk), 
		 .rst(rst), 
		
		 .en(en), 
		 .reset(reset), 
		 .set(set), 
		 .clear(clear), 
		 .off(off), 
		 .on(on), 
		 .entry_mode(entry_mode), 
		 .cursor(cursor), 
		 .w_char(w_char), 
		 .cursor_pos(cursor_pos), 
		 .ascii_char(ascii_char), 
		 .busy(busy), 
		 .int_cnt(int_cnt), 
		 .limit_cnt(limit_cnt), 
		 .en_cnt(en_cnt), 
		
		 .rs(rs), 
		 .e(e), 
		 .data(data)
		 );
	 
endmodule
module LCD_Peripheral(clk , rst , d_in , cs , addr , rd , wr, e, rs, data, int_cnt, en_cnt, limit_cnt, d_out );

  
  input [15:0]d_in;
  input cs;
  input [3:0]addr; 
  input rd;
  input wr;
  output reg [15:0] d_out;
  
  input clk;
  input rst;
  input int_cnt;
  output en_cnt;
  output [15:0] limit_cnt;
  output rs; 
  output e;
  output [7:0] data;


	reg [10:0] s;
	reg init=0;
	reg en;
	reg reset;
	reg set;
	reg clear;
	reg off;
	reg on;
	reg entry_mode;
	reg cursor;
	reg w_char;
	reg [7:0] cursor_pos;
	reg [7:0] ascii_char;
	wire busy;
	





	always @(*) begin
		case (addr)
			
			4'h0:begin s = (cs && wr) ? 11'b00000000001 : 11'b00000000000 ;end
			4'h1:begin s = (cs && wr) ? 11'b00000000010 : 11'b00000000000 ;end
			4'h2:begin s = (cs && wr) ? 11'b00000000100 : 11'b00000000000 ;end
			4'h3:begin s = (cs && wr) ? 11'b00000001000 : 11'b00000000000 ;end
			4'h4:begin s = (cs && wr) ? 11'b00000010000 : 11'b00000000000 ;end
			4'h5:begin s = (cs && wr) ? 11'b00000100000 : 11'b00000000000 ;end
			4'h6:begin s = (cs && wr) ? 11'b00001000000 : 11'b00000000000 ;end
			4'h7:begin s = (cs && wr) ? 11'b00010000000 : 11'b00000000000 ;end
			4'h8:begin s = (cs && wr) ? 11'b00100000000 : 11'b00000000000 ;end
			4'h9:begin s = (cs && wr) ? 11'b01000000000 : 11'b00000000000 ;end
			
			4'hA:begin s = (cs && rd) ? 11'b10000000000 : 11'b00000000000 ;end
			
			default:begin s = 11'b00000000000 ; end
		endcase
	end




	always @(negedge clk) begin

		en			  	= (s[0]) ? d_in[0]   : en;
		reset		   = (s[1]) ? d_in[0]   : reset;
		set		   = (s[2]) ? d_in[0]   : set;
		off	      = (s[3]) ? d_in[0]   : off;
		on		      = (s[4]) ? d_in[0]   : on;
		entry_mode  = (s[5]) ? d_in[0]   : entry_mode;
		cursor	   = (s[6]) ? d_in[0]   : cursor;
		w_char      = (s[7]) ? d_in[0]   : w_char;
		cursor_pos  = (s[8]) ? d_in[7:0] : cursor_pos;
		ascii_char  = (s[9]) ? d_in[7:0] : ascii_char;

	end




	always @(negedge clk) begin
		
		d_out <= (s[10]) ? {15'h0 , busy} : 16'h0000;
		
	end



	LCD LCD_Driver (
		 .clk(clk), 
		 .rst(rst), 
		
		 .en(en), 
		 .reset(reset), 
		 .set(set), 
		 .clear(clear), 
		 .off(off), 
		 .on(on), 
		 .entry_mode(entry_mode), 
		 .cursor(cursor), 
		 .w_char(w_char), 
		 .cursor_pos(cursor_pos), 
		 .ascii_char(ascii_char), 
		 .busy(busy), 
		 .int_cnt(int_cnt), 
		 .limit_cnt(limit_cnt), 
		 .en_cnt(en_cnt), 
		
		 .rs(rs), 
		 .e(e), 
		 .data(data)
		 );
	 
endmodule