Mercury 2 Reference Manual
v1.0 August 2, 2019
© 2019 MicroNova LLC
www.micro-nova.com
5 of 9
FTDI channel A is connected directly to the FPGA configuration pins, FPGA_PROG (to initiate an FPGA
configuration cycle) and FPGA_DONE (to read back the FPGA configuration status). FTDI channel A is also
connected to a digital mux (U5) which is switched between either: the SPI F
lash (U6), or the FPGA’s JTAG port.
The digital mux is controlled via FTDI channel A.
MicroNova provides an open-source programmer utility called
mercury2_prog
. The Mercury 2 Programmer utility
is a command-line application written in C, and built as a native app for both Linux and Windows. The utility
communicates with the FT2232H via FTDI’s D2XX driver. The utility writes the specified FPGA bitstream file to the
SPI Flash. It is also capable of reading back from the SPI Flash, or erasing the entire SPI Flash. Before accessing
the SPI Flash, the FT2232H asserts the FPGA_PROG pin, during which time the FPGA is kept in reset and
prevented from reading from the SPI Flash. After accessing the SPI Flash, the FT2232H de-asserts the
FPGA_PROG pin, releasing control of the SPI Flash to the FPGA. The FPGA attempts to boot from the SPI Flash,
and asserts the FPGA_DONE pin if it has successfully booted.
For most applications, the provided on-board USB port is suitable. For users who require it, the Mercury 2 board
also contains an auxiliary JTAG header wired directly to the Artix-7 FPGA (J8). The JTAG port is a 2x3 header with
0.05 inch (1.27mm) spacing. This port may be useful if you would like to connect to the Artix-7 directly using a
Xilinx JTAG cable (such as the Platform Cable USB II), or if you want to program the FPGA directly via a
microcontroller (see Xilinx XAPP058
: In-System Programming Using an Embedded Microcontroller
).
Figure 7:
Direct JTAG port
Figure 6:
FTDI-to-FPGA configuration interface