Add the signal_type info to the test_cell pins.

Now that we have different pins on the cell and the test_cell we should
put the information on both.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
This commit is contained in:
Matt Liberty 2024-11-08 00:43:51 +00:00
parent 83f6e55a6c
commit aa598a2f14
2 changed files with 8 additions and 1 deletions

View File

@ -97,6 +97,7 @@ LibertyReader::init(const char *filename,
op_cond_ = nullptr;
ports_ = nullptr;
port_ = nullptr;
test_port_ = nullptr;
port_group_ = nullptr;
saved_ports_ = nullptr;
saved_port_group_ = nullptr;
@ -3154,8 +3155,10 @@ LibertyReader::beginPin(LibertyGroup *group)
}
if (test_cell_) {
const char *pin_name = group->firstName();
if (pin_name)
if (pin_name) {
port_ = findPort(save_cell_, pin_name);
test_port_ = findPort(test_cell_, pin_name);
}
}
}
@ -3170,6 +3173,7 @@ LibertyReader::endPin(LibertyGroup *)
}
}
port_ = nullptr;
test_port_ = nullptr;
}
void
@ -3795,6 +3799,8 @@ LibertyReader::visitSignalType(LibertyAttr *attr)
}
if (port_)
port_->setScanSignalType(signal_type);
if (test_port_)
test_port_->setScanSignalType(signal_type);
}
}
}

View File

@ -617,6 +617,7 @@ protected:
OperatingConditions *op_cond_;
LibertyPortSeq *ports_;
LibertyPort *port_; // Used by test_cell.
LibertyPort *test_port_; // Used by test_cell.
PortGroup *port_group_;
LibertyPortSeq *saved_ports_;
PortGroup *saved_port_group_;