BUILD_SCS MACRO

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

  1. LINE
  2. THRU_PIN
  3. SMD_PIN
  4. TEST_PIN
  5. THRU_VIA
  6. BB_VIA
  7. TEST_VIA
  8. SHAPE
  9. BOND_FINGER
  10. 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.