基于SRAM的FPGA配置过程其实是一个非常复杂的过程,而往往是大部分工程师从来都没有注意过,现在我以Altera的Cyclone FPGA介绍一下FPGA的配置过程:
Altera Cyclone系列FPGA配置时序:
Vcc爬升->POR->配置->初始化寄存器-〉用户工作模式
1. Vcc上电爬升阶段:如线性15ms爬升到0.75V左右;
2. POR阶段:一般100ms左右,nSTATUS 和CONF_DONE被置低;
3. 配置阶段:过了POR,nSTATUS信号被释放;开始配置数据;如果所有的信号都配置完成,释放CONF_DONE信号,如果配置数据有错误,nSTATUS被置低;如果需要重新配置,nCONFIG信号至少拉低40us;
4. 初始化阶段(initializtion): 初始化寄存器和IO;当CONF_DONE信
号进入高电平,开始初始化;Cyclone需要136时钟周期(用内部振荡器或者从CLKUSER引脚输入的外部时钟信号)。初始化完毕,释放INIT_DONE信号。
5. 用户模式阶段:如果需要重新配置,需要把nCONFIG至少拉低40us.