FPGA配置文件自动加载系统及方法与流程

文档序号:12120034阅读:571来源:国知局
FPGA配置文件自动加载系统及方法与流程

本发明涉及数据通信技术领域,具体而言,涉及一种FPGA配置文件自动加载系统及方法。



背景技术:

现场可编辑门阵列(Field-Programmable Gate Array,FPGA)可根据用户需求灵活地对其编程以实现用户功能,如协助中央处理器(Center Process Unit,CPU)完成系统内部单元管理和控制、管理中央处理器的启动以及监控中央处理器的运行状态等,由于具有丰富的逻辑资源与I/O资源且开发周期短、设计成本低、易于产品更新换代等优点,在通信产品领域得到了广泛的应用。

由于FPGA芯片是基于掉电易失性存储器而设计,所以需要通过非易失性存储器存储FPGA配置文件,在系统上电时将FPGA配置文件加载到FPGA芯片中以便进行正常工作,对FPGA配置文件进行更新则是通过更新非易失性存储器中存储的FPGA配置文件,故FPGA配置文件是否便于自动加载和更新成为通信产品易维护性、易扩展性等的重要参考标准。

现有的解决方案中,FPGA配置文件的自动加载和更新需要通过中央处理器联合复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)或者微处理器(Microcontroller Unit,MCU)来实现,系统架构复杂且成本较高;现有的解决方案中,如果FPGA配置文件失效会导致系统不能正常加载,并且没有FPGA配置文件的自动更新功能,不便于FPGA配置文件的在线升级。



技术实现要素:

本发明的目的在于提供一种FPGA配置文件自动加载系统及方法,以解决现有技术中FPGA配置文件自动加载系统架构复杂且FPGA配置文件加载可靠性不高的问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

本发明实施例提出一种FPGA配置文件自动加载系统,所述FPGA配置文件自动加载系统包括:FPGA芯片、复位与解复位模块及主从配置文件切换模块;所述复位与解复位模块包括第一延时电路、开关电路、第一复位芯片及第二复位芯片,所述第一延时电路和所述第二复位芯片均与所述FPGA芯片电连接,所述第一延时电路、开关电路、第一复位芯片、第二复位芯片依次电连接;所述主从配置文件切换模块包括第二延时电路、选通电路、主flash模块和从flash模块,所述FPGA芯片通过所述选通电路与所述主flash模块和从flash模块电连接,所述第二延时电路与所述FPGA芯片及所述选通电路均电连接,所述主flash模块和从flash模块均存储有FPGA配置文件;所述FPGA芯片用于控制所述第一延时电路输出第一延时信号,所述开关电路用于根据所述第一延时信号向所述第一复位芯片输出控制信号,所述第一复位芯片用于在被所述控制信号触发时向所述第二复位芯片输出第一复位信号,所述第二复位芯片用于在上电时或收到所述第一复位信号时向所述FPGA芯片输出配置信号;所述FPGA芯片还用于控制所述第二延时电路输出第二延时信号,所述选通电路用于依据所述第二延时信号选通所述主flash模块或从flash模块,所述FPGA芯片用于在所述配置信号的控制下从所述主flash模块或从flash模块加载所述FPGA配置文件。

本发明实施例还提出一种FPGA配置文件自动加载方法,应用于FPGA配置文件自动加载系统,所述FPGA配置文件自动加载系统包括FPGA芯片、复位与解复位模块及主从配置文件切换模块;所述复位与解复位模块包括第一延时电路、开关电路、第一复位芯片及第二复位芯片,所述第一延时电路和所述第二复位芯片均与所述FPGA芯片电连接,所述第一延时电路、开关电路、第一复位芯片和所述第二复位芯片依次电连接;所述主从配置文件切换模块包括第二延时电路、选通电路、主flash模块和从flash模块,所述FPGA芯片通过所述选通电路与所述主flash模块和从flash模块电连接,所述第二延时电路与所述FPGA芯片及所述选通电路均电连接,所述主flash模块和从flash模块均存储有FPGA配置文件;所述FPGA配置文件自动加载方法包括:所述FPGA芯片控制所述第一延时电路输出第一延时信号;所述开关电路根据所述第一延时信号向所述第一复位芯片输出控制信号,以不触发所述第一复位芯片输出第一复位信号;所述第二复位芯片上电时输出配置信号;所述FPGA芯片控制所述第二延时电路输出第二延时信号;所述选通电路依据所述第二延时信号选通所述主flash模块;所述FPGA芯片在所述配置信号的控制下从所述主flash模块加载所述FPGA配置文件;若所述FPGA芯片从所述主flash模块加载所述FPGA配置文件失败,则所述开关电路根据所述第一延时电路经预定时间延时后的第一延时信号向所述第一复位芯片输出控制信号,以触发所述第一复位芯片输出第一复位信号;所述第二复位芯片收到所述第一复位信号时向所述FPGA芯片输出配置信号;所述选通电路依据所述第二延时电路经预定时间延时后的第二延时信号选通所述从flash模块;所述FPGA芯片在所述配置信号的控制下从所述从flash模块加载所述FPGA配置文件。

相对现有技术,本发明具有以下有益效果:本发明提供的一种FPGA配置文件自动加载系统及方法,FPGA芯片在第二复位芯片输出的配置信号的控制下从主flash模块或者从flash模块加载存储的FPGA配置文件,当所述FPGA芯片从所述主flash模块加载所述FPGA配置文件失败时,可从所述从flash模块加载存储的FPGA配置文件。该FPGA配置文件自动加载系统的架构简单,通过此方式加载FPGA配置文件具有更高的可靠性和易操作性。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明第一实施例提供的FPGA配置文件自动加载系统的结构框图。

图2示出了本发明第一实施例提供的FPGA芯片与复位与解复位模块的电路连接示意图。

图3示出了本发明第一实施例提供的FPGA芯片与主从配置文件模块的电路连接示意图。

图4示出了本发明第一实施例提供的FPGA配置文件自动加载方法的流程示意图。

图5示出了本发明第二实施例提供的FPGA配置文件更新及重新加载方法的流程示意图。

图标:100-FPGA配置文件自动加载系统;110-中央处理器;120-FPGA芯片;130-复位与解复位模块;140-主从配置文件切换模块;132-第一延时电路;134-开关电路;136-第一复位芯片;138-第二复位芯片;142-第二延时电路;144-选通电路;146-主flash模块;148-从flash模块;1441-反向电路;1443-总线切换开关。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

第一实施例

图1示出了本发明第一实施例提供的FPGA配置文件自动加载系统100的结构框图。该FPGA配置文件自动加载系统100包括中央处理器110、FPGA芯片120、复位与解复位模块130及主从配置文件切换模块140,该中央处理器110、复位与解复位模块130及主从配置文件切换模块140均与该FPGA芯片120电连接。

该中央处理器110可用于向该FPGA芯片120发送喂狗信号WDI以启动该FPGA配置文件自动加载系统100,该中央处理器110还可用于更新FPGA配置文件时通过LOCAl BUS总线将新版本的FPGA配置文件传送至该FPGA芯片120中。在本实施例中,当该中央处理器110及时给该FPGA芯片120发送喂狗信号WDI,表明该中央处理器110正常运行。

该FPGA芯片120可用于加载FPGA配置文件、将新版本的FPGA配置文件更新至主从配置文件切换模块140中以及当FPGA配置文件加载成功时向中央处理器110输出第二复位信号CPU_RST以解复位该中央处理器110;该FPGA芯片120还用于在中央处理器110向该FPGA芯片120发送喂狗信号WDI超时时,向中央处理器110输出第二复位信号CPU_RST以复位该中央处理器110,保证该中央处理器110出现故障时能及时恢复正常。

该复位与解复位模块130用于控制所述FPGA芯片120加载FPGA配置文件,其包括第一延时电路132、开关电路134、第一复位芯片136及第二复位芯片138,该第一延时电路132、第二复位芯片138均与该FPGA芯片120电连接,该第一延时电路132、开关电路134、第一复位芯片136、第二复位芯片138依次电连接。该第一延时电路132用于依据FPGA芯片120输出的第一使能信号RST_EN输出第一延时信号DELAY1;该开关电路134用于依据该第一延时信号DELAY1向该第一复位芯片136输出控制信号PWR;该第一复位芯片136用于在被该控制信号PWR触发时向该第二复位芯片138输出第一复位信号MANUAL_RST;该第二复位芯片138用于在该FPGA配置文件自动加载系统100上电或者收到该第一复位信号MANUAL_RST时向该FPGA芯片120输出配置信号nCONFIG。

该主从配置文件切换模块140用于给该FPGA芯片120加载或更新FPGA配置文件时提供加载或更新通道,其包括第二延时电路142、选通电路144、主flash模块146和从flash模块148,该第二延时电路142与该FPGA芯片120、选通电路144均电连接,该主flash模块146和从flash模块148均存储有FPGA配置文件。该选通电路144用于选通该主flash模块146或从flash模块148以使该FPGA芯片120加载或者更新FPGA配置文件,该选通电路144包括反向电路1441及总线切换开关1443,该反向电路1441电连接于该第二延时电路142和该总线切换开关1443之间,该总线切换开关1443同时与该主flash模块146、从flash模块148、FPGA芯片120电连接。该第二延时电路142用于上电加载该FPGA配置文件时依据该FPGA芯片120输出的第二使能信号BOOT_EN1输出第二延时信号DELAY2,该第二延时电路142还用于更新FPGA配置文件时依据该FPGA芯片120输出的第三使能信号BOOT_EN2输出第三延时信号DELAY3。该反向电路1441用于加载FPGA配置文件时依据第二延时信号DELAY2输出不同的选通信号SEL以及更新FPGA配置文件时依据第三延时信号DELAY3输出不同的选通信号SEL;该总线切换开关1443用于依据该不同的选通信号SEL来选通该主flash模块146或从flash模块148。

在本实施例中,当该第二复位芯片138上电向该FPGA芯片120输出配置信号nCONFIG且该总线切换开关1443选通该主flash模块146时,该FPGA芯片120从主flash模块146中加载存储的FPGA配置文件;当该第二复位芯片138收到第一复位信号MANUAL_RST向该FPGA芯片120输出配置信号nCONFIG且该总线切换开关1443选通从flash模块148时,该FPGA芯片120从该从flash模块148中加载存储的FPGA配置文件。

图2示出了本发明第一实施例提供的FPGA芯片120与复位与解复位模块130的电路连接示意图,该第一延时电路132包括第一电容C1和第一电阻R1,该开关电路134包括第一场效应管Q1和第二场效应管Q2,其中,该第一场效应管Q1为N沟道场效应管,该第二场效应管Q2为P沟道场效应管。该第一电容C1和第一电阻R1串联于电源GP3V3和地之间,该FPGA芯片120的第一输入输出端口IO1电连接于该第一电容C1和第一电阻R1之间;该第一场效应管Q1的栅极电连接于该第一电容C1和第一电阻R1之间,该第一场效应管Q1的源极接地,该第一场效应管Q1的漏极与该第二场效应管Q2的栅极电连接,该第一场效应管Q1的漏极通过第一上拉电阻R2与该电源GP3V3电连接,该第二场效应管Q2的源极与该电源GP3V3电连接,该第二场效应管Q2的漏极与该第一复位芯片136的电源输入端VCC电连接,并且该第二场效应管Q2的漏极通过第一下拉电阻R3接地;该第一复位芯片136的第一复位端RESET1与该第二复位芯片138的复位信号输入端#MR电连接,该第一复位芯片136的第一复位端RESET1通过第四上拉电阻R4与电源GP3V3电连接,该第二复位芯片138的第二复位端#RESET与该FPGA芯片120的配置控制输入端NCONFIG电连接,该第二复位芯片138的第二复位端#RESET通过第二下拉电阻R5接地。

图3示出了本发明第一实施例提供的FPGA芯片120与主从配置文件切换模块140的电路连接示意图,该第二延时电路142包括第二电容C2和第二电阻R6,该反向电路1441包括第三场效应管Q3和第四场效应管Q4,其中,该第三场效应管Q3和第四场效应管Q4均为N沟道场效应管。该第二电阻R6和该第二电容C2串联于电源GP3V3和地之间,该FPGA芯片120的第二输入输出端口IO2电连接于该第二电容C2和第二电阻R6之间,该第三场效应管Q3的栅极电连接于该第二电容C2和第二电阻R6之间,该第三场效应管Q3的源极接地,该第三场效应管Q3的漏极与该第四场效应管Q4的栅极电连接,该第三场效应管Q3的漏极通过第二上拉电阻R7与该电源GP3V3电连接,该第四场效应管Q4的漏极通过第三上拉电阻R8与该电源GP3V3电连接,该第四场效应管Q4的源极接地;该第四场效应管Q4的栅极和漏极均与该总线切换开关1443电连接,该反向电路1441输出的选通信号SEL包括第一选通信号SEL1和第二选通信号SEL2,其中,该第四场效应管Q4的栅极输出的信号为第一选通信号SEL1,该第四场效应管Q4的漏极输出的信号为第二选通信号SEL2;该总线切换开关1443同时电连接于该主flash模块146和从flash模块148,并且该总线切换开关1443还与该FPGA芯片120的第三输入输出端口IO3、一组SPI接口(SPI_CS、SPI_CLK、SPI_MISO、SPI_MOSI)电连接以建立SPI通道实现FPGA配置文件的加载及更新。

在本实施例中,该FPGA配置文件自动加载系统100上电时,该FPGA芯片120由于未加载FPGA配置文件,第一输入输出端口IO1、第二输入输出端口IO2管脚属性均为高阻,第一使能信号RST_EN起始电平为低电平,第二使能信号BOOT_EN1起始电平为低电平,第一延时电路132输出的第一延时信号DELAY1为低电平,此时第一场效应管Q1和第二场效应管Q2均为截止状态,故第一复位芯片136没有被提供电源,由于第四上拉电阻R4的作用使第一复位信号MANUAL_RST为高电平,第二复位芯片138未被触发。第二延时电路142输出的第二延时信号DELAY2为低电平,此时第三场效应管Q3为截止状态,第四场效应管Q4为导通状态,第一选通信号SEL1为高电平,第二选通信号SEL2为低电平,该总线切换开关1443选通主flash模块146;第二复位芯片138上电时输出T3秒低电平的配置信号nCONFIG拉低该FPGA芯片120的NCONFIG管脚对该FPGA芯片120进行复位,T3秒以后该FPGA芯片120被解复位,该FPGA芯片120从选通的主flash模块146加载FPGA配置文件,该FPGA芯片120加载FPGA配置文件的时间一般在T4秒以内。在本实施例中,该第一使能信号RST_EN通过第一延时电路132的最大延迟时间可为T1秒,T1=R1*C1*ln[(V11-V10)/(V11-V1T)],其中,V11为第一电容C1可以充电的最终电压,V10为第一电容C1的起始电压,V1T为T1时刻第一电容C1的充电电压;该第二使能信号BOOT_EN1通过第二延时电路142的最大延迟时间可为T2秒,T2=R2*C2*ln[(V21-V20)/(V21-V2T)],其中,V21为第二电容C2可以充电的最终电压,V20为第二电容C2的起始电压,V2T为T2时刻第二电容C2的充电电压。需要说明的是,在本实施例中,T1≥T3+T4,T1=T2,该复位与解复位模块130通过延迟复位保证了该FPGA配置文件自动加载系统100的所有电源上电完成后经过T3秒再加载FPGA配置文件。

在上电后T1秒内,如果该FPGA芯片120加载FPGA配置文件失败,第二延时电路142计时到T2秒后,控制第二使能信号BOOT_EN1为高电平,则第二延时电路142输出的经T2秒延时后的第二延时信号DELAY2为高电平,此时第三场效应管Q3为导通状态,第四场效应管Q4为截止状态,第一选通信号SEL1为低电平,第二选通信号SEL2为高电平,该总线切换开关1443选通从flash模块148。该第一延时电路132计时到T1秒后控制第一使能信号RST_EN为高电平,第一延时电路132输出的经T1秒延时后的第一延时信号DELAY1为高电平,此时第一场效应管Q1和第二场效应管Q2均为导通状态,故第一复位芯片136被提供电源并输出第一复位信号MANUAL_RST,该第一复位信号MANUAL_RST为低电平,用于触发该第二复位芯片138向该FPGA芯片120输出低电平的配置信号nCONFIG,以控制该FPGA芯片120从选通的从flash模块148重新加载FPGA配置文件;当该FPGA芯片120加载FPGA配置文件成功时,该FPGA配置文件通过控制第一使能信号RST_EN为低电平,进而保证该第一复位芯片136不被供电。

当进行FPGA配置文件的更新时,如果更新主flash模块146存储的FPGA配置文件,通过FPGA芯片120控制第三使能信号BOOT_EN2为低电平,进而选通主flash模块146将从中央处理器110送入的新版本FPGA配置文件更新至该主flash模块146中;如果更新从flash模块148存储的FPGA配置文件,通过该FPGA芯片120控制第三使能信号BOOT_EN2为高电平,进而选通从flash模块148将从中央处理器110送入的新版本FPGA配置文件更新至该从flash模块148;当完成FPGA配置文件的更新时,中央处理器110通过控制该FPGA芯片120以使该第一使能信号RST_EN为高电平,此时第一复位芯片136被提供电源向第二复位芯片138输出T5秒低电平的第一复位信号MANUAL_RST,该第二复位芯片138依据该第一复位信号MANUAL_RST向该FPGA芯片120输出配置信号nCONFIG,该配置信号nCONFIG控制该FPGA芯片120重新加载更新过的FPGA配置文件,实现了在非断电情况下在线更新FPGA配置文件。

需要说明的是,在本实施例中,T3由第二复位芯片138的参数决定,通常为几百毫秒级;T4为该FPGA芯片120加载FPGA配置文件的整个过程需要的时间,通常为秒级;T5由第一复位芯片136的参数决定,通常为几百毫秒级。

图4示出了本发明第一实施例提供的FPGA配置文件自动加载方法的流程示意图,下面将对图4所示的具体流程进行详细阐述。

步骤S401,FPGA芯片120控制第一延时电路132输出第一延时信号DELAY1。

在本实施例中,当该FPGA配置文件自动加载系统100上电时,该FPGA芯片120向该第一延时电路132输出第一使能信号RST_EN,该第一使能信号RST_EN的起始电平为低电平,该第一延时电路132依据该第一使能信号RST_EN输出的第一延时信号DELAY1为低电平。

步骤S402,该开关电路134根据该第一延时信号DELAY1向该第一复位芯片136输出控制信号PWR,以不触发该第一复位芯片136输出第一复位信号MANUAL_RST。

在本实施例中,由于第一延时信号DELAY1为低电平,开关电路134依据该第一延时信号DELAY1输出的控制信号PWR为低电平,该低电平不能触发该第一复位芯片136,该第一复位芯片136没有被提供电源。

步骤S403,该第二复位芯片138上电时输出配置信号nCONFIG。

在本实施例中,第一复位芯片136因没有被提供电源,未向该第二复位芯片138输出第一复位信号MANUAL_RST,第二复位芯片138由于上电向该FPGA芯片120输出了配置信号nCONFIG。

步骤S404,该FPGA芯片120控制第二延时电路142输出第二延时信号DELAY2。

在本实施例中,当该FPGA配置文件自动加载系统100上电时,该FPGA芯片120向该第二延时电路142输出第二使能信号BOOT_EN1,该第二使能信号BOOT_EN1的起始电平为低电平,该第二延时电路142依据该第二使能信号BOOT_EN1输出的第二延时信号DELAY2为低电平。

步骤S405,选通电路144依据该第二延时信号DELAY2选通主flash模块146。

在本实施例中,由于第二延时信号DELAY2为低电平,反向电路1441依据该第二延时信号DELAY2输出的第一选通信号SEL1为高电平,第二选通信号SEL2为低电平,故该总线切换开关1443选通主flash模块146。

步骤S406,该FPGA芯片120在该配置信号nCONFIG的控制下从该主flash模块146加载FPGA配置文件。

在本实施例中,该配置信号nCONFIG为T3秒的低电平信号,通过拉低FPGA芯片120的配置控制输入端NCONFIG使该FPGA芯片120复位,T3秒后该FPGA芯片120被解复位,该FPGA芯片120从选通的主flash模块146中加载FPGA配置文件。

步骤S407,判断FPGA配置文件是否加载成功。

在本实施例中,该第一延时电路132计时到T1秒,控制第一使能信号RST_EN为高电平,则表明该FPGA芯片120从主flash模块146中加载FPGA配置文件失败;若第一使能信号RST_EN为低电平,则加载FPGA配置文件成功。

步骤S408,若该FPGA芯片120从主flash模块146加载该FPGA配置文件失败,则开关电路134根据该第一延时电路132经预定时间延时后的第一延时信号DELAY1向该第一复位芯片136输出控制信号PWR,以触发该第一复位芯片136输出第一复位信号MANUAL_RST。

在本实施例中,该第一延时电路132中设置的预定时间为T1秒,T1秒后该FPGA配置文件加载失败,则此时第一使能信号为高电平,第一延时电路132根据该第一使能信号RST_EN输出的经T1秒延时后的第一延时信号DELAY1为高电平,该开关电路134向该第一复位芯片136输出的控制信号PWR为高电平,此时第一复位芯片136被触发向该第一复位芯片136输出第一复位信号MANUAL_RST。

步骤S409,该第二复位芯片138收到该第一复位信号MANUAL_RST时向该FPGA芯片120输出配置信号nCONFIG。

在本实施例中,此时第一复位信号MANUAL_RST为低电平,控制该第二复位芯片138向该FPGA芯片120输出配置信号nCONFIG,且该配置信号nCONFIG为低电平。

步骤S410,该选通电路144依据该第二延时电路142经预定时间延时后的第二延时信号DELAY2选通该从flash模块148。

在本实施例中,该第二延时电路142中设置的预定时间为T2秒,其中,T2与该第一延时电路132中设置的预定时间T1相同。第二延时电路142计时到T2秒,控制第二使能信号BOOT_EN1为高电平,该第二延时电路142依据该第二使能信号BOOT_EN1输出的第二延时信号DELAY2为高电平,该反向电路1441依据该第二延时信号DELAY2输出的第一选通信号SEL1为低电平,第二选通信号SEL2为高电平,该总线切换开关1443选通从flash模块148。

步骤S411,该FPGA芯片120在该配置信号nCONFIG的控制下从该从flash模块148加载该FPGA配置文件。

在本实施例中,该配置信号nCONFIG通过拉低FPGA芯片120的配置控制输入端NCONFIG使该FPGA芯片120复位,T3秒后该FPGA芯片120解复位,该FPGA芯片120从选通的从flash模块148加载FPGA配置文件。

步骤S412,该FPGA配置文件加载成功后,该FPGA芯片120解复位与该FPGA芯片120电连接的中央处理器110,该中央处理器110启动完成后向该FPGA芯片120发送喂狗信号WDI以启动该FPGA配置文件自动加载系统100。

在本实施例中,若该FPGA芯片120从主flash模块146加载FPGA配置文件成功,则直接在步骤S407后执行步骤S412。

需要说明的是,上述的部分步骤并不代表严格按照上述方式被执行,例如,步骤S401、S404也可同时被执行。

第二实施例

图5示出了本发明第二实施例提供的FPGA配置文件更新及重新加载方法的流程示意图,下面将对图5所示的具体流程进行详细阐述。

步骤S501,FPGA芯片120判断通过主flash模块146或从flash模块148的FPGA配置文件启动。

在本实施例中,FPGA芯片120正常工作时,通过反向电路1441输出的第一选通信号SEL1及第二选通信号SEL2的电平来判断该FPGA芯片120通过主flash模块146还是通过从flash模块148的配置文件启动,当该第一选通信号SEL1为高电平、第二选通信号SEL2为低电平时,该FPGA芯片120通过主flash模块146的配置文件启动,当该第一选通信号SEL1为低电平、第二选通信号SEL2为高电平时,该FPGA芯片120通过从flash模块148的配置文件启动。

步骤S502,该FPGA芯片120控制第二延时电路142输出第三延时信号DELAY3。

在本实施例中,当FPGA芯片120通过主flash模块146的配置文件启动,则此时该FPGA芯片120更新主flash模块146的FPGA配置文件,该FPGA芯片120控制第三使能信号BOOT_EN2为低电平,该第二延时电路142依据该第三使能信号BOOT_EN2输出的第三延时信号DELAY3为低电平;当FPGA芯片120通过从flash模块148的配置文件启动,则此时该FPGA芯片120更新从flash模块148的FPGA配置文件,该FPGA芯片120控制第三使能信号BOOT_EN2为高电平,该第二延时电路142依据该第三使能信号BOOT_EN2输出的第三延时信号DELAY3为高电平。

当然,上述的步骤S501也可省略。也就是说,无论FPGA芯片120通过主flash模块146还是从flash模块148的配置文件启动,该FPGA芯片120可通过控制该第三使能信号BOOT_EN2的电平进而选择更新主flash模块146或从flash模块148的FPGA配置文件。

步骤S503,该选通电路144依据该第三延时信号DELAY3选通该主flash模块146或从flash模块148。

在本实施例中,当第三延时信号DELAY3为低电平时,该第一选通信号SEL1为高电平、第二选通信号SEL2为低电平,该总线切换开关1443选通主flash模块146;当第三延时信号DELAY3为高电平时,该第一选通信号SEL1为低电平、第二选通信号SEL2为高电平时,该总线切换开关1443选通从flash模块148。

步骤S504,该中央处理器110将新版本的FPGA配置文件传送至该FPGA芯片120,该FPGA芯片120将新版本的FPGA配置文件更新至该主flash模块146或从flash模块148。

在本实施例中,该中央处理器110通过LOCAl BUS总线将新版本的FPGA配置文件传送至该FPGA芯片120中,该FPGA芯片120通过SPI总线与该总线切换开关1443电连接,该FPGA芯片120内部逻辑实现将LOCAl BUS总线转到SPI总线,将新版本的FPGA配置文件通过建立的SPI通道更新至该主flash模块146或从flash模块148。

步骤S505,该新版本的FPGA配置文件更新完成后,该FPGA芯片120重新加载更新后的FPGA配置文件。

在本实施例中,当新版本的FPGA配置文件更新完成时,中央处理器110通过控制该FPGA芯片120以使该第一使能信号RST_EN为高电平,此时第一复位芯片136被提供电源向第二复位芯片138输出第一复位信号MANUAL_RST,该第一复位信号MANUAL_RST为低电平触发第二复位芯片138向该FPGA芯片120输出配置信号nCONFIG,以复位该FPGA芯片120,该FPGA解复位后重新加载更新后的FPGA配置文件。需要说明的是,该FPGA芯片120重新加载更新后的FPGA配置文件的过程与本发明第一实施例所提供的自动加载FPGA配置文件过程一致。

需要说明的是,在本实施例中,若该FPGA芯片120通过主flash模块146的配置文件启动,但需要更新从flash模块148的FPGA配置文件时,该第三延时信号DELAY3由低电平变为高电平的预定时间与第一实施例中第二延时电路142中设置的预定时间T2秒相同。

综上所述,本发明实施例所提供的FPGA配置文件自动加载系统及方法,FPGA芯片在第二复位芯片输出的配置信号的控制下从主flash模块或者从flash模块加载存储的FPGA配置文件,当所述FPGA芯片从所述主flash模块加载所述FPGA配置文件失败时,可从所述从flash模块加载存储的FPGA配置文件,保证了系统正常加载的可靠性;同时,在FPGA芯片正常工作时,FPGA芯片可将中央处理器送入的FPGA配置文件更新至主flash模块或者从flash模块,并且在更新完成后可在线实现重新加载更新后的FPGA配置文件。该FPGA配置文件自动加载系统的架构简单,FPGA配置文件的加载及更新具有更高的可靠性和易操作性,在产品的成本控制、易维护性、易扩展性等方面具有重要的意义。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1