API_TYPE => API_TYPE,
FIFO_TO_INT_DEPTH => FIFO_TO_INT_DEPTH,
FIFO_TO_APL_DEPTH => FIFO_TO_APL_DEPTH,
- USE_REPLY_CHANNEL => c_USE_REPLY_CHANNEL(DAT_CHANNEL),
- FORCE_REPLY => c_FORCE_REPLY(DAT_CHANNEL),
+ USE_REPLY_CHANNEL => cfg_USE_REPLY_CHANNEL(DAT_CHANNEL),
+ FORCE_REPLY => cfg_FORCE_REPLY(DAT_CHANNEL),
SBUF_VERSION => SBUF_VERSION
)
port map (
API_TYPE => API_TYPE,
FIFO_TO_INT_DEPTH => FIFO_TO_INT_DEPTH,
FIFO_TO_APL_DEPTH => FIFO_TO_APL_DEPTH,
- USE_REPLY_CHANNEL => c_USE_REPLY_CHANNEL(DAT_CHANNEL),
- FORCE_REPLY => c_FORCE_REPLY(DAT_CHANNEL),
+ USE_REPLY_CHANNEL => cfg_USE_REPLY_CHANNEL(DAT_CHANNEL),
+ FORCE_REPLY => cfg_FORCE_REPLY(DAT_CHANNEL),
SBUF_VERSION => SBUF_VERSION
)
port map (
REPLY_DEPTH => REPLY_DEPTH,
IBUF_SECURE_MODE => IBUF_SECURE_MODE,
SBUF_VERSION => SBUF_VERSION,
- USE_ACKNOWLEDGE => c_USE_ACKNOWLEDGE(DAT_CHANNEL),
- USE_REPLY_CHANNEL => c_USE_REPLY_CHANNEL(DAT_CHANNEL),
+ USE_ACKNOWLEDGE => cfg_USE_ACKNOWLEDGE(DAT_CHANNEL),
+ USE_REPLY_CHANNEL => cfg_USE_REPLY_CHANNEL(DAT_CHANNEL),
INIT_CAN_SEND_DATA => INIT_CAN_SEND_DATA,
REPLY_CAN_SEND_DATA => REPLY_CAN_SEND_DATA
)
if MED_PACKET_NUM_IN = "10" then
next_rec_buffer_size_out <= MED_DATA_IN(3 downto 0);
end if;
- else
- if fifo_full = '0' then
- fifo_write <= '1';
- else
+ elsif not (current_packet_type = TYPE_ILLEGAL) then
+ fifo_write <= '1';
+ if fifo_full = '1' then
next_error_state <= GOT_OVERFLOW_ERROR;
end if;
--- elsif is_locked = '1' then
--- next_error_state <= GOT_LOCKED_ERROR;
end if;
end if;
if fifo_full = '0' then
end process;
---BUGBUG HDR retransmit needed
+--BUGBUG HDR retransmit needed -> not here but in HUB
release_locked <= CTRL_LOCKED(0);
STAT_LOCKED(0) <= is_locked;
constant std_IBUF_SECURE_MODE : integer := c_SECURE_MODE;
constant std_USE_ACKNOWLEDGE : integer := c_YES;
constant std_USE_REPLY_CHANNEL: integer := c_YES;
- constant std_FIFO_DEPTH : integer := c_SMALL;
+ constant std_FIFO_DEPTH : integer := c_FIFO_SMALL;
constant std_DATA_COUNT_WIDTH : integer := 5; --max 7
constant std_TERM_SECURE_MODE : integer := c_NO;
constant std_MUX_SECURE_MODE : integer := c_NO;