欢迎来到天天文库
浏览记录
ID:45589118
大小:73.98 KB
页数:10页
时间:2019-11-15
《在AlteraFPGA设备中使用循环冗余检验(CRC)实现错误的检查和恢复(陈少华毕设翻译)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、在AlteraFPGA设备中使用循环冗余检验(CRC)实现错误的检查和恢复简介:在诸如航空,电信,系统控制和军事应用等关键M用屮,重要的是能够实现下而这些功能:1、确保在FPGA器件中存储的配置数据是正确无误的。2、能够预告系统中的偶然的配置错误。专用电路被内置于某些设备中,它们组成了循环冗余校验(CRC)的,可以随意为SEUs空间单粒子翻转效应(SingleEventUpset,SEU)连续口动检查的错误检测功能。(注:SEU是由带电粒了投射到集成电路器件的敏感区域引起的,通常会导致FPGA中的存储单元内容改变(即位翻转),带来的后果町能是计算结果的错误、程序执行序列错误,甚至是系统的
2、崩溃。)从4.1版开始。Quartus®II软件(在FPGA器件中)就已经提供了CRC特征的错误检测功能。下面系列的器件都支持Quartus11CRC检测功能:■Stratix®IV■StratixIII■StratixII■StratixIIGX■Stratix■StratixGX■Cyclone®III■CycloneII■Cyclone■StratixII■StratixIIGX■Stratix■StratixGX■CycloneII■Cyclone关于StratixIV,StratixIIIandCycloneIII系列的器件的CRC错误检测功能,请参阅有关的SEU章节的设备手册
3、。本应用指南包括下列主题:■“错课检测原理”第2页■“配置错误检测”第2页■“用户模式错误检测”笫3页■“CRC_ERROR引脚输出”第4页■“错误務测块”第6页■“错误检测时间”第8页■“软件支持”第11页■“恢复从CRC错误”第16页■“结论”,第16页一、错误检测基本原理:错课检测判定通过媒介接收到的数据是否在传输过程中损坏。为了实现这一目标,发送端采用一函数來计算一个数据校验值和追加校验原始数据帧。接收器使用相同的计算方法生成一个接收到的数据校验值和比较得到校验传输的校验值。如果这两个校验值相等,收到的数据帧是正确的,没有任何数据在传输过程中发生损坏或储存。CRC特征的错误检测功
4、能使用同一个概念。当Stratix和Cyclone(StratixII,StratixIIGX,Stratix,StratixGXtCycloneII,和Cyclone)系列的设备在用八模式卞,CRC特征的错误检测功能保证了配置数据的完整性。二、错误检测的配置:CRC特征的错误检测功能,只有当设备的用户模式,才是一个超岀基于CRC帧功能的额外功能,o此功能在配置Stratix和Cyclone系列器件时检查过程中数据的完整性。在配置模式,基于帧的CRC是存储在配置数据中的,它还包含每个数据帧的CRC值。在配置过程中,FPGA器件计算出基于接收到的数据帧的CRC值并和数据流中CRC数据帧进行
5、比较。整个配置过程一肓进行,肓至该设备检测到一个错误或配置就完成了。三、用户模式错误检测:所有Stratix和Cyclone系列的器件都内置了错谋检测电路川來检测在配置随机存储器CRAM(configurationrandom-accessmemory)单元中的
6、1]软错误造成的数据错误。软故障是由于辐射粒子造成CRAM中的比特位状态发生变化的。当数据位改写与重新配置设备的正确值,该设备正常运行。此错谋检测能力不断计算配置的CRAM比特位CRC值,并与预先计算的CRC值比较。如果计算的CRC值相匹配,则在当前的配置CRAM比特位中没有错误。整个错误检测过程将持续到设备复位(通过设置nCO
7、NFIG为低电平)。Stratix和Cyclone系列器件的错误检测功能,不检查的内存块和1/0缓冲器。这些设备支持的内存块校验用來检查任何错误的内存块的内容位。这些I/O缓冲区在错误检测中未被验证,因为这些位使川移动存储作为更能抵抗软错误存储元索。类似的触发器是川來存储预先计算CRC和其他错谋检测电路的选择位。在Stratix和Cyclone系列器件的错误检测电路采用32位的IEEE802协会标准的CRC,32位多项式作为CRC的生成器。因此,一个32位CRC计算erformed由设备。如果软错谋不会发生,由此产生的32位签名值为0X00000000,这个值将反映在输出信号CRC_ER
8、ROR的一个0上。如果在设备中发生一个软错误,这个结果签名值将非零并且输出信号CRC.ERROR为1。对^StratixII,StratixIIGX,andCycloneII系列的器件,在用户模式吋,支持CHANGE_EDREG的JTAG指令,这些指令允许你写到32位存储寄存器。您可以使用Jam文件(.Jam),以白动实现测试和验证过程。这是一个强人的设计功能,它使您能够在系统,在运行状态下核对的CRC功能,却不用重新配置设备。然后
此文档下载收益归作者所有