The Save button in the File Menu allows saving unsaved work to disk files, under the present file/cell name.
If there are cells in memory that have been modified, the Modified Cells pop-up will appear. This is the same pop-up that appears when exiting Xic if there are unsaved cells. It can also be invoked with the !sv command.
The pop-up displays a listing of all modified cells and hierarchies, each with a yes/no entry that can be toggled by the user to set whether the cell or hierarchy will be saved. The display has four columns. Column 1 gives the name of the cell, which for a hierarchy is the top level cell.
The second column is ``yes'' or ``no''. Clicking on this word will toggle between the two states. The buttons at the top of the panel will set the states of all of these words: Save All sets them to ``yes'', Skip All sets them to ``no''.
Initially, all normal cells in the listing will be set to ``yes'', meaning that all of the listed items will be updated on disk. If PCell submasters are being listed, then their initial state is ``no'', meaning that the master cell of a specific PCell instance and parameter set will not be written to disk. By default, the PCell sub-masters that are created in memory when a PCell is instantiated are not listed in the Modified Cells pop-up.
PCell sub-master cells are normally recreated in memory from the original parameterized cell definition when needed. However, there may be times when keeping a cache of PCell sub-masters is useful for performance reasons, or to export where the original PCell is not available or the format not supported.
If the boolean variable PcListSubMasters is set, then sub-masters created in memory for PCell instantiation will be listed in the Modified Cells pop-up.
The third column gives the type of file that will be created or updated. This entry is shown in color, and the color used for archives is different than the color used for native and other single-cell files.
X Xic native B CGX C CIF G GDSII O OASIS A OpenAccess P PCell sub-masters (native)
If a cell was read from an OpenAccess library and modified, it will (by default) be saved to the same library. Xic can write only to OpenAccess libraries that were created by Xic or otherwise ``branded'' by Xic (with the !oabrand command). This should prevent unintentional overwriting of Virtuoso cells. Overwriting a Virtuoso cell from Xic will hopelessly clobber the cell for Virtuoso. Some day this may work, but for now expect the worst.
If saved, PCell sub-masters will be saved as native cell files in the current directory.
The fourth column is the full path name of the file that will be written if the second column is ``yes''. In the case of OpenAccess, this will be the library name.
Xic native cells are saved under their own name, in the directory containing the file the cell was read from, or the current directory if the cell was created within Xic. If a cell from an archive file was modified, the hierarchy is saved in the name of the original archive file, or the top-level cell name with an extension if the original file name is unknown. The file type is the same as the origin of the hierarchy. The Save As button can be used to save under a different name or file type.
In all cases, the previous version of an overwritten file is given a ``.bak'' extension and retained (any existing ``.bak'' file will be overwritten, however).
While the pop-up is visible, most other controls are inoperable. Pressing Apply - Continue, or deleting the window, will save the files marked ``yes'', retire the pop-up, and allow Xic to continue. Pressing the ABORT button will retire the pop-up and abort the present command.