]> jspc29.x-matter.uni-frankfurt.de Git - trb3.git/commitdiff
Fix correct ADC selection for TDC input
authorAndreas Neiser <neiser@kph.uni-mainz.de>
Wed, 27 May 2015 17:53:17 +0000 (19:53 +0200)
committerAndreas Neiser <neiser@kph.uni-mainz.de>
Sat, 13 Jun 2015 15:37:05 +0000 (17:37 +0200)
ADC/source/adc_handler.vhd
ADC/source/adc_processor_cfd.vhd

index 0e3df7dbeeb2e4eca2fb16514935d24127b8441c..27d5ceb026e5813ac039141b789d519b03ccdafc 100644 (file)
@@ -80,6 +80,8 @@ architecture adc_handler_arch of adc_handler is
 
   signal adc_clk                     : std_logic_vector(DEVICES downto 1) := (others => '1');
   signal adc_clk_left, adc_clk_right : std_logic                          := '1';
+  
+  signal adc_clk_tdc_out_i : std_logic_vector(DEVICES-1 downto 0);
 
 -- 000 - 0ff configuration
 --       000 reset, buffer clear strobes
@@ -388,9 +390,11 @@ begin
           DEBUG_BUFFER_READY    => buffer_ready(i),
           READOUT_RX            => READOUT_RX,
           READOUT_TX            => READOUT_TX(i),
-          ADC_CLK_TDC_OUT       => ADC_CLK_TDC_OUT
+          ADC_CLK_TDC_OUT       => adc_clk_tdc_out_i(i)
         );
     end generate;
+    
+    ADC_CLK_TDC_OUT <= adc_clk_tdc_out_i(5); -- select 5 as it's closest to the TDC placement
 
     config_cfd.BaselineAlwaysOn <= buffer_ctrl_reg(4);
 
index 91219e51a44f2aeec70b87794b41d29fe6f99096..d7a9b4b1649a08f8a1a1a8ade9c4f488b7d8860f 100644 (file)
@@ -82,7 +82,7 @@ begin
   busy_in_adc <= busy_in_sys when rising_edge(CLK_ADC);
   busy_out_sys <= busy_out_adc when rising_edge(CLK_SYS);
   
-  ADC_CLK_TDC_OUT <= debug_adc(5).EpochCounter(10);
+  ADC_CLK_TDC_OUT <= debug_adc(0).EpochCounter(10);
   
   gen_cfd : for i in 0 to CHANNELS - 1 generate
     trigger_gen(i) <= debug_sys(i).Trigger;