verilog / nand_controller2 / nandc_under1


verilog/nand_controller2

/*  LCD_module_4bit */
module lcd_sc1602_06_4b_01( CLK,SHIFT_CLK, RST, CUR,rw ,rs ,en ,db,DATA,addrs1,addrs2,addrs3,addrs4,wdatain,EN,INSTATUS);
input   CLK, RST ;
input[3:0] CUR;
//input[15:0] DATA;
input[7:0] DATA;
input[7:0] addrs1;
input[7:0] addrs2;
input[7:0] addrs3;
input[7:0] addrs4;
input[7:0] wdatain;
input[3:0] INSTATUS;

input EN;

output  rw, rs ,SHIFT_CLK;
output  en;
output  [7:0]   db; 

reg    [23:0]   cntw;
reg    [9:0]    next;
reg             rs_r;
reg             en_r;
reg             rw_r;
reg    [7:0]    tsw;
//reg[7:0] character_hex1,character_hex2,character_hex3,character_hex4;
//reg[127:0] mode_lcd_disp;
reg[31:0] sec_cnt1;
reg toggle_flag1;
reg sec1_flag1;
reg[31:0] sec_cnt2;
reg toggle_flag2;
reg sec1_flag2;

 /*
reg[7:0] addrs1;
reg[7:0] addrs2;
reg[7:0] addrs3;
reg[7:0] addrs4;
*/
reg[11:0] caddrs1;
reg[15:0] chara_addrs1;
reg[15:0] chara_addrs2;
reg[15:0] chara_addrs3;
reg[15:0] chara_addrs4;
reg[15:0] chara_datain;
reg[15:0] chara_data1;
reg[127:0] mode_lcd_disp ;
	
initial begin
sec_cnt1=32'h00000000;
toggle_flag1 =1'b0;
sec1_flag1 =1'b0;
sec_cnt2=32'h00000000;
toggle_flag2 =1'b0;
sec1_flag2 =1'b0;
cntw =24'h000000;
next = 10'b0000000000;
tsw = 8'b00000000;
 rs_r = 1'b0;
 rw_r = 1'b0;
 en_r = 1'b0;
//CUR=4'b0000;
//COUNTER_OUT=4'b1111;
// addrs1=8'h11;
// addrs2=8'h22;
// addrs3=8'h33;
// addrs4=8'h44;
//caddrs1=12'b101010101010;
	
end
	
//parameter F50M0000_cnt1=32'h000001f4;//10/30動作 10usec
parameter F50M0000_cnt1=32'h00000032;
// parameter F50M0000_cnt1=32'h00000032;
 //  parameter F50M0000_cnt1=32'h00000004;
parameter F50M0000_cnt2=32'h00000002;

always@(posedge CLK)
begin
  if(sec_cnt1 == F50M0000_cnt1) begin
	 // if(sec_cnt1 == 32'h00000004) begin
	  sec_cnt1 <= 32'h00000000 ; //counter counting up to the parameter
	  sec1_flag1 <= 1'b1; 
	end else begin
	  sec_cnt1 <= sec_cnt1 + 1 ;
	  sec1_flag1 <= 1'b0 ;
	end
end

 always@(posedge CLK)
begin
  if(sec1_flag1 == 1'b1 )begin
	 toggle_flag1 <= !toggle_flag1 ;
	end
end

assign SHIFT_CLK =!toggle_flag1;

always@(posedge CLK)
begin
  if(sec_cnt2 == F50M0000_cnt2) begin
	 // if(sec_cnt1 == 32'h00000004) begin
	  sec_cnt2 <= 32'h00000000 ; //counter counting up to the parameter
	  sec1_flag2 <= 1'b1; 
	end else begin
	  sec_cnt2 <= sec_cnt2 + 1 ;
	  sec1_flag2 <= 1'b0 ;
	end
end

 always@(posedge CLK)
begin
  if(sec1_flag2 == 1'b1 )begin
	 toggle_flag2 <= !toggle_flag2 ;
	end
end


 always@(negedge RST or posedge toggle_flag2 ) //or posedge EN)
//always@(negedge RST or posedge SHIFT_CLK) //10/31
// always@(negedge RST or posedge CLK ) //or posedge EN)
begin if(RST ==1'b0)begin
//chara_addrs1 <=16'h3031;
//chara_addrs2 <=16'h3032;
//chara_addrs3 <=16'h3033;
//chara_addrs4 <=16'h3034;
//chara_data1 <=16'h3435;
//end else begin
//end else if(EN==1'b1)begin
end else begin
	  	case(addrs1[3:0])
	4'b0000 : chara_addrs1[7:0]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs1[7:0]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs1[7:0]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs1[7:0]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs1[7:0]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs1[7:0]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs1[7:0]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs1[7:0]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs1[7:0]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs1[7:0]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs1[7:0]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs1[7:0]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs1[7:0]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs1[7:0]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs1[7:0]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs1[7:0]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs1[7:0]<= 8'h31;
	endcase
		  	case(addrs1[7:4])
	4'b0000 : chara_addrs1[15:8]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs1[15:8]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs1[15:8]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs1[15:8]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs1[15:8]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs1[15:8]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs1[15:8]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs1[15:8]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs1[15:8]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs1[15:8]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs1[15:8]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs1[15:8]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs1[15:8]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs1[15:8]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs1[15:8]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs1[15:8]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs1[15:8]<= 8'h32;
	endcase
	  	case(addrs2[3:0])
	4'b0000 : chara_addrs2[7:0]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs2[7:0]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs2[7:0]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs2[7:0]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs2[7:0]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs2[7:0]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs2[7:0]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs2[7:0]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs2[7:0]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs2[7:0]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs2[7:0]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs2[7:0]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs2[7:0]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs2[7:0]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs2[7:0]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs2[7:0]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs2[7:0] <= 8'h33;
	endcase
		  	case(addrs2[7:4])
	4'b0000 : chara_addrs2[15:8]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs2[15:8]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs2[15:8]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs2[15:8]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs2[15:8]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs2[15:8]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs2[15:8]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs2[15:8]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs2[15:8]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs2[15:8]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs2[15:8]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs2[15:8]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs2[15:8]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs2[15:8]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs2[15:8]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs2[15:8]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs2[15:8] <= 8'h34;
	endcase
		  	case(addrs3[3:0])
	4'b0000 : chara_addrs3[7:0]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs3[7:0]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs3[7:0]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs3[7:0]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs3[7:0]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs3[7:0]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs3[7:0]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs3[7:0]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs3[7:0]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs3[7:0]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs3[7:0]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs3[7:0]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs3[7:0]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs3[7:0]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs3[7:0]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs3[7:0]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs3[7:0] <= 8'h35;
	endcase
		  	case(addrs3[7:4])
	4'b0000 : chara_addrs3[15:8]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs3[15:8]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs3[15:8]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs3[15:8]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs3[15:8]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs3[15:8]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs3[15:8]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs3[15:8]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs3[15:8]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs3[15:8]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs3[15:8]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs3[15:8]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs3[15:8]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs3[15:8]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs3[15:8]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs3[15:8]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs3[15:8] <= 8'h36;
	endcase
			  	case(addrs4[3:0])
	4'b0000 : chara_addrs4[7:0]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs4[7:0]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs4[7:0]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs4[7:0]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs4[7:0]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs4[7:0]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs4[7:0]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs4[7:0]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs4[7:0]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs4[7:0]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs4[7:0]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs4[7:0]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs4[7:0]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs4[7:0]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs4[7:0]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs4[7:0]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs4[7:0] <= 8'h36;
	endcase
		  	case(addrs4[7:4])
	4'b0000 : chara_addrs4[15:8]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs4[15:8]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs4[15:8]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs4[15:8]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs4[15:8]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs4[15:8]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs4[15:8]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs4[15:8]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs4[15:8]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs4[15:8]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs4[15:8]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs4[15:8]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs4[15:8]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs4[15:8]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs4[15:8]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs4[15:8]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs4[15:8] <= 8'h37;
	endcase
			case(wdatain[3:0])
	4'b0000 : chara_datain[7:0]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_datain[7:0]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_datain[7:0]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_datain[7:0]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_datain[7:0]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_datain[7:0]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_datain[7:0]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_datain[7:0]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_datain[7:0]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_datain[7:0]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_datain[7:0]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_datain[7:0]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_datain[7:0]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_datain[7:0]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_datain[7:0]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_datain[7:0]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_datain[7:0] <= 8'h36;
	endcase
		  	case(wdatain[7:4])
	4'b0000 : chara_datain[15:8]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_datain[15:8]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_datain[15:8]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_datain[15:8]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_datain[15:8]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_datain[15:8]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_datain[15:8]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_datain[15:8]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_datain[15:8]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_datain[15:8]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_datain[15:8]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_datain[15:8]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_datain[15:8]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_datain[15:8]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_datain[15:8]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_datain[15:8]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_datain[15:8] <= 8'h37;
	endcase
	 // default: chara_addrs4 <= 8'b00000110;
	//endcase
	
end
end

// always@(negedge RST or posedge SHIFT_CLK) //10/31
 always@(negedge RST or posedge CLK or posedge EN)
//begin if(RST ==1'b0)begin
//chara_addrs1 <=16'h3031;
//chara_addrs2 <=16'h3032;
//chara_addrs3 <=16'h3033;
//chara_addrs4 <=16'h3034;
//chara_data1 <=16'h3435;
//end else begin
//end else 
if(EN==1'b1)begin
//end else begin 11/1
/*
	  	case(addrs1[3:0])
	4'b0000 : chara_addrs1[7:0]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs1[7:0]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs1[7:0]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs1[7:0]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs1[7:0]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs1[7:0]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs1[7:0]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs1[7:0]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs1[7:0]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs1[7:0]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs1[7:0]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs1[7:0]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs1[7:0]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs1[7:0]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs1[7:0]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs1[7:0]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs1[7:0]<= 8'h31;
	endcase
		  	case(addrs1[7:4])
	4'b0000 : chara_addrs1[15:8]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs1[15:8]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs1[15:8]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs1[15:8]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs1[15:8]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs1[15:8]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs1[15:8]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs1[15:8]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs1[15:8]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs1[15:8]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs1[15:8]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs1[15:8]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs1[15:8]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs1[15:8]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs1[15:8]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs1[15:8]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs1[15:8]<= 8'h32;
	endcase
	  	case(addrs2[3:0])
	4'b0000 : chara_addrs2[7:0]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs2[7:0]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs2[7:0]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs2[7:0]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs2[7:0]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs2[7:0]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs2[7:0]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs2[7:0]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs2[7:0]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs2[7:0]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs2[7:0]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs2[7:0]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs2[7:0]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs2[7:0]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs2[7:0]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs2[7:0]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs2[7:0] <= 8'h33;
	endcase
		  	case(addrs2[7:4])
	4'b0000 : chara_addrs2[15:8]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs2[15:8]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs2[15:8]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs2[15:8]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs2[15:8]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs2[15:8]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs2[15:8]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs2[15:8]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs2[15:8]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs2[15:8]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs2[15:8]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs2[15:8]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs2[15:8]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs2[15:8]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs2[15:8]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs2[15:8]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs2[15:8] <= 8'h34;
	endcase
		  	case(addrs3[3:0])
	4'b0000 : chara_addrs3[7:0]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs3[7:0]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs3[7:0]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs3[7:0]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs3[7:0]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs3[7:0]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs3[7:0]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs3[7:0]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs3[7:0]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs3[7:0]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs3[7:0]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs3[7:0]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs3[7:0]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs3[7:0]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs3[7:0]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs3[7:0]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs3[7:0] <= 8'h35;
	endcase
		  	case(addrs3[7:4])
	4'b0000 : chara_addrs3[15:8]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs3[15:8]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs3[15:8]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs3[15:8]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs3[15:8]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs3[15:8]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs3[15:8]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs3[15:8]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs3[15:8]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs3[15:8]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs3[15:8]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs3[15:8]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs3[15:8]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs3[15:8]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs3[15:8]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs3[15:8]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs3[15:8] <= 8'h36;
	endcase
			  	case(addrs4[3:0])
	4'b0000 : chara_addrs4[7:0]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs4[7:0]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs4[7:0]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs4[7:0]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs4[7:0]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs4[7:0]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs4[7:0]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs4[7:0]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs4[7:0]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs4[7:0]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs4[7:0]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs4[7:0]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs4[7:0]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs4[7:0]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs4[7:0]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs4[7:0]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs4[7:0] <= 8'h36;
	endcase
		  	case(addrs4[7:4])
	4'b0000 : chara_addrs4[15:8]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_addrs4[15:8]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_addrs4[15:8]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_addrs4[15:8]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_addrs4[15:8]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_addrs4[15:8]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_addrs4[15:8]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_addrs4[15:8]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_addrs4[15:8]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_addrs4[15:8]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_addrs4[15:8]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_addrs4[15:8]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_addrs4[15:8]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_addrs4[15:8]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_addrs4[15:8]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_addrs4[15:8]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_addrs4[15:8] <= 8'h37;
	endcase
*/
	case(DATA[3:0])
	4'b0000 : chara_data1[7:0]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_data1[7:0]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_data1[7:0]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_data1[7:0]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_data1[7:0]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_data1[7:0]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_data1[7:0]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_data1[7:0]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_data1[7:0]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_data1[7:0]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_data1[7:0]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_data1[7:0]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_data1[7:0]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_data1[7:0]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_data1[7:0]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_data1[7:0]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_data1[7:0] <= 8'h36;
	endcase
		  	case(DATA[7:4])
	4'b0000 : chara_data1[15:8]<= 8'h30 ; //'0'繧定。ィ遉コ
	4'b0001 : chara_data1[15:8]<= 8'h31 ; //'1'繧定。ィ遉コ
	4'b0010 : chara_data1[15:8]<= 8'h32 ; //'2'繧定。ィ遉コ
	4'b0011 : chara_data1[15:8]<= 8'h33 ; //'3'繧定。ィ遉コ
	4'b0100 : chara_data1[15:8]<= 8'h34 ; //'4'繧定。ィ遉コ
	4'b0101 : chara_data1[15:8]<= 8'h35 ; //'5'繧定。ィ遉コ
	4'b0110 : chara_data1[15:8]<= 8'h36 ; //'6'繧定。ィ遉コ
	4'b0111 : chara_data1[15:8]<= 8'h37 ; //'7'繧定。ィ遉コ
	4'b1000 : chara_data1[15:8]<= 8'h38 ; //'8'繧定。ィ遉コ
	4'b1001 : chara_data1[15:8]<= 8'h39 ; //'9'繧定。ィ遉コ
	4'b1010 : chara_data1[15:8]<= 8'h41 ; //'A'繧定。ィ遉コ
	4'b1011 : chara_data1[15:8]<= 8'h42 ; //'b'繧定。ィ遉コ
	4'b1100 : chara_data1[15:8]<= 8'h43 ; //'c'繧定。ィ遉コ
	4'b1101 : chara_data1[15:8]<= 8'h44 ; //'d'繧定。ィ遉コ
	4'b1110 : chara_data1[15:8]<= 8'h45 ; //'E'繧定。ィ遉コ
	4'b1111 : chara_data1[15:8]<= 8'h46 ; //'F'繧定。ィ遉コ
	default: chara_data1[15:8] <= 8'h37;
	endcase
	 // default: chara_addrs4 <= 8'b00000110;
	//endcase
	
//end
end
  
 //  parameter NORMAL = 4'b0000, READID = 4'b0001, READSTATUS = 4'b0010, READPAGE = 4'b0011 ,ERASEBLOCK = 4'b0100, PROGRAMPAGE = 4'b0101,READPARAMPAGE =4'b0110,READUNIID=4'b0111,COMPARECHECK=4'b1000;
 // parameter AdSelStart=4'b1001,AdSelEnd=4'b1010,Adcycl=4'b1011,DataInput=4'b1100,Load=4'b1101,ReErsPrgCom=4'b1110;
 always@(posedge SHIFT_CLK )begin
 // always@(posedge CLK or posedge sw2)begin
//read 0x03,0x0b,0x3b,0x6b,0xbb,0xeb,0x9f,0x90
	if(CUR == 4'h0)begin
	mode_lcd_disp <=128'h4e616e64633533623132304d20783030 ;//display "Nandc51b1**M x00 dataは125Mhzの一例"
	end else if(CUR == 4'h1)begin
	mode_lcd_disp <=128'h52656164204944202020202030783031 ;//display "Read ID      0x01"
	end else if(CUR == 4'h2)begin 
	mode_lcd_disp <=128'h52656164205354415455532030783032 ;//display "Read STATUS  0x02"
	end else if(CUR == 4'h3)begin 
	mode_lcd_disp <=128'h52656164205041474520202030783033 ;//display "Read PAGE    0x03"
	end else if(CUR == 4'h4)begin 
	mode_lcd_disp <=128'h455241534520424c4f434b2030783034 ;//display "ERASE BLOCK  0x04"
	end else if(CUR == 4'h5)begin 
	mode_lcd_disp <=128'h50726f6772616d506167652030783035 ;//display "PROGRAMPAGE  0x05"
	end else if(CUR == 4'h6)begin 
	mode_lcd_disp <=128'h52656164616c6c204330202030783036 ;//display "ReadALL C0   0x06"
	end else if(CUR == 4'h7)begin
	mode_lcd_disp <=128'h52656164616c6c204338303020783037 ;//display "ReadALL C800 0x07"
	end else if(CUR == 4'h8)begin
	mode_lcd_disp <=128'h434f4d5020434845434b202030783038 ;//display "COMPARECHECK 0x08"
	end else if(CUR == 4'h9)begin
	mode_lcd_disp <=128'h416453656c2053746172742030783039 ;//display "AdSel Start  0x09"
	end else if(CUR == 4'ha)begin
	mode_lcd_disp <=128'h416453656c20456e6420202030783061 ;//display "AdSel End    0x0a"
	end else if(CUR == 4'hb)begin
	mode_lcd_disp <=128'h41646379636c20202020202030783062 ;//display "Adcycl       0x0b"
	end else if(CUR == 4'hc)begin
	mode_lcd_disp <=128'h4461746120496e707574202030783063 ;//display "Data Input   0x0c"
	end else if(CUR == 4'hd)begin
	mode_lcd_disp <=128'h4c6f6164202020202020202030783064 ;//display "Load         0x0d"
	end else if(CUR == 4'he)begin
		if(INSTATUS == 4'b1000)begin
	mode_lcd_disp <=128'h526561647e2020202020202030783065 ;//display "Read->    0x0e"
		end else if(INSTATUS == 4'b0001)begin
	mode_lcd_disp <=128'h4572737e202020202020202030783065 ;//display "Ers->    0x0e"
		end else if(INSTATUS ==4'b0010)begin
	mode_lcd_disp <=128'h5072677e202020202020202030783065 ;//display "Prg->    0x0e"
		end else if(INSTATUS == 4'b0100)begin
	mode_lcd_disp <=128'h436f6d7e202020202020202030783065 ;//display "Com->    0x0e"
		end else begin
	mode_lcd_disp <=128'h457252655072436f6d52652030783065 ;//display "ErRePr Com    0x0e"
	   end
	end else begin
	mode_lcd_disp <=128'h45727220436865636b20496e20202020 ;//display "Err Check Input " 
end   
end

always @( posedge SHIFT_CLK ) begin
 //always @( posedge SHIFT_CLK or posedge EN) begin //10/31 
//always @( negedge RST or posedge CLK ) begin
       if ( RST==1 'b0 ) begin
       rs_r <= 1'b0;
       rw_r <= 1'b0;
       en_r <= 1'b0;
      // tsw <= 8 'h00;
		  tsw <= 8 'h20;//11/1
       cntw <= 24 'h000000;
       next <= 10'd0;
		  end else if (cntw == 24 'h0cb735)begin
	//	    end else if (cntw == 24 'h000ccc)begin
       cntw <= 24 'h000000;
		  end else begin
		   cntw <= cntw + 1'b1;
  
		  
		  
	//delya 50msec rs=0	  
       case (next)
       10'd0 : if ( cntw == 24 'd50000 ) begin // all_0 & 50ms_wait  rs=0 command   50Mhz count 1 = 1usec 50000 = 50msec
           rs_r <= 1'b0;
           rw_r <= 1'b0;
           en_r <= 1'b0;
           tsw <= 8'h0;
           cntw <= 24'h000000;
           next <= 10'd1;  
           end
	//3h 8bitmode 1
      10'd1 : if ( cntw == 24 'd1 ) begin //8bit_mode   rs=0
           en_r <= 1'b1;
           tsw <= 8'h30;
           cntw <= 24'h00;
           next <= 10'd2;
           end
       10'd2 : if ( cntw == 24 'd1 ) begin //en_hold_1us   rs=0
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd3; 
           end
	//3h 8bitmode	 2		
       10'd3 : if ( cntw == 24 'd5000 ) begin //8bit_mode & 5ms_wait  rs=0
           en_r <= 1'b1;
           tsw <= 8'h30;
           cntw <= 24'h00;
           next <= 10'd4;
           end
       10'd4 : if ( cntw == 24 'd1 ) begin  // rs=0
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd5; 
           end
	//3h 8bitmode	 3		
       10'd5 : if ( cntw == 24 'd1000 ) begin //8bit_mode & 1ms_wait  rs=0
           en_r <= 1'b1;
           tsw <= 8'h30;
           cntw <= 24'h00;
           next <= 10'd6;
           end
       10'd6 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd7; 
           end
				
	//4bit mode 20h half byte only			
       10'd7 : if ( cntw == 24 'd5000 ) begin //Function set("4"bit_mode & 2disp) & 5ms_wait  rs=0
           en_r <= 1'b1;
			  tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 10'd8;
           end
      10'd8 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd900; 
           end
				
	//2gyouhyouji  28h			//8bitmode 38h
		 10'd900 : if ( cntw == 24 'd5000 ) begin //Function set("4"bit_mode & 2disp) & 5ms_wait
           en_r <= 1'b1;
			  tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 10'd901;
           end
      10'd901 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd902; 
           end
		 10'd902 : if ( cntw == 24 'd5000 ) begin //Function set("4"bit_mode & 2disp) & 5ms_wait
           en_r <= 1'b1;
			  tsw <= 8'h80;
           cntw <= 24'h00;
           next <= 10'd903;
           end
      10'd903 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd904; 
				end
	//disp on off/	 08h
       10'd904 : if ( cntw == 24 'd50 ) begin //disp_on
           en_r <= 1'b1;
           tsw <= 8'h00;
           cntw <= 24'h00;           
           next <= 10'd905;
           end
       10'd905 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd906; 
           end
		  10'd906 : if ( cntw == 24 'd50 ) begin //disp_on
           en_r <= 1'b1;
           tsw <= 8'hc0;//E0
           cntw <= 24'h00;           
           next <= 10'd907;
           end
       10'd907 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd908; 
           end
       10'd908 : if ( cntw == 24 'd50 ) begin //disp_clear
           en_r <= 1'b1;
           tsw <= 8'h00;
           cntw <= 24'h00;           
           next <= 10'd909;
           end
       10'd909 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd910; 
           end
		  10'd910 : if ( cntw == 24 'd50 ) begin //disp_clear
           en_r <= 1'b1;
           tsw <= 8'h10;//E0
           cntw <= 24'h00;           
           next <= 10'd911;
           end
       10'd911 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd912; 
           end
	//entrymode		04h
       10'd912 : if ( cntw == 24 'd16000 ) begin //entrymode_on
           en_r <= 1'b1;
           tsw <= 8'h00;  
           cntw <= 24'h00;  
           next <= 10'd913;
           end
       10'd913 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
              next <= 10'd914;
           end
		  10'd914 : if ( cntw == 24 'd50 ) begin //entrymode_on
           en_r <= 1'b1;
           tsw <= 8'h60;  //60
           cntw <= 24'h00;  
           next <= 10'd915;
           end
       10'd915 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
              next <= 10'd916;
           end
	//display on    06h
 
	    10'd916 : if ( cntw == 24 'd15000 ) begin //address指定
           en_r <= 1'b1;
           tsw <= 8'h80;
           cntw <= 24'h00;
           next <= 10'd917;
           end
       10'd917 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd918; 
           end            
		  10'd918 : if ( cntw == 24 'd50 ) begin //
           en_r <= 1'b1;
           tsw <= 8'h00;//F0
           cntw <= 24'h00;
           next <= 10'd919;
           end
       10'd919 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd22; 
           end 	
	//rs ->1 command end			
			
       10'd22 : if ( cntw == 24 'd50 ) begin  //rs_enb
           rs_r <= 1'b1;
           cntw <= 24'h00;
			   next <= 10'd23;
           end
	//character out 1gyou 1moji MSB->LSB
       10'd23 : if ( cntw == 24 'd50 ) begin //character_out w
           en_r <= 1'b1;
				tsw[7:4] <= mode_lcd_disp[127:124];
           cntw <= 24'h00;
           next <= 10'd24;
           end
       10'd24 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd25;
           end
		  10'd25 : if ( cntw == 24 'd50 ) begin //character_out w
           en_r <= 1'b1;
				tsw[7:4] <= mode_lcd_disp[123:120];
           cntw <= 24'h00;
           next <= 10'd26;
           end
       10'd26 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd27;
           end
	//1-2			
       10'd27 : if ( cntw == 24 'd50 ) begin //character_out r
           en_r <= 1'b1;
				tsw[7:4] <= mode_lcd_disp[119:116];
           cntw <= 24'h00;
           next <= 10'd28;
           end
       10'd28 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd29;
           end
		  10'd29 : if ( cntw == 24 'd50 ) begin //character_out r
           en_r <= 1'b1;
				tsw[7:4] <= mode_lcd_disp[115:112];
           cntw <= 24'h00;
           next <= 10'd30;
           end
       10'd30 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd31;
           end
  //1-3    
		
		  10'd31 : if ( cntw == 24 'd50 ) begin //character_out r
           en_r <= 1'b1;
				tsw[7:4] <= mode_lcd_disp[111:108];
           cntw <= 24'h00;
           next <= 10'd32;
           end
       10'd32 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd33;
           end
		  10'd33 : if ( cntw == 24 'd50 ) begin //character_out r
           en_r <= 1'b1;
				tsw[7:4] <= mode_lcd_disp[107:104];
           cntw <= 24'h00;
           next <= 10'd34;
           end
       10'd34 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd35;
           end
	//1-4			
       10'd35 : if ( cntw == 24 'd50 ) begin //character_out space
           en_r <= 1'b1;
				tsw[7:4] <= mode_lcd_disp[103:100];
           cntw <= 24'h00;
           next <= 10'd36;
           end
       10'd36 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd37;
           end
       10'd37 : if ( cntw == 24 'd50 ) begin //character_out space
           en_r <= 1'b1;
				tsw[7:4] <= mode_lcd_disp[99:96];
           cntw <= 24'h00;
           next <= 10'd38;
           end
       10'd38 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd39;
           end
	//1-5			
       10'd39 : if ( cntw == 24 'd50 ) begin //character_out 
           en_r <= 1'b1;
				tsw[7:4] <= mode_lcd_disp[95:92];
           cntw <= 24'h00;
           next <= 10'd40;
           end
       10'd40 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd41;
           end
       10'd41 : if ( cntw == 24 'd50 ) begin //character_out 
           en_r <= 1'b1;
				tsw[7:4] <= mode_lcd_disp[91:88];
           cntw <= 24'h00;
           next <= 10'd42;
           end
       10'd42 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd43;
           end
	//1-6			
       10'd43 : if ( cntw == 24 'd50 ) begin //character_out c
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[87:84];
           cntw <= 24'h00;
           next <= 10'd44;
           end
       10'd44 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd45;
           end
       10'd45 : if ( cntw == 24 'd50 ) begin //character_out c
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[83:80];
           cntw <= 24'h00;
           next <= 10'd46;
           end
       10'd46 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd48;
           end
	//1-7			
       10'd48 : if ( cntw == 24 'd50 ) begin //character_out o
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[79:76];
           cntw <= 24'h00;
           next <= 10'd49;
           end
       10'd49 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd50;
           end
       10'd50 : if ( cntw == 24 'd50 ) begin //character_out o
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[75:72];
           cntw <= 24'h00;
           next <= 10'd51;
           end
       10'd51 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 810'd52;
           end					
	//1-8			
       10'd52 : if ( cntw == 24 'd50 ) begin //character_out u
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[71:68];
           cntw <= 24'h00;
           next <= 10'd53;
           end
       10'd53 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd54;
           end
       10'd54 : if ( cntw == 24 'd50 ) begin //character_out u
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[67:64];
           cntw <= 24'h00;
           next <= 10'd55;
           end
       10'd55 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd56;
           end
	//1-9			
       10'd56 : if ( cntw == 24 'd50 ) begin //character_out n
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[63:60];
           cntw <= 24'h00;
           next <= 10'd57;
           end
       10'd57 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd58;
           end
       10'd58 : if ( cntw == 24 'd50 ) begin //character_out n
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[59:56];
           cntw <= 24'h00;
           next <= 10'd60;
           end
       10'd60 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd61;
           end				
 //1-10				
       10'd61 : if ( cntw == 24 'd50 ) begin //character_out t
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[55:52];
           cntw <= 24'h00;
           next <= 10'd62;
           end
       10'd62 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd63;
           end
       10'd63 : if ( cntw == 24 'd50 ) begin //character_out t
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[51:48];
           cntw <= 24'h00;
           next <= 10'd64;
           end
       10'd64 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd65;
           end				
	//1-11			
       10'd65 : if ( cntw == 24 'd50 ) begin //character_out 0
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[47:44];
           cntw <= 24'h00;
           next <= 10'd66;
           end
       10'd66 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd67;
           end
       10'd67 : if ( cntw == 24 'd50 ) begin //character_out 0
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[43:40];
           cntw <= 24'h00;
           next <= 10'd68;
           end
       10'd68 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd70;
           end
	//1-12			
       10'd70 : if ( cntw == 24 'd50 ) begin //character_out x
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[39:36];
           cntw <= 24'h00;
           next <= 10'd71;
           end
       10'd71 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd72;
           end
       10'd72 : if ( cntw == 24 'd50 ) begin //character_out x
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[35:32];
           cntw <= 24'h00;
           next <= 10'd73;
           end
       10'd73 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd74;
           end
	//1-13			
       10'd74 : if ( cntw == 24 'd50 ) begin //character_out 0
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[31:28];
           cntw <= 24'h00;
           next <= 10'd75;
           end
       10'd75 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd76;
           end
       10'd76 : if ( cntw == 24 'd50 ) begin //character_out 0
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[27:24];
           cntw <= 24'h00;
           next <= 10'd77;
           end
       10'd77 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd78;
           end				
	//1-14				
		  10'd78 : if ( cntw == 24 'd50 ) begin //character_out 6
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[23:20];
           cntw <= 24'h00;
           next <= 10'd79;
           end
       10'd79 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd80;
           end
		  10'd80 : if ( cntw == 24 'd50 ) begin //character_out 6
           en_r <= 1'b1;
           tsw[7:4] <= mode_lcd_disp[19:16];
           cntw <= 24'h00;
           next <= 10'd81;
           end
       10'd81 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd82;
           end				
//1-15				
       10'd82 : if ( cntw == 24 'd50 ) begin //character_out 0
           en_r <= 1'b1;
  //        tsw <= mode_lcd_disp[15:8];
				tsw[7:4]<=chara_datain[15:12];
           cntw <= 24'h00;
           next <= 10'd83;
           end
       10'd83 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd84;
           end
       10'd84 : if ( cntw == 24 'd50 ) begin //character_out 0
           en_r <= 1'b1;
  //         tsw <= mode_lcd_disp[15:8];
				tsw[7:4]<=chara_datain[11:8];
           cntw <= 24'h00;
           next <= 10'd85;
           end
       10'd85 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd86;
           end				
	//1-16			
       10'd86 : if ( cntw == 24 'd50 ) begin //character_out 1
           en_r <= 1'b1;
 //          tsw <= mode_lcd_disp[7:0];
				tsw[7:4]<=chara_datain[7:4];
           cntw <= 24'h00;
           next <= 10'd87;
           end
       10'd87 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
		//		rs_r <= 1'b0; 
           next <= 10'd88;
           end
       10'd88 : if ( cntw == 24 'd50 ) begin //character_out 1
           en_r <= 1'b1;
 //         tsw <= mode_lcd_disp[7:0];
				tsw[7:4]<=chara_datain[3:0];
           cntw <= 24'h00;
           next <= 10'd89;
           end
       10'd89 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
				rs_r <= 1'b0; 
           next <= 10'd90;//90
           end
				
				
		//2nd column start		rs_r=0 command
				
       10'd90 : if ( cntw == 24 'd1500 ) begin ////////////////////character_out 2column selected 0x40 1rst 11/6 500->1500 
		      en_r <= 1'b1;
           tsw <= 8'hc0;
           cntw <= 24'h00;
           next <= 10'd91;
           end
       10'd91 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
		//		rs_r <= 1'b0; //1
           next <= 10'd92;
           end
		  10'd92 : if ( cntw == 24 'd500 ) begin ////////////////////character_out 2column selected 0x40 1rst
		      en_r <= 1'b1;
           tsw <= 8'h00;
           cntw <= 24'h00;
           next <= 10'd93;
           end
       10'd93 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
				rs_r <= 1'b1; 
           next <= 10'd94;
           end	
			
	//2-1			
       10'd94 : if ( cntw == 24 'd50 ) begin //character_out A   0x41
           en_r <= 1'b1;
       //    tsw <= 8'h20;
			//	  tsw <= 8'h31;
				tsw <= 8'h40;  
           cntw <= 24'h00;
           next <= 10'd95;
           end
       10'd95 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd96;
           end
       10'd96 : if ( cntw == 24 'd50 ) begin //character_out A
           en_r <= 1'b1;
       //    tsw <= 8'h20;
			//	  tsw <= 8'h31;
				tsw <= 8'h10;  
           cntw <= 24'h00;
           next <= 10'd97;
           end
       10'd97 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd98;
           end
	//2-2			
       10'd98 : if ( cntw == 24 'd50 ) begin //character_out d  0x64
           en_r <= 1'b1;
        //   tsw <= 8'h20;
					  tsw <= 8'h60;
           cntw <= 24'h00;
           next <= 10'd99;
           end
       10'd99 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd100;
           end
       10'd100 : if ( cntw == 24 'd50 ) begin //character_out d
           en_r <= 1'b1;
        //   tsw <= 8'h20;
					  tsw <= 8'h40;
           cntw <= 24'h00;
           next <= 10'd101;
           end
       10'd101 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd102;
           end				
 //2-3   72h r
	     10'd102 : if ( cntw == 24 'd50 ) begin //character_out r
           en_r <= 1'b1;
       //    tsw <= 8'h20;
					  tsw <= 8'h70;
           cntw <= 24'h00;
           next <= 10'd103;
           end
       10'd103 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd104;
           end
	     10'd104 : if ( cntw == 24 'd50 ) begin //character_out r
           en_r <= 1'b1;
       //    tsw <= 8'h20;
					  tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 10'd105;
           end
       10'd105 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd106;
           end
	//2-4			
       10'd106 : if ( cntw == 24 'd50 ) begin //character_out space
           en_r <= 1'b1;
      //     tsw <= 8'h20;
					  tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 10'd107;
           end
       10'd107 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd108;
           end
       10'd108 : if ( cntw == 24 'd50 ) begin //character_out space
           en_r <= 1'b1;
      //     tsw <= 8'h20;
					  tsw <= 8'h00;
           cntw <= 24'h00;
           next <= 10'd109;
           end
       10'd109 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd110;
           end
	//2-5			
		  10'd110 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs4[15:8]
           en_r <= 1'b1;
      //     tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs4[15:12];
           cntw <= 24'h00;
           next <= 10'd111;
           end
       10'd111 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd112;
           end
		  10'd112 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs4[15:8]
           en_r <= 1'b1;
      //     tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs4[11:8];
           cntw <= 24'h00;
           next <= 10'd113;
           end
       10'd113 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd114;
           end
	//2-6			
       10'd114 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs4[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs4[7:4];
           cntw <= 24'h00;
           next <=10'd115;
           end
       10'd115 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd116;
           end	
       10'd116 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs4[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs4[3:0];
           cntw <= 24'h00;
           next <=10'd117;
           end
       10'd117 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd118;
           end			
  //2-7	
		  10'd118 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs3[15:8]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
					  tsw[7:4] <= chara_addrs3[15:12];
           cntw <= 24'h00;
           next <=10'd119;
           end
       10'd119 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd120;
           end
		  10'd120 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs3[15:8]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
				tsw[7:4] <= chara_addrs3[11:8];
           cntw <= 24'h00;
           next <=10'd121;
           end
       10'd121 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd122;
           end
	//2-8			
       10'd122 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs3[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs3[7:4];
           cntw <= 24'h00;
           next <= 10'd123;
           end
       10'd123 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd124;
           end
       10'd124 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs3[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs3[3:0];
           cntw <= 24'h00;
           next <= 10'd125;
           end
       10'd125 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd126;
           end	
	//2-9			
		  10'd126 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs2[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
				tsw[7:4] <= chara_addrs2[7:4];
           cntw <= 24'h00;
           next <= 10'd127;
           end
       10'd127 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd128;
           end
		  10'd128 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs2[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
				tsw[7:4] <= chara_addrs2[3:0];
           cntw <= 24'h00;
           next <= 10'd129;
           end
       10'd129 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd130;
           end
				
	//2-10			
       10'd130 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs1[15:8]
           en_r <= 1'b1;
     //      tsw <= 8'h32;
				tsw[7:4] <= chara_addrs1[15:12];
           cntw <= 24'h00;
           next <= 10'd138;
           end
       10'd138 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd139;
           end		
       10'd139 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs1[15:8]
           en_r <= 1'b1;
     //      tsw <= 8'h32;
				tsw[7:4] <= chara_addrs1[11:8];
           cntw <= 24'h00;
           next <= 10'd140;
           end
       10'd140 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd141;
           end	
	//2-11			
		  10'd141 : if ( cntw == 24 'd50) begin //character_out chara_addrs1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h31;
				tsw[7:4] <= chara_addrs1[7:4];
           cntw <= 24'h00;
           next <= 10'd142;
           end
       10'd142 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd143;
           end		
		  10'd143 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h31;
				tsw[7:4] <= chara_addrs1[3:0];
           cntw <= 24'h00;
           next <= 10'd144;
           end
       10'd144 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd145;
           end				
	//2-12		
		  10'd145 : if ( cntw == 24 'd50 ) begin //character_out space
           en_r <= 1'b1;
					tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 10'd146;
           end
       10'd146 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd147;
           end
		  10'd147 : if ( cntw == 24 'd50 ) begin //character_out space
           en_r <= 1'b1;
					tsw <= 8'h00;
           cntw <= 24'h00;
           next <= 10'd148;
           end
       10'd148 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd149;
           end
	//2-13			
       10'd149 : if ( cntw == 24 'd50 ) begin //character_out 0
           en_r <= 1'b1;
           tsw <= 8'h30;
		//		tsw <= character_hex4;
           cntw <= 24'h00;
           next <= 10'd150;
           end
       10'd150 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd151;
           end			
       10'd151 : if ( cntw == 24 'd50 ) begin //character_out 0
           en_r <= 1'b1;
           tsw <= 8'h00;
		//		tsw <= character_hex4;
           cntw <= 24'h00;
           next <= 10'd152;
           end
       10'd152 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd153;
           end	
	//2-14			
		  10'd153 : if ( cntw == 24 'd50 ) begin //character_out x
           en_r <= 1'b1;
         tsw <= 8'h70;
		//	   tsw <= character_hex3;
           cntw <= 24'h00;
           next <= 10'd154;
           end
       10'd154 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd155;
           end
		  10'd155 : if ( cntw == 24 'd50 ) begin //character_out x
           en_r <= 1'b1;
         tsw <= 8'h80;
		//	   tsw <= character_hex3;
           cntw <= 24'h00;
           next <= 10'd156;
           end
       10'd156 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd157;
           end
	//2-15			
       10'd157 : if ( cntw == 24 'd50 ) begin //character_out chara_data1[15:8]
           en_r <= 1'b1;
	//		   tsw <= 8'h45;
			   tsw[7:4] <= chara_data1[15:12];
           cntw <= 24'h00;
           next <= 10'd159;
           end
       10'd159 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd160;
           end	
       10'd160 : if ( cntw == 24 'd50 ) begin //character_out chara_data1[15:8]
           en_r <= 1'b1;
	//		   tsw <= 8'h45;
			   tsw[7:4] <= chara_data1[11:8];
           cntw <= 24'h00;
           next <= 10'd161;
           end
       10'd161 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd162;
           end	
	//2-16			
		  10'd162 : if ( cntw == 24 'd50 ) begin //character_out chara_data1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h46;
			   tsw[7:4] <= chara_data1[7:4];
           cntw <= 24'h00;
           next <= 10'd163;
           end
       10'd163 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd164;
			//	   next <= 8'd94;
				end
		  10'd164 : if ( cntw == 24 'd50 ) begin //character_out chara_data1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h46;
			   tsw[7:4] <= chara_data1[3:0];
           cntw <= 24'h00;
           next <= 10'd165;
           end
       10'd165 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
      //     next <= 10'd166;
		//		   next <= 10'd912;
		next<=10'd237;    //2020/02/1
				end
    /*   8'd82 : if ( cntw == 24 'd500 ) begin
           rw_r <= 1'b0;
           rs_r <= 1'b0;
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'h83; //8'hxx
           end
				*/
		/*	
			//2 end
		 10'd166 : if ( cntw == 24 'd50 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
				rs_r <= 1'b0; 
   //        next <= 8'd84;
				next <= 10'd167;   //10/28
           end
       10'd167 : if ( cntw == 24 'd1500 ) begin //character_out 2column selected 0x40   update
		      en_r <= 1'b1;
           tsw <= 8'hc0;
			//	tsw <= 8'hcc;
           cntw <= 24'h00;
           next <= 10'd168;
           end  
       10'd168 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
		//		rs_r <= 1'b1; 
           next <= 10'd169;
           end
       10'd169 : if ( cntw == 24 'd500 ) begin //character_out 2column selected 0x40   update
		      en_r <= 1'b1;
           tsw <= 8'h00;
			//	tsw <= 8'hcc;
           cntw <= 24'h00;
           next <= 10'd170;
           end  
       10'd170 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
				rs_r <= 1'b1; 
           next <= 10'd171;
				
			//	next <= 10'd237;  //20/02/01
           end
				
	//2 2-1
       10'd171 : if ( cntw == 24 'd50 ) begin //character_out A
           en_r <= 1'b1;
       //    tsw <= 8'h20;
			//	  tsw <= 8'h31;
				tsw <= 8'h40;  
           cntw <= 24'h00;
           next <= 10'd172;
           end
       10'd172 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd173;
           end
	      10'd173 : if ( cntw == 24 'd50 ) begin //character_out A
           en_r <= 1'b1;
       //    tsw <= 8'h20;
			//	  tsw <= 8'h31;
				tsw <= 8'h10;  
           cntw <= 24'h00;
           next <= 10'd174;
           end
       10'd174 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd175;
           end
	//2 2-2			
       10'd175 : if ( cntw == 24 'd50 ) begin //character_out d
           en_r <= 1'b1;
        //   tsw <= 8'h20;
					  tsw <= 8'h60;
           cntw <= 24'h00;
           next <= 10'd176;
           end
       10'd176 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd177;
           end
       10'd177 : if ( cntw == 24 'd50 ) begin //character_out d
           en_r <= 1'b1;
        //   tsw <= 8'h20;
					  tsw <= 8'h40;
           cntw <= 24'h00;
           next <= 10'd178;
           end
       10'd178 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd179;
           end
	//2 2-3			
	     10'd179 : if ( cntw == 24 'd50 ) begin //character_out r
           en_r <= 1'b1;
       //    tsw <= 8'h20;
					  tsw <= 8'h70;
           cntw <= 24'h00;
           next <= 10'd180;
           end
       10'd180 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd181;
           end
	     10'd181 : if ( cntw == 24 'd50 ) begin //character_out r
           en_r <= 1'b1;
       //    tsw <= 8'h20;
					  tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 10'd182;
           end
       10'd182 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd183;
           end
				
	//2 2-4			
       10'd183 : if ( cntw == 24 'd50 ) begin //character_out space
           en_r <= 1'b1;
      //     tsw <= 8'h20;
					  tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 10'd185;
           end
       10'd185 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd186;
           end	
       10'd186 : if ( cntw == 24 'd50 ) begin //character_out space
           en_r <= 1'b1;
      //     tsw <= 8'h20;
					  tsw <= 8'h00;
           cntw <= 24'h00;
           next <= 10'd187;
           end
       10'd187 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd188;
           end
	// 2-5			
		  10'd188 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs4[15:8]
           en_r <= 1'b1;
      //     tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs4[15:12];
           cntw <= 24'h00;
           next <= 10'd189;
           end
       10'd189 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd190;
           end
		  10'd190 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs4[15:8]
           en_r <= 1'b1;
      //     tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs4[11:8];
           cntw <= 24'h00;
           next <= 10'd191;
           end
       10'd191 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd192;
           end
				
 //2 2-6
       10'd192 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs4[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs4[7:4];
           cntw <= 24'h00;
           next <= 10'd193;
           end
       10'd193 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd194;
           end		
       10'd194 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs4[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs4[3:0];
           cntw <= 24'h00;
           next <= 10'd195;
           end
       10'd195 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <=10'd196;
           end
	//2 2-7		
		  10'd196 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs3[15:8]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
					  tsw[7:4] <= chara_addrs3[15:12];
           cntw <= 24'h00;
           next <= 10'd197;
           end
       10'd197 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd198;
           end
		  10'd198 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs3[15:8]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
					  tsw[7:4] <= chara_addrs3[11:8];
           cntw <= 24'h00;
           next <= 10'd199;
           end
       10'd199 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd201;
           end
	//2 2-8			
       10'd201 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs3[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs3[7:4];
           cntw <= 24'h00;
           next <= 10'd202;
           end
       10'd202 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd203;
           end			
       10'd203 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs3[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw[7:4] <= chara_addrs3[3:0];
           cntw <= 24'h00;
           next <= 10'd204;
           end
       10'd204 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd205;
           end					
 //2 2-9
		 10'd205 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs2[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
				tsw[7:4] <= chara_addrs2[7:4];
           cntw <= 24'h00;
           next <= 10'd206;
           end
       10'd206 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd207;
           end
		 10'd207 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs2[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
				tsw[7:4] <= chara_addrs2[3:0];
           cntw <= 24'h00;
           next <= 10'd208;
           end
       10'd208 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd209;
           end
	//2 /2-10			
       10'd209 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs1[15:8]
           en_r <= 1'b1;
     //     tsw <= 8'h32;
				tsw[7:4] <= chara_addrs1[15:12];
           cntw <= 24'h00;
           next <= 10'd210;
           end
       10'd210 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd211;
           end	
       10'd211 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs1[15:8]
           en_r <= 1'b1;
     //     tsw <= 8'h32;
				tsw[7:4] <= chara_addrs1[11:8];
           cntw <= 24'h00;
           next <= 10'd212;
           end
       10'd212 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd213;
           end	
	//2 2-11			
		  10'd213 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h31;
				tsw[7:4] <= chara_addrs1[7:4];
           cntw <= 24'h00;
           next <= 10'd214;
           end
       10'd214 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd215;
           end		
		  10'd215 : if ( cntw == 24 'd50 ) begin //character_out chara_addrs1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h31;
				tsw[7:4] <= chara_addrs1[3:0];
           cntw <= 24'h00;
           next <= 10'd216;
           end
       10'd216 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd217;
           end		
	//2 2-12
		  10'd217 : if ( cntw == 24 'd50 ) begin //character_out space
           en_r <= 1'b1;
    
					tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 10'd218;
           end
      10'd218 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd219;
           end
		  10'd219 : if ( cntw == 24 'd50 ) begin //character_out space
           en_r <= 1'b1;
    
					tsw <= 8'h00;
           cntw <= 24'h00;
           next <= 10'd220;
           end
      10'd220 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd221;
           end
	//2 2-13			
       10'd221 : if ( cntw == 24 'd50 ) begin //character_out 0
           en_r <= 1'b1;
           tsw <= 8'h30;
		//		tsw <= character_hex4;
           cntw <= 24'h00;
           next <= 10'd222;
           end
       10'd222 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd223;
           end	
       10'd223 : if ( cntw == 24 'd50 ) begin //character_out 0
           en_r <= 1'b1;
           tsw <= 8'h00;
		//		tsw <= character_hex4;
           cntw <= 24'h00;
           next <= 10'd224;
           end
       10'd224 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd225;
           end	
	//2 2-14			78h
		  10'd225 : if ( cntw == 24 'd50 ) begin //character_out x
           en_r <= 1'b1;
         tsw <= 8'h70;
		//	   tsw <= character_hex3;
           cntw <= 24'h00;
           next <= 10'd226;
           end
       10'd226 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd227;
           end
		  10'd227 : if ( cntw == 24 'd50 ) begin //character_out x
           en_r <= 1'b1;
         tsw <= 8'h80;
		//	   tsw <= character_hex3;
           cntw <= 24'h00;
           next <= 10'd228;
           end
       10'd228 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd229;
           end
	//2 2-15			
       10'd229 : if ( cntw == 24 'd50 ) begin //character_out chara_data1[15:8]
           en_r <= 1'b1;
	//		   tsw <= 8'h45;
			   tsw[7:4] <= chara_data1[15:12];
           cntw <= 24'h00;
           next <= 10'd230;
           end
       10'd230 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd231;
           end
       10'd231 : if ( cntw == 24 'd50 ) begin //character_out chara_data1[15:8]
           en_r <= 1'b1;
	//		   tsw <= 8'h45;
			   tsw[7:4] <= chara_data1[11:8];
           cntw <= 24'h00;
           next <= 10'd232;
           end
       10'd232 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 10'd233;
           end
	//2 2-16			
	
		  10'd233 : if ( cntw == 24 'd50 ) begin //character_out chara_data1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h46;
			   tsw[7:4] <= chara_data1[7:4];
           cntw <= 24'h00;
           next <= 10'd234;
           end
       10'd234 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           
		//		rs_r<=1'b0;//10/31
				next <= 10'd235;
			//	   next <= 8'd94;
				end
		  10'd235 : if ( cntw == 24 'd50 ) begin //character_out chara_data1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h46;
			   tsw[7:4] <= chara_data1[3:0];
           cntw <= 24'h00;
           next <= 10'd236;
           end
       10'd236 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           
				rs_r<=1'b0;//10/31
				next <= 10'd237;
			//	   next <= 8'd94;
				end
				
    /*   8'd82 : if ( cntw == 24 'd500 ) begin
           rw_r <= 1'b0;
           rs_r <= 1'b0;
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'h83; //8'hxx
           end
				*/
		 /*8'd118 : if ( cntw == 24 'd500 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
				rs_r <= 1'b0; 
   //        next <= 8'd84;
				next <= 8'd119;   //10/28		
		end		*/
		 10'd237 : if ( cntw == 24 'd1500 ) begin //character_out 1column selected 0x00
		      en_r <= 1'b1;
          // tsw <= 8'hc0;
				tsw <= 8'h80;
           cntw <= 24'h00;
           next <= 10'd238;
           end
       10'd238 : if ( cntw == 24 'd1 ) begin
           rw_r <= 1'b0;
     //      rs_r <= 1'b0;
           en_r <= 1'b0;     
           cntw <= 24'h00;
				next <=10'd239;
			end
		 10'd239 : if ( cntw == 24 'd50 ) begin //character_out 1column selected 0x00
		      en_r <= 1'b1;
          // tsw <= 8'hc0;
				tsw <= 8'h00;
           cntw <= 24'h00;
           next <= 10'd240;
           end
       10'd240 : if ( cntw == 24 'd1 ) begin
           rw_r <= 1'b0;
           rs_r <= 1'b0;
           en_r <= 1'b0;     
           cntw <= 24'h00;
				next <=10'd241;
			end
			
		10'd241:if(cntw==24'd1 )begin//&& CUR !=4'b1000)begin
           next <= 10'd912;//83 22
			//end else begin
			//   next <=8'd15;
           end
			
					
       endcase
       end
end

/*

always @( posedge SHIFT_CLK ) begin
 //always @( posedge SHIFT_CLK or posedge EN) begin //10/31 
       if ( RST==1 'b0 ) begin
       rs_r <= 1'b0;
       rw_r <= 1'b0;
       en_r <= 1'b0;
      // tsw <= 8 'h00;
		  tsw <= 8 'h20;//11/1
       cntw <= 24 'h000000;
       next <= 8'd0;
		  end else if (cntw == 24 'h0cb735)begin
	//	    end else if (cntw == 24 'h000ccc)begin
       cntw <= 24 'h000000;
		  end else begin
		   cntw <= cntw + 1'b1;
		  
		  
		  
		  
		  
       case (next)
       8'd0 : if ( cntw == 24 'd50000 ) begin // all_0 & 50ms_wait
           rs_r <= 1'b0;
           rw_r <= 1'b0;
           en_r <= 1'b0;
           tsw <= 8'h0;
           cntw <= 24'h000000;
           next <= 8'd1;  
           end
       8'd1 : if ( cntw == 24 'd1 ) begin //8bit_mode
           en_r <= 1'b1;
           tsw <= 8'h30;
           cntw <= 24'h00;
           next <= 8'd2;
           end
       8'd2 : if ( cntw == 24 'd1 ) begin //en_hold_1us
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd3; 
           end
       8'd3 : if ( cntw == 24 'd5000 ) begin //8bit_mode & 5ms_wait
           en_r <= 1'b1;
           tsw <= 8'h30;
           cntw <= 24'h00;
           next <= 8'd4;
           end
       8'd4 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd5; 
           end
       8'd5 : if ( cntw == 24 'd1000 ) begin //8bit_mode & 1ms_wait
           en_r <= 1'b1;
           tsw <= 8'h30;
           cntw <= 24'h00;
           next <= 8'd6;
           end
       8'd6 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd7; 
           end
       8'd7 : if ( cntw == 24 'd5000 ) begin //Function set(8bit_mode & 2disp) & 5ms_wait
           en_r <= 1'b1;
			  tsw <= 8'h38;
           cntw <= 24'h00;
           next <= 8'd8;
           end
       8'd8 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd9; 
           end
       8'd9 : if ( cntw == 24 'd1000 ) begin //disp_clear
           en_r <= 1'b1;
           tsw <= 8'h01;
           cntw <= 24'h00;           
           next <= 8'd10;
           end
       8'd10 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd11; 
           end
       8'd11 : if ( cntw == 24 'd2000 ) begin //entrymode_on
           en_r <= 1'b1;
           tsw <= 8'h06;  
           cntw <= 24'h00;  
           next <= 8'd12;
           end
       8'd12 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
              next <= 8'd13;
           end
       8'd13 : if ( cntw == 24 'd1000 ) begin //disp_on & cursor_on & blink_on
           en_r <= 1'b1;
           tsw <= 8'h0F;
           cntw <= 24'h00;
           next <= 8'd14;
           end
       8'd14 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd15; 
           end            
       8'd15 : if ( cntw == 24 'd500 ) begin  //rs_enb
           rs_r <= 1'b1;
           cntw <= 24'h00;
			   next <= 8'd16;
           end
       8'd16 : if ( cntw == 24 'd1 ) begin //character_out w
           en_r <= 1'b1;
				tsw <= mode_lcd_disp[127:120];
           cntw <= 24'h00;
           next <= 8'd17;
           end
       8'd17 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd18;
           end
       8'd18 : if ( cntw == 24 'd500 ) begin //character_out r
           en_r <= 1'b1;
				tsw <= mode_lcd_disp[119:112];
           cntw <= 24'h00;
           next <= 8'd19;
           end
       8'd19 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd20;
           end
       8'd20 : if ( cntw == 24 'd500 ) begin //character_out r
           en_r <= 1'b1;
				tsw <= mode_lcd_disp[111:104];
           cntw <= 24'h00;
           next <= 8'd21;
           end
       8'd21 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd22;
           end
       8'd22 : if ( cntw == 24 'd500 ) begin //character_out space
           en_r <= 1'b1;
				tsw <= mode_lcd_disp[103:96];
           cntw <= 24'h00;
           next <= 8'd23;
           end
       8'd23 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd24;
           end
       8'd24 : if ( cntw == 24 'd500 ) begin //character_out 
           en_r <= 1'b1;
				tsw <= mode_lcd_disp[95:88];
           cntw <= 24'h00;
           next <= 8'd25;
           end
       8'd25 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd26;
           end
       8'd26 : if ( cntw == 24 'd500 ) begin //character_out c
           en_r <= 1'b1;
           tsw <= mode_lcd_disp[87:80];
           cntw <= 24'h00;
           next <= 8'd27;
           end
       8'd27 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd28;
           end
       8'd28 : if ( cntw == 24 'd500 ) begin //character_out o
           en_r <= 1'b1;
           tsw <= mode_lcd_disp[79:72];
           cntw <= 24'h00;
           next <= 8'd29;
           end
       8'd29 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd30;
           end
       8'd30 : if ( cntw == 24 'd500 ) begin //character_out u
           en_r <= 1'b1;
           tsw <= mode_lcd_disp[71:64];
           cntw <= 24'h00;
           next <= 8'd31;
           end
       8'd31 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd32;
           end
       8'd32 : if ( cntw == 24 'd500 ) begin //character_out n
           en_r <= 1'b1;
           tsw <= mode_lcd_disp[63:56];
           cntw <= 24'h00;
           next <= 8'd33;
           end
       8'd33 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd34;
           end
       8'd34 : if ( cntw == 24 'd500 ) begin //character_out t
           en_r <= 1'b1;
           tsw <= mode_lcd_disp[55:48];
           cntw <= 24'h00;
           next <= 8'd35;
           end
       8'd35 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd36;
           end
       8'd36 : if ( cntw == 24 'd500 ) begin //character_out 0
           en_r <= 1'b1;
           tsw <= mode_lcd_disp[47:40];
           cntw <= 24'h00;
           next <= 8'd37;
           end
       8'd37 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd38;
           end
				
       8'd38 : if ( cntw == 24 'd500 ) begin //character_out x
           en_r <= 1'b1;
           tsw <= mode_lcd_disp[39:32];
           cntw <= 24'h00;
           next <= 8'd39;
           end
       8'd39 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd40;
           end
       8'd40 : if ( cntw == 24 'd500 ) begin //character_out 0
           en_r <= 1'b1;
           tsw <= mode_lcd_disp[31:24];
           cntw <= 24'h00;
           next <= 8'd41;
           end
       8'd41 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd42;
           end
		  8'd42 : if ( cntw == 24 'd500 ) begin //character_out 6
           en_r <= 1'b1;
           tsw <= mode_lcd_disp[23:16];
           cntw <= 24'h00;
           next <= 8'd43;
           end
       8'd43 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd44;
           end
       8'd44 : if ( cntw == 24 'd500 ) begin //character_out 0
           en_r <= 1'b1;
 //          tsw <= mode_lcd_disp[15:8];
				tsw<=chara_datain[15:8];
           cntw <= 24'h00;
           next <= 8'd45;
           end
       8'd45 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd46;
           end
       8'd46 : if ( cntw == 24 'd500 ) begin //character_out 1
           en_r <= 1'b1;
 //          tsw <= mode_lcd_disp[7:0];
				tsw<=chara_datain[7:0];
           cntw <= 24'h00;
           next <= 8'd47;
           end
       8'd47 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
				rs_r <= 1'b0; 
           next <= 8'd48;
           end
				
		//2nd column start		
				
       8'd48 : if ( cntw == 24 'd500 ) begin ////////////////////character_out 2column selected 0x40 1rst
		      en_r <= 1'b1;
           tsw <= 8'hc0;
           cntw <= 24'h00;
           next <= 8'd49;
           end

       8'd49 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
				rs_r <= 1'b1; 
           next <= 8'd50;
           end
       8'd50 : if ( cntw == 24 'd500 ) begin //character_out A
           en_r <= 1'b1;
       //    tsw <= 8'h20;
			//	  tsw <= 8'h31;
				tsw <= 8'h41;  
           cntw <= 24'h00;
           next <= 8'd51;
           end
       8'd51 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd52;
           end
       8'd52 : if ( cntw == 24 'd500 ) begin //character_out d
           en_r <= 1'b1;
        //   tsw <= 8'h20;
					  tsw <= 8'h64;
           cntw <= 24'h00;
           next <= 8'd53;
           end
       8'd53 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd54;
           end
	     8'd54 : if ( cntw == 24 'd500 ) begin //character_out r
           en_r <= 1'b1;
       //    tsw <= 8'h20;
					  tsw <= 8'h72;
           cntw <= 24'h00;
           next <= 8'd55;
           end
       8'd55 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd56;
           end
       8'd56 : if ( cntw == 24 'd500 ) begin //character_out space
           en_r <= 1'b1;
      //     tsw <= 8'h20;
					  tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 8'd57;
           end
       8'd57 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd58;
           end			
		  8'd58 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs4[15:8]
           en_r <= 1'b1;
      //     tsw <= 8'h20;
			   tsw <= chara_addrs4[15:8];
           cntw <= 24'h00;
           next <= 8'd59;
           end
       8'd59 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd60;
           end
       8'd60 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs4[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw <= chara_addrs4[7:0];
           cntw <= 24'h00;
           next <= 8'd61;
           end
       8'd61 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd62;
           end			
		  8'd62 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs3[15:8]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
					  tsw <= chara_addrs3[15:8];
           cntw <= 24'h00;
           next <= 8'd63;
           end
       8'd63 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd64;
           end
       8'd64 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs3[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw <= chara_addrs3[7:0];
           cntw <= 24'h00;
           next <= 8'd65;
           end
       8'd65 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd66;
           end			
		  8'd66 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs2[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
				tsw <= chara_addrs2[7:0];
           cntw <= 24'h00;
           next <= 8'd67;
           end
       8'd67 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd68;
           end
       8'd68 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs1[15:8]
           en_r <= 1'b1;
     //      tsw <= 8'h32;
				tsw <= chara_addrs1[15:8];
           cntw <= 24'h00;
           next <= 8'd69;
           end
       8'd69 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd70;
           end		
		  8'd70 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h31;
				tsw <= chara_addrs1[7:0];
           cntw <= 24'h00;
           next <= 8'd71;
           end
       8'd71 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd72;
           end			
		  8'd72 : if ( cntw == 24 'd500 ) begin //character_out space
           en_r <= 1'b1;
    
					tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 8'd73;
           end
       8'd73 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd74;
           end
       8'd74 : if ( cntw == 24 'd500 ) begin //character_out 0
           en_r <= 1'b1;
           tsw <= 8'h30;
		//		tsw <= character_hex4;
           cntw <= 24'h00;
           next <= 8'd75;
           end
       8'd75 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd76;
           end			
		  8'd76 : if ( cntw == 24 'd500 ) begin //character_out x
           en_r <= 1'b1;
         tsw <= 8'h78;
		//	   tsw <= character_hex3;
           cntw <= 24'h00;
           next <= 8'd77;
           end
       8'd77 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd78;
           end
       8'd78 : if ( cntw == 24 'd500 ) begin //character_out chara_data1[15:8]
           en_r <= 1'b1;
	//		   tsw <= 8'h45;
			   tsw <= chara_data1[15:8];
           cntw <= 24'h00;
           next <= 8'd79;
           end
       8'd79 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd80;
           end			
		  8'd80 : if ( cntw == 24 'd500 ) begin //character_out chara_data1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h46;
			   tsw <= chara_data1[7:0];
           cntw <= 24'h00;
           next <= 8'd81;
           end
       8'd81 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd83;
			//	   next <= 8'd94;
				end
    /*   8'd82 : if ( cntw == 24 'd500 ) begin
           rw_r <= 1'b0;
           rs_r <= 1'b0;
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'h83; //8'hxx
           end
				
		 8'd83 : if ( cntw == 24 'd500 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
				rs_r <= 1'b0; 
   //        next <= 8'd84;
				next <= 8'd84;   //10/28
           end
       8'd84 : if ( cntw == 24 'd500 ) begin //character_out 2column selected 0x40   update
		      en_r <= 1'b1;
           tsw <= 8'hc0;
			//	tsw <= 8'hcc;
           cntw <= 24'h00;
           next <= 8'd85;
           end
		  
       8'd85 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
				rs_r <= 1'b1; 
           next <= 8'd86;
           end
       8'd86 : if ( cntw == 24 'd500 ) begin //character_out A
           en_r <= 1'b1;
       //    tsw <= 8'h20;
			//	  tsw <= 8'h31;
				tsw <= 8'h41;  
           cntw <= 24'h00;
           next <= 8'd87;
           end
       8'd87 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd88;
           end
       8'd88 : if ( cntw == 24 'd500 ) begin //character_out d
           en_r <= 1'b1;
        //   tsw <= 8'h20;
					  tsw <= 8'h64;
           cntw <= 24'h00;
           next <= 8'd89;
           end
       8'd89 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd90;
           end
	     8'd90 : if ( cntw == 24 'd500 ) begin //character_out r
           en_r <= 1'b1;
       //    tsw <= 8'h20;
					  tsw <= 8'h72;
           cntw <= 24'h00;
           next <= 8'd91;
           end
       8'd91 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd92;
           end
       8'd92 : if ( cntw == 24 'd500 ) begin //character_out space
           en_r <= 1'b1;
      //     tsw <= 8'h20;
					  tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 8'd93;
           end
       8'd93 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd94;
           end			
		  8'd94 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs4[15:8]
           en_r <= 1'b1;
      //     tsw <= 8'h20;
			   tsw <= chara_addrs4[15:8];
           cntw <= 24'h00;
           next <= 8'd95;
           end
       8'd95 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd96;
           end
       8'd96 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs4[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw <= chara_addrs4[7:0];
           cntw <= 24'h00;
           next <= 8'd97;
           end
       8'd97 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd98;
           end			
		  8'd98 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs3[15:8]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
					  tsw <= chara_addrs3[15:8];
           cntw <= 24'h00;
           next <= 8'd99;
           end
       8'd99 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd100;
           end
       8'd100 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs3[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
			   tsw <= chara_addrs3[7:0];
           cntw <= 24'h00;
           next <= 8'd101;
           end
       8'd101 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd102;
           end			
		  8'd102 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs2[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h20;
				tsw <= chara_addrs2[7:0];
           cntw <= 24'h00;
           next <= 8'd103;
           end
       8'd103 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd104;
           end
       8'd104 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs1[15:8]
           en_r <= 1'b1;
     //     tsw <= 8'h32;
				tsw <= chara_addrs1[15:8];
           cntw <= 24'h00;
           next <= 8'd105;
           end
       8'd105 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd106;
           end		
		  8'd106 : if ( cntw == 24 'd500 ) begin //character_out chara_addrs1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h31;
				tsw <= chara_addrs1[7:0];
           cntw <= 24'h00;
           next <= 8'd107;
           end
       8'd107 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd108;
           end			
		  8'd108 : if ( cntw == 24 'd500 ) begin //character_out space
           en_r <= 1'b1;
    
					tsw <= 8'h20;
           cntw <= 24'h00;
           next <= 8'd109;
           end
       8'd109 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd110;
           end
       8'd110 : if ( cntw == 24 'd500 ) begin //character_out 0
           en_r <= 1'b1;
           tsw <= 8'h30;
		//		tsw <= character_hex4;
           cntw <= 24'h00;
           next <= 8'd111;
           end
       8'd111 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd112;
           end			
		  8'd112 : if ( cntw == 24 'd500 ) begin //character_out x
           en_r <= 1'b1;
         tsw <= 8'h78;
		//	   tsw <= character_hex3;
           cntw <= 24'h00;
           next <= 8'd113;
           end
       8'd113 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd114;
           end
       8'd114 : if ( cntw == 24 'd500 ) begin //character_out chara_data1[15:8]
           en_r <= 1'b1;
	//		   tsw <= 8'h45;
			   tsw <= chara_data1[15:8];
           cntw <= 24'h00;
           next <= 8'd115;
           end
       8'd115 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'd116;
           end			
		  8'd116 : if ( cntw == 24 'd500 ) begin //character_out chara_data1[7:0]
           en_r <= 1'b1;
     //      tsw <= 8'h46;
			   tsw <= chara_data1[7:0];
           cntw <= 24'h00;
           next <= 8'd117;
           end
       8'd117 : if ( cntw == 24 'd1 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
           
				rs_r<=1'b0;//10/31
				next <= 8'd118;
			//	   next <= 8'd94;
				end
    /*   8'd82 : if ( cntw == 24 'd500 ) begin
           rw_r <= 1'b0;
           rs_r <= 1'b0;
           en_r <= 1'b0;     
           cntw <= 24'h00;
           next <= 8'h83; //8'hxx
           end
				*/
		 /*8'd118 : if ( cntw == 24 'd500 ) begin
           en_r <= 1'b0;     
           cntw <= 24'h00;
				rs_r <= 1'b0; 
   //        next <= 8'd84;
				next <= 8'd119;   //10/28		
		end		
		 8'd118 : if ( cntw == 24 'd500 ) begin //character_out 1column selected 0x00
		      en_r <= 1'b1;
          // tsw <= 8'hc0;
				tsw <= 8'h80;
           cntw <= 24'h00;
           next <= 8'd119;
           end
       8'd119 : if ( cntw == 24 'd500 ) begin
           rw_r <= 1'b0;
           rs_r <= 1'b0;
           en_r <= 1'b0;     
           cntw <= 24'h00;
				next <=8'd120;
			end
		8'd120:if(cntw==24'd1 )begin//&& CUR !=4'b1000)begin
           next <= 10'd15;//83 //15
			//end else begin
			//   next <=8'd15;
           end
			
					
       endcase
       end
end
*/

assign db = tsw; assign rw = rw_r; assign en = en_r; assign rs = rs_r;

endmodule