Sta::makeCorners virtual
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
3ba6f0e527
commit
765309f609
|
|
@ -8,6 +8,7 @@ member variable - snake case with trailing underscore (member_variable_)
|
||||||
Trailing underscore prevents conflict with accessor
|
Trailing underscore prevents conflict with accessor
|
||||||
member function name.
|
member function name.
|
||||||
function - lower camel case (functionName)
|
function - lower camel case (functionName)
|
||||||
|
variable - snake case
|
||||||
comments - use capitalized sentences that end with periods
|
comments - use capitalized sentences that end with periods
|
||||||
|
|
||||||
C++ code files should use a .cc file extension
|
C++ code files should use a .cc file extension
|
||||||
|
|
@ -55,7 +56,7 @@ this:
|
||||||
instead, write this:
|
instead, write this:
|
||||||
|
|
||||||
foo = (char *) malloc (sizeof *foo);
|
foo = (char *) malloc (sizeof *foo);
|
||||||
if (foo == 0)
|
if (foo == nullptr)
|
||||||
fatal ("virtual memory exhausted");
|
fatal ("virtual memory exhausted");
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1236,7 +1236,7 @@ public:
|
||||||
void setCmdCorner(Corner *corner);
|
void setCmdCorner(Corner *corner);
|
||||||
Corner *findCorner(const char *corner_name);
|
Corner *findCorner(const char *corner_name);
|
||||||
bool multiCorner();
|
bool multiCorner();
|
||||||
void makeCorners(StringSet *corner_names);
|
virtual void makeCorners(StringSet *corner_names);
|
||||||
// Find all arc delays and vertex slews with delay calculator.
|
// Find all arc delays and vertex slews with delay calculator.
|
||||||
virtual void findDelays();
|
virtual void findDelays();
|
||||||
// Find arc delays and vertex slews thru to level of to_vertex.
|
// Find arc delays and vertex slews thru to level of to_vertex.
|
||||||
|
|
|
||||||
|
|
@ -1852,10 +1852,15 @@ LibertyCell::makeLatchEnable(LibertyPort *d,
|
||||||
latch_d_to_q_map_[d_to_q] = latch_enable;
|
latch_d_to_q_map_[d_to_q] = latch_enable;
|
||||||
latch_check_map_[setup_check] = latch_enable;
|
latch_check_map_[setup_check] = latch_enable;
|
||||||
latch_data_ports_.insert(d);
|
latch_data_ports_.insert(d);
|
||||||
debugPrint(debug, "liberty", 2, "latch d=%s en=%s %s q=%s",
|
debugPrint(debug, "liberty_latch", 1,
|
||||||
|
"latch %s -> %s | %s %s -> %s | %s %s -> %s setup",
|
||||||
d->name(),
|
d->name(),
|
||||||
|
q->name(),
|
||||||
en->name(),
|
en->name(),
|
||||||
en_rf->name(),
|
en_rf->shortName(),
|
||||||
|
q->name(),
|
||||||
|
en->name(),
|
||||||
|
setup_check->arcs()[0]->fromEdge()->asRiseFall()->shortName(),
|
||||||
q->name());
|
q->name());
|
||||||
return latch_enable;
|
return latch_enable;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -425,6 +425,7 @@ void
|
||||||
SdfReader::timingCheck(TimingRole *role, SdfPortSpec *data_edge,
|
SdfReader::timingCheck(TimingRole *role, SdfPortSpec *data_edge,
|
||||||
SdfPortSpec *clk_edge, SdfTriple *triple)
|
SdfPortSpec *clk_edge, SdfTriple *triple)
|
||||||
{
|
{
|
||||||
|
if (instance_) {
|
||||||
const char *data_port_name = data_edge->port();
|
const char *data_port_name = data_edge->port();
|
||||||
const char *clk_port_name = clk_edge->port();
|
const char *clk_port_name = clk_edge->port();
|
||||||
Cell *cell = network_->cell(instance_);
|
Cell *cell = network_->cell(instance_);
|
||||||
|
|
@ -432,6 +433,7 @@ SdfReader::timingCheck(TimingRole *role, SdfPortSpec *data_edge,
|
||||||
Port *clk_port = findPort(cell, clk_port_name);
|
Port *clk_port = findPort(cell, clk_port_name);
|
||||||
if (data_port && clk_port)
|
if (data_port && clk_port)
|
||||||
timingCheck1(role, data_port, data_edge, clk_port, clk_edge, triple);
|
timingCheck1(role, data_port, data_edge, clk_port, clk_edge, triple);
|
||||||
|
}
|
||||||
deletePortSpec(data_edge);
|
deletePortSpec(data_edge);
|
||||||
deletePortSpec(clk_edge);
|
deletePortSpec(clk_edge);
|
||||||
deleteTriple(triple);
|
deleteTriple(triple);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue