display/history: unnoetiges weg, kthx
authorBernhard Urban <lewurm@gmail.com>
Thu, 20 May 2010 01:14:42 +0000 (03:14 +0200)
committerBernhard Urban <lewurm@gmail.com>
Thu, 20 May 2010 01:14:42 +0000 (03:14 +0200)
src/display.vhd
src/history.vhd

index 55d07fca8a743d85b2985f0bcf14852f9e262649..ed8cac9a8e755afa053b2438b4a9e77982778b28 100644 (file)
@@ -26,7 +26,7 @@ entity display is
 end entity display;
 
 architecture beh of display is
-       type DISPLAY_STATE is (S_INIT, SIDLE, S_NEW_RESULT, S_NEW_INPUT, S_COUNTUP, S_GETCH,
+       type DISPLAY_STATE is (SIDLE, S_NEW_RESULT, S_NEW_INPUT, S_COUNTUP, S_GETCH,
        S_CR1, S_NL1, S_PUTCH1, S_PUTCH2, S_WAIT, S_NOP1);
        signal state_int, state_next : DISPLAY_STATE;
        signal d_zeile_int, d_zeile_next : hzeile;
@@ -46,7 +46,7 @@ begin
        begin
                if sys_res_n = '0' then
                        -- internal
-                       state_int <= S_INIT;
+                       state_int <= SIDLE;
                        istate_int <= (others => '0');
                        -- out
                        d_zeile_int <= (others => '0');
@@ -75,9 +75,8 @@ begin
                istate_next <= istate_int;
 
                case state_int is
-                       when S_INIT =>
-                               state_next <= SIDLE;
                        when SIDLE =>
+                               istate_next <= b"111"; -- default: immer wieder ins SIDLE;
                                if d_new_eingabe = '1' then
                                        state_next <= S_NEW_INPUT;
                                end if;
@@ -96,7 +95,7 @@ begin
                        when S_NL1 =>
                                if free = '0' then
                                        state_next <= S_WAIT;
-                                       istate_next <= b"111";
+                                       istate_next <= b"111"; -- => wieder nach SIDLE
                                end if;
                        when S_COUNTUP =>
                                state_next <= S_GETCH;
@@ -109,7 +108,6 @@ begin
                        when S_PUTCH2 =>
                                if free = '0' or (free = '1' and d_char = x"00") then
                                        state_next <= S_WAIT;
-                                       istate_next <= b"111";
                                end if;
                        when S_WAIT =>
                                if free = '1' and d_done = '0' then
@@ -136,9 +134,6 @@ begin
                command_data_next <= command_data_int;
 
                case state_int is
-                       when S_INIT =>
-                               d_spalte_next <= (others => '0');
-                               d_zeile_next <= (others => '0');
                        when SIDLE =>
                                null;
                        when S_NEW_INPUT =>
index ae5d2e9a0fb20d5919219ec8c98faa23840e2d2a..08b035904f5fae303825cae44c3214d7ed2fa9c4 100644 (file)
@@ -33,7 +33,7 @@ end entity history;
 
 architecture beh of history is
        type HISTORY_STATE is (SIDLE, S_S_INIT, S_S_WRITE, S_S_BS, S_S_DONE, S_S_FIN,
-               S_D_INIT, S_D_WAIT, S_D_WRITE);
+               S_D_INIT, S_D_WRITE);
        signal state_int, state_next : HISTORY_STATE;
        signal s_done_int, s_done_next : std_logic;
        signal s_cnt_int, s_cnt_next : hspalte;
@@ -127,8 +127,6 @@ begin
                                end if;
 
                        when S_D_INIT =>
-                               state_next <= S_D_WAIT;
-                       when S_D_WAIT =>
                                state_next <= S_D_WRITE;
                        when S_D_WRITE =>
                                if d_get = '0' then
@@ -182,8 +180,6 @@ begin
                                address_next <= d_spalte;
                                d_new_eingabe_next <= '0';
                                d_new_result_next <= '0';
-                       when S_D_WAIT =>
-                               null;
                        when S_D_WRITE =>
                                d_char_next <= data_out;
                                d_done_next <= '1';