Constraint Group Definitions
The following values are supported for t_defName:
-
foundry
Thefoundryconstraint group specifies process rules typically provided by the foundry or manufacturer. It is stored in the technology database. Define in this constraint group the absolute minimum set of process rules required to manufacture a design.
Thefoundryconstraint group is checked last in the constraint precedence lookup hierarchy. If a constraint override is not defined elsewhere, various applications use the values defined in thefoundryconstraint group.
All applications recognize thefoundryconstraint group. Constraints specified in thefoundryconstraint group must always be satisfied.-
Creating the foundry constraint group: The
foundryconstraint group is created and populated with information duringlef2oatranslation. The translators get the information from sections within the LEF file. Alternatively, you can create the foundry constraint group by loading an ASCII technology file containing the foundry constraint group information by using the Tools – Technology File Manager option in CIW. -
Information in the foundry constraint group: The
foundryconstraint group contains all the information necessary to manufacture the design. Everything fromminSpacing/minWidthfor layers,minEnclosure,minStep, toviarules, to electrical constraints such as antenna rules. -
Using the
foundryconstraint group in Virtuoso: Thefoundryconstraint group is the final stop along the constraint precedence lookup trail. If a constraint override is not defined elsewhere, the tools use the value(s) in the foundry constraint group.
Thefoundryconstraint group is usually not writable for most users, but can be viewed by using the Process Rule Editor or by taking an ASCII dump. You can launch the Process Rule Editor by clicking the RMB in the Constraint Manager assistant or by clicking the PRE icon from the toolbar in the Constraint Manager assistant. You can set the scope to Technology and view the foundry constraint group in this dialog box. See Process Rule Editor. -
Creating the foundry constraint group: The
-
alternateFoundry
(Virtuoso Advanced Node for Layout Only) ThealternateFoundryconstraint group contains one or morefoundryconstraint groups.
To enable the name of the constraint group that contains the foundry constraints, use the AlternateFoundryCG environment variable. -
virtuosoDefaultExtractorSetup: Specifies that it is used by default by the extractor for connectivity extraction. This constraint group can be stored within the technology database or directly on the design itself, that is, lib/cell/view.-
Information in the
virtuosoDefaultExtractorSetupConstraint Group: ThevirtuosoDefaultExtractorSetupconstraint group includes layers needed for extracting connectivity, plus poly, all metal layers, and cut layers in the valid layers section. -
Using the
virtuosoDefaultExtractorSetupConstraint Group in Virtuoso: A constraint group for extraction is required to specify the extractable layers.
Connectivity extraction gets the constraint group name from the value of thesetupConstraintGroupvariable in your.cdsenvfile. The default value isvirtuosoDefaultExtractorSetup. You can change the name of the constraint group by resetting the value. If thesetupConstraintGroupvariable has no value set, the extractor prompts you for a constraint group to use for extraction. -
Information in the
-
virtuosoDefaultSetup: Supplies a default set of constraints for both interactive and automatic routing.-
Information in the
virtuosoDefaultSetupConstraint Group: ThevirtuosoDefaultSetupconstraint group containsvalidViasandvalidLayersfor routing (no cut layers), and possibly other rules such asminWidthandminSpacingfor the layers, overriding the foundry rules. -
Using the
virtuosoDefaultSetupConstraint Group in Virtuoso: ThevirtuosoDefaultSetupconstraint group is typically used to define a full set ofvalidLayersandvalidViasfor the purpose of default interactive and automatic routing.
For example, if any particular signal is selected for routing and does not have a constraint group assigned to it, the constraints in thevirtuosoDefaultSetupconstraint group apply. The contents ofvalidLayersinvirtuosoDefaultSetupare usually a subset of those defined in thevirtuosoDefaultExtractorSetupconstraint group because, while you may want to extract connectivity for non-metal layers, you do not want interactive and automatic routing to use the non-metal layers. -
Information in the
-
virtuosoExtractorSetup -
virtuosoMPTSetup -
LEFDefaultRouteSpec: Stores routing information, such as information about layers and vias. This constraint group contains rule definitions typically used in digital standard cell applications or custom and mixed-signal applications that require metal layers only.-
Creating the
LEFDefaultRouteSpecConstraint Group: TheLEFDefaultRouteSpecconstraint group is specific to a LEF or DEF design flow and is created duringlef2oatranslation. Since a LEF file serves as the library source for technology information, thelef2oatranslator puts all the technology information into theLEFDefaultRouteSpecconstraint group. The valid layers, valid via definitions, and valid rules also become part of theLEFDefaultRouteSpecconstraint group.
Thelef2oatranslator translates anyNONDEFAULTRULESin LEF as constraint groups in the OpenAccess tech database.-
Information in the
LEFDefaultRouteSpecConstraint Group: TheLEFDefaultRouteSpeccontains valid layer and valid via definitions. The via definitions are typically standard vias and several custom vias used by other routers such as NanoRoute in the Innovus environment. TheLEFDefaultRouteSpecalso contains any other non-default rules such as wide metal rules. -
Using the
LEFDefaultRouteSpecConstraint Group in Virtuoso: You can select theLEFDefaultRouteSpecas the default constraint group for interactive or automatic routing in the Wire Editing section of the Layout Editor Options form (Options — Editor).
-
Creating the
-
LEFSpecialRouteSpec: Stores information about power routing vias. -
taper -
inputTaper -
outputTaper -
shielding
Application-specific constraint groups, including all of the above barring foundry and alternateFoundry, influence the behavior of a particular application. You can also create application-specific constraint groups with user-defined names. To designate such constraint groups as application-specific, assign to them an appropriate constraint group definition, which determines the type of objects to which the constraint group applies.
Return to top