Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21608 Discussions

Reconfigure entire FPGA without using external pin

Altera_Forum
Contributeur émérite II
1 302 Visites

Hello all, 

i'm new in altera-forum and have problems with starting a reconfiguration process from inside a Cyclone 4-FPGA. The functionality i need is exactly the same as pulling the nconfig-pin low. But on my custom fpga-board there is no way to do this from fpga-logic. I've tried to use the reconfig-signal of remote-update-core but it seem there are some side-effects which lead to non-derterministic behavior after reconfiguration. The reconfiguration seems to work, but later there are sporadic additional reconfigurations without activating the reconfig-signal. I guess this is due to watchdog-timer. Is there another way of starting a reconfiguration process from inside an FPGA? 

 

Thank you very much.
0 Compliments
2 Réponses
Altera_Forum
Contributeur émérite II
607 Visites

Off the top of my head I can't think of any way to do this purely in software. 

 

One approach would be to include a one-shot monostable circuit between an FPGA IO pin and the nCONFIG line. (e.g. http://www.linear.com/product/ltc6993-1

When the FPGA drives a signal out to the monostable, then the monostable will output a nice controlled-width pulse to the nCONFIG pin. 

 

Without a monostable, the FPGA would cut its own throat as soon as it drove the nCONFIG line and so the reset pulse width would just be a glitch and unreliable. 

 

The other way to do it is to have a watchdog chip driving the nCONFIG line. I use these on all my FPGA boards. (e.g. MAX6369KA+T) 

Your application would normally kick the watchdog at regular intervals (I do this from the software on my NIOS-II embedded soft-processor). 

To re-configure your chip, just let the watchdog time-out.
0 Compliments
Altera_Forum
Contributeur émérite II
607 Visites

Good morning, 

Thanks a lot for your tips. On other FPGA-Boards we also use some reset-circuits. But because on the actual board the FPGA is master of the whole system the idea is to reset the device from internal logic without the use of external components. Perhaps i'm able to get the remote-update-core working properly, which seems to include the monostable-functionality you described. If there is no way to do this we would have to re-design our board and use some external circuits.
0 Compliments
Répondre