report max_fanout, max_cap do not report disabled pins
This commit is contained in:
parent
bb9060160d
commit
68bd76e1a8
|
|
@ -249,8 +249,7 @@ CheckCapacitanceLimits::pinCapacitanceLimitViolations(Instance *inst,
|
|||
InstancePinIterator *pin_iter = network->pinIterator(inst);
|
||||
while (pin_iter->hasNext()) {
|
||||
Pin *pin = pin_iter->next();
|
||||
if (network->direction(pin)->isAnyOutput()
|
||||
&& !sim->logicZeroOne(pin)) {
|
||||
if (checkPin(pin)) {
|
||||
const Corner *corner1;
|
||||
const RiseFall *rf;
|
||||
float capacitance, limit, slack;
|
||||
|
|
@ -294,8 +293,7 @@ CheckCapacitanceLimits::pinMinCapacitanceLimitSlack(Instance *inst,
|
|||
InstancePinIterator *pin_iter = network->pinIterator(inst);
|
||||
while (pin_iter->hasNext()) {
|
||||
Pin *pin = pin_iter->next();
|
||||
if (network->direction(pin)->isAnyOutput()
|
||||
&& !sim->logicZeroOne(pin)) {
|
||||
if (checkPin(pin)) {
|
||||
const Corner *corner1;
|
||||
const RiseFall *rf;
|
||||
float capacitance, limit, slack;
|
||||
|
|
@ -312,4 +310,15 @@ CheckCapacitanceLimits::pinMinCapacitanceLimitSlack(Instance *inst,
|
|||
delete pin_iter;
|
||||
}
|
||||
|
||||
bool
|
||||
CheckCapacitanceLimits::checkPin(const Pin *pin)
|
||||
{
|
||||
const Network *network = sta_->network();
|
||||
const Sim *sim = sta_->sim();
|
||||
const Sdc *sdc = sta_->sdc();
|
||||
return network->direction(pin)->isAnyOutput()
|
||||
&& !sim->logicZeroOne(pin)
|
||||
&& !sdc->isDisabled(pin);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ protected:
|
|||
// Return values.
|
||||
Pin *&min_slack_pin,
|
||||
float &min_slack);
|
||||
bool checkPin(const Pin *pin);
|
||||
|
||||
const StaState *sta_;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -224,8 +224,7 @@ CheckFanoutLimits::pinFanoutLimitViolations(Instance *inst,
|
|||
InstancePinIterator *pin_iter = network->pinIterator(inst);
|
||||
while (pin_iter->hasNext()) {
|
||||
Pin *pin = pin_iter->next();
|
||||
if (network->direction(pin)->isAnyOutput()
|
||||
&& !sim->logicZeroOne(pin)) {
|
||||
if (checkPin(pin)) {
|
||||
float fanout;
|
||||
float limit, slack;
|
||||
checkFanout(pin, min_max, fanout, limit, slack );
|
||||
|
|
@ -262,12 +261,10 @@ CheckFanoutLimits::pinMinFanoutLimitSlack(Instance *inst,
|
|||
float &min_slack)
|
||||
{
|
||||
const Network *network = sta_->network();
|
||||
const Sim *sim = sta_->sim();
|
||||
InstancePinIterator *pin_iter = network->pinIterator(inst);
|
||||
while (pin_iter->hasNext()) {
|
||||
Pin *pin = pin_iter->next();
|
||||
if (network->direction(pin)->isAnyOutput()
|
||||
&& !sim->logicZeroOne(pin)) {
|
||||
if (checkPin(pin)) {
|
||||
float fanout;
|
||||
float limit, slack;
|
||||
checkFanout(pin, min_max, fanout, limit, slack);
|
||||
|
|
@ -282,4 +279,15 @@ CheckFanoutLimits::pinMinFanoutLimitSlack(Instance *inst,
|
|||
delete pin_iter;
|
||||
}
|
||||
|
||||
bool
|
||||
CheckFanoutLimits::checkPin(const Pin *pin)
|
||||
{
|
||||
const Network *network = sta_->network();
|
||||
const Sim *sim = sta_->sim();
|
||||
const Sdc *sdc = sta_->sdc();
|
||||
return network->direction(pin)->isAnyOutput()
|
||||
&& !sim->logicZeroOne(pin)
|
||||
&& !sdc->isDisabled(pin);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ protected:
|
|||
Pin *&min_slack_pin,
|
||||
float &min_slack);
|
||||
float fanoutLoad(const Pin *pin) const;
|
||||
bool checkPin(const Pin *pin);
|
||||
|
||||
const StaState *sta_;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue