cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
xmaverick64
Visitor
Visitor
2,800 Views
Registered: ‎02-18-2009

MCS file generated by ISE 12.2 differs from ISE 10.1

Hello all,

 

we have been working for a long time with ISE 10.1 and we have recently updated our tools to ISE 12.2. We have a problem now with ISE 12.2 when generating a .mcs file from a .bit file.

 

With ISE 10.1, the format of the .mcs file is:

 

:020000040000FA
:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00<cr><lf>
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0<cr><lf>
:1000200055990C8500E004008C869077CC843CF0D8<cr><lf>
:100030008C8500958C82F4008C43404400C90C8769
<cr><lf>
:10004000FFF30C8300818C8110814C8000F84C837D<cr><lf>
:1000500000A04C8700204C8500704C8600004C812D<cr><lf>
:100060000000CC82184FCC46000000000C44000079<cr><lf>
:1000700000000C8500800A060080334C0000000060<cr><lf>
:100080000000000000000000000000000000000070
<cr><lf>

.....

 

which differs from the format in ISE 12.2:

 

:020000040000FA
:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00<lf>
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0<lf>
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
<lf>
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0<lf>
:10004000FFFFFFFFFFFF55990C8500E004008C8641<lf>
:100050009077CC843CF08C8500958C82F4008C43A6<lf>
:10006000404400C90C87FFF30C8300898C81108108<lf>
:100070004C8000F84C8300A04C8700204C85007019<lf>
:100080004C8600004C810000CC82184FCC4600000A<lf>
:1000900000000C44000000000C8500800A0600806F<lf>
:1000A000334C0000000000000000000000000000D1<lf>
:1000B0000000000000000000000000000000000040<lf>
:1000C0000000000000000000000000000000000030<lf>

....

 

 

There are two major differences. On one hand, the characters at the end of each line are <cr><lf> in ISE 10.1 and only <lf> in ISE 12.2. This is giving us a lot of problems, because all the programs we have created to program the flash memory in our board expect <cr><lf> (custom board). On the other hand, the signature's size for the same FPGA (Spartan 3) seems to be changed from ISE 10.1 to 12.2, having a larger size in ISE 12.2. Furthermore, the ending of the .mcs file is also larger. In 10.1:

 

:1098A00000000000000000000000000000000000B8
:1098B00000000000000000000000000000000000A8
:1098C0000000000000000000000000000000000098
:1098D0000000000000000000000000000000000088
:1098E0000C400078EBE70C8500500C8500C00400AC
:1098F0000400040004000C8500A00C8700810C8388
:1099000000810C40009C58830C8500B004000400CA
:109910000400040004000400040004000400040027
:0C99200004000400040004000400040023
:00000001FF

 

while in 12.2:

 

:1098B00000000000000000000000000000000000A8
:1098C0000000000000000000000000000000000098
:1098D0000000000000000000000000000000000088
:1098E0000000000000000000000000000000000078
:1098F0000000000000000000000000000000000068
:109900000000000000000C4000180F5B0C850050A8
:109910000C8500C004000400040004000C8500A0B5
:109920000C8700890C8300890C40003C324B0C856D
:1099300000B004000400040004000400040004005B
:1099400004000400040004000400040004000400F7
:02995000040011

:00000001FF

 

 

We have tried to generate the .mcs file in ISE 12.2 using directly "promgen" instead of Impact, but the result is the same.

 

Are this parameters configurable in Impact/promgen? Is there any issue with impact in ISE 12.2? I have surfed the net and this forum for answers, but could not get any.

 

Thank you.

 

 

Regards,

 

Lucky

0 Kudos
2 Replies
mcgett
Xilinx Employee
Xilinx Employee
2,785 Views
Registered: ‎01-03-2008

The MCS file is an ASCII text file and good programs would be designed to support both the MSDOS <cr><of> style or the UNIX style <lf>. You will need to either update your processing program or to create another to ad the <cr>.

The extra padding bits at the beginning were likely added to create additional delay before the SYNC word.
------Have you tried typing your question into Google? If not you should before posting.
Too many results? Try adding site:www.xilinx.com
0 Kudos
eilert
Teacher
Teacher
2,773 Views
Registered: ‎08-14-2007

Hi Lucky,

If your programmer software can not deal with unix text formats, there is a utility that can help you.

 

    unix2dos

 

and if you need the conversion into the other direction use

 

   dos2unix

 

These little commandline tools are available for all OS's and some small skript like

 

unix2dos %1

yourdownloader %1

 

can integrate these tools in your flow.

 

Have a nice synthesis

  Eilert

 

 

 

0 Kudos