Check + dump power straps abutting/over hardmacros #710
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds power strap validity checking and power strap dumping for hardmacros as requested by rahulk29/substrate#92 and could eventually be extended for hierarchical design by abutment.
A new key,
par.power_straps_abutment
controls the checks. Iftrue
, straps are checked for abutment. This means that all instances of a given macro must be placed on a multiple of its top layer's power strap pitch, or else an error is thrown. Iffalse
, the layer above the macro's top layer must exist. In both situations, power obstructions on the relevant layer are checked for any overlaps.Here is a test case:
Input placement constraints
Here is the output log with default ASAP7 power straps:
Hammer logger output
And here is the resulting JSON file to be consumed by substrate (or humans). Note that dimensions are given in multiples of the tech's grid unit. @rahulk29 please provide feedback as to whether these fields make sense to you.
power_straps.json