]> jspc29.x-matter.uni-frankfurt.de Git - trb3.git/commitdiff
Try with 64 MHz, 80 seems a little bit unstable on ADC init
authorAndreas Neiser <neiser@kph.uni-mainz.de>
Fri, 6 Mar 2015 14:29:21 +0000 (15:29 +0100)
committerAndreas Neiser <neiser@kph.uni-mainz.de>
Sat, 13 Jun 2015 15:37:03 +0000 (17:37 +0200)
ADC/config.vhd
ADC/source/adc_ad9219.vhd
ADC/trb3_periph_adc.prj

index 99c0258ad5901ebc91eb846e8b03f69d6a9a7bd5..9204326957b338f9fd61c95cf0b522b5b4f10b11 100644 (file)
@@ -26,11 +26,11 @@ package config is
     constant INIT_ADDRESS           : std_logic_vector := x"F30a";
     constant BROADCAST_SPECIAL_ADDR : std_logic_vector := x"4b";
    
---ADC sampling frequency: 40 or 80 MHz supported
+--ADC sampling frequency: 40, 64 or 80 MHz supported
 --note that not all READOUT_MODEs will lead to timing-error free designs
 --the READOUT_MODE_PSA mode is usually only working with 40MHz
 --the READOUT_MODE_CFD mode is more robust against clock domain crossing issues 
-    constant ADC_SAMPLING_RATE      : integer := 80;
+    constant ADC_SAMPLING_RATE      : integer := 64;
     
 --These are currently used for the included features table only
     constant ADC_BASELINE_LOGIC     : integer := c_YES;
index 5c5a198086ae3df54680b4158c392afd5e61c981..50f71e1142769a6473fc14b3c08fd564366c49ac 100644 (file)
@@ -102,6 +102,22 @@ begin
       );
   end generate;
 
+  gen_64MHz : if ADC_SAMPLING_RATE = 64 generate
+    THE_ADC_REF : entity work.pll_in200_out64
+      port map(
+        CLK   => CLK_ADCRAW,
+        CLKOP => clk_adc,
+        LOCK  => open
+      );
+    THE_ADC_PLL_0 : entity work.pll_adc10bit_64
+
+      port map(
+        CLK   => CLK_ADCRAW,
+        CLKOP => clk_adcfast_i,
+        LOCK  => open
+      );
+  end generate;
+
   restart_i <= RESTART_IN when rising_edge(clk_data);
 
   gen_7 : if NUM_DEVICES = 7 generate
index 4903b36d4f6b028e1ea58213c19110b8fd169c87..3c98e45203f24345e935d58c4a54ec2cef9a7967 100644 (file)
@@ -142,8 +142,10 @@ add_file -vhdl -lib work "../../trbnet/media_interfaces/trb_net16_med_ecp3_sfp.v
 
 add_file -vhdl -lib "work" "../base/cores/pll_in200_out100.vhd"
 add_file -vhdl -lib "work" "../base/cores/pll_in200_out40.vhd"
+add_file -vhdl -lib "work" "../base/cores/pll_in200_out64.vhd"
 add_file -vhdl -lib "work" "../base/cores/pll_in200_out80.vhd"
 add_file -vhdl -lib "work" "../base/cores/pll_adc10bit.vhd"
+add_file -vhdl -lib "work" "../base/cores/pll_adc10bit_64.vhd"
 add_file -vhdl -lib "work" "../base/cores/pll_adc10bit_80.vhd"
 add_file -vhdl -lib "work" "../base/cores/dqsinput_7x5.vhd"
 add_file -vhdl -lib "work" "../base/cores/dqsinput_5x5.vhd"