--- Quote Start ---
The Host PC is on all the time , but the DUT is power cycled where the PCIe slot power is removed and
re-applied at times ... Is this legal ... since the Host PC is supplying +5V USB to the USB I/F device but the other
supplies to that device are off .... ?
--- Quote End ---
This is unlikely to be the source of your issue. If you look at the schematic, the FTDI device is the only component powered from 5V. If the board was in stand-alone mode, then it still needs an external 12V power supply.
I just plugged my kit in with USB and power, and then repeatedly plugged and unplugged the 12V connector without turning the power switch off, and I could not get it to fail.
--- Quote Start ---
At some time, unknown, the Cyclone card red LED , MAX_error comes on and will not clear when the power is
removed from the Cyclone card , unless the USB cable , supplying +5V USB is removed also.
I'm thinking the USB I/F device may be in some error state and will not clear unless the +5V USB power is removed .
With this information, does anyone have ideas on:
1. How what this condition is ?
2. How to avoid this condition OR clear this condition from the Host PC without shutting down the PC or removing the USB cable ?
--- Quote End ---
Well, the first thing is to look at the schematic and find the red LED ... p10 has a CONF_DONE_LED ... is that the one?
The fact that CONF_DONE did not assert, means that there was a configuration issue at power-on. Perhaps the external power source is not ramped up cleanly.
Here's a potential solution;
1. Trigger the condition where the red LED comes on.
2. Press the PGM_CONF button on the board.
Does the FPGA configure correctly?
If yes, then this tells you that the board is powered correctly, but the power-on sequence has some form of issue that causes configuration to fail. Your solution will be to issue a configuration request via USB.
How do you do that? Well, the kit has a MAX II system controller, and that typically has a Virtual JTAG component instantiated to provide access to some internal registers ...
Here's what I see from the kit I have ...
$ jtagconfig -n
1) USB-Blaster
028010DD EP4CGX15
Node 19104600 Nios II# 0
Node 0C006E00 JTAG UART# 0
020A40DD 5M(1270ZF324|2210Z)/EPM2210
Node 00406E00 (110:8)# 0
The second device contains a Virtual JTAG core.
Look at page 14 of the reference manual and you'll see a block diagram of the system controller.
Unfortunately the system controller is not well documented in the reference manual, but the source code is available.
So "all you need to do" is read the MAX II source code, figure out the register map of the device, then you can issue a Virtual JTAG command to pulse nCONFIG.
*Alternative solution*
1. Trigger the condition where the red LED comes on.
2. Scan the JTAG chain.
If you can see the Cyclone IV GX device, then you can issue a JTAG command to it to pulse nCONFIG. I have some code I can dig up that shows how to do that.
Cheers,
Dave