Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
15322 Discussions

How to run tool in parallel to design compilation?

Stefan
Beginner
274 Views

Hi there,

 

I want to run a script/tool in parallel to Quartus compilation run. How can I do this?

 

I tried this:

project.qsf

set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:script_files/build_pre_flow.tcl"

script_files/build_pre_flow.tcl

exec [info nameofexecutable] -t [pwd]/script_files/temp/run_forever.tcl &

script_files/temp/run_forever.tcl

while 1 { after 1000 }

 

Output on compilation:

Info: ******************************************************************* Info: Running Quartus Prime Shell Info: Command: quartus_sh -t script_files/build_pre_flow.tcl compile project revision Info: Quartus(args): compile project revision Info (23030): Evaluation of Tcl script script_files/build_pre_flow.tcl was successful Info: Quartus Prime Shell was successful. 0 errors, 0 warnings

... but now he stops here with compilation time clock still running, and progress staying at 0 % - why?

Seems like (despite message say that script was successful) still checks if script spawned another process and he won't continue until that process stops. If I kill that process, compilation starts - but that's not what I want, I want to have that running during compilation. How can I do that?

 

Thanks in advance

0 Kudos
3 Replies
Kenny_Tan
Moderator
124 Views

Hi,

 

You need to rewrite your code to control the compilation stages. I will give you an example here how you do it:

 

set dirs ""

lappend dirs "<Project directory>"

lappend dirs "<Project directory>"

 

foreach dir $dirs {

puts $dir

  catch {cd $dir}

  

set project_name [glob *.qpf]

   

project_open $project_name

Source build_pre_flow.tcl

execute_flow -compile // you can break the stage here if you want. e.g. execute_module -tool fit, execute_module -tool syn, execute_module -tool sta

project_close 

lappend report "[format "%-15s %-30s %-20s" $dir $project_name DONE]"

}

 

foreach line $report {

puts $line

}

Stefan
Beginner
124 Views

Hi KTan_Intel, thanks for your reply!

 

I'm sorry, I can't find that file you mentioned (without filename) - I searched my project for parts of it and I wasn't successful. Where is this script located at?

 

In the end, I want to be able to press [Ctrl]-[L] (as usual) and have mentioned functionality too.

Kenny_Tan
Moderator
124 Views

You can save the above code to a abc.tcl

 

Run it with quartus_sh -t abc.tcl

 

Make sure the quartus_sh is under quartus directory.

Reply