signal toc_ce : std_logic; -- count enable for TRG/LVL1 timeout
signal next_toc_ce : std_logic;
signal toc_save : std_logic; -- count enable for TRG/LVL1 timeout
+signal next_toc_save : std_logic;
signal toc_rst : std_logic; -- reset for timout
signal next_toc_rst : std_logic;
signal trg_rel : std_logic; -- release LVL1 channel
CURRENT_STATE <= NEXT_STATE;
toc_ce <= next_toc_ce;
toc_rst <= next_toc_rst;
+ toc_save <= next_toc_save;
trg_rel <= next_trg_rel;
trg_rst <= next_trg_rst;
val_trg <= next_val_trg;
NEXT_STATE <= IDLE; -- avoid latches
next_toc_ce <= '0';
next_toc_rst <= '0';
+ next_toc_save <= '0';
next_trg_rel <= '0';
next_trg_rst <= '0';
next_val_trg <= '0';
-- suitable LVL1 information has arrived
NEXT_STATE <= LVL1FND;
next_data_valid <= '1';
+ next_toc_save <= '1';
next_toc_rst <= '1';
-- gk 11.09.10
if (LVL1_TRG_INFORMATION_IN(7) = '1') then
if( rising_edge(CLOCK) ) then
if ( RESET = '1' ) then
lvl1_delay <= (others => '0');
- elsif( toc_rst = '1' ) then
+ elsif( toc_save = '1' ) then
lvl1_delay(15 downto 11) <= (others => '0'); -- here we can store nice status bits
lvl1_delay(10 downto 0) <= std_logic_vector(timeout_ctr);
end if;