Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources:fpga:docs:axi_adc_decimate [04 Aug 2017 13:35] – Added scale correction related registers Adrian Costinaresources:fpga:docs:axi_adc_decimate [14 Dec 2023 17:02] (current) – Update max real bits to 12. Andrei Grozav
Line 1: Line 1:
-===== AXI_ADC_DECIMATE =====+====== AXI_ADC_DECIMATE ======
  
-The AXI_ADC_DECIMATE IP allows decimating of the input data by 10/100/1000/10000/100000, with filtering and arbitrary decimation by dropping samples.+The AXI_ADC_DECIMATE IP allows decimating of the input data by 10/100/1000/10000/100000, with filtering and arbitrary decimation by dropping samples.\\ 
 +\\ 
 +More about the generic framework interfacing ADCs can be read here: [[:resources:fpga:docs:axi_adc_ip]].
  
-==== Features ====+<note important>The axi_adc_decimate was design to interface with 12 bit converters, even though the input data bus width is 16, it will not work with anything higher then 12 bit sign extended(to 16bit) data.</note> 
 + 
 +===== Features =====
  
   * AXI Lite control/status interface   * AXI Lite control/status interface
Line 10: Line 14:
   * Filtering is implemented by a 6 sections CIC programmable rate filter and a compensation FIR filter.   * Filtering is implemented by a 6 sections CIC programmable rate filter and a compensation FIR filter.
  
-==== Block Diagram ====+ 
 +===== Block Diagram =====
  
 {{ :resources:fpga:docs:axi_adc_decimate.svg | AXI_ADC_DECIMATE Block diagram }} {{ :resources:fpga:docs:axi_adc_decimate.svg | AXI_ADC_DECIMATE Block diagram }}
  
-==== Interface ====+ 
 +==== Configuration Parameters ===== 
 + 
 +^ Name ^ Description ^ Default Value^ 
 +| ''CORRECTION_DISABLE'' | Disable scale correction of the CIC output | 1 | 
 + 
 + 
 +===== Interface =====
  
 ^ Interface ^ Pin ^ Type ^ Description ^ ^ Interface ^ Pin ^ Type ^ Description ^
Line 31: Line 43:
 |              | ''adc_dec_valid_a'' | ''output'' | Data valid for channel A | |              | ''adc_dec_valid_a'' | ''output'' | Data valid for channel A |
 |              | ''adc_dec_valid_b'' | ''output'' | Data valid for channel B | |              | ''adc_dec_valid_b'' | ''output'' | Data valid for channel B |
 +|              | ''adc_data_rate'' | ''output[2:0]'' | Data rate (decimation ratio) |
 +|              | ''adc_oversampling_en'' | ''output'' | Data oversampling enabled |
 | **AXI_S_MM interface** |||| | **AXI_S_MM interface** ||||
 |              | ''s_axi_*'' || Standard AXI Slave Memory Map interface | |              | ''s_axi_*'' || Standard AXI Slave Memory Map interface |
  
-==== Detailed Description ==== 
  
-For some applications, maximum sampling rate is not required and leads to lots of samples transferred to memory. In order to avoid that, the decimation IP is used.+===== Detailed Description ===== 
 + 
 +For some applications, the maximum sampling rate is not required and leads to lots of samples transferred to memory. In order to avoid that, the decimation IP is used.
  
 The decimation block allows decimating the input data so that the sampling frequency to be reduced by 10, 100, 1000, 10000, 100000, with filtering. The decimation block allows decimating the input data so that the sampling frequency to be reduced by 10, 100, 1000, 10000, 100000, with filtering.
Line 44: Line 59:
 At the end of the filter chain, there is an arbitrary decimation block. The arbitrary decimation can be activated independently and it does not implement any type of filtering. At the end of the filter chain, there is an arbitrary decimation block. The arbitrary decimation can be activated independently and it does not implement any type of filtering.
  
-==== Register Map ====+ 
 +===== Register Map =====
  
 |< 100% 5% 5% 5% 25% 5% 55% >| |< 100% 5% 5% 5% 25% 5% 55% >|
Line 65: Line 81:
 | | |[15:0] |CORRECTION_COEFFICIENT |RW |Scale correction (if equipped) coefficient for channel B. The format is 1.1.14 (sign, integer and fractional bits). Allows for correction of the CIC filter amplification. | | | |[15:0] |CORRECTION_COEFFICIENT |RW |Scale correction (if equipped) coefficient for channel B. The format is 1.1.14 (sign, integer and fractional bits). Allows for correction of the CIC filter amplification. |
  
-==== References ==== 
-  * [[https://github.com/analogdevicesinc/hdl/tree/dev/library/axi_adc_decimate| AXI_ADC_DECIMATE IP source code]] \\ 
-  * [[https://wiki.analog.com/resources/fpga/docs/arch | ADI Reference designs architecture ]] \\ 
-  * [[https://github.com/analogdevicesinc/linux/tree/m2k | ADI Linux repository ]] 
-  * [[http://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_2/ug953-vivado-7series-libraries.pdf | 7 Series libraries]] \\ 
  
-{{navigation #axi_ip|AXI IP#hdl|Main page#tips|Tips}}+===== References ===== 
 +  * [[https://github.com/analogdevicesinc/hdl/tree/master/library/axi_adc_decimate| AXI_ADC_DECIMATE IP source code]] \\ 
 +  * [[/resources/fpga/docs/arch | ADI Reference designs architecture ]] \\ 
 +  * [[https://github.com/analogdevicesinc/linux/ | ADI Linux repository ]] 
 +  * [[xilinx>support/documentation/sw_manuals/xilinx2016_2/ug953-vivado-7series-libraries.pdf | 7 Series libraries]] \\ 
 + 
 +{{navigation HDL User Guide#ip_cores|IP cores#hdl|Main page#tips|Using and modifying the HDL design}}
resources/fpga/docs/axi_adc_decimate.1501846525.txt.gz · Last modified: 04 Aug 2017 13:35 by Adrian Costina