strm2oas should issue a warning when reading a lef file twice

未关闭
#2,294 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

  • #2516 来自 @jinchuntan —— 已关闭,未合并

评估

难度
4/5
预计耗时
3-5 天
新手友好度
38/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
停滞
技术栈
cpp
领域
cli

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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

主要语言
C++
星标
1.2k
派生
305
平均合并
3 天 2 小时
30 天内合并 PR
11

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

KLayout/klayout 的其他 Issue

查看 KLayout/klayout 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。