首页> 中国专利> 抗单粒子翻转的SRAM型FPGA刷新电路及刷新方法

抗单粒子翻转的SRAM型FPGA刷新电路及刷新方法

摘要

抗单粒子翻转的SRAM型FPGA刷新电路及刷新方法,涉及现场可编程门阵列的空间抗单粒子翻转领域,解决现有SRAM型FPGA刷新电路及方法利用外部控制器实现对配置命令和配置数据的重新加载,存在电路复杂度高,控制器存在不稳定性等问题,采用两片相同的存储器,BOOT存储了完整的配置文件,配置文件中包含了用户要实现的功能模块和FGPA实现自身刷新的刷新模块,SCRUB存储了编辑后的配置文件,FPGA加载完第一片存储器后,刷新模块启动进入刷新模式,通过周期性地读取SCRUB存储器中的配置文件,实现FPGA正常工作下的周期刷新。本发明有效地降低FPGA刷新的功耗和电路复杂度。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-04

    授权

    授权

  • 2014-10-22

    实质审查的生效 IPC(主分类):G11C11/413 申请日:20140606

    实质审查的生效

  • 2014-09-17

    公开

    公开

说明书

技术领域

本发明涉及现场可编辑门阵列技术领域,具体涉及利用两片存储器实现一 种SRAM型FPGA抗单粒子翻转的刷新电路及方法。

背景技术

基于静态随机存储器(staticrandomaccessmemory,SRAM)的FPGA因其 功能配置方面的多样性与可重复性,应用体积小与研发周期短等显著特点,被 广泛应用到航天领域,尽管相较于专用集成电路和反熔丝构型的FPGA更容易 受到单粒子(singleeventeffect,SEE)的影响,但其突出的优越性使其仍然承 担着空间环境下飞行器的姿控、数传和图像处理等艰巨任务,并且逐步演变成 一种趋势

由于空间高能粒子影响较大,SRAM型FPGA内部配置存储器的逻辑状态 常常由于粒子撞击而翻转,即发生单粒子翻转。如果翻转发生在存储器中,使 能信号被重置;如果发生在逻辑功能区,可能导致航天器功能中断,无论发生 哪种可能都会对航天器产生巨大影响。

Xilinx公司第一代VirtexFPGA开始,关于SRAM型FPGA的容错研究不 断开,抗辐照设计和三模冗余(TMR)设计不断应用。TMR设计的应用已不 能满足FPGA长时间的可靠性,内部的单粒子翻转的积累可能导致TMR的错误, 为了纠正FPGA需要按照一定的频率清除所有翻转位,一种方法是比特流的回 读,当检测到翻转位时进行重加载,这个方法需要消耗大量的时间。另外一种 简单的抗SEU的方法是忽略回读检测步骤,只重新加载整个CLB帧块和BRAM 内联帧块,这种方法叫做刷新,刷新本质上要求较少的系统资源,但是这意味 着配置逻辑很大的时间是在“写模式”,一次完整刷新的周期需要被设定的相对较 短。刷新允许系统修复配置存储器上的所有SEU而不打断系统正常运行。通常 的刷新方法是利用外部控制器实现对配置命令和配置数据的重新加载,该方法 电路复杂度高,控制器也存在一定的不稳定性,有必要提出一种电路复杂度低、 功耗低、可靠性更高的抗单粒子翻转电路。

发明内容

本发明为解决现有SRAM型FPGA刷新电路及方法利用外部控制器实现对 配置命令和配置数据的重新加载,存在电路复杂度高,控制器存在不稳定性等 问题,提供一种抗单粒子翻转的SRAM型FPGA刷新电路及刷新方法。

抗单粒子翻转的SRAM型FPGA刷新电路,包括BOOT存储器和SCRUB 存储器;所述BOOT存储器用于存储用户功能模块,SCRUB存储器用于存储对 BOOT存储器中的配置文件重新编辑后的配置文件,所述BOOT存储器通过数 据线和控制线实现对FPGA的加载;加载完成后,FPGA内部的刷新电路周期性 的控制I/O口,所述I/O口与SCRUB存储器的控制端连接;控制SCRUB存储 器中的配置文件周期性加载到FPGA中。

抗单粒子翻转的SRAM型FPGA刷新电路的刷新方法,该方法由以下步骤 实现:

步骤一、采用烧写器将完整的配置文件烧写到BOOT存储器,同时刷新配 置文件烧写到SCRUB存储器;

步骤二、对刷新电路上电后,FPGA清除内部配置数据,等待初始化完成;

步骤三、FPGA初始化成功后,BOOT存储器开始配置数据,经过T1毫秒 后,BOOT存储器配置完成,FPGA正常工作,FPGA内的刷新模块功能启动; 所述T1为FPGA完成一次完整配置的时间;

步骤四、T2毫秒后,FPGA进入自动刷新模块,刷新模块控制相应I/O口, 周期性地控制SCRUB存储器工作,所述SCRUB存储器内的刷新配置文件将加 载到FPGA中;所述T2为等待刷新的时间;

步骤五、T3毫秒后,刷新配置文件加载完成,FPGA内的刷新模块控制 SCRUB存储器停止工作,完成一次刷新;所述T3为完成一次刷新配置需要的 时间;

步骤六、重复执行步骤四和步骤五,FPGA实现周期刷新。

本发明的有益效果:本发明所述的SRAM型FPGA电路,复杂度低、功耗 低、可靠性高的抗单粒子翻转刷新电路。

一、本发明所述的刷新功能模块集成在FPGA内部,不需要外部控制器, 仅增加一片SCRUB存储器,简化了传统刷新电路,降低了电路功耗。并且FPAG 整体发生单粒子翻转的概率极低,而刷新模块利用片内资源很少,几乎可以忽 略,其发生单粒子翻转的概率近乎于0,电路容错性提高;

二、本发明所述的BOOT存储器和SCRUB存储器共用一条8位数据线, 控制线独立。SCRUB存储器存储了对BOOT存储器中配置文件重新编辑的配置 文件,该配置文件不会影响FPGA正常工作并且省略回读功能;

三、本发明所述的存储器是具有可单次编程(OTP)架构的存储器,该类存 储器具有很高的抗辐照特性,在航天飞行器中具有很高的继承性。同时配置文 件通过烧写器烧写,不会发生JTAG下载时CRC校验错误的问题,大大减小了 对刷新配置文件修改的复杂度。

四、本发明所述的刷新电路可以应用于任何支持动态刷新功能的FPGA芯 片上。

附图说明

图1为本发明所述的抗单粒子翻转的SRAM型FPGA刷新电路的刷新原理 图;

图2为本发明所述的抗单粒子翻转的SRAM型FPGA刷新电路中SCRUB 存储器中配置文件重新编辑流程图;

图3为本发明所述的抗单粒子翻转的SRAM型FPGA刷新电路的刷新方法 的流程图。

具体实施方式

具体实施方式一、结合图1和图2说明本实施方式,抗单粒子翻转的SRAM 型FPGA刷新电路;包括BOOT存储器和SCRUB存储器。BOOT存储器存储 了用户功能模块,上电通过数据线和控制线完成FPGA的正常加载,当加载完 成后FPGA刷新模块会周期性控制其相应的I/O口,该I/O口与SCRUB存储器 的控制端相连,使SCRUB存储器中的配置文件周期性地加载到FPGA中, SCRUB存储器存储的文件是对BOOT存储器中配置文件修改后的配置文件,该 文件在加载前已经将可能影响FPGA正常工作的配置指令重新设定或删除,所 以FPGA一直保持正常工作,如果FPGA刷新模块发生单粒子翻转,可以通过 重加载方式保证FPGA正常工作,整个过程FPGA一直处于写状态。

本实施方式中的刷新功能模块集成在FPGA自身内部,不需要外部控制器, 仅增加一片SCRUB存储器,简化了传统刷新电路。该刷新电路可以应用于任何 支持动态刷新的FPGA芯片上;所述的BOOT存储器和SCRUB存储器共用一 条8位数据线,控制线独立。其中,BOOT存储器存储了完整的配置文件,而 SCRUB存储器存储了对BOOT存储器中配置文件重新编辑的配置文件,具体步 骤结合图2;

本实施方式中,两片存储器和FPGA系统时钟全部共用外部晶振,保证 FPGA刷新时序的稳定性,还包括外部重加载电路,通过置低FPGA重配置信号 实现FPGA重启。FPGA刷新模块功能仅仅是对两个I/O口的周期控制,保证 SCRUB存储器内配置文件正确的加载到FPGA中。由于FPAG整体发生单粒子 翻转的概率极低,而刷新模块利用片内资源很少,几乎可以忽略,其发生单粒 子翻转的概率近乎于0,电路容错性提高。

本实施方式中两片存储器采用具有可单词编程(OTP)架构的存储器,该类 存储器配置文件通过烧写器烧写,不会发生JTAG下载时CRC校验错误的问题, 大大减小了对刷新配置文件修改的复杂度,同时该类存储器具有很高的抗辐照 特性,在航天飞行器中具有很高的继承性和可靠性。

具体实施方式二、结合图3说明本实施方式,本实施方式为具体实施方式 一所述的抗单粒子翻转的SRAM型FPGA刷新电路的刷新方法,该方法由以下 步骤实现:

一、利用烧写器将完整配置文件烧写到BOOT存储器,同时将刷新配置文 件烧写到SCRUB存储器;

二、系统上电,FPGA清楚内部配置数据,等待初始化完成;

三、FPGA初始化成功,BOOT存储器开始配置数据,配置方式选用Salve  SelectMap方式;

四、T1毫秒后,BOOT存储器数据配置完成,使能信号被置低,片选信号 被置高,该存储器被禁止,内部地址计数器清空,数据输出口处于高阻态。FPGA 正常工作,刷新模块功能启动;

五、T2毫秒后,FPGA进入自动刷新模式,刷新模块控制相应I/O口,周期 性地将SCRUB存储器使能端置高,片选信号置低,SCRUB存储器开始工作, 将刷新配置文件将加载到FPGA中;

六、T3毫秒后,刷新配置文件加载完成,FPGA刷新模块将SCRUB存储器 使能信号置低,片选信号置高,整个加载过程FPGA正常工作,完成一次刷新;

七、不断重复第五步和第六步,FPGA实现(T2+T3)毫秒地周期刷新。

八、如果刷新模块功能出错,可以通过重加载方式重启FPGA,重新运行以 上步骤实现FPGA刷新。

其中,T1表示FPGA完成一次完整配置所需要的时间;T2表示等待刷新时 间;T3表完成一次刷新配置所需时间,该时间T3基本等于T1,(T2+T3)表示两次 刷新间隔时间。

本实施方式中刷新时间取决于配置时钟的频率和配置文件位位流的大小。 现实中最小化后的刷新周期与刷新时间基本相等,保证了系统平均在每个翻转 间隙执行至少10次刷新操作。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号