X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fbeh_history_tb.vhd;h=87115c724c2ed37b7ed3faa0634838bea4ee4250;hb=5198223f6d43e915eed4be1d0bbbbc7f908ef6b1;hp=45712266385ac9e74c85092135fa50b5fbd70063;hpb=34190ffd9a15162c9f87dfd802ec33f472a43783;p=hwmod.git diff --git a/src/beh_history_tb.vhd b/src/beh_history_tb.vhd index 4571226..87115c7 100644 --- a/src/beh_history_tb.vhd +++ b/src/beh_history_tb.vhd @@ -38,6 +38,16 @@ architecture sim of beh_history_tb is signal p_finished : std_logic; -- parser/scanner signal do_it, finished : std_logic; + --uart_tx + signal tx_data : std_logic_vector(7 downto 0); + signal tx_new, tx_done, txd : std_logic; + --pc_communication + signal pc_zeile : hzeile; + signal pc_spalte : hspalte; + signal pc_get, pc_done : std_logic; + signal pc_char : hbyte; + --dummy button + signal btn_a_int : std_logic; signal stop : boolean := false; begin @@ -67,7 +77,13 @@ begin p_wtake => p_wtake, p_wdone => p_wdone, p_write => p_write, - p_finished => p_finished + p_finished => p_finished, + -- PC-komm + pc_get => pc_get, + pc_spalte => pc_spalte, + pc_zeile => pc_zeile, + pc_char => pc_char, + pc_done => pc_done ); -- display @@ -125,7 +141,38 @@ begin do_it => do_it, finished => finished ); + --uart_tx + inst_uart : entity work.uart_tx(beh) + port map ( + sys_clk => sys_clk, + sys_res_n => sys_res_n, + txd => txd, + tx_data =>tx_data, + tx_new => tx_new, + tx_done => tx_done + ); + --pc_communication + inst_pc_com : entity work.pc_communication(beh) + port map( + sys_clk => sys_clk, + sys_res_n => sys_res_n, + --button + btn_a => btn_a_int, + --uart_tx + tx_data => tx_data, + tx_new => tx_new, + tx_done => tx_done, + --uart_rx + rx_data => (others => '0'), + rx_new => '0', + -- History + pc_zeile => pc_zeile, + pc_spalte => pc_spalte, + pc_get => pc_get, + pc_done => pc_done, + pc_char => pc_char + ); process begin @@ -256,8 +303,21 @@ begin report "=================="; end loop f_loop; - icwait(sys_clk, 850); + -- uart ist ziemlich langsam... + icwait(sys_clk, 1000000000); stop <= true; wait; end process; + + btn_pressed : process is + begin + btn_a_int <= '1'; + wait until sys_res_n = '1'; + icwait(sys_clk, 50000); + wait until rising_edge(sys_clk); + btn_a_int <= '0'; + wait for 30 ns; + btn_a_int <= '1'; + wait; + end process btn_pressed; end architecture sim;