How can I know if there's valid FPGA configuration image in the specific location of the serial configuration device before I perform reconfiguration and experience successful or faulty attempt?

Looking at what is being written into the flash as an image I have no idea if there's any header to identify or how to calculate and compare checksum to ensure data is not a garbage, but some valid image.

I know images can be compressed or uncompressed, but I guess there must be some simple way to identify if the code is valid. Not much info is available online. I would actually not be surprised if this part of IP is not licensed for wide community, or if it is very dependent on the actual FPGA device being used (thus no standard for it - even from the same vendor).

Design can read from the serial flash chip, thus if the detection algorithm is known identification is just a matter for coding.

  • 1
    \$\begingroup\$ Possibly helpful: forums.intel.com/s/question/0D50P00003yyHM2SAM/… \$\endgroup\$ – Peter Smith Dec 25 '18 at 10:39
  • 2
    \$\begingroup\$ What about giving your own images a signature block that validates that they are not only intact, but ones you intend to use? IIRC many FPGAs ignore trailing data. \$\endgroup\$ – Chris Stratton Dec 25 '18 at 14:27
  • \$\begingroup\$ @ChrisStratton this is very good suggestion. I implemented this way and it works. I store signature and CRC in the trailing data. \$\endgroup\$ – Anonymous Jan 17 at 6:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.