From 51c35c56c99b9bbad823cfe5aa8b85feaa4e7312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20=C3=96rtenberg?= Date: Tue, 22 Apr 2025 16:43:17 +0200 Subject: [PATCH] fixed valid out signal --- src/socbridge/socbridge_driver.vhd | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/socbridge/socbridge_driver.vhd b/src/socbridge/socbridge_driver.vhd index 0dcc2e1..1b824b0 100644 --- a/src/socbridge/socbridge_driver.vhd +++ b/src/socbridge/socbridge_driver.vhd @@ -57,12 +57,14 @@ begin comb_proc: process(ext_to_socbridge_driver, ip_to_socbridge_driver, st, controller_to_socbridge_driver, trans_st, - tx_sent_response, rx_received_response) + tx_sent_response, rx_received_response, + valid_out) variable curr_response_bits : std_logic_vector(4 downto 0); variable local_next_rx_transaction : transaction_t; variable local_next_tx_transaction : transaction_t; variable local_next_data_out : std_logic_vector(interface_inst.socbridge.payload_width - 1 downto 0); begin + -- DEFAULT VALUES -- Helpful Bindings -- next_rx_data_size <= 2 ** to_integer(unsigned(ext_to_socbridge_driver.payload(2 downto 0))); curr_response_bits := ext_to_socbridge_driver.payload(7 downto 3); @@ -418,6 +420,7 @@ begin st.socbridge_driver_to_ext_reg.parity <= next_parity_out; st.curr_tx_state <= next_tx_state; st.curr_rx_state <= next_rx_state; + valid_out <= '0'; case st.curr_tx_state is when IDLE => st.curr_tx_transaction <= next_tx_transaction; @@ -452,8 +455,8 @@ begin end if; when RX_HEADER => when RX_R_BODY => - socbridge_driver_to_ip.data <= st.ext_to_socbridge_driver_reg.data; valid_out <= '1'; + socbridge_driver_to_ip.data <= st.ext_to_socbridge_driver_reg.data; if st.rx_stage > 0 then st.rx_stage <= st.rx_stage - 1; end if;