UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
516 Views
Registered: ‎12-08-2007

Cannot generate MCS file

Jump to solution

 

I have 32 bit system (Linux). so I installed Vivado 2014.4 (because I read that it is the latest version that supports 32 bit). 

I made a VHDL code for Half-adder.

I am trying to set up the necessary file .MCS to program a FLASH on my board.

The board is

KC705

 

the flash is: Linear BPI flash memory

I finished synthesis.

I generated the bitstream.

I can find the "Edit Device Properties" window and I choose "Configuration Modes" to be Master BPI-Up x16 and JTAG/Boundary Scan.

From my understanding I need to create an MCS file. I see in the tutorial here http://techmuse.in/creating-and-configuring-xilinx-fpga-with-mcs/ he gets to a window "Write Memory Configuration File" but I cannot find this item in ay of the Menus of Vivado.

Is this window started only after version 2014.4 of Vivado ?

Is there some other way to generate MCS file ? I follow the video https://www.youtube.com/watch?v=IIAZEXPlwtc. I try to do TCL command:

 

write_cfgmem -format mcs -interface bpix16 -size 128 -loadbit "up 0 main.bit" -file main.mcs

 

( I chose 128 because in UG810.pdf, it is specified that the Linear BPI flash is 128M).

But I get an error:

 

Vivado 12-4178: write_cfgmem -interface BPIX16 is not compatible with the main.bit configuration device settings. SPI_buswidth=1. Regenerate the bitstream with the device settings for BPI...

 

 When I open "Edit Device Properties" I see SPI Configuration is "NO", "NONE" and "NO". So I don't understand why it says "SPI_buswidth=1" ?

 

Please advise how I can create the MCS file ?

 

0 Kudos
1 Solution

Accepted Solutions
Explorer
Explorer
427 Views
Registered: ‎12-08-2007

Re: Cannot generate MCS file

Jump to solution

I thank you for your input.

 

 

There was some line in the XCD file with SPI (although not as the error message complained about).

I deleted this line from the XCD manually,

set_property PACKAGE_PIN AA12 [get_ports GPIO_SW_N]

set_property IOSTANDARD LVCMOS15 [get_ports GPIO_SW_N]

set_property PACKAGE_PIN AB12 [get_ports GPIO_SW_S]

set_property IOSTANDARD LVCMOS15 [get_ports GPIO_SW_S]

set_property PACKAGE_PIN AA8 [get_ports GPIO_LED_1_LS]

set_property IOSTANDARD LVCMOS15 [get_ports GPIO_LED_1_LS]

set_property PACKAGE_PIN AB8 [get_ports GPIO_LED_0_LS]

set_property IOSTANDARD LVCMOS15 [get_ports GPIO_LED_0_LS]

 

Then I run synthesis.

 

(Note, I saw a couple of videos that From the Tools Menu, choose Edit Device Properties handset the configuration modes to Master BPI-Up x 16, but I now I proceed without touching any of these settings).

 

I run Implementation.

 

I run Generate Bitstream.

 

This creates the file main.bit (in the folder HA_2/HA_2.runs/impl_1).

 

I go down to the TCL Console and type the command:

 

write_cfgmem -format mcs -interface bpix16 -size 128 -loadbit “up 0 main.bit” -file main.mcs -force

This creates an MCS file.

 

I choose: Hardware Manager in the Program and Debug menu (left).

 

I choose Open target, and select localhost:3121….Digilent… (this is the KC705 card).

 

I click on xilinx tcf/Digilent ….

 

I choose from the Tools menu (top) Add Configuration Memory Device

 

and select xc7k325t_0

 

I the list of devices I choose: 28f00ap-30t-bpi-x16 because the UG810.pdf specifies the Linear flash device as such.

 

I press OK,

 

then it asks do you want to program the configuration memory device?

 

I choose OK.

 

I choose Configuration file to be the main.MCS (it is also in the impl_1 folder)

 

I make sure ERASE is checked.

 

The device gets programmed.

 

End of MCS problem.

 

 

0 Kudos
4 Replies
477 Views
Registered: ‎01-22-2015

Re: Cannot generate MCS file

Jump to solution

@dag1

The write_cfgmem command looks correct. You may want to add “-force” to the command to ensure it overwrites an existing version of main.mcs (see UG835 for more on write_cfgmem).

Error (12-4178) suggests that “Bitstream Settings” in the “Edit Device Properties” dialog need to be changed.  In particular, look under “Configuration Modes” and ensure you have selected “Master BPI-Up x16” and not “Master SPI x1”. See v2014.4 of UG908 near Figure 2-2 for more information on "Bitstream Settings" and on "Creating a Configuration Memory File".
Edit_Device_Props.jpg

Cheers,
Mark

Xilinx Employee
Xilinx Employee
473 Views
Registered: ‎08-10-2008

回复: Cannot generate MCS file

Jump to solution

It seems the tool is messed up. Did you set any configuration related properties in XDC file? If so, move them. 

Secondly, open the implemented design, run 'report_property -all' and check if you have improperly set some Config properties such as SPIx1 width. Clear them all and then use write_cfgmem to create the MCS file.

------------------------------------------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
---------------------------------------------------------------------------------------------------------
Explorer
Explorer
434 Views
Registered: ‎12-08-2007

回复: Cannot generate MCS file

Jump to solution

report_property -all 

 

returns an error

 

"expects exactly one object got '0'

 

But I solved the MCS writing problem just inserting the -force option as mentioned by one of the other persons who replied.  Thanks for your input.

0 Kudos
Explorer
Explorer
428 Views
Registered: ‎12-08-2007

Re: Cannot generate MCS file

Jump to solution

I thank you for your input.

 

 

There was some line in the XCD file with SPI (although not as the error message complained about).

I deleted this line from the XCD manually,

set_property PACKAGE_PIN AA12 [get_ports GPIO_SW_N]

set_property IOSTANDARD LVCMOS15 [get_ports GPIO_SW_N]

set_property PACKAGE_PIN AB12 [get_ports GPIO_SW_S]

set_property IOSTANDARD LVCMOS15 [get_ports GPIO_SW_S]

set_property PACKAGE_PIN AA8 [get_ports GPIO_LED_1_LS]

set_property IOSTANDARD LVCMOS15 [get_ports GPIO_LED_1_LS]

set_property PACKAGE_PIN AB8 [get_ports GPIO_LED_0_LS]

set_property IOSTANDARD LVCMOS15 [get_ports GPIO_LED_0_LS]

 

Then I run synthesis.

 

(Note, I saw a couple of videos that From the Tools Menu, choose Edit Device Properties handset the configuration modes to Master BPI-Up x 16, but I now I proceed without touching any of these settings).

 

I run Implementation.

 

I run Generate Bitstream.

 

This creates the file main.bit (in the folder HA_2/HA_2.runs/impl_1).

 

I go down to the TCL Console and type the command:

 

write_cfgmem -format mcs -interface bpix16 -size 128 -loadbit “up 0 main.bit” -file main.mcs -force

This creates an MCS file.

 

I choose: Hardware Manager in the Program and Debug menu (left).

 

I choose Open target, and select localhost:3121….Digilent… (this is the KC705 card).

 

I click on xilinx tcf/Digilent ….

 

I choose from the Tools menu (top) Add Configuration Memory Device

 

and select xc7k325t_0

 

I the list of devices I choose: 28f00ap-30t-bpi-x16 because the UG810.pdf specifies the Linear flash device as such.

 

I press OK,

 

then it asks do you want to program the configuration memory device?

 

I choose OK.

 

I choose Configuration file to be the main.MCS (it is also in the impl_1 folder)

 

I make sure ERASE is checked.

 

The device gets programmed.

 

End of MCS problem.

 

 

0 Kudos