X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=cpu%2Fsrc%2Fextension_uart_b.vhd;h=bf29728f6ee4024a393425f44deec36084a9a56a;hb=4d230c21bb8c9c23c3dd3349f8736b84987eab0d;hp=95e761b84b9f1673b0b2274f0d06cd9b230ff015;hpb=2d98d2f7b3eaa3afc1cc264725b2596184f1e6e3;p=calu.git diff --git a/cpu/src/extension_uart_b.vhd b/cpu/src/extension_uart_b.vhd index 95e761b..bf29728 100644 --- a/cpu/src/extension_uart_b.vhd +++ b/cpu/src/extension_uart_b.vhd @@ -63,11 +63,17 @@ end process syn; -------------------------- LESEN UND SCHREIBEN ANFANG ------------------------------------------------------------ -gwriten : process (ext_reg,tx_rdy) +gwriten : process (ext_reg,tx_rdy,w1_st_co,w2_uart_config,w3_uart_send,w4_uart_receive,tx_rdy_int) variable tmp_data : gp_register_t; begin + + w1_st_co_nxt <= w1_st_co; + w2_uart_config_nxt <= w2_uart_config; + w3_uart_send_nxt <= w3_uart_send; + w4_uart_receive_nxt <= w4_uart_receive; + if ext_reg.sel = '1' and ext_reg.wr_en = '1' then tmp_data := (others =>'0'); if ext_reg.byte_en(0) = '1' then @@ -95,11 +101,6 @@ begin w4_uart_receive_nxt <= tmp_data; when others => null; end case; - else - w1_st_co_nxt <= w1_st_co; - w2_uart_config_nxt <= w2_uart_config; - w3_uart_send_nxt <= w3_uart_send; - w4_uart_receive_nxt <= w4_uart_receive; end if; if tx_rdy = '1' and tx_rdy_int = '0' then @@ -108,7 +109,7 @@ begin end process gwriten; -gread : process (clk,ext_reg) +gread : process (clk,ext_reg,w1_st_co,w2_uart_config,w3_uart_send,w4_uart_receive) variable tmp_data : gp_register_t; @@ -187,7 +188,7 @@ end process gread; -------------------------- INTERNE VERARBEITUNG ANFANG ------------------------------------------------------------ -dataprocess : process (ext_reg,tx_rdy) +dataprocess : process (ext_reg,tx_rdy,w2_uart_config) begin