next_APL_TYP_OUT <= fifo_to_apl_data_out(TYPE_POSITION);
process (out_select, combined_header, registered_trailer,
- fifo_to_int_data_out)
+ fifo_to_int_data_out, combined_trailer)
begin
if out_select = HDR then
next_INT_INIT_DATA_OUT(TYPE_POSITION) <= TYPE_HDR;
CTRL_LOCKED: in STD_LOGIC_VECTOR (31 downto 0);
STAT_CTRL_INIT_BUFFER: in STD_LOGIC_VECTOR (31 downto 0);
STAT_CTRL_REPLY_BUFFER: in STD_LOGIC_VECTOR (31 downto 0);
- MPLEX_CTRL: in STD_LOGIC_VECTOR (31 downto 0)
+ MPLEX_CTRL: in STD_LOGIC_VECTOR (31 downto 0);
+ API_STAT_FIFO_TO_INT: out std_logic_vector(31 downto 0);
+ API_STAT_FIFO_TO_APL: out std_logic_vector(31 downto 0)
);
END trb_net_active_apimbuf;
INT_REPLY_DATAREADY_IN: in STD_LOGIC;
INT_REPLY_DATA_IN: in STD_LOGIC_VECTOR (50 downto 0); -- Data word
- INT_REPLY_READ_OUT: out STD_LOGIC
+ INT_REPLY_READ_OUT: out STD_LOGIC;
-- Status and control port
- -- not needed now, but later
+ STAT_FIFO_TO_INT: out std_logic_vector(31 downto 0);
+ STAT_FIFO_TO_APL: out std_logic_vector(31 downto 0)
);
END component;
INT_REPLY_DATAREADY_IN => buf_to_apl_REPLY_DATAREADY,
INT_REPLY_DATA_IN => buf_to_apl_REPLY_DATA,
- INT_REPLY_READ_OUT => buf_to_apl_REPLY_READ
+ INT_REPLY_READ_OUT => buf_to_apl_REPLY_READ,
-- Status and control port
- -- not needed now, but later
+ STAT_FIFO_TO_INT => api_stat_fifo_to_int,
+ STAT_FIFO_TO_APL => api_stat_fifo_to_apl
);
STAT_api_control_signals(2 downto 0) <= APL_DATA_IN(2 downto 0);
STAT_api_control_signals(3) <= APL_WRITE_IN;
STAT_api_control_signals(4) <= APL_SEND_IN;
-STAT_api_control_signals(7 downto 5) <= "000";
+STAT_api_control_signals(7 downto 5) <= (others => '0');
STAT_api_control_signals(10 downto 8) <= apl_to_buf_INIT_DATA(2 downto 0);
STAT_api_control_signals(11) <= apl_to_buf_INIT_DATAREADY;
STAT_api_control_signals(12) <= apl_to_buf_INIT_READ;
--first 56bit via Bus are for dataword, transmitted Bits 64 downto 56 Bits
--are for debugging
---parity bit is not used for parity but as an indicator for the first packet
---of a transmission
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
constant TYPE_ACK : std_logic_vector(2 downto 0) := "101";
constant TYPE_ILLEGAL : std_logic_vector(2 downto 0) := "111";
- constant ERROR_OK : std_logic_vector(2 downto 0) := "000"; --transmission ok
- constant ERROR_ENC : std_logic_vector(2 downto 0) := "001"; --transmission error by encoding
- constant ERROR_REC : std_logic_vector(2 downto 0) := "010"; --transmission error, reconstructed
- constant ERROR_FAT : std_logic_vector(2 downto 0) := "011"; --transmission error, fatal
- constant ERROR_NC : std_logic_vector(2 downto 0) := "101"; --media not connected
+ constant ERROR_OK : std_logic_vector(2 downto 0) := "000"; --transmission ok
+ constant ERROR_ENCOD : std_logic_vector(2 downto 0) := "001"; --transmission error by encoding
+ constant ERROR_RECOV : std_logic_vector(2 downto 0) := "010"; --transmission error, reconstructed
+ constant ERROR_FATAL : std_logic_vector(2 downto 0) := "011"; --transmission error, fatal
+ constant ERROR_NC : std_logic_vector(2 downto 0) := "101"; --media not connected
subtype F1_POSITION is integer range 47 downto 32;
subtype F2_POSITION is integer range 31 downto 16;
fifo_term_buffer_empty, fifo_term_buffer_data_out,
INT_READ_IN, tb_registered_target,
reg_APL_DTYPE_OUT, reg_APL_ERROR_PATTERN_OUT,
- reg_APL_SEQNR_OUT, reg_APL_GOT_TRM)
+ reg_APL_SEQNR_OUT, reg_APL_GOT_TRM,APL_MY_ADDRESS_IN,
+ APL_HOLD_TRM, APL_DTYPE_IN, APL_ERROR_PATTERN_IN)
begin -- process
INT_READ_OUT <= '0';
fifo_term_buffer_data_in(TYPE_POSITION) <= TYPE_ILLEGAL;