From e2ebb6e7f217ae2a8ebd547700eb56a18057d2b6 Mon Sep 17 00:00:00 2001 From: Alexander Oh Date: Thu, 27 May 2010 01:09:20 +0200 Subject: [PATCH] fixed timing and registers --- src/pc_communication.vhd | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pc_communication.vhd b/src/pc_communication.vhd index 3490ea1..8c48088 100644 --- a/src/pc_communication.vhd +++ b/src/pc_communication.vhd @@ -38,6 +38,7 @@ architecture beh of pc_communication is signal get, get_next : std_logic; signal new_i, new_i_next : std_logic; signal tx_done_i, tx_done_i_next : std_logic; + signal tx_data_i, tx_data_i_next : std_logic_vector (7 downto 0); signal d_done_i : std_logic; signal s_done, s_done_next : std_logic; @@ -56,6 +57,7 @@ begin tx_new <= new_i; d_done_i <= d_done; tx_done_i_next <= tx_done; + tx_data <= tx_data_i; sync: process (sys_clk, sys_res_n) begin @@ -66,7 +68,7 @@ begin zeile <= 1; get <= '0'; new_i <= '0'; - tx_data <= "00000000"; + tx_data_i <= "00000000"; spalte_up <= '0'; tx_done_i <= '0'; s_done <= '0'; @@ -78,6 +80,7 @@ begin get <= get_next; new_i <= new_i_next; tx_done_i <= tx_done_i_next; + tx_data_i <= tx_data_i_next; spalte_up <= spalte_up_next; s_done <= s_done_next; if (char_en = '1') then @@ -110,6 +113,7 @@ begin s_done_next <= '0'; spalte_next <= spalte; zeile_next <= zeile; + tx_data_i_next <= tx_data_i; if spalte_up = '1' then if spalte = hspalte_max then @@ -135,7 +139,7 @@ begin char_en <= '1'; when FORWARD => char_en <= '0'; - tx_data <= char; + tx_data_i_next <= char; new_i_next <= '1'; if (tx_done_i = '1') then spalte_up_next <= '1'; -- 2.25.1