Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grt: Jumper insertion for repair antenna violations #5784

Draft
wants to merge 46 commits into
base: master
Choose a base branch
from

Conversation

luis201420
Copy link
Contributor

Jumper insertion for repair antenna violations

The algorithm adds jumpers with size = 3GCells in the long segments with antenna violations.

  • First it verifies that the layer has available layers above it with the same orientation (layer level + 2)
  • The net segments are structured to be able to obtain the segments involved in each antenna violation. For this, the DSU algorithm is used.
  • With the segments found, the bounding box is found and the number of pins near the min and max points of the bounding box is calculated. This will help to find the segment to insert the jumpers.
  • To o find the position where a jumper should be added, the algorithm will calculate a ratio of the current PAR to the required PAR. To use the ratio it divides the total wirelength of the segments by the ratio, to get the required wirelength which will not have a violation.
  • To insert the jumpers, the segments are iterated looking for the position that can contain the jumper size avoiding adding over vias. Before inserting the jumper, it is verified that the layer has the necessary resources for its jumper routing.
  • When an antenna violation has pins near both sides, two jumpers will be inserted near both ends.

Signed-off-by: luis201420 <[email protected]>
Signed-off-by: luis201420 <[email protected]>
Signed-off-by: luis201420 <[email protected]>
@luis201420 luis201420 marked this pull request as draft September 20, 2024 23:28
Signed-off-by: luis201420 <[email protected]>
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

@@ -38,6 +38,7 @@
#include <omp.h>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: 'omp.h' file not found [clang-diagnostic-error]

#include <omp.h>
         ^

const GRoute& route,
ViolationInfo& info);
void jumperInsertion(NetRouteMap& routing,
const int tile_size,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: parameter 'tile_size' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls]

Suggested change
const int tile_size,
int tile_size,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant