This DFM action includes the following features.
*
Two values for Bridge size: minimal and optimal.
*
Separate settings for shaving coverage and bridge according to the
Pad type. You can disable coverage and bridge shaves according to the Pad type.
*
Clearance vs. Bridge compromise
*
A new algorithm enables replacing all individual clearances in a
row of SMD Pads into one large, continuous clearance.
*
Placing bridge shaves in locations other than in the middle
between two Pads
*
Ability to define Pad types to be ignored by the system
Current Solder Mask Optimization DFM action
New Solder Mask Optimization (Solder Mask Repair) DFM action
There are four (4) pad types in the action.
* SMD Pad: Pad with
attribute .smd
* PTH Pad: Pad which is
drilled by a drill hole with attribute
.drill = pth
* Via Pad: Pad which is
drilled by a drill hole with attribute
.drill = via
* NPTH Pad: Pad which is
drilled by a drill hole with attribute
.drill = npth
SM clearance that is smaller than its corresponding Pad.
SM clearance that is larger in any one direction than its corresponding Pad. The clearance must be larger by a value larger than v_max_oversized_clearance .
In the Solder Mask Optimization action, you could define a special set of optimization values as a percentage of the Pad type and the distance to its neighbors. These user-defined values overwrote the parameters defined in the action screen. (For more details please look in Doc. 0602, Solder Mask Optimization .)
In the Solder Mask Repair action, the ability to define ranges was expanded. You can now define 14 different types of range variables. Each range is defined according to the possible paring of a Pad's type and its neighbor's pad type.
Following are the new range prefixes.
*
SMD Pad ranges: SMD2SMD, SMD2PTH, SMD2VIA, SMD2OTHER
*
PTH Pad ranges: PTH2PTH, PTH2VIA, PTH2SMD, PTH2OTHER
*
Via Pad ranges: VIA2PTH, VIA2VIA, VIA2SMD, VIA2OTHER
The Generic range, if defined, will be used if there is no specific range that fits the current distance.
A range is a set of 3 variables, arranged in the following format.
*
Each Range set can include up to 10 different sets of variables
for each type of variable: 10 border variables, 10 partition variables, and 10
bridge variables.
<Range
Name>_<Numeric counter>_< BORDERS> =
<Lower limit>:<Upper Limit>
Lower limit and Upper limit are real numbers. They can be in mils or in microns, depending on the unit of the model.
The border variable defines the
distance that this range refers to.
There should be no overlap between two border variables of the same Range sets.
<Range
Name>_<Numeric counter>_<PARTITION> =
<Min_Clearance>:<Opt_Clearance>
<Min_Coverage>:<Opt_ Coverage >
These numbers ( Min_Clearance, Opt_Clearance, Min_Coverage, Opt_ Coverage ) are expressed in percentage.
This variable defines the
minimal/optimal clearance and the
minimal/optimal coverage values as a percentage of the distance between two
copper features.
<Range
Name>_<Numeric counter>_< BRIDGE> =
<Min_Bridge>:<Opt_Bridge>
Like the partition variable, this variable defines the minimal/optimal bridge values as a percentage of the distance between two copper features.
When the action checks a Pad for optimization, it find its closet neighbor. Then, based on the distance between the two pads, the action looks for the relevant range that applies to this pair of pads. and gets the minimal/optimal clearance values from the selected range.
If a proper range is not found, the action uses the relevant parameters from the Action GUI Screen.
The SM Repair action runs a separate scan to locate coverage problems. When the action finds a coverage problem, it looks for the relevant range that applies to the distance between the selected pad and the feature that is causing the coverage problem. If a suitable range is found, its values for the coverage variables are used.
The bridge values are set according to the range that was chosen for the clearance operation.
Here is an example of one Range sets group, SMD2SMD, with 3 sets of Ranges variables.