AR# 3214


JTAG Programmer XC9500 Family - How are checksums calculated for the XC9500 family


General Description:

I downloaded the latest version JTAG Programmer, and it shows me a different

checksum than an older version of JTAG Programmer.


The XC9500 JEDEC files have two checksums as defined by the JEDEC

standard. The last line in the JEDEC file beginning with the ^C

character is the file checksum. The second to last line in the

JEDEC file beginning with a C and ending with an * is the fuse


The JEDEC fuse checksum is the sum of only the actual programmed

bit locations in the device adjusted into eight bits (as

specified in the JEDEC file). The JEDEC file checksum includes

additional information that may be present in the JEDEC file,

but not actually programmed into the device.

The older EZTag/JTAG Programmer software report a third checksum, which

is actually a sum of all the eight bit programmed bytes in the device

(as read back directly from the device without any adjustments). This

checksum includes all the programmable bits in the device and is completely different from the JEDEC file checksum.

The older software is all EZTag software and all JTAG Programmer software

prior to and including 2.1i service pack 5.

JTAG Programmer has "standardized" its checksum calculation method as of

2.1i service pack 6.The new method is based on the JEDEC (.jed) fuse checksum.

The new checksums match the .jed fuse checksum.


To force new versions of JTAG Programmer to use the "old" checksum calculation

method, set the following environment variable before starting JTAG Programmer:


AR# 3214
Date 12/15/2012
Status Active
Type General Article
People Also Viewed