architecture behav of extension_lcd_8 is
constant CLK_Divide : integer := 16;
+constant LCD_Delay : std_logic_vector(19 downto 0) := x"3fffe";
+--constant LCD_Delay : std_logic_vector(19 downto 0) := x"0000e"; -- for simulation
--w1_st_co(0) == 1 => ready for data
--w1_st_co(1) == 1 => setup finished
end if;
when DO_WAIT =>
- if lcd_set_delay < x"3fffe" then
+ if lcd_set_delay < LCD_Delay then
lcd_set_delay_nxt <= lcd_set_delay + 1;
else
lcd_set_delay_nxt <= (others => '0');
end if;
when DO_WAIT =>
- if lcd_set_delay < x"3fffe" then
+ if lcd_set_delay < LCD_Delay then
lcd_set_delay_nxt <= lcd_set_delay + 1;
else
lcd_set_delay_nxt <= (others => '0');
lcd_done_nxt <= '1';
lcd_count_nxt <= 0;
lcd_st_nxt <= "00";
+ when others => null;
end case;
when "100" => lcd_rom_data <= x"001";
when "101" => lcd_rom_data <= x"006";
when "110" => lcd_rom_data <= x"080";
+ when "111" => lcd_rom_data <= x"13C";
when others => lcd_rom_data <= x"0b0"; --goto 0,0
-- Line 1
--when "000111" => lcd_rom_data <= x"120"; -- Welcome to the