if WB_SLAVE_IN.we = '0' then
WB_SLAVE_OUT.dat <= TX_DATA_IN;
WB_SLAVE_OUT.ack <= '1';
+ TX_READ_ACK <= '1';
end if;
elsif WB_SLAVE_IN.adr = x"00000003" then
if WB_SLAVE_IN.we = '0' then
- WB_SLAVE_OUT.dat <= TX_DATA_IN;
+ WB_SLAVE_OUT.dat <= TX_SIZE_DATA;
WB_SLAVE_OUT.ack <= '1';
+ TX_SIZE_ACK <= '1';
end if;
end if;
end if;
signal preload_word_tx_fifo : std_logic;
+signal tx_data_out : std_logic_vector(31 downto 0);
+
begin
-- from wishbone:
RX_DATA_RDY => rx_data_wr,
TX_READ_ACK => tx_rd_ack,
- TX_DATA_IN => tx_fifo_q,
+ TX_DATA_IN => tx_data_out,
TX_DATA_SIZE => tx_data_size_dca,
TX_READ_SIZE_ACK => tx_rd_size_ack,
dca_init_dataready <= '1' when (DCA_INIT_READ_IN = '1' and dissect_current_state = LOAD_TO_HUB) or
(dissect_current_state = WAIT_FOR_HUB)
else '0';
+
+tx_data_out <= x"00000000" when (dissect_current_state = IDLE)
+ else tx_fifo_q;
PACKET_NUM_PROC : process(CLK)
begin