Brady Etz
04/12/2024, 11:41 PMBrady Etz
04/12/2024, 11:48 PMMitch Bailey
04/13/2024, 12:16 AMcrashbackups
, unless you’ve stopped them. Check your /tmp
directory - you may be able to recover some of your work.
The writeall modified
command will (should) prompt for saving modified cells on a cell by cell basis.Brady Etz
04/13/2024, 12:22 AMMitch Bailey
04/13/2024, 12:24 AMBrady Etz
04/13/2024, 12:38 AMwrite modified
, apologies for the white background. At some point after I added the tapvpwrvgnd_1
cells, Magic started treating the standard cells as if they had been modified. Not sure why. (It was the first time I created an instance directly from the libs.ref
directory, so maybe I used the wrong technique.)Mitch Bailey
04/13/2024, 7:03 AMTim Edwards
04/13/2024, 1:42 PMmagic -r
. Beware that magic needs to be called with the same arguments that were originally used (i.e., -rcfile ...
or else you may end up with recovered data corrupted beyond recognition. You can also just read the file in /tmp directly as a layout file.
(2) I wrote a routine for cleaning up unused paramterized cells. See open_pdks runtime/cleanup_unref.py
. Use
cleanup_unref.py <path_to_layout>
to get a list of what the script thinks are unused layouts. Use
cleanup_unref.py -remove <path_to_layout>
to actually delete those files. Be careful using this, as it assumes that all cells are local to the same project in the given root directory, so if there are layout files elsewhere that are referencing the same set of cells, you might end up deleting cells you don't want to delete.
I usually use this script in a paranoid manner by never using the -remove
option but just collecting the set of files it thinks aren't being used, moving them to a temporary directory somewhere, then attempting to load the project to make sure that I didn't get rid of something I shouldn't have. If all looks good, then I delete the temporary directory.Brady Etz
04/13/2024, 2:03 PM