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
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 APPLY_SCS Attribute to the 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.
Add Comment