XEM7310MT Program Configuration flash from JTAG

Hello - as a Consultant, I have recommended building the XEM7310MT into my client’s product. With the proprietary nature of the XEM modules (no schematic) I am not sure if this was a good idea and this might have gotten me into big trouble. Everything has gone great, I’ve built custom breakout boards, the project works using .bit files and now it is time to flash the configuration memory to put into the product. I had expected this to be an easy configuration from Vivado hardware manager over JTAG as any SOM allows, but not knowing anything about the configuration device or how it is connected this is proving not as easy as it should be, if it is even possible.

While searching for information it appears that the flash is dependent on Frontpanel software. I cannot expect my customer to install and maintain third party software that they are not licensed to use just to upgrade their equipment or that adds another layer of support that I have to provide as well as licenses they have to buy for each machine.

The Opal Kelly documentation is inconsistent about what flash device is used. Here XEM7310MT - Opal Kelly it claims the configuration device is Cypress S25FS128SAGBHI200, while here On-Board Flash Memory - Opal Kelly Documentation Portal it claims it is Micron N25Q128A13E1240E.

When generating an mcs file (Vivado tools Generate Memory Configuration File) these are not listed, so I tried both mt25qu128-spi-x1_x2_x4 and s25fl128sxxxxxx0-spi-x1_x2_x4. I am not sure what the bit width should be so I tried both SPIx1 and SPIx4, while adjusting the BITSTREAM.CONFIG.SPI_BUSWIDTH property to match.

In the hardware manager I have added a configuration device with the same parameters (mt25qu128-spi-x1_x2_x4 and s25fl128sxxxxxx0-spi-x1_x2_x4) and right click to program it.

I am unable to see the same functionality as the ,bit file when repowering the board. Can someone walk me through the process of flashing via JTAG or is this only possible over USB? With no schematic I am working in the dark. Please provide the parameters for creating a correct mcs file for whatever device is on this mystery board and for however it is configured for flashing. If I can’t get this flashed to work without Frontpanel dependence I and my client are both in big trouble! This should not be a big expectation every Artix development board on the market provides this simple capability of configuring flash over JTAG without dependence on third party software other than Xilinx Lab tools.

Thank you!

The documentation for loading the Flash is here (“On-Board Flash Memory”):

See the section “Loading a Power-On FPGA Configuration”.

We use multiple flash devices for the system flash, depending on availability. The specific device is irrelevant because our device firmware takes care of the compatibility and all reads and writes.

The XEM7310MT does not support programming a power-on FPGA configuration via JTAG.

Thanks I had seen that but it is not particularly helpful. I need to know what parameters to use to create the .MCS file. Can you walk me through that process?