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 creates guides that go through blockages #3020

Open
antonblanchard opened this issue Mar 15, 2023 · 5 comments
Open

grt creates guides that go through blockages #3020

antonblanchard opened this issue Mar 15, 2023 · 5 comments
Assignees
Labels
grt Global Routing

Comments

@antonblanchard
Copy link
Contributor

Describe the bug

The attached test case shows guides that go through a blockage. M7 is completely blocked, but some guides go right through it from M5 through to M8:

grt-through-blockage

Expected Behavior

Guides should not cross through obstructions

Environment

Git commit: edcd14ffec5d232d98e8b0c34315b1ce233b1af6
os: Fedora Linux 37 (Workstation Edition)
cmake version 3.26.0-rc5

To Reproduce

Test case: grt-through-blockage.tar.gz

Relevant log output

No response

Screenshots

No response

Additional Context

No response

@eder-matheus eder-matheus self-assigned this Mar 16, 2023
@eder-matheus
Copy link
Collaborator

eder-matheus commented Mar 17, 2023

This is a good case to start considering via resources. The current grt core code doesn't check the resources when adding vias. Also, the 2D resources will consider the M8 tracks, even if they are inaccessible from lower layers.

The first step could be to detect inaccessible layers and "block" them from the actual resources. The via-resource model is a more complex work that can be implemented next.

@maliberty do you have some thoughts on it?

@maliberty
Copy link
Member

@antonblanchard would you give some more context as to what you are seeking to have happen by blocking m7?

@antonblanchard
Copy link
Contributor Author

@antonblanchard would you give some more context as to what you are seeking to have happen by blocking m7?

Trying to build simple test cases to exercise specific parts of drt. In this particular case I could obstruct all layers other than the two I'm interested in.

@maliberty
Copy link
Member

What does it mean to block all but two non-adjacent layers?

@antonblanchard
Copy link
Contributor Author

What does it mean to block all but two non-adjacent layers?

To force specific vias to be used in test cases. I'm not sure how much of an issue this is outside of test cases, and I can see how grt would struggle since it starts with a 2D view of the capacity.

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

Successfully merging a pull request may close this issue.

3 participants