一种通用化的FPGA配置系统及方法与重配置系统及方法技术方案

技术编号:20363009 阅读:17 留言:0更新日期:2019-02-16 16:35
本发明专利技术公开了一种通用化的FPGA配置系统及方法与重配置系统及方法,包括外部存储单元、FPGA配置单元、FPGA重配置单元和FPGA群;FPGA配置单元包括FPGA配置控制模块和配置监测模块;FPGA重配置单元包括FPGA重配置控制模块、配置监测模块和重配置定时器模块。FPGA配置过程由上电初始化、配置控制及状态判断组成,FPGA重配置过程由FPGA去同步和同步控制、重配置控制及状态判断组成。可独立并行实现多路不同类型FPGA的配置和动态重配置;通过重配置定时器模块实现以指定时间为周期的动态重配;外接存储系统的设计最大化满足了配置数据存储的灵活性;结构简单清晰,控制灵活高效,且通用性强、普适性高,易于实施,灵活应用于多类型、大规模FPGA配置控制系统或专用集成电路。

【技术实现步骤摘要】
一种通用化的FPGA配置系统及方法与重配置系统及方法
本专利技术属于集成电路设计领域,涉及一种通用化的FPGA配置系统及方法与重配置系统及方法。
技术介绍
现场可编程门阵列FPGA作为集成电路领域发展最快的一个分支,由于其具有ASIC电路的高性能和软件编程的灵活性,大规模FPGA在越来越多的数字逻辑系统中得到了非常广泛的应用。而FPGA的配置则正是使其具有高性能和灵活性必不可少的过程,通过配置不同的比特流文件来实现指定的FPGA逻辑功能。因此,有关FPGA比特流文件配置的控制就显得尤为重要。Xilinx公司的Virtex系列FPGA芯片,内部主要包含可配置逻辑块(CLB)、输入输出模块(IOB)、BlockRAM模块等,可以通过配置比特流文件(包括配置命令和配置数据)来实现指定的FPGA逻辑功能。一般来讲,FPGA配置加载分为配置(Configuration)和重配置(Reconfiguration)两部分。通常FPGA的配置模式有以下几种:(1)JTAG模式,配置文件通过专用软件和硬件下载器少写到PROM中实现对FPGA的配置,只适用于开发调试阶段,且配置速率较低;(2)主串模式,配置文件存放在外部存储器中,存储器和FPGA通过串行接口连接,系统上电后,FPGA自动从存储器读取配置文件,但其灵活性差,配置文件升级换代困难;(3)主并模式,除存储器和FPGA通过并行接口连接外,与主串模式类似;(4)从串模式,FPGA通过串行接口连接到系统中的微处理器,微处理器读取存放在外部存储器或网络设备中的配置文件,下载到FPGA中,使用灵活;(5)从并模式,与从串类似,存储器和FPGA通过并行接口连接。主模式(主串、主并)与从模式(从串、从并)的另一个主要区别在于,主模式的下载同步时钟由FPGA提供,而从模式的下载时钟由外部时钟源或外部控制信号提供,主模式对下载时序的要求比从模式更加严格。同时,从串模式下FPGA芯片级联数目较多,配置时间较长、系统启动缓慢。而从并模式以其配置时间短、简单灵活等特性逐渐地应用于大规模FPGA系统中。现如今,在航天星载电子系统中,由于电子设备的复杂度极高,功能多样化,性能要求苛刻,仅仅只依靠早期单一小规模的FPGA已无法满足当前航天应用的需求。因此,多类型大规模的FPGA群已逐渐替代原有的单一小规模FPGA。并得到了非常广泛的应用。同时这也就带来了一个新问题,单一小规模FPGA的控制简单,而多类型大规模FPGA的控制复杂,如何高效地控制大规模FPGA完成高效配置才是关键。然而,针对这一需求,基于上述几种配置模式,经检索相关文献,目前也没有一个能满足该需求更优的方法。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺点,提供一种通用化的FPGA配置系统及方法与重配置系统及方法。为达到上述目的,本专利技术采用以下技术方案予以实现:一种通用化的FPGA配置系统,包括外部存储单元、FPGA配置单元和FPGA群;其中:外部存储单元用于配置数据的存储;FPGA配置单元用于访问外部存储单元,并将获取的配置数据送至FPGA群;FPGA群由若干片FPGA组成,用于接收配置数据,并执行配置功能。本专利技术进一步的改进在于:FPGA配置单元包括FPGA配置控制模块和配置监测模块;其中:FPGA配置控制模块用于配置控制时序的产生;配置监测模块用于配置过程中对FPGA工作状态的实时监测,并判断FPGA的功能状态。一种通用化的FPGA重配置系统,包括外部存储单元、FPGA重配置单元和FPGA群;其中:外部存储单元用于重配置数据的存储;FPGA重配置单元用于访问外部存储单元,并将获取的重配置数据送至FPGA群;FPGA群由若干片FPGA组成,用于接收重配置数据,并执行重配置功能。FPGA重配置单元包括FPGA重配置控制模块、配置监测模块和重配置定时器模块;其中:FPGA重配置控制模块用于重配置控制时序的产生;配置监测模块用于重配置过程中对FPGA工作状态的实时监测,并判断FPGA的功能状态;重配置定时器模块用于使FPGA周期性的执行重配置功能。一种通用化的FPGA配置方法,包括以下步骤:步骤1:进行FPGA群上电初始化,通过第一控制状态机产生PROG_B复位控制信号,构建成FPGA上电初始时序,通过FPGA配置单元将上电初始时序输出到FPGA群的控制端口,使FPGA群执行初始化功能,最终使FPGA群进入初始化完成等待状态;步骤2:通过第一控制状态机控制片选、读写、时钟及数据信号的产生,得到配置控制时序,通过FPGA配置单元将配置控制时序输出到FPGA群的控制端口,使FPGA群执行配置功能;步骤3:通过配置监测模块对FPGA群的完成指示及初始化信号进行监测,若完成指示信号拉高且初始化信号维持为高,则配置成功;若完成指示信号未拉高或初始化信号不为高,则配置未成功,返回步骤1重新开始新一轮配置,尝试三次后仍未成功,则由配监测置模块将配置失败信息提交给FPGA配置系统,最终传输到系统外。通过第一控制状态机控制片选、读写、时钟及数据信号的产生,得到配置控制时序的具体方法为:空状态完成状态清除功能,有配置操作转入时,依次进行,转入loadstart状态开始选中需要配置的目标FPGA,转入loadrst1再转入loadrst2完成对FPGA的初始化,进入loadprepare状态完成控制信号的准备,进入loaddata状态产生配置时钟和数据,同时监测配置是否完成,最终转回空状态。一种通用化的FPGA重配置方法,包括以下步骤:步骤a:进行FPGA群的去同步和同步控制,通过第二控制状态机对片选和读写信号进行控制,产生FPGA去同步和同步控制时序,通过FPGA重配置单元将FPGA去同步和同步时序输出到FPGA群的控制端口,使FPGA群进入重配置准备就绪状态;步骤b:通过第二控制状态机控制片选、读写、时钟及数据信号的产生,得到重配置控制时序,通过FPGA重配置单元将重配置控制时序输出到FPGA群的控制端口,使FPGA群执行重配置功能;步骤c:通过配置监测模块对FPGA群的完成指示及初始化信号进行监测,若完成指示信号拉高且初始化信号维持为高,则配置成功;若完成指示信号未拉高或初始化信号不为高,则重配置失败,返回步骤a重新开始新一轮重配置,尝试三次后仍未成功,则由配置监测模块将重配置失败信息提交给FPGA重配置系统,最终传输到系统外。通过第二控制状态机控制片选、读写、时钟及数据信号的产生,得到重配置控制时序的具体方法为:空状态完成状态清除功能,有重配置操作转入时,依次进行,转入scrubtimer状态开起重配置计时,转入scrubstart开始选中需要重配置的FPGA,转入scrubinit1再转入scrubinit2完成对FPGA的去同步和同步控制,进入scrubiprepare状态完成控制信号的准备,进入scrubdata状态产生重配置时钟和数据,同时监测重配置是否完成,最终转回空状态。与现有技术相比,本专利技术具有以下有益效果:本专利技术通过外部储存单元、FPGA配置单元和FPGA群三者交互的策略,可独立并行实现多路不同类型FPGA的配置和动态重配置,配置效率高、速度快,解决了大规模FPGA群配置系统的结构复杂、灵活性差等问题;通过设置重配本文档来自技高网
...

【技术保护点】
1.一种通用化的FPGA配置系统,其特征在于,包括外部存储单元、FPGA配置单元和FPGA群;其中:外部存储单元用于配置数据的存储;FPGA配置单元用于访问外部存储单元,并将获取的配置数据送至FPGA群;FPGA群由若干片FPGA组成,用于接收配置数据,并执行配置功能。

【技术特征摘要】
1.一种通用化的FPGA配置系统,其特征在于,包括外部存储单元、FPGA配置单元和FPGA群;其中:外部存储单元用于配置数据的存储;FPGA配置单元用于访问外部存储单元,并将获取的配置数据送至FPGA群;FPGA群由若干片FPGA组成,用于接收配置数据,并执行配置功能。2.根据权利要求1所述通用化的FPGA配置系统,其特征在于,所述FPGA配置单元包括FPGA配置控制模块和配置监测模块;其中:FPGA配置控制模块用于配置控制时序的产生;配置监测模块用于配置过程中对FPGA工作状态的实时监测,并判断FPGA的功能状态。3.一种通用化的FPGA重配置系统,其特征在于,包括外部存储单元、FPGA重配置单元和FPGA群;其中:外部存储单元用于重配置数据的存储;FPGA重配置单元用于访问外部存储单元,并将获取的重配置数据送至FPGA群;FPGA群由若干片FPGA组成,用于接收重配置数据,并执行重配置功能。4.根据权利要求3所述通用化的FPGA重配置系统,其特征在于,所述FPGA重配置单元包括FPGA重配置控制模块、配置监测模块和重配置定时器模块;其中:FPGA重配置控制模块用于重配置控制时序的产生;配置监测模块用于重配置过程中对FPGA工作状态的实时监测,并判断FPGA的功能状态;重配置定时器模块用于使FPGA周期性的执行重配置功能。5.一种通用化的FPGA配置方法,其特征在于,包括以下步骤:步骤1:进行FPGA群上电初始化,通过第一控制状态机产生PROG_B复位控制信号,构建成FPGA上电初始时序,通过FPGA配置单元将上电初始时序输出到FPGA群的控制端口,使FPGA群执行初始化功能,最终使FPGA群进入初始化完成等待状态;步骤2:通过第一控制状态机控制片选、读写、时钟及数据信号的产生,得到配置控制时序,通过FPGA配置单元将配置控制时序输出到FPGA群的控制端口,使FPGA群执行配置功能;步骤3:通过配置监测模块对FPGA群的完成指示及初始化信号进行监测,若完成指示信号拉高且初始化信号维持为高,则配置成功;若完成指示信号未拉高或初始化信号不为高,则配置未成功,返回步骤1重新开始新一轮配置,尝试三次后仍未成功,...

【专利技术属性】
技术研发人员:李磊张春妹赵翠华田超
申请(专利权)人:西安微电子技术研究所
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1