You are on page 1of 5

addFiller

addFiller
[-area x1 y1 x2 y2 ]
[-cell { filler_cell_list } ]
[-createRows {true | false}]
[-diffCellViol {true|false}]
[-doDRC {true | false}]
[-ecoMode {true | false}]
[-fitGap]
[-fixDRC]
[-honorPrerouteAsObs {true | false}]
[-markFixed]
[-minHole {true | false}]
[-merge {true | false}]
[-powerDomain powerDomainName ]
[-prefix prefixName ]
[-util targetUtilization ]
[-viaEnclosure {true | false}]
Inserts filler cell instances in the gaps between standard cell instances. Filler cells provide continuity for the
VDD/VSS power rail, as well as for n-wells. In most cases, use this command after placement and before
detailed routing. If the design is routed, this command also does DRC checks of the filler cells added to the
wires in the design. It does not check adjacent cells. This process ensures that this command is fast
enough to be used many times in the design flow.
Note: Before using addFiller , run the globalNetConnect command to provide global-net-
connection rules for supply pins of the added fillers. Without these rules, the built-in design-rule checks
of addFiller will not be accurate.
To resolve adjacent cell DRC violations created by the insertion of filler cells, run
the verifyGeometry command to mark these violations. Then, use the addFiller command again
with the -fixDRC parameter to replace the filler cells that caused the violations.
Note: This command resolves only filler-related violations--it cannot resolve net-based violations. To repair
net-based violations, reroute the net with violations.
The addFiller command recognizes up to eight implant layers and attempts to honor implant layer width
and spacing rules within each implant layer. If it does not find the correct filler cell to add to an implant
layer, it tries to add "no-implant" filler cells. If it cannot add the "no-implant" cells, it inserts a filler cell that is
large enough that it does not violate the minimum width rule of the relevant implant layer.
Use the deleteFiller command to remove added filler cell instances.
Note: This command supports multithreading.

Icon
Some addFiller parameters can also be specified with setFillerMode . However, the parameters
you specify with addFiller apply to the current addFiller run only, and supersede parameters set
by setFillerMode . For more information, see setFillerMode .

Parameters
-area x1y1x2y2 Adds filler cells to the specified area. If the area is not
defined properly, does not add filler cells.
Normally, designs are placed before filler cells are added.
However, If you use this parameter and the design is not
placed, you get a warning, and the command adds fillers
in the specified area.
Note : You can specify this parameter
with addFiller only, and not with setFillerMode .

 Specifies the area's lower left point on the x axis.


 Specifies the area's lower left point on the y axis.
 Specifies the area's upper right point on the x axis.
 Specifies the area's upper right point on the y axis.

-cellfiller_cell_list Specifies the list of filler cells to add. Separate filler cell
names with spaces and enclose the list with quotation
marks (") or curly braces ({}).
Note : Cells specified by this parameter override the list
of cells provided by the -core parameter
of setFillerMode .
-createRows {true | false} Controls whether addFiller creates rows in the
floorplan if a cell's site does not have rows. Specify false
for this parameter to prevent addFiller from creating
the rows.

Default : true
-diffCellViol {true|false} Checks violations between different cell types.
Default : false
Note : Using this feature will increase the runtime
of addFiller .
-doDRC {true | false} Controls postroute DRC violation checking against
existing net routing, without considering adjacent cell
DRC violations.
This parameter does not disable regular placement
checks.
Default : true
If filler cells are added after routing, the software checks
for DRC violations between regular nets and the filler
cells. When the inserted filler violates the existing
routing, addFiller tries to use other filler cells to
replace the violating one; if it fails to fill the gap without
violation, it leaves a gap.
-ecoMode {true | false} Controls whether the software resolves overlaps of
standard cells with fillers by removing the overlapping
fillers, and inserting new fillers in any existing or newly
created gaps due to partial overlaps in eco flow. If this
parameter is used after routing, the command also
resolves DRC violations of filler geometries of all fillers
with regular wires.
Default : false
-fitGap Fills a gap between cells by adding a combination of
cells, instead of by adding the single largest cell that fits,
if doing so avoids leaving an unfilled single-width gap.
-fixDRC Corrects DRC violations reported
by verifyGeometry between filler cells and adjacent
standard cells.
Note : The addFiller command resolves only filler-
related violations--it cannot resolve net-based violations.
To repair net-based violations, reroute the net with
violations.
Use this parameter in subsequent runs of
the addFiller command, after adding filler cells and
checking for violations with verifyGeometry . The
command replaces filler cells that cause DRC violations
with fillers that do not cause violations. If it cannot
replace a violating filler cell without causing another
violation, it leaves a gap.
Note : You can specify this parameter
with addFiller only, and not with setFillerMode .
-honorPrerouteAsObs {true Instructs addFiller to honor the setting
| false}
of setPlaceMode -preRouteAsObs . That is, when this
parameter is true , addFiller treats preroutes on metal
layers where filler cells have geometries as obstructions,
and ignores preroutes on other layers. In most cases, this
means thataddFiller treats preroutes on metal1 as
obstructions and ignores preroutes on other metal layers.
For example, if setPlaceMode -preRouteAsObs is set
to metal1 and metal2, and all the filler cell geometries are
on metal1, addFiller treats metal1 preroutes as
obstructions but not metal2 preroutes.

Default : false
addFiller ignores setPlaceMode -preRouteAsObs and
inserts fillers in all legal sites.
-markFixed Places newly added filler cells in FIXED status in the
EDI System database.
Note : You can specify this parameter
with addFiller only, and not with setFillerMode .
-merge {true | false} When checking for spacing violations, merges same-net
geometries to determine width-dependent spacing. If the
LEF file contains width-dependent rules, this parameter
causes addFiller to have the following behavior:

 If you specify true, the command merges overlapping


same-net objects to create a large rectangle.

 If you specify false, the command uses the shape of the


object from the database.

Default : false
-minHole {true | false} Calls verifyGeometry to check for minimum hole
violations before adding filler cells and repairs the
violations when addFiller runs.

Default : false
- Specifies the power domain in which to add filler cells.
powerDomainpowerDomainName
Default : If this parameter is not specified, and a list of
filler cells is specified with the -cellparameter,
the addFiller command tries to add fillers to all power
domains.
Note : You can specify this parameter
with addFiller only, and not with setFillerMode .
-prefix prefixName Specifies the prefix for the placed instances.

Default : FILLER
-util targetUtilization Specifies the percent of free space remaining after
placement to fill with given filler cell instances.
Use -util to add gate-array core filler cells to use later
in the design flow, along with gate-array core cells, for
metal-only mask changes.
Note : You can specify this parameter
with addFiller only, and not with setFillerMode .
Range : More than 0.0 ( 0% ) and equal to or less
than 1.0 ( 100% )
Default : 1.0
[-viaEnclosure {true | Calls verifyGeometry to check for via enclosure
false}]
violations before adding filler cells and repairs the
violations when addFiller runs.
Default : false

Examples
 The following command inserts filler cell instances for cells FILL64 , FILL16 , FILL4 , FILL2 ,
and FILL1 :
addFiller -cell FILL64 FILL16 FILL4 FILL2 FILL1 -prefix FILLER

 The following commands show the use of the -util parameter to set the utilization of GACORE filler cells
to 50 percent:
# Place the design
placeDesign
# Now fill with GACORE cells up to 50% of remaining space
# area utilization
addFiller -cell {gcore16 gcore8 gcore4} -prefix GACORE -util 0.5
# Now fill with the standard filler cells
addFiller -cell {fill8 fill4 fill2 fill} -prefix FILLER
# Continue with routing

 The following command enable postRoute DRC checking for min hole violations and via enclosure
violations:
addFiller -cell FILL16 FILL8 FILL4 FILL2 -doDRC true -minHole true -
viaEnclosure true

You might also like