RMarms
RMarms

Reputation: 79

How To Convert .bit file to .bin

I am following a tutorial on how to program the PL at run time for my ZedBoard. Tutorial Here.

But I am stuck on the step where it says to Convert.bit into.bin. From my understanding the difference between the two file types is that a bitstream contains a header.

Is there a command I can use to convert this, is there something in the XSDK that I can do to generate it from start up, or is there a way to manually strip the header file and rename it as a .bin?

Upvotes: 1

Views: 6507

Answers (3)

Chester Gillon
Chester Gillon

Reputation: 451

Found Bitstream Format on the Xilinx Wiki which contains:

From 2018.3 release onwards FPGA Manager supports loading of vivado and bootgen generated Bitstream and Bin files vivadobootgen[1]

Note: For releases earlier to 2018.3 FPGA Manager was capable of loading only bootgen generated bin files.

On the Wiki page there are examples of running fpgautil to load a .bit file.

I.e. if you are using 2018.3 release onwards think a conversion from .bit to .bin is no longer necessary. I haven't tested this with a Zynq device, but found it when looking for Xilinx documentation on the format of the header in a .bit file for writing my own Quad SPI configuration flash programmer for 7-series devices.

Upvotes: 0

jostmi
jostmi

Reputation: 21

To convert a bitstream .bit into .bin, these steps worked for me (Zynq Ultrascale+ device):

  1. Create a .bif file with the following content
the_ROM_image:
{
    [destination_device=pl] <your-path>/<your-bitstream-file>.bit
}
  1. Use the bootgen tool provided by Xilinx to convert to a .bin file
bootgen -w -arch zynqmp -image convert.bif -process_bitstream bin

Upvotes: 2

BZKN
BZKN

Reputation: 1709

Following are some of the options:

  • Once you have generated the bitsteam (.bit file) from Vivado/Vitis, run the following command to get a boot image (.bin file): bootgen -image boot.bif -o i boot.bin

  • Further, you can also run the following command to split the image to get the bitstream binary bootgen -image boot.bif -split bin -w on -p xc7kxxxx -o i boot.bin

  • Else you can set that option in bitstream settings while using Vivado GUI.

  • Or you can also try this script.

  • You can also check the official Xilinx video for How to Convert Bitstream to Raw Binary Using BootGen

Upvotes: 2

Related Questions