Wednesday, August 17, 2016

Convert bit file to mcs file for Xilinx FPGA

In vivado, we can convert bit file to mcs file in the tcl console using the write_cfgmem command.

For example, one of the FPGA board that I used has a component of mt28gu01gaax1e-bpi-x16 configuration memory part. In tcl console,

write_cfgmem -format mcs -interface bpix16 -size 128 -loadbit "up 0x0 asdf.bit"  asdf.mcs

After that I can program the configuration memory part using the mcs file generated.

The details of the write_cfgmem can be found in Ref[1].

Ref [2] talked about differences between SPI and BPI flash ROM. Here I pasted it below.

SPI protocol is serial type interface. It requires less number of programming pins compare to BPI for configuration. The configuration time is more compare to BPI
- FPGA configures as per industry-standard SPI serial interface protocal
– Mostly used in multi-boot applications where multiple bitstreams can be loaded by the FPGA

BPI protocol is parallel type interface. It requires more number of programming pins compare to SPI for configuration. The configuration time is less compare to SPI
– Uses standard parallel NOR Flash interface
– No clock is needed because the FPGA  contains the control logic
– Flash is easily used as addressable memory with address and data buses. Usually used in embedded applications

References
---------------
1. Vivado Design Suite Tcl Command Reference Guide, UG835(v2014.1) April 2, 2014.
2. SPI vs BPI flash ROM, https://forums.xilinx.com/t5/7-Series-FPGAs/SPI-versus-BPI-Flash-ROM/td-p/500586
3. Vivado Design Suite User Guid, Programming and Debugging, Section Creating a Configuration Memory File

No comments:

Post a Comment