Skip to content

Incremental GPL can't properly handle the cells inserted by replace_arith_modules #9542

@AcKoucher

Description

@AcKoucher

Description

When running Secure-CI for #9465, ngt45/swerv_wrapper failed during GRT due unsolved congestion:

[ERROR GRT-0116] Global routing finished with congestion. Check the congestion regions in the DRC Viewer

The cause of the failure seems to be a dense blob of cells in the middle of the design (in the image, Routing Congestion heat map for 5_1_grt-failed.odb):

Image

The real problem looks to be that during the global_placement -incremental call that happens right after replace_arith_modules at 3_4_place_resized sub-stage, GPL puts nearly 800 of the new logic cells in the same place:

Image

These end up being spread apart subsequently by the legalizer, forming the blob we see in the first image:

.odb after replace_arith_modules .odb after global_placement -incremental 3_5_place_dp.odb
Image Image Image

Suggested Solution

GPL should handle the cells inserted by replace_arith_modules in a better way.

Additional Context

Here's the link for the design's artifact.

Metadata

Metadata

Assignees

Labels

gplGlobal Placement

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions