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

Configuration Schemes and File Types

Altera_Forum
Honored Contributor II
2,329 Views

Hey, I'm pretty new to FPGAs and I'm a bit confused about the purpose of the configuration file types. I understand there are four configuration schemes (FPP, AS, PS, and JTAG), but I don't understand which file types can be used in these schemes.  

 

I know that the Quartus II assembles a .sof file, and the configuration handbook states that I should use a .sof when I need to download directly using the Blaster programs to the FPGA, but does that mean I can't use a .sof file when I load configuration files from flash? I understand you convert the .sof file to other file types, such as .rbf, but again, it's not clear to me when .rbf is useful. Do you only use .rbf in an FPP scheme? Is there a document that provides a better description of the file types and when they are used?  

 

Furthermore, I understand that the compression feature only applies to certain file types. Is that true? And, which file types can/cannot use compression? 

 

thanks a lot!
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
679 Views

No, .rbf can also be used in AS. 

.jic and .rbf support compression. .sof doesn't, others I do not know. 

I think .pof is for PS only, but I'm not sure 

 

I use .rbf for remote updates (without USB blaster, I program the EPCS directly from the FPGA) 

 

Hope this helps a bit. 

 

There is .pdf exclusively dedicated to configuration. Search the literature page at altera.com
0 Kudos
Altera_Forum
Honored Contributor II
679 Views

Hello,  

there are lots of options and combinations. So, any attempt of an extensive list will most likely be incomplete. 

If you're unsure of what configuration mode you need, I suggest that you describe your situation and we'll provide advice on the best mode. 

 

That said, I'll make an attempt at providing an overview. 

 

Firstly, the USB blaster programming cable has two modes of operation. 

One, when connected to the JTAG signals, it can act as a JTAG master. 

Second, when connected to the ActiveSerial signals, it can read/write an EPCS device. 

 

 

As for files 

 

A .SOF contains an configuration stream, plus some extra information such as device identifier. 

It can be used to either load a configuration directly into the FPGA via JTAG or to generate any of the other format files. 

 

A .RBF is a raw bitstream file. Mostly, think of it as a .SOF file without the extra information. 

This is the format you want if you're using a passive serial/passive parallel scheme, since you'll need to roll out your own stuff to send the bitstream to the FPGA, or even for remote updates, since you'll have to do your own writing of the PROM. 

 

A .POF file is a PROM programming file. It can contain one or more bitstreams and other stuff. 

It actually has three types of use, all with the programming cable. 

a) it can be used to program an EPCx PROM, which had their own JTAG interface. The FPGA would usually be using Active Parallel configuration. 

 

b) it can be used to program EPCSx PROM, using the ActiveSerial mode 

A .POF can contain whatever you put in it: one or more configuration bitstreams, and any other data. This is used, of course, with Active Serial mode. 

 

c) it can be used to program a CFI flash from JTAG, using the Parallel Flash Loader. This is usually used in Active Parallel but also in Passive Parallel setups 

 

A .JIC file is a JTAG indirect configuration file. 

It is used to program EPCS via JTAG using the Serial Flash Loader function. Broadly speaking, the PROM contents are sent to the FPGA via JTAG and the FPGA writes them to the EPCS device. It's used with Active Serial mode. 

 

As for compression, all modes except JTAG support bitstream compression. And all files, except .SOF, can have compression.
0 Kudos
Altera_Forum
Honored Contributor II
679 Views

Thanks for the explanation guys!

0 Kudos
Reply