Corrected an issue with annotating a layout from a LEF file; if
new port labels are created for an existing port, then they must take the existing port number. The code was previously causing collisions between port numbers on different pins.
This commit is contained in:
parent
cb73ebfab0
commit
54773957c9
|
|
@ -1432,8 +1432,24 @@ LefReadPort(lefMacro, f, pinName, pinNum, pinDir, pinUse, pinShape, oscale,
|
|||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If any other label is a port and has the same name, */
|
||||
/* then use its port number. */
|
||||
|
||||
Label *sl;
|
||||
for (sl = lefMacro->cd_labels; sl != NULL; sl = sl->lab_next)
|
||||
{
|
||||
if (sl->lab_flags & PORT_DIR_MASK)
|
||||
if (!strcmp(sl->lab_text, pinName))
|
||||
{
|
||||
pinNum = sl->lab_port;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Create a new label (non-rendered) */
|
||||
DBPutLabel(lefMacro, &rectList->r_r, -1, pinName, rectList->r_type, 0, 0);
|
||||
}
|
||||
|
||||
/* Set this label to be a port */
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue