다음 조건이 모두 설정되면 Cyclone® V 및 Stratix® V 장치에서 이 동작을 볼 수 있습니다.
- 내부 스크러빙 기능을 사용할 수 있습니다.
- JTAG 오류 주입 레지스터의 동일한 내용이 모든 EDERROR_INJECT JTAG 명령어에 사용됩니다.
JTAG 명령을 EDERROR_INJECT 사용하여 오류 정보를 JTAG 오류 주입 레지스터로 이동시킬 때, 첫 번째 프레임의 리드백 비트가 수정된다. 따라서 순환 중복 오류(CRC) 오류가 감지되고 CRC_ERROR 핀이 펄스를 출력합니다.
그러나 이 오류는 가짜 오류이며 작업은 구성 RAM(CRAM)에 저장된 첫 번째 프레임의 내용이 아닌 첫 번째 프레임의 다시 읽기 비트만 수정합니다.
첫 번째 CRC 오류 감지 후 내부 스크러빙 기능이 활성화되면 가짜 오류에 따라 CRAM의 첫 번째 프레임 내용이 수정됩니다. 결과적으로 수정된 첫 번째 프레임의 내용은 오류 주입 레지스터의 내용과 일치합니다. 따라서 CRC 오류가 감지되지 않으며 CRC_ERROR 핀이 더 이상 높음으로 전환되지 않습니다.
JTAG 명령어 EDERROR_INJECT 다시 실행되더라도 JTAG 오류 주입 레지스터의 동일한 내용을 사용하는 한 오류가 감지되지 않고 CRC_ERROR 핀이 다시 토글되지 않습니다.
핀CRC_ERROR 다시 전환하려면 JTAG 오류 주입 레지스터의 다른 내용을 보낼 수 있습니다. 그러나 CRAM에서 첫 번째 프레임의 내용을 추가로 수정합니다. 이러한 추가 수정을 방지하려면 모든 0을 JTAG 오류 주입 레지스터로 보내 CRAM의 첫 번째 프레임 내용이 복원되도록 하는 것이 좋습니다.
AN 539: Test Methodology of Error Detection and Recovery using CRC in 인텔® FPGA Devices에서 예제 .jam 파일을 사용하면 BOOLEAN을 볼 수 있습니다[46] = $040600004000; 스크립트에서. 예제 .jam 파일은 JTAG 오류 주입 레지스터에 $040600004000를 보냅니다.
JTAG 오류 주입 레지스터에 모두 0을 보낼 때 BOOLEAN을 사용합니다[46] = $000000000000;
위의 설명을 참조하십시오.