pdn: add basic handling of lef58 area rule#10488
Conversation
Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
There was a problem hiding this comment.
Code Review
This pull request introduces support for dbTechLayerAreaRule in the PDN generation process, specifically updating the adjustToMinArea function to account for these rules. The review feedback identifies critical issues in the implementation of the area calculation, including precision loss from using integer types for floating-point area values and incorrect scaling when converting from microns squared to DBU squared.
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
|
clang-tidy review says "All clean, LGTM! 👍" |
maliberty
left a comment
There was a problem hiding this comment.
The code looks fine. I'll wait for feedback from @jeffng-or to merge
|
Yeah, I think the code is doing what it's supposed to. The issue I see is that the proprietary tech LEF min area constraint is small enough that the 4000 DBU per UU doesn't have enough granularity to represent the value correctly as an int. I'll file a separate issue for that one, but that shouldn't block this PR. |
|
@jeffng-or it's worth noting that the database incorrectly stores the area as area (double) * DBU, when it should be area * DBU * DBU |
|
@gadfort do you want to do a PR for the units? |
|
@maliberty happy to since I actually had it, but will need it reviewed / check for how that change interacts with DRT |
Summary
Adds checking of the LEF58_AREA rule.
Note, only handles the most basic case at this time.
Type of Change
Impact
Honors min area rules
Verification
./etc/Build.sh).Related Issues
[Link issues here]