The HDL reference design is an embedded system built around a processor core either ARM, NIOS-II or Microblaze. A functional block diagram of the system is shown below. The device digital interface is handled by the transceiver IP followed by the JESD204B and device specific cores. The JESD204B lanes are shared among the 4 transmit, 4 receive and 2 observation/sniffer receive data paths by the same set of transceivers within the IP. The cores are programmable through an AXI-lite interface. The delineated data is then passed on to independent DMA cores for the transmit, receive and observation/sniffer paths.
The digital interface consists of 4 transmit, 2 receive and 2 observation/sniffer lanes running up to 6Gbps (default is 4Gbps). The transceivers then interfaces to the cores at 128bits@122MHz in the transmit and 64bits@122MHz for the receive channels. The sniffer/observation rates depends on the mode selected. The data is sent or received based on the configuration (programmable) from separate transmit and receive chains.
The DAC data may be sourced from an internal data generator (DDS, pattern or PRBS) or from the external DDR via DMA. The internal DDS phase and frequency are programmable.
The ADC data is sent to the DDR via DMA.
The device control and monitor signals are interfaced to a GPIO module. The SPI signals are controlled by a separate AXI based SPI core.
The HDL repository, list of supported carriers and the list of required IP cores can be found here:
Hardware | Project | Carriers | Resource Utilization | Library Cores |
---|---|---|---|---|
ADRV9371 | adrv9371x | a10gx | NA | ad_ip_jesd204_tpl_adc |
a10soc | NA | ad_ip_jesd204_tpl_dac | ||
kcu105 | adrv9371x_kcu105 | axi_adxcvr | ||
zc706 | adrv9371x_zc706 | axi_clkgen | ||
zcu102 | adrv9371x_zcu102 | axi_dacfifo | ||
axi_dmac | ||||
axi_hdmi_tx | ||||
axi_jesd204_rx | ||||
axi_jesd204_tx | ||||
axi_spdif_tx | ||||
axi_sysid | ||||
jesd204_rx | ||||
jesd204_tx | ||||
sysid_rom | ||||
util_adxcvr | ||||
util_cpack2 | ||||
util_dacfifo |