What does AutoCRC mean with respect to Virtex-II configuration?
AutoCRC is a more robust way of performing CRC-checking during configuration. In previous Virtex architectures (Virtex/Virtex-E/Spartan-II/Spartan-IIE), an explicit CRC packet had to be sent to the device in order to perform a CRC check. If the device was double-clocked or had other timing or signal integrity errors, the device would not see this packet properly and no frame error would occur.
In Virtex-II, each FDRI (frame write) packet has an extra 32-bit DWORD at the end. This DWORD is not factored into the size field in the packet header. After each frame write is complete, the next 32 bits are automatically interpreted as a CRC checksum.
If any of the events below occur during a frame (FDRI) write, the AutoCRC will fail and the INIT pin will go Low:
1. Double-clocking or other signal integrity issues
2. Data stops (CCLK must not stop)
3. Incorrect data
Explicit CRC packets are still sent to the device and are required for start-up, but the AutoCRC feature can catch errors due to timing and signal integrity problems where previous Virtex devices could not. Additionally, the "debug bitstream" process for Virtex-II devices (Xilinx Answer 4219) does not require explicit CRC commands.
This feature has been removed from the Virtex-II Pro, Spartan-3 and subsequent families.