Lines Matching defs:node_

52     bool ElectricalTimingTree::performTimingOpt(ElectricalTimingNode* node_, double required_delay_)
55 double delay = performCritPathExtract(node_);
78 node_for_timing_opt = findNodeForTimingOpt(node_);
88 delay = calculateCritPathDelay(node_);
101 delay = performCritPathExtract(node_);
125 double ElectricalTimingTree::performCritPathExtract(ElectricalTimingNode* node_)
128 return extractCritPathDelay(node_);
131 double ElectricalTimingTree::extractCritPathDelay(ElectricalTimingNode* node_)
138 if (node_->getVisitedNum() == getTreeNum())
139 return node_->getDelayLeft();
141 else if (node_->getFalsePath())
145 node_->setVisitedNum(getTreeNum());
146 node_->setDelayLeft(0.0);
152 vector<ElectricalTimingNode*>* d_nodes = node_->getDownstreamNodes();
159 node_->setCritPath(i);
164 double delay_left = node_->calculateDelay() + max_delay;
165 node_->setDelayLeft(delay_left);
171 double ElectricalTimingTree::calculateCritPathDelay(ElectricalTimingNode* node_) const
174 if (node_ == NULL)
183 delay += node_->calculateDelay();
185 crit_path = node_->getCritPath();
187 node_ = node_->getDownstreamNodes()->at(crit_path);
196 ElectricalTimingNode* ElectricalTimingTree::findNodeForTimingOpt(ElectricalTimingNode* node_) const
199 if (node_ == NULL)
204 double previous_transition = 1e3 * node_->getTotalDownstreamCap();
212 current_transition = node_->calculateDelay();
215 if (!node_->hasMaxDrivingStrength())
221 worst = node_;
226 if (node_->isDriver())
231 crit_path = node_->getCritPath();
234 node_ = node_->getDownstreamNodes()->at(crit_path);
241 double ElectricalTimingTree::calculateNodeTransition(ElectricalTimingNode* node_) const
243 return node_->calculateTransition();