JTAG programming

This section describes how to program the Xilinx xc7a50 FPGA configuration FLASH memory used on the LimeSDR-XTRX v1.2 board with JTAG interface and Vivado software.

Used software and hardware

For Xilinx xc7a50 FPGA JTAG programming full Vivado design software or standalone programmer from Vivado Lab solutions can be used. It is recomended to use Vivado Lab Solutions if only programming is needed.

List of used software is given in Table 1.

Table 1. Required software and tools

Tool

Version

Comment

Vivado Lab Solutions - 2024.1

2024.1

Standalone programing software for Windows OS. Also available for Linux OS.

Vivado Edition - 2024.1

2024.1

(Optional) FPGA design and programming software. Standart Edition Free can be used

List of required hardware is given in Table 2.

Table 2. Required hardware

Hardware

Version

Comment

PCIe x2 + RF frontend adapter

Mini PCIe to PCIe adapter with JTAG connector pins

List of tested JTAG programming cables is given in Table 3.

Table 3. Tested JTAG programming cables

Hardware

Version

Comment

Xilinx Platform Cable USB II

Original JTAG programming cable from Xilinx

Waveshare Platform Cable USB

Compatible JTAG programming cable for Xilinx devices from Waveshare

Connecting LimeSDR-XTRX v1.2 board to JTAG adapter

JTAG pins of LimeSDR-XTRX v1.2 can be accessed only trough pogo connector. RF front end adapter is needed to connect to JTAG pins. For demonstration purposes Waveshare Platform Cable will be used.

  • Instert LimeSDR-XTRX v1.2 into RF frontend adapter mini PCIe slot

  • Connect JTAG jumper cables as shown in Table 4 between JTAG adapter and RF front end adapter JTAG header.

  • Select power source jumper (USB or PCIe see figure 1)

  • Connect USB cable to Waveshare Platform Cable

  • Connect micro USB cable to RF frontend adapter if you selected USB power source in previuos setup (skip this step if you selected PCIe power source).

  • Insert RF frontend adapter into PCIe slot and power up PC (skip this step if you selected USB power source).

Table 4. LimeSDR Mini board and FT2232H Mini module connections

Waveshare Platform Cable USB

PCIe x2 + RF frontend adapter

TMS

TMS

TDI

TDI

TDO

TDO

TCK

TCK

GND

GND

VCC

VIO

../_images/jtag_programming_1.jpg

Figure 1: Connecting Waveshare Platform Cable

../_images/jtag_programming_2.jpg

Figure 2: Waveshare Platform Cable JTAG pins

../_images/jtag_programming_3.jpg

Figure 3: RF frontend adapter JTAG pins

FLASH memory programming using Vivado or Vivado Lab Edition

  • Make sure you have a JTAG programmer connected to the LimeSDR-XTRX’s JTAG pins via a PCIe adapter as described in sections above

  • Open Vivado or Vivado Lab Edition

  • Open Hardware manager

  • Click Tools -> Auto connect

  • An FPGA device should be detected. Right click on it and select “Add configuration memory device”

  • Select “mx25l25673g-spi-x1_x2_x4”

  • Right click on the newly added memory device and choose “Program configuration memory device”

  • Select configuration .bin file and click OK. Precompiled programming file for LimeSDR-XTRX v1.2 version can be found here

  • When programming is done LimeSDR-XTRX v1.2 has to be powered down to load new gateware from FLASH memory