How do I verify the correctness of a PROM file checksum?
Xilinx does not provide information on checksum calculation algorithms because they are unique to each PROM programmer vendor. These algorithms may diverge from the Xilinx guidelines for incorporating the reset polarity fields. For example, Data I/O programmers include the Reset polarity addresses in checksum calculations, and Xilinx programmers do not.
The best solution is to verify that the same checksum is reported each time you download the same PROM file (for example, the MCS file), using the same programmer and version of the vendor's programmer software.
Other than hand-calculating the checksum itself, there is no good way to verify that a given checksum is correct. However, if you consistently see the same checksum immediately after programming the part, as well as after performing a read of the PROM's contents, this is a good indication that the PROM is programmed with the proper data.
To ensure that the matching of checksums during these two steps in the process is meaningful, you must fill the programmer memory with FF hex both before downloading the PROM file, as well as before performing a read of the PROM contents.