一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置的制作方法

文档序号:18402194发布日期:2019-08-10 00:01阅读:346来源:国知局
一种航天器使用SRAM型FPGA双口RAM抗单粒子翻转加固装置的制作方法

本发明属于航天电子技术领域,涉及一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置。



背景技术:

sram型fpga在航天器电子系统设计中广泛使用。目前,传统sram型fpga的抗辐照加固采用三模冗余加刷新(scrubbing)的机制进行可靠性提升,。例如:

“航天用sram型fpga抗单粒子翻转设计”(航天器环境工程第28卷第6期2011年12月)一文中提出了对该类芯片的配置逻辑部分采用回读比较后刷新,对其sram部分采用通用自纠错宏的抗单粒子翻转设计方案。这种方案是通过内部blockram三模冗余实现。

专利cn201610939803.2名称为一种基于sram型fpga的ram数据可靠性加固装置及方法,描述了用hsiao码作为纠错码实现edac电路的编解码操作,采用缓存方式实现错误数据纠正后的回写,将处理器或外设访问双口ram的写地址和写数据暂存于地址缓存和数据缓存中,然后对缓存中的数据进行三区二表决处理。

但是,三模冗余方法存在如下缺点:

首先,对fpga内部blockram做三模冗余开销巨大,占用比较多的额外存储资源且实时处理性不强;而且,长期的翻转累积也增加了三模中两模翻转导致数据错误的可能性;

其次,刷新机制仅对fpga内部除了blockram及ram互联之外的资源刷新,无法覆盖blockram。因此,当在轨长期不变ram区数据发生单粒子翻转时,刷新机制无法修正。

因此,对于长期重要数据存储的blockram还缺乏有效的抗单粒子翻转手段。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足,设计了一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置,解决在航天器sram型fpga内部blockram抗单粒子翻转加固的难题。

本发明的技术解决方案是:一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置,该装置包括双口ram模块和仲裁刷新器,所述双口ram模块包括两套完全独立的端口,分别为第一端口和第二端口,每个端口包括数据线、地址线、读使能控制线和写使能控制线;其中,用户数据通过第一端口写入和读出双口ram模块;仲裁刷新器在不影响用户访问数据的情况下,通过第二端口将双口ram模块中存储的用户数据读取出来后再次写入双口ram,从而刷新双口ram。

所述数据为经过edac编码的数据。

所述抗单粒子翻转加固装置还包括第一edac编码器和第一edac解码器;

第一edac编码器,将外部输入的原始数据进行编码,通过双口ram模块的第一端口将编码后的数据输入至双口存储器;

第一edac解码器,将双口ram模块第一端口输出的编码后数据进行解码和纠错处理,得到原始数据输出。

所述仲裁刷新器在不影响用户访问数据的情况下,通过第二端口将双口ram模块中存储的用户数据进行相应的edac解码和编码后,再次写入双口ram,从而刷新双口ram。

所述仲裁刷新器包括写入仲裁器、刷新地址发生器、第二edac编码器、第二edac解码器;其中:

刷新地址发生器,在每个控制周期,根据写入仲裁器输出的刷新控制信号的状态,生成双口ram模块第二端口地址线上的刷新地址,当刷新控制信号为“不刷新”时,保持双口ram模块第二端口地址线上的刷新地址不变;当刷新控制信号为“刷新”时,更新双口ram模块第二端口地址线上的刷新地址;

写入仲裁器,在每个控制周期,首先,控制双口ram模块第二端口的写使能无效,待第二edac编码器完成编码后,判断当前时刻双口ram模块第一端口地址线上的地址与第二端口地址线上的刷新地址是否相同,如果相同,则认为当前第一端口和第二端口地址冲突,将刷新控制信号置为“不刷新”状态;否则,将刷新控制信号置为“刷新”状态,控制双口ram模块第二端口的写使能有效,将第二edac编码输出的数据写入双口ram中;

第二edac解码器,通过双口ram模块的第二端口读出刷新地址对应的数据,进行解码,将解码后的数据发送给edac编码器;

第二edac编码器,将收到的数据进行编码,将编码后的数据通过双口ram的第二端口数据线输出至双口存储器。

所述双口ram模块采用fpga内部blockram存储器实现。

刷新地址控制器通过将地址0到地址l-1无限循环累加的方式刷新地址,所述l为双口ram存储深度。

所述双口ram的数据宽度为n+k,其中n为原始数据宽度,k为edac编码校验位位宽。

所述edac编码采用汉明码、bch码对数据进行编码。

所述第二edac编码器的编码方式与双口ram模块中存储的edac编码数据编码方式相同。

本发明与现有技术相比的优点在于:

(1)、本发明利用fpga双口ram的两个独立端口中的一个作为刷新端口,配合写入仲裁模块,做到另外一个端口完全无影响的情况下完成刷新处理,解决了在航天器sram型fpga内部blockram抗单粒子翻转加固的难题;

(2)、本发明相对于blockram做三模冗余的方案,减少了存储器开销一半以上;

(3)、本发明采取edac编解码方法实现sram型fpga对双口ram的实时不间断刷新处理,即节约了内部资源,又有效提高抗单粒子能力。

(4)、本发明双口ram中的数据选取edac编码方法进行编码和译码,所述仲裁刷新器对双口ram内部数据在线进行不间断地edac纠错刷新,避免了传统三模冗余方案中单粒子翻转随时间累积导致数据两模出错的风险。

附图说明

图1为本发明实施例的整体框图。

具体实施方式

以下结合附图和具体实施例对本发明进行详细说明。

如图1所示,本发明提供的一种航天器使用sram型fpga双口ram抗单粒子翻转加固装置包括双口ram模块、第一edac编码器、第一edac解码器和仲裁刷新器。

1、双口ram模块作为物理数据存储器

双口ram模块包括两套完全独立的端口,分别为第一端口和第二端口,每个端口包括数据线、地址线、读使能控制线和写使能控制线;其中,用户数据通过第一端口写入和读出双口ram模块中;仲裁刷新器在不影响用户写入数据的情况下,通过第二端口将双口ram模块中存储的用户数据读取出来后再次写入双口ram,从而刷新双口ram。

双口存储器采用fpga内部blockram存储器实现,blockram存储器具有两个读写端口,用于存储edac编码后的数据,假设对外位宽为n,编码校验位位宽为k,那么该存储器位宽即为n+k,存储深度根据用户需求而定,即为l(地址范围为0~(l-1))。

2、第一edac编码器

第一edac编码器将外部输入的原始数据进行编码,通过双口ram模块的第一端口将编码后的数据输入至双口存储器。

edac编码器定义了ram内存储数据的编码方式,一般推荐采用汉明码进行编码,信息位为n位,校验位为k位,用以纠错特定位的误码;它将输入的n位用户数据进行编码,得到n+k位的编码后数据。

所述edac编码可以采用汉明码、bch码对数据进行编码。

3、第一edac解码器

第一edac解码器,将双口ram模块第一端口输出的编码后数据进行解码和纠错处理,得到原始数据输出。

edac解码器定义了ram内存储数据的edac解码方式。解码方式与相应的edac编码所采用的编码方式对应。信息位为n位,校验位为k位;它将输入的n+k位的编码后数据进行解码,如有误码则修正误码,得到n位用户数据。edac解码器用于内部刷新纠错口的数据读出纠错;也用于外部用户口的数据读出后的纠错。

4、仲裁刷新器

所述仲裁刷新器在不影响用户写入数据的情况下,通过第二端口将双口ram模块中存储的用户数据进行相应的edac解码和编码后,再次写入双口ram,从而刷新双口ram。

所述仲裁刷新器包括写入仲裁器、刷新地址发生器、第二edac编码器、第二edac解码器。

(1)刷新地址发生器

刷新地址发生器在每个控制周期,根据写入仲裁器输出的刷新控制信号的状态,生成双口ram模块第二端口地址线上的刷新地址,当刷新控制信号为“不刷新”时,保持双口ram模块第二端口地址线上的刷新地址不变,防止改变用户数据内容;当刷新控制信号为“刷新”时,更新双口ram模块第二端口地址线上的刷新地址。

刷新地址发生器产生从地址0到地址l-1的读、解码、编码、写入控制时序,上电后通过将地址0到地址l-1无限循环累加的方式产生刷新地址,对每一地址的数据读出,解码、编码并写回同一地址。所述l为双口ram存储深度。

(2)写入仲裁器

写入仲裁器在每个控制周期,首先,控制双口ram模块第二端口的写使能无效,待第二edac编码器完成编码后,判断当前时刻双口ram模块第一端口地址线上的地址与第二端口地址线上的刷新地址是否相同,如果相同,则认为当前第一端口和第二端口地址冲突,将刷新控制信号置为“不刷新”状态;否则,将刷新控制信号置为“刷新”状态,控制双口ram模块第二端口的写使能有效,将第二edac编码输出的数据写入双口ram中。

(3)第二edac解码器

第二edac解码器通过双口ram模块的第二端口读出刷新地址对应的数据,进行解码,将解码后的数据发送给edac编码器;

(4)第二edac编码器

第二edac编码器将收到的数据进行编码,将编码后的数据通过双口ram的第二端口数据线输出至双口存储器。所述第二edac编码器的编码方式与双口ram模块中存储的edac编码数据编码方式相同。

写入仲裁器和刷新地址发生器定义了以用户端为有限的写入数据完整性保障;当用户要写入或者读出某地址数据时,如果内部刷新操作正好在对该地址进行刷新,则撤销本次刷新写入,下个控制周期再次读取该地址数据进行edac解码、编码并写入。

本发明利用双口ram的一个端口作为内部刷新纠错接口。另外一个端口作为外部用户访问接口。在外部用户完全无影响的情况下就完成了ram内的数据纠错刷新。而且刷新频率非常快,当发生单粒子翻转时,能够在1秒内纠错,不会发生单粒子翻转累积。同时作为scrubbing技术无法覆盖blockram区的缺陷的完善手段。

本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

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