Forum Discussion
Reading and calculating image checksum directly from FPGA
- 2 years ago
The checksum from programmer or map file uses only the data which will be programmed to the configuration device.
For pof and jic file, there is some information like quartus version and device information in the head and CRC data in the end, which is excluded in checksum.
https://www.intel.com/content/www/us/en/support/programmable/articles/000078447.html
I have not deeply looked into the pof file, but for the jic file, the checksum (shows in programmer) is calculated from the the data after several dot notation, end at before several dot notation. See the attached capture. I think the pof file is the same algorithm as the jic file.
If you want to get the checksum of the entire data of the pof, please use the tcl command.
Thanks,
Ethan
Thanks Ethan
We don't usually use the CPF, but thanks for the handy tip.
So the checksum is just a byte-wise addition? If so, we cannot calculate the same checksum value as shown in the .map/programmer for the POF when adding its bytes. It seems the (check)sum total is reached before the end of the file, and an insufficient sum is achieved if summing data in the e.g. CFM addresses only.
Are there some parts of the POF file that are excluded in the calculation?
Also, the hope is to be able to calculate this based only off of what is actually on the device. Would a different file format (e.g. rbf) better represent this, if indeed the POF contains additional data?
We are now attempting to dump the internal memory contents in order to see what file type or portion of the POF they match, and what checksum we get using your calculation method.