Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2023-02-10 11:52:28 -07:00
parent 72d63492dd
commit c94ee132bc
1 changed files with 41 additions and 37 deletions

View File

@ -569,8 +569,8 @@ MakeTimingModel::makeGateModelTable(const Pin *output_pin,
const TableModel *drvr_table = drvr_gate_model->delayModel(); const TableModel *drvr_table = drvr_gate_model->delayModel();
const TableAxisPtr drvr_load_axis = loadCapacitanceAxis(drvr_table); const TableAxisPtr drvr_load_axis = loadCapacitanceAxis(drvr_table);
if (drvr_load_axis) {
const FloatSeq *drvr_axis_values = drvr_load_axis->values(); const FloatSeq *drvr_axis_values = drvr_load_axis->values();
FloatSeq *load_values = new FloatSeq; FloatSeq *load_values = new FloatSeq;
FloatSeq *slew_values = new FloatSeq; FloatSeq *slew_values = new FloatSeq;
for (size_t i = 0; i < drvr_axis_values->size(); i++) { for (size_t i = 0; i < drvr_axis_values->size(); i++) {
@ -614,6 +614,7 @@ MakeTimingModel::makeGateModelTable(const Pin *output_pin,
} }
} }
} }
}
Vertex *output_vertex = graph_->pinLoadVertex(output_pin); Vertex *output_vertex = graph_->pinLoadVertex(output_pin);
Slew slew = graph_->slew(output_vertex, rf, dcalc_ap->index()); Slew slew = graph_->slew(output_vertex, rf, dcalc_ap->index());
return makeGateModelScalar(delay, slew, rf); return makeGateModelScalar(delay, slew, rf);
@ -622,11 +623,14 @@ MakeTimingModel::makeGateModelTable(const Pin *output_pin,
TableAxisPtr TableAxisPtr
MakeTimingModel::loadCapacitanceAxis(const TableModel *table) MakeTimingModel::loadCapacitanceAxis(const TableModel *table)
{ {
if (table->axis1()->variable() == TableAxisVariable::total_output_net_capacitance) if (table->axis1()
&& table->axis1()->variable() == TableAxisVariable::total_output_net_capacitance)
return table->axis1(); return table->axis1();
else if (table->axis2()->variable() == TableAxisVariable::total_output_net_capacitance) else if (table->axis2()
&& table->axis2()->variable() == TableAxisVariable::total_output_net_capacitance)
return table->axis2(); return table->axis2();
else if (table->axis3()->variable() == TableAxisVariable::total_output_net_capacitance) else if (table->axis3()
&& table->axis3()->variable() == TableAxisVariable::total_output_net_capacitance)
return table->axis3(); return table->axis3();
else else
return nullptr; return nullptr;