7 系列 FPGA 帧 ECC 逻辑如何检查配置帧数据的单位或双位错误
7 系列 FPGA 帧 ECC 逻辑可检查配置帧数据的单位或双位错误。它可使用基于帧数据( BitGen 生成)计算的 13 位汉明码校验值。
在读回过程中,帧 ECC 逻辑可计算使用所有帧位(包括 ECC 位)的综合值。如果位没有改变,还是最初设定的值,那 SYNDROME[12:0] 都是零。如果一个位发生改变,包括所有 ECC 位,那该位的位置则由 SYNDROME[11:0] 表明。如果两个位发生改变,则 SYNDROME[12] 为 0,其余位都为非零。如果改变的位数超过了两位,SYNDROME[12:0] 则为不确定。
如果一个位或两个位发生改变,则可断言模块的错误输出。要使用帧 ECC 逻辑,FRAME_ECC _VIRTEX6 原语在用户设计中就必须实例化,而且必须通过 SelectMAP、JTAG 或 ICAP 接口执行读回。
在每个读回帧的末端,可针对读回时钟(CCLK、TCK 或 ICAP_CLK)的一个周期断言 syndrome_valid 信号。读回一个帧所需的周期数不是固定的,随所用接口的不同而不同。修复已经发生改变的位需要一个用户设计。FRAME_ECCE2 逻辑不修复改变的位。设计必须能够存储至少一个帧的数据,要么就必须能够取回原始数据帧,以便重新加载。
最简单的操作为:1. 通过 ICAP 读出一个帧,并存在模块的 RAM 中。读取每个帧时,生成帧地址。2. 如果一个错误由 FRAME_ECC 模块的错误输出表明,读回就会停止,并将保存 SYNDROME 值。3. 如果 SYNDROME[12] 为 0,而 SYNDROME[11:0] 为非零,则必须恢复整个帧。 如果 SYNDROME[12] 为 1,SYNDROME[11:0] 可用于定位所保存帧的错误位。4. 修复的帧随后将写回第 1 步生成的帧地址中。5. 读回随后会在下一个帧地址上恢复。
引脚名称
类型
说明
SYNDROMEVALID
ECCERROR
SYNDROME[12:0]
CRCERROR
FAR[25:0]
SYNWORD[6:0]
SYNBIT[4:0]
ECCERRORSINGLE
输出 | 帧 ECC 综合有效脉冲。每个帧激活的一个周期。用于为 ERROR 和 SYNDROME[12:0] 采样。 |
输出 | 在 SYNDROMEVALID 激活时,该输出可表明一个帧错误是否已经检查:
|
输出 | SYNDROMEVALID 激活时,该输出可反映帧错误情况:
|
输出 | RBCRC 错误。请查看 (UG470) 的第 8 章:读回 CRC |
输出 | 帧地址寄存器值。
|
输出 | 输出错误的字地址。
|
输出 | 错误的位地址。
|
输出 | 表明已检查的单位帧 ECC 错误 |
对于 SSIT 器件,FRAME_ECCE2 提供在所有 SLR 上。用户应布局并使用该组件检查每个 SLR 上的 ECC。
如果设计中只包含一个单 FRAME_ECC,而且没有布局,它将在主 SLR 中布局。
- 用大电流LDO为FPGA供电需要低噪声、低压差和快速瞬态响应(08-17)
- 基于FPGA 的谐波电压源离散域建模与仿真(01-30)
- 基于FPGA的VRLA蓄电池测试系统设计(06-08)
- 降低从中间总线电压直接为低电压处理器和FPGA供电的风险(10-12)
- FPGA和功能强大的DSP的运动控制卡设计(03-27)
- DE0-Nano-SoC 套件 / Atlas-SoC 套件(10-30)