Forum Discussion
Cyclone III configuration using M25P16 flash
Hi all,
I've recently switched config devices from an ST M25P40 to an ST M25P16 flash for a design using a Cyclone III EP3C10 (in active serial mode). I've wired up the flash as indicated in the Cyclone III datasheet. All was good with the M25P40, but a few of the boards using the larger device have problems configuring. Sometimes the FPGA takes a few seconds to configure, sometimes it won't configure at all. In all cases, if I touch a 'scope probe on the clock pin of the flash (pin 6) the FPGA configures successfully. Any ideas what's going wrong - has anyone seen anything like this before? Thanks in advance. Regards, Richard5 Replies
- Altera_Forum
Honored Contributor
you might try turning on the Disable AS mode CONF_DONE error check in the Advanced Options of the Convert Programming Files menu
- Altera_Forum
Honored Contributor
The flash is about 10mm from the FPGA - the DCLK track length is no more than 25mm. In future, I'll always include a termination resistor. The short-term fix for the boards I have is to swap the flash for the smaller 4MBit device.
- Altera_Forum
Honored Contributor
--- Quote Start --- Sounds as though the M25P16 has a slightly higher drive strength than the M25P40 --- Quote End --- DCLK is driven by the FPGA, not the serial flash. The initial poster didn't tell about the FPGA to flash distance. If it's large, clock signal integrity problems without a series termination aren't surprising. - Altera_Forum
Honored Contributor
Sounds as though the M25P16 has a slightly higher drive strength than the M25P40 causing reflections with your current board layout. I'd check both devices' data sheets if I were you.
If the data sheet shows identical values, this also means that the boards that are being configured by the M25P40 may be marginal and may fail in the future. Best regards, Ben - Altera_Forum
Honored Contributor
OK, fixed it - I needed to add a series termination resistor to the DCLK line. Ideally this would be close to the FPGA, but since that is inaccessible on my board I put it at the receiving end - the config flash clock pin - and the problem is fixed. I guess this larger flash has a lower pin capacitance than the devices I was using previously.