2 use ieee.std_logic_1164.all;
3 use ieee.numeric_std.all;
5 use work.textmode_vga_component_pkg.all;
6 use work.textmode_vga_pkg.all;
7 use work.textmode_vga_platform_dependent_pkg.all;
8 use work.ps2_keyboard_controller_pkg.all;
9 use work.debounce_pkg.all;
10 use work.sync_pkg.all;
14 sys_clk : in std_logic;
15 sys_res_n : in std_logic;
21 vsync_n : out std_logic;
22 hsync_n : out std_logic;
23 r : out std_logic_vector(RED_BITS - 1 downto 0);
24 g : out std_logic_vector(GREEN_BITS - 1 downto 0);
25 b : out std_logic_vector(BLUE_BITS - 1 downto 0);
27 ps2_clk : inout std_logic;
28 ps2_data : inout std_logic
32 architecture top of calc is
34 signal new_data : std_logic;
35 signal data : std_logic_vector(7 downto 0);
37 signal vga_clk, free : std_logic;
39 signal command : std_logic_vector(COMMAND_SIZE - 1 downto 0);
40 signal command_data : std_logic_vector(3 * COLOR_SIZE + CHAR_SIZE -1 downto 0);
42 signal d_new_eingabe, d_new_result, d_new_bs : std_logic;
43 signal d_zeile : hzeile;
44 signal d_spalte : hspalte;
45 signal d_get, d_done : std_logic;
46 signal d_char : hbyte;
48 signal s_char : hbyte;
49 signal s_take, s_done, s_backspace : std_logic;
51 signal p_rget : std_logic;
52 signal p_rdone : std_logic;
53 signal p_read : hbyte;
54 signal p_wtake : std_logic;
55 signal p_wdone : std_logic;
56 signal p_write : hbyte;
57 signal p_finished : std_logic;
59 signal do_it, finished : std_logic;
61 signal sys_res_n_sync : std_logic;
64 textmode_vga_inst : entity work.textmode_vga(struct)
66 VGA_CLK_FREQ => 25000000,
67 BLINK_INTERVAL_MS => 500,
72 sys_res_n => sys_res_n_sync,
74 command_data => command_data,
77 vga_res_n => sys_res_n_sync,
86 vpll_inst : entity work.vpll(syn)
93 display_inst : entity work.display(beh)
96 sys_res_n => sys_res_n_sync,
98 d_new_eingabe => d_new_eingabe,
99 d_new_result => d_new_result,
100 d_new_bs => d_new_bs,
102 d_spalte => d_spalte,
108 command_data => command_data,
113 history_inst : entity work.history(beh)
116 sys_res_n => sys_res_n_sync,
121 s_backspace => s_backspace,
123 d_new_eingabe => d_new_eingabe,
124 d_new_result => d_new_result,
125 d_new_bs => d_new_bs,
127 d_spalte => d_spalte,
138 p_finished => p_finished
142 parser_inst : entity work.parser(beh)
145 sys_res_n => sys_res_n_sync,
153 p_finished => p_finished,
160 scanner_inst : entity work.scanner(beh)
163 sys_res_n => sys_res_n_sync,
165 new_data => new_data,
171 s_backspace => s_backspace,
178 ps2_inst : entity work.ps2_keyboard_controller(beh)
180 CLK_FREQ => 33330000,
185 sys_res_n => sys_res_n_sync,
187 new_data => new_data,
193 -- debouncer fuer sys_res_n
194 sys_res_n_debounce_inst : debounce
196 CLK_FREQ => 33330000,
204 data_in => sys_res_n,
205 data_out => sys_res_n_sync
207 end architecture top;