09 Placement
09 Placement
09 Placement
Topics covered
- Pre placement setup and checks
- Types of blockages
- What is placement and it’s necessity
- Congestion and reasons for congestion
- Understanding the pre and post placement optimization
- Scan chain reordering
Pre placement checks (placement
readiness)
Below are the few preplacement sanity checks to be performed before starting “placement of
standard cells”
1. Appropriate MCMM scenarios were created
2. Clean “ZIC”- Zero interconnect timing QOR
3. Good understanding of “check_physical_design –stage pre_place_opt” report – It checks for
readiness for placement of floorplan, netlist and Design constraints
4. “check_physical_constraints” checking
It checks if any cells placed in hard placement blockage area, Metal layer inconsistencies against library,
R/Cs for routing layers, Narrow placement regions, legal sites for cell placement and large RC variation
b/w metal layers.
5. Macro/Pin placement completion
Pre placement setup
1. Make sure all the macro are having a fixed attribute
Command to check:- get_attribute [all_macro_cells] physical_status
If it’s not fixed make sure to fix the macro attribute
set_attribute [all_macro_cells] physical_status fixed or set_dont_touch_placement
[all_macro_cells]
2. Set the min/max layers to be used for Signal routing, this settings to be applied for preroute
metal layer assignment/estimation
set_ignored_layers –max_routing_layer <> -min_routing_layer<>
Layer you have set can be reported through “report_ignored_layers” command , it can be
removed through “removed_ignored_layers -all”
Pre placement setup
3. Verify whether any keepout margins are applied (report_keepout_margin).
4. - It’s good to define the NDR(Non default routing) for clock nets during placement stage for
better RC estimation for clock nets .
◦ RC parasitic are different between NDR and Normal nets.
◦ NDR rules are applied to clock nets to avoid EM and cross talk effects.
Method to specify the NDR rules
Summary- Preplacement setup and
checks
Types of blockages
1. Placement blockage
◦ Soft Blockage
◦ Hard blockage
◦ Partial placement blockage
2. Routing blockage :- Routing blockage is added to block routing resource on one or more layer at
specific region at certain point of the design
Blockages information
Halos/keep out margins
Congestion
Congestion :- If the number of available routing tracks is less than the number of required routing tracks
We need to do congestion analysis at each and every stage of physical design ( For better routability)
Congestion are of two types
1. Global congestion
2. Local congestion
Overflow/underflow= Demand-Supply
Congestion analysis
After loading the placement database execute “route_global –congestion_map_only”
command in ICC shell to generate the congestion map. (In gui you can click on route->Global
Route Congestion Map in the GUI and click Reload in the Map Mode dialog box to generate the
map).
There are two methods in GR (global route) congestion analysis
Sum of overflow for each layer (the default)
Demand minus total supply
Congestion analysis
Sum of overflow for each layer (the default)Demand minus total supply :- In this mode, the tool
calculates the congestion value as the sum of the overflow for all selected layers. Underflow is not
considered; if a layer has underflow, it contributes zero overflow to the total overflow calculation.
Total demand minus total supply :- In this mode, the tool calculates the congestion value by subtracting
the supply for all selected layers from the demand for all selected layers. Note that because this
calculation considers the underflow, it produces a more optimistic congestion result in regions that
contain both overflow and underflow.
Congestion reduction techniques
Before finding out the reduction techniques, need to root cause the reason behind congestion
Below are the few of the possible ways to fix the congestion problems
After seeing the congestion maps check the congested area having high standard cell density. If you see such case than apply the
partial blockages with less than the density in that particular area.
Eg: if the congestion regions is let say 80% utilization then apply partial blockage with 60%
If you see the congestion near to the macro area then apply 5-10 microns of soft or hard blockage (better is 5 microns hard and 5 is
soft is better). Because high critical timing path cell will be seated in the soft blockage area in the optimization phase.
If you see the congestion M2 M3 layers apply cell padding to the high number of pin standard cells (Eg. AOI, OAI,Full adders or other 4
i/p gates )