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 TableAxisPtr drvr_load_axis = loadCapacitanceAxis(drvr_table);
if (drvr_load_axis) {
const FloatSeq *drvr_axis_values = drvr_load_axis->values();
FloatSeq *load_values = new FloatSeq;
FloatSeq *slew_values = new FloatSeq;
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);
Slew slew = graph_->slew(output_vertex, rf, dcalc_ap->index());
return makeGateModelScalar(delay, slew, rf);
@ -622,11 +623,14 @@ MakeTimingModel::makeGateModelTable(const Pin *output_pin,
TableAxisPtr
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();
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();
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();
else
return nullptr;