2 use ieee.std_logic_1164.all;
3 use ieee.numeric_std.all;
8 sys_clk : in std_logic;
9 sys_res_n : in std_logic;
14 s_take : in std_logic;
15 s_done : out std_logic;
16 s_backspace : in std_logic;
18 d_new_eingabe : out std_logic;
19 d_new_result : out std_logic;
21 d_spalte : in hspalte;
23 d_done : out std_logic;
30 finished : out std_logic
34 architecture beh of history is
35 type HISTORY_STATE is (SIDLE);
36 signal state_int, state_next : HISTORY_STATE;
37 signal s_done_int, s_done_next : std_logic;
38 signal d_new_eingabe_int, d_new_eingabe_next : std_logic;
39 signal d_new_result_int, d_new_result_next : std_logic;
40 signal d_done_int, d_done_next : std_logic;
41 signal d_char_int, d_char_next : hbyte;
43 signal finished_int, finished_next : std_logic;
46 d_new_eingabe <= d_new_eingabe_int;
47 d_new_result <= d_new_result_int;
51 finished <= finished_int;
53 process(sys_clk, sys_res_n)
55 if sys_res_n = '0' then
60 d_new_result_int <= '0';
61 d_new_eingabe_int <= '0';
63 d_char_int <= (others => '0');
66 elsif rising_edge(sys_clk) then
68 state_int <= state_next;
70 s_done_int <= s_done_next;
71 d_new_result_int <= d_new_result_next;
72 d_new_eingabe_int <= d_new_eingabe_next;
73 d_done_int <= d_done_next;
74 d_char_int <= d_char_next;
76 finished_int <= finished_next;
83 state_next <= state_int;