FIFO_ALMOST_FULL_OUT : out std_logic;
COARSE_COUNTER_IN : in std_logic_vector(10 downto 0);
EPOCH_COUNTER_IN : in std_logic_vector(27 downto 0);
- TRIGGER_WINDOW_END_IN : in std_logic;
DATA_FINISHED_IN : in std_logic;
RUN_MODE : in std_logic;
--
signal fifo_wr_cntr : unsigned(23 downto 0);
-- other
- signal trg_win_end_i : std_logic;
signal data_finished_i : std_logic;
signal run_mode_i : std_logic;
RESET_100 => RESET_100,
HIT_IN => hit_buf,
EPOCH_COUNTER_IN => EPOCH_COUNTER_IN,
- TRIGGER_WINDOW_END_IN => trg_win_end_i,
DATA_FINISHED_IN => data_finished_i,
RUN_MODE => run_mode_i,
COARSE_COUNTER_IN => coarse_cntr_reg,
FIFO_WR_OUT => fifo_wr_en_i,
ENCODER_START_OUT => encoder_start_i);
- trg_win_end_i <= TRIGGER_WINDOW_END_IN when rising_edge(CLK_200);
data_finished_i <= DATA_FINISHED_IN when rising_edge(CLK_100);
run_mode_i <= RUN_MODE when rising_edge(CLK_100);
encoder_start_reg <= encoder_start_i when rising_edge(CLK_200);
-- File : Channel_200.vhd
-- Author : c.ugur@gsi.de
-- Created : 2012-08-28
--- Last update: 2012-12-13
+-- Last update: 2013-01-18
-------------------------------------------------------------------------------
-- Description:
-------------------------------------------------------------------------------
--
HIT_IN : in std_logic; -- hit in
EPOCH_COUNTER_IN : in std_logic_vector(27 downto 0); -- system coarse counter
- TRIGGER_WINDOW_END_IN : in std_logic;
DATA_FINISHED_IN : in std_logic;
RUN_MODE : in std_logic;
COARSE_COUNTER_IN : in std_logic_vector(10 downto 0);
if TRIGGER_WIN_EN_IN = '1' then -- if the trigger window is enabled
if ch_data_2reg(fifo_nr)(31 downto 29) = "011" then
data_out_reg <= ch_data_2reg(fifo_nr);
- data_wr_reg <= '0';
+ data_wr_reg <= '1';
--elsif (TW_pre(10) = '1' and ref_time_coarse(10) = '0') or (TW_post(10) = '0' and ref_time_coarse(10) = '1') then -- if one of the trigger window edges has an overflow
-- if (trg_win_l = '0' and trg_win_r = '1') or (trg_win_l = '1' and trg_win_r = '0') then
-- data_out_reg <= ch_data_2reg(fifo_nr);
FIFO_ALMOST_FULL_OUT => ch_almost_full_i(i),
COARSE_COUNTER_IN => coarse_cntr(integer(ceil(real(i)/real(16)))),
EPOCH_COUNTER_IN => epoch_cntr,
- TRIGGER_WINDOW_END_IN => trg_win_end_i,
DATA_FINISHED_IN => data_finished_i,
RUN_MODE => run_mode_i,
LOST_HIT_NUMBER => ch_lost_hit_number_i(i),