一种面向FPGA的多路通用化配置加载控制系统及方法与流程

文档序号:11919543阅读:328来源:国知局
一种面向FPGA的多路通用化配置加载控制系统及方法与流程

本发明属于集成电路设计领域,具体涉及一种面向FPGA的多路通用化配置加载控制系统及方法。



背景技术:

随着微电子技术的不断发展,FPGA被广泛地应用于电子电路与系统的开发和调试阶段。FPGA可以支持重复编程,但掉电后数据消失,每次上电后,都需要对它进行重新加载。目前常用的FPGA配置加载方式有两种:1)FPGA以JTAG方式进行加载,使用专用的软件与硬件下载器将配置文件通过JTAG下载口加载到FPGA中,这种方式只适用于开发、调试阶段。如果FPGA在没有加载环境或者使用不同的配置文件的情况下,这种配置方式难以满足环境和应用要求。2)基于控制系统及存储器的配置方式,该种加载系统主要由存储器,FPGA,控制系统等几部分组成。存储器芯片用于存储配置文件,控制系统实现对存储器和FPGA进行控制。将FPGA配置文件存储到存储器内,在上电或者用户需要配置FPGA时将存储器中的文件读取出,进行FPGA的配置。这样就可以使FPGA工作在没有外加配置条件的环境下。简化了FPGA在JTAG模式下加载需要的硬件条件,实用性更强。

目前基于控制系统及存储器的配置方式只针对特定存储器控制单一FPGA进行加载,配置加载文件只能在地面通过专用下载器烧写到存储器内,通过控制存储器中的配置文件的读取,对FPGA进行配置加载,无法实现FPGA的在轨动态配置和自刷新,加载速率一般较低,应用局限性较大。



技术实现要素:

本发明的目的在于克服上述不足,提供一种面向FPGA的多路通用化配置加载控制系统及方法,能够灵活有效对FPGA进行地面和在轨加载和动态自刷新控制,一方面保证了在轨运行中的配置文件的可变性,另一方面保证了空间配置的可靠性。

为了达到上述目的,提出了一种面向FPGA的多路通用化配置加载控制系统,包括主机接口选择模块、帧解析模块、寄存器配置模块、存储器控制模块和FPGA加载控制模块。主机接口选择模块上行与下载主机接口和上位机接口连接,下行与帧解析模块连接,帧解析模块与存储器控制模块连接,存储器控制模块与FPGA加载控制模块连接,存储器控制器模块、FPGA加载控制模块以及帧解析模块均与寄存器模块相连接,存储器控制器模块外围连接若干存储器,FPGA加载控制模块外围连接若干FPGA。

所述主机接口选择模块用于对多主机接口进行实时动态切换;

所述帧解析模块用于实现与主机交互的通信协议命令的解析;

所述寄存器配置模块用于管理控制系统的寄存器,对控制系统进行配置和状态读取;

所述存储器控制模块用于对存储器进行访问控制;

所述FPGA加载控制模块用于FPGA的加载和自刷新控制。

所述下载主机通过并行GPIF接口连接主机接口选择模块;上位机通过串行UART接口连接主机接口选择模块。

所述存储器控制模块支持对NAND FLASH、NOR FLASH、MRAM和Xilinx原厂PROM四类存储器的访问控制。

所述帧解析模块解析出的通信帧包括帧头、命令字、数据字和校验字四个部分;

所述帧头为主机和配置加载系统的通信标识,系统识别到帧头后确认为一次通信传输;

所述命令字为根据系统所有传输命令进行的编码,系统通过命令字进行命令识别;

所述数据字为传输的实际数据;

所述校验字对命令字和数据字进行校验,判定本次传输的正确性,根据校验的正误向主机反馈相应的信息。

一种面向FPGA的多路通用化配置加载控制系统的控制方法,包括以下两种方式:

第一种,通过存储器配置加载FPGA:FPAG配置加载系统系统接收到通过存储器配置加载FPGA的命令时,,该系统向存储器发送读请求将所需要的配置文件读取出来,按照Slave Selectmap模式的加载时序,将配置文件加载到FPGA中;

第二种,通过主机直接配置加载FPGA:FPGA配置加载系统接收到通过主机直接配置加载FPGA命令时,该系统直接接收下载主机或上位机发送的配置加载文件,按照Slave Selectmap模式的加载时序,将配置文件加载到FPGA中。

所述下载主机选择并行GPIF接口,用于地面配置文件的下载,上位机接口选择串行UART接口,用于系统配置和在轨数据传输,两种主机接口全兼容,通过外部选择信号实现操作互斥,能够进行实时动态切换,根据需求选择合适的主机和系统进行通信。

与现有技术相比,本发明的系统具有多种主机接口,针对地面平台和星载应用进行多种接口兼容性控制,实现针对不同应用环境的访问控制接口,进行归一化访问处理,极大地提高了产品的通用性和环境适应性;并通过结构优化及电路功能复用技术实现了对所有星用Xilinx系列FPGA和配置用存储器的兼容管理;针对星用的不同配置加载、定时刷新和动态重构策略,实现了所有应用要求的多FPGA、多文件、定制策略管理方式;通过数据传输旁路策略,设计实现了接口直接配置FPGA方式,简化了硬件条件,实现了在轨平台的实时配置加载控制。

进一步的,本发明支持NAND FLASH、NOR FLASH、MRAM和Xilinx原厂PROM等多种存储器类型,每个FPGA可根据应用需求和配置文件大小独立选择使用的存储器类型,减少了由于存储器带来的局限性。

本发明的方法实现了存储器配置FPGA和主机直接配置FPGA两种配置加载方式,实现了在轨平台的实时配置加载和自刷新控制,针对地面平台和在轨应用进行接口兼容性控制,实现针对不同应用环境的访问控制接口,提高了产品的环境适应性;实现了对Xilinx系列FPGA的配置加载和自刷新控制及通用存储器的兼容管理,本发明支持多种存储器类型,每个FPGA可根据应用需求和配置文件大小独立选择使用的存储器类型,减少了由于存储器带来的局限性。

附图说明

图1为本发明FPGA配置加载控制系统的结构示意图;

图2为本发明存储器配置FPGA的示意图;

图3为本发明主机直接配置FPGA的示意图;

图4为本发明通信帧的格式示意图;

图5为本发明存储器控制模块的结构示意图;

图6为本发明片选产生示意图;

图7为本发明FPGA配置加载接口连接方式示意图。

具体实施方式

下面结合附图对本发明做进一步说明。

参见图1,一种面向FPGA的多路通用化配置加载控制系统,包括主机接口选择模块、帧解析模块、寄存器配置模块、存储器控制模块和FPGA加载控制模块。主机接口选择模块上行与下载主机接口和上位机接口连接,下行与帧解析模块连接,帧解析模块与存储器控制模块连接,存储器控制模块与FPGA加载控制模块连接,存储器控制器模块、FPGA加载控制模块以及帧解析模块均与寄存器模块相连接,存储器控制器模块外围连接若干存储器,FPGA加载控制模块外围连接若干FPGA。

主机接口选择模块用于对多主机接口进行实时动态切换;

帧解析模块用于实现与主机交互的通信协议命令的解析;

寄存器配置模块用于管理控制系统的寄存器,对控制系统进行配置和状态读取;

存储器控制模块用于对存储器进行访问控制;

FPGA加载控制模块用于FPGA的加载和自刷新控制。

下载主机通过并行GPIF接口连接主机接口选择模块;上位机通过串行UART接口连接主机接口选择模块。

优选的,存储器控制模块支持对NAND FLASH、NOR FLASH、MRAM和Xilinx原厂PROM四类存储器的访问控制。

储存器采用NAND FLASH、NOR FLASH、MRAM和Xilinx原厂PROM四类存储器。

系统外围部件主要有存储器芯片、主机和FPGA,存储器芯片负责存储FPGA的配置文件;主机作为系统访问控制的媒介,发送命令控制配置加载系统进行相应操作。本配置加载系统作为逻辑控制端,对主机的命令进行解析,并且与主机实现数据交互通信。

参见图2和图3,一种面向FPGA的多路通用化配置加载控制系统的控制方法,包括以下两种方式:

第一种,通过存储器配置加载FPGA:FPAG配置加载系统系统接收到通过存储器配置加载FPGA的命令时,该系统向存储器发送读请求将所需要的配置文件读取出来,按照Slave Selectmap模式的加载时序,将配置文件加载到FPGA中;

第二种,通过主机直接配置加载FPGA:FPGA配置加载系统接收到通过主机直接配置加载FPGA命令时,该系统直接接收下载主机或上位机发送的配置加载文件,按照Slave Selectmap模式的加载时序,将配置文件加载到FPGA中。

配置加载系统主机接口控制模块实现两路主机对系统的访问控制,进行主机切换选择,完成数据的传输。系统包括下载主机和上位机两个主机接口分别可与两个主机进行通信,下载主机选择并行GPIF接口,传输速度快,主要用于地面配置文件的下载,上位机接口选择串行UART接口,主要用于系统配置和在轨数据传输,两种主机接口进行了全兼容性设计,通过外部选择信号实现操作互斥,可以进行实时动态切换,根据需求选择合适的主机和系统进行通信。系统定义固定格式的帧,通过帧数据传输和握手协议完成主机和配置加载系统的通信。主机与配置加载系统的通信帧格式如图4所示,包括帧头、命令字、数据字和校验字四个部分。帧头为主机和配置加载系统的通信标识,系统识别到帧头后确认为一次通信传输。命令字为根据系统所有传输命令进行的编码,系统通过命令字进行命令识别,如寄存器读命令、存储器写命令等。数据字为传输的实际数据。校验字对命令字和数据字进行校验,判定本次传输的正确性,根据校验的正误向主机反馈相应的信息。

存储器控制模块实现对存储器的访问控制。配置加载控制系统支持Xilinx原厂PROM、MRAM、NOR Flash和NAND Flash四种不同存储器的访问控制。对于MRAM、NOR FLASH和NAND FLASH三种存储器而言,访问包括两个部分:主机的访问和FPGA加载的读访问。两个访问互斥,FPGA加载访问的优先级高,在FPGA加载时,配置加载系统不响应外部主机的访问。对于Xilinx原厂PROM,配置数据需通过外部下载器写入,本系统只支持FPGA加载的读访问。当主机进行访问时,存储器控制模块根据主机接口发来的帧命令和数据以及存储器类型分别产生三类存储器的访问控制时序,完成对存储器的读、写、擦除、复位等操作;当FPGA加载访问时,根据FPGA加载控制模块发来的当前访问的存储器类型、文件首地址、开始读取、结束读取等命令分别产生四类存储器读数据访问所需的控制时序,将读数据返回给FPGA进行配置加载。存储器控制结构如图5所示。配置加载系统提供四个外部存储器类型片选端口,根据存储器类型寄存器的配置,由存储器控制模块产生。每类存储器对应一个片选信号,片选信号(TYPE_CS[3:0])仅表示当前访问的存储器类型。在应用中若某个存储器需要使用多片,则根据具体使用的存储器片数,通过地址高位进行外部译码来产生实际存储器的片选信号。片选产生如图6所示,其中k,l,m,n分别表示每类存储器使用的片数。这样可根据具体应用进行片选的扩展,大大提高了使用的灵活性和应用的普适性。

FPGA加载控制模块根据配置信息,从存储器中或主机获取配置数据,从而实现FPGA的配置加载和自刷新。FPGA配置加载模块支持多路FPGA的配置加载控制,通过Slave SelectMAP模式进行配置加载控制。以四路FPGA为例,四路FPGA的配置加载按先后顺序依次进行,四路FPGA的DATA、CCLK、RDWR_B端口共用本控制系统相应的端口,PROGRAM_B、INIT_B、CS_B和DONE端口由本控制系统分别控制,系统与FPGA连接方式如附图7所示。

本发明的通用化配置加载控制系统已经在某星载通用FPGA配置加载控制电路中进行了全面的实验,该电路使用了本发明中的在轨多路通用化配置加载控制系统设计方法,兼容了多种存储器访问,配置加载支持Xilinx系列FPGA,支持多接口访问,提高了系统的通用性和普适性,保证了在轨配置加载的实时性和灵活性,提升了配置加载的速度。该款电路已完成流片、测试,在系统应用验证中表现良好,满足预定的功能性能指标。

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