基于CPLD+FLASH通用快速的FPGA配置方案*

2021-03-21 04:34:42李治辉
通信技术 2021年2期

袁 君,李治辉,姚 超

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引言

由于FPGA数据掉电丢失的问题,FPGA配置是系统设计中必不可少的部分[1]。随着FPGA配置文件的增大,配置时间在系统启动过程中所占的时间比例越来越不可忽视。如果FPGA设计中包含PCIE、SDIO等从设备,还必须在CPU启动扫描设备前就配置完成并进入工作态,这时FPGA配置的速度尤为关键。实际应用中,每个项目选用的FPGA型号不尽相同,配置的相关参数也不同,但是FPGA的从模式配置时序却基本一致[1]。为了保证足够的配置速率和配置模块的快速移植,针对嵌入式系统中CPU+FPGA的典型应用[2],本文提出了一种基于CPLD+FLASH的通用、快速、全国产化的FPGA配置方案。该方案兼顾灵活性和通用性,对实际项目具有极大的参考价值。

1 方案架构

方案的系统组成如图1所示。CPU与CPLD通信一般对速率不敏感,可通过SPI、I2C、LocalBus以及GPIO等简单接口交互,几乎每个系统的CPU都满足条件。CPU不仅可以和CPLD通信,实现接口转换或数据处理等逻辑功能,还可以通过CPLD内部的SPI FLASH控制器操作外部FLASH。CPLD读取FLASH内的配置参数和数据,按照从模式配置接口的时序要求实现FPGA的配置。

图1 方案原理架构

本方案主要有3个优点:

(1)通用性强。硬件设计和CPLD逻辑设计保持不变,CPU仅仅通过改变FLASH上存储的数据格式,便可以实现不同FPGA芯片的程序配置,能够快速应用于新项目,缩短项目开发调试周期。

(2)配置速度快。CPLD整个配置期间无需CPU干预,而且可以上电后立即启动配置[3],能够最大程度地减少配置时间。……

登录APP查看全文