Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20687 Discussions

SOF file won't compress into a POF file

BaronBlackhawk
Beginner
837 Views

I have been slowly developing my FPGA code, and up until now, I have had no trouble fitting it into a POF file, but now I'm getting this message.

BaronBlackhawk_1-1672708421267.png

I'm developing for a Cyclone V (5CEFA9U19I7) and I'm booting from a EPCQ32A.  The program doesn't come close to using all of the resources on the Cyclone V (with the exception of the DSP blocks). 

BaronBlackhawk_0-1672708203157.png

 

Using a different configuration chip is not an option. 

Is there some optimization that I can set to make the output more compressable?

I've tried to optimize for area instead of speed and that didn't seem to work.

It doesn't look like I'm using alot of the device resources.  What can I do to get this to compress to a 32Mbit POF?

 

 

0 Kudos
10 Replies
Fakhrul
Employee
816 Views

Hi BaronBlackhawk,


Have you tried to enable file compression by checking the compression checkbox below? Let's see the result.


Convert Programming File > Options/Boot info..


Regards,

Fakhrul


0 Kudos
BaronBlackhawk
Beginner
789 Views

When I compile my project using Quartus, it automatically generates 2 different programming files (SOF and POF). If I connect my USB Blaster to the Cyclone’s JTAG port, I can load the SOF file generated. To program the serial configuration device (in this case EPCQ32A), I do the following:

I set the USB blasterto  ‘Active Serial Programming’ in Quartus, connect the USB Blaster to the programming port of the EPCQ32. The Quartus Programmer window detects the EPCQ32A, when I go to select a programming file, my only options are *.pof files.

I’ve done this on multiple projects and always assumed that this was normal. 

I remember when I first set up my project that I had to tell it to compress the SOF file into a POF (which I think is just a compressed version of the SOF designed for serial boot devices).  The SOF files are always 12,210 KB and the POFs are always 4097 KB.

If I use the convert programming file tool and set the configuration device to EPCQ32A, the options/boot info only lets me choose between little endian or big endian.  

However, I can set the properties of the SOF file to 'compression'.  When I do this it still tells me that it won't fit in the configuration device.

 

0 Kudos
FvM
Valued Contributor III
805 Views

Hello,

 

why .pof? Presume you are using EPCQ32A in active serial configuration, respective programming file is *.jic. Compressed image size is equal to .rbf size (if compression is selected in device options).

Compression for converted file has to be separately selected in programming file conversion tool under options of the respective .sof image, may be you missed this step. Maximal uncompressed A9 image size is about 100 Mbit, so I'm not sure if it your design can fit 32 Mbit.

Regards
Frank  

0 Kudos
FvM
Valued Contributor III
804 Views

Guess it doesn't work. I see already 30 Mbit image size with A9 and 4% ALM utilization. Need 64 Mbit flash.

0 Kudos
BaronBlackhawk
Beginner
779 Views

If I eliminate one stage of FIR filtering (using 20 hardwaree multipliers) it works.  I can compile and it will produce a POF file that loads. 

Changing to the EPCQ64A is problematic because it is a 16 pin soic not an 8 pin soic.  I could probably scab one on but I think I'll try to reduce my multiplier usage by changing the number of taps in my filters.

 

0 Kudos
ak6dn
Valued Contributor III
793 Views

Why is a .POF file even involved for a CycloneV?

Should you not be generating an .SOF and then embedding that into a .JIC, which is what goes into the config prom.

0 Kudos
Fakhrul
Employee
744 Views

Hi BaronBlackhawk,


Just wanted to check, may I know that you have properly done the connection as per mentioned in the user guide as below?


Please refer: Cyclone V Device Handbook - Intel page 270

You also may enable Compression Before Design Compilation

To enable compression before design compilation, follow these steps:

1. On the Assignment Menu, click Device.

2. Select your Cyclone V device and then click Device and Pin Options.

3. In the Device and Pin Options window, select Configuration under the Category list and turn on

Generate compressed bitstreams.


Please let me know if this works for you. Thank you.


Regards,

Fakhrul



0 Kudos
BaronBlackhawk
Beginner
609 Views

I have done this.  This had already been set.  So far I've had the best luck with reducing the number of hardware multipliers I'm using.

The best I can tell, the amount of compression the tools provide isn't sufficient for all designs that should fit in the Cyclone.  I don't know if I consider this a resolution to my problem.  I have redesigned my filters to use fewer multipliers and I will see if it fits.

0 Kudos
Fakhrul
Employee
623 Views

Hi BaronBlackhawk,


I wish to follow up with you about this case. Do you have any updates? 

Otherwise, this thread will be idling and marked as inactive, thus it will be transitioned to community support because there is no update received from you in a while.


Regards,

Fakhrul


0 Kudos
Fakhrul
Employee
594 Views

Hi BaronBlackhawk,


I’m glad that somehow you've managed to perform a workaround to overcome this issue. When referring back to the Cyclone V Device Datasheet, on page 78, for Cyclone V E with member code A9, the recommended EPCQ serial configuration devices are able to store more than one image, for this case EPCQ256. Do you have any further questions? Else I would like to inform you that this thread will be transitioned to community support.


If you have a new question, feel free to open a new thread to get support from Intel experts.

Otherwise, the community users will continue to help you on this thread. Thank you


I would appreciate taking a moment to fill out the short survey with regards to your experience using Intel Forum Support.

If our support score is less than 9/10, I will value any feedback you can provide.


Regards,

Fakhrul




0 Kudos
Reply