Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
Need Forum Guidance? Click here

Search our FPGA Knowledge Articles here.
18972 Discussions

Parallel Flash Loader (PFL) .rbf Support

MFric2
Beginner
840 Views

Hello,

 

in the PFL User guide on page 8 it means:

 

"The PFL IP core does not support Raw Binary File (.rbf) format."

 

However on Page 38 under Third-party Programmer Support it tells me to convert a .POF file to .hexout and then .rbf to Program the Flash with Third-party tools...

 

  1. Does the PFL is able to configure the FPGA with .rbf file saved on FLASH with Third-Party programmer and if so do i still need to write the Option Bits to the Flash device ?
0 Kudos
6 Replies
MFric2
Beginner
351 Views

No ideas ?

MFric2
Beginner
351 Views

Really ? No one at Intel has a quick answer to this ? :(

ShafiqY_Intel
Employee
351 Views

Hi MFric2,

 

I'm apologize for late reply regarding to this issue. I'm out of office last 4days.

 

Yes, PFL is able to configure the FPGA with .rbf file if only you convert POF to rbf. (not SOF to rbf). You no need to write extra Option Bits to the flash device (in rbf file already include Option Bits (in binary form) )

 

In addition, you may refer to the following KDB link for more information if you want to program using 3rd party programmer.

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

 

I hope this will help you.

Thanks

Knug
Beginner
300 Views

Hi @ShafiqY_Intel 

How can we convert the POF to rbf?

The link suggests :

1) converting .pof to .hexout

2) Then convert .hexout to .rbf using nios2_elf_objcopy command on the NIOS II command shell

--

1) I found the way to convert from .pof to .hexout on the quartus command window because above quartus_cpf command was not recognised :

Invoke Quartus. Load the project
cd into the directory where the .pof file is
Then execute the following in the command window :
       execute_module -tool cpf -args "-c *.pof *.hexout"

 

I am not using the NIOS II processor just a CPLD with the PFL instantiated within it and an FPGA Cyclone V (no NIOS II processor is used within the FPGA)

Where can I execute the 2nd nios2_elf_objcopy command:

    nios2-elf-objcopy –I ihex –O binary <input file>.hexout <output file>.rbf

Do I need a special NIOS II command shell? If yes, how do I get this ?

=> Looks like I need to get the NIOS II command shell up to be able to type above NIOS II command.

I have the following directory:

C:\intelFPGA_lite\20.1.0\nios2eds

Inside it contains:

  • NIOS II Command Shell.bat
  • nios2_command_shell.sh      (Is this the Unix version?)
  • version.ptf

 

Need the windows command shell version.

Clicked on the "NIOS II Command Shell.bat" executable but window opens and closes instantly. I also tried to give administrator right permission but see same behaviour (ie Command Shell prompt window instantly closes after it is opened)

Need assistance here please..

 

Regards,

Kevin

 

 

Knug
Beginner
269 Views

Hi @ShafiqY_Intel 

Can we use the .hexout of the application image and pass it though I2C in byte format via FPGA (Middle man, just straight through to the CPLD which contains the PFL (data/address) instead of the .rbf because having issues trying to create the .rbf from .hexout (as already reported unless you can assist here).

So does the PFL support also .hexout to be able to program the flash and then configure the FPGA?

If yes, how could we decode the .hexout format ?

--

The .rbf has raw binary data that can be sent in chunks of bytes starting with the data of the option bits followed by the data of the corresponding page we are trying to send. Isn't this the case?

We are using x16 FPP mode so raw data (.rbf) could be decoded as :

eg  Word 0   "1B 02"

LSB: Byte0 = 02,  MSB: Byte1 = 1B

Can put 0000 0010 0001 1011 (2 bytes) to 0x0000 0000 address

etc

---

Q /  How is the .hexout been formatted ? This is not raw data as the .rbf is. Isn't it ?

--

If the .hexout format is not convenient to use, what other formats we can use that we are able to decode ok before sending to the PFL address/data lines?  .bin perhaps ? if yes, how will this be formatted to our needs? (ie this is the same question asked with the .hexout)

Kind regards,

Kevin

 

Knug
Beginner
267 Views

Hi @ShafiqY_Intel 

Wrt .hexout -> .rbf conversion (not resolved yet, this is the reason why I asked if I can use .hexout or other format apart from .rbf in my previous message) :

I was able to locate the way to launch the NIOS II Command Shell when I was working on another task and seen under the “IP Parameter Editor” window of Quartus Tools/Nios II command shell [gcc4]

When I clicked on that, it launched successfully the Nios II Command Shell [gcc4] window.

But at the top it displayed the following message :

“Windows Subsystem for Linux has no installed distributions.

Distributions can be installed by visiting the Microsoft Store:

https://aka.ms/wslstore

This link when I click it I get : “Wait a while, then try that again. Something happened on our end”

Reported this to our IT department

& when I tried to execute the following in the Nios II Command Shell window :

>nios2-elf-objcopy -I ihex -O binary <file>.hexout <file>.rbf

'nios2-elf-objcopy' is not recognized as an internal or external command, operable program or batch file

Reply