本文整理汇总了C++中Net::getNPort方法的典型用法代码示例。如果您正苦于以下问题:C++ Net::getNPort方法的具体用法?C++ Net::getNPort怎么用?C++ Net::getNPort使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Net
的用法示例。
在下文中一共展示了Net::getNPort方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getPortCells
//{{{ CellSet Cell::getPortCells()
CellSet Cell::getPortCells(const size_t &i) const {
CellSet cells;
if (i >= ports_.size())
return cells;
Net *n = ports_[i]->inNet_;
if (!n)
return cells;
NetSet eqv = getEqvNets(n->id_);
for (NetSet::iterator it = eqv.begin() ; it != eqv.end(); ++it) {
Net *n = *it;
for (size_t i = 0; i < n->getNPort(); ++i) {
Port *p = n->getPort(i);
if (p->top_ != this)
cells.insert(p->top_);
}
}
return cells;
} //}}}
示例2: getFanin
//{{{ CellSet Cell::getFanin()
CellSet Cell::getFanin(const size_t &i) const {
CellSet fi;
if (i >= cells_.size())
return fi;
Cell *c = cells_[i];
NetSet eqvs;
for (size_t i = 0; i < c->getNPort(); ++i) {
if (c->getPort(i)->type_ != Port::INPUT || !c->getPort(i)->exNet_)
continue;
NetSet eqv = getEqvNets(c->getPort(i)->exNet_->id_);
eqvs.insert(eqv.begin(), eqv.end());
}
NetSet::iterator it = eqvs.begin();
for ( ; it != eqvs.end(); ++it) {
Net *n = *it;
for (size_t j = 0; j < n->getNPort(); ++j) {
Port *p = n->getPort(j);
if (p->top_ != this && p->type_ == Port::OUTPUT)
fi.insert(p->top_);
}
}
return fi;
} //}}}