Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎07-15-2013

Difference between HEX and MCS file

Hi, I am generating two files using promgen, MCS and HEX files. Both are using the same bit stream.(same constraints). When we load FPGA with MCS file, it absolutely works with expected behavior. But with the HEX file, we are observing a violation/variation(might be timing also) in behavior in one of the interfaces. Can you please let me know,what could be the reason, and how can we fix this?
0 Kudos
1 Reply
Registered: ‎08-14-2007

The Xilinx Hex file is a very simple stream of hex characters with no address or parity.  In essence you

take the binary .bit file and for each 8 bits, output two hex ASCII characters.  The data in the hex file

should resemble the data part of the MCS file, which has address and parity information around it.


The most common reason for the two files to disagree is that Impact defaults to bit-swapping when

you create a HEX file, but usually does not swap bits for the .MCS file.  You can look at the two with

a text editor.  Usually the data starts with a number of FF bytes followed by AA995566 if it is not swapped,

or 5599AA66 if it is bit-swapped.

-- Gabor
0 Kudos