- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在Altera FPGA设备中使用循环冗余检验(CRC)实现错误的检查和恢复
简介:
在诸如航空,电信,系统控制和军事应用等关键应用中,重要的是能够实现下面这些功能:
确保在FPGA器件中存储的配置数据是正确无误的。
能够预告系统中的偶然的配置错误。
专用电路被内置于某些设备中,它们组成了循环冗余校验(CRC)的,可以随意为SEUs空间单粒子翻转效应(Single Event Upset, SEU)连续自动检查的错误检测功能。
(注:SEU是由带电粒子投射到集成电路器件的敏感区域引起的,通常会导致FPGA中的存储单元内容改变(即位翻转),带来的后果可能是计算结果的错误、程序执行序列错误,甚至是系统的崩溃。)
从4.1版开始。Quartus ? II软件(在FPGA器件中)就已经提供了CRC特征的错误检测功能。下面系列的器件都支持Quartus II CRC检测功能:
■ Stratix? IV ■ Stratix III ■ Stratix II ■ Stratix II GX ■ Stratix ■ Stratix GX ■ Cyclone? III ■ Cyclone II ■ Cyclone ■ Stratix II ■ Stratix II GX ■ Stratix■ Stratix GX ■ Cyclone II ■ Cyclone
关于Stratix IV, Stratix III and Cyclone III系列的器件的CRC错误检测功能,请参阅有关的SEU 章节的设备手册。
本应用指南包括下列主题:
■“错误检测原理”第2页
■“配置错误检测”第2页
■“用户模式错误检测”第3页
■“CRC_ERROR引脚输出”第4页
■“错误检测块”第6页
■“错误检测时间”第8页
■“软件支持”第11页
■“恢复从CRC错误”第16页
■“结论”,第16页
一、错误检测基本原理:
错误检测判定通过媒介接收到的数据是否在传输过程中损坏。为了实现这一目标,发送端采用一函数来计算一个数据校验值和追加校验原始数据帧。接收器使用相同的计算方法生成一个接收到的数据校验值和比较得到校验传输的校验值。如果这两个校验值相等,收到的数据帧是正确的,没有任何数据在传输过程中发生损坏或储存。
CRC特征的错误检测功能使用同一个概念。当Stratix和Cyclone(Stratix II, Stratix II GX, Stratix, Stratix GX, Cyclone II, 和Cyclone)系列的设备在用户模式下,CRC特征的错误检测功能保证了配置数据的完整性。
二、错误检测的配置:
CRC特征的错误检测功能,只有当设备的用户模式,才是一个超出基于CRC帧功能的额外功能,。此功能在配置Stratix和Cyclone系列器件时检查过程中数据的完整性。在配置模式,基于帧的CRC是存储在配置数据中的,它还包含每个数据帧的CRC值。
在配置过程中,FPGA器件计算出基于接收到的数据帧的CRC值并和数据流中CRC数据帧进行比较。整个配置过程一直进行,直至该设备检测到一个错误或配置就完成了。
三、用户模式错误检测:
所有Stratix和Cyclone系列的器件都内置了错误检测电路用来检测在配置随机存储器CRAM(configuration random-access memory)单元中的由软错误造成的数据错误。软故障是由于辐射粒子造成CRAM中的比特位状态发生变化的。
当数据位改写与重新配置设备的正确值,该设备正常运行。此错误检测能力不断计算配置的CRAM比特位CRC值,并与预先计算的CRC值比较。如果计算的CRC值相匹配,则在当前的配置CRAM比特位中没有错误。整个错误检测过程将持续到设备复位(通过设置 nCONFIG为低电平)。
Stratix和Cyclone系列器件的错误检测功能,不检查的内存块和I / O缓冲器。这些设备支持的内存块校验用来检查任何错误的内存块的内容位。这些I / O缓冲区在错误检测中未被验证,因为这些位使用移动存储作为更能抵抗软错误存储元素。类似的触发器是用来存储预先计算CRC和其他错误检测电路的选择位。
在Stratix和Cyclone系列器件的错误检测电路采用32位的IEEE 802协会标准的CRC,32位多项式作为CRC的生成器。因此,一个32位CRC计算erformed由设备。如果软错误不会发生,由此产生的32位签名值为0 ×这个值将反映在输出信号CRC_ERROR的一个0上。如果在设备中发生一个软错误,这个结果签名值将非零并且输出信号CRC_ERROR为1。
对于Stratix II, Stra
文档评论(0)