signal last_LVL1_TRG_RECEIVED_OUT : std_logic;
signal pulse_pseudo_timing_trigger : std_logic;
signal cal_trigger_register_in_i : std_logic_vector(15 downto 0);
- signal direction_data_line_in_i : std_logic_vector(3 downto 0);
+ signal direction_data_line_out_i : std_logic_vector(3 downto 0);
signal motherboard_type_in_i : std_logic_vector(3 downto 0);
signal pulse_begin_run_trigger_i : std_logic;
signal counter_led : unsigned(31 downto 0);
signal reset_counter_led : std_logic;
signal counter: std_logic_vector (3 downto 0);
+ signal test_pseudo_signal_i : std_logic;
begin
---------------------------------------------------------------------
PULSE_TRIGGER : edge_to_pulse
port map (
CLOCK => CLK_100,
+--to avoid to get a trigger while reading
ENABLE_CLK_IN => '1',
SIGNAL_IN => REGIO_REGISTERS_OUT(12),
PULSE_OUT => pulse_pseudo_timing_trigger);
SIGNAL_IN => REGIO_REGISTERS_OUT(0),
PULSE_OUT => pulse_begin_run_trigger_i);
+ test_pseudo_signal_i <= (pulse_pseudo_timing_trigger and LVL1_TRG_RELEASE_IN)
+ when (debug_trigger_distributor_i(3 downto 0) = x"1") else '0';
+
THE_TRIG_DISTR : trigger_distributor
port map (
CLK => CLK_100,
RESET => reset_internal,
INTERNAL_RESET_IN => pulse_begin_run_trigger_i,
A_RDO_IN => token_to_mux_out_i,
- TRIGGER_IN => pulse_pseudo_timing_trigger,
+ TRIGGER_IN => test_pseudo_signal_i,--pulse_pseudo_timing_trigger,
TRIGGER_TYPE_IN => LVL1_TRG_TYPE_OUT,
INIT_ALL_BUSES_OUT => init_all_buses_i,
ROC1_WRITTEN_IN => roc1_written_i,
LED_CNT_1_OUT => open,--D(4),
LED_CNT_2_OUT => open,--D(3),
LED_ERROR_OUT => open,--D(2),
- LED_GOOD_OUT => open-- D(1)
+ LED_GOOD_OUT => open--D(1)
);
D => open,
A_RDO_OUT => open,
ROC1_WRITTEN_OUT => roc1_written_i,
- -- BUS_NUMBER_IN => x"1",
- DIRECTION_DATA_LINE_IN => direction_data_line_in_i,
+ DATA_TYPE_SELECT_IN => x"0",-- x"0",debug, "1" tow hit in one
+ DIRECTION_DATA_LINE_OUT => direction_data_line_out_i,
MOTHERBOARD_TYPE_IN => motherboard_type_in_i,
ACKNOWLEDGE_TRB_INTERFACE_IN => x"1",
-------------------------------------------------------------------------------
-- DATA MULTIPLEXER for INOUT DST, AOD,TAD
-------------------------------------------------------------------------------
- process(TAD,TAOD, TDST,direction_data_line_in_i,
- a_add_configuration_i, a_aod_configuration_i,a_dst_configuration_i)
+ process(TAD,TAOD, TDST,direction_data_line_out_i,
+ a_add_configuration_i, a_aod_configuration_i,
+ a_dst_configuration_i)
begin
--DATA TACKING
- if direction_data_line_in_i = x"1" then
+ if direction_data_line_out_i = x"1" then
a_add_data_i <= TAD;
a_aod_data_i <= TAOD;
a_dst_data_i <= TDST;
TAD <= (others => 'Z');
--CONFIGURATION or CALIBRATION
- elsif(direction_data_line_in_i = x"D") then
+ elsif(direction_data_line_out_i = x"D") then
TAOD <= a_aod_configuration_i;
TDST <= a_dst_configuration_i;
D <= "1010" when (counter_led < x"00002710") else "0101";
+
---------------------------------------------------------------------
-- List of debugging signals
---------------------------------------------------------------------