Closed Blebowski closed 1 year ago
@gadfort I suspect this world only affect pdn. Do you have any thoughts on support?
@maliberty Don't we already support the 5.8 version of this https://github.com/The-OpenROAD-Project/OpenROAD/blob/master/src/odb/src/lefin/ArraySpacingParser.cpp
If so, can't we just add a new parse handler for 5.7 and leverage the existing parser?
@Blebowski If you want to give it a shot I'm pretty sure if you just add another else if for this property with the existing parser it will "just work" ™.
@maliberty @QuantamHD I think we should be able to use the same underlying code with minimal changes. But first we need a parser.
Hi @QuantamHD , I will give it a try. Altough, I don't think it is a good idea trying to hack this "quick and dirty" way. IMHO, this would deserve looking at the property differences between various LEF versions. Then, it may be good to adjust property parsing so that different LEF versions are handled correctly for all properties (if that is allowed by LEF spec). Let me see what I can do. Just a note, I don't really have much time lately, so it might take some time to produce a patch.
OK, this is weird. I am trying to search for LEF57_
prefixed properties in LEF 5.7 RM, however, I see only LEF58_
prefixed ones. The LEF file itself states that it uses LEF version 5.5, however, I am unable to find 5.5 RM. I am probably missing something, or properties with LEF57_
prefix is something that is not really according to LEF/DEF RM. Anyone has a clue
where this is coming from?
I don't think there is any such property as LEF57_ARRAYSPACING. Even if you look at an older 5.7 manual like https://www.ispd.cc/contests/18/lefdefref.pdf you don't find it (just ARRAYSPACING). Where did this LEF come from?
@maliberty, the file header states following:
LEF file generated by Abstract Generator version 5.5.9
What tool is that? From what I can see it writes invalid LEF.
I don't know, but apparently it is a tool from Cadence, e.g.:
https://redirect.cs.umbc.edu/~tinoosh/cmpe641/slides/lect03_abstract.pdf
With no document defining this property it seem a bit odd to "support" it. Are you using an older version of Virtuoso?
Yup, I agree. I did not generate the LEF file, we have it delivered from fab. The date says 2014, so if it is a bug, it is possible that newer version of Virtuoso will have the issue fixed. I need to ask our fab if they can provide more up to date version.
Worst case I would make a local copy and just change it to LEF58 and see if that works.
OK, I will give it a try.
After trying the "hack" to replace the LEF57_
with LEF58_
the LEF file loads in correctly, so I will close the issue.
Describe the bug
I am trying to read in tech LEF file for an older proprietary PDK, and I obtain following messages:
Expected Behavior
I would expect that:
Environment
To Reproduce
Unfortunately, I can't provide the whole PDK lef.
Small extract from the techlef demonstrating the issue.
In property definitions section:
The definition of the LEF rule is in the message above.
Relevant log output
No response
Screenshots
No response
Additional Context
No response