signal valid_timing_200 : std_logic;
signal valid_notiming_200 : std_logic;
signal invalid_200 : std_logic;
+ signal trg_type_200 : std_logic_vector(3 downto 0);
signal valid_trigger_flag : std_logic := '0';
-- trigger window signals
type TrgWinCounter_FSM is (IDLE, COUNT, COUNT_CALIBRATION, VALIDATE_TRIGGER, WIN_END,
RESET_B_IN => RESET_TDC,
PULSE_B_OUT => valid_notiming_200);
+ trg_type_200 <= TRG_TYPE_IN when rising_edge(CLK_TDC);
+
-------------------------------------------------------------------------------
-- Trigger Window State Machine
-------------------------------------------------------------------------------
DEBUG_OUT(31 downto 24) <= (others => '0');
FSM_TRIGGER_WINDOW_COMBINATIONAL : process (STATE_TW_CURRENT, trg_in_3r, TRG_WIN_EN_IN,
- valid_notiming_200, TRG_TYPE_IN, trg_win_cnt, valid_timing_200,
+ valid_notiming_200, trg_type_200, trg_win_cnt, valid_timing_200,
TRG_WIN_POST_IN, valid_trigger_flag, trg_release_200, invalid_200) is
begin
-- Default values
STATE_TW_NEXT <= VALIDATE_TRIGGER;
end if;
elsif valid_notiming_200 = '1' then
- if TRG_TYPE_IN = x"D" then
+ if trg_type_200 = x"D" then
STATE_TW_NEXT <= COUNT_CALIBRATION;
trg_win_cnt_f <= x"005";
else