We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Registered: ‎07-24-2016

Vivado: not enough memory



I am using a .tcl script that triggers an ILA, and then calls a unix shell script that processes the .csv file that the .tcl script has written. This happens periodically, and I have created an infinite loop in the .tcl script, in order to trigger periodically and get the data I want from the .csv file. 


However, as the script runs, the memory consumption of Vivado (2017.1) is rising continuously, and when it reaches ~85% of the total system memory, I get this from Vivado: couldn't fork child process: not enough memory while executing "exec /bin/csh -c $script_location"


Is there any workaround? Can I write the script in a different way so that I don't have to restart Vivado and the script every 15 minutes?


.tcl script:



set numberOfFiles 3;
set timeout1      100;
set timeout2      10000;
set targetDirectory /home/test
set script_location /home/test/script.csh

    puts "---- BEGIN -----"

    #numberOfFiles does not change, hence infinite loop
    while {$numberOfFiles > 0} { 
        run_hw_ila [get_hw_ilas hw_ila_1] -trigger_now

        # writes the file
        write_hw_ila_data -csv_file -force $targetDirectory/data [upload_hw_ila_data hw_ila_1]

        for {set i 0} {$i < $timeout1} {incr i} {
            puts ".....timeout1...."

        exec /bin/csh -c $script_location
        #executes script that processes the .csv file  

        for {set j 0} {$j < $timeout2} {incr j} {
            puts ".....timeout2...."

    puts "---- END -----"






Tags (3)
0 Kudos