The-OpenROAD-Project / The-OpenROAD-Project/OpenROAD
OBS POLYGON geometry drops LEF SPACING modifier
Nobody has claimed this yet.
- Dominant language
- Verilog
- Stars
- 3.1k
- Forks
- 1k
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 136
Description
OBS geometry declared as POLYGON does not pick up the LEF SPACING modifier.
In src/odb/src/lefin/lefin.cpp, create_path_box and the RECT paths were updated to thread minSpacing through to dbBox::setMinSpacing (see #10856), but createPolygon was not. dbPolygon also has no min_spacing_ field analogous to design_rule_width_.
Effect: an obstruction written as
LAYER metalX SPACING v ;
POLYGON ... ;
silently loses the spacing override for polygon geometry. RECT and PATH work.
Fix: add min_spacing_ to dbPolygon (getter/setter/serialization) and thread minSpacing into lefinReader::createPolygon, or log that polygon OBS spacing is unsupported.
Follow-up to #10856.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/odb/src/lefin/lefin.cpp at createPolygon and compare its handling with create_path_box and the RECT paths from #10856. Follow dbPolygon to add the min-spacing support and serialization, then verify that POLYGON OBS geometry preserves the LEF SPACING value like RECT and PATH geometry.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- database
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100