
23/04/2019
26 / 43
Version 1.09
2.9.2
Flash Configuration Multiplexer
The Cypress FX3 USB 3.0 controller has its own SPI flash, where it can load the application and / or VID
and PID during startup. If no valid boot image is found, the FX3 is waiting to receive the application
code over USB.
In addition, the FX3 can get control over the FPGA configuration interface, JTAG interface and SPI flash
of the Mars FPGA modules by means of analogue multiplexers as shown in Figure 6. This allows
configuring the FPGA over USB or programming the SPI flash from a PC without any additional
hardware. The available multiplexer settings are shown in Table 18.
SPI_SEL
SPI_JTAG_EN# SPI_CONFIG_EN#
Function
X
0
0
Not allowed
0
0
1
FPGA JTAG access
0
1
0
FPGA passive serial configuration
X
1
1
No access (high impedance)
1
0
1
FX3 Flash access
1
1
0
FPGA Flash access
Table 18: Flash configuration multiplexer settings
Warning
By default the flash configuration multiplexers should be kept in high impedance state
to allow the FPGA to load the bitstream from the flash and debugging over JTAG using
an external JTAG adapter cable connected to J800. Before changing the state of the
multiplexers ensure that the accessed signals are not actively driven by another source.
Before initializing the GPIOs of the FX3, the multiplexers are set to FX3 flash access to
enable the Cypress FX3 USB 3.0 controller to boot from flash.