Issue link: https://resources.pcb.cadence.com/i/1533021
Figure 2. Once the library footprints include both the DFA shape and property, you can enable the DFA rules using Setup > Constraint Modes and then finding and enabling Pkg To Pkg Spacing. When you've selected Drawing, the list comes up and you will find the option for Dfa_Dev_Class in the alphabetically sorted list. Once you've clicked on the Dfa_Dev_Class option, you can add an appropriate class to the drawing. I don't recommend functional names like SOT or BGA. What has worked for me is figuring out how much the Package_Geometry Place_Bound layer grows beyond the extents of the part and using a numeric value that describes the distance between the Place_Bound layer and the outer edges of the part geometry, including pads as they may protrude. It may not always be symmetric so just use rounded off numbers to Z-copy and reduce the DFA shape from the Place_Bound shape. The case above in Figure 1 has a Place_Bound expansion of 250 microns for the courtyard. What I would do is first copy the Place_Bound_Top layer to Package_Geometry Display_Top layer. This is for the people who want to live in the past and get that visual proof of where there is room left in the placement. They can use these shapes the same way as was used for the Place_Bound layer which will now take on the nominal size of the component body. I usually create a layer of artwork that is not sent to the vendor but uses the Package_Geometry Display layer rather than the Place_Bound layer as the courtyard. You won't see a component-to-component spacing error anymore unless two parts actually overlap. The means of separating the components come from a table where all of the Dfa_Dev_Class options can be imported. This is where the number values shine. Each value used by the symbol footprint library creates a column and a row in the table so the fewer you use, the better. Filling out the numbered table involves adding up the two rank and file numbers and putting that value at the intersection of the row and column. Setting up the Component Spacing Values This is where you find out why I like to use numbers as the key to setting up component spacing rules. Another factor is using the Z-Copy command with an offset to uniformly shrink the DFA_Bound shape from the Place_Bound_Top shape. The goal is to make it easier to set the DFA table up so that it works right the first time. The assumption here is that you're starting with a design that relies on the Place_Bound layers (top and bottom) and moving to the equivalent DFA_Bound layers with minimal disruption. 4 www.cadence.com Smart Placement Using Design for Assembly Tools
