--test data
type state_type_test_data is (idle_state_test_data, send_data_with_valid_test_data,
- send_data_with_valid_next_test_data,
send_data_with_valid_next_test_data,
check_dataword_number_test_data,
send_token_state_test_data);
if A_DST_IN = '1' and A_AOD_IN = '1' then
-- next_state <= save_L_word_state_next;
next_state <= wait_1_state;
--- elsif TOKEN_IN = x"1" then --token and NO data
--- next_state <= send_token_state_2;
+ elsif TOKEN_IN = x"1" then --token and NO data
+ next_state <= send_token_state_1;
-- elsif TOKEN_IN = x"2" then --NO token and NO data
-- next_state <= send_token_state_3;
end if;
when send_data_state_fsm_multiplexer =>
next_ipu_data <= fee_data_fifo_out_i(31 downto 0);
next_ipu_dataready <= fee_data_fifo_data_valid;
- read_fee_data_fifo <= IPU_READ_IN or not fee_data_fifo_data_valid;
+ read_fee_data_fifo <= IPU_READ_IN or (not fee_data_fifo_data_valid and not last_read_fee_data_fifo);
if (empty_flag_fee_data_fifo_i = '1' and last_read_fee_data_fifo = '0' and fee_data_fifo_data_valid = '0')
or ( fee_data_fifo_out_i(35 downto 32) /= reg_flag_in_header and fee_data_fifo_data_valid = '1') then