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: 
Contributor
Contributor
11,375 Views
Registered: ‎05-28-2015

no configuration possible in artix7

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

0 Kudos
13 Replies
Moderator
Moderator
11,294 Views
Registered: ‎01-15-2008

Re: no configuration possible in artix7

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

0 Kudos
Contributor
Contributor
11,259 Views
Registered: ‎05-28-2015

Re: no configuration possible in artix7

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.

0 Kudos
Contributor
Contributor
10,990 Views
Registered: ‎05-28-2015

Re: no configuration possible in artix7

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?

0 Kudos
Contributor
Contributor
10,987 Views
Registered: ‎05-28-2015

Re: no configuration possible in artix7

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

1.png
0 Kudos
Contributor
Contributor
10,882 Views
Registered: ‎06-22-2015

Re: no configuration possible in artix7

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. 

 

0 Kudos
Contributor
Contributor
10,881 Views
Registered: ‎06-22-2015

Re: no configuration possible in artix7

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)

 

 

 



0 Kudos
Participant michaeltymcnamara
Participant
9,580 Views
Registered: ‎07-08-2013

Re: no configuration possible in artix7 ==> WORKAROUND

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.

 

 

 

0 Kudos
Scholar pratham
Scholar
9,576 Views
Registered: ‎06-05-2013

Re: no configuration possible in artix7 ==> WORKAROUND

@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?

-Pratham

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Participant michaeltymcnamara
Participant
9,556 Views
Registered: ‎07-08-2013

Re: no configuration possible in artix7 ==> WORKAROUND

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:

 

file.png

 

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!

 

 

 

0 Kudos
Scholar pratham
Scholar
7,615 Views
Registered: ‎06-05-2013

Re: no configuration possible in artix7 ==> WORKAROUND

@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.

-Pratham

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
Participant michaeltymcnamara
Participant
7,601 Views
Registered: ‎07-08-2013

Re: no configuration possible in artix7 ==> Problem fixed!

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.

0 Kudos
Scholar pratham
Scholar
7,597 Views
Registered: ‎06-05-2013

Re: no configuration possible in artix7 ==> Problem fixed!

@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.

 

-Pratham

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Visitor nan211
Visitor
164 Views
Registered: ‎10-19-2019

Re: no configuration possible in artix7

You should make M[2:0] = 001 in master spi
0 Kudos