基于CPLD的容错存储器的设计实现

发布者:Tianran2021最新更新时间:2006-07-12 来源: 电子查询网关键字:容错  瞬态  错误 手机看文章 扫描二维码
随时随地手机看文章

随着各种电路和芯片的性能(速度、集成度等)不断提高,尤其是在军事、航空航天等用途中对可靠性的要求往往是第一位的,人们对于系统的可靠性方面的要求日益增加,这对电路系统的设计和制造都提出了严格的目标要求。

存储器是电路系统中最常用的器件之一,采用大规模集成电路存储芯片构成。实际统计表明,存储器在太空应用中的主要错误是由瞬态错误(也叫单个事件扰动,SEU)所引起的一位错[1]或者相关多位错,而随机独立的多位错误极少。半导体存储器的错误大体上分为硬错误和软错误,其中主要为软错误。硬错误所表现的现象是在某个或某些位置上,存取数据重复地出现错误。出现这种现象的原因是一个或几个存储单元出现故障。软错误主要是由α粒子引起的。存储器芯片的材料中含有微量放射性元素,他们会间断地释放α粒子。这些粒子以相当大的能量冲击存储电容,改变其电荷,从而引起存储数据的错误。引起软错误的另一原因是噪声干扰。同时在太空环境下,在带电粒子足够能量撞击下,存储器的存储单元中的位发生翻转从而产生SEU错误 [2] 。本文设计实现了用CPLD技术和纠检错芯片对存储器进行容错,大大提高了系统的可靠性。下面是具体容错存储器和门警电路的设计。

1 检错与纠错原理

常用的能检测2位错同时能纠正1位错(简称纠一检二,SEC-DED [3、4] )的纠错码有扩展汉明码(Extended Hamming Code)和最佳奇权码(Optimal  他们的最小码距都为4,两者有相似之处,如冗余度一样,对于数据位数k,校验位数r应满足2 r-1 ≥k+r。当k=16时,r=6,数据位长增加1倍,校验位数只需增加1位,编码效率较高。另外从来源上讲,两者分别是汉明码的扩展码和截短码,也有资料称最佳奇权码为修正汉明码(Modified Hamming Code)。文献[4]介绍了SEC-DED和SEC-AUED)码的编解码理论。从性能上看最佳奇权码比扩展汉明码更为优越,前者在纠检错能力方面也优于后者,他的3位错误的误纠概率低于后者,而4位错误的检测概率高于后者,最重要的是他便于硬件实现,故应用的最多,本文采用最佳奇权码。

首先构造最佳奇权码的校验矩阵即H矩阵,最佳奇权码的H矩阵应满足:

(1)每列含有奇数个1,且无相同列。

(2)总的1的个数少,所以校验位、伴随式生成表达式中的半加项数少,从而生成逻辑所需的半加器少,可以节约器材、降低成本和提高可靠性。

(3)每行中1的个数尽量相等或接近某个平均值,这种决定生成逻辑及其级数的一致性,不仅译码速度快,同时线路匀称。

应用中采用(13,8,4)最佳奇权码,数据码为(d7 d6 d5 d4 d3 d2 d1 d0),校验码为(c4 c3 c2 c1 c0),P矩阵和编码规则分别为:

           
译码时把数据再次编码所得到的新校验位与原校验位模2加,便得到伴随式S,由其可判别错误类型:
1)若S=0,则认为没有错误;

(2)若S≠0,且S含有奇数个1,则认为产生了单位错;若S≠0,且S含有偶数个1,则认为产生了2位错。

因此,错误图样S=[s 0  s 1  s 2  s 3  s 4 ]与产生的错误一一对应,从而实现纠一检二功能。

2 存储器容错芯片设计实现

2.1 存储器设计实现方案

(1)备份行(或列)方案

这种方案是在存储芯片的设计与制造过程中增加若干备份的行(或列)。在芯片测试时,若发现失效的行(或列),则通过激光(或电学)的处理,用备份行(或列)去代替。此方法的优点是设计简单,管芯面积增加较少,电路速度没有损失。但是,他需要增加某些测试与修正实效行(或列)的工艺环节,更重要的弱点是这种方案仅适用于RAM,不能用于ROM。

(2)纠错编码方案

这种方案是在存储芯片内部采用纠错编码,自动检测并纠正错误。此方案不需要额外的测试和纠正错误等工艺环节,除提高成品率外,还对可靠性有明显改进。这种方案最突出的优点是特别适合ROM;在对速度要求不高的情况下也可用于RAM。他的主要缺点在于要占用额外的芯片面积,同时因编译码而影响芯片整个的工作速度。将用于存储器系统级的纠错编码等容错技术引入存储器芯片内部,是提高存储芯片成品率和可靠性的有效措施。例如服务器中使用的ECC内存就采用了此技术。

本文的容错存储器采用纠错码方案,其实现框图如图1所示。

2.2 纠检错电路设计

纠检错电路必须配合CPU的读写时序进行工作,可以将CPU的时序分为读周期和写周期。在写周期时,总线通过纠错电路直接将数据写入到存储器,同时数据通过纠错电路产生5 b校验码写入到冗余存储器。读周期时分成2步,第1步从存储器和冗余存储器分别读取数据和校验位数据送入纠错电路锁存;第2步进行检错,如果没有错误直接将数据送出到数据总线,有2位错产生中断进行处理,有1位错对数据进行纠错并送入数据总线。因需要的是正确数据,如果是校验位出错则不进行任何处理,直接输出正确数据。

2.3 电路输入输出设计

RD,WR,CLK为CPU输入到纠检错信号,通过控制电路产生芯片内控制信号。在写信号时,DB[7..0]从数据总线输入,通过锁存以后经过三态控制(Santai模块)写入到存储器,同时数据通过校验码产生模块(Paritygen)产生5 b校验码,通过三态控制写入冗余存储器。读信号时,存储器数据读入纠检错电路经过锁存后产生5 b校验码,同时与从冗余存储器读入的5 b检验码一起通过错误图样模块(Errorsample),产生错误图样。通过错误图样检测错误,当数据产生错误时通过纠错模块(Errorcorrect)纠错后将正确数据输出到数据总线。Errordetec为错误状态模块,SEF,DEF为错误状态信号。0,0时无错,1,0时1位错,1,1时2位错。电路实现的各部分功能模块如图2所示。 

3 仿真及其波形

本文采用Altera公司的CPLD器件EPM7128作为设计环境 [5] ,图3是纠检错电路仿真图形,用CPLD实现纠检错电路仿真,图中118~205 ns时从数据线上写入数据AA,359~443 ns时仿真了读数据时产生1位错情况,601~692 ns时仿真了产生2位错情况,此时检测到了2位错,但是不能纠正。781~863 ns时仿真了校验位产生1位错时的情况。

4 分析与结论

本文利用最佳奇权码的基本原理设计的纠错码电路可以校正单位错,检出2位错,存储器不因单位错而中断工作,故其平均无故障时间MTBF增大,提高了可靠性。但是纠一检二码的新增器材又使MTBF有所下降。

在效率上,设在时间T内,发生1位错的次数为n 1 ,发生2位及多位错的次数为n 2 ,采用纠错码时,平均无故障时间为T 1 =T/(n 1 +n 2 ),采用最佳奇权码后,1位错是可纠的,仅2位及多位错是不可纠的,作为出错处理。设由于采用纠错码而增加器材δ%,因而采用最佳奇权码后的平均无故障时间为:

据资料估计,对于1位错占整个错误的比例 增益G=4.6~9.3。通过CPLD来实现存储器的容错,大大缩短了设计开发周期,降低了成本,同时提高了系统的可靠性。
关键字:容错  瞬态  错误 引用地址:基于CPLD的容错存储器的设计实现

上一篇:FPGA与SRAM相结合完成大容量数据存储
下一篇:SDRAM控制器的设备与VHDL实现

推荐阅读最新更新时间:2024-05-13 18:12

PLC可编程逻辑控制器的常见错误类型以及修复方法
可编程逻辑控制器(Programmable Logic Controller,PLC),一种具有微处理器的用于自动化控制的数字运算控制器,可以将控制指令随时载入内存进行储存与执行。可编程控制器由CPU、指令及数据内存、输入/输出接口、电源、数字模拟转换等功能单元组成。早期的可编程逻辑控制器只有逻辑控制的功能,所以被命名为可编程逻辑控制器,后来随着不断地发展,这些当初功能简单的计算机模块已经有了包括逻辑控制、时序控制、模拟控制、多机通信等各类功能,名称也改为可编程控制器(Programmable Controller),但是由于它的简写PC与个人电脑(Personal Computer)的简写相冲突,加上习惯的原因,人们还是经常使用
[嵌入式]
福布斯:微软应从Android错误中吸取教训
    《福布斯》今日刊登了第二大移动VoIP服务商Rebtel的首席执行官安德里斯伯恩斯托姆(Andreas Bernstrom)发表的评论文章称,如果微软可以从Android的错误中吸取教训,他坚信Windows Phone最终一定可以获胜。自从谷歌在2007年发布Android OS以来,大多数智能手机用户就只能在谷歌和苹果之间进行选择。    但是另一个有力的挑战者已经崭露头角,我相信微软Windows Phone最终可以获胜,只是现在还没有太多人意识到这一点。     虽 然微软的Windows Phone 7在用户数量方面还远远落后于Android和iPhone,但是围绕着智能手机领导权的竞争已经拉开序幕。刚刚推出的Wi
[手机便携]
网上错误信息太多 社交机器人有错
英国《自然·通讯》杂志近日发表的一篇技术论文称,科学家通过对重要社会事件的研究发现,社交网络——尤其是推特(Twitter)上的社交机器人(由软件控制的社交媒体账户),在低可信度来源文章的传播中起到了很大作用。研究人员认为,限制社交机器人或能减少网上错误信息的传播。 许多人认为,社交机器人对在社交媒体上传播、推广低可信度来源文章的问题上负有重大责任,并要求相关平台对其实施打击,不过迄今为止并未找到确凿证据。 此次,美国印第安纳大学伯明顿分校研究人员费里珀·曼克泽及其同事,分析了推特上1400万条推文以及在2016年美国总统大选期间(2016年5月中旬至2017年3月)转发的40万篇文章。 研究团队发现,社交机器人经常会在低可信度来
[机器人]
CAN总线错误帧分析
1、CAN错误检测(Error Detection)       CAN网络具有严格的错误诊断功能,该功能已固化在硅片之中,一旦错误被检测,正在传送的数据帧将会立即停止而待总线空闲时再次重发直至发送成功,该过程并不需要CPU的干涉除非错误累计该发送器退隐(Bus Off)。CAN控制器可检测如下五种错误:       √ 位错误(Bit Check Error)       发送器在发送比特流的同时也对发出的比特流采样回收,若送出的bit与所期待的bit不合,则会检测到一个Bit Check Error;               √ 位填充错误(Bit Stuff Error)       在需要执行位编码规则
[嵌入式]
创建第一个stm32项目工程常见错误警告
.ObjectsLightOneLed.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_hd.o). 意思是SystemInit这个函数未定义(在startup_stm32f10x_hd.o引用)。 在外部(其他任何.c文件里面)定义SystemInit这个函数,哪怕是个空函数也可以。 void SystemInit() { } usermain.c(26): warning: #1-D: last line of file ends without a newline int main() {
[单片机]
IAR for STM8 错误
一个IAR for STM8 v1.3 的工程,换到1.4版后出现如下错误 unable to allocate space for sections/blocks with a total estimated minimum size of 0x2341 bytes in (total uncommitted space 0x1f80). 在网上找到下面文章,在工程选项里将“Library Options”里的“Printf formatter”和 Scanf formatter 修改为“small”或 源: STM8S与IAR程序常用错误 一、IAR中的重复定义问题 在自己写头文件时,要记得将常量定义在.c文
[单片机]
IAR for STM8 <font color='red'>错误</font>
IAR for msp430的一个编译错误的解决方法
简介:很多人在win7上安装 IAR for msp430 后编译会出现如上的错误,笔者刚开始也遇到了这个问题,很是困惑。在网上找解决方法。 Fatal Error : Copy protection check, No valid license found for this product 2 很多人在win7上安装 IAR for msp430 后编译会出现如上的错误,笔者刚开始也遇到了这个问题,很是困惑。在网上找解决方法。很多都是如下回答: 注意:破解后如出现以下情况: Fatal Error : Copy protection check, No valid license found for this pr
[单片机]
CAN总线错误检测机制
CAN总线是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,CAN总线应运而生,图1为CAN总线在汽车中的应用图。 图 1 汽车中CAN总线的应用 CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。图2为CAN总线网路图,它的出现为分布式
[嵌入式]
CAN总线<font color='red'>错误</font>检测机制
小广播
最新应用文章
换一换 更多 相关热搜器件

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