一种抗SEU存储器电路的FPGA设计

发布者:qpb1234最新更新时间:2010-11-21 来源: 国外电子元器件 关键字:SEU  存储器  FPGA 手机看文章 扫描二维码
随时随地手机看文章
O 引言

  随着我国航空航天事业的迅猛发展,卫星的应用越来越广泛。然而,太空环境复杂多变,其中存在着各种宇宙射线与高能带电粒子,它们对运行于其中的电子器件会产生各种辐射效应。辐射效应对电子器件的影响不可忽视,因为辐射会使器件的性能参数发生退化,以至失效,从而影响卫星的可靠运行,缩短卫星的使用寿命。辐射效应对电子器件的影响很多,其中最主要的有总剂量效应(TID)和单粒子效应(S-EE)。SEE按产生的影响主要包括单粒子翻转(SEU)、单粒子闩锁(SEL)和单粒子烧毁(SEB)等三种类型,其中以SEU最为常见。在各种辐射效应当中,存储器对SEU最为敏感,所以,对存储器的抗辐射设计首先要考虑的就是抗SEU设计。

  事实上,不同的空间环境和应用需求,对存储器的数量与质量也有不同的要求。例如:在上传指令与下载星载仪器仪表的状态时,要求数据有很高的可靠性,此时对内存容量则没有特别的要求;而在处理某些用途的图像数据时,对数据可靠性的要求则相应较低,此时则需要较大的内存容量。所以在采用具体的抗SEU方法时,也要因其不同情况而做出适合的选择。

  本文将采用扩展汉明码编码(Extended Hamming Code)与三模冗余(Triple Modular Redundancy,TMR)相结合的方法,并利用二者检错纠错的不同特点,来对SRAM进行检错纠错模式可调的抗SEU设计。这样既可实现存储器的抗SEU设计。又可满足对存储器使用灵活性的要求。

1 扩展汉明码与TMR检错纠错原理

  1.1 扩展汉明码检错纠错原理

  扩展汉明码是一种常用的能检测两位错同时能纠正一位错的编码方法。它是在汉明码的基础上.在码字上再加入一个对所有码元都进行校验的校验位而得到的,故称为扩展汉明码。

  扩展汉明码是线性分组码的一种,其信息位和监督位的关联可由一组线性代数方程组表示。(n,k)线性分组码的编码就是去建立由r(其中r=n-k)个生成冗余位的方程式构成的方程组,再由此方程组转化为kxn的生成矩阵G。编码时,可将信息位向量(k维)乘以生成矩阵G,从而得到码字向量(n维),如下式所示:

  将式(1)表示的方程组作移位变换,可以得到式(2),通常称H为监督矩阵。

  解码时,通过监督矩阵H与读出的码字向量C的乘积结果可判断该码字是否出错。若读出的码字向量C乘上监督矩阵H后得到一个零向量,则表示没有出错;否则表示码字在存储之后受到了单粒子效应的影响,有错误发生。通常将监督矩阵与读出的码字向量C的乘积记作S,称为校验子。当码字中某一位发生错误时,就会得到唯一的S向量,该向量只与码字出错的位置有关,而与码字C无关。通过S向量可以定位出错的位置,并对出错数据进行改正。

作为线性分组码的一种,扩展汉明码的分组编码总长为2r位,信息位长度为2r-1-r位,即(2r,2r-l-r)扩展汉明码。本设计采用了16位RAM存储器,所以对应使用(22,16)扩展汉明码。

  1.2 TMR检错纠错原理

  TMR是一种常见的硬件冗余技术。它的原理是在相同的一组硬件单元上同时发生错误的概率要比在单一硬件单元上发生错误的概率小。它的基本方法是将所需容错的硬件单元增加到三倍或更多,并将各个单元的输出连接到一个表决器上,由表决器选择所有硬件单元中的绝大多数输出值作为整体的输出值。图1所示为三模冗余系统结构图。

  图1中,A1、A2、A3三个模块同时执行同样的操作,并将其输出送给表决器,然后由表决器对接收到的三路数据进行比较。如果三个模块同时给出三个相同的输出,则表决器输出任何一路作为正确输出。如果其中任一模块出错,其输出不同于其它两个模块,则表决器依然输出正确结果。如果有两个模块同时出错,且变成相同的状态,表决器则会误认为这是正确的结果并输出,不过这种情况的出现虽然可能,但概率非常小。当然,如果这两个模块同时出错,但出错状态不同,则表决器此时将无法做出选择,但可以产生中断。

2 内存配置方案

  通过上面对扩展汉明码与TMR两种检错纠错方式的介绍,可以发现其二者各有优势,分别适用于不同的环境条件和应用需求。但是,这两种方案对于内存配置的要求是不同的,所以在对整个电路的设计之前,首先要对内存作如下配置。

  本设计中使用了3片16bit的SRAM。并分别采用(22,16)汉明码和TMR两种检错纠错方法。对于(22,16),一般采用(16+8)位的存储器来实现,而TMR,则采用16位的存储器来实现。若要支持这两种方法,则必须首先为存储器设计一种特别的内存配置方式。本设计采用如图2所示的内存配置方案。

  对于图2所示的内存配置方案,当系统工作在TMR模式时,所有的片选信号都被相同的信号驱动,这样就构成了TMR需要的3个16位内存空间;而当系统工作在汉明码模式时,它们则ah、al、bh为一组,bl、ch、cl为另一组,并分别被相同的片选信号驱动,从而构成了两个独立的(16+8)位的内存空间。本设计采用了3片128 K×16bit的SRAM,如果设置每片SRAM的低4K×16bit空间工作在TMR模式,则从图中可以看出,该SRAM芯片组中还有两个124 K×(16+8) bit的空间可以工作于扩展汉明码模式。

3 电路设计

  基于上述内存配置方案,本文设计了如图3所示的抗SEU存储器电路。该电路包含了4个功能模块。

  3.1 TMR模块

  在TMR工作模式下可完成数据的写入操作和读取操作中的冗余判决。如果在读取过程中发现有一片RAM中的数据与其它三片不同,则对该片RAM进行正确数据的回写;如果发现三片RAM中的数据都不相同,则产生中断信号。

  3.2 扩展汉明码模块

  在扩展汉明码工作模式下,当写入数据时,则对其进行编码;当读取数据时,则对其进行相应的解码,并判断数据是否出错。如果一位错则自动回写正确值,如果两位以上的错误,则产生中断信号。

  3.3 模式选择模块

  在该模块内部设置有一个32位的模式配置寄存器。通过给模式配置寄存器的低18位进行预先置数,可以设置检错纠错电路的工作模式,同时也就设置了RAM的内存配置情况。根据CPU的不同应用要求,模式控制模块可以让检错纠错电路在扩展汉明码方式与TMR方式二者之间进行灵活的切换。

  3.4 控制逻辑模块

  该电路模块可根据电路所处的检错纠错模式来控制相应的读写信号和内存片选信号,以便正确访问RAM内容。

[page]

4 FPGA的编程与实现

  接下来对每个模块在设计过程的具体考虑进行重点介绍。

  4.1 TMR模块

  对于TMR模块的设计较为简单。需要特别指出的是,考虑到对电路有效性的验证,在写通道上另外添加了错误注入模块。图4所示是其设计框图,图中,ctrl_err为错误注入控制信号,当ctrl_err为0时,表示不注入错误;当ctrl_err为1时,表示注入错误。这样可以通过对ct-rl_err信号的控制来实现对SEU效应的模拟。add_err[7..0]为注错数据信号。将add_err的低四位用0000~1111表示,可用于表示给数据添加错误的位置,它的高四位甩XX01~XX11表示,则可分别表示要给RAM组中的某个RAM添加错误。

  4.2 扩展汉明码模块

  扩展汉明码模块的设计主要包括编码模块、伴随式生成模块以及差错校验模块等。编码模块可使用式(1)进行编码,可生成r个校验位。并将它们依次添加到码元序列的第2i-1(其中i=0,…,r-1)个位置上。伴随式生成模块使用式(2)进行解码,可对应生成校验子S。差错控制模块可根据生成的校验子S来判断数据是否出错,以及出错的位数,并用sef与def表示。如果数据没有出现错误,则直接送出;如果数据中有一位出现错误,则对其进行回写,同时将修正的数据送出;如果两位出现错误,则输出中断信号int。

  需要注意的是,扩展汉明码模式下的地址信号需要进行额外的处理。由于本设计采用了128K×16bit的SRAM芯片,它有17位地址信号。但是,正如上面提到过的,SRAM芯片组中将有4KB的存储空间工作于TMR模式,还有248KB的存储空间将工作于扩展汉明码模式,而248KB的空间需要18位地址信号,这就要求有一个对地址信号进行变换的模块。当地址小于4KB 时,电路工作于TMR模式下而无需对地址进行变换;当地址大于等于4 KB同时小于128 KB时,电路工作于扩展汉明码模式,地址信号会选中第一个124 Kx(16+8)bit的空间,此时也无需地址变换;而当地址大于等于128 KB,电路也工作于扩展汉明码模式下,此时地址信号应选中第二个124 Kx(16+81bit的空间,此时则应将地址值加上4KB,然后取新的地址的低17位加到第二个124 Kx (16+8) bit的存储空间上即可。

  在上述TMR和扩展汉明码模块的设计中,对出错数据的回写是设计中的重点和难点,主要应考虑是否回写和何时回写两个问题。这两个问题可由时序控制模块来解决。它主要根据CPU的控制信号,适时的发出错误标示输出使能信号flag_oe,从而改变CPU对RAM的读写状态,完成修正数据的正确回写。

  另外,电路中的错误标示信号对整体设计的稳定性至关重要。为了保证错误标示信号的稳定,可在双向传输门B的读入端加一个锁存器,锁存器的锁存使能端也可由时序控制模块的flag_latch来控制。

  4.3 模式选择模块

  模式选择模块用于接收来自CPU的配置信号config和片选信号cs_fpga,以便将32位的配置数据写入配置寄存器。该寄存器的低18位数据为模式配置数据,地址信号通过与该数据进行比较,可使小于该地址的存储器空间工作于TMR模式,大于该地址的存储空间工作于扩展汉明码模式。

  本电路采用软件故障注入法来进行电路的有效性验证,所以,在电路设计中,可将模式配置寄存器的其余14位用于注入外部干扰数据,并将其连接到ctrl_err与add_err信号,以用来进行软件故障的注入,模拟SEU对电路的影响。

  4.4 控制逻辑模块

  该模块可接收模式选择模块的模式信号mode,以对TMR模块和扩展汉明码模块输出的读写信号和片选信号进行选择,然后输出到RAM芯片的引脚上去,从而实现CPU对RAM的正确访问。尤其是当电路工作于扩展汉明码模式时,还需根据地址信号判断当前对哪个124 Kx (16+8)bit的存储空间片选有效。其具体电路如图5所示。

5 结束语

  本设计中的抗SEU存储器的设计可通过ACTEL的ProAsic系列A3P400 FPGA实现,并可使用与其配套的Liber08.5 EDA工具进行代码的编辑和原理图的绘制,并进行功能仿真与电路的综合。通过仿真可以看到,本设计可以达到预期的目的,它既可实现存储器的抗SEU设计,又可以满足对存储器使用灵活性的要求,而且具有功能完善、适应性强、电路简单等特点,非常适用于星载RAM的抗辐射电路设计。

关键字:SEU  存储器  FPGA 引用地址:一种抗SEU存储器电路的FPGA设计

上一篇:一种危险品处理机器人机械手控制系统设计方案
下一篇:网络存储系统容错编码技术进展

推荐阅读最新更新时间:2024-03-16 10:55

Altera演示FPGA中业界性能最好的DDR4存储器数据速率
Arria 10 FPGA和SoC的2,666 Mbps DDR4存储器接口适用于大数据量应用。 2014年12月19号,北京——Altera公司(Nasdaq: ALTR)今天宣布,在硅片中演示了DDR4存储器接口,其工作速率是业界最高的2,666 Mbps。Altera的Arria® 10 FPGA和SoC是目前业界唯一能够支持这一速率DDR4存储器的FPGA,存储器性能比前一代FPGA提高了43%,比竞争20 nm FPGA高出10%。硬件设计人员现在可以使用最新的Quartus® II软件v14.1,在Arria 10 FPGA和SoC设计中实现2,666 Mbps DDR4存储器数据速率。视频演示表明,鲁棒的存
[嵌入式]
宽频带数字锁相环的设计及基于FPGA的实现
引言 数字锁相环(DPLL)技术在数字通信、无线电电子学等众多领域得到了极为广泛的应用。与传统的模拟电路实现的PLL相比,DPLL具有精度高、不受温度和电压影响、环路带宽和中心频率编程可调、易于构建高阶锁相环等优点。随着集成电路技术的发展,不仅能够制成频率较高的单片集成锁相环路,而且可以把整个系统集成到一个芯片上去。在基于FPGA的通信电路中,可以把全数字锁相环路作为一个功能模块嵌入FPGA中,构成片内锁相环。一般同步串行口通信方式的同步串行口之间的数据传输除了数据线外还必须有专门的同步时钟线,这种连接方式不但需要增加一条线路,同步性能受环境的影响还较大。利用数字锁相环可以从串行位流数据中恢复出接收位同步时钟。这样,串行口之间只
[嵌入式]
SEP3203处理器的FPGA数据通信接口设计
SEP3203处理器是由东南大学国家专用集成电路系统工程技术研究中心设计的16/32位RISC微控制器,面向低成本手持设备和其他通用嵌入式设备。该处理器内嵌ARM7TDMI处理器内核,为用户提供了面向移动终端应用的丰富外设、低功耗管理和低成本的外存配置,整个芯片可以运行在75 MHz。数据通信系统使用的主要功能模块如下:20 KB片上零等待静态存储器(eSRAM);外部存储器接口控制器(EMI);中断控制器(INTC);DMA控制器(DMAC)。 系统中使用的FPGA为Altera公司的Cyclone系列中的EP1C6Q240C8,拥有丰富的I/O资源和逻辑资源,外部接口遵循SRAM时序。它主要负责提供信号的A/D采样频率,并将A
[单片机]
SEP3203处理器的<font color='red'>FPGA</font>数据通信接口设计
瑞萨电子精简数据中心的存储器组件数量
使用瑞萨电子LLDRAM-III和FPGA技术实施参考设计,支持流量达到100Gb级 使用瑞萨电子LLDRAM-III和 FPGA技术实施的瑞萨电子数据包标题搜索参考设计 2016年6月30日,日本东京讯 全球领先的半导体解决方案供应商瑞萨电子株式会社(TSE:6723)今日宣布推出一种面向100Gb通信设备,如路由器、交换机和服务器的数据包标题搜索参考设计。 该瑞萨电子参考设计由LLDRAM-III (RMHE41A364AGBG)高功效、低延时存储器(LLDRAM)、专有精确匹配搜索IP和FPGA(注1)设备上的LLDRAM-III控制器IP,以及开发支持工具组成。它使用的存储设备数量仅为采用标准DRAM存储器的
[网络通信]
瑞萨电子精简数据中心的<font color='red'>存储器</font>组件数量
PLD将凭借高效低耗挑战消费电子领域
可编程逻辑器件(PLD)的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。根据半导体行业协会提供的数据,PLD现在是半导体行业中增长最快的领域之一,高性能PLD现在已经从采用最先进的标准单元技术制造的固定逻辑器件手中夺得部分市场份额。而消费电子则是PLD正在快速增长的应用领域。 PLD行业最近出现了很多新变化。以往,PLD更多是用在一些特殊产品中,例如低成本原型,或者像路由器这样的小批量产品。而今天,PLD则更多涉足消费电子领域。 PLD快速渗透消费电子市场 在摩尔定律的作用下,随着电子技术向新一代技术发展,即便在大批量产品的设计中,可编程器件也将变得越来越有竞争力,这正是赛灵思
[嵌入式]
使用LabVIEW和FPGA创建微控制器测试系统
  对于之前的应用程序测试平台,我们使用公司内部开发的控制器板,但该板需要一套单独的兼容工具链来下载这些应用程序。此外,我们还很难对这些工具链的用户界面进行导航,不得不使用额外的测试和测量设备。      有了虚拟仪器,我们可以使用同一套软件和模块化硬件执行以下测试: 测试常见的协议(SPI, ASC, I2C) 测试PWM,ICU 测试模拟/数字转换器 测试控制器区域网络(CAN) 测试时钟和门控 测试多模块同时运行系统   对于需要测试的应用来说,使用FPGA 的可重编程功能,它和LabVIEW之间的自动化接口以及CAN分析仪功 能,我们可以很容易地开发我们的系统。   在整个框架上,我们节省了大量的时
[测试测量]
使用LabVIEW和<font color='red'>FPGA</font>创建微控制器测试系统
集成F-RAM存储器的事件数据记录仪
2008年5月7日,非易失性铁电存储器 (F-RAM) 和Ramtron International Corporation宣布推出半导体业界首款基于F-RAM的事件数据记录仪 (EDR) -- FM6124,这是集成式的事件监控解决方案,能够连续监控状态的变化,将数据存储在F-RAM中并向系统提出有关变化的报警。FM6124与可编程逻辑控制器 (PLC) 类似,具有简单的器件设置和资料检索功能,便于系统集成和缩短设计周期。 FM6124是针对工业控制、医疗和计量等广泛的工业应用而设计。EDR能够实现众多应用,包括移动/设备/环境监控、检修时间安排、动力系统管理、汽车/工业自动事件记录、车辆/行人流量记录和监视系统。
[新品]
基于ARM与FPGA的LCD控制器设计
随着显示屏技术的不断发展,真彩液晶显示屏以其高分辨率、高对比度及高清晰度等优势逐渐在嵌入式显示系统中占据重要地位。目前,基于嵌入式平台的LCD显控技术的实现主要有两种方式:ARM内嵌LCD控制器和独立的控制器件。但是这两种实现方式都存在着不足之处,内嵌控制器的使用可能增大处理器的负担和限制显示帧率,而外部控制器件不仅成本高,而且专用性比较强,很难适应不同类型的液晶屏。 据此存在的问题,这里提出一种基于ARM与FPGA的LCD控制器设计方案,该设计方案一方面能够通过操作LINUX OS下的Framebuffer设备提高显存的写入速率及减轻处理器的负担,另一方面用FPGA来实现LCD控制器的设计,开发周期短、功耗低,同时具有灵
[单片机]
基于ARM与<font color='red'>FPGA</font>的LCD控制器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新安防电子文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved