strm2oas should issue a warning when reading a lef file twice
Maintainers usually reply within 1 day
Nobody has claimed this yet.
- #2516 by @jinchuntan — closed without merging
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
Research direction
The report is about strm2oas implicit LEF loading next to the DEF when --lefdef-lefs is also given, which then errors on Duplicate MACRO. Reproduce with the attached test_lefdef.tgz and the two command lines (with and without --lefdef-no-implicit-lef, and with -d=11). Done means a user-visible warning when the same LEF is read twice, or making implicit LEF non-default, without requiring debug level 11.
Written by the indexing model from the issue text.
Description
Once again I got bitten by strm2oas's default behavior of:
"read all lef files where the def is located".
When using --lefdef-lefs, I would expect only the listed lef to be read, especially since there is no other indication.
strm2oas --lefdef-map=sample_tech.map --lefdef-lefs=sample_tech.lef,cell.lef sample_def.def k.oas
ERROR: Duplicate MACRO name: cell (inside MACRO) (line=14, cell=, file=cell.lef)
--lefdef-no-implicit-lef is the magic word here ... And I should have known, I ran into this before.
strm2oas --lefdef-map=sample_tech.map --lefdef-lefs=sample_tech.lef,cell.lef --lefdef-no-implicit-lef sample_def.def k.oas
It would be nice if
a) reading implicit lef's wouldn't be the default behavior or
b) one would be getting a warning when lef files are read twice. Without having to use -d=11
strm2oas -d=11 --lefdef-map=sample_tech.map --lefdef-lefs=sample_tech.lef,cell.lef sample_def.def k.oas
Total: started
Reading LEF/DEF map file test_lefdef/sample_tech.map
Reading sample_tech.lef
Reading LEF/DEF file test_lefdef/sample_tech.lef
Reading cell.lef
Reading LEF/DEF file test_lefdef/cell.lef
Reading test_lefdef/sample_tech.lef
Reading LEF/DEF file test_lefdef/sample_tech.lef
Reading test_lefdef/cell.lef
Reading LEF/DEF file test_lefdef/cell.lef
Total: 0 (user) 0 (sys) 0.000999703 (wall) 54.73M (mem)
ERROR: Duplicate MACRO name: cell (inside MACRO) (line=14, cell=, file=cell.lef)
make: *** [duplicate_debug] Error 1
but even -d=11 wouldn't give a hint that one has to use --lefdef-no-implicit-lef to fix this
test_lefdef.tgz
- Dominant language
- C++
- Stars
- 1.2k
- Forks
- 305
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 11
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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.
More from KLayout/klayout
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
KLayout/klayout#2554 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
KLayout/klayout#2412 · 3 comments ·
Maintainers usually reply within 1 day
-
DRC functions not working properly with clip in placePossibly taken @klayoutmatthias claimed this today. Openbug
KLayout/klayout#2553 · 1 assignee ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 50/100
Maintainers usually reply within 1 day
-
Deep DRC can miss violations when a cell has many shapesMay be free again A pull request for this issue was closed without being merged. Open
Difficulty 4/5 3-5 days Newbie friendliness 52/100
KLayout/klayout#2546 · 5 comments ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
LaneDibello/Kotor-Patch-Manager#375 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day