浅谈FPGA安全启动配置的供电需求
本文主要以Spartan-6 FPGA的主动串行配置模式进行讲解,Spartan-6 FPGA的配置Sequence如图1.1所示。
图1.1中Setup的第一步:Device Power-Up,就是本文要阐述的,它是整个配置流程的第一步,如果这一步出现问题,后面的就无法正常进行,FPGA就无法完成加载配置。
Spartan-6 FPGA配置需要VCCO_2、VCCAUX和VCCINT引脚供电,对这些引脚的供电没有特殊的顺序要求。每一个引脚的供电都对应着FPGA内部的一个功能模块,如表1.1所示。
Pin Name | Description |
VCCINT | Internal core voltage. |
VCCAUX | Auxiliary power input for configuration logic and other FPGA functions. |
VCCO_2 | Dual-purpose configuration pin output supply voltage. VCCO_2 cannot be 1.2V or 1.5V during configuration. |
其中,VCCO_2 和VCCAUX的供电有一定的对应关系,即如果VCCO_2为1.8V,那么VCCAUX就必须是2.5V,如果VCCO_2是2.5V或者3.3V,那么VCCAUX可以是2.5V或者3.3V中的任意一个。为保证FPGA能够成功正常上电,Xilinx对表中的三个电源供电有如下两个要求:
1、电源供电必须在指定的ramp time范围内单调上升至稳定电压;
2、在电源供电达到期望的阈值电压之前,电源供电不能有dip出现。
每个供电电压的ramp time如表1.2所示。
Symbol | Speed Grade | Ramp Time | Units |
VCCINT | -3,-3N,-2 | 0.2 to 50.0 | ms |
VCCAUX | ALL | 0.2 to 50.0 | ms |
VCCO_2 | ALL | 0.2 to 50.0 | ms |
如果无法保证上面的供电要求,那么我们就必须在系统供电达到要求的操作电压之前将INIT_B引脚或者PROGRAM_B引脚一直拉低。
一般来说,对于Spartan-6 FPGA的供电是没有特殊的时序要求的,但是如果采用的是主动串行的SPI FLASH配置的话就对供电时序有要求,而且这个供电时序是必须要特殊关注的。
Spartan-6 FPGA的上电时序图如图1.2所示。
图1.2中的时序参数如所示。
Symbol | Description | Speed Grade | Units | |||
-3 | -3N | -2 | -1L | |||
TPL | PROGRAM_B Latency | 4 | 4 | 4 | 5 | ms,Max |
TPOR | Power-on reset (50 ms ramp time) | 5/30 | 5/34 | 5/40 | 5/40 | ms, Min/Max |
Power-on reset (10 ms ramp time) | 5/25 | 5/29 | 5/35 | 5/40 | ms, Min/Max | |
TPROGRAM | PROGRAM_B Pulse Width | 500 | 500 | 500 | ns, Min |