3
Editing Constraints Using External Editors
By default, constraints can be edited within the Constraint Manager assistant. However, for some specific types of constraints, you can also use an external constraint editor.
The external constraint editors available for use can be categorized as follows:
-
Cadence-provided external constraint editors that are available from the Constraint Manager assistant, that is, Cell Planner, Module Generator, and Process Rule Editor.
See Using Cadence-Provided External Constraint Editors. -
Registered (user-defined) custom constraint editors.
See Using a Custom Constraint Editor.
This chapter describes how to use such external constraint editors for editing constraints.
You can also configure using SKILL functions to use a preferred external constraint editor for editing a constraint template. See Configuring to Open Constraint Editor on Double-Click.
Using Cadence-Provided External Constraint Editors
To access an external constraint editor, select the appropriate editor from the Constraint Manager toolbar.
When you have an external constraint editor open for editing a constraint, constraint editing within the Constraint Manager is disabled until you close the external constraint editor. At this time, the external constraint editor directly interacts with the constraints database and the Constraint Manager assistant keeps updating itself using the constraints database observer mechanism.
- The Cell Planner and Module Generator Editor Options in the Virtuoso Unified Custom Constraints User Guide.
- Editing Modgens in the Virtuoso Module Generator User Guide.
- (IC6.1.8 Only) Using the Cell Planner in the Virtuoso Analog Placer User Guide.
- The Process Rule Editor in the Virtuoso Unified Custom Constraints User Guide.
Using a Custom Constraint Editor
In addition to being able to use the Cell Planner and Module Generator for constraint editing, you can plug in the constraint editor application interface to other third party editors.
The custom constraint editor can be registered by loading a SKILL file (which must have an .il extension) into the application or by storing the file in a .cadence/dfII/ci/editors directory.
As the following example shows, the Module Generator is plugged-in to the Constraint Manager user interface:
ciRegisterConstraintEditor(
list(nil 'name "Module Generator"
'description "Modgen - Layout Structure Editor"
'constraintType "modgen"
'constraintParams list( "type=module")
'editorAvailableExpression "isCallable('mgCreateOrEdit)"
'startEditorExpression "mgCreateOrEdit(geGetEditCellView()
constraint nil)"
'iconName "nexGenEd"
'addToToolbar t
)
)
-
name
Is the name of the new constraint editor. -
description
Is a description of the new constraint editor. -
constraintType
Is the type of constraint that can be edited using the specified constraint editor. When you double-click the constraint of the specified type, the corresponding constraint editor opens for the required editing. If you select a constraint in the Constraint Manager that does not match this type, the constraint editor option will be grayed out for selection. -
constraintParams
Is a list of constraint parameter names and values that require to be matched for the constraint editor to be able to edit a constraint in the Constraint Manager. If the parameter name or values do not match the settings made here, the constraint editor option will be grayed out. -
editorAvailableExpressions
Is an expression that is evaluated to determine if a constraint editor is available in the application currently being run. For example, the Module Generator and Cell Planner are only available in thelayoutPlus, andvirtuosoworkbenches. If this expression returnsnil, the constraint editor will not be registered with the Constraint Manager, and a toolbar option will be created. -
startEditorExpression
Is an expression evaluated in advance of launching the constraint editor. The constraint variable is available in the context of the expression, and is a reference to the constraint object selected in the Constraint Manager prior to the constraint editor option being selected. If no constraints were selected, the constraint will benil. -
iconName
Is the name of the.pngfile of the constraint editor icon that should be added to the Constraint Manager toolbar, for examplenexGenEd.png.This icon must exist in the icons search path. For more information, see Toolbar Definition File Search Path and Customization in the Virtuoso Design Environment User Guide. -
addToToolbar
Determines whether or not a tool button be added to the Constraint Manager toolbar for the constraint editor. Ifnil, then the constraint editor will only be added to the list of constraint editor options in Constraint Manager table context menu.When set as part of the ciRegisterConstraintGenerator SKILL function, a value setting ofaddToToolbar nilwill ensure that no entry for that constraint is displayed in the Constraint Generator drop-down menu.For information on SKILL commands that can be used for Constraints Manager assistant customization, see Constraints SKILL API Commands in the Virtuoso Unified Custom Constraints SKILL Reference.
Configuring to Open Constraint Editor on Double-Click
By default, the defined constraint editor opens when you double-click a constraint of the type specified with the constraintType argument of the ciRegisterConstraintEditor SKILL function. However, to open a constraint editor when a template is double-clicked in the Constraint Browser, you need to configure that based on the settings you apply by using the ciRegisterConstraintEditor and ciRegisterConstraintGenerator SKILL functions. For detailed information, refer to the
Return to top