Xilinx Virtex5 FPGA配置Flash的通用访问方法研究
2018-08-07中国空空导弹研究院樊宏伦
中国空空导弹研究院 樊宏伦
引言
FPGA(现场可编程门阵列)由于其资源丰富、设计周期短和风险小、使用灵活等优点,已广泛应用于信号处理和控制领域。FPGA大多采用SRAM工艺,掉电后内部配置数据丢失,再次上电后需要重新对其进行配置,因此在FPGA外部多采用非易失性存储器(称为FPGA的配置PROM或配置Flash)来存储配置数据以方便每次加电后对其进行自动配置。
在系统设计中,经常会出现应用程序需要存储部分非易失性数据的情况,受空间和成本限制,我们不太可能在电路设计中增加额外的外部存储器。由于选用的配置Flash的存储容量往往大于FPGA配置文件的大小,我们可利用配置Flash的剩余空间来存储数据以达到节省电路板空间和成本的目的。
本文以Xilinx Virtex5 XC5VLX110 FPGA及其配置Flash XCF128X为例,介绍了FPGA配置完成后对Flash的读电子签名、总线读写、块擦除等操作,并通过Chipscope工具进行了在线验证,为后续应用提供了设计依据。
1.硬件设计
XCF128X是一款专门为Vitrex5系列FPGA配置设计的Flash,其采用低功耗CMOS NOR-Flash工艺,容量为128Mb。XC5VLX110 FPGA采用XCF128X作为配置Flash的电路如图1所示。本文以主SelectMap模式为例介绍FPGA配置完成后对Flash的访问操作,其它配置模式与此类似,不再赘述。在主SelectMap配置模式下地址总线23位、数据总线16位,配置时钟由FPGA的CCLK管脚提供,CCLK时钟频率可在ISE开发环境的配置选项中的“配置速率”(-g Con figRate)中进行设置。

图1 FPGA主SelectMap配置电路
XC5VLX110 FPGA的上电配置过程如下:
上电,FPGA清除内部配置存储器,将INIT_B管脚驱动为低电平(对应Flash的RP管脚为低进行复位);在复位时Flash将其RDY_WAIT管脚驱动为低电平(对应FPGA PROGRAM_B管脚为低);……
