FPGA自动加载系统方案设计详解

时间:2025-11-02  作者:Diven  阅读:0

0 引言

FPGA自动加载系统方案设计详解

FPGA(Field Programmable Gate Array)即现场可编程门阵列,随着微电子技术的发展,FPGA的性能变的越来越优越,应用空间也变得越来越广。FPGA具有支持重复编程的特点,但是掉电后不能保存配置信息。因此在上电后,都需要用户将设计的FPGA配置文件从外部存储器中下载到FPGA中才能工作。针对这种情况,本文提出了以USB芯片,FLASH芯片和CPLD组成的FPGA自动加载系统。该系统通过USB芯片将PC中的配置文件传送给CPLD,CPLD再将其写入FLASH芯片,FLASH芯片可以长久地存储配置文件。这样FPGA每次上电后CPLD将FLASH中的配置文件读出来配置FPGA。从而使FPGA在每次上电后都可以自动获取配置文件,使其可以作为一个独立“芯片”工作,具有很强的实用性。在PS模式配置方式上也有改进,在传统PS模式下配置多个FPGA时通常使用前一级的FPGA的nCEO连接后一级FPGA的nCE来使能后一级FPGA,这样在第一个FPGA配置好后,nCEO会使能下一级的FPGA开始配置。这样只能先配置第一个FPGA,而且不能自由控制来配置下一级的FPGA。采用CPLD同时连接两个nCE,在前一级FPGA配置好后,获取完成信号来配置第二个FPGA,这样不受FPGA前后级联的顺序影响,可以自由选择配置FPGA。

1 系统框架及芯片简介

系统由CPLD,USB芯片和FLASH芯片组成,外加PC部分配合系统工作。系统框架见图1。系统中USB芯片连接PC与CPLD,PC通过USB向CPLD发送命令来操作FLASH。首先发送擦除FLASH命令,擦除完毕或将配置文件写入FLASH芯片。在FLASH芯片中可以存入多个FPGA的配置文件,在上电后或者需要加载时,CPLD读取FLASH中的配置文件并且对FPGA进行配置。

2 烧写FLASH时序

USB、CPLD和FLASH的连接关系如图2所示。USB将PC的命令和配置文件发送给CPLD,CPLD通过时序逻辑控制FLASH。

系统中所使用的USB芯片是FTDI公司的FT245BL,将USB芯片与PC连接后,USB芯片会自动识别为串口,利用串口调试助手可以向其发送命令或文件。

擦除和烧写FLASH操作如下所述:

FLASH芯片选用恒忆公司的M29EW系列512MNOR型FLASH。采用异步时钟操作,时序图中的fls_byte管脚对应的位宽选择信号,在本系统中将其拉低表示使用8 b位宽fls_adr表示地址,fls_dat表示数据,fls_cen为芯片使能信号,fls_oen为芯片读使能信号,fls_wen为芯片写使能信号。

如图3和图4所示,在执行擦除或写操作时序时,将fls_cen拉低、fls_oen拉高时可以执行写或擦除命令,fls_wen上升沿采样地址,下降沿采样数据。fls_ry_by是芯片的繁忙或空闲信号,是FLASH芯片惟一的输出信号,用于表示正在执行擦除或者写操作。

(1)擦除FLASH

在使用FALSH芯片之前需要对其进行擦除,PC通过USB向CPLD发出擦除命令后如图3所示。写入连续5个对应的地址和数据后,FLASH芯片将整个芯片的数据擦除,如图3所示在执行后,fls_ry_by信号拉低表示进入了擦除状态。

(2)烧写FLASH

如图4所示,在执行写FLASH操作时,首先需要给出写FLASH三次对应的数据和地址作为前置命令,然后给出需要写入FLASH的地址和数据。在接到命令后,CPLD根据图中时序将FPGA的配置文件写入FLASH。

3 PS模式自动加载FPGA

FPGA的配置管脚如图5所示。

在PS模式下配置FPGA的FLASH,CPLD和FPGA的连接关系如图5所示。

图6所示为PS模式加载FPGA的流程图。在加载过程中,将ps_nce拉低并且将ps_nconfig拉低至少40μs后再拉高,正常情况下这个操作会使ps_nstatus产生一个由低到高的一个脉冲信号并且使ps_conf_done由高变低。在ps_nstatus产生上升沿的瞬间立即给出ps_dclk和ps_data0来配置FPGA,其中ps_data0信号是通过读取FLASH芯片中的数据实现的。FPGA在接收配置文件的过程会自动识别文件的结尾,在配置结束后ps_ conf_done信号会拉高以表明配置结束,配置过程中init_done会由高变低,在经过至少18μs后init_done信号拉高表明完成初始化,随后进入用户模式。常规的方式采用nCONFIG,nSTATUTS,CONF_DONE复用,并且前一级FPGA的nCE连接后一级的FPGA的nCEO,这样加载顺序就被固定,而且每次加载只能先加载第一个FPGA,待加载完毕后才能加载第二个FPGA。与常规的配置方式不同之处在于通过使能nCE来选择需要配置的FPGA,给出相应的配置文件与信号ps_conf_done的时序来判断是否配置完成,这样就可以自由选择配置FPGA。

如图7所示为FPGA自动加载的平台,通过CPLD的逻辑控制和USB芯片的总线可以将PC端配置文件写入FLASH芯片中。在需要使用自动加载功能时,在上电后CPLD会立即读出存取在FLAHS中的FPGA配置文件,以PS模式配置相应的FPGA。

4

经测试系统可以在上电后对FPGA进行自动加载。本文提供了系统的结构框架和实施方案整体流程以及时序要求,具有很强的应用和参考价值。

猜您喜欢

胶壳端子是电气连接中常用的元件,其种类繁多,主要区别在于结构、材料和应用场景。从结构上看,胶壳端子可以分为插拔式和固定式,插拔式端子方便更换和维护,而固定式则更...
2013-06-06 00:00:00

财务和税务处理中,正确使用税收编码很重要。对于监控电源这类产品,找到准确的税收编码可能会让一些人感到困惑。本文将帮助您轻松理解监控电源所属的税收编码类别,并提供...
2024-01-04 00:00:00

以太网反向供电适配器是一种创新的网络解决方案,专为简化网络设备连接而设计。无论是在家庭还是在办公环境中,这款适配器都能提供高效的网络连接和电力传输,让用户享受到...
2024-09-13 00:00:00

防浪涌电阻作为保护元件是非常重要的配件。丰晶(Gausstek)作为知名的防浪涌电阻品牌,高品质的产品性能和稳定的电压参数赢得了认可。本文将详细介绍丰晶防浪涌电...
2024-12-08 08:03:45

光敏电阻作为重要的光电传感元件,是不可少的配件。VITROHM作为知名的光敏电阻系列品牌,优异的性能和稳定的质量,深受广大电子工程师和制造商的青睐。本文将为您详...
2015-09-06 22:25:30

当我们在设计中使用Zynq SoC或Zynq UltraScale + MPSoC时,可以有两种方法来实现SPI接口:使用PS端的SPI控制器(PS端有两个S...
2018-04-22 11:46:00

敲击扳手是应用于机械维修和汽车保养的工具,其规格和尺寸直接影响到使用效果和操作便利性。敲击扳手的规格通常驱动端的尺寸来划分,常见的有1/4英寸、3/8英寸、1/...
2016-06-09 00:00:00

现代科技日益发展的今天,配件的选择对设备的性能和使用体验非常重要。本文将重点介绍“Accessories_16X4.5MM_TM”,这是一款多功能的配件,适用于...
2025-04-21 05:00:07

高度规是测量和校准工具中重要的一类,应用于机械制造、工程测量等领域。根据不同的使用需求和结构特点,高度规可以分为以下几类:首先是机械高度规,这种高度规通常由铸铁...
2023-01-17 00:00:00

贴片电阻功率表是一款专门用于测量贴片电阻功率的精密仪器。它能够快速、准确地测量各种尺寸和阻值的贴片电阻的实际功率,帮助工程师和技术人员评估电路性能、优化设计,并...
2025-04-14 15:02:25