signal send_trm, next_send_trm : std_logic;
signal buf_INT_DATAREADY_OUT, next_INT_DATAREADY_OUT : std_logic;
signal buf_INT_DATA_OUT, next_INT_DATA_OUT : std_logic_vector(c_DATA_WIDTH-1 downto 0);
+ signal next_seqnr, seqnr : std_logic_vector(7 downto 0);
begin
next_TRG_NUMBER_OUT(15 downto 0) <= INT_DATA_IN(15 downto 0);
elsif INT_PACKET_NUM_IN = c_F3 then
next_TRG_TYPE_OUT <= INT_DATA_IN(3 downto 0);
+ next_seqnr <= INT_DATA_IN(11 downto 4);
next_TRG_RECEIVED_OUT <= '1';
end if;
end if;
next_INT_DATA_OUT <= buf_INT_DATA_OUT;
if (reg_TRG_RECEIVED_OUT = '1' and (TRG_RELEASE_IN = '1' or USE_TRG_PORT = 0)) or send_trm = '1' then
--- if (reg_APL_GOT_TRM = '1' and (APL_RELEASE_TRM = '1' )) or send_trm = '1' or 0 = 0 then
--next_transfer_counter is used for transmission!
if transfer_counter = c_F3_next and INT_READ_IN = '1' then
next_send_trm <= '0';
next_INT_DATA_OUT <= buf_TRG_ERROR_PATTERN_IN(15 downto 1) & '1';
else
next_INT_DATA_OUT <= (others => '0');
- next_INT_DATA_OUT(11 downto 4) <= reg_TRG_NUMBER_OUT(7 downto 0);
+ next_INT_DATA_OUT(11 downto 4) <= seqnr;
end if;
end if;
if (TRG_RELEASE_IN = '1' and reg_TRG_RECEIVED_OUT = '1') or USE_TRG_PORT = c_NO then
reg_TRG_TYPE_OUT <= next_TRG_TYPE_OUT;
reg_TRG_CODE_OUT <= next_TRG_CODE_OUT;
reg_TRG_INFORMATION_OUT <= next_TRG_INFORMATION_OUT;
+ seqnr <= next_seqnr;
end if;
end if;
end process;