XEM3001v2 configuration failed. done did not go high

I am having problems configuring my FPGA. I’m programming in XPS 12.2 and then trying to load the .bit file into the FPGA via frontpanel and it’s not working.

All I get is config. failed done did not go high.

In order to try and debug this, I’ve put only the most basic of cores onto the fpga - a microblaze processor and a gpio core driving just 1 pin. I’m pretty sure I have the .ucf file all good, except for the clock pins (which look to be auto-configured correctly). I can progam the board without problems using the opalkelly ‘first’ sample files and with the tutorial here:
http://wiki.opalkelly.com/tutorial:part1

I don’t understand what would cause this - for example, would this error occur if there were compiling warnings or undefined pins?

Please help, starting to bang head on desk here :S

Do you have the right target part chosen?

I have ensured that I have the correct part chosen when generating a bitfile using Xilinx tools, but no matter if I use a bitfile I generated myself or the bitstreams included in sample projects I always receive the error, “FPGA configuration failed: done did not go high” when I try to load a bitfile using Front Panel. Were you ever able to resolve this issue?

Thanks,
Jason

Well nevermind on the previous question, I finally solved it after 5 hours of toying with settings and creating new Xilinx projects and generating different bitfiles to see why my board wouldn’t configure. Well this may be posting the solution in slightly the wrong place because I am in fact using an XEM 3010-1500, but just in case someone with the same problem is redirected here, when configuring using the USB port I had to set a jumper across pin J1 and finally my bitfiles would load to the board without and problem! However, when I first installed the jumper on J1 my configuration still did not complete until I also installed a jumper on J2, however the jumper on J2 should not be installed when configuring using USB because it is for configuring using PROM. However, even with a jumper on both J1 and J2 I was still able to configure using USB, and then when I removed the jumper on J2 and left just J1 installed it did in fact work correctly.

[QUOTE=element4lifex8;3574]I have ensured that I have the correct part chosen when generating a bitfile using Xilinx tools, but no matter if I use a bitfile I generated myself or the bitstreams included in sample projects I always receive the error, “FPGA configuration failed: done did not go high” when I try to load a bitfile using Front Panel. Were you ever able to resolve this issue?

Thanks,
Jason[/QUOTE]

From the XEM3010 User’s Manual:

[QUOTE]In normal USB-programmed operation, J1 is inserted pulling MUXSEL low and connecting the FPGA and USB microcontroller at all times. This allows USB-based programming of the FPGA and subsequent USB communication with the FPGA design after configuration.

In order to allow the PROM to configure the FPGA, J1 must be removed. In order to deassert MUXSEL post-configuration, your design must deassert MUXSEL. This allows the FPGA design to properly startup and allows for communication over USB even after the PROM has configured it.[/QUOTE]

…and…

[QUOTE]When a jumper is installed across J2, S1 is electrically connected to the PROG_B pin on the FPGA. In this configuration, S1 may be used to force the FPGA to reprogram itself using the image
in PROM.

Note that this mode is only available when the XEM3010 is configured for PROM configuration of the FPGA. When the XEM3010 is configured for USB configuration, no jumper should be installed across J2.[/QUOTE]

We don’t write these documents for fun, folks. :slight_smile:

I sincerely appreciate the immediate response! Sorry, I will look deeper into the manual before posting next time, I didn’t notice this explanation upon first glance through the documentation.

[QUOTE=Opal Kelly Support;3576]From the XEM3010 User’s Manual:

…and…

We don’t write these documents for fun, folks. :)[/QUOTE]

— Begin quote from element4lifex8;3577

Sorry, I will look deeper into the manual before posting next time…

— End quote

It’s really no problem. When questions are answered in the documentation, we like to provide the references so that other folks with similar questions can go to those references.

Documentation is often difficult to navigate, especially with things like our devices which pull on multiple sources. The FrontPanel User’s Manual and XEMxxx User’s Manual are the best first sources, but there is also the documentation of the API itself, the samples and their source code, in addition to the documentation from Xilinx.

We feel it is important for customers to not only be familiar with the documentation, but also be familiar with the greater perspective of how the various documents fit together. It’s not something we take lightly and make routine updates to everything based on your feedback.