Wiki

This version (15 Apr 2024 12:26) was approved by iulia Moldovan.The Previously approved version (30 Jan 2023 01:21) is available.Diff

AD9081-FMCA-EBZ / AD9082-FMCA-EBZ (Single MxFE) HDL Reference Design

We are in the process of migrating our documentation to GitHub IO. Please check the following link for updated information regarding the HDL project: https://analogdevicesinc.github.io/hdl/projects/ad9081_fmca_ebz/index.html.

Functional Overview

The AD9081-FMCA-EBZ / AD9082-FMCA-EBZ reference design is a processor based (e.g. Microblaze) embedded system. The design consists from a receive and a transmit chain.

The receive chain transports the captured samples from ADC to the system memory (DDR). Before transferring the data to DDR the samples are stored in a buffer implemented on block rams from the FPGA fabric (util_adc_fifo). The space allocated in the buffer for each channel depends on the number of currently active channels. It goes up to M x 64k samples if a single channel is selected or 64k samples per channel if all channels are selected.

The transmit chain transports samples from the system memory to the DAC devices. Before streaming out the data to the DAC through the JESD link the samples first are loaded into a buffer (util_dac_fifo) which will cyclically stream the samples at the tx_device_clk data rate. The space allocated in the transmit buffer for each channel depends on the number of currently active channels. It goes up to M x 64k samples if a single channel is selected or 64k samples per channel if all channels are selected.

All cores from the receive and transmit chains are programmable through an AXI-Lite interface.

The transmit and receive chains can operate at different data rates having separate rx_device_clk/tx_device_clk and corresponding lane rates but must share the same reference clock.

Board setup

The following rework is required:
  • In order to avoid using an external clock source and fully rely on the HMC7044 clock chip, rotate the C6D/C4D caps in C5D/C3D position (Please note: In the latest version of the board, this is now the default configuration, so this configuration step might not be needed anymore)
  • If LEDS V1P0_LED and VINT_LED are not on please depopulate R22M and populate R2M

HDL source code

Supported Carriers

Block design

The block design supports parameters and scales based on it as shown on the below two examples.

The parameters for Rx or Tx links can be changed from the system_project.tcl :

# Parameter description:
#    JESD_MODE : used link layer encoder mode 
#      64B66B - 64b66b link layer defined in JESD 204C
#      8B10B  - 8b10b link layer defined in JESD 204B
#    
#    RX_RATE :  line rate of the Rx link ( MxFE to FPGA ) 
#    TX_RATE :  line rate of the Tx link ( FPGA to MxFE )
#    [RX/TX]_JESD_M : number of converters per link
#    [RX/TX]_JESD_L : number of lanes per link
#    [RX/TX]_JESD_NP : number of bits per sample, only 16 is supported
#    [RX/TX]_NUM_LINKS : number of links, 1 - single link; 2 - dual link. 
 
adi_project mxfe_zcu102 0 [list \
    JESD_MODE 8B10B \   
    RX_JESD_M 8 \
    RX_JESD_L 4 \
    RX_JESD_S 1 \
    RX_JESD_NP 16 \
    RX_NUM_LINKS 1 \
    TX_JESD_M 8 \
    TX_JESD_L 4 \
    TX_JESD_S 1 \
    TX_JESD_NP 16 \
    TX_NUM_LINKS 1 \
]

For the parameter selection the following restrictions apply:

IP list

Example block design for Single Link; M=8; L=4;

The Rx links (ADC Path) operate with the following parameters:

  • Rx Deframer parameters: L=4, M=8, F=4, S=1, N’=16, N = 16 (Quick Config 0x0A)
  • Sample Rate : 250 MSPS
  • Dual link : No
  • RX_DEVICE_CLK – 250 MHz (Lane Rate/40)
  • REF_CLK – 500MHz (Lane Rate/20)
  • JESD204B Lane Rate – 10Gbps
  • QPLL0 or CPLL

The Tx links (DAC Path) operate with the following parameters:

  • Tx Framer parameters: L=4, M=8, F=4, S=1, N’=16, N = 16 (Quick Config 0x09)
  • Sample Rate : 250 MSPS
  • Dual link : No
  • TX_DEVICE_CLK – 250 MHz (Lane Rate/40)
  • REF_CLK – 500MHz (Lane Rate/20)
  • JESD204B Lane Rate – 10Gbps
  • QPLL0 or CPLL

Example block design for Single Link; M=4; L=8;

The Rx links are set for full bandwidth mode and operate with the following parameters:

  • Rx Deframer parameters: L=8, M=4, F=1, S=1, N’=16, N = 16 (Quick Config 0x12)
  • Sample Rate : 1550 MSPS
  • Dual link : No
  • RX_DEVICE_CLK – 387.5 MHz (Lane Rate/40)
  • REF_CLK – 775MHz (Lane Rate/20)
  • JESD204B Lane Rate – 15.5Gbps
  • QPLL0

The Tx links are set for full bandwidth mode and operate with the following parameters:

  • Tx Framer parameters: L=8, M=4, F=1, S=1, N’=16, N = 16 (Quick Config 0x11)
  • Sample Rate : 1550 MSPS
  • Dual link : No
  • TX_DEVICE_CLK – 387.5 MHz (Lane Rate/40)
  • REF_CLK – 775MHz (Lane Rate/20)
  • JESD204B Lane Rate – 15.5Gbps
  • QPLL0

Example block design for Single Link; M=2; L=8; JESD204C

Observation: In 2019_R2 release the Xilinx JESD Physical layer IP Core is used, however in newer versions it is replaced with ADI's util_adxcvr IP core.

Build instructions:

The project must be built with the following parameters:

make JESD_MODE=64B66B \
     RX_RATE=16.5 \
     TX_RATE=16.5 \
     RX_JESD_M=2 \
     RX_JESD_L=8 \
     RX_JESD_S=2 \
     RX_JESD_NP=16 \
     TX_JESD_M=2 \
     TX_JESD_L=8 \
     TX_JESD_S=4 \
     TX_JESD_NP=8

The Rx link is operating with the following parameters:

  • Rx Deframer parameters: L=8, M=2, F=1, S=2, N’=16, N=16 (Quick Config 0x13)
  • Sample Rate : 4000 MSPS
  • Dual link : No
  • RX_DEVICE_CLK – 250 MHz (Lane Rate/66)
  • REF_CLK – 500 MHz (Lane Rate/33)
  • JESD204C Lane Rate – 16.5Gbps
  • QPLL1

The Tx link is operating with the following parameters:

  • Tx Framer parameters: L=8, M=2, F=1, S=4, N’=8, N=8 (Quick Config 0x13)
  • Sample Rate : 8000 MSPS
  • Dual link : No
  • TX_DEVICE_CLK – 250 MHz (Lane Rate/66)
  • REF_CLK – 500 MHz (Lane Rate/33)
  • JESD204C Lane Rate – 16.5Gbps
  • QPLL1

Clock sources

The clock sources depend on the in use carrier and are depicted on the below diagrams:

ZCU102

VC118

Software considerations

ADC - crossbar config

Due physical constraints Rx lanes are reordered as described in the following table. e.g physical lane 2 from ADC connects to logical lane 7 from the FPGA. Therefore the crossbar from the device must be set accordingly.

ADC phy Lane FPGA Rx lane / Logical Lane
0 2
1 0
2 7
3 6
4 5
5 4
6 3
7 1

DAC - crossbar config

Due physical constraints Tx lanes are reordered as described in the following table: e.g physical lane 2 from DAC connects to logical lane 7 from the FPGA. Therefore the crossbar from the device must be set accordingly.

DAC phy Lane FPGA Tx lane / Logical Lane
0 0
1 2
2 7
3 6
4 1
5 5
6 4
7 3

Support

Analog Devices will provide limited online support for anyone using the reference design with Analog Devices components via the EngineerZone.

resources/eval/user-guides/ad9081_fmca_ebz/ad9081_fmca_ebz_hdl.txt · Last modified: 15 Apr 2024 12:26 by iulia Moldovan