regression failures

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2024-11-09 20:41:15 -08:00
parent a5e6787e61
commit fba5a77d26
3 changed files with 21 additions and 1 deletions

View File

@ -261,6 +261,9 @@ LibertyReader::defineVisitors()
defineAttrVisitor("index_2", &LibertyReader::visitIndex2);
defineAttrVisitor("index_3", &LibertyReader::visitIndex3);
defineGroupVisitor("technology",
&LibertyReader::beginTechnology,
&LibertyReader::endTechnology);
defineGroupVisitor("rise_transition_degradation",
&LibertyReader::beginRiseTransitionDegredation,
&LibertyReader::endRiseFallTransitionDegredation);
@ -651,6 +654,7 @@ LibertyReader::beginLibrary(LibertyGroup *group)
library_->units()->currentUnit()->setScale(current_scale_);
library_->units()->distanceUnit()->setScale(distance_scale_);
library_->setDelayModelType(DelayModelType::cmos_linear);
scale_factors_ = new ScaleFactors("");
library_->setScaleFactors(scale_factors_);
}
@ -1331,6 +1335,21 @@ LibertyReader::visitSlewDerateFromLibrary(LibertyAttr *attr)
////////////////////////////////////////////////////////////////
void
LibertyReader::beginTechnology(LibertyGroup *group)
{
if (library_) {
const char *tech = group->firstName();
if (stringEq(tech, "fpga"))
library_->setDelayModelType(DelayModelType::cmos_linear);
}
}
void
LibertyReader::endTechnology(LibertyGroup *)
{
}
void
LibertyReader::beginTableTemplateDelay(LibertyGroup *group)
{

View File

@ -144,6 +144,8 @@ public:
RiseFall *rf);
virtual void visitSlewDerateFromLibrary(LibertyAttr *attr);
virtual void beginTechnology(LibertyGroup *group);
virtual void endTechnology(LibertyGroup *group);
virtual void beginTableTemplateDelay(LibertyGroup *group);
virtual void beginTableTemplateOutputCurrent(LibertyGroup *group);
virtual void beginTableTemplate(LibertyGroup *group,

View File

@ -158,7 +158,6 @@ stringPrintTmp(const char *fmt,
if (tmp_length >= tmp_length1) {
tmp_length1 = tmp_length + 1;
stringDelete(tmp);
tmp = makeTmpString(tmp_length1);
va_copy(args_copy, args);
tmp_length = vsnprint(tmp, tmp_length1, fmt, args_copy);