USE IEEE.std_logic_UNSIGNED.ALL;
library work;
use work.trb_net_std.all;
+use work.trb_net_components.all;
use work.trb_net16_hub_func.all;
entity trb_net16_hub_base is
INT_SLAVE_DATA_IN => hub_to_buf_INIT_DATA((i+1)*c_DATA_WIDTH-1 downto i*c_DATA_WIDTH),
INT_SLAVE_PACKET_NUM_IN => hub_to_buf_INIT_PACKET_NUM((i+1)*c_NUM_WIDTH-1 downto i*c_NUM_WIDTH),
INT_SLAVE_READ_OUT => hub_to_buf_INIT_READ(i),
+ CTRL_SEQNR_RESET => HC_COMMON_CTRL_REGS(10),
-- Status and control port
STAT_FIFO_TO_INT => open,
STAT_FIFO_TO_APL => open
next_state <= WAIT_FOR_HDR_DATA;
end if;
- when WAIT_FOR_REPLY =>
- if got_all_reply_starts = '1' then
- next_state <= WAIT_FOR_HDR_DATA;
- end if;
-
when WAIT_FOR_HDR_DATA => --start writing HDR when first reply is received, stop waiting for length
last_dhdr_addr <= "010";
case packet_counter is
INT_SLAVE_PACKET_NUM_IN : in std_logic_vector (c_NUM_WIDTH-1 downto 0);
INT_SLAVE_READ_OUT : out std_logic;
-- Status and control port
+ CTRL_SEQNR_RESET : in std_logic;
STAT_FIFO_TO_INT : out std_logic_vector(31 downto 0);
STAT_FIFO_TO_APL : out std_logic_vector(31 downto 0)
);
component trb_net16_hub_logic is
generic (
--media interfaces
- POINT_NUMBER : integer range 2 to c_MAX_POINTS_PER_HUB := 2
+ POINT_NUMBER : integer range 2 to 32 := 2
);
port (
CLK : in std_logic;
component trb_net_priority_arbiter is
generic (
- WIDTH : integer := POINT_NUMBER
+ WIDTH : integer := 1
);
port(
-- Misc