Congestion:
Congestion needs to be analyzed after placement results depends on how congested your design is. Congestion means number of required routing resources are more compared to available routing resources in the design. In simple words, number of required routing tracks is more compared to available routing tracks in the design. Routing congestion may be localized. Some of the things that you can do to make sure routing is hassle free are:
Placement blockages: The utilization constraint is not a hard rule, and if you want to specifically avoid placement in certain areas, use placement blockages.
Soft blockages (buffer only)
Hard blockages (No std cells and buffers are allowed to Place)
Partial blockages (same as density screens)
Halo (same as soft blockage but blockage can also be moved w.r.t Macro.)
Macro-padding: Macro padding or placement halos around the macros are placement blockages around the edge of the macros. This makes sure that no standard cells are placed near the pin outs of the macros, thereby giving extra breathing space for the macro pin connections to standard cells.
Cell padding: Cell Padding refers to placement clearance applied to std cells in PnR tools. This is typically done to ease placement congestion or reserve some space for future use down the flow.
For example typically people apply cell padding to the buffers/inverters used to build clock tree, so that space is reserved to insert DECAP cells near them after CTS.
Maximum Utilization constraint (density screens): Some tools let you specify maximum core utilization numbers for specific regions. If any region has routing congestion, utilization there can be reduced, thus freeing up more area for routing.
Types of Congestion: There are two types of congestion.
1) congestion in the core region
2) congestion in the memory channel region.
Block owner needs to analyze the congestion in the design and what are the causes which creates congestion and based on that apply congestion removal techniques.
Comments
Post a Comment