Generating Fill Shapes Using Symmetry Value
You can generate fill shapes in a user specified area based on specified symmetry value. You can specify the Symmetry options from the Run Options sections.
For symmetry fill area to fill must be selected carefully around symmetrical structures. If you run symmetry fill on non-symmetrical structure, then there may be chances of presence of DRC violations or metal-fill overlap.

To use any option other than None, the Area option must be selected. If the Area option is not selected and area is not defined, an error message is displayed.
When you select the None option, the results are displayed as a normal run:

There can be following combinations:
- Option X, Non-mirrored
- Option X, mirrored
- Option Y, Non-mirrored
- Option Y, Mirrored
- Option Point, Non-mirrored
- Option Point, Mirrored
Examples of different symmetry fill options
Example 1
You have selected the X radio button but unchecked the Mirrored check box. The result is shown as follows:

Example 2
You have selected X radio button and the Mirrored check box. The result is shown as follows:

Example 3
You have selected Y radio button and the Mirrored check box. The result is shown as follows:

Example 4
You have selected Point radio button and the Mirrored check box. The result is shown as follows:

Example of pgssUserSelectedFillArea Procedure
An example of SKILL which creates area around selected instances:
procedure( pgssUserSelectedFillArea()
let( (obj xmin ymin xmax ymax selectedList hSet)
selectedList = geGetSelectedSet()
if( selectedList then
obj = car(selectedList)
xmin = xCoord(car(obj~>bBox))
ymin = yCoord(car(obj~>bBox))
xmax = xCoord(cadr(obj~>bBox))
ymax = yCoord(cadr(obj~>bBox))
foreach(obj cdr(selectedList)
xmin = min(xmin xCoord(car(obj~>bBox)))
ymin = min(ymin yCoord(car(obj~>bBox)))
xmax = max(xmax xCoord(cadr(obj~>bBox)))
ymax = max(ymax yCoord(cadr(obj~>bBox)))
)
hSet = geCreateHilightSet(geGetEditCellView() list("y0" "drawing"))
geAddHilightRectangle(hSet list(xmin:ymin xmax:ymax))
geSetHilightSetHaloParameters(hSet "under" "fadeout" "thin" 25 nil)
hSet~>enable = t
)
if( xmin then
list(list(xmin ymin) list(xmax ymax))
)
)
)
Return to top