The Hierarchy Digests button in the File Menu brings up the Cell Hierarchy Digests listing of the Cell Hierarchy Digests (CHDs) currently in memory. A CHD is a compact representation of a cell hierarchy, which facilitates access to data on a per-cell basis. The CHD and companion Cell Geometry Digest (CGD) data structures provide a foundation for many of the operations in Xic, including windowing, flattening, and empty cell removal. An overview of CHD/CGD capabilities was provided in the previous section.
Each saved CHD has a unique but otherwise arbitrary access name. The access name is initially assigned by the user or generated by Xic.
The listing consists of the CHDs by access name. The middle column in the CHD listing will show the name of a linked CGD, if any. The right column lists the source file name and default top-level cell.
Most Xic commands that take a layout file path as input will accept a CHD access name. The command will operate with the data obtained through the CHD, which can be identical with that from the original layout file, but operations will in general proceed more quickly.
Clicking on one of the rows in the listing will select that CHD. The selected CHD is acted on by most of the command buttons arrayed along the top of the panel, which provide the following functions.
If the Include geometry records in file check box in the pop-up is checked, geometry records will be included in the file. These records are effectively a concatenation of a Cell Geometry Digest file representation. Layer filtering (see 14.5) can be employed to specify layers to include, through the layer filtering control group which is activated when including geometry.
The resulting file is a highly compact but easily random-accessible representation of the layout file. However, it does not include text labels, properties, or electrical data.
When the Display button is pressed, a small pop-up appears, which allows the user to select an area to display before the image is created, which is compute intensive and time consuming. The user should enter the center x and y and display width (in microns) of the region of the top-level cell to be displayed. Pressing Apply will create and display the image. Alternatively, the Center Full View button can be pressed to display the entire cell.
The features in the display are obtained through the CHD, and thus no additional memory is required than that used by the CHD itself. Since the CHD occupies a small fraction of the memory required to hold the originating layout file in the main database, very large files can be viewed, much larger than files viewed the normal way for a given amount of available system memory.
The row in the CHD listing that is currently being displayed is marked, by an ``open'' icon in Windows, or by a different background color. This display mode will persist as long as the Display button is active, whether or not the pop-up is visible.
The root cell in the display is initially the default cell from the CHD. This cell can be specified in the pop-up from the Config button. If no cell name is specified, the top-level cell in the CHD (a cell not used as a subcell within the CHD) with the lowest offset (there may be more than one) is assumed. If a Cell Geometry Digest (CGD) has been linked to the CHD in the configuration panel, the displayed geometry is obtained from the CGD. In this case, text labels, which are never included in the CGD database, are absent from the display.
Drag and drop can be used from the contents listing (below) to change the root cell in the display. This does not change the default cell of the CHD, and only applies to the display in the drop-target window.
The contents listing pop-up contains Info, Open, and Place buttons, which are active when a name is selected. Pressing Info will display info about the selected cell, as saved in the CHD. Pressing Open will extract the selected cell and its hierarchy from the source file into the main database, and display it in the main window, as if opened with the Open button in the File Menu. Pressing Place will likewise extract the cell hierarchy, but load it into the Cell Placement Control panel for instantiation.
The contents listing is enabled as a drag source. If an item is dragged to a drawing window and dropped the following will happen. If the drop window is displaying the CHD (the Display button is active), the window display will become rooted in the dropped cell. Nothing new is read into memory. If the drop window is in normal display mode, the cell and its hierarchy will be read from the CHD's source into the main database, and the cell will be displayed. Note that this can cause out-of-memory problems if one isn't careful.
This can be used to assemble a top-level cell or reticle containing very large amounts of data, far more than can be kept in memory in the usual way.
Pressing the Cell button will solicit the name of the reference cell. This is the name of a cell found in the CHD, and will also be the name of the reference cell created in memory. The pop-up is initially loaded with the name of the default cell of the CHD, but another cell name can be dragged from the contents listing or entered manually.
Pressing Apply in the solicitation pop-up will create the reference cell in memory.
In normal editing mode, the reference cells can be placed in the normal way (though they appear to have no content - they display as an empty box). The reference cells can be saved as native cells, in which case they remain as reference cells, and can be loaded into Xic just as any native cell.
When a reference cell is written to an archive file such as GDSII or OASIS, the reference cell is replaced by the cell and its hierarchy, as extracted from the original layout file.
Reference cells cannot be flattened with the Flatten command, they will simply disappear.
The buttons and controls below the listing window provide general CHD-related functions, that do not make use of selections in the listing.
When writing CHD reference hierarchies, there are two algorithms that can be employed that prevent writing duplicate cell names. When this check box is not checked, cells encountered with the same name as a cell previously written will be skipped, i.e., no new cell definition will be added to the output file, and all subsequent instances of the cell will call the existing definition.
When this box is checked, and a duplicate cell name is encountered, and the existing definition came from a different CHD, the name is changed and a new cell definition is added to the output file. References to the cell will call the cell by its new name. However, name clashes from equivalent CHD's will cause the new cell definition to be skipped, as in the default mode. An ``equivalent CHD'' can mean the same CHD in memory, or a different CHD but opened on the same file with the same aliasing.
This button tracks the state of the RefCellAutoRename variable.
This allows editing of the requested cell, and when written to disk the complete hierarchy will appear, however loading the whole hierarchy into memory is avoided.
This check box tracks the state of the ChdLoadTopOnly variable.
This check box tracks the state of the UseCellTab variable.
There are three choices. The initial default is to create a memory-type CGD from the geometry records, and link it to the CHD. In this case, all geometry data will reside in memory, which makes sense even for very large designs as the data are highly compressed. The second option is to create a file-type CGD and link it to the CHD. In this type of CGD, geometry is obtained from the geometry records in the CHD file when needed, and does not reside in memory. The third option is to ignore the geometry records, and therefor not create a linked CGD. Geometry will be obtained from the original layout file in this case (the original layout file must still exist in the same location as when the CHD file was created).