Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
21615 Discussions

Remote update with EPCS128

Altera_Forum
Honored Contributor II
1,835 Views

Hello, Guys. 

I have a Stratix II EP2S90 design that uses an EPCS128 device in AS mode for remote system update. The new Application image is got from the DSP (DM6437). And altasmi_parallel is used to write the new image to EPCS128. The reference design is AN603. But I have a few questions! 

 

1. The new Application image stored in DSP should be which format, .rpd or .rbf ? www-alteraforum.com/forum/showthread.php?t=26309&highlight=altasmi_parallel+rbf tell me should use .rbf format, if it is right, how to generate .rbf file? I don't find the right sets in Quartus II --Convert Programming File. 

 

2. The above link tell me if I want to use the .rbf file, I should write it to my flash with reversing the bits of each byte. I should do it before altasmi_parallel ? 

 

3. How to get the content of .rbf file? 

 

Thanks a lot in advance!
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
822 Views

Hi: 

 

I can answer part of your question: 

 

1) Yes, you use the rbf file, this is the "Raw Binary Format"  

 

2) When the Stratix device shifts in, it's expected the data to be shifted LSB first, but the EPCS shifts MSB first, so this is the reason for the byte reversal. I don't know if the altasmi_parallel handles this for you or not.  

 

3) The RBF is an optional output format that is available when you build compile your design. Under the "Assignment" menu in Quartus, click on Device->Device and Pin Options->Programming Files then make sure there is a check mark next to Raw Binary File (.rbf) 

 

Hope this helps 

 

Pete
0 Kudos
Altera_Forum
Honored Contributor II
822 Views

When I bump into these kind of problems with bit order and such I always resolve it in the same manner.  

 

1. Program the EPCS128 through the quartus programmer like normal. Then read it back into a file.  

 

2. Program the EPCS128 through your remote update procedure using the .rbf file from the same build. Read back that image using the quartus programmer. 

 

3. Compare 1 and 2. They should read back identical. 

 

/Boris
0 Kudos
Altera_Forum
Honored Contributor II
822 Views

Hi, anakha, thank you for answering my questions! I can get the .rbf file now!But I still have two puzzles:  

1.How to open .rbf file? I can not open it with notepad. 

2.If I can get the open the .rbf file, just write all the datas to EPCS128, I don't have to delete header or something, right? 

Thank you sincerely! 

 

 

I open the .rbf file with UltraEdit successfully! Thank all of you!
0 Kudos
Altera_Forum
Honored Contributor II
822 Views

Hi, lethenstrom, thank you for answering my questions! Your advice is masterly, I will have a try when I can get the dates from .rbf file. Thank you again!

0 Kudos
Altera_Forum
Honored Contributor II
822 Views

Open the .rbf file using a hex editor. There are numerous hex editors available for free. Some text editors have a hex mode where you can view in hex. Search the internet for "hex editor" and you will find many. Regular notepad in windows does not have a hex mode. 

 

The .rbf file has nothing but the binary for the FPGA. No header or anything. I would recommend writing byte by byte that way you don't have to deal with endianess and potentially only have to reverse the bit order within each byte before writing it to the EPCS128. You will easily spot that if you do the test that I suggested above.
0 Kudos
Altera_Forum
Honored Contributor II
822 Views

Lethenstrom, thank you for your patience! I open the .rbf file successfully, I will test what you suggested above later~

0 Kudos
Reply