Difference Between Eco and Filler

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

1/18/2019 Differences between refinePlace, ecoPlace, and place_opt_design -incremental

Differences between refinePlace, ecoPlace, and place_opt_design -incremental

Problem
What is the difference between these three placement commands : refinePlace, ecoPlace and
place_opt_design -incremental ?

When should you use one over the other ?

Solution
The main difference between these commands are as follows :

refinePlace

The refinePlace command only makes changes if placement is not legal, such as instance overlap, incorrect
orientation, constraint violations, placement/routing blockage violations, and so on. The refinePlace command is
called automatically at the end of each major super command -- for example place_opt_design, optDesign, or
clockDesign/ccopt_design -- so as to make sure that the final placement is violation free.

In a typical flow, refinePlace is never run standalone. However, in case you manually move some instances,
refinePlace can be run to legalize any cell placements that may have resulted in violations due to this manual move.
If the design is routed, run refinePlace -preserveRouting true. Otherwise, any signal routing is deleted.
This command is not timing-driven.

ecoPlace

The ecoPlace command incrementally places unplaced standard cells. During an ECO loop, some new unplaced
standard cells may get introduced. If the goal is to move the unplaced standard cells into the core area and place them
without disturbing the original placement (pre-mask flow), it is recommended to run ecoPlace at this stage.

In a post-mask flow (if you specify the options -useSpareCells or -useGACells with ecoPlace), the software can
map the unplaced cells to available spare cells.
This command is not timing-driven.

place_opt_design -incremental

Specifies place_opt_design to be run in the incremental mode. In the incremental mode, place_opt_design
incrementally improves the existing placement based on the critical timing paths and congestion. The command then re-
optimizes the netlist based on the new placement. The optimization in incremental place_opt_design does DRV
fixing, WNS, and TNS optimization.

The input to place_opt_design -incremental can be either a partial placement or full placement with placement
violations. The output is a legal placement as refinePlace is called at the end.

This command can be used if you want to further improve the congestion and timing QoR or if there is a minor floorplan
change.

This command by default is congestion-driven and timing-driven. It also honors density screens and floorplan constraints.

In case you ran place_opt_design and notice some areas of congestion, you can introduce density screens and run
place_opt_design -incremental. Since place_opt_design -incremental honors density screens, it would
spread out some of the cells hence reducing congestion in that area. In contrast, refinePlace would not do this as it
only works on "hard" placement violations such as cell overlaps, while density screens is a "soft" constraint.

Note: No scan-reordering happens when place_opt_design -incremental is run.

Return to the top of the page

https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000nUheEAE&pageName=ArticleContent 1/1

You might also like