One additional place where the port number needed to be taken from
the existing label on "lef read", where the port record is never read.
This commit is contained in:
parent
8b159a07cd
commit
b6f4553cef
|
|
@ -1481,6 +1481,7 @@ LefReadPin(lefMacro, f, pinname, pinNum, oscale, is_imported)
|
||||||
/* there may be multiple instances of the label. */
|
/* there may be multiple instances of the label. */
|
||||||
/* However, if the label is a point label, then */
|
/* However, if the label is a point label, then */
|
||||||
/* replace it with the geometry from the LEF file. */
|
/* replace it with the geometry from the LEF file. */
|
||||||
|
|
||||||
for (lab = lefMacro->cd_labels; lab; lab = lab->lab_next)
|
for (lab = lefMacro->cd_labels; lab; lab = lab->lab_next)
|
||||||
{
|
{
|
||||||
if (!strcmp(lab->lab_text, pinname))
|
if (!strcmp(lab->lab_text, pinname))
|
||||||
|
|
@ -1489,6 +1490,25 @@ LefReadPin(lefMacro, f, pinname, pinNum, oscale, is_imported)
|
||||||
break;
|
break;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (lab->lab_flags & PORT_DIR_MASK)
|
||||||
|
pinNum = lab->lab_flags & PORT_NUM_MASK;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Label *sl;
|
||||||
|
int idx;
|
||||||
|
|
||||||
|
pinNum = -1;
|
||||||
|
for (sl = lefMacro->cd_labels; sl != NULL;
|
||||||
|
sl = sl->lab_next)
|
||||||
|
{
|
||||||
|
if (sl->lab_flags & PORT_DIR_MASK)
|
||||||
|
{
|
||||||
|
idx = sl->lab_flags & PORT_NUM_MASK;
|
||||||
|
if (idx > pinNum) pinNum = idx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pinNum++;
|
||||||
|
}
|
||||||
needRect = FALSE;
|
needRect = FALSE;
|
||||||
lab->lab_flags &= ~(PORT_USE_MASK | PORT_DIR_MASK |
|
lab->lab_flags &= ~(PORT_USE_MASK | PORT_DIR_MASK |
|
||||||
PORT_CLASS_MASK);
|
PORT_CLASS_MASK);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue