]> jspc29.x-matter.uni-frankfurt.de Git - tdc.git/commitdiff
added compile time to the data stream with the status trigger 0xE
authorCahit <c.ugur@gsi.de>
Tue, 26 Jan 2016 08:27:34 +0000 (09:27 +0100)
committerCahit <c.ugur@gsi.de>
Tue, 26 Jan 2016 08:27:34 +0000 (09:27 +0100)
releases/tdc_v2.3/Readout_record.vhd

index 52089eeb8b1e2673fc6f15026930e72e6359a366..b408cb5429c616b4f82d5e2ab502127856ef6c19 100644 (file)
@@ -5,7 +5,7 @@
 -- File       : Readout_record.vhd
 -- Author     : cugur@gsi.de
 -- Created    : 2012-10-25
--- Last update: 2015-12-10
+-- Last update: 2016-01-22
 -------------------------------------------------------------------------------
 -- Description: 
 -------------------------------------------------------------------------------
@@ -19,6 +19,7 @@ use ieee.numeric_std.all;
 library work;
 use work.trb_net_std.all;
 use work.tdc_components.all;
+use work.version.all;
 
 entity Readout_record is
   generic (
@@ -156,6 +157,7 @@ architecture behavioral of Readout_record is
   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');
@@ -624,8 +626,11 @@ begin  -- behavioral
           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;
@@ -638,6 +643,7 @@ begin  -- behavioral
         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);