.. _jesd204: JESD204 Interface Framework ================================================================================ .. toctree:: :hidden: JESD204B/C Link Transmit Peripheral JESD204B/C Link Receive Peripheral ADC JESD204B/C Transport Peripheral DAC JESD204B/C Transport Peripheral The JESD204, JESD204A, JESD204B and the JESD204C data converter serial interface standard was created through the JEDEC committee to standardize and reduce the number of data inputs/outputs between high-speed data converters and other devices, such as FPGAs (field-programmable gate arrays). Fewer interconnects simplifies layout and allows smaller form factor realization without impacting overall system performance. These attributes are important to address the system size and cost constraints of a range of high-speed ADC applications, including wireless infrastructure (GSM, EDGE, W-CDMA, LTE, CDMA2000, WiMAX, TD-SCDMA) transceiver architectures, software-defined radios, portable instrumentation, medical ultrasound equipment, and Mil/Aero applications such as radar and secure communications. Analog Devices is an original participating member of the JEDEC JESD204 standards committee and we have concurrently developed compliant data converter technology and tools, and a comprehensive product roadmap to fully enable our customers to take advantage of this significant interfacing breakthrough. Analog Devices supplies a full-stack supporting JESD204B/C which provides a fully integrated system level experience. This solution includes: .. hint:: * :ref:`Reference hardware platforms ` for rapid-prototyping * :ref:`FPGA HDL support ` for interfacing JESD204B/C ADCs, DACs, and RF Transceivers * :ref:`Software support ` to configure the converter devices and FPGA HDL peripherals How to Obtain a License -------------------------------------------------------------------------------- When customers and partners download/use software from GitHub, e-mail or similar ways, they are obligated to comply to the terms and conditions of the :git-hdl:`Software License Agreement `. This core is released under two different licenses. You may choose either: - Commercial licenses may be purchased from :adi:`Analog Devices, Inc. <>`. or any authorized distributor by ordering :adi:`IP-JESD204 `. This will allow you to use the core in a closed system. - GPL 2, this allows you to use the core for any purpose, but you must release anything else that links to the JESD204 core (this would normally be your algorithmic IP). **You do not need to sign or purchase** anything to use the JESD204 core under the GPL license. There is only one core -- the only difference is the license and support. If you have a question about the license, you can email `jesd204-licensing@analog.com `__. .. _fpga_hdl_support_label: FPGA HDL Support -------------------------------------------------------------------------------- .. image:: jesd204_layers2.svg :align: right The JESD204B/C standard defines multiple layers, each layer being responsible for a particular function. The Analog Devices JESD204B/C HDL solution follows the current standard and defines 4 layers. Physical layer, link layer, transport layer and application layer. For the first three layers, :adi:`ADI <>` provides standard components that can be linked to provide a full JESD204B/C protocol processing chain. Depending on the FPGA and converter combinations that are being interfaced, different components can be chosen for the physical and transport layer. The FPGA defines which **physical** layer component should be used, meanwhile the interfaced converter defines which **transport** layer component should be used. The **link** layer component is selected based on the direction of the JESD204B/C link. The **application** layer is user-defined and can be used to implement application-specific signal processing. .. image:: jesd204_chain.svg :align: center .. _jesd204_physical_layer: Physical Layer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Physical layer peripherals are responsible for interfacing and configuring the high-speed serial transceivers. Currently, we have support for GTXE2, GTHE3, GTHE4, GTYE4 for AMD Xilinx and Arria 10 transceivers for Intel. * :ref:`axi_adxcvr`: JESD204B Gigabit Transceiver Register Configuration Peripheral * :ref:`UTIL_ADXCVR `: JESD204B Gigabit Transceiver Interface Peripheral for AMD Xilinx FPGAs Link Layer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Link layer peripherals are responsible for JESD204B/C protocol handling, including scrambling/descrambling, lane alignment, character replacement and alignment monitoring. * :ref:`JESD204B/C Transmit Peripheral `: JESD204B/C Link Layer Transmit Peripheral * :ref:`JESD204B/C Receive Peripheral `: JESD204B/C Link Layer Receive Peripheral .. _jesd204_transport_layer: Transport Layer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Transport layer peripherals are responsible for converter specific data framing and de-framing. * :ref:`ADC JESD204B/C Transport Peripheral `: JESD204B/C Transport Layer Receive Peripheral * :ref:`DAC JESD204B/C Transport Peripheral `: JESD204B/C Transport Layer Transmit Peripheral Interfaces ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Interfaces are a well-defined collection of wires that are used to communicate between components. The following interfaces are used to connect components of the HDL JESD204B/C processing stack. .. _software_support_label: Software Support -------------------------------------------------------------------------------- Linux ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - :dokuwiki:`JESD204 (FSM) Interface Linux Kernel Framework ` - :dokuwiki:`JESD204B/C Transmit Linux Driver `: Linux driver for the JESD204B transmit core. - :dokuwiki:`JESD204B/C Receive Linux Driver `: Linux driver for the JESD204B receive core. - :dokuwiki:`JESD204B/C AXI_ADXCVR Highspeed Transceivers Linux Driver ` - :dokuwiki:`JESD204B Statistical Eyescan Application ` - :dokuwiki:`JESD204B Status Utility ` - :dokuwiki:`AXI DAC HDL Linux Driver ` - :dokuwiki:`AD9172 DAC Linux Driver ` - :dokuwiki:`AD9081 MxFE Linux Driver ` - :dokuwiki:`ADRV9009, ADRV9008 highly integrated, wideband RF transceiver Linux device driver ` - :dokuwiki:`AD9371, AD9375 highly integrated, wideband RF transceiver Linux device driver ` - :dokuwiki:`AXI ADC HDL Linux Driver ` - :dokuwiki:`AD9208 ADC Linux Driver ` - :dokuwiki:`AD9081 MxFE Linux Driver ` - :dokuwiki:`ADRV9009, ADRV9008 highly integrated, wideband RF transceiver Linux device driver ` - :dokuwiki:`AD9371, AD9375 highly integrated, wideband RF transceiver Linux device driver ` No-OS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - :dokuwiki:`ADI JESD204B/C AXI_ADXCVR Highspeed Transceivers No-OS Driver ` - :dokuwiki:`ADI JESD204B/C Receive Peripheral No-OS Driver ` - :dokuwiki:`ADI JESD204B/C Transmit Peripheral No-OS Driver ` - :dokuwiki:`AXI ADC No-OS Driver ` - :dokuwiki:`AXI DAC No-OS Driver ` Tutorial -------------------------------------------------------------------------------- #. :dokuwiki:`Introduction ` #. :dokuwiki:`System Architecture ` #. :dokuwiki:`Generic JESD204B block designs `. This will help you understand the generic blocks for the next steps. #. Checkout the :ref:`HDL Source `, and then build either one of: #. :dokuwiki:`HDL AMD Xilinx ` #. :dokuwiki:`HDL Altera ` #. :dokuwiki:`Linux ` Example Projects -------------------------------------------------------------------------------- - :dokuwiki:`AD-FMCADC2-EBZ Reference Design ` - :git-hdl:`AMD Xilinx VC707 ` - :git-hdl:`AMD Xilinx ZC706 ` - :dokuwiki:`AD-FMCADC3-EBZ Reference Design ` - :git-hdl:`AMD Xilinx VC707 ` - :git-hdl:`AMD Xilinx ZC706 ` - :dokuwiki:`AD-FMCADC4-EBZ Reference Design (RETIRED) ` - :git-hdl:`AMD Xilinx ZC706 ` - :dokuwiki:`AD-FMCJESDADC1-EBZ Reference Design ` - :git-hdl:`AMD Xilinx KC705 ` - :git-hdl:`AMD Xilinx VC707 ` - :git-hdl:`AMD Xilinx ZC706 ` - :dokuwiki:`AD-FMCOMMS8-EBZ Reference Design ` - :git-hdl:`Intel A10SOC ` - :git-hdl:`AMD Xilinx ZCU102 ` - :dokuwiki:`AD-FMCOMMS11-EBZ Reference Design ` - :git-hdl:`AMD Xilinx ZC706 ` - :dokuwiki:`AD-FMCDAQ2-EBZ Reference Design ` - :git-hdl:`Intel A10SOC ` - :git-hdl:`Intel A10Gx (RETIRED) ` - :git-hdl:`AMD Xilinx KC705 ` - :git-hdl:`AMD Xilinx KCU105 ` - :git-hdl:`AMD Xilinx VC707 (RETIRED) ` - :git-hdl:`AMD Xilinx ZC706 ` - :git-hdl:`AMD Xilinx ZCU102 ` - :dokuwiki:`AD-FMCDAQ3-EBZ Reference Design ` - :git-hdl:`Intel A10Gx (RETIRED) ` - :git-hdl:`AMD Xilinx KCU105 ` - :git-hdl:`AMD Xilinx VCU118 ` - :git-hdl:`AMD Xilinx ZC706 ` - :git-hdl:`AMD Xilinx ZCU102 ` - :dokuwiki:`ADRV9371 Reference Design ` - :git-hdl:`Intel A10SOC ` - :git-hdl:`Intel A10Gx (RETIRED) ` - :git-hdl:`AMD Xilinx KCU105 ` - :git-hdl:`AMD Xilinx ZC706 ` - :git-hdl:`AMD Xilinx ZCU102 ` - :dokuwiki:`ADRV9009 Reference Design ` - :git-hdl:`AMD Xilinx ZCU102 ` - :dokuwiki:`ADRV9009-ZU11EG-SOM Reference Design ` - :git-hdl:`Intel A10SOC ` - :git-hdl:`Intel A10Gx (RETIRED) ` - :git-hdl:`AMD Xilinx ZC706 ` - :git-hdl:`ADRV9009-ZU11EG-SOM ` - :dokuwiki:`AD913x/AD917x/AD9144/AD915x/AD916X Reference Design ` - See the :git-hdl:`list of supported parts ` - :git-hdl:`Intel A10SOC ` - :git-hdl:`AMD Xilinx VCU118 ` - :git-hdl:`AMD Xilinx ZC706 ` - :git-hdl:`AMD Xilinx ZCU102 ` - :ref:`AD9081-FMCA-EBZ Reference Design ` - :git-hdl:`Intel A10SOC ` - :git-hdl:`AMD Xilinx ZC706 ` - :git-hdl:`AMD Xilinx ZCU102 ` - :git-hdl:`AMD Xilinx VCU118 ` - :git-hdl:`AMD Xilinx VCU128 ` - :git-hdl:`AMD Xilinx VCK190 ` - :ref:`AD9082-FMCA-EBZ Reference Design ` - :git-hdl:`AMD Xilinx VCK190 ` - :git-hdl:`AMD Xilinx VCU118 ` - :git-hdl:`AMD Xilinx ZC706 ` - :git-hdl:`AMD Xilinx ZCU102 ` - :dokuwiki:`AD9081-FMCA-EBZ X-Band Phased Array Reference Design ` - :git-hdl:`AMD Xilinx ZCU102 ` - :dokuwiki:`AD9213-DUAL-EBZ Reference Design ` - :git-hdl:`Intel S10SOC ` - :dokuwiki:`AD9213-EBZ Reference Design ` - :git-hdl:`AMD Xilinx VCU118 ` - :dokuwiki:`AD6676-EBZ Reference Design ` - :git-hdl:`AMD Xilinx VC707 ` - :git-hdl:`AMD Xilinx ZC706 ` - :dokuwiki:`AD9083-FMC ` - :git-hdl:`Intel A10SOC ` - :git-hdl:`AMD Xilinx ZCU102 ` - :dokuwiki:`AD9208-DUAL-EBZ reference design ` - :git-hdl:`AMD Xilinx VCU118 ` - :dokuwiki:`AD9209-FMCA-EBZ reference design ` - :git-hdl:`AMD Xilinx VCK190 ` - :dokuwiki:`AD9656 HDL Reference Design ` - :git-hdl:`AMD Xilinx ZCU102 ` - :dokuwiki:`AD9695-FMC reference design ` - :git-hdl:`AMD Xilinx ZCU102 ` - :dokuwiki:`AD-QUADMXFE1-EBZ reference design ` - :git-hdl:`AMD Xilinx VCU118 ` - :dokuwiki:`AD-FMCLIDAR1-EBZ reference design ` - :git-hdl:`Intel A10SOC (RETIRED) ` - :git-hdl:`AMD Xilinx ZC706 (RETIRED)` - :git-hdl:`AMD Xilinx ZCU102 (RETIRED)` - :dokuwiki:`ADRV9026 reference design ` - :git-hdl:`AMD Xilinx ZCU102 ` Additional Information -------------------------------------------------------------------------------- - :dokuwiki:`JESD204B Glossary ` Technical Articles ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - :adi:`JESD204B Survival Guide ` - :adi:`Synchronizing Sample Clocks of a Data Converter Array ` .. _rapid_prototyping_label: JESD204B Rapid Prototyping Platforms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - :adi:`EVAL-ADRV9371 ` :dokuwiki:`(User Guide) ` - :adi:`EVAL-ADRV9008-9009 ` :dokuwiki:`(User Guide) ` - :dokuwiki:`ADRV9009-ZU11EG (User Guide) ` - :adi:`AD-FMCJESDADC1-EBZ ` - :adi:`AD-FMCOMMS11-EBZ ` :dokuwiki:`(User Guide) ` - :adi:`AD-FMCADC2-EBZ ` - :adi:`AD-FMCADC3-EBZ ` - :adi:`AD-FMCADC4-EBZ `\ (RETIRED) - :adi:`AD-FMCDAQ2-EBZ ` :dokuwiki:`(User Guide) ` - :adi:`EVAL-FMCDAQ3-EBZ ` :dokuwiki:`(User Guide) ` - :adi:`EVAL-AD917X ` JESD204B Analog-to-Digital Converters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - :adi:`AD6673 `: 80 MHz Bandwidth, Dual IF Receiver - :adi:`AD6674 `: 385 MHz BW IF Diversity Receiver - :adi:`AD6676 `: Wideband IF Receiver Subsystem - :adi:`AD6677 `: 80 MHz Bandwidth, IF Receiver - :adi:`AD6684 `: 135 MHz Quad IF Receiver - :adi:`AD6688 `: RF Diversity and 1.2GHz BW Observation Receiver - :adi:`AD9207 `: 12-Bit, 6 GSPS, JESD204B/JESD204C Dual Analog-to-Digital Converter - :adi:`AD9208 `: 14-Bit, 3GSPS, JESD204B, Dual Analog-to-Digital Converter - :adi:`AD9209 `: 12-Bit, 4GSPS, JESD204B/C, Quad Analog-to-Digital Converter - :adi:`AD9213 `: 12-Bit, 10.25 GSPS, JESD204B, RF Analog-to-Digital Converter - :adi:`AD9234 `: 12-Bit, 1 GSPS/500 MSPS JESD204B, Dual Analog-to-Digital Converter - :adi:`AD9250 `: 14-Bit, 170 MSPS/250 MSPS, JESD204B, Dual Analog-to-Digital Converter - :adi:`AD9625 `: 12-Bit, 2.6 GSPS/2.5 GSPS/2.0 GSPS, 1.3 V/2.5 V Analog-to-Digital Converter - :adi:`AD9656 `: Quad, 16-Bit, 125 MSPS JESD204B 1.8 V Analog-to-Digital Converter - :adi:`AD9680 `: 14-Bit, 1.25 GSPS/1 GSPS/820 MSPS/500 MSPS JESD204B, Dual Analog-to-Digital Converter - :adi:`AD9683 `: 14-Bit, 170 MSPS/250 MSPS, JESD204B, Analog-to-Digital Converter - :adi:`AD9690 `: 14-Bit, 500 MSPS / 1 GSPS JESD204B, Analog-to-Digital Converter - :adi:`AD9691 `: 14-Bit, 1.25 GSPS JESD204B, Dual Analog-to-Digital Converter - :adi:`AD9694 `: 14-Bit, 500 MSPS JESD204B, Quad Analog-to-Digital Converter - :adi:`AD9695 `: 14-Bit, 1300 MSPS/625 MSPS, JESD204B, Dual Analog-to-Digital Converter Analog-to-Digital Converter - :adi:`AD9083 `: 16-Channel, 125 MHz Bandwidth, JESD204B Analog-to-Digital Converter - :adi:`AD9094 `: 8-Bit, 1 GSPS, JESD204B, Quad Analog-to-Digital Converter JESD204B Digital-to-Analog Converters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - :adi:`AD9135 `: Dual, 11-Bit, high dynamic, 2.8 GSPS, TxDAC+® Digital-to-Analog Converter - :adi:`AD9136 `: Dual, 16-Bit, 2.8 GSPS, TxDAC+® Digital-to-Analog Converter - :adi:`AD9144 `: Quad, 16-Bit, 2.8 GSPS, TxDAC+® Digital-to-Analog Converter - :adi:`AD9152 `: Dual, 16-Bit, 2.25 GSPS, TxDAC+ Digital-to-Analog Converter - :adi:`AD9154 `: Quad, 16-Bit, 2.4 GSPS, TxDAC+® Digital-to-Analog Converter - :adi:`AD9161 `: 11-Bit, 12 GSPS, RF Digital-to-Analog Converter - :adi:`AD9162 `: 16-Bit, 12 GSPS, RF Digital-to-Analog Converter - :adi:`AD9163 `: 16-Bit, 12 GSPS, RF DAC and Digital Upconverter - :adi:`AD9164 `: 16-Bit, 12 GSPS, RF DAC and Direct Digital Synthesizer - :adi:`AD9172 `: Dual, 16-Bit, 12.6 GSPS RF DAC with Channelizers - :adi:`AD9173 `: Dual, 16-Bit, 12.6 GSPS RF DAC with Channelizers - :adi:`AD9174 `: Dual, 16-Bit, 12.6 GSPS RF DAC and Direct Digital Synthesizer - :adi:`AD9175 `: Dual, 11-Bit/16-Bit, 12.6 GSPS RF DAC with Wideband Channelizers - :adi:`AD9176 `: Dual, 16-Bit, 12.6 GSPS RF DAC with Wideband Channelizers - :adi:`AD9177 `: Quad, 16-Bit, 12 GSPS RF DAC with Wideband Channelizers JESD204B RF Transceivers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - :adi:`AD9371 `: SDR Integrated, Dual RF Transceiver with Observation Path - :adi:`AD9375 `: SDR Integrated, Dual RF Transceiver with Observation Path and DPD - :adi:`ADRV9009 `: SDR Integrated, Dual RF Transceiver with Observation Path - :adi:`ADRV9008-1 `: SDR Integrated, Dual RF Receiver - :adi:`ADRV9008-2 `: SDR Integrated, Dual RF Transmitter with Observation Path JESD204B/C Mixed-Signal Front Ends ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - :adi:`AD9081 `: MxFE™ Quad, 16-Bit, 12GSPS RFDAC and Quad, 12-Bit, 4GSPS RFADC - :adi:`AD9082 `: MxFE™ QUAD, 16-Bit, 12GSPS RFDAC and DUAL, 12-Bit, 6GSPS RFADC - :adi:`AD9986 `: 4T2R Direct RF Transmitter and Observation Receiver - :adi:`AD9988 `: 4T4R Direct RF Receiver and Transmitter JESD204B Clocking Solutions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - :adi:`AD9528 `: JESD204B Clock Generator with 14 LVDS/HSTL Outputs - :adi:`HMC7043 `: High Performance, 3.2 GHz, 14-Output Fanout Buffer - :adi:`HMC7044 `: High Performance, 3.2 GHz, 14-Output Jitter Attenuator with JESD204B - :adi:`LTC6952 `: Ultralow Jitter, 4.5GHz PLL, JESD204B/JESD204C - :adi:`ADF 4371 `: Microwave Wideband Synthesizer with Integrated VCO