Altera_Forum
Honored Contributor
16 years agoNIOS Processor Fails to Reset
We're using a Cyclone III FPGA with a NIOS processor & custom designed logic. The system was built using Quartus V8.1. A configuration sequence can be forced via an external watchdog timer. When the watchdog causes the configuration to occur, the configuraton completes successfully, however, the processor does not appear to correctly reset.
I've confirmed that the configuration was successful by the fact that the custom (non-processor related) logic functions correctly, however, the processor code does not execute. Using the JTAG interface, I was able to bring up the nios2 console, and reset the processor by entering the following commands: halt reset go The processor will then execute code. Also, when a power on reset sequence occurs, the processor will execute code correctly. It only mis-behaves when the reset occurs from the watchdog timer. The watchdog timer output is connected the the FPGA nCONFIG input. Again, the configuration sequence occurs correctly. The system contains Flash memory & DDR DRAM. Both the processor reset signal & Flash reset signals originate from the same internal FPGA reset logic. The reset logic is a 5 bit counter that counts 64 clocks. When counting, the reset is asserted. When the count completes, the counter is disabled, and the reset signal is deasserted. The DDR DRAM is reset by the DRAM controller, which was generated using SOPC builder. The reset input to this controller originates from the same reset counter described above. When the system is reset using the JTAG interface & nios2-console, the system seems to perform normally. The problem occurs on one out of every 5 or 6 boards. The rest seem to operate correctly, indicating some type of timing issue. Anyone out there encounter a similar problem?