Question about the detailled router capabilities #3963
Unanswered
lustefan97
asked this question in
Q&A
Replies: 1 comment 5 replies
-
We have routed to top level bumps. This would be better as an issue with a test case showing the problem as this is too vague to say much. |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello,
So I want to implement a Face-to-face 3D flow on OpenROAD. I found that there is the define_pin_shape_pattern function and the documentation says that it could be used to help implement exactly that.
What I did was simply take a small design to begin with (ibex) and place all of its I/O pins on the top layer (so a little more than 250, not a lot), to see what would happen. I tried with both the Skywater PDK and the Asap7 PDK, and in both cases the detailled routing step never converged towards an optimal solution without violations. One thing to know is that I already had a design to route with ONE pin on the top layer, even if the design was a very large and sparely placed ibex core. I haven't tried an "in between" case yet.
I think I noticed (just an observation, I didn't properly tested that yet) that the number of violation increased a lot in "3D" (pins on the top layer) compared to the 2D case. To give an idea, using the ASAP7 PDK, the number of violations in 2D at the beginning of the optimisation iteration number one (so the second iteration) was around 6000, while in the 3D case it shot up to 22000 violations.
The behaviour of the number of violation in 2D was to decrease a lot, maybe then increase a little bit, but go to zero after while, in 3D, it started to "oscillate" around a value (that value seems to depend on the placement density and die size).
I have let the flow run for a few hours in the 3D case (compared to maybe 20 minutes in the 2D case) without the number of violations ever really coming down (especially for such a small design, it seems strange). Usually in 2D the flow stopped after a few optimisation iterations, but in 3D even after 20 iterations (or 50+ with the Skywater PDK) it was still trying.
My questions are thus :
Beta Was this translation helpful? Give feedback.
All reactions