tcl Variablen Inhalt (Pfad übergeben)

Gast #6152465
Lesenswert?

Hallo Leute,

ich versuche gerade bei Vivado die .bit Datei nach dem erstellen in die 
.mcs umzuwandeln.

Leider funktioniert das Skript nicht.
1
#finde den Pfad und schreibe diesen in orig_proj_dir
2
set orig_proj_dir [get_property directory [current_project]]
3
#gebe den Pfad aus
4
puts $orig_proj_dir
5
set orig_proj_dir "[file normalize "$orig_proj_dir/project_1.runs/impl_2/test.bit"]"
6

7
#gebe den Pfad aus
8
puts $orig_proj_dir
9

10
#bis hierhin funktioniert es eigentlich wie gedacht
11
#ab hier gehts schief
12
write_cfgmem  -format mcs -size 8 -interface SERIALx1 -loadbit {up 0x00000000 {$orig_proj_dir} } -force -file "C:/x/FW.mcs"

Wie kriegt man den Inhalt(Pfad) von orig_proj_dir an write_cfgmem 
übergeben??


Vivado Ausgabe:
source C:/x/create_MCS.tcl
# set orig_proj_dir [get_property directory [current_project]]
# puts $orig_proj_dir
C:/x/project_1
# set orig_proj_dir "[file normalize 
"$orig_proj_dir/project_1.runs/impl_2/test.bit"]"
# puts $orig_proj_dir
C:/x/project_1/project_1.runs/impl_2/test.bit
# write_cfgmem  -format mcs -size 8 -interface SERIALx1 -loadbit {up 
0x00000000 [$orig_proj_dir] } -force -file "C:/x/FW.mcs"
Command: write_cfgmem -format mcs -size 8 -interface SERIALx1 -loadbit 
{up 0x00000000 [$orig_proj_dir] } -force -file C:/x/FW.mcs
Creating config memory files...
Creating bitstream load up from address 0x00000000
Loading bitfile [$orig_proj_dir]
ERROR: [Bitstream 40-47] File [$orig_proj_dir] does not exist.
ERROR: [Bitstream 40-46] File [$orig_proj_dir] cannot be opened for 
input.
ERROR: [Writecfgmem 68-7] Could not load bitfile [$orig_proj_dir].
0 Infos, 0 Warnings, 0 Critical Warnings and 3 Errors encountered.
write_cfgmem failed
ERROR: [Common 17-39] 'write_cfgmem' failed due to earlier errors.

    while executing
"write_cfgmem  -format mcs -size 8 -interface SERIALx1 -loadbit {up 
0x00000000 [$orig_proj_dir] } -force -file "C:/x/FW.mcs""
    (file "C:/x/create_MCS.tcl" line 9)
Gast #6152536
Lesenswert?

Danke!
Funktioniert!
-loadbit "up 0x00000000 $orig_proj_dir"

Funktioniert nicht!
-loadbit [list up 0x00000000 $orig_proj_dir]
1
source C:/x/create_MCS.tcl
2
# set orig_proj_dir [get_property directory [current_project]]
3
# puts $orig_proj_dir
4
C:/x/project_1
5
# set orig_proj_dir "[file normalize "$orig_proj_dir/project_1.runs/impl_2/test.bit"]"
6
# puts $orig_proj_dir
7
C:/x/project_1/project_1.runs/impl_2/test.bit
8
invalid command name "up"
9
ambiguous command name "up": update update_clock_routing update_compile_order update_design update_files update_ip_catalog update_macro update_module_reference update_noc_qos update_sw_parameters update_timing upgrade_ip uplevel upvar
10
    while executing
11
"up 0x00000000 $orig_proj_dir"
12
    invoked from within
13
"write_cfgmem  -format mcs -size 8 -interface SERIALx1 -loadbit [up 0x00000000 $orig_proj_dir] -force -file "C:/x/FW.mcs""
14
    (file "C:/x/create_MCS.tcl" line 9)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren