write_timing_model min_clock_tree_path seg fault
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
03afb36d01
commit
099920fc8e
|
|
@ -240,11 +240,13 @@ TimingArcSet::addTimingArc(TimingArc *arc)
|
||||||
criticalError(243, "timing arc max index exceeded\n");
|
criticalError(243, "timing arc max index exceeded\n");
|
||||||
arcs_.push_back(arc);
|
arcs_.push_back(arc);
|
||||||
|
|
||||||
int from_rf_index = arc->fromEdge()->asRiseFall()->index();
|
if (arc->fromEdge()) {
|
||||||
if (from_arc1_[from_rf_index] == nullptr)
|
int from_rf_index = arc->fromEdge()->asRiseFall()->index();
|
||||||
from_arc1_[from_rf_index] = arc;
|
if (from_arc1_[from_rf_index] == nullptr)
|
||||||
else if (from_arc2_[from_rf_index] == nullptr)
|
from_arc1_[from_rf_index] = arc;
|
||||||
from_arc2_[from_rf_index] = arc;
|
else if (from_arc2_[from_rf_index] == nullptr)
|
||||||
|
from_arc2_[from_rf_index] = arc;
|
||||||
|
}
|
||||||
|
|
||||||
int to_rf_index = arc->toEdge()->asRiseFall()->index();
|
int to_rf_index = arc->toEdge()->asRiseFall()->index();
|
||||||
to_arc_[to_rf_index] = arc;
|
to_arc_[to_rf_index] = arc;
|
||||||
|
|
@ -476,8 +478,8 @@ timingArcsLess(const TimingArcSet *arc_set1,
|
||||||
arc_itr1++, arc_itr2++) {
|
arc_itr1++, arc_itr2++) {
|
||||||
const TimingArc *arc1 = *arc_itr1;
|
const TimingArc *arc1 = *arc_itr1;
|
||||||
const TimingArc *arc2 = *arc_itr2;
|
const TimingArc *arc2 = *arc_itr2;
|
||||||
int from_index1 = arc1->fromEdge()->index();
|
int from_index1 = arc1->fromEdge() ? arc1->fromEdge()->index() : -1;
|
||||||
int from_index2 = arc2->fromEdge()->index();
|
int from_index2 = arc2->fromEdge() ? arc2->fromEdge()->index() : -1;
|
||||||
if (from_index1 < from_index2)
|
if (from_index1 < from_index2)
|
||||||
return true;
|
return true;
|
||||||
if (from_index1 > from_index2)
|
if (from_index1 > from_index2)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue