Community
cancel
Showing results for 
Search instead for 
Did you mean: 
SZack
Partner
1,692 Views

JIC file format structure

I have a customer that wants to know how do they determine where the actual flash data begins after the header.

 

Years ago they wrote code to use a processor to write .jic files into serial flash devices. They are looking to do the same thing in their current design. The problem they are running into is that the header of the file generated by 18.1 (for an Arria 10) appears to be 1 byte smaller than the header generated by 13.1 (for a Cyclone V) -> 161 bytes vs 162 bytes.

 

Their question is how do they know where the FPGA image data starts?

0 Kudos
5 Replies
JCass5
Beginner
561 Views

I'm Steve's customer. Attached is an image of my .jic file. I found a mistake in my .jic file generation. This is the corrected file and I now believe the header is 163 or 164 bytes. Can somebody tell me based on this image where the FLASH data begins? I thought that it was the first FF but this does not seem to be the case. I have tried to set up the file generation options to match the design done in 13.1.

 

As another data point, it appears that the FPGA is reading in the file but rejecting it based on some error in the file.

 

Thanks,

Jim C.

Nooraini_Y_Intel
Employee
561 Views

Hi Jim,

 

You can generate a .rpd file (binary file) which only contains the configuration data ( this will exclude the header from .jic file). If you are using your own processor to write the EPCQ device, then you should be using the .rpd file that contains the AS configuration bitstream. The .jic file can only be use correctly by the Quartus programmer when writing into the EPCQ/EPCS flash devices. You can refer to the following link on the steps to generate the .rpd file:

https://www.intel.com/content/www/us/en/programmable/support/support-resources/knowledge-base/soluti...

 

Regards,

Nooraini

 

JCass5
Beginner
561 Views

Hi Noorraini,

 

Thanks for the help. I created the .rpd file and the FPGA still fails to load. We tried it in both little endian and big endian. We are using a Micron MT25QU256 and we followed the instructions in Bug ID 543053 about using the MT25Q devices. Is there any additional information available about using these devices that may help us debug the problem?

 

Regards,

Jim C.

Nooraini_Y_Intel
Employee
561 Views

Hi Jim,

 

You mentioned this Bug ID 543053, are you referring to this KDB information?

https://www.intel.com/content/www/us/en/programmable/support/support-resources/knowledge-base/compon...

 

Did your processor set the correct NVCR value into the MT25QU flash device before writing the .rpd file? As explained in Bug ID 543053, the MT25QU have a non-volatile configuration register (NVCR). The NVCR must be set to an appropriate value according to the MT25Q device and configuration mode in FPGA device families.  For Arria 10 the dummy clock cycles is 10 and require to use 4 byte addressing mode.

 

The default generated .rpd file from Quartus tools is little endian format. By default the programming the .jic/pof file, the Quartus programmer will perform the bit swapping (LSb first) before writing the data into the EPCS/EPCQ/EPCQA device. Thus you need to perform the bit swapping when using the little endian .rpd file before writing the data into MT25QU device. If you set the big endian option in the Convert Programming File tools when generating the .rpd file, then you don’t require to perform the bit swapping since the generated .rpd file is in big endian format. 

 

Regards,

Nooraini

 

 

FPGA1
Novice
371 Views

hello , distrub   you  .

 i  want  to look  for   the  CRC  of   JIC  file ,but  I  search  for  many   post  ,it's  not  a  sucessful  answer,see  yours  .jpg file  , I want to ask you something 。

 THANK  you