Magic VLSI Layout Tool Version 7.3 *


Invoke the cell manager GUI window


Menu option Options->Cell Manager implements the command cellmanager create in the GUI layout window. This menu item has a checkbox and is used both to open and to close the Cell Manager window.


cellmanager [option]

where option is optional and may be one of the following:
The default option if no option is given. Update the cell manager to reflect the current state of the layout.
Create the cell manager window. This option is normally called only from the "Cell Manager" button in the magic GUI layout window.


The cellmanager command is normally invoked automatically from inside the GUI wrapper procedures and tag callbacks, and normally should not be called directly from the command line.

Figure 1. The Cell Manager Window
The Cell Manager window (see above) is a separate top-level window with Tk pathname ".cellmgr". It consists of a tree widget (defined in the Tcl package "BLT") display in the center, a message window and button on the bottom, and a row of menu buttons at the top.

The Cell Manager displays cells for everything stored in the layout database. As such, it is only necessary to have a single cell manager for all layout windows. However, commands such as "Load", "Edit", etc., apply to a specific window. When a new layout window is created, rather than generate a new Cell Manager window, the new window is added to the list of "target windows". The currently selected target window is displayed at the bottom of the Cell Manager. This is also a button that can be used to select a new target window. If only one layout window is present, the target is declared "default" and may be left alone.

The hierarchical tree view shows all of the instances (cell uses) in a layout. When first invoked, the top-level cell only is shown, with a "folder" icon showing that this cell contains uses. By clicking on the "+" symbol next to the folder icon, the tree view is expanded to show the cell instances used by the top-level layout cell. This expansion may continue until a cell instance is found that does not contain any descendents. Note that the name displayed is the name of the cell definition, with the instance number given in parentheses after the name. If the instance name is non-default (e.g., because it came from a 3rd party vendor database or was altered with the identify command), the full name of the instance is shown in the parentheses. If the instance is arrayed, the array indices are shown in brackets ("[]") after the instance number or name.

The use of tag callbacks on commands allows the cell manager to be updated in response to certain commands entered on the command line. The cell manager will be updated in response to a "load" or "getcell" command.

The menu buttons perform certain functions based on the selection made in the tree window. These functions are as follows:

load the selected cell into the window. The load command is invoked and passed the cell definition name of the selected cell instance. Note that this menu function operates on the cell definition of the selected cell instance.
edit the selected cell instance. The cell instance selected becomes the current edit cell.
expand (or unexpand, if already expanded) the selected cell instance.
change the current view of the layout so that it is centered on the selected cell instance, and scaled so that the cell instance fills the screen.

Implementation Notes:

cellmanager is implemented as a Tcl procedure in the GUI wrapper script. Because layouts with complicated hierarchy can cause magic to run very slowly due to processing in the cell manager window, this window does not exist on startup and is deleted entirely when turned off in the "Options" menu of the GUI wrapper layout window.

cellmanager uses the tree display widget from the tcl package "BLT". Therefore, in order to see the Cell Manager window, it is necessary to have BLT installed on the system. If BLT is not installed, no option for "Cell Manager" will appear in the "Options" menu of the GUI wrapper window.

cellmanager depends on the GUI wrapper window, as it is defined in the wrapper script. Therefore, to use the cell manager, it is necessary to invoke magic with the option "-w".


The "Expand" function should expand everything above the selected cell. Otherwise, if something higher up in the hierarchy is unexpanded, the selected cell will not be expanded.

See Also:


Return to command index

Last updated: October 6, 2004 at 12:47am