Hello, my name is Bee and I am studying Intel® FPGAs.
In this article, we will study the configuration sequence of the Cyclone® IV device in AS mode.
As described in " Configuration Time ", EPCS and Cyclone IV are connected as shown in the following figure.
What does each signal mean?
The table below summarizes.
As described in " Initialization Time ," configuration data is usually loaded from EPCS into Cyclone IV after power is supplied to the board.
Based on my own experience, I have come up with the following three patterns of possible configuration sequences.
- Power is supplied to the board
- Re-run configuration
- Re-configuration in the event of a configuration error
The movement of each pin during configuration is shown in the table below.
We will look at three patterns of configuration sequences.
Configuration sequence from power-on to the end of configuration
1. The POR circuit monitors VCCINT, VCCIO, and VCCA
2. nCONFIG pin is pulled up to VCCIO and goes High
3. nSTATUS pin is pulled up to VCCIO and goes High
4. DCLK and ASDO are output and data is sent to DATA0
5. After data reception is completed, CONF_DONE is released, pulled-up to VCCIO, and in the High state
Configuration sequence after reconfiguration
1. Drive nCONFIG Low for more than 500ns
2. Drive nCONFIG from Low to High
3. Drive nSTATUS from Low to High
4. DCLK and ASDO are output and data is sent to DATA0
5. After data reception is completed, CONF_DONE is released and VCCIO is pulled up to High state.
Configuration sequence in case of configuration failure
1. POR circuit monitors VCCINT, VCCIO, and VCCA
2. nCONFIG pin is pulled up to VCCIO and goes High
3. nSTATUS pin is pulled up to VCCIO and goes High
4. DCLK and ASDO are output and data is sent to DATA0
5. nSTATUS goes Low
Causes of configuration failure
What are the possible causes of configuration failure? There are two main possible causes.
- Mistakes during tool operation
⇒ A human error, such as when the sof file is created or the pinout constraints are set differently from those of the board.
- Board-related problems
⇒ Two problems are related to signal quality and connection.
(1) Signal quality problems
This is a case where errors occur due to configuration data corruption caused by reflections, crosstalk, noise, or other factors.
To solve this problem, it is necessary to consider the impedance and wiring length of the board wiring. 2) Connection problems
(2) Connection problems
If the MSEL is not in AS mode, the AS mode configuration fails.
Also, nSTATUS and CONF_DONE are open-drain and require a pull-up resistor and other necessary connections for configuration.
(For more information on configuration mode)
One of my failures in the production practice was that I forgot to put a 25Ω series resistor in the DATA line of the Cyclone IV and had a hard time with the configuration.
The following phenomena can be caused by misconnecting the wrong board, resulting in a configuration error.
- The configuration chain is not recognized.
- nSTATUS stuck high or low
- CONF_DONE does not go High
- DATA is not sent.
- DCLK is not output
Configuration is still very deep........