StanfordAHA / garnet

Next generation CGRA generator
BSD 3-Clause "New" or "Revised" License
99 stars 11 forks source link

Tapeout: Top-level LVS fails for lack of memory #371

Open steveri opened 4 years ago

steveri commented 4 years ago

To reproduce the error (on r7arm-aha machine):

% mkdir /tmp/lvs; cd /tmp/lvs
% cp -rp /sim/steveri/garnet/tapeout_16/lvs/gpf1_failed/ GarnetSOC_pad_frame/
% cd GarnetSOC_pad_frame/
% source /sim/steveri/garnet/tapeout_16/lvs/setup.sh
% calibre -turbo -hyper -lvs -hier -nowait _calibre.lvs >& lvs.log0 &
% top

It quickly gets to this point...

FLATTENING non-corresponding cells and EXPANDING unbalanced cells ...

Then it starts rapidly gobbling memory...if you monitor from the "top" command, you can see mem use rapidly go from about 1G to 87G and then it crashes. If you look in /var/log/messages you see this:

Nov 6 07:52 r7arm kernel: Out of memory: Kill process 8733 (calibre) score 904 or sacrifice child
Nov 6 07:52 r7arm kernel: Killed process 8733 (calibre) 
   total-vm: 184671436 kB, 
   anon-rss: 181722508 kB, 
   file-rss: 0kB, 
   shmem-rss: 0kB
steveri commented 4 years ago

Tried running the job on tsmc machine b/c it had much more available swap space. Still ran out of memory. After discussing with Rick, I think the problem is probably some error/short in the netlist. My plan now is to go back to square one and try to get error-free netlist before trying LVS again. In particular I would like to solve this vdd/vss short error https://github.com/StanfordAHA/garnet/issues/356