The Hierarchy Manager

The Hierarchy Manager is similar to the Work Area Manager in certain graphical user interface (GUI) respects but the Hierarchy Manager presents a list of cellviews that constitute a design hierarchy.

You can carry out a DM operation on all the cellviews in the hierarchy or on a subset of the hierarchy. In addition to the usual File, VersionVault, and Help menus, the Hierarchy Manager interface displays these tabs:
  • The Specification tab contains fields for specifying a Virtuoso configuration, which contains a list of all cellviews to be considered, or a top-level cellview and other controls for determining the set of cellviews that constitute the target hierarchy. Use filtering criteria to add or remove cellviews.
  • The Hierarchy tab lists the contents of the configuration or hierarchy. You interact with the cellview list on this tab in much the same manner as with the items that are displayed in the Work Area Manager and its related forms.

Whereas the Work Area Manager presents a set of libraries that can be expanded into cells, which in turn can be expanded into views, the Hierarchy Manager presents a list of cellviews that constitute a design hierarchy. You can carry out a design management operation on all cellviews in the hierarchy or on only a subset. Typical operations such as check-in, check-out, cancel check-out, label, and so on, are available.

You can start the Hierarchy Manager from several locations in the Library Manager or from the VersionVault menu that is available from most Virtuoso editor windows. The Hierarchy Manager is started from the Library Manager in this illustration:
Figure 1. The Library Manager

Open the Manage hierarchy menu by right-clicking the Schematic entry in the View box.
In this example, to open the Manage hierarchy menu, you right-click the schematic entry in the View box.
Tip: You can open as many Hierarchy Manager windows as you require in a Virtuoso session.
The following image shows the Hierarchy Manager in a typical scenario:
Figure 2. The Hierarchy Manager

A typical use-case scenario for the Hierarchy Manager. The fields specify the cellviews to list.

In this scenario, a top-level cellview specified with various controls for the hierarchy elaboration and cellview list filtering. SKILL pattern matching meta-characters are used in many fields.

Figure 3. The list of cellviews in the Hierarchy Manager

A list of cellviews that result from the specifications in the previous image.

Although the entire cellview list is automatically selected, you can select any subset of the items to operate upon before starting a VersionVault design management operation. Use the typical Windows actions to make selections, such as Ctrl+A to select all items.

The Hierarchy Manager includes the following controls:
Specification tab
The Specification tab contains the controls for producing the set of cellviews to be considered for design management operations. The tab contains these fields:
Top-level Cellview/Configuration group
This group of fields determines a cellview that specifies a Virtuoso configuration or the top-level cellview from which the hierarchy descent is to take place. The group contains these fields:
Library
This field accepts a single string with no embedded whitespace characters. No pattern matching is performed on the value. All characters in the name are taken literally. This name must match one of the libraries that is referenced in your design environment.
Cell
This field accepts a single string with no embedded whitespace characters. No pattern matching is performed on the value. All characters in the name are taken literally. This name must match one of the cells in the library that is identified in the Library field.
View
This field accepts a single string with no embedded whitespace characters. No pattern matching is performed on the value. All characters in the name are taken literally. This name must match one of the views in the cell that is identified in the Cell field.

This group also includes a Browse button, which is similar to many other Virtuoso forms. When you click Browse, the standard Library Browser interface opens as shown in Figure 1. Selections in this browser directly affect the Library name, Cell name, and View name fields of the Hierarchy Manager. Using this browser is more convenient and more accurate than typing names.

If any fields in the Top-level Cellview/Configuration are improperly specified, the Hierarchy tab is inaccessible and the items in the VersionVault menu are unavailable. After an acceptable set of values is provided, the Hierarchy tab and the VersionVault menu items are accessible again.

Descent Controls group
With this group of fields, you specify the manner in which the hierarchy descent takes place, starting at the top-level cellview. Most controls limit the depth that the hierarchy descent achieves. However, the Switching views control, which is discussed later, determines which view that belongs to a given instance's master cell is used for hierarchical descent.

All fields in this group recognize SKILL pattern matching meta-characters. For more information regarding SKILL pattern matching, see the "Pattern Matching of Regular Expressions" section in the "Cadence SKILL Language User Guide" of the Virtuoso documentation. These controls and the pattern matching mechanisms that are built into them offer a great deal of flexibility. The Descent Controls group includes these fields:

Switching views

In this field, you specify an ordered list of view names. As the hierarchy is traversed, the cell of an instance's master cellview is inspected to determine whether any views that it contains match one of these switching view names. The switching view names or patterns are matched in the order that they are listed in this field. The first found match is the view of the instance’s cell that is used for the hierarchy descent. If no matching view is found, hierarchical descent stops at that instance and continues with other instances at the current level of the design.

This field accepts zero or more strings that are separated by whitespace characters. Each string in the field can be a literal name or a SKILL regular expression that contains pattern matching meta-characters. The names and patterns that you provide in this field do not have to match any view of any cell in the Virtuoso libraries that are referred to, but typically you want to provide traditional names such as schematic or cmos.
Notes:
  • The actual names that are specified are dependent upon your design methodology.
  • This control does not apply to direct-descent hierarchies such as a layout hierarchy. The control works best in schematic oriented design hierarchies.
Stopping views

In this field, you specify a list of view names. As the hierarchy is traversed, the cell of a given instance's master cellview is inspected to determine whether any of the views it contains match one of these stopping view names. If a match is found, hierarchy descent stops at that instance and continues with other instances at the current level of the design.

This field accepts zero or more strings that are separated by whitespace characters. Each string in the field can be a literal name or SKILL regular expression containing pattern-matching meta-characters. The names and patterns that are provided in this field need not match any view of any cell in the referenced Virtuoso libraries, but typically you would provide traditional names such as spectre or verilog.
Note: The actual names that you specify depend on your design methodology.
Stopping libraries
In this field, you specify a list of library names. As the hierarchy is traversed, the library name of an instance’s master cellview is inspected to determine whether it matches one of the "ignore" library names. If a match is found, the hierarchy descent stops at that instance and continues with other instances at the current level of the design.
Note: The instance's master cellview is still considered to be part of the design hierarchy, but the contents of the hierarchy that is subordinate to that instance is ignored.

This field accepts zero or more strings that are separated by whitespace characters. Each string in the field can be a literal name or a SKILL regular expression that contains pattern matching meta-characters. The names and patterns that you provide in this field do not have to match any of the Virtuoso libraries that are referred to, but typically you provide names or patterns that do match. Specifying nonexistent library names is allowed but is not useful.

Stopping cells
In this field, you specify a list of cell names. As the hierarchy is traversed, the cell name of an instance's master cellview is inspected to determine whether it matches one of the "ignore" cell names. If a match is found, the hierarchy descent stops at that instance and continues with other instances at the current level of the design.
Note: The instance's master cellview is still considered to be part of the design hierarchy, but the contents of the hierarchy that are subordinate to that instance are ignored.

This field accepts zero or more strings that are separated by whitespace characters. Each string in the field can be a literal name or SKILL regular expression containing pattern matching meta-characters. The names and patterns that you provide in this field do not have to match any cell of the Virtuoso libraries that are referred to, but typically you provide names or patterns that do match. Specifying nonexistent cell names is allowed but is not useful.

The Filters group

Use this optional group of fields to add or remove candidate cellviews, starting with the list of cellviews that are determined by the settings in the Top-level Cellview/Configuration and Descent Controls fields.

Some fields in this group recognize SKILL pattern matching meta-characters. For more information regarding SKILL pattern matching, see the "Pattern Matching of Regular Expressions" sections in the "Cadence SKILL Language User Guide" of the Virtuoso documentation.

The Filters group contains a special mechanism for adding, editing, and arranging any number of filter criteria. You can specify no filters for a given hierarchy because with the Hierarchy tab you can select a specific subset of the resulting cellview list before you apply the wanted design management operation. Nonetheless, you can use the filter mechanism to eliminate unwanted cellviews from the list, making reviews and management easier.
Note: The filter operations are applied in the order the criteria list order. Therefore, a small change in the order of the filters can dramatically affect on the resulting cellview list or possibly have no effect.
The Filters group includes two subsets of fields:
Criteria list

The criteria list is the large, multiline pane that contains the criteria that you add. You can select an individual entry in this list and modify or delete it by the various criterion editing controls in the criterion editor that is discussed later.

Each criterion identifies its type, its comparison operator, and its value or values.

Criterion editor
The criterion editor is the collection of buttons at the bottom of the Filters group. They operate on the selected criterion or criteria. You can enter the following filter types:
  • Add views: This criterion produces a list of view names according to the criterion. The companion views of each cellview in the hierarchy are inspected to determine whether any matches one of the view names. All matching cellviews are added to the cellview list. This criterion's value field accepts one or more strings that are separated by whitespace characters. Each string in the field can be a literal name or a SKILL regular expression that contains pattern matching meta-characters. The names and patterns that you provide in this field do not have to match any view or any cell that is referred to in the Virtuoso libraries. However, typically you provide names that are meaningful to your design methodology.
    Tips:
    • If you do not provide a value, the criterion is ignored.
    • No browser is available for this criterion.
  • Cell owner: This criterion produces a list of user names from the host operating system. The ownership of each cell that is involved in the cellview list is compared according to the criterion's comparator. All matching cells are either excluded from or retained in the cellview list, depending on the matching user name and comparator setting. This criterion's value field accepts one or more strings that are separated by whitespace characters. Each string in the field can be a literal name or a SKILL regular expression that contains pattern matching meta-characters. The names and patterns that you provide in this field do not have to match any user names in the host operating system. However, typically you provide meaningful names. The comparator for this criterion allows the == (equal) and != (not equal) values. If you click Browser for this criterion, your user ID is entered into the value field.
    Tip: If you do not provide a value, the criterion is ignored.
  • Exclude cellview: This criterion specifies the conditions for the library name, cell name, and view name of a cellview to be removed from the cellview list. Ideally, three whitespace separated strings are provided in this criterion's value field. If more are provided, the additional strings are ignored. If only one or two are provided, the missing strings are assumed to be the SKILL pattern to match any combination of characters.
    This criterion's value field accepts one or more strings that are separated by whitespace characters. Each string in the field can be a literal name or a SKILL regular expression that contains pattern matching meta-characters. The names and patterns that you provide in this field do not have to match any Virtuoso library names, cell names, or view names. However, typically you provide meaningful names.
    Tips:
    • If you do not provide a value, the criterion is ignored.
    • The only accepted comparator for this criterion is == (equal).
    • No browser is available for this criterion.
  • Library name: This criterion produces a list of library names. The library name of each cellview in the cellview list is compared according to the criterion's comparator. All matching cellviews are either excluded from or retained in the cellview list, depending on the matching library name and comparator setting.
    This criterion's value field accepts one or more strings that are separated by whitespace characters. Each string in the field can be a literal name or a SKILL regular expression that containing pattern matching meta-characters. The names and patterns that you provide in this field do not have to match any Virtuoso libraries. However, typically you provide meaningful names. The comparator for this criterion accepts these values: == (equal) and != (not equal).
    Tips:
    • If you do not provide a value, the criterion is ignored.
    • No browser is available for this criterion.
  • Modify date: This criterion retains or excludes a given cellview based on the cellview's modification date and the criterion's comparator setting. This criterion supports these comparisons:
    • == (equal): The cellview is removed from the cellview list if its modification date exactly matches the value that the criterion specifies.
    • != (not equal): The cellview is removed from the cellview list if its modification date does not match the value that the criterion specifies.
      Tip: If you do not provide a value, the criterion is ignored.
The Show Hierarchy In Tree View check box

By default, the resulting cellviews on the Hierarchy tab are displayed in a tree representation. Clear the Show Hierarchy In Tree View check box to present the cellviews in a flatten view.

Hierarchy tab
This tab contains the set of cellviews that results from the settings on the Specification tab. When you click the Hierarchy tab, the Hierarchy Manager attempts to open the configuration or top-level cellview that is specified in the Top-level Cellview/Configuration fields. If the process succeeds, the Hierarchy Manager determines the type of data in the cellview. If it is a Virtuoso configuration, the contents of the configuration specifies the initial cellview list. If it is a Virtuoso design data cellview (such as a schematic or a layout), the Hierarchy Manager applies the descent controls as it elaborates the hierarchy to produce the initial cellview list. If any are present, the Hierarchy Manager applies filter criteria in the order that they appear in the Specification tab. The resulting cellview list is then populated on the Hierarchy tab.
Tips:
  • Large design hierarchies might result in a delay when you initially switch to the Hierarchy tab. You might experience this delay again if changes are made to the contents of the Specification tab.
  • If the information on the Specification tab is incomplete, refers to a non-existent cellview, refers to a cellview that is other than a Virtuoso configuration or Virtuoso design data, or refers to a cellview that contains no hierarchy, the Hierarchy tab shows an empty list.
  • Some combinations of filter criteria can eliminate all cellviews that are found in the hierarchy. In this case, the Hierarchy tab shows an empty list.

Cellviews list contents

The cellviews are reported in columnar format, one cellview per row, as shown in Figure 3.

The columns contain the following information:
  • Item: The library name, cell name, and view name of each cellview, separated by spaces.
  • Type: The type of data. Currently, only the view type information is listed here.
  • Status: The data management status of each cellview. The information in this column is initially reported with ellipses () but is asynchronously updated for managed data. For unmanaged data, this column's cells retain the ellipses.
  • Version: The data management version of each cellview. The information in this column is initially empty but is asynchronously updated for managed data. For unmanaged data, this column's cells remain empty.
  • User: The user ID of each cellview owner.
  • Time: The modification date and time of each cellview owner. The information in this column is initially empty but is asynchronously updated for managed data. For unmanaged data, this column remains empty.
  • ConfigSpecRule: The config spec rule that is used to derive each cellview. The information in this column is initially empty but is asynchronously updated for managed data. For unmanaged data, this column remains empty.
  • Replica: The replica information for each cellview appears in this column. The information in this column is initially empty but is asynchronously updated for managed data. For unmanaged data, this column remains empty.

Hierarchy Manager menus

The Hierarchy Manager provides two menus from which you can choose VersionVault data management operations:
  • The VersionVault menu.
  • A list-item menu that you access by right-clicking a selected item in the cellview list.
    Tips:
    • If you right-click an unselected item, the current selection is cleared, the clicked item is selected, and the menu opens.
    • These menu items are enabled only when a single cellview is selected in the list:
      • Manage hierarchy
      • Version browser
      • History

When you select a data management action, a standard VersionVault Virtuoso integration form might open. Interact with the form as usual.

Look at the Command Interpreter Window for important messages that arise from data management operations.