How to generate MCS file from Vivado?
By Olek on Friday, August 14 2015, 13:08 - Permalink
There is still one function missing from Vivado 2015.2 - namely, the UI-accessible MCS file generation for FLASH memories. For now you can enter the "write_cfgmem" command in the TCL shell and play with its arguments. This is however not very user friendly.
Fortunately, the process can be easily automated by yourself! You can use "Tools" => "Customize commands" => "Customize Commands..." to add own buttons triggering TCL scripts. Knowning the "write_cfgmem" command, the only problem is how to get the path to the currently used bit file? I propose to do the complete solution like this:
write_cfgmem -force -format MCS -size 128 -interface SPIx4 -loadbit "up 0x0 [glob [get_property DIRECTORY [current_project]]/[get_property NAME [current_project]].runs/impl_1/*.bit]" "[get_property DIRECTORY [current_project]]/spi_mem.mcs"
This method should work until someone have several implementation runs in one project. This particular command generates MCS FLASH file called "spi_mem" for 128 M QSPI memory.