当建立以下所有条件后,您将在 Cyclone® V 和 Stratix® V 中看到此行为。
- 启用内部刷新功能
- 每个EDERROR_INJECT JTAG 指令都使用 JTAG 故障注入寄存器的相同内容。
使用EDERROR_INJECT JTAG 指令将错误信息移入 JTAG 故障注入寄存器时,修改第一个帧的回读位。因此,检测到 CRC 错误,并CRC_ERROR引脚输出脉冲。
但此错误是一个虚假错误,操作仅修改第一个帧的回读位,而非存储在配置 RAM (CRAM) 中的第一个帧的内容。
第一次 CRC 错误检测后,如果启用了内部擦刷功能,CRAM 中第一个帧的内容将根据虚假错误进行修改。 因此,修改后的第一个帧的内容与故障注入寄存器的内容匹配。 因此,不会检测到 CRC 错误,CRC_ERROR针将不再切换到高。
即使EDERROR_INJECT JTAG 指令再次被执行,只要使用 JTAG 故障注入寄存器的相同内容,不会检测到错误,并且CRC_ERROR针切勿再次切换。
要再次切换CRC_ERROR针,可以发送 JTAG 故障注入寄存器的不同内容。 但它进一步修改了 CRAM 中第一个帧的内容。 为了避免这种进一步的修改,建议将所有零件发送到 JTAG 故障注入寄存器,以便恢复 CRAM 中第一个帧的内容。
当您在 AN 539 中使用 .jam 文件 :在英特尔® FPGA设备中使用 CRC 测试错误检测和恢复的方法时,可以在 [46] = $040600004000 中看到。。在脚本中。 示例 .jam 文件将040600004000美元发送到 JTAG 故障注入寄存器中。
当您将所有零件发送到 JTAG 故障注入寄存器时,请使用。在 [46] = 000000000000 美元中,