Forum Discussion
passing value to tcl
is there anyway to pass value to a variable in side the tcl. either from tcl console under quartus or using quartus_sh under linux?
for example
i have text.tcl, inside is
set test 0
in my cmd line i want to
quartus_sh -t test.tcl test =5
or in tcl console/
source test.tcl test=5
thx. seem "exec" would work but everytime i try
exec quartus_sh -t top.tcl 5 it just freeze quartus
7 Replies
- Heiko
New Contributor
You could do
quartus_sh -t test.tcl 5
And in test.tcl have
set test [lindex $argv 0]
That takes the zeroth input argument, in this case 5, and assigns it to a variable test.
- RichardT_altera
Super Contributor
May I know whether the suggestion from Heiko help in your case?
Do you need further help on this?Best Regards,
Richard Tan
p/s: If any answer from the community or Intel support are helpful, please feel free to give Kudos.- s002wjh
New Contributor
it help on linux side, but what about tcl console in quartus?
when i try quartus_sh i got these errors
Error:invalid command name "quartus_sh"
Error: while executingError:"unknown_original quartus_sh -t top_all.tcl 5"Error: ("eval" body line 1)Error: invoked from withinError:"eval unknown_original $cmd $args"Error: (procedure "::unknown" line 7)Error: invoked from withinError:"quartus_sh -t top_all.tcl 5"- Heiko
New Contributor
If you're running it from the tcl console the quartus_sh is not a valid command. Because (*I think) the tcl console in the quartus user interface is actually just the quartus_sh executable running in interactive mode.
To call quartus_sh from the tcl console you could use the exec command.
Following your example
exec quartus_sh -t top_all.tcl 5
Not sure if that is the most elegant solution to your problem. But it should work.