The BUILD_SCS MACRO Creates a Named SPACING_CONSTRAINT_SET (SCS) which can be applied to matching netNames
SPACING Constraint Sets (SCS)
A SPACE Constraint Set is used to constrain the LINE_TO_LINE attributes of signals on each routing layer.
BUILD_SCS
This Line tells dal constraints to create a new named SCS
syntax:
BUILD_SCS | NAME=> | NAME_FOR_SCS
UNITS
The UNITS=>Attribute tells dal constraints what units to use for the SCS
Valid options are: MILS and MM
LINE_TO_LINE
the LINE_TO_LINE attribute provides a list of routing widths and spacing for each routing layer (using the UNITS attribute)
Syntax:
LINE_TO_LINE=>LayerList1=ReqSpace1:LayerList2=ReqSpace2...:LayerListN=ReqSpaceN
Example:
LINE_TO_LINE=> L1,L24=18:L4,L5,L8,L9,L16,L17,L20,L21=15
This specifies that all nets on Layers 1 and 24 must be kept 18 mils apart from the target nets on Layers 1 and 24, and on layers 4,5,6,7,8,9,16,17 and 21 all nets must be kept 15 mils away from the target nets.
MEMBERS
The MEMBERS=> Attribute tells dal constraints what nets to apply the new SCS to.
This is an optional attribute when you are creating a SCS that will be assigned from an ECS.
Syntax:
MEMBERS=>net_match1,net_match2.... net_matchN
Example:
MEMBERS=>P48V,P48V_RTN
This tells dal constraints to assign this SCS to any net containing 'P48V' or 'P48V_RTN'
in this case the net_match is a simple text pattern
The MEMBERS net_matches are treated as regular expressions by dal constraints and are quite powerful.
To see more information on regular expression entry see Regular Expressions In CadEnhance Tools
NOT_MATCHING
The NOT_MATCHING=>Attribute is optional and works together with the MEMBERS attribute to fully define the set of target nets
The NOT_MATCHING is a comma separated list of patterns that will be used to exclude nets from the set of nets that match the MEMBER patterns
Together the 2 attributes make very simple to define a large set of nets without having to create a very large list of specific matches
Anchor | ||||
---|---|---|---|---|
|
NEXT PHASE SCS Enhancement Plan
Background on the SPACE_CONSTRAINT
The SPACE CONSTRAINT specifies many different TYPE_TO_TYPE spacing rules on every layer of the board
for example as shown here in the constraint manager view, there is a constraint for LINE_TO_XXX where XXX is one of the following
- LINE
- THRU_PIN
- SMD_PIN
- TEST_PIN
- THRU_VIA
- BB_VIA
- TEST_VIA
- SHAPE
- BOND_FINGER
- HOLE
Then there is the same list of constraints for PIN_TO_XXX, VIA_TO_XXX, SHAPE_TO_XXX, HOLE_TO_XXX, BOND_FINGER_TO_XXX BB_VIA_TO_XXX
When Creating a SPACE CONSTRAINT, dal constraints currently only supports the LINE_TO_LINE Attribute.
So It creates an SCS with all the other spacing constraints set to the value of the DEFAULT setting and then overwrites the LINE_TO_LINE setting
Add ETCH_TO_ECTH Attribute
In the next PHASE it would be a good idea to add an ETCH_TO_ETCH Attribute where ALL the spacing constraints are set to the value specified by the ETCH_TO_ETCH setting
Add an APPLY_SCS Attribute to the BUILD_ECS
_MACRO
This would allow the user the convenience of adding an SCS assignment as part of an ECS definition so that all member nets can be assigned an SCS.