Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)

passing value to tcl

s002wjh
New Contributor I
1,232 Views

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

0 Kudos
1 Solution
s002wjh
New Contributor I
1,176 Views

thx.  seem "exec" would work but everytime i try

exec quartus_sh -t top.tcl 5   it just freeze quartus

View solution in original post

0 Kudos
7 Replies
Heiko
Novice
1,219 Views

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.

RichardTanSY_Intel
1,196 Views

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. 

0 Kudos
s002wjh
New Contributor I
1,193 Views

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 executing
Error:"unknown_original quartus_sh -t top_all.tcl 5"
Error:    ("eval" body line 1)
Error:    invoked from within
Error:"eval unknown_original $cmd $args"
Error:    (procedure "::unknown" line 7)
Error:    invoked from within
Error:"quartus_sh -t top_all.tcl 5"
0 Kudos
Heiko
Novice
1,184 Views

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.

0 Kudos
s002wjh
New Contributor I
1,177 Views

thx.  seem "exec" would work but everytime i try

exec quartus_sh -t top.tcl 5   it just freeze quartus

0 Kudos
RichardTanSY_Intel
1,147 Views

You may need to run it using command prompt. For best results, run shell commands and Intel® Quartus® Prime executables from a system command prompt outside of the Intel® Quartus® Prime software GUI. 

Best Regards,
Richard Tan

p/s: If any answer from the community or Intel support are helpful, please feel free to give Kudos. 

0 Kudos
RichardTanSY_Intel
1,121 Views

I believe that you got the answer to your inquiry. With that, I will now transition this thread to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread. Thank you.

Best Regards,
Richard Tan

p/s: If any answer from the community or Intel support are helpful, please feel free to give Kudos. 

0 Kudos
Reply