This section describes the ERF file sigopt.erf .
ERF Variable |
Description |
do_poly_shave |
Default is No . Yes - use polygon shaves if a compromise and a shaved line cannot be added because it shaves other features. |
exact_min_on_compromise |
Default is No . Yes - every time a compromise is made, the shave will only be down to the minimum spacing. This results in more locations being corrected but less spacing achieved. |
fill_poly |
Default is Yes. Yes - automatically fill the created polygon shaves. No - rely on operator to fill the created polygon shaves. |
max_pad_misregistration |
Maximum distance permitted between Pad center and hole center to consider the hole as assigned to the Pad. |
max_pad_shaves |
A pad is not allowed to have more than this number of shaves. A complex (filled) shave counts as one upon creation, but as many lines as it is made of upon reactivation of the function. |
min_brush |
Minimum brush size to use when filling. Default is 0.5 mils. |
min_neck_len |
A neckdowned portion of a line will always be greater than this length. |
min_reroute_side |
If a line segment is rerouted, then there should remain at least this length of the original segment on both sides of the reroute. |
resize_smd |
Yes - means PadDn modifications will also affect SMD pads, otherwise SMD pads will not get modified. |
shave_smd |
Default = Yes Yes - SMD shave is allowed. No - SMD pad will never be shaved. |
smd_resize_ratio |
Even if resize_smd = Yes the SMDs' small dimension is never allowed to become less than this ratio to its original dimension. |
v_handle_non_standard_ |
Enables you to define what non-standard pads, if any, you wish to handle. Yes = Handles non-standard pads, according to procedures below. No = action does not handle non-standard pads. A standard pad is a round or square pad. There are two kinds of non-standard pads: * * Semi-standard pads - Those are pads that
Genesis is familiar with. They do not need special symbols to be represented.
* * Non-standard pads - Those are pads that
Genesis is not familiar with and do need special symbols to be represented. v_handle_non_standard_pads has three optional modes: * * Don't handle non-standard pads * * Handle only semi-standard and standard
pads * * Also handle non-standard pads v_handle_non_standard_pads affects the DFM action in two ways: * * 1. Reroutes traces against non-standard
pads. Previously, the action rerouted line only against standard pads. Now you can also reroute lines for non-standard pads. * * 2. Enlarge non-standard pads to achieve
AR. Previously, only standard pads were enlarged in order to achieve AR. Now you can also enlarge semi-standard or non-standard pads. After enlargement, Genesis tries to change the non-standard pad to a semi-standard pad. Only if that fails will Genesis create a new non-standard pad (Construct Pad). |
v_handle_same_net_ |
Enables the SLO action to search for and fix Same Net Spacing problems. This variable is relevant only when the ERF variable same_net_spacing = Yes. v_handle_same_net_spacing has three options: * * 1. Don't handle Same Net Spacing. Action has same behavior as in previous versions. Action does not look for Same Net Spacing violations. If a Same Net Spacing violation is created by enlarging a pad, occurred and same_net_spacing = Yes, the enlargement is canceled and the spacing violation reported this in the Same Net Spacing category. * * 2. Only report Same Net
Spacing violations Action reports existing Same Net Spacing violations. These violations are recorded in the report category Same Net Spacing . * * 3. Fix Same Net
Spacing Violations Action tries to solve
Same Net Spacing problems. |
v_keep_smd_form |
If set to Y and SMD is drilled, annular ring for the via will not be repaired by adding a round pad that will change the apparent shape of the SMD pad. |
v_rerout_bus |
Enables you to control a bus rerouting, if that is necessary to solve a pad to line spacing problem. (A bus is a series parallel lines of any width.) No = the action tries to solve the pad to line spacing problem using the relevant mode. BUT, if there is another line which creates a line to line spacing problem, than this line will not be rerouted. Yes = the action tries to reroute a line to solve a specific pad to line spacing problem. BUT, if there is another line that blocks the line rerouting, it will first move the line that is blocking the line rerouting in order to create enough space for rerouting, and then it will reroute the line. Note: The bus rerout mode is controlled by the ERF variable v_rerout_mode . When a line that is needed to be moved as a triplet is touching a Pad, the action will retain a small part of line as it is (the length of this section is controlled by the ERF variable min_reroute_side ), and will move the rest of the line as a triplet. Examples Examples: |
v_rerout_mode |
Enables you to control line rerouting operations. When v_rerout_mode = 0 (default),
you can reroute the line locally only (current behavior and default value). |
v_shave_pad_below_min |
Enables you to violate minimum Annular Ring limitations by shaving a pad in order to solve a Line to Pad spacing problem. No = the action will not shave a Pad below the minimum Annular Ring value ( pp_min_ar or pp_min_via_ar ). Yes = the action will shave a Pad to solve a spacing problem even if it violates the minimum Annular Ring value. Examples |
|
|
|
|
Modification Priorities |
Modifications will be tried by descending priority values, highest value first |
PRD |
Shrink a pad (do not sacrifice optimal AR). |
PRS |
Reshape an SMD (round its corners). |
LRR |
Line reroute. |
PSH |
Pad shaving (don't sacrifice optimal AR or space). |
PSHC* |
Pad shaving (allow minimal AR or space). |
LRE |
Reduce line width (neckdown) - only to achieve min spacing. |
PRDC |
Shrink a pad (allow minimal AR or space). |
* The C (stands for Compromise) indicates we allow minimal values.
|
|
allow_both |
Default = Yes Yes - applies a small shave to each of two pads (with spacing violation) rather than apply a large shave to one of the pads. |
LRR_max_shift |
Default is zero (0). The maximum shift allowed the central segment of a rerouted line. 0 - no limit. |
max_pad_enlarge |
Default is zero. The maximum amount a pad can grow to fix annular ring violations. A value other than zero may cause a drill annular ring to be fixed sub-optimally or not at all. 0 - no limit. |
max_pad_shrink |
The maximum amount a pad (drilled or non drilled) can be shrunk to solve a spacing violation. 0 - no limit. |
same_net_space |
Yes - same net spacing violations will prevent a pad from growing to repair the annular ring. No - same net spacing is ignored. |
keep_pad_shape |
Default is No. Yes - square pads will remain square even when enlarged and will not be replaced by round pads. No - added/enlarged pads will always be round. |
shave_only_vias |
Default is No. Yes - only via pads will be shaved to solve spacing violations. No - all pads may be shaved. |