Forum Discussion

Stefan's avatar
Stefan
Icon for New Contributor rankNew Contributor
6 years ago

How to run tool in parallel to design compilation?

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

3 Replies

  • KennyT_altera's avatar
    KennyT_altera
    Icon for Super Contributor rankSuper Contributor

    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's avatar
      Stefan
      Icon for New Contributor rankNew Contributor

      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.

  • KennyT_altera's avatar
    KennyT_altera
    Icon for Super Contributor rankSuper Contributor

    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.