IOBUF_CTRL_GEN : in std_logic_vector (4*32-1 downto 0) := (others => '0');
STAT_ONEWIRE : out std_logic_vector (31 downto 0);
STAT_ADDR_DEBUG : out std_logic_vector (15 downto 0);
+ STAT_TRIGGER_OUT : out std_logic_vector (63 downto 0);
DEBUG_LVL1_HANDLER_OUT : out std_logic_vector (15 downto 0)
);
end trb_net16_endpoint_hades_full;
signal buf_LVL1_TRG_RELEASE_IN : std_logic;
signal buf_LVL1_TRG_DATA_VALID_OUT : std_logic;
- signal int_lvl1_delay : std_logic_vector(15 downto 0);
- signal int_trg_reset : std_logic;
- signal reset_trg_logic : std_logic;
- signal stat_lvl1_handler : std_logic_vector(63 downto 0);
- signal stat_counters_lvl1_handler: std_logic_vector(63 downto 0);
- signal trg_invert_i : std_logic;
+ signal int_lvl1_delay : std_logic_vector(15 downto 0);
+ signal int_trg_reset : std_logic;
+ signal reset_trg_logic : std_logic;
+ signal stat_lvl1_handler : std_logic_vector(63 downto 0);
+ signal stat_counters_lvl1_handler: std_logic_vector(63 downto 0);
+ signal trg_invert_i : std_logic;
signal int_multiple_trg : std_logic;
signal int_lvl1_timeout_detected : std_logic;
signal int_lvl1_spurious_trg : std_logic;
-- Check LVL1 trigger number
-------------------------------------------------
- THE_LVL1_HANDLER : handler_lvl1
- generic map (
- TIMING_TRIGGER_RAW => TIMING_TRIGGER_RAW
- )
- port map(
- RESET => reset_trg_logic,
- RESET_STATS_IN => buf_REGIO_COMMON_CTRL_REG_OUT(5),
- CLOCK => CLK,
- --Timing Trigger
- LVL1_TIMING_TRG_IN => TRG_TIMING_TRG_RECEIVED_IN,
- LVL1_PSEUDO_TMG_TRG_IN => buf_REGIO_COMMON_CTRL_REG_OUT(16),
- --LVL1_handler connection
- LVL1_TRG_RECEIVED_IN => buf_LVL1_TRG_RECEIVED_OUT,
- LVL1_TRG_TYPE_IN => buf_LVL1_TRG_TYPE_OUT,
- LVL1_TRG_NUMBER_IN => buf_LVL1_TRG_NUMBER_OUT,
- LVL1_TRG_CODE_IN => buf_LVL1_TRG_CODE_OUT,
- LVL1_TRG_INFORMATION_IN => buf_LVL1_TRG_INFORMATION_OUT,
- LVL1_ERROR_PATTERN_OUT => buf_LVL1_ERROR_PATTERN_IN,
- LVL1_TRG_RELEASE_OUT => buf_LVL1_TRG_RELEASE_IN,
-
- LVL1_INT_TRG_NUMBER_OUT => int_trigger_num,
- LVL1_INT_TRG_LOAD_IN => buf_COMMON_CTRL_REG_STROBE(1),
- LVL1_INT_TRG_COUNTER_IN => buf_REGIO_COMMON_CTRL_REG_OUT(47 downto 32),
-
- --FEE logic / Data Handler
- LVL1_TRG_DATA_VALID_OUT => buf_LVL1_TRG_DATA_VALID_OUT,
- LVL1_VALID_TIMING_TRG_OUT => buf_LVL1_VALID_TIMING_TRG_OUT,
- LVL1_VALID_NOTIMING_TRG_OUT => buf_LVL1_VALID_NOTIMING_TRG_OUT,
- LVL1_INVALID_TRG_OUT => buf_LVL1_INVALID_TRG_OUT,
- LVL1_MULTIPLE_TRG_OUT => int_multiple_trg,
- LVL1_DELAY_OUT => int_lvl1_delay,
- LVL1_TIMEOUT_DETECTED_OUT => int_lvl1_timeout_detected,
- LVL1_SPURIOUS_TRG_OUT => int_lvl1_spurious_trg,
- LVL1_MISSING_TMG_TRG_OUT => int_lvl1_missing_tmg_trg,
- SPIKE_DETECTED_OUT => int_spike_detected,
-
- LVL1_ERROR_PATTERN_IN => LVL1_ERROR_PATTERN_IN,
- LVL1_TRG_RELEASE_IN => LVL1_TRG_RELEASE_IN,
-
- --Stat/Control
- STATUS_OUT => stat_lvl1_handler,
- TRG_ENABLE_IN => buf_REGIO_COMMON_CTRL_REG_OUT(95),
- TRG_INVERT_IN => buf_REGIO_COMMON_CTRL_REG_OUT(93),
- COUNTERS_STATUS_OUT => stat_counters_lvl1_handler,
- --Debug
- DEBUG_OUT => DEBUG_LVL1_HANDLER_OUT
- );
+ THE_LVL1_HANDLER : handler_lvl1
+ generic map (
+ TIMING_TRIGGER_RAW => TIMING_TRIGGER_RAW
+ )
+ port map(
+ RESET => reset_trg_logic,
+ RESET_STATS_IN => buf_REGIO_COMMON_CTRL_REG_OUT(5),
+ CLOCK => CLK,
+ --Timing Trigger
+ LVL1_TIMING_TRG_IN => TRG_TIMING_TRG_RECEIVED_IN,
+ LVL1_PSEUDO_TMG_TRG_IN => buf_REGIO_COMMON_CTRL_REG_OUT(16),
+ --LVL1_handler connection
+ LVL1_TRG_RECEIVED_IN => buf_LVL1_TRG_RECEIVED_OUT,
+ LVL1_TRG_TYPE_IN => buf_LVL1_TRG_TYPE_OUT,
+ LVL1_TRG_NUMBER_IN => buf_LVL1_TRG_NUMBER_OUT,
+ LVL1_TRG_CODE_IN => buf_LVL1_TRG_CODE_OUT,
+ LVL1_TRG_INFORMATION_IN => buf_LVL1_TRG_INFORMATION_OUT,
+ LVL1_ERROR_PATTERN_OUT => buf_LVL1_ERROR_PATTERN_IN,
+ LVL1_TRG_RELEASE_OUT => buf_LVL1_TRG_RELEASE_IN,
+
+ LVL1_INT_TRG_NUMBER_OUT => int_trigger_num,
+ LVL1_INT_TRG_LOAD_IN => buf_COMMON_CTRL_REG_STROBE(1),
+ LVL1_INT_TRG_COUNTER_IN => buf_REGIO_COMMON_CTRL_REG_OUT(47 downto 32),
+
+ --FEE logic / Data Handler
+ LVL1_TRG_DATA_VALID_OUT => buf_LVL1_TRG_DATA_VALID_OUT,
+ LVL1_VALID_TIMING_TRG_OUT => buf_LVL1_VALID_TIMING_TRG_OUT,
+ LVL1_VALID_NOTIMING_TRG_OUT => buf_LVL1_VALID_NOTIMING_TRG_OUT,
+ LVL1_INVALID_TRG_OUT => buf_LVL1_INVALID_TRG_OUT,
+ LVL1_MULTIPLE_TRG_OUT => int_multiple_trg,
+ LVL1_DELAY_OUT => int_lvl1_delay,
+ LVL1_TIMEOUT_DETECTED_OUT => int_lvl1_timeout_detected,
+ LVL1_SPURIOUS_TRG_OUT => int_lvl1_spurious_trg,
+ LVL1_MISSING_TMG_TRG_OUT => int_lvl1_missing_tmg_trg,
+ SPIKE_DETECTED_OUT => int_spike_detected,
+
+ LVL1_ERROR_PATTERN_IN => LVL1_ERROR_PATTERN_IN,
+ LVL1_TRG_RELEASE_IN => LVL1_TRG_RELEASE_IN,
+
+ --Stat/Control
+ STATUS_OUT => stat_lvl1_handler,
+ TRG_ENABLE_IN => buf_REGIO_COMMON_CTRL_REG_OUT(95),
+ TRG_INVERT_IN => buf_REGIO_COMMON_CTRL_REG_OUT(93),
+ COUNTERS_STATUS_OUT => stat_counters_lvl1_handler,
+ --Debug
+ DEBUG_OUT => DEBUG_LVL1_HANDLER_OUT
+ );
TRG_SPIKE_DETECTED_OUT <= int_spike_detected;
TRG_SPURIOUS_TRG_OUT <= int_lvl1_spurious_trg;
TRG_MULTIPLE_TRG_OUT <= int_multiple_trg;
TRG_MISSING_TMG_TRG_OUT <= int_lvl1_missing_tmg_trg;
+
+
-- THE_TRG_SYNC : signal_sync
-- generic map(
-- DEPTH => 2,