一种星载SRAM型FPGA配置与刷新控制的IP核制造技术

技术编号:27740728 阅读:22 留言:0更新日期:2021-03-19 13:33
本发明专利技术公开了一种星载SRAM型FPGA配置与刷新控制的IP核,用于在外部的处理器控制下读取FPGA配置文件,对单个或多个FPGA进行在轨配置与刷新控制,该IP核包括:配置文件读取及状态输出模块、数据存储解析模块、使能控制模块和配置刷新顶层模块;配置文件读取及状态输出模块,用于读取FPGA配置文件,接收处理器指令,还用于输出FPGA的刷新状态;数据存储解析模块,用于读取FPGA配置文件并解码发送至配置刷新顶层模块;使能控制模块,用于生成配置使能信号和刷新使能信号并发送至配置刷新顶层模块;配置刷新顶层模块,用于生成配置控制命令和刷新控制命令,并发送至指定的FPGA,还用于读取FPGA的刷新状态。

【技术实现步骤摘要】
一种星载SRAM型FPGA配置与刷新控制的IP核
本专利技术涉及航空、航天电子综合化
,特别涉及一种星载SRAM型FPGA配置与刷新控制的IP核。
技术介绍
FPGA因其功能配置时的多样性与重复性,海量数据处理时的灵活性与高效性,被广泛的应用到航天器电子系统中,承担空间环境下的数字信号处理、图像处理等任务,其中Xilinx公司的SRAM型Virtex各系列FPGA在性能和容量上更具优势,且可根据不同的功能要求进行重配置。然而,SRAM工艺的FPGA受空间辐射影响较大。内部配置存储器的逻辑状态常常由于高能粒子的撞击而翻转(单粒子翻转),可能导致航天器信息的丢失或者功能中断。由于空间环境的特殊性,可靠性成为航天器的重要指标,容错设计在航天器电子系统中必不可少。除三模冗余设计外,配置、刷新(Scrubbing)、回读是航天中针对SRAM型FPGA单粒子翻转常用的三大技术。刷新理论上来说也属于部分重配置(PartialReconfiguration),Xilinx公司给出的官方文档中,就将刷新等同于主动重配置(activereconfiguration)。并非所有的SRAM工艺FPGA都支持这种功能,必须具备特定的工艺。目前Xilinx公司的Virtex各系列FPGA均支持刷新。刷新就是指在FPGA已经上电配置成功工作以后,不事先擦除已配置的逻辑,就直接重新写入配置数据的操作。刷新实际上是一种SEU发生后的恢复措施,因此它需要TMR、容错编码等的配合才能达到良好的效果。Xilinx公司发布的基于“TMR+Scrubbing”的容错方案在许多卫星中得到广泛的使用。配置或重加载是当FPGA发生功能失效时采取的一种功能恢复的有效措施。SelectMAP配置方式有8位配置数据和7位控制信号,具体信息如表1所示。在控制信号准备完成后,配置位流在每个时钟上升沿同时写入8bits的配置数据。D0引脚是每个配置字节的最高位(MSB);相对的,D7引脚是最低位(LSB)。为了在完成上电配置过程后,仍能对FPGA进行Scrubbing和回读操作,需要保留D[7:0]八位数据接口和BUSY、INIT_B、RDWR_B、CS_B管脚不被用作普通I/O接口。如图1所示为配置方式时序图。表1Virtex-II系列FPGASelectMAP模式配置管脚目前国内有一些SRAMFPGA的刷新设计,存在支持的刷新FPGA芯片种类少、支持的刷新FPGA芯片数量少、软件不可配置、可扩展性差、可靠性待验证的问题。
技术实现思路
现有技术中SRAMFPGA配置和刷新存在的可扩展性差的问题,本专利技术的目的在于克服上述现有技术的缺陷,提供一种星载SRAM型FPGA配置与刷新控制的IP核,具备扩展性和移植性强的特点。为了实现上述目的,本专利技术提出了一种星载SRAM型FPGA配置与刷新控制的IP核,用于在外部的处理器控制下读取FPGA配置文件,对单个或多个SRAM型FPGA进行在轨配置与刷新控制,其特征在于,所述IP核包括:配置文件读取及状态输出模块、数据存储解析模块、使能控制模块和配置刷新顶层模块;所述配置文件读取及状态输出模块连接外部的处理器、控制寄存器或存储器,所述配置刷新顶层模块通过selectMAP总线接口与多个SRAM型FPGA连接;其中,所述配置文件读取及状态输出模块,用于读取FPGA配置文件,用于接收外部的处理器指令并发送至使能控制模块,还用于输出每个FPGA的刷新状态至外部的处理器;所述数据存储解析模块,用于从配置文件读取及状态输出模块读取FPGA配置文件并进行解码,将解码后的配置数据发送至配置刷新顶层模块;所述使能控制模块,用于根据外部的处理器指令、输入的复位信号和同步信号,结合FPGA的类型分别生成配置使能信号和刷新使能信号并发送至配置刷新顶层模块;还用于接收FPGA的刷新状态进行存储并发送至配置文件读取及状态输出模块;所述配置刷新顶层模块,用于根据配置使能信号和配置数据生成配置控制命令并通过selectMAP总线接口发送至指定的FPGA,根据刷新使能信号生成刷新控制命令,并通过selectMAP总线接口发送至指定的FPGA,还用于读取FPGA的刷新状态并发送至使能控制模块。作为上述IP核的一种改进,所述FPGA配置文件由外部的处理器进行汉明编码,并由外部的处理器指定存储地址和长度后写入外部的存储器,每个FPGA对应一个FPGA配置文件。作为上述IP核的一种改进,所述配置文件读取及状态输出模块包括APB总线单元、AXI总线单元、DMA单元和地址管理单元;其中,所述APB总线单元,用于读取FPGA配置文件,用于接收外部的处理器指令并发送至使能控制模块,还用于向外部输出FPGA的刷新状态;所述AXI总线单元,用于控制DMA单元;所述DMA单元,用于在AXI总线单元的控制下读取FPGA配置文件;所述地址管理单元,用于根据配置刷新顶层模块输出的读地址累加使能信号对DMA单元进行地址累加。作为上述IP核的一种改进,所述AXI总线单元工作在master模式,根据外部的处理器指令主动发起读操作。作为上述IP核的一种改进,所述数据存储解析模块包括多路选择器、缓冲FIFO、数据信号同步单元和ECC解码单元;其中,所述多路选择器,用于选择从APB总线单元或DMA单元读取FPGA配置文件并发送至缓冲FIFO;所述缓冲FIFO,用于缓存FPGA配置文件;所述数据信号同步单元,用于从缓冲FIFO中读取FPGA配置文件并发送至ECC解码单元;所述ECC解码单元,用于采用汉明码对FPGA配置文件进行解码,当解码无错误或者发生一位错误,经自动纠正后将解码后的配置数据发送至配置刷新顶层模块;当解码发生两位或两位以上错误,发出中断通知至外部的处理器。作为上述IP核的一种改进,所述使能控制模块包括分频单元、复位同步单元和控制寄存器单元;其中,所述分频单元,用于根据输入时钟频率设置分配系数,实现对刷新速度的控制;所述复位同步单元,用于接收复位信号进行同步,并将同步后的复位信号发送至配置文件读取及状态输出模块、数据存储解析模块和配置刷新顶层模块;所述控制寄存器单元,用于存储收到的处理器指令、分频值、DMA起始地址、DMA长度、DMA命令、刷新命令、待刷新的FPGA类型和个数以及刷新状态;还用于将FPGA的刷新状态发送至APB总线单元。作为上述IP核的一种改进,所述控制寄存器单元包括FIFO输入寄存器、分频配置寄存器、DMA起始地址寄存器、DMA长度寄存器、DMA命令寄存器、刷新命令寄存器、刷新配置寄存器和刷新状态寄存器;其中,所述FIFO输入寄存器,用于存储从APB总线单元接收的FPGA配置数据;所述分频配置寄存器,用于存储分频值,系统时钟除以2倍分频值为刷新时钟的速率;所述DMA起始地址寄存器,用于存储DMA启动操作的起始地址;所述DMA长本文档来自技高网
...

【技术保护点】
1.一种星载SRAM型FPGA配置与刷新控制的IP核,用于在外部的处理器控制下读取FPGA配置文件,对单个或多个SRAM型FPGA进行在轨配置与刷新控制,其特征在于,所述IP核包括:配置文件读取及状态输出模块、数据存储解析模块、使能控制模块和配置刷新顶层模块;所述配置文件读取及状态输出模块连接外部的处理器、控制寄存器或存储器,所述配置刷新顶层模块通过selectMAP总线接口与多个SRAM型FPGA连接;其中,/n所述配置文件读取及状态输出模块,用于读取FPGA配置文件,用于接收外部的处理器指令并发送至使能控制模块,还用于输出每个FPGA的刷新状态至外部的处理器;/n所述数据存储解析模块,用于从配置文件读取及状态输出模块读取FPGA配置文件并进行解码,将解码后的配置数据发送至配置刷新顶层模块;/n所述使能控制模块,用于根据外部的处理器指令、输入的复位信号和同步信号,结合FPGA的类型分别生成配置使能信号和刷新使能信号并发送至配置刷新顶层模块;还用于接收FPGA的刷新状态进行存储并发送至配置文件读取及状态输出模块;/n所述配置刷新顶层模块,用于根据配置使能信号和配置数据生成配置控制命令并通过selectMAP总线接口发送至指定的FPGA,根据刷新使能信号生成刷新控制命令,并通过selectMAP总线接口发送至指定的FPGA,还用于读取FPGA的刷新状态并发送至使能控制模块。/n...

【技术特征摘要】
1.一种星载SRAM型FPGA配置与刷新控制的IP核,用于在外部的处理器控制下读取FPGA配置文件,对单个或多个SRAM型FPGA进行在轨配置与刷新控制,其特征在于,所述IP核包括:配置文件读取及状态输出模块、数据存储解析模块、使能控制模块和配置刷新顶层模块;所述配置文件读取及状态输出模块连接外部的处理器、控制寄存器或存储器,所述配置刷新顶层模块通过selectMAP总线接口与多个SRAM型FPGA连接;其中,
所述配置文件读取及状态输出模块,用于读取FPGA配置文件,用于接收外部的处理器指令并发送至使能控制模块,还用于输出每个FPGA的刷新状态至外部的处理器;
所述数据存储解析模块,用于从配置文件读取及状态输出模块读取FPGA配置文件并进行解码,将解码后的配置数据发送至配置刷新顶层模块;
所述使能控制模块,用于根据外部的处理器指令、输入的复位信号和同步信号,结合FPGA的类型分别生成配置使能信号和刷新使能信号并发送至配置刷新顶层模块;还用于接收FPGA的刷新状态进行存储并发送至配置文件读取及状态输出模块;
所述配置刷新顶层模块,用于根据配置使能信号和配置数据生成配置控制命令并通过selectMAP总线接口发送至指定的FPGA,根据刷新使能信号生成刷新控制命令,并通过selectMAP总线接口发送至指定的FPGA,还用于读取FPGA的刷新状态并发送至使能控制模块。


2.根据权利要求1所述的星载SRAM型FPGA配置与刷新控制的IP核,其特征在于,所述FPGA配置文件由外部的处理器进行汉明编码,并由外部的处理器指定存储地址和长度后写入外部的存储器,每个FPGA对应一个FPGA配置文件。


3.根据权利要求1所述的星载SRAM型FPGA配置与刷新控制的IP核,其特征在于,所述配置文件读取及状态输出模块包括APB总线单元、AXI总线单元、DMA单元和地址管理单元;其中,
所述APB总线单元,用于读取FPGA配置文件,用于接收外部的处理器指令并发送至使能控制模块,还用于向外部输出FPGA的刷新状态;
所述AXI总线单元,用于控制DMA单元;
所述DMA单元,用于在AXI总线单元的控制下读取FPGA配置文件;
所述地址管理单元,用于根据配置刷新顶层模块输出的读地址累加使能信号对DMA单元进行地址累加。


4.根据权利要求3所述的星载SRAM型FPGA配置与刷新控制的IP核,其特征在于,所述AXI总线单元工作在master模式,根据外部的处理器指令主动发起读操作。


5.根据权利要求3所述的星载SRAM型FPGA配置与刷新控制的IP核,其特征在于,所述数据存储解析模块包括多路选择器、缓冲FIFO、数据信号同步单元和ECC解码单元;其中,
所述多路选择器,用于选择从APB总线单元或DMA单元读取FPGA配置文件并发送至缓冲FIFO;
所述缓冲FIFO,用于缓存FPGA配置文件;
所述数据信号同步单元,用于从缓冲FIFO中读取FPGA配置文件并发送至ECC解码单元;
所述ECC解码单元,用于采用汉明码对FPGA配置文件...

【专利技术属性】
技术研发人员:周莉董文涛杨根安军社
申请(专利权)人:中国科学院国家空间科学中心
类型:发明
国别省市:北京;11

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

1