X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpc_communication.vhd;h=3251284a4ca13c926e7bbed69d2220e0d00ccb3c;hb=ddab1a2d21f4682c48f7ccc4ef1e3eb465e73f71;hp=53ca2150cf5b2dc3492504455ee9b0a2f8914ad3;hpb=dc3a6d0603e85651f3df61aa52c19f29d64c24af;p=hwmod.git diff --git a/src/pc_communication.vhd b/src/pc_communication.vhd index 53ca215..3251284 100644 --- a/src/pc_communication.vhd +++ b/src/pc_communication.vhd @@ -36,6 +36,7 @@ architecture beh of pc_communication is signal zeile , zeile_next : hzeile; signal spalte_up, spalte_up_next : std_logic; signal get, get_next : std_logic; + signal new_i, new_i_next : std_logic; signal char, char_next : hbyte; signal char_en : std_logic; @@ -48,6 +49,8 @@ begin d_zeile <= zeile; d_spalte <= spalte; d_get <= get; + char_next <= d_char; + tx_new <= new_i; sync: process (sys_clk, sys_res_n) begin @@ -59,7 +62,7 @@ begin zeile <= "0000000"; zeile_next <= "0000000"; get <= '0'; - tx_new <= '0'; + new_i <= '0'; tx_data <= "00000000"; elsif rising_edge(sys_clk) then push_history <= push_history_next; @@ -67,8 +70,9 @@ begin zeile <= zeile_next; state <= state_next; get <= get_next; + new_i <= new_i_next; if (char_en = '1') then - state <= state_next; + char <= char_next; end if; end if; end process sync; @@ -111,9 +115,10 @@ begin output_pc : process (state, zeile, spalte, char) begin get_next <= '0'; + new_i_next <= '0'; spalte_next <= "0000000"; zeile_next <= "0000000"; - case state is + case state is when IDLE => null; when FETCH => @@ -122,7 +127,7 @@ begin when FORWARD => char_en <= '0'; tx_data <= char; - tx_new <= '1'; + new_i_next <= '1'; when DONE => null; end case; @@ -135,7 +140,7 @@ begin when IDLE => if rx_new = '1' or btn_a = '1' then state_next <= FETCH; - char <= d_char; --latch + end if; when FETCH => if (d_done = '1') then