I am trying to get a general understanding on what happens if you leave an FPGA unprogrammed for a long duration of time.
Suppose you have an FPGA and you leave it unprogrammed for a long period of time (several minutes to hours after power-on), i.e. no bitstream on it, is this bad for the device? Is it recommended to have some bitstream on a powered-on FPGA at all times? What is the general opinion regarding this?
Are the results different on different devices or manufacturers (Xilinx vs. Altera vs. others)?
Additional Info:
I have a custom SoC board which uses a Xilinx Virtex-6 FPGA. I also have a Xilinx ML605 which I use for reference purposes.
Custom board: I power-on the board. I notice that I get a short duration of time to program it using XMD (Xilinx Microprocessor Debugger). If I lose the 20-30 sec window, I have to switch off and switch on the board before trying again. This does not happen with an ML605.
When I try to program the custom board over XMD, I get something like:
Error: Device Reset by JPROGRAM command, failed. INIT_COMPLETE did not go high.
Let me know what you think.
Best Answer
This is an interesting question. From personal experience, I have left FPGAs powered up for hours in an unprogrammed state while performing checks on the rest of the circuitry when a new board comes in from the assembly house. I have not noticed any detrimental effects from doing so. But I've honestly never thought about it.
I looked around to try and find a recommendation from an FPGA manufacturer but could not find one. The only statement I found regarding this state is from a Lattice whitepaper and regards the design of the FPGA itself and not how it should be used:
Xilinx likewise mentions what the quiescent current is so that you can design your power supply accordingly. But does not mention what the effect on the device is of leaving it in such a state:
I would be very interested to hear if anyone has experienced damage to a device from leaving it in a quiescent state. But I think as long as the power supply is properly matched to the device, there should be no problem.