Closed marwaneltoukhy closed 8 months ago
@marwaneltoukhy : Are you sure it's the PR boundary, or is it just that the DEF file did not contain blockages where the non-pin metal shapes are? Can you post a screenshot of where the error is?
From my understanding, OpenLane doesn't take the obstructions into consideration from the template def file, it only uses it to get the pin coordinates. As OpenLane doesn't see the whole chip when hardening the user wrapper, it is legal for it to route anywhere in the PR boundary, which is the source of the problem, because the PR boundaries of the chip_io
and the wrapper overlap it routed over the pins.
@marwaneltoukhy : Then you need to fix openlane. I'm sure OpenROAD will respect obstructions in the input DEF file.
@marwaneltoukhy : There is another solution I could employ, which would be to create another gpiov2 cell wrapper that would be just for the openframe version and would just remove all the unused pins. Then I could probably keep everything else exactly as it is currently defined and openlane would be fine routing anywhere within the boundary.
The openframe example def file has the PR boundary overlapping the PR boundary of the
chip_io
, which makes the router rout over pins inside thechip_io
boundary.