reg [19:0] cnt;
reg [3:0] sum;
reg [4:0] num;
reg [3:0] temp;
always @(posedge clk)
begin
cnt <= cnt+1;
num <= num+1;
if(num==20)
begin
num <= 0;
temp <= temp+1;
if(temp==15)
begin
temp <= 0;
end
end
if(cnt==500000)
begin
cnt <= 0;
sum = sum+1;
if(sum==15)
begin
sum = 6;
end
end
end
always @(sum,temp)
begin
case(sum)
4'd3 :
begin
rs <= 0;
rw <= 0;
en <= 1;
if(temp==1)
begin
date<= 8'h38;
end
if(temp==10)
begin
en <= 0;
end
end
4'd4 :
begin
rs <= 0;
rw <= 0;
en <= 1;
if(temp==1)
begin
date<= 8'h38;
end
if(temp==10)
begin
en <= 0;
end
end
4'd5 :
begin
rs <= 0;
rw <= 0;
en <= 1;
if(temp==1)
begin
date= 8'h38;
date= 8'h38;
date= 8'h08;
date= 8'h01;
date= 8'h04;
date= 8'h0c;
end
if(temp==10)
begin
en <= 0;
end
end
4'd6 :
begin
rs <= 0;
rw <= 0;
en <= 1;
if(temp==1)
begin
date<= 8'h81;
end
if(temp==10)
begin
en <= 0;
end
end
4'd7 :
begin
rs <= 1;
rw <= 0;
en <= 1;
if(temp==1)
begin
date<= 8'h41;
end
if(temp==10)
begin
en <= 0;
end
end
default :
begin
rs <= 1;
rw <= 1;
en <= 0;
end
endcase
end
endmodule