slew limit check respect set_disable_timing [get_lib_ports]

This commit is contained in:
James Cherry 2020-05-10 15:30:01 -07:00
parent 7c02b7425a
commit c8b2b65fe3
3 changed files with 17 additions and 1 deletions

View File

@ -6128,6 +6128,17 @@ Sdc::annotateDisables(bool annotate)
annotateGraphDisabled(pin, annotate);
}
if (!disabled_lib_ports_.empty()) {
VertexIterator vertex_iter(graph_);
while (vertex_iter.hasNext()) {
Vertex *vertex = vertex_iter.next();
Pin *pin = vertex->pin();
LibertyPort *port = network_->libertyPort(pin);
if (disabled_lib_ports_.hasKey(port))
annotateGraphDisabled(pin, annotate);
}
}
Instance *top_inst = network_->topInstance();
PortSet::Iterator port_iter(disabled_ports_);
while (port_iter.hasNext()) {

View File

@ -137,7 +137,8 @@ CheckSlewLimits::checkSlews1(const Pin *pin,
{
Vertex *vertex, *bidirect_drvr_vertex;
sta_->graph()->pinVertices(pin, vertex, bidirect_drvr_vertex);
if (!vertex->isDisabledConstraint())
if (vertex
&& !vertex->isDisabledConstraint())
checkSlews1(vertex, corner, min_max,
corner1, rf, slew, limit, slack);
if (bidirect_drvr_vertex

View File

@ -5242,6 +5242,7 @@ find_cells_matching(const char *pattern,
} // Library methods
%extend LibertyLibrary {
const char *name() { return self->name(); }
LibertyCell *
find_liberty_cell(const char *name)
@ -5326,6 +5327,7 @@ find_ports_matching(const char *pattern,
} // Cell methods
%extend LibertyCell {
const char *name() { return self->name(); }
bool is_leaf() { return self->isLeaf(); }
LibertyLibrary *liberty_library() { return self->libertyLibrary(); }
Cell *cell() { return reinterpret_cast<Cell*>(self); }
@ -5883,6 +5885,8 @@ is_clock()
return search->isClock(self);
}
bool is_disabled_constraint() { return self->isDisabledConstraint(); }
} // Vertex methods
%extend Edge {