Closed vijayank88 closed 3 months ago
I think the main piece needed is support for dbObstruction in drt. I believe grt supports them (@eder-matheus please confirm).
I think the main piece needed is support for dbObstruction in drt. I believe grt supports them (@eder-matheus please confirm).
Yes, GRT considers dbObstruction when calculating the routing resources. Is the idea to support dbObstruction in the detailed router as obstacles that would create DRCs with nets?
Yes we should not route through obstructions (the same as if they belonged to a macro)
@maliberty Apparently, DRT already has support for dbObstructions. When reading the design, the function io::Parser::setObstructions
is called, which traverses all the dbObstructions and adds them as blockages to the frBlock
.
How can I create a test case for the dbObstructions? Can I represent them in the DEF file somehow?
I guess I missed that when I look a quick look. You can add a BLOCKAGES section to DEF
I've added a met1 blockage between the pins of a net, and DRT is respecting it:
GRT also respects it, so we have full support for obstructions in our routers. I will create a PR to add unit tests for both GRT and DRT.
@vijayank88 it looks like you can use this already. You would have to create the dbObstruction through odb APIs currently. If needed we could make a more high level command.
@maliberty Thanks for the update.
If needed we could make a more high level command.
If it is easy to add mean, please add high level command option... If it is time consuming one mean, we will wait for fab confirmation to implement the same. Until if needed close this issue, can be re-opened again when needed.
Maybe it's just because this is an old process, but most fabs should give you a LEF for the obstruction which you then manually place like a macro. The LEF will have the necessary obstruction info in it. This allows you to also merge in the fiducial cell GDS without any extra scripting.
If the fab really didn't provide a LEF/GDS and asked to reserve a space, then yes, creating an obstruction/blockage is the right way to go.
Please reopen if this is still needed. It appears to be stale.
Description
We are working on a design to fabricate with 180nm.
The fab require
274um x 85um
reserved space between IO pads and core area to keep fab structure and silicon number. In that area no signal should be crossing.So looking for feature to implement the
reserved space
within the die area using OpenROAD.cc/ @maliberty
Suggested Solution
No response
Additional Context
No response