在许多应用中,特别是对可靠性要求很高的应用,能够探测并及时处理 FPGA 工作时的单事件干扰 (SEU)变得越来越重要。 Stratix® III 器件提供丰富的特性和解决方案,降低 SEU 的影响,达到甚至超越系统可靠性目标。
配置错误校验
Altera 在第一代 Stratix FPGA 中引入了基于专用循环冗余校验 (CRC) 的配置校验电路。Altera采取多种方式针对 Stratix III 改进了专用 CRC 电路:
- Stratix III FPGA 没有为整个器件采用一个 CRC 值,而是为每一配置帧存储一个CRC值,从而实现了更迅速的 SEU 探测。
- Stratix III 器件的 CRC 错误探测引擎确定单比特和邻近多比特错误的 SEU 位置。
- Stratix III CRC 配置电路支持各种类型的误码插入,仿真 SEU 事件,测试降低 SEU 的方法。
图 1. Stratix III FPGA 增强型 CRC 配置错误校验器

确定关键错误
由于大部分配置错误对 FPGA 的功能没有影响,因此,忽略这些“无关紧要”的软错误可以大大延长 SEU 平均故障间隔时间 (MTBF) 。使用 Stratix III 器件增强 CRC 电路提供的位置数据,以及少量的逻辑来检查临界映射的错误位置,可以确定 SEU 是“重要”还是“不重要”,如图 2 所示。
出现了“无关紧要”的配置错误时,您可以决定忽略 SEU ,继续工作。 Quartus® II 开发工具自动生成临界映射,可以利用主动串行配置存储器等用户定义接口访问这些状态。 Quartus II 7.2 将提供临界处理器逻辑参考设计,以及三阶冗余 (TMR) 方法来提高信号完整性。
图 2. 关键配置错误探测

片内存储器错误校验
除了配置存储器校验以外, Stratix III 还能够检查片内存储器的完整性。使用第 9 个存储器位,以及自动生成的误码校正编码 (ECC) 电路, MLAB 和 M9K 模块都能够降低 SEU 。 M144K 模块也提供这一功能,只是其 ECC 电路位于存储器模块的硬件逻辑中。
使用 ECC ,三种片内存储器模块的每一种都能够探测两个比特错误,并自动纠正一个比特错误。 Quartus II 7.1 的存储器 MegaWizzard® 插件可以轻松实现 ECC 功能配置。
