next up previous contents index
Next: The Open Cell Hierarchy Up: The File Menu: Xic Previous: Cell Hierarchy and geometry   Contents   Index

The Hierarchy Digests Button: List Cell Hierarchy Digests

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.

This button brings up the Open Cell Hierarchy Digest panel (described in 8.9.1) which allows a new CHD to be created and added to the list.

A CHD can be saved to a file, and recalled into memory later. This button produces the Save Hierarchy Digest File pop-up that solicits a file name/path into which a representation of the currently selected CHD will be saved. A previously saved CHD can be recalled with the Add button.

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.

The presently selected CHD is destroyed, after confirmation.

This brings up the Configure Cell Hierarchy Digest panel (described in 8.9.2) which enables configuration of the CHD. There are two attributes that may be configured: the assumed top-level cell in the hierarchy, and the linking of a CGD for geometry access. The pop-up provides control of these attributes.

When this toggle button is pressed, the main window and new sub-windows display the cell hierarchy in the CHD. Editing is not possible in any window in this mode, so the side menu becomes invisible. The display is very similar to that of the normal display mode. The usual zooming/panning, expansion, and other modes apply, though no selection operations are available. In CHD display mode, the Edit, Modify, DRC, and Extract menus are unavailable, and various other functions in the other menus are unavailable.

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.

This button brings up or updates a listing of the cells in the currently selected CHD. The cell names can be selected by clicking in the listing. Only cells which correspond to the current display mode (physical or electrical) are shown.

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.

It is possible to create ``reference cells'' in the main database that reference the CHD. These cells are otherwise empty, but when placed in a layout, and the layout is saved to disk, the hierarchy from the CHD will be written into the output file. See 8.9.3 more more information about reference cells.

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.

Pressing this button will bring up or update a window containing information about the currently-selected CHD.

? (quick info)
This button brings up ``quick info'' about the currently selected CHD, including the full path to the source file. The same information can be obtained from the Info button, but this is much more extensive and may take some time to compute. The quick info is instantaneous.

This brings up the help window describing the Cell Hierarchy Digests pop-up.

The buttons and controls below the listing window provide general CHD-related functions, that do not make use of selections in the listing.

Use auto-rename when writing CHD reference cells
This mode applies when writing a cell hierarchy containing reference cells. A reference cell is a cell in memory that has no content of its own, but rather serves as a pointer to a cell hierarchy obtained through a CHD (Created with the Cell button described above). When such cells are encountered when writing a hierarchy from the main database, the reference cell is replaced with the hierarchy obtained through the referenced CGD.

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.

Load top cell only
When a cell is brought into the main database through a CHD, if this box is checked:
  1. Only that cell, and not its subcells, will be loaded into the main database. Any subcells of the cell become reference cells (see 8.9.3) in the main database.
  2. The name of the cell will be added to the override table.

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.

Fail on unresolved
This check box tracks the state of the ChdFailOnUnresolved variable. When set, when using a CHD to access cell data and a cell is found that can't be resolved in the source file or through the library mechanism, the operation will halt with a fatal error. If not set, processing will continue, with the non-references either being ignored (e.g., when flattening), or converted to empty cells (when reading into the database), or propagated to output (when writing output), depending on the operation.

Use cell table
When checked, when a CHD is used to access cell data, cells found in the override table (see 8.9.4) will override those in the source. Depending on settings, such cells may be effectively replaced by cells in memory, or simply skipped.

This check box tracks the state of the UseCellTab variable.

Edit Cell Table
This button displays the Cell Table Listing panel. This enables editing of the list of cell names that are treated specially during CHD file-access operations, the ``override table''.

Default Geometry Handling
This menu sets the default way to handle geometry records found when reading a saved CHD file. This mode will apply when a CHD file name is given as input for a command (which is generally possible for commands that are soliciting a layout file), and there is no specific means of controlling the geometry record processing.

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).

next up previous contents index
Next: The Open Cell Hierarchy Up: The File Menu: Xic Previous: Cell Hierarchy and geometry   Contents   Index
Stephen R. Whiteley 2022-05-28