Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16592 Discussions

Is there a command-line function that can return the checksum of a .pof file?

JimB1592
Beginner
1,021 Views

I am trying to write some automation tooling that should be able to determine the checksum value of a POF file, preferably without connecting to a device.

The value I am trying to get returned is the one displayed in Quartus Programmer when the file is opened:

Screenshot highlighting the Checksum fieldScreenshot highlighting the Checksum field

 

This does not appear to be the checksum of the POF file itself; I believe it is the checksum of the object data contained within that Quartus is reporting.

I have tried looking at the various utilities provided with Quartus Programmer. Unfortunately, I didn't have any luck finding a command that directly does this. I also couldn't find adequate documentation of the POF file format to help me understand how to write a utility to do it myself.

The only thing I did find was a TCL command for calculating checksums... It works when I call it using quartus_sh --tcl_eval checksum <filename>. Unfortunately, it returns the checksum of the entire file rather than the one I'm looking for.

0 Kudos
7 Replies
BoonBengT_Intel
Moderator
979 Views

Hi @JimB1592,


Thank you for posting in Intel community forum, hope all is well and apologies for the delayed in response.

Mind if I ask which quartus version are you using here?

We are looking into your request and will get back to you shortly, hope to hear from you soon.


Best Wishes

BB


0 Kudos
JimB1592
Beginner
961 Views

Hi @BoonBengT_Intel ,

 

I'm currently using Quartus® Prime Programmer and Tools 22.1std.1.917.

I do not have the full design suite installed, just that package. For further information, the automation I am trying to setup is for a manufacturing environment. My primary need is to automate configuration of devices from POF files, which is working nicely already, and secondly I would like to be able to report the expected device checksum by analyzing a POF file. (Either using an existing utility, or if I can understand the file format adequately I can write one myself.)

 

Regards,

Jim

0 Kudos
RichardTanSY_Intel
935 Views

You may checkout the document below for the TCL commands in getting checksum:

https://www.intel.com/content/www/us/en/docs/programmable/683432/23-1/tcl_pkg_misc_ver_1-0_cmd_checksum.html


Best Regards,

Richard Tan


p/s: If you find any answers from the community or Intel Support to be helpful, we encourage you to mark them as the best answer or rate them 4/5 in the survey. 


0 Kudos
JimB1592
Beginner
908 Views

Hi Richard,

 

As I mentioned in the original post, that command does not seem to do what I'm looking for. Am I misunderstanding something?

 

For example, that POF file that shows 08C5A46A in the Quartus GUI is calculated as CCB38226 when invoking that TCL command.

 

CCB38226 is the CRC32 checksum of the POF file itself, which I can confirm with any other utility as well, but it is not the checksum that is displayed in the Quartus GUI or from the command line when programming the device.

 

Regards,

Jim

0 Kudos
RichardTanSY_Intel
884 Views

The method for calculating the checksum using the TCL commands is different from the checksum calculated by the Programmer.

You can refer to this KDB article for more information: 

https://www.intel.com/content/www/us/en/support/programmable/articles/000084456.html

Unfortunately, there is no other command-line that can return the checksum of a .pof file, that is matched to the checksum value generated by the Quartus software programmer.

 

Unfortunately, there is no other command-line option that can return the checksum of a .pof file that matches the checksum value generated by the Quartus software programmer.

 

Alternatively, to obtain the programmer checksum, you have two options:

  1. You may choose to use a .rpd file. You can create a .rpd file by using the Convert Programming File tool when creating a .pof file for internal configuration from a .sof file. Then, using a general binary editor, you can calculate the programmer checksum from the .rpd file. The checksum of the .rpd file is equivalent to the checksum value for the .pof displayed by the Programmer tool.
    RichardTanSY_Intel_2-1683694321355.png
  2. You can also check the .map file generated using the Convert Programming File tool. It will state '- Data checksum for this conversion is 0x02666170.' With this, you can use the grep command to search the character 'checksum' from the .map file.

$ grep checksum xxx.map

-Data checksum for this conversion is 0x02666170

 

I hope this information helps you obtain what you need.

 

Best Regards,

Richard Tan

 

 

0 Kudos
RichardTanSY_Intel
858 Views

Dropping a note to ask if my last reply was helpful to you?


Best Regards,

Richard Tan


0 Kudos
RichardTanSY_Intel
791 Views

We noticed that we haven't received a response from you regarding the latest previous question/reply/answer, and will now transitioning your inquiry to our community support. we are now transitioning your inquiry to our community support. We apologize for any inconvenience this may cause and we appreciate your understanding. If you have any further questions or concerns, please don't hesitate to let us know. Thank you for reaching out to us!


Best Regards,

Richard Tan


p/s: If you find any answers from the community or Intel Support to be helpful, we encourage you to mark them as the best answer or rate them 4/5 in the survey. 


0 Kudos
Reply