Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

Stratix V full reconfiguration only works conditionally

On my Stratix V board, the ability to do a full reconfiguration of the device by asserting !nCONFIG is dependent on the state of the device.

I have never seen this before, nor seen it documented.

The 5SGSMD3E2H29C3 is connected to an EPCQ256 in a x4 configuration. Powerup configuration works in all circumstances.

My design also implements a avalon serial flash controller to boot the Nios from EPCQ. The Nios boot from EPCQ also always works on powerup.

The following seem to prevent reconfig from properly executing:

1) Configuring the device in x4 mode. When this is done, only powerup config works. x1 configuration must be used for reconfiguration to reload from EPCQ

2) If the Nios is allowed to boot from flash, reconfig won't work.

If boot is inhibited by asserting reset while powering up, reconfig will work, repeatedly. Once reset is released and the Nios boots, reconfig stops working.

It appears that it is maybe the boot copier that is the problem in situation 2. With only the FPGA image (sof) programmed in flash, I can load my .elf with the debugger and run it, and reconfig still works.

Quartus II 13.0 with SP 0.23 and 0.24

Edit: Once the device is in the 'bad' state, reloading the .sof via JTAG while holding reset DOES NOT re-enable reconfiguration. So there is some state in the device that is not affected by an sof load.

11 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The symptoms of the failed reconfig are very similar to the first one listed in the S5 errata sheet

    false configuration failure in active serial multi-device configuration x1 mode

    "The failure is indicated by CONF_DONE going high followed by nSTATUS going low and reconfiguration is initiated repeatedly"

    except I'm not using a multi-device configuration, and I'm also seeing INIT_DONE go high for about 925uS before each re-initiation

    A couple of other observations from today's testing:

    I installed SP1 for QII 13.0

    Without the additional patch (.23), no reconfiguration worked at all, even when only the sof was flashed. As usual, powerup configuration worked.

    I eventually installed patch .24 as well.

    With SP1.23 and (1.23 1.24) the reconfig behavior is the same as before.

    Something else is unusual: nios2-flash-programmer always erases all affected sectors prior to programming, even if they were previously erased (with --erase-all) or if the data to be programmed should be identical to the flash contents. A --verify option is successful, so the flash can be read and is confirmed to be correct. Is the mandatory erase usual with AS device programming?