-- File : Readout_record.vhd
-- Author : cugur@gsi.de
-- Created : 2012-10-25
--- Last update: 2015-12-10
+-- Last update: 2016-01-22
-------------------------------------------------------------------------------
-- Description:
-------------------------------------------------------------------------------
library work;
use work.trb_net_std.all;
use work.tdc_components.all;
+use work.version.all;
entity Readout_record is
generic (
signal trg_release : std_logic;
signal trg_statusbit : std_logic_vector(31 downto 0) := (others => '0');
-- statistics
+ signal compile_time : std_logic_vector(31 downto 0);
signal trg_number : unsigned(23 downto 0) := (others => '0');
signal release_number : unsigned(23 downto 0) := (others => '0');
signal valid_tmg_trg_number : unsigned(23 downto 0) := (others => '0');
when 11 => data_out_r <= "010" & "01011" & std_logic_vector(total_empty_channel);
when 12 => data_out_r <= "010" & "01100" & std_logic_vector(readout_time);
when 13 => data_out_r <= "010" & "01101" & std_logic_vector(timeout_number);
- stop_status <= '1';
when 14 => data_out_r <= "010" & "01110" & x"000" & INFO_IN.temperature;
+ when 15 => data_out_r <= "010" & "01111" & x"000000"; --reserved
+ when 16 => data_out_r <= "010" & "10000" & x"00" & compile_time(15 downto 0);
+ stop_status <= '1'; -- set always before the last word to be written
+ when 17 => data_out_r <= "010" & "10001" & x"00" & compile_time(31 downto 16);
i := -1;
when others => null;
end case;
stop_status <= '0';
end if;
end if;
+ compile_time <= std_logic_vector(to_unsigned(VERSION_NUMBER_TIME, 32));
end process Data_Out_MUX;
wr_info <= wr_header or wr_status or wr_trailer when rising_edge(CLK_100);