This version is outdated by a newer approved version.DiffThis version (25 Jan 2021 19:34) was approved by Robin Getz.The Previously approved version (09 Jan 2021 00:49) is available.Diff

This is an old revision of the document!

AD9671 Evaluation Board, ADC-FMC Interposer & Xilinx KC705 Reference Design


The AD9671 is designed for low cost, low power, small size, and ease of use for medical ultrasound. It contains eight channels of a variable gain amplifier (VGA) with a low noise preamplifier (LNA), a CW harmonic rejection I/Q demodulator with programmable phase rotation, an anti-aliasing filter (AAF), an analog-to-digital converter (ADC), and a digital demodulator and decimator for data processing and bandwidth reduction. This reference design includes the device data capture via the JESD204B serial interface. The samples are written to the external DDR-DRAM on KC705. It allows programming the device and monitoring it's internal registers via SPI.

Supported Devices

Supported Carriers

Quick Start Guide

The reference design zip file contains a bit file combined with a SDK elf file for a quick demonstration of the programming and data capture. All you need is the hardware and a PC running a UART terminal and the programmer (IMPACT).

Required Hardware

  • KC705 board
  • AD9671-EBZ board & Power supply
  • ADC FMC interposer board (CVT-ADC-FMC-INTPZB)
  • Signal/Clock generator (reference clock input, 80MHz)
  • Signal generators (analog inputs, for data capture)

Required Software

  • Xilinx ISE (Programmer (IMPACT) is sufficient for the demo and is available on Webpack).
  • A UART terminal (Tera Term/Hyperterminal), Baud rate 57600.

Bit file

  • Download the gzip file and extract the sw/cf_ad9671_ebz.bit file.

Board Modifications

Please do the following modifications on the AD9671 evaluation board (9671EE01B).

  • Remove R401.
  • Remove R402.
  • Remove R403.

The board uses a 40MHz external clock for the ADC and the JESD reference clock. The GTX is setup to use a 80MHz reference clock (can not run less than 60MHz). The solution is to use a 80MHz external clock input to the board. This clock is then passed to the GTX as the reference clock and AD9517 to generate a 40MHz clock for the ADC.

  • Remove C308.
  • Remove C309.
  • Populate C307.
  • Populate C310.
  • Populate R337.
  • Populate R339.

Running Demo (SDK) Program

To begin make the following connections (see image below):

  • Connect the AD9671-EBZ board to the FMC Interposer board.
  • Connect the interposer board to the FMC-HPC connector of KC705 board.
  • Connect power to KC705 and the AD9671-EBZ boards.
  • Connect two USB cables from the PC to the JTAG and UART USB connectors on KC705.
  • Connect an external clock source 80MHz (5dBm) to AD9671-EBZ board's J302 SMA connector.
  • Connect signal generators to the CH_A through CH_H (J101 through J108) SMA connectors.

The quick start bit file configures the AD9671 for all test modes and verifies the captured data accordingly. After the hardware setup, turn the power on to the KC705 and the AD9671-EBZ boards.

Hardware setup

Start IMPACT, and initialze the JTAG chain. The program should recognize the Kintex 7 device. Start a UART terminal (set to 57600 baud rate) and then program the device. If programming was successful, you should be seeing messages appear on the terminal as shown in figure below. The program asks for either “real 4 lane” mode or “complex 4 lane” mode. The complex mode is not supported yet. To test the real mode, enter 'r' on the uart terminal. After programming the AD9671, the program checks data capture on various test modes.


After patterns and prbs sequences are verified, if no errors are present, you may use the chipscope busplot to see the captured signal (see below). The ADC data is available on pins [127:0] of UNIT:1 with sets of 16bits for each channel.

Chipscope Busplot

Using the reference design

The reference design is built on a microblaze based system parameterized for linux. A functional block diagram of the design is given below.

block diagram

The reference design consists of two pcores. The JESD core consists of the GTX units and the Xilinx JESD 204 IP core. The AD9671 core consists of three functional modules, the ADC interface, a PN9/PN23 monitor and a DMA interface. The ADC interface captures and buffers data from the JESD core. The DMA interface then transfers the samples to the external DDR-DRAM. The capture is initiated by the software. The status of capture (overflow, over the range) are reported back to the software.

The JESD core and AD9671 core has an AXI lite interface that allows control and monitoring of the capture process.


Please refer to the regmap.txt file in the pcores directory.


FPGA Referece Designs:

Only Xilinx coregen xco files are provided with the reference design. You must regenerate the IP core files using this file. See generating Xilinx netlist/verilog files from xco files for details.

Tar file contents

The tar file contains, in most cases, the following files and/or directories. To rebuild the reference design simply double click the XMP file and run the tool. To build SDK, select a workspace and use the C file to build the elf file. Please refer to Xilinx EDK documentation for details.

license.txt ADI license & copyright information.
system.mhs MHS file.
system.xmp XMP file (use this file to build the reference design).
data/ UCF file and/or DDR MIG project files.
docs/ Documentation files (Please note that this wiki page is the documentation for the reference design).
sw/ Software (Xilinx SDK) & bit file(s).
cf_lib/edk/pcores/ Reference design core file(s) (Xilinx EDK).

More information

resources/fpga/xilinx/interposer/ad9671.1611599603.txt.gz · Last modified: 25 Jan 2021 19:33 by Robin Getz