Congestion
Congestion: If the number of routing tracks available for for routing in one particular area is less than the required routing tracks then the area said to be congested.
Congestion : Required Tracks/Available Tracks
10/5 in a 2D congestion map : There are 10 routes that are passing through a particular edge of a Global Route Cell (GRC), but there are only 5 routing tracks available. There is an overflow of 5.
Two major categories: Global Congestion and Local Congestion
Global Congestion: This occurs when there are a lot of chip-level or inter-block wires that need to cross an area.
Local Congestion: This occurs when the floorplan has macros and other routing blockages that are too close together to get enough routes through to connect to the macros
Congestion : Required Tracks/Available Tracks
10/5 in a 2D congestion map : There are 10 routes that are passing through a particular edge of a Global Route Cell (GRC), but there are only 5 routing tracks available. There is an overflow of 5.
Two major categories: Global Congestion and Local Congestion
Global Congestion: This occurs when there are a lot of chip-level or inter-block wires that need to cross an area.
Local Congestion: This occurs when the floorplan has macros and other routing blockages that are too close together to get enough routes through to connect to the macros
Causes for Routing Congestion:
- Missing Placement Blockages
- Inefficient floor plan
- Improper macro placement and macro channels (Placing macros in the middle of floor plan etc.)
- Floorplan the macros without giving routing space for interconnection between macros
- High Cell Density (High local utilization)
- If your design had more number of AOI/OAI cells you will see this congestion issue
- Placement of standard cells near macros
- High pin density on one edge of block
- Too many buffers added for optimization
- No proper logic optimization
- Very Robust Power network
- High via density due to dense power mesh
- Crisscross IO pin alignment is also a problem
- Module splitting
- Add placement Blockages in channels and around macro corners
- Avoid fly line Crisscrosses
- Review the macro placement
- Apply the cell padding (If congestion due to pin density)
- Apply the Partial blockage (If congestion due to cell density )
- Reduce local cell density using density screens
- Reordering scan chain to reduce congestion
- Congestion driven placement with high effort
- Continue the iterations until good congestion results
- Density screen is applied to limit the density of standard cells in an area to reduce congestion due high pin density
No comments:
Post a Comment