Altera_Forum
Honored Contributor
12 years agoCyclone II + NIOS design crashes with high IO pin drive strength
I have a commercial design for a Cyclone II FPGA which communicates with an external SDRAM chip.
The FPGA contains a NIOS system designed in QSys, that run's its 'C' code from the external SDRAM. When originally laid out on a 2-layer PCB this worked fine, but when the same schematic was re-laid out for a 4-layer PCB, the FPGA design didn't work on it any more. (The middle two PCB layers under the digital circuitry are both ground planes) (All the IO pins use VCCIO = 3.3V signalling levels. The IO pins used the default drive strength of 24mA.) (The FPGA is fed by a 48MHz oscillator which goes into an ALTPLL to produce a 64MHz internal NIOS system clock and a -54 degree phase-shifted 64MHz clock which goes off-chip to the SDRAM) The symptoms were that when the code was run from Eclipse, the the JTAG debug would stop responding and would return a stream of 0xFF characters shortly after the FPGA entered user mode. Bizarrely, I can make this 4-layer PCB design work by reducing the IO drive strength of all the FPGA IO pins to the minimum! (4mA) My question is, what is the underlying problem that would cause these symptoms, and why would reducing the IO drive strength appear to fix the problem?