-
Notifications
You must be signed in to change notification settings - Fork 203
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
Question: What is the correct allignment in SKY130? Intermediate Pins are not connected to the grid. Likely user mistake. #239
Comments
At the top level, we make large pins so that they will fall on the routing grid. It is likely that the grid size changed (or something else), so we might need to increase our pin size and/or spacing. This would be done in the code relative to DRC dimensions. Did you manually fix the lef size? (It was only an error in this unit and not the other dimensions.) Does the lef/layout look correct in the final design? Please feel free to submit PRs if you fix any of these. Matt |
Your image suggests the LEF and connections are fine. I'm not sure what the issue is in the router. |
Thanks for your quick response. For example pin 0 does not look "perfect" (still visually looks connected). However, it raises the error. I manually changed only the database microns in the LEF. I did not modify other values. The LEF and instantiation looks good to me. I can send the exact positions if this helps. |
Yes, making the pins a bit bigger might ensure that all pins align in the center and the router doesn't give this error. Though, it seems like it should be a warning. |
Thanks again for your feedback. I agree: Increasing pin size in GDS2 and LEF will be the resonable next step. Just a sidenote: DFFRAM provides pins on another layer and connects without error. |
I would also confirm with the router people why the error is there. These seem like perfectly good connections. |
It would be helpful to turn on the routing grid in your images.
Is too vague. Please make a standalone routing test case that shows the problem. |
As suspected in the initial issue, I discovered this was a user error. Thanks for the responses so far. My solution/approach:
[INFO GRT-0088] Layer li1 Track-Pitch = 0.4600 line-2-Via Pitch: 0.3400
If my explanation is correct: |
Moving the macro to the correct pin coordinate works only if the pins on the upper and lower sides both match to the routing grid. However, this does not always seem to be the case. Thus, the lower side io pins connect, but some upper side pins raise an error - as they mismatch the grid.
I am not sure which place is correct for implementing this modification. However, modifying it for example from How can I scale the "outer-world-pins"? |
Describe the bug
Some pins are not connected to the routing grid. In more detail, sometimes zero, one, or two intermediate pins are not connected.
Could be user error.
Version
OpenRAM 1.2.48
OpenLane 2
To Reproduce
I reproduced this bug using two different macros and locations. Different pins were disconnected. So, I guess no explicit conf file needs to be reproduced.
Expected behavior
Successfully connecting all pins to the memory macro.
Logs
Notice the pattern. Sometime zero skips, then one or two skips.
Additional context
However, in the OpenRoad GUI in step
44-odb-reportdisconnectedpins
ALL pins are visually connected:Notice that there is a difference in
HalfGrid
access points for connected and non-connected pins.Non-functional:
Functional:
Questions:
The text was updated successfully, but these errors were encountered: