- Industrial & lab equipment
- Electrical equipment & supplies
- Electronic components & supplies
- Integrated circuits
- Altera
- cyclone V
- 用户手册
- 10 Pages
Altera Cyclone V Cyclone V 器件 用户手册
以下是有关Cyclone V 器件 Cyclone V 的简要信息。此手册重点介绍了 Cyclone V 器件的错误检测功能和内部擦除功能。
advertisement
Assistant Bot
Need help? Our chatbot has already read the manual and is ready to assist you. Feel free to ask any questions about the device, but providing details will make the conversation more productive.
Cyclone V器件的SEU缓解
2013.05.06
CV-52008
订阅 反馈
这一章节介绍 Cyclone ®
错误。
V器件的错误检测功能。您可以使用这些功能来缓解单粒子翻转 (SEU)或软
相关链接
Cyclone V 器件手册:已知问题
列出了Cyclone V器件手册的章节的所计划的更新。
8
错误检测功能
片上错误检测CRC电路使您可以执行以下的操作,而对器件的布局布线或性能没有任何的影响:
• 配置期间CRC错误的自动检测。
• 用户模式中可选的CRC错误检测和识别。
• 用户模式中可选的内部刷洗。当使能时,该功能自动纠正单比特和双邻近错误。
• 通过JTAG接口特意注入错误来进行错误检测功能的测试。
配置错误检测
当QuartusII生成配置比特流时,软件也计算每个帧的16位CRC值。根据比特流中的数据帧的数量,
一个配置比特流可以包含多个CRC值。数据帧的长度根据器件的不同而不同。
配置期间,一个数据帧加载到FPGA时,与计算出的CRC值被移进CRC电路。同时,FPGA中的CRC
引擎计算数据帧的CRC值并且将其与预计算出的CRC值进行比较。如果两个CRC值不匹配,那么 nSTATUS
管脚被设置为低电平以表示配置错误。
配置期间,可以通过修改配置比特流或特意地损坏比特流来测试该功能的性能。
用户模式错误检测
用户模式中,配置的CRAM位的内容可能会被软错误影响。这些电离粒子导致的软错误在Altera器
件中不常见。然而, 要求器件无差错运行的高可靠性应用可能需要设计应对这些错误。
©
2013 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html
. Altera warrants performance of its semiconductor products to current specifications in accordance with
Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
ISO
9001:2008
Registered www.altera.com
101 Innovation Drive, San Jose, CA 95134
8-2
内部涮洗
CV-52008
2013.05.06
您可以使能错误检测电路来检测软错误。存储在CRAM中的每个数据帧包含一个32位预计算出的
CRC值。当使能该功能时,错误检测电路连续地计算CRAM中每个帧的32位CRC值并且将CRC值和
预计算出的值进行比较。
• 如果CRC值匹配,那么综合寄存器中的32位CRC签名会被设置为零,以表明没有检测到错误。
• 否则,综合寄存器中产生的32位CRC签名为非零,以表明一个CRC错误。
CRC_ERROR
管脚被拉
高,并且错误类型和位置被识别。
在一个帧里,错误检测电路可以检测出所有的单位、双位、三重位、四重位和五重位错误。当检测
到单位或双相邻位错误时,错误检测电路报告位的位置并且决定单位和双相邻错误的类型。其它错
误码型的可能性很低并且不保证位位置的报告。多于5个CRAM位被软错误翻转的可能性非常低。
通常,所有错误模式检测的成功率为99.9999%。错误检测的过程继续进行直到器件通过设置 nCONFIG
信号为低电平而被复位。
内部涮洗
在用户模式中,内部涮洗能够从内部纠正软核错误。该功能纠正每个数据帧中检测到的单位和双相
邻错误,而无需重配置器件。
图8-1: 结构图
Error Detection
State Machine
32-Bit CRC
Calculation and Error
Search Engine
Internal Scrubbing
Data Registers, CRC
Registers, and CRAM
Array
规范
该部分列出了用户模式中错误检测的EMR更新间隔、错误检测频率和CRC计算时间。
最小EMR更新间隔
每次错误信息寄存器的更新之间的间隔取决于器件和错误检测时钟的频率。使用较低时钟频率增加
间隔时间,从而增加了从单粒子翻转(SEU)恢复的所需时间。
表8-1: 所评估Cyclone V器件中的最低EMR更新间隔—初步数据
器件类型
Cyclone E
成员代码
A2
A4
A5
A7
A9
时间间隔(µs)
1.47
1.47
1.79
2.33
3.23
Altera公司
Cyclone V器件的SEU缓解
反馈
CV-52008
2013.05.06
器件类型
Cyclone V GX
Cyclone V GT
Cyclone V SE
Cyclone V SX
Cyclone V ST
成员代码
C6
D5
D6
A5
A6
C4
C5
D7
D9
A2
A4
C3
C4
C5
C7
C9
D5
错误检测频率
时间间隔(µs)
2.31
2.31
1.77
2.31
2.31
2.31
2.31
2.33
3.23
1.77
1.77
1.09
1.79
1.79
2.33
3.23
1.79
8-3
错误检测频率
您可以通过在 Quartus II中设置时钟频率的分频因子来控制错误检测过程的速度。除数是 2 n
,其中 n可以是下表中列出的任意值。
每个数据帧的错误检测过程的速度由以下公式决定:
图8-2: 错误检测频率公式
Error Detection Frequency =
Internal Oscillator Frequency
2 n
表8-2: Cyclone V器件的错误检测频率范围
下表列出了n的频率和有效值。
错误检测频率
内部振荡器频率
最大值 最小值
100 MHz 100 MHz 390 kHz
n
0、1、2、3、4、5、
6、7、8
1 – 256
除数范围
Cyclone V器件的SEU缓解
反馈
Altera公司
8-4
CRC计算时间
CRC计算时间
错误检测电路计算每个帧的CRC所用时间由使用的器件和错误检测时钟的频率决定。
表8-3: Cyclone V器件中的CRC计算时间—初步数据
下表列出了计算 CRC值所用的最短和最长时间:
• 最短时间是使用带有除数因子0的最大时钟频率计算的。
• 最长时间是使用带有除数因子8的最小时钟频率计算的。
器件类型
Cyclone E
Cyclone V GX
Cyclone V GT
Cyclone V SE
Cyclone V SX
Cyclone V ST
部件代码
D7
D9
A2
A4
C5
C7
C9
D5
A7
A9
C3
C4
A2
A4
A5
C6
D5
D6
A5
A6
C4
C5
最短时间(ms)
7
15
7
7
7
7
15
7
7
15
8
7
4
4
7
13
13
13
13
13
7
13
最长时间(s)
3.62
7.40
3.59
3.59
3.54
3.62
7.40
3.54
2.08
2.08
3.54
3.62
7.40
4.05
3.54
6.30
6.30
3.59
6.30
6.30
6.30
6.30
使用用户模式中的错误检测功能
这一部分介绍用户模式中错误检测的管脚、寄存器、工艺流程和过程。
CV-52008
2013.05.06
Altera公司
Cyclone V器件的SEU缓解
反馈
CV-52008
2013.05.06
使能错误检测和内部刷洗
使能错误检测和内部刷洗
8-5
要使能Quartus II中的用户模式错误检测和内部刷洗,请遵循以下这些步骤:
1. 在Assignment菜单里,点击Device。
2. 在Device对话框中,点击 Device and Pin Options。
3. 在Category列表中, 点击Error Detection CRC标签。
4. 打开 Enable Error Detection CRC_ERROR pin。
5. 要设置
CRC_ERROR
管脚为输出开漏, 打开 Enable open drain on CRC_ERROR pin。关闭该选项
会设置
CRC_ERROR
管脚为输出。
6. 要使能片上错误纠正功能, 打开 Enable internal scrubbing。
7. 在Divide error check frequency by下拉列表中,选择一个有效除数。
8. 点击OK。
CRC_ERROR管脚
表8-4: 管脚说明
管脚名称
CRC_ERROR
管脚类型 说明
I/O或输出/输出开漏
一个高有效信号,驱动为高电平时标明在CRAM位中检测出
错误。当使能用户模式中的错误检测时才使用该管脚。否
则,管脚会被用作用户I/O管脚。
当使用WYSIWYG功能时,可以 从WYSIWYG atom到专用
CRC_ERROR
管脚或任何用户I/O管脚布线 crcerror
端口。
要将 crcerror
端口布线到用户I/O管脚,那么要在它们之
间插入一个D触发器。
错误检测寄存器
这一小节介绍用户模式中使用的寄存器。
Cyclone V器件的SEU缓解
反馈
Altera公司
8-6
错误检测寄存器
图8-3: 用户模式中错误检测的结构图
结构图显示了用户模式中的寄存器和数据流程。
Readback
Bitstream with
Expected CRC
Error
Detection
State
Machine
Control
Signals
32-bit Error Detection
CRC Calculation, Error
Search Engine, and
Internal Scrubbing
Error
Message
Register
Error Injection
Block
Fault
Injection
Register
JTAG
Fault
Injection
Register
JTAG
Update
Register
JTAG
Shift
Register
User
Update
Register
User
Shift
Register
JTAG TDO General Routing
Syndrome
Register
表8-5: 错误检测寄存器
名称
综合寄存器
错误信息寄存器
JTAG更新寄存器
JTAG移位寄存器
用户更新寄存器
用户移位寄存器
CRC_ERROR
CV-52008
2013.05.06
宽度(Bit)
32
67
67
67
67
67
说明
包含对当前帧所计算的32位CRC签名。如果CRC值是0,那么
CRC_ERROR
管脚被驱动为低电平以表明没有错误。否则,管脚
被拉高。
包含单位和双相邻错误的错误详细信息。每次电路 检测出错
显示了寄存器中的
列出了可能的错误类型。
该寄存器的内容被验证后的一个时钟周期,该寄存器被自动地
更新为 EMR的内容。JTAG更新寄存器包含一个时钟使能,它
必须在其内容被写入到JTAG移位寄存器之前被置位。这个要
求确保JTAG更新寄存器不被重写 (当其内容在被JTAG移位寄
存器读取时)。
该寄存器使您能够使用
SHIFT_EDERROR_REG JTAG
指令通过
JTAG接口访问JTAG更新寄存器的内容。
该寄存器的内容被验证后的一个时钟周期,该寄存器被自动地
更新为 EMR的内容。用户更新寄存器包含一个时钟使能,它
必须在其内容被写入到用户移位寄存器之前被置位。这个要求
确保用户更新寄存器不被重写(当其内容在被用户移位寄存器
读取时)。
该寄存器使得用户逻辑通过内核接口访问用户更新寄存器的内
容。
Altera公司
Cyclone V器件的SEU缓解
反馈
CV-52008
2013.05.06
名称
JTAG故障注入寄存器
宽度(Bit)
46
故障注入寄存器
图8-4: 错误信息寄存器映射
46
错误检测过程
8-7
说明
您可以使用该寄存器以及
EDERROR_INJECT JTAG
指令在比
列出了该寄存器中的域。
该寄存器被更新为JTAG故障注入寄存器的内容。
MSB
Syndrome Frame Address
Double Word
Location
Byte Offset
32 bits 16 bits 10 bits 2 bits
Bit Offset
3 bits
LSB
Error Type
4 bits
表8-6: EMR中的错误类型
下表列出了 EMR中错误类型域所报告的可能的错误类型。
错误类型
Bit 3
0
0
0
1
0
0
0
1
Bit 2
0
0
1
1
Bit 1
说明
1
0
0
Bit 0
1
没有CRC错误。
识别了单位错误的位置。
识别了双相邻错误的位置。
除了单位和双相邻错误以外的错误类型。
表8-7: JTAG故障注入寄存器映射
域名称
错误字节值
位范围
31:0
字节位置
说明
包含与域的错误注入类型相一致的位错误
的位置。
包含第一个数据帧中注入的错误的位置。
错误类型
Bit 45
0
0
0
41:32
Bit 44
0
45:42
Bit 43
0
0
0
0
1
Bit 42
0
1
0
指定以下错误类型
没有错误
单位错误
双相邻错误
错误检测过程
使能后,FPGA进入用户模式时,用户模式错误检测进程自动激活。即使在当前帧中检测到了一个
错误,进程继续进行直到器件被复位。
Cyclone V器件的SEU缓解
反馈
Altera公司
8-8
错误检测过程
图8-5: 用户模式中的错误检测进程流程
CV-52008
2013.05.06
Receive
Data Frame
Calculate and
Compare
CRC Values
Error
Detected?
Yes
Update Error
Message Register
(Overwrite)
No
Pull CRC_ERROR
Signal Low for
32 Clock Cycles
Search for
Error Location
Drive
CRC_ERROR
Signal High
时序
CRC_ERROR
管脚总是在CRC计算期间驱动为低电平最少32个时钟周期。当错误出现时,只要EMR
被更新或32个时钟周期失效,管脚就会被驱动为高电平。因此,您可以开始在
CRC_ERROR
管脚的
上升沿检索EMR的内容。管脚保持高电平直到当前的帧被读取,然后驱动为低电平最少32个时钟周
期。要确保信息完整性,在CRC验证的一个帧内完成读操作。下图显示了这些事件的时序。
图8-6: 时序要求
Frame
Data Integrity
Read Data Frame
N
No CRC Error
N+1
CRC Error
N+2
CRC Error
N+3
No CRC Error
N+4
CRC Error
N+5
No CRC Error
CRC ERROR Pin
CRC Calculation
(minimum 32 clock cycles)
Read Error Message
Register (allowed time)
Read Error Message for frame N+1
Read Error Message for frame N+2
Read Error Message for frame N+4
检索错误信息
可以使用
SHIFT_EDERROR_REG JTAG
指令通过内核接口或JTAG接口检索错误信息。
从CRC错误中恢复
FPGA所在的系统必须控制器件重配置。要从CRC错误恢复,驱动 nCONFIG
信号为低电平。系统在
重配置器件之前等待一个安全时间。当重配置成功完成时,FPGA按所计划的进行操作。
相关链接
•
(第8-3页)
提供了关于最小和最大错误检测频率的更多信息。
•
(第8-2页)
提供了关于每个 Cyclone V器件的持续时间的更多信息。
Altera公司
Cyclone V器件的SEU缓解
反馈
CV-52008
2013.05.06
测试错误检测模块
8-9
• 使用Altera FPGA 器件中CRC的错误检测和恢复的测试方法
提供了关于如何检索错误信息的更多信息。
测试错误检测模块
您可以将错误注入到配置数据中以测试错误检测模块。这一错误注入方法提供了设计验证和系统容
错特性。
通过JTAG接口的测试
通过使用
EDERROR_INJECT
JTAG指令可以特意地将单或双相邻错误注入到配置数据。
表8-8: EDERROR_INJECT指令
JTAG指令
EDERROR_INJECT
指令编码
00 0001 0101
说明
使用指令将错误注入到配置数据。该指令控制JTAG
故障注入寄存器,它包含想要注入到比特流中的错
误。
仅可以将错误注入到配置数据的第一个帧。然而,您可以随时监控错误信息。Altera建议在测试完
成后重配置FPGA。
自动化测试进程
通过创建Jam
™
文件 (.jam)可以自动化测试进程。通过使用该文件,可以在系统上即时验证CRC功
能性,而无需重配置器件。然后切换到CRC电路以检验SEU导致的真正错误。
相关链接
使用Altera FPGA 器件中CRC的错误检测和恢复的测试方法
提供了关于如何测试错误检测模块的更多信息。
文档修订历史
日期
2013年5月
2012年12月
版本
2013.05.06
2012.12.28
修订内容
• 将链接添加到Knowledge Base中的已知文档问题中。
• 更新了Cyclone V E、 Cyclone V GX和 Cyclone V GT器件的最小
EMR更新间隔和CRC计算时间。
• 将所有的链接移到各个内容的相关的信息部分以便易于参考。
• 更新了JTAG故障注入和故障注入寄存器的宽度。
Cyclone V器件的SEU缓解
反馈
Altera公司
8-10
文档修订历史
日期
2012年6月
版本
2.0
2011年10月
1.0
CV-52008
2013.05.06
修订内容
• 添加了“基本的说明”、“错误检测功能”、“错误检测类型”、
“错误检测组件”、 “使用错误检测功能”和“测试错误检测模
块”部分。
• 更新了表8-4、表8-5和表8-6。
• 重新组织了章节结构。
首次发布。
Altera公司
Cyclone V器件的SEU缓解
反馈
advertisement
Key Features
- 配置期间CRC错误的自动检测
- 用户模式中可选的CRC错误检测和识别
- 用户模式中可选的内部擦除
- 通过JTAG接口特意注入错误来进行错误检测功能的测试
- CRC_ERROR管脚
- 错误检测寄存器
- 错误检测过程
- 测试错误检测模块