Corrected errors in LEF output syntax (missing semicolons at

statement ends on properties imported from a LEF file).  Never
noticed before because writing LEF after reading LEF was unusual.
This commit is contained in:
Tim Edwards 2019-04-01 12:23:48 -04:00
parent f6d4da56ce
commit 7e738576bc
2 changed files with 8 additions and 6 deletions

View File

@ -2004,8 +2004,8 @@ enum lef_sections {LEF_VERSION = 0,
LEF_NAMESCASESENSITIVE,
LEF_PROPERTYDEFS, LEF_UNITS, LEF_SECTION_LAYER,
LEF_SECTION_VIA, LEF_SECTION_VIARULE, LEF_SECTION_NONDEFAULTRULE,
LEF_SECTION_SPACING, LEF_SECTION_SITE, LEF_PROPERTY,
LEF_NOISETABLE, LEF_CORRECTIONTABLE, LEF_IRDROP,
LEF_NOWIREEXTENSIONATPIN, LEF_SECTION_SPACING, LEF_SECTION_SITE,
LEF_PROPERTY, LEF_NOISETABLE, LEF_CORRECTIONTABLE, LEF_IRDROP,
LEF_ARRAY, LEF_SECTION_TIMING, LEF_EXTENSION, LEF_MACRO,
LEF_END};
@ -2037,6 +2037,7 @@ LefRead(inName, importForeign)
"VIA",
"VIARULE",
"NONDEFAULTRULE",
"NOWIREEXTENSIONATPIN",
"SPACING",
"SITE",
"PROPERTY",
@ -2097,6 +2098,7 @@ LefRead(inName, importForeign)
LefEndStatement(f);
break;
case LEF_NAMESCASESENSITIVE:
case LEF_NOWIREEXTENSIONATPIN:
LefEndStatement(f);
break;
case LEF_PROPERTYDEFS:

View File

@ -741,18 +741,18 @@ lefWriteMacro(def, f, scale, hide)
propvalue = (char *)DBPropGet(def, "LEFclass", &propfound);
if (propfound)
{
fprintf(f, " CLASS %s\n", propvalue);
fprintf(f, " CLASS %s ;\n", propvalue);
class = propvalue;
}
else
{
/* Needs a class of some kind. Use BLOCK as default if not defined */
fprintf(f, " CLASS BLOCK\n");
fprintf(f, " CLASS BLOCK ;\n");
}
propvalue = (char *)DBPropGet(def, "LEFsource", &propfound);
if (propfound)
fprintf(f, " SOURCE %s\n", propvalue);
fprintf(f, " SOURCE %s ;\n", propvalue);
fprintf(f, " FOREIGN %s ;\n", def->cd_name);
@ -787,7 +787,7 @@ lefWriteMacro(def, f, scale, hide)
propvalue = (char *)DBPropGet(def, "LEFsymmetry", &propfound);
if (propfound)
fprintf(f, " SYMMETRY %s\n", propvalue);
fprintf(f, " SYMMETRY %s ;\n", propvalue);
/* Generate cell for yanking obstructions */