06-30-2020 09:58 PM
I'm upgrading my .tcl file I used to create a project and generate IPs in 2018.2 version to the 2020.1 version. The project uses XCUV9P device. The .tcl file has about 40 IPs and it runs smoothly in the 2018 version, but it crashes on the 2020.1 version. I ran a .tcl file for every IP individually and all IPs seem to be working.
From my reading, the memory peak tells me how much memory (computer RAM) was used by each of the processes. It’s only important when we are running on a machine without sufficient RAM. The following link (https://www.xilinx.com/products/design-tools/vivado/memory.html) shows that the recommended physical system memory for my device XCUV9P have to at least handle the peak memory usage. In table 2, the peak memory for XCUV9P is 32 GB.
I ran the following command on MobaXterm (cat /proc/meminfo) to check the total and free memory on my the remote linux server I'm using. It seems that the free memory is 59,628.952 MB.
Looking deeper into the log file, the project starts with the following line:
create_project: Time (s): cpu = 00:00:04 ; elapsed = 00:00:06 . Memory (MB): peak = 7086.008 ; gain = 0.000 ; free physical = 61196 ; free virtual = 64307
And the project hangs at the end and I see this line:
create_ip: Time (s): cpu = 00:00:05 ; elapsed = 00:00:17 . Memory (MB): peak = 8482.113 ; gain = 0.000 ; free physical = 3631 ; free virtual = 7230
you can notice that the free physical memory started from 61,196 MB and went down all the way to 3,631 MB. The script used most of the free physical memory and required even more space to create the last IP which resulted in crashing/hanging.
Thus, I now know that, for some reasons, running the ip_gen_script takes more memory space than is actually provided by Xilinx (in the link above). Does anyone know why this is happening?
07-12-2020 11:02 PM