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: 
209 Views
Registered: ‎06-25-2019

problem: vivido says: basic_string::substr:__pos(which is 16) > this->size() (which is 15)

Platform LINUX - "Ubuntu 18.04.1 LTS"

Vivado: v2019.1  (64bit) 

Linux ubuntu 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Simular problem on Windows platform

Target is VC707 board.

============

Output from TCL console Window


open_hw_target
INFO: [Labtoolstcl 44-466] Opening hw_target localhost:3121/xilinx_tcf/Digilent/210203861163A
open_hw_target: Time (s): cpu = 00:00:06 ; elapsed = 00:00:06 . Memory (MB): peak = 6966.520 ; gain = 914.922 ; free physical = 133 ; free virtual = 2787
current_hw_device [get_hw_devices xc7vx485t_0]
refresh_hw_device -update_hw_probes false [lindex [get_hw_devices xc7vx485t_0] 0]
INFO: [Labtools 27-2302] Device xc7vx485t (JTAG device index = 0) is programmed with a design that has 1 ILA core(s).
create_hw_cfgmem -hw_device [get_hw_devices xc7vx485t_0] -mem_dev [lindex [get_cfgmem_parts {mt28gu01gaax1e-bpi-x16}] 0]
refresh_hw_device: Time (s): cpu = 00:00:20 ; elapsed = 00:00:06 . Memory (MB): peak = 7058.125 ; gain = 81.684 ; free physical = 128 ; free virtual = 2728
set_property PROGRAM.ADDRESS_RANGE {use_file} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7vx485t_0] 0]]
set_property PROGRAM.FILES [list "/home/duane/si5/vc707.BriocheFPGAEvaluationConfig_With12dot5MHz.mcs" ] [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7vx485t_0] 0]]
set_property PROGRAM.PRM_FILE {} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7vx485t_0] 0]]
set_property PROGRAM.BPI_RS_PINS {none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7vx485t_0] 0]]
set_property PROGRAM.UNUSED_PIN_TERMINATION {pull-none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7vx485t_0] 0]]
set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7vx485t_0] 0]]
set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7vx485t_0] 0]]
set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7vx485t_0] 0]]
set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7vx485t_0] 0]]
set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7vx485t_0] 0]]
startgroup
create_hw_bitstream -hw_device [lindex [get_hw_devices xc7vx485t_0] 0] [get_property PROGRAM.HW_CFGMEM_BITFILE [ lindex [get_hw_devices xc7vx485t_0] 0]]; program_hw_devices [lindex [get_hw_devices xc7vx485t_0] 0]; refresh_hw_device [lindex [get_hw_devices xc7vx485t_0] 0];
INFO: [Labtools 27-3164] End of startup status: HIGH
program_hw_devices: Time (s): cpu = 00:00:05 ; elapsed = 00:00:06 . Memory (MB): peak = 7157.000 ; gain = 8.004 ; free physical = 174 ; free virtual = 2774
INFO: [Labtools 27-2302] Device xc7vx485t (JTAG device index = 0) is programmed with a design that has 1 BPI core(s).
program_hw_cfgmem -hw_cfgmem [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices xc7vx485t_0] 0]]
basic_string::substr: __pos (which is 16) > this->size() (which is 15)

 

===============

0 Kudos
8 Replies
186 Views
Registered: ‎06-25-2019

Re: problem: vivido says: basic_string::substr:__pos(which is 16) > this->size() (which is 15)

Well - I will answer my own question 

If the "BIT" and/or MCS filename is to large (ie: 52 chars long, and contains extra DOts) ... the script dies a horrible death

Previous versions of the tool do not have this problem.

Solution:

Rename the BIT file to something smaller:  "tiny_name.bit" and create "tiny_name.mcs" - and it works.

This is a bug that Xilinux should fix.

REASON:  The tool Incorrectly states PROGRAM SUCCESSFUL

 

 

Moderator
Moderator
120 Views
Registered: ‎06-05-2013

Re: problem: vivido says: basic_string::substr:__pos(which is 16) > this->size() (which is 15)

I tried to reproduce this on using the above given file names but unable to reproduce this. May be if you can share some more steps then I can try. I will file a Change Request once reproduced.
I used Ubuntu and Windows 7.

-- Harshit
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
116 Views
Registered: ‎06-25-2019

Re: problem: vivido says: basic_string::substr:__pos(which is 16) > this->size() (which is 15)

1) Create a BIT file that has a filename at least 60 bytes long.

2) Have more then 1 dot in the filename.

For example:

 

   this_is_a_really_long_filename.with_a_dot_in_the_middle_with_more_dots.bit

0 Kudos
Moderator
Moderator
109 Views
Registered: ‎06-05-2013

Re: problem: vivido says: basic_string::substr:__pos(which is 16) > this->size() (which is 15)

write_bit.JPG

Here are the results with 2019.1. Let me know if I missed anything. This is from Linux Install.

 

-harshit  

 
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Moderator
Moderator
97 Views
Registered: ‎06-05-2013

Re: problem: vivido says: basic_string::substr:__pos(which is 16) > this->size() (which is 15)

Here is the log after generating the mcs file:-

INFO: [Vivado 12-3199] DRC finished with 0 Errors, 1 Warnings
INFO: [Vivado 12-3200] Please refer to the DRC report (report_drc) for more information.
INFO: [Designutils 20-2272] Running write_bitstream with 8 threads.
Loading data files...
Loading site data...
Loading route data...
Processing options...
Creating bitmap...
Creating bitstream...
Bitstream compression saved 110373824 bits.
Writing bitstream /home/harshit/case/this_is_a_really_long_filename.with_a_dot_.......................in_the_middle_with_more_dots.bit...
INFO: [Vivado 12-1842] Bitgen Completed Successfully.
INFO: [Common 17-83] Releasing license: Implementation
8 Infos, 1 Warnings, 0 Critical Warnings and 0 Errors encountered.
write_bitstream completed successfully
write_bitstream: Time (s): cpu = 00:00:19 ; elapsed = 00:00:16 . Memory (MB): peak = 8813.766 ; gain = 40.527 ; free physical = 960 ; free virtual = 14258
/home/harshit/case/this_is_a_really_long_filename.with_a_dot_.......................in_the_middle_with_more_dots.bit
write_cfgmem -format mcs -size 128 -interface SPIx4 -loadbit {up 0x00000000 "/home/harshit/case/this_is_a_really_long_filename.with_a_dot_.......................in_the_middle_with_more_dots.bit" } -file "/home/harshit/case/this_is_a_really_long_filename.with_a_dot_.......................in_the_middle_with_more_dots.mcs"
Command: write_cfgmem -format mcs -size 128 -interface SPIx4 -loadbit {up 0x00000000 "/home/harshit/case/this_is_a_really_long_filename.with_a_dot_.......................in_the_middle_with_more_dots.bit" } -file /home/harshit/case/this_is_a_really_long_filename.with_a_dot_.......................in_the_middle_with_more_dots.mcs
Creating config memory files...
Creating bitstream load up from address 0x00000000
Loading bitfile /home/harshit/case/this_is_a_really_long_filename.with_a_dot_.......................in_the_middle_with_more_dots.bit
Writing file /home/harshit/case/this_is_a_really_long_filename.with_a_dot_.......................in_the_middle_with_more_dots.mcs
Writing log file /home/harshit/case/this_is_a_really_long_filename.with_a_dot_.......................in_the_middle_with_more_dots.prm
===================================
Configuration Memory information
===================================
File Format MCS
Interface SPIX4
Size 128M
Start Address 0x00000000
End Address 0x07FFFFFF

Addr1 Addr2 Date File(s)
0x00000000 0x0021B983 Jul 30 11:14:18 2019 /home/harshit/case/this_is_a_really_long_filename.with_a_dot_.......................in_the_middle_with_more_dots.bit
0 Infos, 0 Warnings, 0 Critical Warnings and 0 Errors encountered.
write_cfgmem completed successfully
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
92 Views
Registered: ‎06-25-2019

Re: problem: vivido says: basic_string::substr:__pos(which is 16) > this->size() (which is 15)

Try this name:  

"vc707.BriocheFPGAEvaluationConfig_With12dot5MHz.bit"

 

 

0 Kudos
90 Views
Registered: ‎06-25-2019

Re: problem: vivido says: basic_string::substr:__pos(which is 16) > this->size() (which is 15)

Oh - and by the way - it's not about creating the MCS file.

It's about using the Vivado Lab to program the memory chip on the VC707 board.

 

0 Kudos
Moderator
Moderator
75 Views
Registered: ‎06-05-2013

Re: problem: vivido says: basic_string::substr:__pos(which is 16) > this->size() (which is 15)

Somehow it worked. Tested for KCU105 and VC709. Don't have VC707 locally by I can program it remotely with the same file name. Here is the result for VC709.

open_hw_target
INFO: [Labtoolstcl 44-466] Opening hw_target localhost:3121/xilinx_tcf/Digilent/210203367193A
current_hw_device [get_hw_devices xc7vx690t_0]
refresh_hw_device -update_hw_probes false [lindex [get_hw_devices xc7vx690t_0] 0]
INFO: [Labtools 27-1435] Device xc7vx690t (JTAG device index = 0) is not programmed (DONE status = 0).
refresh_hw_device: Time (s): cpu = 00:00:13 ; elapsed = 00:00:12 . Memory (MB): peak = 1652.559 ; gain = 1082.133
set_property PROBES.FILE {} [get_hw_devices xc7vx690t_0]
set_property FULL_PROBES.FILE {} [get_hw_devices xc7vx690t_0]
set_property PROGRAM.FILE {C:/Users/harshit/Desktop/MCS_File/bist_appvc707.BriocheFPGAEvaluationConfig_With12dot5MHz.bit} [get_hw_devices xc7vx690t_0]
program_hw_devices [get_hw_devices xc7vx690t_0]
INFO: [Labtools 27-3164] End of startup status: HIGH
program_hw_devices: Time (s): cpu = 00:00:06 ; elapsed = 00:00:06 . Memory (MB): peak = 1705.133 ; gain = 0.000
refresh_hw_device [lindex [get_hw_devices xc7vx690t_0] 0]
INFO: [Labtools 27-1434] Device xc7vx690t (JTAG device index = 0) is programmed with a design that has no supported debug core(s) in it.

 
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos