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!
07-08-2015 05:33 AM
hi,
I use a artix xc7a75t-fgg676 in mode spi x 4 with a n25p flash of micron.
I copy and paste the schema of xapp586 figure5.
I can download bistream in fpga, and program run.
I can download the mcs in spi flash with no error (in vivado).
startgroup
if {![string equal [get_property PROGRAM.HW_CFGMEM_TYPE [lindex [get_hw_devices] 0]] [get_property MEM_TYPE [get_property CFGMEM_PART [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]]]] } { create_hw_bitstream -hw_device [lindex [get_hw_devices] 0] [get_property PROGRAM.HW_CFGMEM_BITFILE [ lindex [get_hw_devices] 0]]; program_hw_devices [lindex [get_hw_devices] 0]; };
INFO: [Labtools 27-3164] End of startup status: HIGH
program_hw_cfgmem -hw_cfgmem [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
Mfg ID : 20 Memory Type : ba Memory Capacity : 18 Device ID 1 : 0 Device ID 2 : 0
Performing Erase Operation...
Erase Operation successful.
Performing Program and Verify Operations...
Program/Verify Operation successful.
INFO: [Labtoolstcl 44-377] Flash programming completed successfully
program_hw_cfgmem: Time (s): cpu = 00:00:07 ; elapsed = 00:03:46 . Memory (MB): peak = 1047.043 ; gain = 0.000
endgroup
But when i cut off power, programm not automaticaly download.
In vivado, when i use "Boot from configuration device" a error appear :
boot_hw_device [lindex [get_hw_devices] 0]
ERROR: [Labtools 27-2254] Booting from configuration memory device unsuccessful.
boot_hw_device: Time (s): cpu = 00:00:04 ; elapsed = 00:01:43 . Memory (MB): peak = 1047.043 ; gain = 0.000
ERROR: [Common 17-39] 'boot_hw_device' failed due to earlier errors.
and done is high
My configuration is
SPIX4
128MB FLASH DEVICE
M[2:0] = 100 master spi
PUDC_B = HIGH (spi 3.3v)
Is someone have already see this problem?
If programmation of flash is good and my schematic is identical of xapp586 perhap i forgot a option in vivado.
Best regards
07-12-2015 09:37 PM
what is the mode pin settings on the board?
can you read the fpga device status register and copy to this thread
also you can readback the mcs file and compare with the original mcs file
07-16-2015 05:15 AM
Mode pin :
I checked the value of M2, M1, M0 in the board as close possible of FPGA and it's good M2 = '1' et M1=M0='0'.
The problem is not configuration pin. I can see in FPGA properties that the value is good (see picture 2).
I place the xls file of the register configuration :
1/ After download bitstream in the FPGA (configuration which works)
2/ After download mcs in spi and shut down / up power. (configuration not works)
3/ After download fpga from spi in vivado (configuration not works)
But i have seen something. The spi clock seem not good. I configure cclk at 22MHz (see picture 1). When i download mcs the spi clock is approximately 6.8MHz.
When i shut down / up power, spi clock is approximately 2.7MHz.
But how you readback the mcs?
I verified that the mcs is good programmed but i don't know how to readback mcs file.
08-27-2015 03:23 AM
I see something.
I have a problem with the FCS_B signal.
When i program the flash with vivado, this signal come low and data are send. So at the end a succesful message appear and for me the flash is correctly programm.
Erase Operation successful.
Performing Program and Verify Operations...
Program/Verify Operation successful.
When I boot fpga from flash memory (right click and select "BOOT FROM CONFIGURATION MEMORY DEVICIE") the FCS_B signal never go down so flash is never selected and a not succesfully message appear.
boot_hw_device [lindex [get_hw_devices] 0]
ERROR: [Labtools 27-2254] Booting from configuration memory device unsuccessful.
boot_hw_device: Time (s): cpu = 00:00:04 ; elapsed = 00:01:43 . Memory (MB): peak = 1047.043 ; gain = 0.000
ERROR: [Common 17-39] 'boot_hw_device' failed due to earlier errors.
I don't control this signal.
Is it possible that this problem come of the configuration of bitstream?
Is someone already have this problem?
08-27-2015 05:27 AM
When i compare with the FPGA SPI x1 Mode Sequence of UG470 page 52, all are identical until the FCS_B signal (see attachement).
INIT_B is correct, cclk frequency too (approximately 3 MHz).
But FCS_B never go down.
For me, it's a component problem.
Help please
09-11-2015 03:11 PM
I have been seeing the same problem on my system. I haven't confirmed the FCS_B pin yet as probing is not easy. I have however have an older mcs file from a similar hardware design and I can get that .msc file to boot from Flash using the JTAG interface and at power up. but new msc file generated from working bit file will not boot. So it isn't a hardware issue but a mcs or maybe a BPI configuraiton constraint error.
If anyone has something to add to things to test please comment. running out of things to try.
09-11-2015 03:22 PM
Some details
XC7K325T Kintex FPGA, BPIx16 flash same as used on KC705 board (PC28F00AP30TFA). RS[1:0] set to address pins set to A25:24 and A26 pulled low.
Configureation .xdc file compiled with design has the following called constrains (not set as target constraint: is this a problem?)
set_property CONFIG_VOLTAGE 1.8 [current_design]
set_property CFGBVS GND [current_design]
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property BITSTREAM.CONFIG.EXTMASTERCCLK_EN DIV-1 [current_design]
set_property BITSTREAM.CONFIG.BPI_SYNC_MODE TYPE1 [current_design]
set_property CONFIG_MODE BPI16 [current_design]
Tried to generate a .mcs with all of the following tcl calls
write_cfgmem -format mcs -interface bpix16 -size 128 -loadbit "up 0x0 ../path/mybitfile.bit" -file ../path/mybitfile128.mcs -verbose -checksum -force
write_cfgmem -format mcs -interface bpix16 -size 64 -loadbit "up 0x0 ../path/mybitfile.bit" -file ../path/mybitfile64.mcs -verbose -checksum -force
write_cfgmem -format mcs -interface bpix16 -size 32 -loadbit "up 0x0 ../path/mybitfile.bit" -file ../path/mybitfile32.mcs -verbose -checksum -force
write_cfgmem -format mcs -interface bpix16 -size 16 -loadbit "up 0x0 ../path/mybitfile.bit" -file ../path/mybitfile16.mcs -verbose -checksum -force
all mcs files (16/32/64/128) generated from this bit file failed. (Reason was previosue hardware had a 256Mb flash (32MB) and that mcs file was able to load and program this flash, would use but added more features since that image was generated)
02-25-2016 05:35 PM
I encounter this same problem using Vivado 2015.3, and an Artix xc100t
Using Vivado to create the MCS file from the bit file appears to works fine, and all messages show that it is successful.
However, I can not boot from the configuration file created by vivado either by using the GUI, nor by power cycling the board.
The work around: Launch the Xilinx 14.7 IMpact tool, and use it to convert the vivado created bit file into an mcs file.
Then use Vivado to load that mcs file into the flash memory, and now both the 'boot from config memory' and power cycleing the board successfully loads the bitstream.
02-25-2016 08:04 PM
@michaeltymcnamara Did you comapre the .mcs created using vivado and impact? can you let us know what command did you use to generate .mcs in vivado 2015.3?
02-26-2016 01:38 PM
Compaing the two MCS files, the first three lines are the same; and then there are difference all over the place:
The file carplay.mcs is the one that works:
In vivado, I used the GUI to select my memory part; and it issued a bunch of TCL to the log; and then I used the GUI to program it, and got more tcl; here is the relevant section from the log file:
current_hw_target [get_hw_targets */xilinx_tcf/Xilinx/Port_#0004.Hub_#0005]
set_property PARAM.FREQUENCY 6000000 [get_hw_targets */xilinx_tcf/Xilinx/Port_#0004.Hub_#0005]
open_hw_target
INFO: [Labtoolstcl 44-466] Opening hw_target localhost:3121/xilinx_tcf/Xilinx/Port_#0004.Hub_#0005
set_property PROGRAM.FILE {D:/users/mac/design.bit} [lindex [get_hw_devices] 0]
set_property PROBES.FILE {D:/users/mac/debug_nets.ltx} [lindex [get_hw_devices] 0]
current_hw_device [lindex [get_hw_devices] 0]
refresh_hw_device [lindex [get_hw_devices] 0]
INFO: [Labtools 27-2302] Device xc7a100t (JTAG device index = 0) is programmed with a design that has 1 ILA core(s).
display_hw_ila_data [ get_hw_ila_data hw_ila_data_1 -of_objects [get_hw_ilas -of_objects [get_hw_devices xc7a100t_0] -filter {CELL_NAME=~"u_ila_0"}]]
create_hw_cfgmem -hw_device [lindex [get_hw_devices] 0] -mem_dev [lindex [get_cfgmem_parts {n25q256-3.3v-spi-x1_x2_x4}] 0]
set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
refresh_hw_device [lindex [get_hw_devices] 0]
INFO: [Labtools 27-2302] Device xc7a100t (JTAG device index = 0) is programmed with a design that has 1 ILA core(s).
create_hw_cfgmem -hw_device [lindex [get_hw_devices] 0] -mem_dev [lindex [get_cfgmem_parts {n25q256-3.3v-spi-x1_x2_x4}] 0]
cfgmem_1
set cfgMem [get_hw_cfgmems]
cfgmem_0 cfgmem_1
set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
write_cfgmem -format MCS -size 256 -loadbit "up 0 D:/users/mac/design.bit" [get_hw_cfgmems]
Creating config memory files...
Creating bitstream load up from address 0x00000000
Loading bitfile D:/users/mac/design.bit
Writing file ./cfgmem_0 cfgmem_1.mcs
Writing log file ./cfgmem_0 cfgmem_1.prm
===================================
Configuration Memory information
===================================
File Format MCS
Interface SMAPX8
Size 256M
Start Address 0x00000000
End Address 0x0FFFFFFF
Addr1 Addr2 Date File(s)
0x00000000 0x003A607B Feb 25 15:23:06 2016 D:/users/mac/defender-top/products/defender/xilinx/defender_usb2_xc100/usb3/artix_defender_1.runs/impl_1/Defender_D0_wrapper.bit
set_property PROGRAM.ADDRESS_RANGE {use_file} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.FILES [list "D:/users/mac/cfgmem_0 cfgmem_1.mcs" ] [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
set_property PROGRAM.PRM_FILE {D:/users/mac/cfgmem_0 cfgmem_1.prm} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
set_property PROGRAM.UNUSED_PIN_TERMINATION {pull-none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
startgroup
if {![string equal [get_property PROGRAM.HW_CFGMEM_TYPE [lindex [get_hw_devices] 0]] [get_property MEM_TYPE [get_property CFGMEM_PART [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]]]] } { create_hw_bitstream -hw_device [lindex [get_hw_devices] 0] [get_property PROGRAM.HW_CFGMEM_BITFILE [ lindex [get_hw_devices] 0]]; program_hw_devices [lindex [get_hw_devices] 0]; };
INFO: [Labtools 27-3164] End of startup status: HIGH
program_hw_cfgmem -hw_cfgmem [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
Mfg ID : 20 Memory Type : ba Memory Capacity : 19 Device ID 1 : 0 Device ID 2 : 0
Performing Erase Operation...
Erase Operation successful.
Performing Program and Verify Operations...
Program/Verify Operation successful.
INFO: [Labtoolstcl 44-377] Flash programming completed successfully
program_hw_cfgmem: Time (s): cpu = 00:00:02 ; elapsed = 00:03:09 . Memory (MB): peak = 1002.914 ; gain = 0.000
endgroup
refresh_hw_device [lindex [get_hw_devices] 0]
INFO: [Labtools 27-2302] Device xc7a100t (JTAG device index = 0) is programmed with a design that has 1 SPI core(s).
WARNING: [Labtools 27-1974] Mismatch between the design programmed into the device xc7a100t_0 and the probes file D:/users/mac/defender-top/products/defender/xilinx/defender_usb2_xc100/usb3/artix_defender_1.runs/impl_1/debug_nets.ltx.
The device design has 0 ILA core(s) and 0 VIO core(s). The probes file has 1 ILA core(s) and 0 VIO core(s).
Resolution:
1. Reprogram device with the correct programming file and associated probes file OR
2. Goto device properties and associate the correct probes file with the programming file already programmed in the device.
Maybe I need to refresh?
close_hw
open_hw
connect_hw_server -url localhost:3121
INFO: [Labtools 27-2285] Connecting to hw_server url TCP:localhost:3121
current_hw_target [get_hw_targets */xilinx_tcf/Xilinx/Port_#0004.Hub_#0005]
set_property PARAM.FREQUENCY 6000000 [get_hw_targets */xilinx_tcf/Xilinx/Port_#0004.Hub_#0005]
open_hw_target
INFO: [Labtoolstcl 44-466] Opening hw_target localhost:3121/xilinx_tcf/Xilinx/Port_#0004.Hub_#0005
set_property PROGRAM.FILE {D:/users/mac/design.bit} [lindex [get_hw_devices] 0]
set_property PROBES.FILE {D:/users/mac/debug_nets.ltx} [lindex [get_hw_devices] 0]
current_hw_device [lindex [get_hw_devices] 0]
refresh_hw_device [lindex [get_hw_devices] 0]
INFO: [Labtools 27-2302] Device xc7a100t (JTAG device index = 0) is programmed with a design that has 1 SPI core(s).
WARNING: [Labtools 27-1974] Mismatch between the design programmed into the device xc7a100t_0 and the probes file D:/users/mac/debug_nets.ltx.
The device design has 0 ILA core(s) and 0 VIO core(s). The probes file has 1 ILA core(s) and 0 VIO core(s).
Resolution:
1. Reprogram device with the correct programming file and associated probes file OR
2. Goto device properties and associate the correct probes file with the programming file already programmed in the device.
That didn't work.
Try again, booting from configuration memory?
boot_hw_device [lindex [get_hw_devices] 0]
ERROR: [Labtools 27-2254] Booting from configuration memory device unsuccessful.
boot_hw_device: Time (s): cpu = 00:00:01 ; elapsed = 00:03:02 . Memory (MB): peak = 1002.914 ; gain = 0.000
ERROR: [Common 17-39] 'boot_hw_device' failed due to earlier errors.
Try programming the flash again, using the MCS file already created:
set_property PROGRAM.ADDRESS_RANGE {entire_device} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.FILES [list "D:/users/mac/cfgmem_0 cfgmem_1.mcs" ] [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
set_property PROGRAM.UNUSED_PIN_TERMINATION {pull-none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.BLANK_CHECK 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CHECKSUM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.PRM_FILES [list "" ] [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
set_property PROGRAM.ADDRESS_RANGE {entire_device} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.FILES [list "D:/users/mac/cfgmem_0 cfgmem_1.mcs" ] [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
set_property PROGRAM.UNUSED_PIN_TERMINATION {pull-none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.BLANK_CHECK 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.PRM_FILES [list "" ] [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
set_property PROGRAM.ADDRESS_RANGE {entire_device} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.FILES [list "D:/users/mac/cfgmem_0 cfgmem_1.mcs" ] [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
set_property PROGRAM.UNUSED_PIN_TERMINATION {pull-none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.BLANK_CHECK 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
startgroup
if {![string equal [get_property PROGRAM.HW_CFGMEM_TYPE [lindex [get_hw_devices] 0]] [get_property MEM_TYPE [get_property CFGMEM_PART [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]]]] } { create_hw_bitstream -hw_device [lindex [get_hw_devices] 0] [get_property PROGRAM.HW_CFGMEM_BITFILE [ lindex [get_hw_devices] 0]]; program_hw_devices [lindex [get_hw_devices] 0]; };
INFO: [Labtools 27-3164] End of startup status: HIGH
program_hw_cfgmem -hw_cfgmem [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
Mfg ID : 20 Memory Type : ba Memory Capacity : 19 Device ID 1 : 0 Device ID 2 : 0
Performing Erase Operation...
Erase Operation successful.
Performing Blank Check Operation...
Blank Check Operation successful. The part is blank.
Performing Program and Verify Operations...
Program/Verify Operation successful.
INFO: [Labtoolstcl 44-377] Flash programming completed successfully
program_hw_cfgmem: Time (s): cpu = 00:00:04 ; elapsed = 00:14:38 . Memory (MB): peak = 1002.914 ; gain = 0.000
endgroup
Try booting from configuration memory:
boot_hw_device [lindex [get_hw_devices] 0]
ERROR: [Labtools 27-2254] Booting from configuration memory device unsuccessful.
boot_hw_device: Time (s): cpu = 00:00:01 ; elapsed = 00:03:02 . Memory (MB): peak = 1002.914 ; gain = 0.000
ERROR: [Common 17-39] 'boot_hw_device' failed due to earlier errors.
Nope, still bad.
OK, use iMpact to create the file. Here is iMpact's log:
PROMGEN: Xilinx Prom Generator P.20131013
Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved.
promgen -w -p mcs -c FF -o D:\users\mac//carplay -s 32768 -u 0000 D:/users/mac/design.bit -spi
PROM D:\users\mac\carplay.prm map: Thu Feb 25 17:19:06 2016
Calculating PROM checksum with fill value ff
Format Mcs86 (32-bit)
Size 32768K
PROM start 0000:0000
PROM end 01ff:ffff
PROM checksum c53bd40d
Addr1 Addr2 Date File(s)
0000:0000 003a:607b Feb 25 15:23:06 2016 D:/users/mac/design.bi
Now, using the carplay.mcs and carplay.prm file back in vivado, we get:
create_hw_cfgmem -hw_device [lindex [get_hw_devices] 0] -mem_dev [lindex [get_cfgmem_parts {n25q256-3.3v-spi-x1_x2_x4}] 0]
set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
refresh_hw_device [lindex [get_hw_devices] 0]
INFO: [Labtools 27-2302] Device xc7a100t (JTAG device index = 0) is programmed with a design that has 1 ILA core(s).
set_property PROGRAM.ADDRESS_RANGE {use_file} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.FILES [list "D:/users/mac/carplay.mcs" ] [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
set_property PROGRAM.UNUSED_PIN_TERMINATION {pull-none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.PRM_FILES [list "D:/users/mac/carplay.prm" ] [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
set_property PROGRAM.ADDRESS_RANGE {use_file} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.FILES [list "D:/users/mac/carplay.mcs" ] [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
set_property PROGRAM.PRM_FILE {D:/users/mac/carplay.prm} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
set_property PROGRAM.UNUSED_PIN_TERMINATION {pull-none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
startgroup
if {![string equal [get_property PROGRAM.HW_CFGMEM_TYPE [lindex [get_hw_devices] 0]] [get_property MEM_TYPE [get_property CFGMEM_PART [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]]]] } { create_hw_bitstream -hw_device [lindex [get_hw_devices] 0] [get_property PROGRAM.HW_CFGMEM_BITFILE [ lindex [get_hw_devices] 0]]; program_hw_devices [lindex [get_hw_devices] 0]; };
INFO: [Labtools 27-3164] End of startup status: HIGH
program_hw_cfgmem -hw_cfgmem [get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0 ]]
Mfg ID : 20 Memory Type : ba Memory Capacity : 19 Device ID 1 : 0 Device ID 2 : 0
Performing Erase Operation...
Erase Operation successful.
Performing Program and Verify Operations...
Program/Verify Operation successful.
INFO: [Labtoolstcl 44-377] Flash programming completed successfully
program_hw_cfgmem: Time (s): cpu = 00:00:01 ; elapsed = 00:03:11 . Memory (MB): peak = 1002.914 ; gain = 0.000
endgroup
boot_hw_device [lindex [get_hw_devices] 0]
INFO: [Labtools 27-32] Done pin status: HIGH
boot_hw_device: Time (s): cpu = 00:00:01 ; elapsed = 00:00:13 . Memory (MB): peak = 1002.914 ; gain = 0.000
Success!
03-02-2016 03:36 AM
@michaeltymcnamara You have to use correct command to generate .mcs when using vivado. Please include -interface arguement when creating .mcs for spi mode
write_cfgmem -format MCS -size 256 -loadbit -interface SPIx1 "up 0 D:/users/mac/design.bit" [get_hw_cfgmems]
Try this and let us know if this does not work either.
03-02-2016 03:57 PM
Thanks, Pratham - that fixed the problem.
You had a typo in your suggestion - the write answer is below; you had a typo in your suggestion, where you
placed the '-interface SPIx1' between the -loadbit and the path name to the bitstream.
write_cfgmem -format MCS -size 256 -interface SPIx1 -loadbit "up 0 D:/users/mac/design.bit" [get_hw_cfgmems]
Likely the write_cfgmem command should require a interface argument, rather than assuming SMAPx8 as a default.
I don't see a button for marking the below, so I include them as text:
Accept Answer as Solution
Kudos.
03-02-2016 05:54 PM
@michaeltymcnamara Thanks, i just took the command from your earlier post and added -interface argument in it.
The reason you dont find the accept as a solution is you are not the owner of this thread. This thread was started by another forum user hence he can only see accept as a solution button. It is a good forum practice if you have any questions please start a new thread or if thread is old and you have the same problem start a new thread copying the old thread link to let others know you have been facing same problem posted in the old thread.
11-21-2019 10:23 PM