--Address settings
constant INIT_ADDRESS : std_logic_vector := x"F3CC";
- constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"60";
+ constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"68";
--set to 0 for backplane serdes, set to 3 for front SFP serdes
constant SERDES_NUM : integer := 3;
constant INCLUDED_FEATURES : std_logic_vector(63 downto 0) := generateIncludedFeatures;
-end package body;
\ No newline at end of file
+end package body;
--Address settings
constant INIT_ADDRESS : std_logic_vector := x"F3CE";
- constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"61";
+ constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"61"; --61 with GbE, 60 without
constant INCLUDE_UART : integer := c_YES;
constant TRIG_GEN_OUTPUT_NUM : integer := 4;
constant MONITOR_INPUT_NUM : integer := 22;
- constant INCLUDE_GBE : integer := c_YES;
+ constant INCLUDE_GBE : integer := c_NO;
------------------------------------------------------------------------------
--Address settings
constant INIT_ADDRESS : std_logic_vector := x"F3C0";
- constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"61";
+ constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"62"; --62 for SFP, 63 for backplane
constant INCLUDE_UART : integer := c_YES;
-- 0: KEL on board
-- 1: Canadian
constant NUM_TDC_MODULES : integer range 1 to 4 := 1; -- number of tdc modules to implement
- constant NUM_TDC_CHANNELS : integer range 1 to 65 := 11; -- number of tdc channels per module
+ constant NUM_TDC_CHANNELS : integer range 1 to 65 := 12; -- number of tdc channels per module
constant NUM_TDC_CHANNELS_POWER2 : integer range 0 to 6 := 4; --the nearest power of two, for convenience reasons
constant DOUBLE_EDGE_TYPE : integer range 0 to 3 := 3; --double edge type: 0, 1, 2, 3
-- 0: single edge only,
--Address settings
constant INIT_ADDRESS : std_logic_vector := x"F3CD";
- constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"61";
+
constant INCLUDE_UART : integer := c_YES;
constant CLOCK_FREQUENCY : integer;
constant MEDIA_FREQUENCY : integer;
constant INCLUDED_FEATURES : std_logic_vector(63 downto 0);
-
+ constant BROADCAST_SPECIAL_ADDR : std_logic_vector;
end;
constant IS_UPLINK : hub_ct := IS_UPLINK_ARR(CFG_MODE);
constant IS_DOWNLINK : hub_ct := IS_DOWNLINK_ARR(CFG_MODE);
constant IS_UPLINK_ONLY : hub_ct := IS_UPLINK_ONLY_ARR(CFG_MODE);
-
+ constant BROADCAST_SPECIAL_ADDR : std_logic_vector := std_logic_vector(to_unsigned(100+CFG_MODE,8));
function generateIncludedFeatures return std_logic_vector is
begin
t := (others => '0');
t(63 downto 56) := std_logic_vector(to_unsigned(1,8)); --table version 1
- t(22 downto 16) := "0100111"; --sctrl via GbE
+ if INCLUDE_GBE = c_YES then
+ t(22 downto 16) := "0100111"; --sctrl via GbE
+ end if;
t(23 downto 23) := std_logic_vector(to_unsigned(INCLUDE_GBE,1));
t(27 downto 24) := std_logic_vector(to_unsigned(INTERFACE_NUM-USE_BACKPLANE,4)); --num SFPs with TrbNet
t(28 downto 28) := std_logic_vector(to_unsigned(USE_BACKPLANE,1));
--Address settings
constant INIT_ADDRESS : std_logic_vector := x"F3CF";
- constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"62";
+ constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"72";
--set to 0 for backplane serdes, set to 3 for front SFP serdes
constant SERDES_NUM : integer := 3;
--Address settings
constant INIT_ADDRESS : std_logic_vector := x"F3CF";
- constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"70";
+ constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"71";
--set to 0 for backplane serdes, set to 3 for front SFP serdes
constant SERDES_NUM : integer := 0;
constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"60";
--set to 0 for backplane serdes, set to 3 for front SFP serdes
- constant SERDES_NUM : integer := 0;
+ constant SERDES_NUM : integer := 3;
constant INCLUDE_UART : integer := c_YES;
constant INCLUDE_SPI : integer := c_YES;
constant INCLUDE_TRIGGER_LOGIC : integer := c_YES;
constant INCLUDE_STATISTICS : integer := c_YES;
constant TRIG_GEN_INPUT_NUM : integer := 32;
- constant TRIG_GEN_OUTPUT_NUM : integer := 3;
+ constant TRIG_GEN_OUTPUT_NUM : integer := 2;
constant MONITOR_INPUT_NUM : integer := 32;
------------------------------------------------------------------------------