diff --git a/dcalc/DelayCalc.tcl b/dcalc/DelayCalc.tcl index e2cde430..c9d25c75 100644 --- a/dcalc/DelayCalc.tcl +++ b/dcalc/DelayCalc.tcl @@ -116,7 +116,7 @@ proc set_delay_calculator { alg } { if { [is_delay_calc_name $alg] } { set_delay_calculator_cmd $alg } else { - sta_error 435 "delay calculator $alg not found." + sta_error 180 "delay calculator $alg not found." } } @@ -145,38 +145,38 @@ proc set_assigned_delay_cmd { cmd cmd_args } { if [info exists keys(-from)] { set from_pins [get_port_pins_error "from_pins" $keys(-from)] } else { - sta_error 442 "$cmd missing -from argument." + sta_error 181 "$cmd missing -from argument." } if [info exists keys(-to)] { set to_pins [get_port_pins_error "to_pins" $keys(-to)] } else { - sta_error 443 "$cmd missing -to argument." + sta_error 182 "$cmd missing -to argument." } set delay [lindex $cmd_args 0] if {![string is double $delay]} { - sta_error 444 "$cmd delay is not a float." + sta_error 183 "$cmd delay is not a float." } set delay [time_ui_sta $delay] if {[info exists flags(-cell)] && [info exists flags(-net)]} { - sta_error 445 "set_annotated_delay -cell and -net options are mutually excluive." + sta_error 184 "set_annotated_delay -cell and -net options are mutually excluive." } elseif {[info exists flags(-cell)]} { if { $from_pins != {} } { set inst [[lindex $from_pins 0] instance] foreach pin $from_pins { if {[$pin instance] != $inst} { - sta_error 446 "$cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst]." + sta_error 185 "$cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst]." } } foreach pin $to_pins { if {[$pin instance] != $inst} { - sta_error 447 "$cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst]" + sta_error 186 "$cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst]" } } } } elseif {![info exists flags(-net)]} { - sta_error 448 "$cmd -cell or -net required." + sta_error 187 "$cmd -cell or -net required." } foreach from_pin $from_pins { set from_vertices [$from_pin vertices] @@ -240,7 +240,7 @@ proc set_assigned_check_cmd { cmd cmd_args } { if { [info exists keys(-from)] } { set from_pins [get_port_pins_error "from_pins" $keys(-from)] } else { - sta_error 449 "$cmd missing -from argument." + sta_error 188 "$cmd missing -from argument." } set from_rf "rise_fall" if { [info exists keys(-clock)] } { @@ -249,14 +249,14 @@ proc set_assigned_check_cmd { cmd cmd_args } { || $clk_arg eq "fall" } { set from_rf $clk_arg } else { - sta_error 450 "$cmd -clock must be rise or fall." + sta_error 189 "$cmd -clock must be rise or fall." } } if { [info exists keys(-to)] } { set to_pins [get_port_pins_error "to_pins" $keys(-to)] } else { - sta_error 451 "$cmd missing -to argument." + sta_error 190 "$cmd missing -to argument." } set to_rf [parse_rise_fall_flags flags] set corner [parse_corner keys] @@ -271,7 +271,7 @@ proc set_assigned_check_cmd { cmd cmd_args } { } elseif { [info exists flags(-removal)] } { set role "removal" } else { - sta_error 452 "$cmd missing -setup|-hold|-recovery|-removal check type.." + sta_error 191 "$cmd missing -setup|-hold|-recovery|-removal check type.." } set cond "" if { [info exists key(-cond)] } { @@ -279,7 +279,7 @@ proc set_assigned_check_cmd { cmd cmd_args } { } set check_value [lindex $cmd_args 0] if { ![string is double $check_value] } { - sta_error 453 "$cmd check_value is not a float." + sta_error 192 "$cmd check_value is not a float." } set check_value [time_ui_sta $check_value] @@ -347,7 +347,7 @@ proc set_assigned_transition { args } { set slew [lindex $args 0] if {![string is double $slew]} { - sta_error 428 "set_assigned_transition transition is not a float." + sta_error 210 "set_assigned_transition transition is not a float." } set slew [time_ui_sta $slew] set pins [get_port_pins_error "pins" [lindex $args 1]] diff --git a/dcalc/DmpCeff.cc b/dcalc/DmpCeff.cc index da9351a6..7e29ae6f 100644 --- a/dcalc/DmpCeff.cc +++ b/dcalc/DmpCeff.cc @@ -1551,7 +1551,7 @@ DmpCeffDelayCalc::gateDelay(const Pin *drvr_pin, float c2, rpi, c1; parasitics_->piModel(parasitic, c2, rpi, c1); if (isnan(c2) || isnan(c1) || isnan(rpi)) - report_->error(618, "parasitic Pi model has NaNs."); + report_->error(1040, "parasitic Pi model has NaNs."); setCeffAlgorithm(drvr_library, drvr_cell, pinPvt(drvr_pin, dcalc_ap), table_model, rf, in_slew1, c2, rpi, c1); double gate_delay, drvr_slew; @@ -1579,7 +1579,7 @@ DmpCeffDelayCalc::gateDelay(const Pin *drvr_pin, if (parasitic && !unsuppored_model_warned_) { unsuppored_model_warned_ = true; - report_->warn(1, "cell %s delay model not supported on SPF parasitics by DMP delay calculator", + report_->warn(1041, "cell %s delay model not supported on SPF parasitics by DMP delay calculator", drvr_cell->name()); } return dcalc_result; diff --git a/dcalc/GraphDelayCalc.cc b/dcalc/GraphDelayCalc.cc index f0414b98..d852bb8f 100644 --- a/dcalc/GraphDelayCalc.cc +++ b/dcalc/GraphDelayCalc.cc @@ -477,7 +477,7 @@ GraphDelayCalc::findPortIndex(const LibertyCell *cell, return index; index++; } - report_->critical(207, "port not found in cell"); + report_->critical(1100, "port not found in cell"); return 0; } diff --git a/dcalc/LumpedCapDelayCalc.cc b/dcalc/LumpedCapDelayCalc.cc index 3f91a37f..4330151b 100644 --- a/dcalc/LumpedCapDelayCalc.cc +++ b/dcalc/LumpedCapDelayCalc.cc @@ -135,7 +135,7 @@ LumpedCapDelayCalc::gateDelay(const Pin *drvr_pin, float in_slew1 = delayAsFloat(in_slew); // NaNs cause seg faults during table lookup. if (isnan(load_cap) || isnan(delayAsFloat(in_slew))) - report_->error(710, "gate delay input variable is NaN"); + report_->error(1350, "gate delay input variable is NaN"); model->gateDelay(pinPvt(drvr_pin, dcalc_ap), in_slew1, load_cap, pocv_enabled_, gate_delay, drvr_slew); return makeResult(drvr_library, rf, gate_delay, drvr_slew, load_pin_index_map); diff --git a/graph/DelayNormal1.cc b/graph/DelayNormal1.cc index b677b198..0aa0488e 100644 --- a/graph/DelayNormal1.cc +++ b/graph/DelayNormal1.cc @@ -200,7 +200,7 @@ delayAsFloat(const Delay &delay, else if (early_late == EarlyLate::late()) return delay.mean() + delay.sigma() * sta->sigmaFactor(); else - sta->report()->critical(594, "unknown early/late value."); + sta->report()->critical(1020, "unknown early/late value."); } return delay.mean(); } diff --git a/graph/DelayNormal2.cc b/graph/DelayNormal2.cc index a58787a3..f66cd35f 100644 --- a/graph/DelayNormal2.cc +++ b/graph/DelayNormal2.cc @@ -375,7 +375,7 @@ delayAsFloat(const Delay &delay, else if (early_late == EarlyLate::late()) return delay.mean() + delay.sigma(early_late) * sta->sigmaFactor(); else - sta->report()->critical(595, "unknown early/late value."); + sta->report()->critical(1030, "unknown early/late value."); } return delay.mean(); } diff --git a/graph/Graph.cc b/graph/Graph.cc index 29af550a..0b202c3f 100644 --- a/graph/Graph.cc +++ b/graph/Graph.cc @@ -790,7 +790,7 @@ Graph::arcDelayAnnotated(const Edge *edge, if (arc_delay_annotated_.size()) { size_t index = (edge->arcDelays() + arc->index()) * ap_count_ + ap_index; if (index >= arc_delay_annotated_.size()) - report_->critical(208, "arc_delay_annotated array bounds exceeded"); + report_->critical(1080, "arc_delay_annotated array bounds exceeded"); return arc_delay_annotated_[index]; } else @@ -805,7 +805,7 @@ Graph::setArcDelayAnnotated(Edge *edge, { size_t index = (edge->arcDelays() + arc->index()) * ap_count_ + ap_index; if (index >= arc_delay_annotated_.size()) - report_->critical(209, "arc_delay_annotated array bounds exceeded"); + report_->critical(1081, "arc_delay_annotated array bounds exceeded"); arc_delay_annotated_[index] = annotated; } @@ -817,7 +817,7 @@ Graph::wireDelayAnnotated(Edge *edge, size_t index = (edge->arcDelays() + TimingArcSet::wireArcIndex(rf)) * ap_count_ + ap_index; if (index >= arc_delay_annotated_.size()) - report_->critical(210, "arc_delay_annotated array bounds exceeded"); + report_->critical(1082, "arc_delay_annotated array bounds exceeded"); return arc_delay_annotated_[index]; } @@ -830,7 +830,7 @@ Graph::setWireDelayAnnotated(Edge *edge, size_t index = (edge->arcDelays() + TimingArcSet::wireArcIndex(rf)) * ap_count_ + ap_index; if (index >= arc_delay_annotated_.size()) - report_->critical(228, "arc_delay_annotated array bounds exceeded"); + report_->critical(1083, "arc_delay_annotated array bounds exceeded"); arc_delay_annotated_[index] = annotated; } diff --git a/liberty/Liberty.cc b/liberty/Liberty.cc index 6b8be6c0..0997e759 100644 --- a/liberty/Liberty.cc +++ b/liberty/Liberty.cc @@ -763,7 +763,7 @@ LibertyLibrary::makeCornerMap(LibertyCell *cell1, port1->setCornerPort(port2, ap_index); } else - report->warn(2, "cell %s/%s port %s not found in cell %s/%s.", + report->warn(1110, "cell %s/%s port %s not found in cell %s/%s.", cell1->library()->name(), cell1->name(), port_name, @@ -789,7 +789,7 @@ LibertyLibrary::makeCornerMap(LibertyCell *cell1, } } else - report->warn(3, "cell %s/%s %s -> %s timing group %s not found in cell %s/%s.", + report->warn(1111, "cell %s/%s %s -> %s timing group %s not found in cell %s/%s.", cell1->library()->name(), cell1->name(), arc_set1->from()->name(), @@ -808,7 +808,7 @@ LibertyLibrary::checkCorners(LibertyCell *cell, for (const Corner *corner : *corners) { for (auto min_max : MinMax::range()) { if (!cell->checkCornerCell(corner, min_max)) - report->error(705, "Liberty cell %s/%s for corner %s/%s not found.", + report->error(1112, "Liberty cell %s/%s for corner %s/%s not found.", cell->libertyLibrary()->name(), cell->name(), corner->name(), @@ -1745,7 +1745,7 @@ LibertyCell::makeLatchEnables(Report *report, RiseFall *en_rf = latch_enable->enableEdge(); RiseFall *check_rf = check_arc->fromEdge()->asRiseFall(); if (check_rf == en_rf) - report->warn(4, "cell %s/%s %s -> %s latch enable %s_edge is inconsistent with %s -> %s setup_%s check.", + report->warn(1113, "cell %s/%s %s -> %s latch enable %s_edge is inconsistent with %s -> %s setup_%s check.", library_->name(), name_, en->name(), @@ -1759,7 +1759,7 @@ LibertyCell::makeLatchEnables(Report *report, TimingSense en_sense = en_func->portTimingSense(en); if (en_sense == TimingSense::positive_unate && en_rf != RiseFall::rise()) - report->warn(5, "cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function positive sense.", + report->warn(1114, "cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function positive sense.", library_->name(), name_, en->name(), @@ -1767,7 +1767,7 @@ LibertyCell::makeLatchEnables(Report *report, en_rf == RiseFall::rise()?"rising":"falling"); else if (en_sense == TimingSense::negative_unate && en_rf != RiseFall::fall()) - report->warn(6, "cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function negative sense.", + report->warn(1115, "cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function negative sense.", library_->name(), name_, en->name(), diff --git a/liberty/LibertyExpr.cc b/liberty/LibertyExpr.cc index a551c907..8c7cd407 100644 --- a/liberty/LibertyExpr.cc +++ b/liberty/LibertyExpr.cc @@ -79,7 +79,7 @@ LibExprParser::makeFuncExprPort(const char *port_name) if (port) expr = FuncExpr::makePort(port); else - report_->warn(7, "%s references unknown port %s.", + report_->warn(1130, "%s references unknown port %s.", error_msg_, port_name); stringDelete(port_name); return expr; @@ -172,7 +172,7 @@ LibExprParser::tokenAppend(char ch) void LibExprParser::parseError(const char *msg) { - report_->error(206, "%s %s.", error_msg_, msg); + report_->error(1131, "%s %s.", error_msg_, msg); } } // namespace diff --git a/liberty/LibertyReader.cc b/liberty/LibertyReader.cc index a5350d7a..a636349a 100644 --- a/liberty/LibertyReader.cc +++ b/liberty/LibertyReader.cc @@ -595,7 +595,7 @@ LibertyReader::beginLibrary(LibertyGroup *group) if (name) { LibertyLibrary *library = network_->findLiberty(name); if (library) - libWarn(53, group, "library %s already exists.", name); + libWarn(1140, group, "library %s already exists.", name); // Make a new library even if a library with the same name exists. // Both libraries may be accessed by min/max analysis points. library_ = network_->makeLibertyLibrary(name, filename_); @@ -629,7 +629,7 @@ LibertyReader::beginLibrary(LibertyGroup *group) library_->setScaleFactors(scale_factors_); } else - libError(30, group, "library missing name."); + libError(1141, group, "library missing name."); } // Energy scale is derived. @@ -655,7 +655,7 @@ LibertyReader::endLibraryAttrs(LibertyGroup *group) if (wireload) library_->setDefaultWireload(wireload); else - libWarn(31, group, "default_wire_load %s not found.", default_wireload_); + libWarn(1142, group, "default_wire_load %s not found.", default_wireload_); stringDelete(default_wireload_); default_wireload_ = nullptr; } @@ -666,7 +666,7 @@ LibertyReader::endLibraryAttrs(LibertyGroup *group) if (selection) library_->setDefaultWireloadSelection(selection); else - libWarn(32, group, "default_wire_selection %s not found.", + libWarn(1143, group, "default_wire_selection %s not found.", default_wireload_selection_); stringDelete(default_wireload_selection_); default_wireload_selection_ = nullptr; @@ -678,7 +678,7 @@ LibertyReader::endLibraryAttrs(LibertyGroup *group) if (op_cond) library_->setDefaultOperatingConditions(op_cond); else - libWarn(60, group, "default_operating_condition %s not found.", + libWarn(1144, group, "default_operating_condition %s not found.", default_operating_condition_); stringDelete(default_operating_condition_); default_operating_condition_ = nullptr; @@ -688,24 +688,24 @@ LibertyReader::endLibraryAttrs(LibertyGroup *group) for (auto tr : RiseFall::range()) { int tr_index = tr->index(); if (!have_input_threshold_[tr_index]) { - libWarn(33, group, "input_threshold_pct_%s not found.", tr->name()); + libWarn(1145, group, "input_threshold_pct_%s not found.", tr->name()); missing_threshold = true; } if (!have_output_threshold_[tr_index]) { - libWarn(34, group, "output_threshold_pct_%s not found.", tr->name()); + libWarn(1146, group, "output_threshold_pct_%s not found.", tr->name()); missing_threshold = true; } if (!have_slew_lower_threshold_[tr_index]) { - libWarn(35, group, "slew_lower_threshold_pct_%s not found.", tr->name()); + libWarn(1147, group, "slew_lower_threshold_pct_%s not found.", tr->name()); missing_threshold = true; } if (!have_slew_upper_threshold_[tr_index]) { - libWarn(36, group, "slew_upper_threshold_pct_%s not found.", tr->name()); + libWarn(1148, group, "slew_upper_threshold_pct_%s not found.", tr->name()); missing_threshold = true; } } if (missing_threshold) - libError(37, group, "Library %s is missing one or more thresholds.", + libError(1149, group, "Library %s is missing one or more thresholds.", library_->name()); } @@ -784,7 +784,7 @@ LibertyReader::parseUnits(LibertyAttr *attr, else if (unit_mult == "100") mult = 100.0F; else - libWarn(38, attr, "unknown unit multiplier %s.", unit_mult.c_str()); + libWarn(1150, attr, "unknown unit multiplier %s.", unit_mult.c_str()); } else scale_suffix = units; @@ -807,13 +807,13 @@ LibertyReader::parseUnits(LibertyAttr *attr, else if (scale_char == 'f') scale_mult = 1E-15F; else - libWarn(39, attr, "unknown unit scale %c.", scale_char); + libWarn(1151, attr, "unknown unit scale %c.", scale_char); } else - libWarn(40, attr, "unknown unit suffix %s.", suffix.c_str()); + libWarn(1152, attr, "unknown unit suffix %s.", suffix.c_str()); } else if (!stringEqual(scale_suffix.c_str(), unit_suffix)) - libWarn(171, attr, "unknown unit suffix %s.", scale_suffix.c_str()); + libWarn(1153, attr, "unknown unit suffix %s.", scale_suffix.c_str()); scale_var = scale_mult * mult; unit->setScale(scale_var); } @@ -838,22 +838,22 @@ LibertyReader::visitCapacitiveLoadUnit(LibertyAttr *attr) else if (stringEqual(suffix, "pf")) cap_scale_ = scale * 1E-12F; else - libWarn(41, attr, "capacitive_load_units are not ff or pf."); + libWarn(1154, attr, "capacitive_load_units are not ff or pf."); } else - libWarn(42, attr, "capacitive_load_units are not a string."); + libWarn(1155, attr, "capacitive_load_units are not a string."); } else - libWarn(43, attr, "capacitive_load_units missing suffix."); + libWarn(1156, attr, "capacitive_load_units missing suffix."); } else - libWarn(44, attr, "capacitive_load_units scale is not a float."); + libWarn(1157, attr, "capacitive_load_units scale is not a float."); } else - libWarn(45, attr, "capacitive_load_units missing scale and suffix."); + libWarn(1158, attr, "capacitive_load_units missing scale and suffix."); } else - libWarn(46, attr, "capacitive_load_unit missing values suffix."); + libWarn(1159, attr, "capacitive_load_unit missing values suffix."); library_->units()->capacitanceUnit()->setScale(cap_scale_); setEnergyScale(); } @@ -871,23 +871,23 @@ LibertyReader::visitDelayModel(LibertyAttr *attr) library_->setDelayModelType(DelayModelType::cmos_linear); else if (stringEq(type_name, "piecewise_cmos")) { library_->setDelayModelType(DelayModelType::cmos_pwl); - libWarn(47, attr, "delay_model %s not supported.", type_name); + libWarn(1160, attr, "delay_model %s not supported.", type_name); } else if (stringEq(type_name, "cmos2")) { library_->setDelayModelType(DelayModelType::cmos2); - libWarn(48, attr, "delay_model %s not supported.", type_name); + libWarn(1161, attr, "delay_model %s not supported.", type_name); } else if (stringEq(type_name, "polynomial")) { library_->setDelayModelType(DelayModelType::polynomial); - libWarn(49, attr, "delay_model %s not supported.", type_name); + libWarn(1162, attr, "delay_model %s not supported.", type_name); } // Evil IBM garbage. else if (stringEq(type_name, "dcm")) { library_->setDelayModelType(DelayModelType::dcm); - libWarn(50, attr, "delay_model %s not supported.\n.", type_name); + libWarn(1163, attr, "delay_model %s not supported.\n.", type_name); } else - libWarn(51, attr, "unknown delay_model %s\n.", type_name); + libWarn(1164, attr, "unknown delay_model %s\n.", type_name); } } } @@ -906,7 +906,7 @@ LibertyReader::visitBusStyle(LibertyAttr *attr) && bus_style[4] == 'd') library_->setBusBrkts(bus_style[2], bus_style[5]); else - libWarn(52, attr, "unknown bus_naming_style format."); + libWarn(1165, attr, "unknown bus_naming_style format."); } } @@ -927,19 +927,19 @@ LibertyReader::visitVoltageMap(LibertyAttr *attr) library_->addSupplyVoltage(supply_name, voltage); } else - libWarn(54, attr, "voltage_map voltage is not a float."); + libWarn(1166, attr, "voltage_map voltage is not a float."); } else - libWarn(55, attr, "voltage_map missing voltage."); + libWarn(1167, attr, "voltage_map missing voltage."); } else - libWarn(56, attr, "voltage_map supply name is not a string."); + libWarn(1168, attr, "voltage_map supply name is not a string."); } else - libWarn(57, attr, "voltage_map missing supply name and voltage."); + libWarn(1169, attr, "voltage_map missing supply name and voltage."); } else - libWarn(58, attr, "voltage_map missing values suffix."); + libWarn(1170, attr, "voltage_map missing values suffix."); } } @@ -1024,7 +1024,7 @@ LibertyReader::visitDefaultMaxTransition(LibertyAttr *attr) getAttrFloat(attr, value, exists); if (exists) { if (value == 0.0) - libWarn(160, attr, "default_max_transition is 0.0."); + libWarn(1171, attr, "default_max_transition is 0.0."); library_->setDefaultMaxSlew(value * time_scale_); } } @@ -1039,7 +1039,7 @@ LibertyReader::visitDefaultMaxFanout(LibertyAttr *attr) getAttrFloat(attr, value, exists); if (exists) { if (value == 0.0) - libWarn(16, attr, "default_max_fanout is 0.0."); + libWarn(1172, attr, "default_max_fanout is 0.0."); library_->setDefaultMaxFanout(value); } } @@ -1129,7 +1129,7 @@ LibertyReader::visitDefaultFanoutLoad(LibertyAttr *attr) getAttrFloat(attr, value, exists); if (exists) { if (value == 0.0) - libWarn(163, attr, "default_fanout_load is 0.0."); + libWarn(1173, attr, "default_fanout_load is 0.0."); library_->setDefaultFanoutLoad(value); } } @@ -1157,7 +1157,7 @@ LibertyReader::visitDefaultWireLoadMode(LibertyAttr *attr) if (mode != WireloadMode::unknown) library_->setDefaultWireloadMode(mode); else - libWarn(59, attr, "default_wire_load_mode %s not found.", + libWarn(1174, attr, "default_wire_load_mode %s not found.", wire_load_mode); } } @@ -1328,7 +1328,7 @@ LibertyReader::beginTableTemplate(LibertyGroup *group, library_->addTableTemplate(tbl_template_, type); } else - libWarn(61, group, "table template missing name."); + libWarn(1175, group, "table template missing name."); axis_var_[0] = axis_var_[1] = axis_var_[2] = TableAxisVariable::unknown; clearAxisValues(); } @@ -1373,7 +1373,7 @@ LibertyReader::makeAxis(int index, return make_shared(axis_var, axis_values); } else if (axis_values) { - libWarn(62, group, "missing variable_%d attribute.", index + 1); + libWarn(1176, group, "missing variable_%d attribute.", index + 1); delete axis_values; axis_values_[index] = nullptr; } @@ -1415,7 +1415,7 @@ LibertyReader::visitVariable(int index, const char *type = getAttrString(attr); TableAxisVariable var = stringTableAxisVariable(type); if (var == TableAxisVariable::unknown) - libWarn(63, attr, "axis type %s not supported.", type); + libWarn(1297, attr, "axis type %s not supported.", type); else axis_var_[index] = var; } @@ -1449,13 +1449,13 @@ LibertyReader::visitIndex(int index, FloatSeq *axis_values = readFloatSeq(attr, 1.0F); if (axis_values) { if (axis_values->empty()) - libWarn(172, attr, "missing table index values."); + libWarn(1177, attr, "missing table index values."); else { float prev = (*axis_values)[0]; for (size_t i = 1; i < axis_values->size(); i++) { float value = (*axis_values)[i]; if (value <= prev) - libWarn(173, attr, "non-increasing table index values."); + libWarn(1178, attr, "non-increasing table index values."); prev = value; } } @@ -1487,13 +1487,13 @@ LibertyReader::endType(LibertyGroup *group) } else { if (!type_bit_from_exists_) - libWarn(64, group, "bus type %s missing bit_from.", name); + libWarn(1179, group, "bus type %s missing bit_from.", name); if (!type_bit_to_exists_) - libWarn(65, group, "bus type %s missing bit_to.", name); + libWarn(1180, group, "bus type %s missing bit_to.", name); } } else - libWarn(66, group, "type missing name."); + libWarn(1181, group, "type missing name."); } void @@ -1520,7 +1520,7 @@ LibertyReader::beginScalingFactors(LibertyGroup *group) library_->addScaleFactors(scale_factors_); } else - libWarn(67, group, "scaling_factors do not have a name."); + libWarn(1182, group, "scaling_factors do not have a name."); } void @@ -1689,7 +1689,7 @@ LibertyReader::beginOpCond(LibertyGroup *group) library_->addOperatingConditions(op_cond_); } else - libWarn(68, group, "operating_conditions missing name."); + libWarn(1183, group, "operating_conditions missing name."); } } @@ -1760,7 +1760,7 @@ LibertyReader::beginWireload(LibertyGroup *group) } } else - libWarn(69, group, "wire_load missing name."); + libWarn(1184, group, "wire_load missing name."); } void @@ -1803,7 +1803,7 @@ LibertyReader::visitFanoutLength(LibertyAttr *attr) if (exists) wireload_->addFanoutLength(fanout, length); else - libWarn(70, attr, "fanout_length is missing length and fanout."); + libWarn(1185, attr, "fanout_length is missing length and fanout."); } } @@ -1818,7 +1818,7 @@ LibertyReader::beginWireloadSelection(LibertyGroup *group) } } else - libWarn(71, group, "wire_load_selection missing name."); + libWarn(1186, group, "wire_load_selection missing name."); } void @@ -1849,23 +1849,23 @@ LibertyReader::visitWireloadFromArea(LibertyAttr *attr) wireload_selection_->addWireloadFromArea(min_area, max_area, wireload); else - libWarn(72, attr, "wireload %s not found.", wireload_name); + libWarn(1187, attr, "wireload %s not found.", wireload_name); } else - libWarn(73, attr, + libWarn(1188, attr, "wire_load_from_area wireload name not a string."); } else - libWarn(74, attr, "wire_load_from_area min not a float."); + libWarn(1189, attr, "wire_load_from_area min not a float."); } else - libWarn(75, attr, "wire_load_from_area max not a float."); + libWarn(1190, attr, "wire_load_from_area max not a float."); } else - libWarn(76, attr, "wire_load_from_area missing parameters."); + libWarn(1191, attr, "wire_load_from_area missing parameters."); } else - libWarn(77, attr, "wire_load_from_area missing parameters."); + libWarn(1192, attr, "wire_load_from_area missing parameters."); } } @@ -1884,7 +1884,7 @@ LibertyReader::beginCell(LibertyGroup *group) } } else - libWarn(78, group, "cell missing name."); + libWarn(1193, group, "cell missing name."); } void @@ -1907,7 +1907,7 @@ LibertyReader::endCell(LibertyGroup *group) if (derate) cell_->setOcvDerate(derate); else - libWarn(79, group, "cell %s ocv_derate_group %s not found.", + libWarn(1194, group, "cell %s ocv_derate_group %s not found.", cell_->name(), ocv_derate_name_); stringDelete(ocv_derate_name_); ocv_derate_name_ = nullptr; @@ -1938,7 +1938,7 @@ LibertyReader::checkPort(LibertyPort *port, FuncExpr *func_expr = port->function(); if (func_expr) { if (func_expr->checkSize(port)) { - libWarn(80, line, "port %s function size does not match port size.", + libWarn(1195, line, "port %s function size does not match port size.", port->name()); } } @@ -1994,7 +1994,7 @@ LibertyReader::makeCellSequential(SequentialGroup *seq) const char *clk_attr = is_register ? "clocked_on" : "enable"; clk_expr = parseFunc(clk, clk_attr, line); if (clk_expr && clk_expr->checkSize(size)) { - libWarn(81, line, "%s %s bus width mismatch.", type, clk_attr); + libWarn(1196, line, "%s %s bus width mismatch.", type, clk_attr); clk_expr->deleteSubexprs(); clk_expr = nullptr; } @@ -2005,7 +2005,7 @@ LibertyReader::makeCellSequential(SequentialGroup *seq) const char *data_attr = is_register ? "next_state" : "data_in"; data_expr = parseFunc(data, data_attr, line); if (data_expr && data_expr->checkSize(size)) { - libWarn(82, line, "%s %s bus width mismatch.", type, data_attr); + libWarn(1197, line, "%s %s bus width mismatch.", type, data_attr); data_expr->deleteSubexprs(); data_expr = nullptr; } @@ -2015,7 +2015,7 @@ LibertyReader::makeCellSequential(SequentialGroup *seq) if (clr) { clr_expr = parseFunc(clr, "clear", line); if (clr_expr && clr_expr->checkSize(size)) { - libWarn(83, line, "%s %s bus width mismatch.", type, "clear"); + libWarn(1198, line, "%s %s bus width mismatch.", type, "clear"); clr_expr->deleteSubexprs(); clr_expr = nullptr; } @@ -2025,7 +2025,7 @@ LibertyReader::makeCellSequential(SequentialGroup *seq) if (preset) { preset_expr = parseFunc(preset, "preset", line); if (preset_expr && preset_expr->checkSize(size)) { - libWarn(84, line, "%s %s bus width mismatch.", type, "preset"); + libWarn(1199, line, "%s %s bus width mismatch.", type, "preset"); preset_expr->deleteSubexprs(); preset_expr = nullptr; } @@ -2061,12 +2061,12 @@ LibertyReader::checkLatchEnableSense(FuncExpr *enable_func, case TimingSense::negative_unate: break; case TimingSense::non_unate: - libWarn(85, line, "latch enable function is non-unate for port %s.", + libWarn(1200, line, "latch enable function is non-unate for port %s.", enable_port->name()); break; case TimingSense::none: case TimingSense::unknown: - libWarn(86, line, "latch enable function is unknown for port %s.", + libWarn(1201, line, "latch enable function is unknown for port %s.", enable_port->name()); break; } @@ -2138,16 +2138,16 @@ LibertyReader::beginScaledCell(LibertyGroup *group) cell_ = library_->makeScaledCell(name, filename_); } else - libWarn(87, group, "operating conditions %s not found.", op_cond_name); + libWarn(1202, group, "operating conditions %s not found.", op_cond_name); } else - libWarn(88, group, "scaled_cell missing operating condition."); + libWarn(1203, group, "scaled_cell missing operating condition."); } else - libWarn(89, group, "scaled_cell cell %s has not been defined.", name); + libWarn(1204, group, "scaled_cell cell %s has not been defined.", name); } else - libWarn(90, group, "scaled_cell missing name."); + libWarn(1205, group, "scaled_cell missing name."); } void @@ -2173,14 +2173,14 @@ LibertyReader::checkScaledCell(LibertyGroup *group) { if (equivCellPorts(cell_, scaled_cell_owner_)) { if (!equivCellPortsAndFuncs(cell_, scaled_cell_owner_)) - libWarn(91, group, "scaled_cell %s, %s port functions do not match cell port functions.", + libWarn(1206, group, "scaled_cell %s, %s port functions do not match cell port functions.", cell_->name(), op_cond_->name()); } else - libWarn(92, group, "scaled_cell ports do not match cell ports."); + libWarn(1207, group, "scaled_cell ports do not match cell ports."); if (!equivCellTimingArcSets(cell_, scaled_cell_owner_)) - libWarn(93, group, "scaled_cell %s, %s timing does not match cell timing.", + libWarn(1208, group, "scaled_cell %s, %s timing does not match cell timing.", cell_->name(), op_cond_->name()); } @@ -2199,7 +2199,7 @@ LibertyReader::makeTimingArcs(LibertyPort *to_port, TimingType type = timing->attrs()->timingType(); if (type == TimingType::combinational && to_port_dir->isInput()) - libWarn(94, line, "combinational timing to an input port."); + libWarn(1209, line, "combinational timing to an input port."); if (timing->relatedPortNames()) { for (const char *from_port_name : *timing->relatedPortNames()) { PortNameBitIterator from_port_iter(cell_, from_port_name, this, line); @@ -2294,9 +2294,9 @@ TimingGroup::makeTableModels(LibertyCell *cell, || timing_type == TimingType::three_state_enable_fall || timing_type == TimingType::three_state_enable_rise) { if (transition == nullptr) - reader->libWarn(95, line_, "missing %s_transition.", rf->name()); + reader->libWarn(1210, line_, "missing %s_transition.", rf->name()); if (delay == nullptr) - reader->libWarn(96, line_, "missing cell_%s.", rf->name()); + reader->libWarn(1211, line_, "missing cell_%s.", rf->name()); } } else if (constraint) attrs_->setModel(rf, new CheckTableModel(cell, constraint, @@ -2316,7 +2316,7 @@ LibertyReader::makeTimingArcs(const char *from_port_name, if (from_port_iter.hasNext()) { LibertyPort *from_port = from_port_iter.next(); if (from_port->direction()->isOutput()) - libWarn(164, timing->line(), "timing group from output port."); + libWarn(1212, timing->line(), "timing group from output port."); builder_.makeTimingArcs(cell_, from_port, to_port, related_out_port, timing->attrs(), timing->line()); } @@ -2326,7 +2326,7 @@ LibertyReader::makeTimingArcs(const char *from_port_name, while (from_port_iter.hasNext()) { LibertyPort *from_port = from_port_iter.next(); if (from_port->direction()->isOutput()) - libWarn(165, timing->line(), "timing group from output port."); + libWarn(1213, timing->line(), "timing group from output port."); builder_.makeTimingArcs(cell_, from_port, to_port, related_out_port, timing->attrs(), timing->line()); } @@ -2336,7 +2336,7 @@ LibertyReader::makeTimingArcs(const char *from_port_name, if (from_port_iter.hasNext()) { LibertyPort *from_port = from_port_iter.next(); if (from_port->direction()->isOutput()) - libWarn(166, timing->line(), "timing group from output port."); + libWarn(1214, timing->line(), "timing group from output port."); LibertyPortMemberIterator bit_iter(to_port); while (bit_iter.hasNext()) { LibertyPort *to_port_bit = bit_iter.next(); @@ -2354,14 +2354,14 @@ LibertyReader::makeTimingArcs(const char *from_port_name, LibertyPort *from_port_bit = from_port_iter.next(); LibertyPort *to_port_bit = to_iter.next(); if (from_port_bit->direction()->isOutput()) - libWarn(167, timing->line(), "timing group from output port."); + libWarn(1215, timing->line(), "timing group from output port."); builder_.makeTimingArcs(cell_, from_port_bit, to_port_bit, related_out_port, timing->attrs(), timing->line()); } } else - libWarn(97, timing->line(), + libWarn(1216, timing->line(), "timing port %s and related port %s are different sizes.", from_port_name, to_port->name()); @@ -2370,7 +2370,7 @@ LibertyReader::makeTimingArcs(const char *from_port_name, while (from_port_iter.hasNext()) { LibertyPort *from_port_bit = from_port_iter.next(); if (from_port_bit->direction()->isOutput()) - libWarn(168, timing->line(), "timing group from output port."); + libWarn(1217, timing->line(), "timing group from output port."); LibertyPortMemberIterator to_iter(to_port); while (to_iter.hasNext()) { LibertyPort *to_port_bit = to_iter.next(); @@ -2457,7 +2457,7 @@ LibertyReader::beginReceiverCapacitance(LibertyGroup *group, index_ = index; } else - libWarn(904, group, "receiver_capacitance group not in timing or pin group."); + libWarn(1218, group, "receiver_capacitance group not in timing or pin group."); } void @@ -2474,7 +2474,7 @@ LibertyReader::endReceiverCapacitanceRiseFall(LibertyGroup *group) receiver_model_->setCapacitanceModel(table_model, index_, rf_); } else - libWarn(902, group, "unsupported model axis."); + libWarn(1219, group, "unsupported model axis."); } endTableModel(); } @@ -2502,7 +2502,7 @@ LibertyReader::beginOutputCurrent(RiseFall *rf, output_currents_.clear(); } else - libWarn(907, group, "output_current_%s group not in timing group.", + libWarn(1220, group, "output_current_%s group not in timing group.", rf->name()); } @@ -2543,7 +2543,7 @@ LibertyReader::endOutputCurrentRiseFall(LibertyGroup *group) (*ref_times)[slew_index] = waveform->referenceTime(); } else - libWarn(913, group, "output current waveform %.2e %.2e not found.", + libWarn(1221, group, "output current waveform %.2e %.2e not found.", waveform->slew(), waveform->cap()); } @@ -2563,7 +2563,7 @@ LibertyReader::beginVector(LibertyGroup *group) scale_factor_type_ = ScaleFactorType::unknown; reference_time_exists_ = false; if (tbl_template_ && !OutputWaveforms::checkAxes(tbl_template_)) - libWarn(118, group, "unsupported model axis."); + libWarn(1222, group, "unsupported model axis."); } } @@ -2605,9 +2605,9 @@ LibertyReader::endVector(LibertyGroup *group) output_currents_.push_back(waveform); } else - libWarn(912,group->line(), "vector index_1 and index_2 must have exactly one value."); + libWarn(1223,group->line(), "vector index_1 and index_2 must have exactly one value."); if (!reference_time_exists_) - libWarn(908, group->line(), "vector reference_time not found."); + libWarn(1224, group->line(), "vector reference_time not found."); reference_time_exists_ = false; } } @@ -2640,10 +2640,10 @@ LibertyReader::endNormalizedDriverWaveform(LibertyGroup *group) } else - libWarn(914, group, "normalized_driver_waveform variable_2 must be normalized_voltage"); + libWarn(1225, group, "normalized_driver_waveform variable_2 must be normalized_voltage"); } else - libWarn(915, group, "normalized_driver_waveform variable_1 must be input_net_transition"); + libWarn(1226, group, "normalized_driver_waveform variable_1 must be input_net_transition"); } endTableModel(); } @@ -2748,7 +2748,7 @@ LibertyReader::makeInternalPowers(LibertyPort *port, } } else - libWarn(98, power_group->line(), + libWarn(1227, power_group->line(), "internal_power port %s and related port %s are different sizes.", related_port_name, port->name()); @@ -2865,7 +2865,7 @@ LibertyReader::visitLevelShifterType(LibertyAttr *attr) else if (stringEq(level_shifter_type, "HL_LH")) cell_->setLevelShifterType(LevelShifterType::HL_LH); else - libWarn(900, attr, "level_shifter_type must be HL, LH, or HL_LH"); + libWarn(1228, attr, "level_shifter_type must be HL, LH, or HL_LH"); } } @@ -2901,7 +2901,7 @@ LibertyReader::visitSwitchCellType(LibertyAttr *attr) else if (stringEq(switch_cell_type, "fine_grain")) cell_->setSwitchCellType(SwitchCellType::fine_grain); else - libWarn(901, attr, "switch_cell_type must be coarse_grain or fine_grain"); + libWarn(1229, attr, "switch_cell_type must be coarse_grain or fine_grain"); } } @@ -2925,7 +2925,7 @@ LibertyReader::visitScalingFactors(LibertyAttr *attr) if (scales) cell_->setScaleFactors(scales); else - libWarn(99, attr, "scaling_factors %s not found.", scale_factors_name); + libWarn(1230, attr, "scaling_factors %s not found.", scale_factors_name); } } @@ -2966,7 +2966,7 @@ LibertyReader::beginPin(LibertyGroup *group) } } else - libWarn(100, group, "pin name is not a string."); + libWarn(1231, group, "pin name is not a string."); } } else if (in_bundle_) { @@ -2983,7 +2983,7 @@ LibertyReader::beginPin(LibertyGroup *group) ports_->push_back(port); } else - libWarn(101, group, "pin name is not a string."); + libWarn(1232, group, "pin name is not a string."); } } else { @@ -2997,7 +2997,7 @@ LibertyReader::beginPin(LibertyGroup *group) ports_->push_back(port); } else - libWarn(102, group, "pin name is not a string."); + libWarn(1233, group, "pin name is not a string."); } } port_group_ = new PortGroup(ports_, group->line()); @@ -3075,7 +3075,7 @@ LibertyReader::endBus(LibertyGroup *group) { if (cell_) { if (ports_->empty()) - libWarn(103, group, "bus %s bus_type not found.", group->firstName()); + libWarn(1234, group, "bus %s bus_type not found.", group->firstName()); endBusOrBundle(); in_bus_ = false; } @@ -3127,10 +3127,10 @@ LibertyReader::visitBusType(LibertyAttr *attr) } } else - libWarn(104, attr, "bus_type %s not found.", bus_type); + libWarn(1235, attr, "bus_type %s not found.", bus_type); } else - libWarn(105, attr, "bus_type is not a string."); + libWarn(1236, attr, "bus_type is not a string."); } } @@ -3148,7 +3148,7 @@ LibertyReader::endBundle(LibertyGroup *group) { if (cell_) { if (ports_->empty()) - libWarn(106, group, "bundle %s member not found.", group->firstName()); + libWarn(1237, group, "bundle %s member not found.", group->firstName()); endBusOrBundle(); in_bundle_ = false; } @@ -3171,14 +3171,14 @@ LibertyReader::visitMembers(LibertyAttr *attr) members->push_back(port); } else - libWarn(107, attr, "member is not a string."); + libWarn(1238, attr, "member is not a string."); } LibertyPort *port = builder_.makeBundlePort(cell_, name, members); ports_->push_back(port); } } else - libWarn(108, attr,"members attribute is missing values."); + libWarn(1239, attr,"members attribute is missing values."); } } @@ -3229,7 +3229,7 @@ LibertyReader::visitDirection(LibertyAttr *attr) else if (stringEq(dir, "internal")) port_dir = PortDirection::internal(); else - libWarn(109, attr, "unknown port direction."); + libWarn(1240, attr, "unknown port direction."); for (LibertyPort *port : *ports_) { // Tristate enable function sets direction to tristate; don't @@ -3463,7 +3463,7 @@ LibertyReader::visitMinMaxTransition(LibertyAttr *attr, MinMax *min_max) getAttrFloat(attr, value, exists); if (exists) { if (min_max == MinMax::max() && value == 0.0) - libWarn(161, attr, "max_transition is 0.0."); + libWarn(1241, attr, "max_transition is 0.0."); value *= time_scale_; visitPorts([&] (LibertyPort *port) { port->setSlewLimit(value, min_max); @@ -3569,7 +3569,7 @@ LibertyReader::visitPulseClock(LibertyAttr *attr) sense = RiseFall::fall(); } else - libWarn(110,attr, "pulse_latch unknown pulse type."); + libWarn(1242,attr, "pulse_latch unknown pulse type."); if (trigger) { for (LibertyPort *port : *ports_) port->setPulseClk(trigger, sense); @@ -3858,7 +3858,7 @@ LibertyReader::endTiming(LibertyGroup *group) if (timing_->relatedPortNames() == nullptr && !(timing_type == TimingType::min_clock_tree_path || timing_type == TimingType::max_clock_tree_path)) - libWarn(170, group, "timing group missing related_pin/related_bus_pin."); + libWarn(1243, group, "timing group missing related_pin/related_bus_pin."); } timing_ = nullptr; receiver_model_ = nullptr; @@ -3939,7 +3939,7 @@ LibertyReader::visitTimingType(LibertyAttr *attr) if (type_name) { TimingType type = findTimingType(type_name); if (type == TimingType::unknown) - libWarn(111, attr, "unknown timing_type %s.", type_name); + libWarn(1244, attr, "unknown timing_type %s.", type_name); else timing_->attrs()->setTimingType(type); } @@ -3959,7 +3959,7 @@ LibertyReader::visitTimingSense(LibertyAttr *attr) else if (stringEq(sense_name, "negative_unate")) timing_->attrs()->setTimingSense(TimingSense::negative_unate); else - libWarn(112, attr, "unknown timing_sense %s.", sense_name); + libWarn(1245, attr, "unknown timing_sense %s.", sense_name); } } } @@ -3999,19 +3999,19 @@ LibertyReader::visitMode(LibertyAttr *attr) if (value->isString()) timing_->attrs()->setModeValue(value->stringValue()); else - libWarn(113, attr, "mode value is not a string."); + libWarn(1246, attr, "mode value is not a string."); } else - libWarn(114, attr, "missing mode value."); + libWarn(1247, attr, "missing mode value."); } else - libWarn(115, attr, "mode name is not a string."); + libWarn(1248, attr, "mode name is not a string."); } else - libWarn(116, attr, "mode missing values."); + libWarn(1249, attr, "mode missing values."); } else - libWarn(117, attr, "mode missing mode name and value."); + libWarn(1250, attr, "mode missing mode name and value."); } } @@ -4087,7 +4087,7 @@ LibertyReader::endCellRiseFall(LibertyGroup *group) timing_->setCell(rf_, table_model); } else - libWarn(906, group, "unsupported model axis."); + libWarn(1251, group, "unsupported model axis."); } endTableModel(); } @@ -4114,7 +4114,7 @@ LibertyReader::endRiseFallTransition(LibertyGroup *group) timing_->setTransition(rf_, table_model); } else - libWarn(119, group, "unsupported model axis."); + libWarn(1252, group, "unsupported model axis."); } endTableModel(); } @@ -4143,7 +4143,7 @@ LibertyReader::endRiseFallConstraint(LibertyGroup *group) timing_->setConstraint(rf_, table_model); } else - libWarn(120, group, "unsupported model axis."); + libWarn(1253, group, "unsupported model axis."); } endTableModel(); } @@ -4178,7 +4178,7 @@ LibertyReader::endRiseFallTransitionDegredation(LibertyGroup *group) library_->setWireSlewDegradationTable(table_model, rf_); } else - libWarn(121, group, "unsupported model axis."); + libWarn(1254, group, "unsupported model axis."); } endTableModel(); } @@ -4194,7 +4194,7 @@ LibertyReader::beginTimingTableModel(LibertyGroup *group, beginTableModel(group, TableTemplateType::delay, rf, time_scale_, scale_factor_type); else - libWarn(903, group, "%s group not in timing group.", group->firstName()); + libWarn(1255, group, "%s group not in timing group.", group->firstName()); } void @@ -4233,7 +4233,7 @@ LibertyReader::beginTable(LibertyGroup *group, axis_[2] = tbl_template_->axis3ptr(); } else { - libWarn(122, group, "table template %s not found.", template_name); + libWarn(1256, group, "table template %s not found.", template_name); axis_[0] = nullptr; axis_[1] = nullptr; axis_[2] = nullptr; @@ -4317,7 +4317,7 @@ LibertyReader::makeTable(LibertyAttr *attr, } } else - libWarn(123, attr, "%s is missing values.", attr->name()); + libWarn(1257, attr, "%s is missing values.", attr->name()); } FloatTable * @@ -4340,9 +4340,9 @@ LibertyReader::makeFloatTable(LibertyAttr *attr, // Scalar value. row->push_back(value->floatValue() * scale); else - libWarn(124, attr, "%s is not a list of floats.", attr->name()); + libWarn(1258, attr, "%s is not a list of floats.", attr->name()); if (row->size() != cols) { - libWarn(125, attr, "table row has %u columns but axis has %d.", + libWarn(1259, attr, "table row has %u columns but axis has %d.", // size_t is long on 64 bit ports. static_cast(row->size()), static_cast(cols)); @@ -4352,7 +4352,7 @@ LibertyReader::makeFloatTable(LibertyAttr *attr, } } if (table->size() != rows) { - libWarn(126, attr, "table has %u rows but axis has %d.", + libWarn(1260, attr, "table has %u rows but axis has %d.", // size_t is long on 64 bit ports. static_cast(table->size()), static_cast(rows)); @@ -4403,7 +4403,7 @@ LibertyReader::beginLut(LibertyGroup *group) } } else - libWarn(127, group, "lut output is not a string."); + libWarn(1261, group, "lut output is not a string."); } } } @@ -4420,7 +4420,7 @@ void LibertyReader::beginTestCell(LibertyGroup *group) { if (cell_ && cell_->testCell()) - libWarn(169, group, "cell %s test_cell redefinition.", cell_->name()); + libWarn(1262, group, "cell %s test_cell redefinition.", cell_->name()); else { test_cell_ = new TestCell; cell_->setTestCell(test_cell_); @@ -4445,7 +4445,7 @@ LibertyReader::beginModeDef(LibertyGroup *group) if (name) mode_def_ = cell_->makeModeDef(name); else - libWarn(128, group, "mode definition missing name."); + libWarn(1263, group, "mode definition missing name."); } void @@ -4462,7 +4462,7 @@ LibertyReader::beginModeValue(LibertyGroup *group) if (name) mode_value_ = mode_def_->defineValue(name, nullptr, nullptr); else - libWarn(129, group, "mode value missing name."); + libWarn(1264, group, "mode value missing name."); } } @@ -4476,7 +4476,7 @@ void LibertyReader::visitWhen(LibertyAttr *attr) { if (tbl_template_) - libWarn(130, attr, "when attribute inside table model."); + libWarn(1265, attr, "when attribute inside table model."); if (mode_value_) { const char *func = getAttrString(attr); if (func) @@ -4525,10 +4525,10 @@ LibertyReader::getAttrString(LibertyAttr *attr) if (value->isString()) return value->stringValue(); else - libWarn(131, attr, "%s attribute is not a string.", attr->name()); + libWarn(1266, attr, "%s attribute is not a string.", attr->name()); } else - libWarn(132, attr, "%s is not a simple attribute.", attr->name()); + libWarn(1267, attr, "%s is not a simple attribute.", attr->name()); return nullptr; } @@ -4548,10 +4548,10 @@ LibertyReader::getAttrInt(LibertyAttr *attr, exists = true; } else - libWarn(162, attr, "%s attribute is not an integer.",attr->name()); + libWarn(1268, attr, "%s attribute is not an integer.",attr->name()); } else - libWarn(133, attr, "%s is not a simple attribute.", attr->name()); + libWarn(1269, attr, "%s is not a simple attribute.", attr->name()); } void @@ -4564,7 +4564,7 @@ LibertyReader::getAttrFloat(LibertyAttr *attr, if (attr->isSimple()) getAttrFloat(attr, attr->firstValue(), value, valid); else - libWarn(134, attr, "%s is not a simple attribute.", attr->name()); + libWarn(1270, attr, "%s is not a simple attribute.", attr->name()); } void @@ -4590,7 +4590,7 @@ LibertyReader::getAttrFloat(LibertyAttr *attr, if ((*end && !isspace(*end)) // strtof support INF as a valid float. || stringEqual(string, "inf")) - libWarn(135, attr, "%s value %s is not a float.", + libWarn(1271, attr, "%s value %s is not a float.", attr->name(), string); valid = true; @@ -4619,14 +4619,14 @@ LibertyReader::getAttrFloat2(LibertyAttr *attr, getAttrFloat(attr, value, value2, exists); } else - libWarn(136, attr, "%s missing values.", attr->name()); + libWarn(1272, attr, "%s missing values.", attr->name()); } } else - libWarn(137, attr, "%s missing values.", attr->name()); + libWarn(1273, attr, "%s missing values.", attr->name()); } else - libWarn(138, attr, "%s is not a complex attribute.", attr->name()); + libWarn(1274, attr, "%s is not a complex attribute.", attr->name()); } // Parse string of comma separated floats. @@ -4652,7 +4652,7 @@ LibertyReader::parseStringFloatList(const char *float_list, || isspace(*end) || strchr(delimiters, *end) != nullptr || *end == '}'))) - libWarn(139, attr, "%s is not a float.", token); + libWarn(1275, attr, "%s is not a float.", token); values->push_back(value); } } @@ -4675,10 +4675,10 @@ LibertyReader::readFloatSeq(LibertyAttr *attr, values->push_back(value->floatValue()); } else - libWarn(140, attr, "%s is missing values.", attr->name()); + libWarn(1276, attr, "%s is missing values.", attr->name()); } if (value_iter.hasNext()) - libWarn(141, attr, "%s has more than one string.", attr->name()); + libWarn(1277, attr, "%s has more than one string.", attr->name()); } else { LibertyAttrValue *value = attr->firstValue(); @@ -4687,7 +4687,7 @@ LibertyReader::readFloatSeq(LibertyAttr *attr, parseStringFloatList(value->stringValue(), scale, values, attr); } else - libWarn(142, attr, "%s is missing values.", attr->name()); + libWarn(1278, attr, "%s is missing values.", attr->name()); } return values; } @@ -4712,13 +4712,13 @@ LibertyReader::getAttrBool(LibertyAttr *attr, exists = true; } else - libWarn(143, attr, "%s attribute is not boolean.", attr->name()); + libWarn(1279, attr, "%s attribute is not boolean.", attr->name()); } else - libWarn(144, attr, "%s attribute is not boolean.", attr->name()); + libWarn(1280, attr, "%s attribute is not boolean.", attr->name()); } else - libWarn(145, attr, "%s is not a simple attribute.", attr->name()); + libWarn(1281, attr, "%s is not a simple attribute.", attr->name()); } // Read L/H/X string attribute values as bool. @@ -4734,7 +4734,7 @@ LibertyReader::getAttrLogicValue(LibertyAttr *attr) else if (stringEq(str, "X")) return LogicValue::unknown; else - libWarn(146, attr, "attribute %s value %s not recognized.", + libWarn(1282, attr, "attribute %s value %s not recognized.", attr->name(), str); // fall thru } @@ -4765,7 +4765,7 @@ LibertyReader::getAttrEarlyLate(LibertyAttr *attr) else if (stringEq(value, "early_and_late")) return EarlyLateAll::all(); else { - libWarn(147, attr, "unknown early/late value."); + libWarn(1283, attr, "unknown early/late value."); return EarlyLateAll::all(); } } @@ -4985,7 +4985,7 @@ LibertyReader::visitDefaultOcvDerateGroup(LibertyAttr *attr) if (derate) library_->setDefaultOcvDerate(derate); else - libWarn(148, attr, "OCV derate group named %s not found.", derate_name); + libWarn(1284, attr, "OCV derate group named %s not found.", derate_name); } void @@ -5001,7 +5001,7 @@ LibertyReader::beginOcvDerate(LibertyGroup *group) if (name) ocv_derate_ = new OcvDerate(stringCopy(name)); else - libWarn(149, group, "ocv_derate missing name."); + libWarn(1285, group, "ocv_derate missing name."); } void @@ -5054,7 +5054,7 @@ LibertyReader::visitRfType(LibertyAttr *attr) else if (stringEq(rf_name, "rise_and_fall")) rf_type_ = RiseFallBoth::riseFall(); else - libError(150, attr, "unknown rise/fall."); + libError(1286, attr, "unknown rise/fall."); } void @@ -5074,7 +5074,7 @@ LibertyReader::visitPathType(LibertyAttr *attr) else if (stringEq(path_type, "clock_and_data")) path_type_ = PathType::clk_and_data; else - libWarn(151, attr, "unknown derate type."); + libWarn(1287, attr, "unknown derate type."); } //////////////////////////////////////////////////////////////// @@ -5106,7 +5106,7 @@ LibertyReader::endOcvSigmaCell(LibertyGroup *group) timing_->setDelaySigma(rf_, sigma_type_->asMinMax(), table_model); } else - libWarn(152, group, "unsupported model axis."); + libWarn(1288, group, "unsupported model axis."); } endTableModel(); } @@ -5138,7 +5138,7 @@ LibertyReader::endOcvSigmaTransition(LibertyGroup *group) timing_->setSlewSigma(rf_, sigma_type_->asMinMax(), table_model); } else - libWarn(153, group, "unsupported model axis."); + libWarn(1289, group, "unsupported model axis."); } endTableModel(); } @@ -5170,7 +5170,7 @@ LibertyReader::endOcvSigmaConstraint(LibertyGroup *group) timing_->setConstraintSigma(rf_, sigma_type_->asMinMax(), table_model); } else - libWarn(154, group, "unsupported model axis."); + libWarn(1290, group, "unsupported model axis."); } endTableModel(); } @@ -5241,7 +5241,7 @@ LibertyReader::visitPgType(LibertyAttr *attr) type = LibertyPgPort::PgType::deeppwell; else - libError(155, attr, "unknown pg_type."); + libError(1291, attr, "unknown pg_type."); pg_port_->setPgType(type); } } @@ -5636,11 +5636,11 @@ PortNameBitIterator::init(const char *port_name) range_bit_ = from; } else - visitor_->libWarn(156, line_, "port %s subscript out of range.", + visitor_->libWarn(1292, line_, "port %s subscript out of range.", port_name); } else - visitor_->libWarn(157, line_, "port range %s of non-bus port %s.", + visitor_->libWarn(1293, line_, "port range %s of non-bus port %s.", port_name, bus_name.c_str()); } @@ -5654,7 +5654,7 @@ PortNameBitIterator::init(const char *port_name) size_ = abs(from - to) + 1; } else - visitor_->libWarn(158, line_, "port %s not found.", port_name); + visitor_->libWarn(1294, line_, "port %s not found.", port_name); } } @@ -5724,7 +5724,7 @@ PortNameBitIterator::findRangeBusNameNext() range_bit_++; } else - visitor_->libWarn(159, line_, "port %s not found.", bus_bit_name.c_str()); + visitor_->libWarn(1295, line_, "port %s not found.", bus_bit_name.c_str()); } else range_name_next_ = nullptr; diff --git a/liberty/LibertyWriter.cc b/liberty/LibertyWriter.cc index 2a05a59c..224ff379 100644 --- a/liberty/LibertyWriter.cc +++ b/liberty/LibertyWriter.cc @@ -283,7 +283,7 @@ LibertyWriter::writeCell(const LibertyCell *cell) if (port->isBus()) writeBusPort(port); else if (port->isBundle()) - report_->error(704, "%s/%s bundled ports not supported.", + report_->error(1330, "%s/%s bundled ports not supported.", library_->name(), cell->name()); else @@ -414,7 +414,7 @@ LibertyWriter::writeTimingModels(const TimingArc *arc, fprintf(stream_, " }\n"); } else - report_->error(701, "%s/%s/%s timing model not supported.", + report_->error(1331, "%s/%s/%s timing model not supported.", library_->name(), arc->from()->libertyCell()->name(), arc->from()->name()); @@ -434,7 +434,7 @@ LibertyWriter::writeTableModel(const TableModel *model) writeTableModel2(model); break; case 3: - report_->error(702, "3 axis table models not supported."); + report_->error(1332, "3 axis table models not supported."); break; } } @@ -578,7 +578,7 @@ LibertyWriter::timingTypeString(const TimingArcSet *arc_set) else if (role == TimingRole::clockTreePathMax()) return "max_clock_tree_path"; else { - report_->error(703, "%s/%s/%s timing arc type %s not supported.", + report_->error(1333, "%s/%s/%s timing arc type %s not supported.", library_->name(), arc_set->to()->libertyCell()->name(), arc_set->to()->name(), diff --git a/messages.txt b/messages.txt index 14719e8c..783ee434 100644 --- a/messages.txt +++ b/messages.txt @@ -1,516 +1,513 @@ -0001 DmpCeff.cc:1598 cell %s delay model not supported on SPF parasitics by DMP delay calculator -0002 Liberty.cc:766 cell %s/%s port %s not found in cell %s/%s. -0003 Liberty.cc:792 cell %s/%s %s -> %s timing group %s not found in cell %s/%s. -0004 Liberty.cc:1748 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with %s -> %s setup_%s check. -0005 Liberty.cc:1762 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function positive sense. -0006 Liberty.cc:1770 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function negative sense. -0007 LibertyExpr.cc:82 %s references unknown port %s. -0008 ConcreteNetwork.cc:1923 cell type %s can not be linked. -0009 CycleAccting.cc:87 No common period was found between clocks %s and %s. -0010 Genclks.cc:274 no master clock found for generated clock %s. -0013 Genclks.cc:938 generated clock %s source pin %s missing paths from master clock %s. -0015 Sim.cc:864 propagated logic value %c differs from constraint value of %c on pin %s. -0016 LibertyReader.cc:1042 default_max_fanout is 0.0. -0017 Sta.cc:2108 '%s' is not a valid endpoint. -0018 Sta.cc:2032 '%s' is not a valid start point. -0020 WritePathSpice.cc:287 No liberty libraries found, -0021 SpefParse.yy:805 %d is not positive. -0022 SpefParse.yy:814 %.4f is not positive. -0023 SpefParse.yy:820 %.4f is not positive. -0024 WritePathSpice.cc:510 pg_pin %s/%s voltage %s not found, -0025 WritePathSpice.cc:517 Liberty pg_port %s/%s missing voltage_name attribute, -0026 WritePathSpice.cc:1096 %s pg_port %s not found, -0027 WritePathSpice.cc:1151 no register/latch found for path from %s to %s, -0028 WritePathSpice.cc:1617 The subkct file %s is missing definitions for %s -0029 WritePathSpice.cc:1715 subckt %s port %s has no corresponding liberty port, pg_port and is not power or ground. -0030 LibertyReader.cc:632 library missing name. -0031 LibertyReader.cc:658 default_wire_load %s not found. -0032 LibertyReader.cc:669 default_wire_selection %s not found. -0033 LibertyReader.cc:691 input_threshold_pct_%s not found. -0034 LibertyReader.cc:695 output_threshold_pct_%s not found. -0035 LibertyReader.cc:699 slew_lower_threshold_pct_%s not found. -0036 LibertyReader.cc:703 slew_upper_threshold_pct_%s not found. -0037 LibertyReader.cc:708 Library %s is missing one or more thresholds. -0038 LibertyReader.cc:787 unknown unit multiplier %s. -0039 LibertyReader.cc:810 unknown unit scale %c. -0040 LibertyReader.cc:813 unknown unit suffix %s. -0041 LibertyReader.cc:841 capacitive_load_units are not ff or pf. -0042 LibertyReader.cc:844 capacitive_load_units are not a string. -0043 LibertyReader.cc:847 capacitive_load_units missing suffix. -0044 LibertyReader.cc:850 capacitive_load_units scale is not a float. -0045 LibertyReader.cc:853 capacitive_load_units missing scale and suffix. -0046 LibertyReader.cc:856 capacitive_load_unit missing values suffix. -0047 LibertyReader.cc:874 delay_model %s not supported. -0048 LibertyReader.cc:878 delay_model %s not supported. -0049 LibertyReader.cc:882 delay_model %s not supported. -0050 LibertyReader.cc:887 delay_model %s not supported. -. -0051 LibertyReader.cc:890 unknown delay_model %s -. -0052 LibertyReader.cc:909 unknown bus_naming_style format. -0053 LibertyReader.cc:598 library %s already exists. -0054 LibertyReader.cc:930 voltage_map voltage is not a float. -0055 LibertyReader.cc:933 voltage_map missing voltage. -0056 LibertyReader.cc:936 voltage_map supply name is not a string. -0057 LibertyReader.cc:939 voltage_map missing supply name and voltage. -0058 LibertyReader.cc:942 voltage_map missing values suffix. -0059 LibertyReader.cc:1160 default_wire_load_mode %s not found. -0060 LibertyReader.cc:681 default_operating_condition %s not found. -0061 LibertyReader.cc:1331 table template missing name. -0062 LibertyReader.cc:1376 missing variable_%d attribute. -0063 LibertyReader.cc:1418 axis type %s not supported. -0064 LibertyReader.cc:1490 bus type %s missing bit_from. -0065 LibertyReader.cc:1492 bus type %s missing bit_to. -0066 LibertyReader.cc:1496 type missing name. -0067 LibertyReader.cc:1523 scaling_factors do not have a name. -0068 LibertyReader.cc:1692 operating_conditions missing name. -0069 LibertyReader.cc:1763 wire_load missing name. -0070 LibertyReader.cc:1806 fanout_length is missing length and fanout. -0071 LibertyReader.cc:1821 wire_load_selection missing name. -0072 LibertyReader.cc:1852 wireload %s not found. -0074 LibertyReader.cc:1859 wire_load_from_area min not a float. -0075 LibertyReader.cc:1862 wire_load_from_area max not a float. -0076 LibertyReader.cc:1865 wire_load_from_area missing parameters. -0077 LibertyReader.cc:1868 wire_load_from_area missing parameters. -0078 LibertyReader.cc:1887 cell missing name. -0079 LibertyReader.cc:1910 cell %s ocv_derate_group %s not found. -0080 LibertyReader.cc:1941 port %s function size does not match port size. -0081 LibertyReader.cc:1997 %s %s bus width mismatch. -0082 LibertyReader.cc:2008 %s %s bus width mismatch. -0083 LibertyReader.cc:2018 clear -0084 LibertyReader.cc:2028 preset -0085 LibertyReader.cc:2064 latch enable function is non-unate for port %s. -0086 LibertyReader.cc:2069 latch enable function is unknown for port %s. -0087 LibertyReader.cc:2141 operating conditions %s not found. -0088 LibertyReader.cc:2144 scaled_cell missing operating condition. -0089 LibertyReader.cc:2147 scaled_cell cell %s has not been defined. -0090 LibertyReader.cc:2150 scaled_cell missing name. -0091 LibertyReader.cc:2176 scaled_cell %s, %s port functions do not match cell port functions. -0092 LibertyReader.cc:2181 scaled_cell ports do not match cell ports. -0093 LibertyReader.cc:2183 scaled_cell %s, %s timing does not match cell timing. -0094 LibertyReader.cc:2202 combinational timing to an input port. -0095 LibertyReader.cc:2297 missing %s_transition. -0096 LibertyReader.cc:2299 missing cell_%s. -0099 LibertyReader.cc:2928 scaling_factors %s not found. -0100 LibertyReader.cc:2969 pin name is not a string. -0101 LibertyReader.cc:2986 pin name is not a string. -0102 LibertyReader.cc:3000 pin name is not a string. -0103 LibertyReader.cc:3078 bus %s bus_type not found. -0104 LibertyReader.cc:3130 bus_type %s not found. -0105 LibertyReader.cc:3133 bus_type is not a string. -0106 LibertyReader.cc:3151 bundle %s member not found. -0107 LibertyReader.cc:3174 member is not a string. -0108 LibertyReader.cc:3181 members attribute is missing values. -0109 LibertyReader.cc:3232 unknown port direction. -0110 LibertyReader.cc:3572 pulse_latch unknown pulse type. -0111 LibertyReader.cc:3942 unknown timing_type %s. -0112 LibertyReader.cc:3962 unknown timing_sense %s. -0113 LibertyReader.cc:4002 mode value is not a string. -0114 LibertyReader.cc:4005 missing mode value. -0115 LibertyReader.cc:4008 mode name is not a string. -0116 LibertyReader.cc:4011 mode missing values. -0117 LibertyReader.cc:4014 mode missing mode name and value. -0118 LibertyReader.cc:2566 unsupported model axis. -0119 LibertyReader.cc:4117 unsupported model axis. -0120 LibertyReader.cc:4146 unsupported model axis. -0121 LibertyReader.cc:4181 unsupported model axis. -0122 LibertyReader.cc:4236 table template %s not found. -0123 LibertyReader.cc:4320 %s is missing values. -0124 LibertyReader.cc:4343 %s is not a list of floats. -0125 LibertyReader.cc:4345 table row has %u columns but axis has %d. -0126 LibertyReader.cc:4355 table has %u rows but axis has %d. -0127 LibertyReader.cc:4406 lut output is not a string. -0128 LibertyReader.cc:4448 mode definition missing name. -0129 LibertyReader.cc:4465 mode value missing name. -0130 LibertyReader.cc:4479 when attribute inside table model. -0131 LibertyReader.cc:4528 %s attribute is not a string. -0132 LibertyReader.cc:4531 %s is not a simple attribute. -0133 LibertyReader.cc:4554 %s is not a simple attribute. -0134 LibertyReader.cc:4567 %s is not a simple attribute. -0135 LibertyReader.cc:4593 %s value %s is not a float. -0136 LibertyReader.cc:4622 %s missing values. -0137 LibertyReader.cc:4626 %s missing values. -0138 LibertyReader.cc:4629 %s is not a complex attribute. -0139 LibertyReader.cc:4655 %s is not a float. -0140 LibertyReader.cc:4678 %s is missing values. -0141 LibertyReader.cc:4681 %s has more than one string. -0142 LibertyReader.cc:4690 %s is missing values. -0143 LibertyReader.cc:4715 %s attribute is not boolean. -0144 LibertyReader.cc:4718 %s attribute is not boolean. -0145 LibertyReader.cc:4721 %s is not a simple attribute. -0146 LibertyReader.cc:4737 attribute %s value %s not recognized. -0147 LibertyReader.cc:4768 unknown early/late value. -0148 LibertyReader.cc:4988 OCV derate group named %s not found. -0149 LibertyReader.cc:5004 ocv_derate missing name. -0150 LibertyReader.cc:5057 unknown rise/fall. -0151 LibertyReader.cc:5077 unknown derate type. -0152 LibertyReader.cc:5109 unsupported model axis. -0153 LibertyReader.cc:5141 unsupported model axis. -0154 LibertyReader.cc:5173 unsupported model axis. -0155 LibertyReader.cc:5244 unknown pg_type. -0156 LibertyReader.cc:5639 port %s subscript out of range. -0157 LibertyReader.cc:5643 port range %s of non-bus port %s. -0158 LibertyReader.cc:5657 port %s not found. -0159 LibertyReader.cc:5727 port %s not found. -0160 LibertyReader.cc:1027 default_max_transition is 0.0. -0161 LibertyReader.cc:3466 max_transition is 0.0. -0162 LibertyReader.cc:4551 %s attribute is not an integer. -0163 LibertyReader.cc:1132 default_fanout_load is 0.0. -0164 LibertyReader.cc:2319 timing group from output port. -0165 LibertyReader.cc:2329 timing group from output port. -0166 LibertyReader.cc:2339 timing group from output port. -0167 LibertyReader.cc:2357 timing group from output port. -0168 LibertyReader.cc:2373 timing group from output port. -0169 LibertyReader.cc:4423 cell %s test_cell redefinition. -0170 LibertyReader.cc:3861 timing group missing related_pin/related_bus_pin. -0171 LibertyReader.cc:816 unknown unit suffix %s. -0172 LibertyReader.cc:1452 missing table index values. -0173 LibertyReader.cc:1458 non-increasing table index values. -0201 StaTcl.i:118 no network has been linked. -0202 StaTcl.i:132 network does not support edits. -0204 StaTcl.i:4129 POCV support requires compilation with SSTA=1. -0206 LibertyExpr.cc:175 %s %s. -0207 GraphDelayCalc.cc:491 port not found in cell -0208 Graph.cc:793 arc_delay_annotated array bounds exceeded -0209 Graph.cc:808 arc_delay_annotated array bounds exceeded -0210 Graph.cc:820 arc_delay_annotated array bounds exceeded -0211 SdcNetwork.cc:1095 inst path string lenth estimate busted -0212 SdcNetwork.cc:1167 inst path string lenth estimate exceeded -0213 Sdc.cc:4058 group path name and is_default are mutually exclusive. -0214 WriteSdc.cc:1254 unknown exception type -0215 WriteSdc.cc:1796 illegal set_logic value -0216 WriteSdc.cc:1837 invalid set_case_analysis value -0228 Graph.cc:833 arc_delay_annotated array bounds exceeded -0251 PathEnumed.cc:126 enumerated path required time -0252 PathEnumed.cc:135 enumerated path required time -0253 PathGroup.cc:399 unknown path end type -0254 PathVertexRep.cc:145 tag group missing tag -0255 ReportPath.cc:289 unsupported path type -0256 ReportPath.cc:310 unsupported path type -0257 ReportPath.cc:349 unsupported path type -0259 ReportPath.cc:2378 unsupported path type -0260 Search.cc:2654 max tag group index exceeded -0261 Search.cc:2890 max tag index exceeded -0262 Search.cc:3617 unexpected filter path -0263 Search.cc:3785 tns incr existing vertex -0264 Sta.cc:4228 corresponding timing arc set not found in equiv cells -0265 TagGroup.cc:297 tag group missing tag +0100 CmdArgs.tcl:108 unsupported object type $object_type. +0101 CmdArgs.tcl:166 object '$obj' not found. +0102 CmdArgs.tcl:405 $corner_name is not the name of process corner. +0103 CmdArgs.tcl:410 -corner keyword required with multi-corner analysis. +0104 CmdArgs.tcl:425 $corner_name is not the name of process corner. +0105 CmdArgs.tcl:430 missing -corner arg. +0106 CmdArgs.tcl:441 $corner_name is not the name of process corner. +0107 CmdArgs.tcl:458 $corner_name is not the name of process corner. +0108 CmdArgs.tcl:483 both -min and -max specified. +0109 CmdArgs.tcl:497 both -min and -max specified. +0110 CmdArgs.tcl:524 only one of -early and -late can be specified. +0111 CmdArgs.tcl:530 -early or -late must be specified. +0112 CmdArgs.tcl:537 both -early and -late specified. +0113 CmdArgs.tcl:552 $arg_name must be a single library. +0114 CmdArgs.tcl:558 $arg_name type '$object_type' is not a library. +0115 CmdArgs.tcl:563 library '$arg' not found. +0116 CmdArgs.tcl:580 $arg_name must be a single lib cell. +0123 CmdArgs.tcl:667 $arg_name must be a single instance. +0124 CmdArgs.tcl:673 $arg_name type '$object_type' is not an instance. +0125 CmdArgs.tcl:678 instance '$arg' not found. +0126 CmdArgs.tcl:697 $arg_name type '$object_type' is not an instance. +0127 CmdArgs.tcl:704 instance '$arg' not found. +0131 CmdArgs.tcl:765 $arg_name type '$object_type' is not a pin or port. +0132 CmdArgs.tcl:772 pin '$arg' not found. +0133 CmdArgs.tcl:792 $arg_name type '$object_type' is not a port. +0139 CmdArgs.tcl:873 unsupported object type $object_type. +0141 CmdArgs.tcl:894 $arg_name '$object_type' is not a net. +0142 CmdArgs.tcl:918 unsupported object type $object_type. +0143 CmdArgs.tcl:899 $arg_name '$arg' not found. +0160 CmdUtil.tcl:44 no commands match '$pattern'. +0161 CmdUtil.tcl:89 Usage: $cmd $cmd_args($cmd) +0162 CmdUtil.tcl:91 Usage: $cmd argument error +0163 CmdUtil.tcl:161 unknown $unit unit '$suffix'. +0164 CmdUtil.tcl:209 unsupported object type $list_type. +0165 CmdUtil.tcl:226 unknown namespace $namespc. +0180 DelayCalc.tcl:119 delay calculator $alg not found. +0181 DelayCalc.tcl:148 $cmd missing -from argument. +0182 DelayCalc.tcl:153 $cmd missing -to argument. +0183 DelayCalc.tcl:158 $cmd delay is not a float. +0184 DelayCalc.tcl:163 set_annotated_delay -cell and -net options are mutually excluive. +0185 DelayCalc.tcl:169 $cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst]. +0186 DelayCalc.tcl:174 $cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst] +0187 DelayCalc.tcl:179 $cmd -cell or -net required. +0188 DelayCalc.tcl:243 $cmd missing -from argument. +0189 DelayCalc.tcl:252 $cmd -clock must be rise or fall. +0190 DelayCalc.tcl:259 $cmd missing -to argument. +0191 DelayCalc.tcl:274 $cmd missing -setup|-hold|-recovery|-removal check type.. +0192 DelayCalc.tcl:282 $cmd check_value is not a float. +0210 DelayCalc.tcl:350 set_assigned_transition transition is not a float. +0220 Link.tcl:34 missing top_cell_name argument and no current_design. +0230 Network.tcl:35 instance $instance_path not found. +0231 Network.tcl:221 net $net_path not found. +0232 Network.tcl:224 net $net_path not found. +0250 NetworkEdit.tcl:107 unsupported object type $object_type. +0251 NetworkEdit.tcl:137 connect_pins is deprecated. Use connect_pin. +0252 NetworkEdit.tcl:206 unsupported object type $object_type. +0253 NetworkEdit.tcl:224 unsupported object type $object_type. 0266 Sta.cc:2105 '%s' is not a valid endpoint. 0267 Sta.cc:2029 '%s' is not a valid start point. -0272 StaTcl.i:4115 unknown common clk pessimism mode. -0273 StaTcl.i:5064 unknown clock sense -0274 VerilogReader.cc:1782 %s is not a verilog module. -0275 VerilogReader.cc:1787 %s is not a verilog module. -0299 Power.tcl:243 activity cannot be set on clock ports. -0300 CmdUtil.tcl:44 no commands match '$pattern'. +0270 Parasitics.tcl:45 path instance '$path' not found. +0271 Parasitics.tcl:62 -reduce_to must be pi_elmore or pi_pole_residue2. +0272 Parasitics.tcl:70 read_spef -increment is deprecated. 0301 Power.tcl:220 activity should be 0.0 to 1.0 or 2.0 0302 Power.tcl:228 duty should be 0.0 to 1.0 -0303 Sdc.tcl:1582 -clock ignored for clock objects. -0304 Sdc.tcl:2174 -from/-to keywords ignored for lib_pin, port and pin arguments. -0305 CmdArgs.tcl:166 object '$obj' not found. -0313 CmdArgs.tcl:873 unsupported object type $object_type. -0314 CmdArgs.tcl:888 $arg_name must be a single net. -0315 CmdArgs.tcl:894 $arg_name '$object_type' is not a net. -0316 CmdArgs.tcl:899 $arg_name '$arg' not found. -0317 CmdArgs.tcl:918 unsupported object type $object_type. -0318 Search.tcl:1060 unknown path group '$name'. -0319 Sdc.tcl:288 $unit scale [format %.0e $scale] does not match library scale [format %.0e $unit_scale]. -0320 Sdc.tcl:437 current_design for other than top cell not supported. -0321 Sdc.tcl:473 patterns argument not supported with -of_objects. -0322 Sdc.tcl:506 instance '$pattern' not found. -0323 Sdc.tcl:566 clock '$pattern' not found. -0324 Sdc.tcl:592 positional arguments not supported with -of_objects. -0325 Sdc.tcl:619 library '$lib_name' not found. -0326 Sdc.tcl:631 cell '$cell_pattern' not found. -0327 Sdc.tcl:678 library/cell/port '$pattern' not found. -0328 Sdc.tcl:698 port '$port_pattern' not found. -0329 Sdc.tcl:703 library '$lib_name' not found. -0330 Sdc.tcl:713 -nocase ignored without -regexp. -0331 Sdc.tcl:739 library '$pattern' not found. -0332 Sdc.tcl:802 patterns argument not supported with -of_objects. -0333 Sdc.tcl:826 net '$pattern' not found. -0334 Sdc.tcl:855 patterns argument not supported with -of_objects. -0335 Sdc.tcl:892 pin '$pattern' not found. -0336 Sdc.tcl:949 patterns argument not supported with -of_objects. -0337 Sdc.tcl:963 port '$pattern' not found. -0338 Sdc.tcl:1061 non-increasing clock -waveform edge times. -0339 Sdc.tcl:1064 -waveform time greater than two periods. -0341 Sdc.tcl:1439 extra positional argument $arg. -0342 Sdc.tcl:1532 -clock ignored for clock objects. -0343 Sdc.tcl:1622 set_sense -type data not supported. -0344 Sdc.tcl:1637 set_clock_sense is deprecated as of SDC 2.1. Use set_sense -type clock. -0345 Sdc.tcl:1649 -pulse argument not supported. -0346 Sdc.tcl:1658 -positive, -negative, -stop_propagation and -pulse are mutually exclusive. -0347 Sdc.tcl:1671 hierarchical pin '[get_full_name $pin]' not supported. -0348 Sdc.tcl:2037 -from/-to keywords ignored for lib_pin, port and pin arguments. -0349 Sdc.tcl:1437 unknown keyword argument $arg. -0350 Sdc.tcl:2284 -from, -through or -to required. -0351 Sdc.tcl:2363 -source_latency_included ignored with -reference_pin. -0352 Sdc.tcl:2366 -network_latency_included ignored with -reference_pin. -0353 Sdc.tcl:2385 $cmd not allowed on [pin_direction $pin] port '[get_full_name $pin]'. -0354 Sdc.tcl:2387 $cmd relative to a clock defined on the same port/pin not allowed. -0355 Sdc.tcl:2441 '$args' ignored. -0356 Sdc.tcl:2571 '$args' ignored. -0357 Sdc.tcl:2706 virtual clock [get_name $clk] can not be propagated. -0358 Sdc.tcl:2880 -multiply_by ignored. -0359 Sdc.tcl:2883 -dont_scale ignored. -0360 Sdc.tcl:2886 -no_design_rule ignored. -0361 Sdc.tcl:2933 -clock not supported. -0362 Sdc.tcl:2936 -clock_fall not supported. -0363 Sdc.tcl:2982 -pin_load not allowed for net objects. -0364 Sdc.tcl:2985 -wire_load not allowed for net objects. -0365 Sdc.tcl:2988 -rise/-fall not allowed for net objects. -0366 Sdc.tcl:3121 -data_path, -clock_path, -rise, -fall ignored for ports and designs. -0367 Sdc.tcl:3192 derating factor greater than 2.0. -0368 Sdc.tcl:3229 -cell_delay and -cell_check flags ignored for net objects. -0369 Sdc.tcl:3299 no valid objects specified for $key. -0370 Sdc.tcl:3332 no valid objects specified for $key -0371 Sdc.tcl:3493 set_wire_load_min_block_size not supported. -0372 NetworkEdit.tcl:137 connect_pins is deprecated. Use connect_pin. -0373 Sdc.tcl:3670 define_corners must be called before read_liberty. -0374 Sta.cc:2431 maximum corner count exceeded -0400 Util.tcl:44 $cmd $key missing value. -0401 Util.tcl:61 $cmd $key missing value. -0402 Util.tcl:71 $cmd $arg is not a known keyword or flag. -0403 Util.tcl:93 $cmd $arg is not a known keyword or flag. -0404 CmdUtil.tcl:89 Usage: $cmd $cmd_args($cmd) -0405 CmdUtil.tcl:91 Usage: $cmd argument error -0406 Util.tcl:241 $cmd positional arguments not supported. -0407 Util.tcl:247 $cmd requires one positional argument. -0408 Util.tcl:254 $cmd requires zero or one positional arguments. -0409 Util.tcl:260 $cmd requires two positional arguments. -0410 Util.tcl:267 $cmd requires one or two positional arguments. -0411 Util.tcl:273 $cmd requires three positional arguments. -0412 Util.tcl:279 $cmd requires four positional arguments. -0413 Util.tcl:287 $cmd_arg '$arg' is not a float. -0414 Util.tcl:293 $cmd_arg '$arg' is not a positive float. -0415 Util.tcl:299 $cmd_arg '$arg' is not an integer. -0416 Util.tcl:305 $cmd_arg '$arg' is not a positive integer. -0417 Util.tcl:311 $cmd_arg '$arg' is not an integer greater than or equal to one. -0418 Util.tcl:317 $cmd_arg '$arg' is not between 0 and 100. -0419 Search.tcl:326 report_clock_skew -setup and -hold are mutually exclusive options. -0420 Search.tcl:136 $cmd -path_delay must be min, min_rise, min_fall, max, max_rise, max_fall or min_max. -0421 Search.tcl:146 $cmd command failed. -0422 Search.tcl:165 -endpoint_count must be a positive integer. -0423 Search.tcl:174 -group_count must be >= 1. -0424 Search.tcl:205 '$arg' is not a known keyword or flag. -0425 Search.tcl:207 positional arguments not supported. -0426 Search.tcl:510 analysis type single is not consistent with doing both setup/max and hold/min checks. -0427 Search.tcl:515 positional arguments not supported. -0428 DelayCalc.tcl:350 set_assigned_transition transition is not a float. -0430 Sdf.tcl:46 -cond_use min_max cannot be used with analysis type single. -0432 Sdf.tcl:157 SDF -divider must be / or . -0433 Parasitics.tcl:45 path instance '$path' not found. -0434 Parasitics.tcl:62 -reduce_to must be pi_elmore or pi_pole_residue2. -0435 DelayCalc.tcl:119 delay calculator $alg not found. -0436 Variables.tcl:45 sta_report_default_digits must be a positive integer. -0437 Variables.tcl:70 sta_crpr_mode must be pin or transition. -0438 Variables.tcl:187 $var_name value must be 0 or 1. -0439 CmdUtil.tcl:209 unsupported object type $list_type. -0440 Sta.tcl:158 -from/-to arguments not supported with -of_objects. -0441 Sta.tcl:286 unsupported -filter expression. -0442 DelayCalc.tcl:148 $cmd missing -from argument. -0443 DelayCalc.tcl:153 $cmd missing -to argument. -0444 DelayCalc.tcl:158 $cmd delay is not a float. -0445 DelayCalc.tcl:163 set_annotated_delay -cell and -net options are mutually excluive. -0446 DelayCalc.tcl:169 $cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst]. -0447 DelayCalc.tcl:174 $cmd pin [get_full_name $pin] is not attached to instance [get_full_name $inst] -0448 DelayCalc.tcl:179 $cmd -cell or -net required. -0449 DelayCalc.tcl:243 $cmd missing -from argument. -0450 DelayCalc.tcl:252 $cmd -clock must be rise or fall. -0451 DelayCalc.tcl:259 $cmd missing -to argument. -0452 DelayCalc.tcl:274 $cmd missing -setup|-hold|-recovery|-removal check type.. -0453 DelayCalc.tcl:282 $cmd check_value is not a float. -0454 Sdc.tcl:1468 the -all and -name options are mutually exclusive. -0455 Sdc.tcl:1471 either -all or -name options must be specified. -0456 Sdc.tcl:1479 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. -0457 Sdc.tcl:1482 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. -0458 Sdc.tcl:1594 -source '[$pin path_name]' is not a clock pin. -0459 Sdc.tcl:1862 -from/-to must be used together. -0460 Sdc.tcl:1882 -rise, -fall options not allowed for single clock uncertainty. -0461 Sdc.tcl:1983 missing -from, -rise_from or -fall_from argument. -0462 Sdc.tcl:1995 missing -to, -rise_to or -fall_to argument. -0463 Sdc.tcl:2226 -from/-to hierarchical instance not supported. -0464 Sdc.tcl:2628 $cmd command failed. -0465 Sdc.tcl:2635 positional arguments not supported. -0466 Sdc.tcl:2639 -from, -through or -to required. -0467 CmdArgs.tcl:108 unsupported object type $object_type. -0468 CmdArgs.tcl:405 $corner_name is not the name of process corner. -0469 CmdArgs.tcl:410 -corner keyword required with multi-corner analysis. -0470 CmdArgs.tcl:425 $corner_name is not the name of process corner. -0471 CmdArgs.tcl:430 missing -corner arg. -0472 CmdArgs.tcl:441 $corner_name is not the name of process corner. -0473 CmdArgs.tcl:458 $corner_name is not the name of process corner. -0474 CmdArgs.tcl:483 both -min and -max specified. -0475 CmdArgs.tcl:497 both -min and -max specified. -0476 CmdArgs.tcl:524 only one of -early and -late can be specified. -0477 CmdArgs.tcl:530 -early or -late must be specified. -0478 CmdArgs.tcl:537 both -early and -late specified. -0479 CmdArgs.tcl:552 $arg_name must be a single library. -0480 CmdArgs.tcl:558 $arg_name type '$object_type' is not a library. -0481 CmdArgs.tcl:563 library '$arg' not found. -0482 CmdArgs.tcl:580 $arg_name must be a single lib cell. -0483 CmdArgs.tcl:667 $arg_name must be a single instance. -0484 CmdArgs.tcl:673 $arg_name type '$object_type' is not an instance. -0485 CmdArgs.tcl:678 instance '$arg' not found. -0486 CmdArgs.tcl:697 $arg_name type '$object_type' is not an instance. -0487 CmdArgs.tcl:704 instance '$arg' not found. -0488 CmdArgs.tcl:765 $arg_name type '$object_type' is not a pin or port. -0489 CmdArgs.tcl:772 pin '$arg' not found. -0490 CmdArgs.tcl:792 $arg_name type '$object_type' is not a port. -0491 Property.tcl:32 $cmd object is null. -0492 Property.tcl:37 $cmd $type_key must be specified with object name argument. -0493 Property.tcl:80 get_property $object is not an object. -0494 Property.tcl:107 $object_type not supported. -0495 Property.tcl:110 $object_type '$object_name' not found. -0496 WritePathSpice.tcl:35 Directory $spice_dir not found. -0497 WritePathSpice.tcl:38 $spice_dir is not a directory. -0498 WritePathSpice.tcl:41 Cannot write in $spice_dir. -0499 WritePathSpice.tcl:44 No -spice_directory specified. -0500 WritePathSpice.tcl:50 -lib_subckt_file $lib_subckt_file is not readable. -0501 WritePathSpice.tcl:53 No -lib_subckt_file specified. -0502 WritePathSpice.tcl:59 -model_file $model_file is not readable. -0503 WritePathSpice.tcl:62 No -model_file specified. -0504 WritePathSpice.tcl:68 No -power specified. -0505 WritePathSpice.tcl:74 No -ground specified. -0506 WritePathSpice.tcl:78 No -path_args specified. -0507 WritePathSpice.tcl:83 No paths found for -path_args $path_args. -0508 Search.tcl:778 -min and -max cannot both be specified. -0509 Search.tcl:798 pin '$pin_arg' is hierarchical. -0510 Search.tcl:864 -format $format not recognized. -0511 Sdc.tcl:73 cannot open '$filename'. -0512 Sdc.tcl:128 incomplete command at end of file. -0513 Sdc.tcl:212 hierarchy separator must be one of '$sdc_dividers'. -0514 Sdc.tcl:259 unknown unit $unit '$suffix'. -0515 CmdUtil.tcl:161 unknown $unit unit '$suffix'. -0516 Sdc.tcl:539 unsupported instance -filter expression. -0517 Sdc.tcl:924 unsupported pin -filter expression. -0518 Sdc.tcl:1000 unsupported port -filter expression. -0519 Sdc.tcl:1033 -add requires -name. -0520 Sdc.tcl:1038 -name or port_pin_list must be specified. -0521 Sdc.tcl:1046 missing -period argument. -0522 Sdc.tcl:1052 -waveform edge_list must have an even number of edge times. -0523 Sdc.tcl:1122 empty ports/pins/nets argument. -0524 Sdc.tcl:1130 -add requires -name. -0525 Sdc.tcl:1135 name or port_pin_list must be specified. -0526 Sdc.tcl:1142 missing -source argument. -0527 Sdc.tcl:1157 -master_clock argument empty. -0528 Sdc.tcl:1160 -add requireds -master_clock. -0529 Sdc.tcl:1164 -multiply_by and -divide_by options are exclusive. -0530 Sdc.tcl:1168 -divide_by is not an integer greater than one. -0531 Sdc.tcl:1171 -combinational implies -divide_by 1. -0532 Sdc.tcl:1176 -multiply_by is not an integer greater than one. -0533 Sdc.tcl:1182 -duty_cycle is not a float between 0 and 100. -0534 Sdc.tcl:1188 -edges only supported for three edges. -0535 Sdc.tcl:1194 edges times are not monotonically increasing. -0536 Sdc.tcl:1203 -edge_shift length does not match -edges length. -0537 Sdc.tcl:1209 missing -multiply_by, -divide_by, -combinational or -edges argument. -0538 Sdc.tcl:1217 cannot specify -invert without -multiply_by, -divide_by or -combinational. -0539 Sdc.tcl:1223 -duty_cycle requires -multiply_by value. -0545 Sdc.tcl:1283 group_path command failed. -0546 Sdc.tcl:1290 positional arguments not supported. -0547 Sdc.tcl:1294 -from, -through or -to required. -0548 Sdc.tcl:1300 -name and -default are mutually exclusive. -0549 Sdc.tcl:1302 -name or -default option is required. -0550 Sdc.tcl:1343 cannot specify both -high and -low. -0551 Sdc.tcl:1351 missing -setup or -hold argument. -0552 Sdc.tcl:1365 -high and -low only permitted for pins and instances. -0553 Sdc.tcl:1372 -high and -low only permitted for pins and instances. -0554 Sdc.tcl:1415 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. -0555 Sdc.tcl:1418 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. -0556 Sdc.tcl:1546 -source '[get_full_name $pin]' is not a clock pin. -0557 Sdc.tcl:1553 -early/-late is only allowed with -source. -0558 Sdc.tcl:1626 set_sense -type clock|data -0559 Sdc.tcl:1695 transition time can not be specified for virtual clocks. -0560 Sdc.tcl:1728 missing uncertainty value. -0561 Sdc.tcl:1776 -from/-to must be used together. -0562 Sdc.tcl:1796 -rise, -fall options not allowed for single clock uncertainty. -0563 Sdc.tcl:1923 missing -from, -rise_from or -fall_from argument. -0564 Sdc.tcl:1935 missing -to, -rise_to or -fall_to argument. -0565 Sdc.tcl:2067 -from/-to hierarchical instance not supported. -0566 Sdc.tcl:2099 pin '[get_full_name $inst]${hierarchy_separator}${port_name}' not found. -0567 Sdc.tcl:2140 pin '[get_name $cell]${hierarchy_separator}${port_name}' not found. -0568 Sdc.tcl:2435 missing delay argument. -0569 Sdc.tcl:2566 missing path multiplier argument. -0570 Sdc.tcl:2578 cannot use -start with -end. -0571 Sdc.tcl:2748 value must be 0, zero, 1, one, rise, rising, fall, or falling. -0572 Sdc.tcl:2817 cell '$lib_name:$cell_name' not found. -0573 Sdc.tcl:2823 '$cell_name' not found. -0574 Sdc.tcl:2827 missing -lib_cell argument. -0575 Sdc.tcl:2835 port '$to_port_name' not found. -0576 Sdc.tcl:2847 -pin argument required for cells with multiple outputs. -0577 Sdc.tcl:2862 port '$from_port_name' not found. -0578 Sdc.tcl:3075 port '[get_name $port]' is not an input. -0579 Sdc.tcl:3449 operating condition '$op_cond_name' not found. -0580 Sdc.tcl:3467 operating condition '$op_cond_name' not found. -0581 Sdc.tcl:3481 -analysis_type must be single, bc_wc or on_chip_variation. -0582 Sdc.tcl:3506 mode must be top, enclosed or segmented. -0583 Sdc.tcl:3521 no wire load model specified. -0584 Sdc.tcl:3582 wire load selection group '$selection_name' not found. -0585 Sdc.tcl:3740 no default operating conditions found. -0586 NetworkEdit.tcl:107 unsupported object type $object_type. -0587 NetworkEdit.tcl:206 unsupported object type $object_type. -0588 NetworkEdit.tcl:224 unsupported object type $object_type. -0589 CmdUtil.tcl:226 unknown namespace $namespc. -0590 Network.tcl:35 instance $instance_path not found. -0591 Network.tcl:221 net $net_path not found. -0592 Network.tcl:224 net $net_path not found. -0593 Link.tcl:34 missing top_cell_name argument and no current_design. -0594 DelayNormal1.cc:203 unknown early/late value. -0595 DelayNormal2.cc:378 unknown early/late value. -0596 Sim.cc:209 unknown function operator -0597 EstimateParasitics.cc:188 load pin not leaf or top level -0598 Power.cc:610 unknown function operator -0600 Sdc.tcl:2280 '$args' ignored. -0601 Sdc.tcl:2909 set_fanout_load not supported. -0602 Sdc.tcl:3381 no valid objects specified for $key. -0604 Sdc.tcl:281 unknown $unit prefix '$prefix'. -0605 Sdc.tcl:3543 wire load model '$model_name' not found. -0606 Property.tcl:77 get_property unsupported object type $object_type. -0607 StaTcl.i:4367 unknown report path field %s -0608 StaTcl.i:4379 unknown report path field %s -0609 Search.tcl:411 -all_violators is deprecated. Use -violators -0610 Search.tcl:491 -max_transition deprecated. Use -max_slew. -0611 Search.tcl:496 -min_transition deprecated. Use -min_slew. -0612 Sdf.tcl:41 -cond_use must be min, max or min_max. -0616 Search.tcl:1011 specify one of -setup and -hold. -0617 Sdf.tcl:50 -analysis_type is deprecated. Use set_operating_conditions -analysis_type. -0618 DmpCeff.cc:1582 parasitic Pi model has NaNs. -0619 PathEnum.cc:474 path diversion missing edge. -0620 PathVertex.cc:236 missing arrivals. -0621 PathVertex.cc:250 missing arrivals. -0622 PathVertex.cc:279 missing requireds. -0623 PathVertexRep.cc:153 missing arrivals. -0624 PathVertexRep.cc:150 missing arrivals -0625 Liberty.tcl:33 -no_latch_infer is deprecated. -0701 LibertyWriter.cc:417 %s/%s/%s timing model not supported. -0702 LibertyWriter.cc:437 3 axis table models not supported. -0703 LibertyWriter.cc:581 %s/%s/%s timing arc type %s not supported. -0704 LibertyWriter.cc:286 %s/%s bundled ports not supported. -0705 Liberty.cc:811 Liberty cell %s/%s for corner %s/%s not found. -0706 Parasitics.tcl:70 read_spef -increment is deprecated. -0707 SpefReader.cc:732 %s. -0710 LumpedCapDelayCalc.cc:147 gate delay input variable is NaN +0303 Power.tcl:243 activity cannot be set on clock ports. +0320 Property.tcl:32 $cmd object is null. +0321 Property.tcl:37 $cmd $type_key must be specified with object name argument. +0322 Property.tcl:77 get_property unsupported object type $object_type. +0323 Property.tcl:80 get_property $object is not an object. +0324 Property.tcl:107 $object_type not supported. +0325 Property.tcl:110 $object_type '$object_name' not found. +0340 Sdc.tcl:73 cannot open '$filename'. +0341 Sdc.tcl:128 incomplete command at end of file. +0342 Sdc.tcl:212 hierarchy separator must be one of '$sdc_dividers'. +0343 Sdc.tcl:259 unknown unit $unit '$suffix'. +0344 Sdc.tcl:281 unknown $unit prefix '$prefix'. +0345 Sdc.tcl:288 $unit scale [format %.0e $scale] does not match library scale [format %.0e $unit_scale]. +0346 Sdc.tcl:394 only one of -cells, -data_pins, -clock_pins, -async_pins, -output_pins are suppported. +0347 Sdc.tcl:437 current_design for other than top cell not supported. +0348 Sdc.tcl:473 patterns argument not supported with -of_objects. +0349 Sdc.tcl:506 instance '$pattern' not found. +0350 Sdc.tcl:539 unsupported instance -filter expression. +0351 Sdc.tcl:566 clock '$pattern' not found. +0352 Sdc.tcl:592 positional arguments not supported with -of_objects. +0353 Sdc.tcl:619 library '$lib_name' not found. +0354 Sdc.tcl:631 cell '$cell_pattern' not found. +0355 Sdc.tcl:678 library/cell/port '$pattern' not found. +0356 Sdc.tcl:698 port '$port_pattern' not found. +0357 Sdc.tcl:703 library '$lib_name' not found. +0358 Sdc.tcl:713 -nocase ignored without -regexp. +0359 Sdc.tcl:739 library '$pattern' not found. +0360 Sdc.tcl:802 patterns argument not supported with -of_objects. +0361 Sdc.tcl:826 net '$pattern' not found. +0362 Sdc.tcl:855 patterns argument not supported with -of_objects. +0363 Sdc.tcl:892 pin '$pattern' not found. +0364 Sdc.tcl:924 unsupported pin -filter expression. +0365 Sdc.tcl:949 patterns argument not supported with -of_objects. +0366 Sdc.tcl:963 port '$pattern' not found. +0367 Sdc.tcl:1000 unsupported port -filter expression. +0368 Sdc.tcl:1033 -add requires -name. +0369 Sdc.tcl:1038 -name or port_pin_list must be specified. +0370 Sdc.tcl:1046 missing -period argument. +0371 Sdc.tcl:1052 -waveform edge_list must have an even number of edge times. +0372 Sdc.tcl:1061 non-increasing clock -waveform edge times. +0373 Sdc.tcl:1064 -waveform time greater than two periods. +0374 Sdc.tcl:1122 empty ports/pins/nets argument. +0375 Sdc.tcl:1130 -add requires -name. +0376 Sdc.tcl:1135 name or port_pin_list must be specified. +0377 Sdc.tcl:1142 missing -source argument. +0378 Sdc.tcl:1157 -master_clock argument empty. +0379 Sdc.tcl:1160 -add requireds -master_clock. +0380 Sdc.tcl:1164 -multiply_by and -divide_by options are exclusive. +0381 Sdc.tcl:1168 -divide_by is not an integer greater than one. +0382 Sdc.tcl:1171 -combinational implies -divide_by 1. +0383 Sdc.tcl:1176 -multiply_by is not an integer greater than one. +0384 Sdc.tcl:1182 -duty_cycle is not a float between 0 and 100. +0385 Sdc.tcl:1188 -edges only supported for three edges. +0386 Sdc.tcl:1194 edges times are not monotonically increasing. +0387 Sdc.tcl:1203 -edge_shift length does not match -edges length. +0388 Sdc.tcl:1209 missing -multiply_by, -divide_by, -combinational or -edges argument. +0389 Sdc.tcl:1217 cannot specify -invert without -multiply_by, -divide_by or -combinational. +0390 Sdc.tcl:1223 -duty_cycle requires -multiply_by value. +0391 Sdc.tcl:1283 group_path command failed. +0392 Sdc.tcl:1290 positional arguments not supported. +0393 Sdc.tcl:1294 -from, -through or -to required. +0394 Sdc.tcl:1300 -name and -default are mutually exclusive. +0395 Sdc.tcl:1302 -name or -default option is required. +0396 Sdc.tcl:1343 cannot specify both -high and -low. +0397 Sdc.tcl:1351 missing -setup or -hold argument. +0398 Sdc.tcl:1365 -high and -low only permitted for pins and instances. +0399 Sdc.tcl:1372 -high and -low only permitted for pins and instances. +0400 Sdc.tcl:1415 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. +0401 Sdc.tcl:1418 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. +0402 Sdc.tcl:1437 unknown keyword argument $arg. +0403 Sdc.tcl:1439 extra positional argument $arg. +0404 Sdc.tcl:1468 the -all and -name options are mutually exclusive. +0405 Sdc.tcl:1471 either -all or -name options must be specified. +0406 Sdc.tcl:1479 one of -logically_exclusive, -physically_exclusive or -asynchronous is required. +0407 Sdc.tcl:1482 the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive. +0408 Sdc.tcl:1532 -clock ignored for clock objects. +0409 Sdc.tcl:1546 -source '[get_full_name $pin]' is not a clock pin. +0410 Sdc.tcl:1553 -early/-late is only allowed with -source. +0411 Sdc.tcl:1582 -clock ignored for clock objects. +0412 Sdc.tcl:1594 -source '[$pin path_name]' is not a clock pin. +0413 Sdc.tcl:1622 set_sense -type data not supported. +0414 Sdc.tcl:1626 set_sense -type clock|data +0415 Sdc.tcl:1637 set_clock_sense is deprecated as of SDC 2.1. Use set_sense -type clock. +0416 Sdc.tcl:1649 -pulse argument not supported. +0417 Sdc.tcl:1658 -positive, -negative, -stop_propagation and -pulse are mutually exclusive. +0418 Sdc.tcl:1671 hierarchical pin '[get_full_name $pin]' not supported. +0419 Sdc.tcl:1695 transition time can not be specified for virtual clocks. +0420 Sdc.tcl:1728 missing uncertainty value. +0421 Sdc.tcl:1776 -from/-to must be used together. +0422 Sdc.tcl:1796 -rise, -fall options not allowed for single clock uncertainty. +0423 Sdc.tcl:1862 -from/-to must be used together. +0424 Sdc.tcl:1882 -rise, -fall options not allowed for single clock uncertainty. +0425 Sdc.tcl:1923 missing -from, -rise_from or -fall_from argument. +0426 Sdc.tcl:1935 missing -to, -rise_to or -fall_to argument. +0427 Sdc.tcl:1983 missing -from, -rise_from or -fall_from argument. +0428 Sdc.tcl:1995 missing -to, -rise_to or -fall_to argument. +0429 Sdc.tcl:2037 -from/-to keywords ignored for lib_pin, port and pin arguments. +0430 Sdc.tcl:2067 -from/-to hierarchical instance not supported. +0431 Sdc.tcl:2099 pin '[get_full_name $inst]${hierarchy_separator}${port_name}' not found. +0432 Sdc.tcl:2140 pin '[get_name $cell]${hierarchy_separator}${port_name}' not found. +0434 Sdc.tcl:2174 -from/-to keywords ignored for lib_pin, port and pin arguments. +0435 Sdc.tcl:2226 -from/-to hierarchical instance not supported. +0436 Sdc.tcl:2280 '$args' ignored. +0437 Sdc.tcl:2284 -from, -through or -to required. +0438 Sdc.tcl:2363 -source_latency_included ignored with -reference_pin. +0439 Sdc.tcl:2366 -network_latency_included ignored with -reference_pin. +0440 Sdc.tcl:2385 $cmd not allowed on [pin_direction $pin] port '[get_full_name $pin]'. +0441 Sdc.tcl:2387 $cmd relative to a clock defined on the same port/pin not allowed. +0442 Sdc.tcl:2435 missing delay argument. +0443 Sdc.tcl:2441 '$args' ignored. +0444 Sdc.tcl:2566 missing path multiplier argument. +0445 Sdc.tcl:2571 '$args' ignored. +0446 Sdc.tcl:2578 cannot use -start with -end. +0447 Sdc.tcl:2628 $cmd command failed. +0448 Sdc.tcl:2635 positional arguments not supported. +0449 Sdc.tcl:2639 -from, -through or -to required. +0450 Sdc.tcl:2706 virtual clock [get_name $clk] can not be propagated. +0451 Sdc.tcl:2748 value must be 0, zero, 1, one, rise, rising, fall, or falling. +0452 Sdc.tcl:2817 cell '$lib_name:$cell_name' not found. +0453 Sdc.tcl:2823 '$cell_name' not found. +0454 Sdc.tcl:2827 missing -lib_cell argument. +0455 Sdc.tcl:2835 port '$to_port_name' not found. +0456 Sdc.tcl:2847 -pin argument required for cells with multiple outputs. +0457 Sdc.tcl:2862 port '$from_port_name' not found. +0458 Sdc.tcl:2880 -multiply_by ignored. +0459 Sdc.tcl:2883 -dont_scale ignored. +0460 Sdc.tcl:2886 -no_design_rule ignored. +0461 Sdc.tcl:2909 set_fanout_load not supported. +0462 Sdc.tcl:2933 -clock not supported. +0463 Sdc.tcl:2936 -clock_fall not supported. +0464 Sdc.tcl:2982 -pin_load not allowed for net objects. +0465 Sdc.tcl:2985 -wire_load not allowed for net objects. +0466 Sdc.tcl:2988 -rise/-fall not allowed for net objects. +0467 Sdc.tcl:3075 port '[get_name $port]' is not an input. +0468 Sdc.tcl:3121 -data_path, -clock_path, -rise, -fall ignored for ports and designs. +0469 Sdc.tcl:3192 derating factor greater than 2.0. +0470 Sdc.tcl:3229 -cell_delay and -cell_check flags ignored for net objects. +0471 Sdc.tcl:3299 no valid objects specified for $key. +0472 Sdc.tcl:3332 no valid objects specified for $key +0473 Sdc.tcl:3381 no valid objects specified for $key. +0474 Sdc.tcl:3449 operating condition '$op_cond_name' not found. +0475 Sdc.tcl:3467 operating condition '$op_cond_name' not found. +0476 Sdc.tcl:3481 -analysis_type must be single, bc_wc or on_chip_variation. +0477 Sdc.tcl:3493 set_wire_load_min_block_size not supported. +0478 Sdc.tcl:3506 mode must be top, enclosed or segmented. +0479 Sdc.tcl:3521 no wire load model specified. +0480 Sdc.tcl:3543 wire load model '$model_name' not found. +0481 Sdc.tcl:3582 wire load selection group '$selection_name' not found. +0482 Sdc.tcl:3670 define_corners must be called before read_liberty. +0500 Sdc.tcl:3740 no default operating conditions found. +0510 Search.tcl:136 $cmd -path_delay must be min, min_rise, min_fall, max, max_rise, max_fall or min_max. +0511 Search.tcl:146 $cmd command failed. +0512 Search.tcl:165 -endpoint_count must be a positive integer. +0513 Search.tcl:174 -group_count must be >= 1. +0514 Search.tcl:205 '$arg' is not a known keyword or flag. +0515 Search.tcl:207 positional arguments not supported. +0516 Search.tcl:326 report_clock_skew -setup and -hold are mutually exclusive options. +0517 Search.tcl:411 -all_violators is deprecated. Use -violators +0518 Search.tcl:491 -max_transition deprecated. Use -max_slew. +0519 Search.tcl:496 -min_transition deprecated. Use -min_slew. +0520 Search.tcl:510 analysis type single is not consistent with doing both setup/max and hold/min checks. +0521 Search.tcl:515 positional arguments not supported. +0522 Search.tcl:778 -min and -max cannot both be specified. +0523 Search.tcl:798 pin '$pin_arg' is hierarchical. +0524 Search.tcl:864 -format $format not recognized. +0525 Search.tcl:904 The transition_time field is deprecated. Use slew instead. +0526 Search.tcl:1011 specify one of -setup and -hold. +0527 Search.tcl:1060 unknown path group '$name'. +0540 Sta.tcl:158 -from/-to arguments not supported with -of_objects. +0541 Sta.tcl:286 unsupported -filter expression. +0560 Util.tcl:44 $cmd $key missing value. +0561 Util.tcl:61 $cmd $key missing value. +0562 Util.tcl:71 $cmd $arg is not a known keyword or flag. +0563 Util.tcl:93 $cmd $arg is not a known keyword or flag. +0564 Util.tcl:241 $cmd positional arguments not supported. +0565 Util.tcl:247 $cmd requires one positional argument. +0566 Util.tcl:254 $cmd requires zero or one positional arguments. +0567 Util.tcl:260 $cmd requires two positional arguments. +0568 Util.tcl:267 $cmd requires one or two positional arguments. +0569 Util.tcl:273 $cmd requires three positional arguments. +0570 Util.tcl:279 $cmd requires four positional arguments. +0571 Util.tcl:287 $cmd_arg '$arg' is not a float. +0572 Util.tcl:293 $cmd_arg '$arg' is not a positive float. +0573 Util.tcl:299 $cmd_arg '$arg' is not an integer. +0574 Util.tcl:305 $cmd_arg '$arg' is not a positive integer. +0575 Util.tcl:311 $cmd_arg '$arg' is not an integer greater than or equal to one. +0576 Util.tcl:317 $cmd_arg '$arg' is not between 0 and 100. +0590 Variables.tcl:45 sta_report_default_digits must be a positive integer. +0591 Variables.tcl:70 sta_crpr_mode must be pin or transition. +0592 Variables.tcl:187 $var_name value must be 0 or 1. +0600 WritePathSpice.tcl:35 Directory $spice_dir not found. +0601 WritePathSpice.tcl:38 $spice_dir is not a directory. +0602 WritePathSpice.tcl:41 Cannot write in $spice_dir. +0603 WritePathSpice.tcl:44 No -spice_directory specified. +0604 WritePathSpice.tcl:50 -lib_subckt_file $lib_subckt_file is not readable. +0605 WritePathSpice.tcl:53 No -lib_subckt_file specified. +0606 WritePathSpice.tcl:59 -model_file $model_file is not readable. +0607 WritePathSpice.tcl:62 No -model_file specified. +0608 WritePathSpice.tcl:68 No -power specified. +0609 WritePathSpice.tcl:74 No -ground specified. +0610 WritePathSpice.tcl:78 No -path_args specified. +0611 WritePathSpice.tcl:83 No paths found for -path_args $path_args. +0620 Sdf.tcl:41 -cond_use must be min, max or min_max. +0621 Sdf.tcl:46 -cond_use min_max cannot be used with analysis type single. +0622 Sdf.tcl:50 -analysis_type is deprecated. Use set_operating_conditions -analysis_type. +0623 Sdf.tcl:157 SDF -divider must be / or . 0800 VcdReader.cc:110 unhandled vcd command. 0801 VcdReader.cc:146 timescale syntax error. 0802 VcdReader.cc:160 Unknown timescale unit. 0804 VcdReader.cc:217 Variable syntax error. -0805 Vcd.cc:172 Unknown variable %s ID %s -0806 ReadVcdActivities.cc:251 clock %s vcd period %s differs from SDC clock period %s -0807 Sdc.tcl:394 only one of -cells, -data_pins, -clock_pins, -async_pins, -output_pins are suppported. -0808 ReadVcdActivities.cc:107 VCD max time is zero. -0809 ReadVcdActivities.cc:174 problem parsing bus %s. -0810 MakeTimingModel.cc:206 clock %s pin %s is inside model block. -0900 LibertyReader.cc:2868 level_shifter_type must be HL, LH, or HL_LH -0901 LibertyReader.cc:2904 switch_cell_type must be coarse_grain or fine_grain -0902 LibertyReader.cc:2477 unsupported model axis. -0903 LibertyReader.cc:4197 %s group not in timing group. -0904 LibertyReader.cc:2460 receiver_capacitance group not in timing or pin group. -0906 LibertyReader.cc:4090 unsupported model axis. -0907 LibertyReader.cc:2505 output_current_%s group not in timing group. -0908 LibertyReader.cc:2610 vector reference_time not found. -0912 LibertyReader.cc:2608 vector index_1 and index_2 must have exactly one value. -0913 LibertyReader.cc:2546 output current waveform %.2e %.2e not found. -0914 LibertyReader.cc:2643 normalized_driver_waveform variable_2 must be normalized_voltage -0915 LibertyReader.cc:2646 normalized_driver_waveform variable_1 must be input_net_transition -1640 Search.tcl:904 The transition_time field is deprecated. Use slew instead. +1000 ConcreteNetwork.cc:1923 cell type %s can not be linked. +1010 CycleAccting.cc:87 No common period was found between clocks %s and %s. +1020 DelayNormal1.cc:203 unknown early/late value. +1030 DelayNormal2.cc:378 unknown early/late value. +1040 DmpCeff.cc:1554 parasitic Pi model has NaNs. +1041 DmpCeff.cc:1582 cell %s delay model not supported on SPF parasitics by DMP delay calculator +1050 EstimateParasitics.cc:188 load pin not leaf or top level +1060 Genclks.cc:274 no master clock found for generated clock %s. +1062 Genclks.cc:938 generated clock %s source pin %s missing paths from master clock %s. +1080 Graph.cc:793 arc_delay_annotated array bounds exceeded +1081 Graph.cc:808 arc_delay_annotated array bounds exceeded +1082 Graph.cc:820 arc_delay_annotated array bounds exceeded +1083 Graph.cc:833 arc_delay_annotated array bounds exceeded +1100 GraphDelayCalc.cc:480 port not found in cell +1110 Liberty.cc:766 cell %s/%s port %s not found in cell %s/%s. +1111 Liberty.cc:792 cell %s/%s %s -> %s timing group %s not found in cell %s/%s. +1112 Liberty.cc:811 Liberty cell %s/%s for corner %s/%s not found. +1113 Liberty.cc:1748 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with %s -> %s setup_%s check. +1114 Liberty.cc:1762 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function positive sense. +1115 Liberty.cc:1770 cell %s/%s %s -> %s latch enable %s_edge is inconsistent with latch group enable function negative sense. +1130 LibertyExpr.cc:82 %s references unknown port %s. +1131 LibertyExpr.cc:175 %s %s. +1140 LibertyReader.cc:598 library %s already exists. +1141 LibertyReader.cc:632 library missing name. +1142 LibertyReader.cc:658 default_wire_load %s not found. +1143 LibertyReader.cc:669 default_wire_selection %s not found. +1144 LibertyReader.cc:681 default_operating_condition %s not found. +1145 LibertyReader.cc:691 input_threshold_pct_%s not found. +1146 LibertyReader.cc:695 output_threshold_pct_%s not found. +1147 LibertyReader.cc:699 slew_lower_threshold_pct_%s not found. +1148 LibertyReader.cc:703 slew_upper_threshold_pct_%s not found. +1149 LibertyReader.cc:708 Library %s is missing one or more thresholds. +1150 LibertyReader.cc:787 unknown unit multiplier %s. +1151 LibertyReader.cc:810 unknown unit scale %c. +1152 LibertyReader.cc:813 unknown unit suffix %s. +1153 LibertyReader.cc:816 unknown unit suffix %s. +1154 LibertyReader.cc:841 capacitive_load_units are not ff or pf. +1155 LibertyReader.cc:844 capacitive_load_units are not a string. +1156 LibertyReader.cc:847 capacitive_load_units missing suffix. +1157 LibertyReader.cc:850 capacitive_load_units scale is not a float. +1158 LibertyReader.cc:853 capacitive_load_units missing scale and suffix. +1159 LibertyReader.cc:856 capacitive_load_unit missing values suffix. +1160 LibertyReader.cc:874 delay_model %s not supported. +1161 LibertyReader.cc:878 delay_model %s not supported. +1162 LibertyReader.cc:882 delay_model %s not supported. +1163 LibertyReader.cc:887 delay_model %s not supported. +. +1164 LibertyReader.cc:890 unknown delay_model %s +. +1165 LibertyReader.cc:909 unknown bus_naming_style format. +1166 LibertyReader.cc:930 voltage_map voltage is not a float. +1167 LibertyReader.cc:933 voltage_map missing voltage. +1168 LibertyReader.cc:936 voltage_map supply name is not a string. +1169 LibertyReader.cc:939 voltage_map missing supply name and voltage. +1170 LibertyReader.cc:942 voltage_map missing values suffix. +1171 LibertyReader.cc:1027 default_max_transition is 0.0. +1172 LibertyReader.cc:1042 default_max_fanout is 0.0. +1173 LibertyReader.cc:1132 default_fanout_load is 0.0. +1174 LibertyReader.cc:1160 default_wire_load_mode %s not found. +1175 LibertyReader.cc:1331 table template missing name. +1176 LibertyReader.cc:1376 missing variable_%d attribute. +1177 LibertyReader.cc:1452 missing table index values. +1178 LibertyReader.cc:1458 non-increasing table index values. +1179 LibertyReader.cc:1490 bus type %s missing bit_from. +1180 LibertyReader.cc:1492 bus type %s missing bit_to. +1181 LibertyReader.cc:1496 type missing name. +1182 LibertyReader.cc:1523 scaling_factors do not have a name. +1183 LibertyReader.cc:1692 operating_conditions missing name. +1184 LibertyReader.cc:1763 wire_load missing name. +1185 LibertyReader.cc:1806 fanout_length is missing length and fanout. +1186 LibertyReader.cc:1821 wire_load_selection missing name. +1187 LibertyReader.cc:1852 wireload %s not found. +1189 LibertyReader.cc:1859 wire_load_from_area min not a float. +1190 LibertyReader.cc:1862 wire_load_from_area max not a float. +1191 LibertyReader.cc:1865 wire_load_from_area missing parameters. +1192 LibertyReader.cc:1868 wire_load_from_area missing parameters. +1193 LibertyReader.cc:1887 cell missing name. +1194 LibertyReader.cc:1910 cell %s ocv_derate_group %s not found. +1195 LibertyReader.cc:1941 port %s function size does not match port size. +1196 LibertyReader.cc:1997 %s %s bus width mismatch. +1197 LibertyReader.cc:2008 %s %s bus width mismatch. +1198 LibertyReader.cc:2018 clear +1199 LibertyReader.cc:2028 preset +1200 LibertyReader.cc:2064 latch enable function is non-unate for port %s. +1201 LibertyReader.cc:2069 latch enable function is unknown for port %s. +1202 LibertyReader.cc:2141 operating conditions %s not found. +1203 LibertyReader.cc:2144 scaled_cell missing operating condition. +1204 LibertyReader.cc:2147 scaled_cell cell %s has not been defined. +1205 LibertyReader.cc:2150 scaled_cell missing name. +1206 LibertyReader.cc:2176 scaled_cell %s, %s port functions do not match cell port functions. +1207 LibertyReader.cc:2181 scaled_cell ports do not match cell ports. +1208 LibertyReader.cc:2183 scaled_cell %s, %s timing does not match cell timing. +1209 LibertyReader.cc:2202 combinational timing to an input port. +1210 LibertyReader.cc:2297 missing %s_transition. +1211 LibertyReader.cc:2299 missing cell_%s. +1212 LibertyReader.cc:2319 timing group from output port. +1213 LibertyReader.cc:2329 timing group from output port. +1214 LibertyReader.cc:2339 timing group from output port. +1215 LibertyReader.cc:2357 timing group from output port. +1217 LibertyReader.cc:2373 timing group from output port. +1218 LibertyReader.cc:2460 receiver_capacitance group not in timing or pin group. +1219 LibertyReader.cc:2477 unsupported model axis. +1220 LibertyReader.cc:2505 output_current_%s group not in timing group. +1221 LibertyReader.cc:2546 output current waveform %.2e %.2e not found. +1222 LibertyReader.cc:2566 unsupported model axis. +1223 LibertyReader.cc:2608 vector index_1 and index_2 must have exactly one value. +1224 LibertyReader.cc:2610 vector reference_time not found. +1225 LibertyReader.cc:2643 normalized_driver_waveform variable_2 must be normalized_voltage +1226 LibertyReader.cc:2646 normalized_driver_waveform variable_1 must be input_net_transition +1227 SpefReader.cc:732 %s. +1228 LibertyReader.cc:2868 level_shifter_type must be HL, LH, or HL_LH +1229 LibertyReader.cc:2904 switch_cell_type must be coarse_grain or fine_grain +1230 LibertyReader.cc:2928 scaling_factors %s not found. +1231 LibertyReader.cc:2969 pin name is not a string. +1232 LibertyReader.cc:2986 pin name is not a string. +1233 LibertyReader.cc:3000 pin name is not a string. +1234 LibertyReader.cc:3078 bus %s bus_type not found. +1235 LibertyReader.cc:3130 bus_type %s not found. +1236 LibertyReader.cc:3133 bus_type is not a string. +1237 LibertyReader.cc:3151 bundle %s member not found. +1238 LibertyReader.cc:3174 member is not a string. +1239 LibertyReader.cc:3181 members attribute is missing values. +1240 LibertyReader.cc:3232 unknown port direction. +1241 LibertyReader.cc:3466 max_transition is 0.0. +1242 LibertyReader.cc:3572 pulse_latch unknown pulse type. +1243 LibertyReader.cc:3861 timing group missing related_pin/related_bus_pin. +1244 LibertyReader.cc:3942 unknown timing_type %s. +1245 LibertyReader.cc:3962 unknown timing_sense %s. +1246 LibertyReader.cc:4002 mode value is not a string. +1247 LibertyReader.cc:4005 missing mode value. +1248 LibertyReader.cc:4008 mode name is not a string. +1249 LibertyReader.cc:4011 mode missing values. +1250 LibertyReader.cc:4014 mode missing mode name and value. +1251 LibertyReader.cc:4090 unsupported model axis. +1252 LibertyReader.cc:4117 unsupported model axis. +1253 LibertyReader.cc:4146 unsupported model axis. +1254 LibertyReader.cc:4181 unsupported model axis. +1255 LibertyReader.cc:4197 %s group not in timing group. +1256 LibertyReader.cc:4236 table template %s not found. +1257 LibertyReader.cc:4320 %s is missing values. +1258 LibertyReader.cc:4343 %s is not a list of floats. +1259 LibertyReader.cc:4345 table row has %u columns but axis has %d. +1260 LibertyReader.cc:4355 table has %u rows but axis has %d. +1261 LibertyReader.cc:4406 lut output is not a string. +1262 LibertyReader.cc:4423 cell %s test_cell redefinition. +1263 LibertyReader.cc:4448 mode definition missing name. +1264 LibertyReader.cc:4465 mode value missing name. +1265 LibertyReader.cc:4479 when attribute inside table model. +1266 LibertyReader.cc:4528 %s attribute is not a string. +1267 LibertyReader.cc:4531 %s is not a simple attribute. +1268 LibertyReader.cc:4551 %s attribute is not an integer. +1269 LibertyReader.cc:4554 %s is not a simple attribute. +1270 LibertyReader.cc:4567 %s is not a simple attribute. +1271 LibertyReader.cc:4593 %s value %s is not a float. +1272 LibertyReader.cc:4622 %s missing values. +1273 LibertyReader.cc:4626 %s missing values. +1274 LibertyReader.cc:4629 %s is not a complex attribute. +1275 LibertyReader.cc:4655 %s is not a float. +1276 LibertyReader.cc:4678 %s is missing values. +1277 LibertyReader.cc:4681 %s has more than one string. +1278 LibertyReader.cc:4690 %s is missing values. +1279 LibertyReader.cc:4715 %s attribute is not boolean. +1280 LibertyReader.cc:4718 %s attribute is not boolean. +1281 LibertyReader.cc:4721 %s is not a simple attribute. +1282 LibertyReader.cc:4737 attribute %s value %s not recognized. +1283 LibertyReader.cc:4768 unknown early/late value. +1284 LibertyReader.cc:4988 OCV derate group named %s not found. +1285 LibertyReader.cc:5004 ocv_derate missing name. +1286 LibertyReader.cc:5057 unknown rise/fall. +1287 LibertyReader.cc:5077 unknown derate type. +1288 LibertyReader.cc:5109 unsupported model axis. +1289 LibertyReader.cc:5141 unsupported model axis. +1290 LibertyReader.cc:5173 unsupported model axis. +1291 LibertyReader.cc:5244 unknown pg_type. +1292 LibertyReader.cc:5639 port %s subscript out of range. +1293 LibertyReader.cc:5643 port range %s of non-bus port %s. +1294 LibertyReader.cc:5657 port %s not found. +1295 LibertyReader.cc:5727 port %s not found. +1297 LibertyReader.cc:1418 axis type %s not supported. +1330 LibertyWriter.cc:286 %s/%s bundled ports not supported. +1331 LibertyWriter.cc:417 %s/%s/%s timing model not supported. +1332 LibertyWriter.cc:437 3 axis table models not supported. +1333 LibertyWriter.cc:581 %s/%s/%s timing arc type %s not supported. +1350 LumpedCapDelayCalc.cc:138 gate delay input variable is NaN +1351 TagGroup.cc:297 tag group missing tag +1355 MakeTimingModel.cc:206 clock %s pin %s is inside model block. +1360 Vcd.cc:172 Unknown variable %s ID %s +1370 PathEnum.cc:474 path diversion missing edge. +1380 PathEnumed.cc:126 enumerated path required time +1381 PathEnumed.cc:135 enumerated path required time +1390 PathGroup.cc:399 unknown path end type +1398 VerilogReader.cc:1782 %s is not a verilog module. +1399 VerilogReader.cc:1787 %s is not a verilog module. +1400 PathVertex.cc:236 missing arrivals. +1401 PathVertex.cc:250 missing arrivals. +1402 PathVertex.cc:279 missing requireds. +1420 PathVertexRep.cc:145 tag group missing tag +1421 PathVertexRep.cc:150 missing arrivals +1422 PathVertexRep.cc:153 missing arrivals. +1440 Power.cc:610 unknown function operator +1450 ReadVcdActivities.cc:107 VCD max time is zero. +1451 ReadVcdActivities.cc:174 problem parsing bus %s. +1452 ReadVcdActivities.cc:251 clock %s vcd period %s differs from SDC clock period %s +1470 ReportPath.cc:289 unsupported path type +1471 ReportPath.cc:310 unsupported path type +1473 ReportPath.cc:349 unsupported path type +1474 ReportPath.cc:2378 unsupported path type +1490 Sdc.cc:4058 group path name and is_default are mutually exclusive. +1500 SdcNetwork.cc:1095 inst path string lenth estimate busted +1501 SdcNetwork.cc:1167 inst path string lenth estimate exceeded +1510 Search.cc:2654 max tag group index exceeded +1511 Search.cc:2890 max tag index exceeded +1512 Search.cc:3617 unexpected filter path +1513 Search.cc:3785 tns incr existing vertex +1520 Sim.cc:209 unknown function operator +1521 Sim.cc:864 propagated logic value %c differs from constraint value of %c on pin %s. +1525 SpefParse.yy:805 %d is not positive. +1526 SpefParse.yy:814 %.4f is not positive. +1527 SpefParse.yy:820 %.4f is not positive. +1550 Sta.cc:2032 '%s' is not a valid start point. +1551 Sta.cc:2108 '%s' is not a valid endpoint. +1552 Sta.cc:2431 maximum corner count exceeded +1553 Sta.cc:4228 corresponding timing arc set not found in equiv cells +1570 StaTcl.i:118 no network has been linked. +1571 StaTcl.i:132 network does not support edits. +1573 StaTcl.i:4115 unknown common clk pessimism mode. +1574 StaTcl.i:4129 POCV support requires compilation with SSTA=1. +1575 StaTcl.i:4367 unknown report path field %s +1576 StaTcl.i:4379 unknown report path field %s +1577 StaTcl.i:5064 unknown clock sense +1600 WritePathSpice.cc:287 No liberty libraries found, +1602 WritePathSpice.cc:517 Liberty pg_port %s/%s missing voltage_name attribute, +1603 WritePathSpice.cc:1096 %s pg_port %s not found, +1604 WritePathSpice.cc:1151 no register/latch found for path from %s to %s, +1605 WritePathSpice.cc:1617 The subkct file %s is missing definitions for %s +1606 WritePathSpice.cc:1715 subckt %s port %s has no corresponding liberty port, pg_port and is not power or ground. +1620 WriteSdc.cc:1254 unknown exception type +1621 WriteSdc.cc:1796 illegal set_logic value +1622 WriteSdc.cc:1837 invalid set_case_analysis value diff --git a/network/ConcreteNetwork.cc b/network/ConcreteNetwork.cc index 8c141511..847333e8 100644 --- a/network/ConcreteNetwork.cc +++ b/network/ConcreteNetwork.cc @@ -1920,7 +1920,7 @@ ConcreteNetwork::linkNetwork(const char *top_cell_name, return top_instance_ != nullptr; } else { - report->error(8, "cell type %s can not be linked.", top_cell_name); + report->error(1000, "cell type %s can not be linked.", top_cell_name); return false; } } diff --git a/network/SdcNetwork.cc b/network/SdcNetwork.cc index 586ba3f8..f29db85a 100644 --- a/network/SdcNetwork.cc +++ b/network/SdcNetwork.cc @@ -1092,7 +1092,7 @@ SdcNetwork::parsePath(const char *path, else *p++ = ch; if (p - inst_path + 1 > inst_path_length) - report_->critical(211, "inst path string lenth estimate busted"); + report_->critical(1500, "inst path string lenth estimate busted"); } *p = '\0'; stringDelete(inst_path); @@ -1164,7 +1164,7 @@ SdcNetwork::visitMatches(const Instance *parent, *p++ = ch; } if (p - inst_path + 1 > inst_path_length) - report_->critical(212, "inst path string lenth estimate exceeded"); + report_->critical(1501, "inst path string lenth estimate exceeded"); } *p = '\0'; if (!found_match) { diff --git a/parasitics/EstimateParasitics.cc b/parasitics/EstimateParasitics.cc index e14eaa2a..9c06e46a 100644 --- a/parasitics/EstimateParasitics.cc +++ b/parasitics/EstimateParasitics.cc @@ -185,7 +185,7 @@ EstimateParasitics::estimatePiElmoreBalanced(const Pin *drvr_pin, else if (network->isTopLevelPort(load_pin)) load_cap = sdc->portExtCap(port, rf, corner, min_max); else - report->critical(597, "load pin not leaf or top level"); + report->critical(1050, "load pin not leaf or top level"); double cap = load_cap + cap_fanout; double y2_ = res_fanout * cap * cap; y1 += cap; diff --git a/parasitics/Parasitics.tcl b/parasitics/Parasitics.tcl index 8e569ad3..6d78c35e 100644 --- a/parasitics/Parasitics.tcl +++ b/parasitics/Parasitics.tcl @@ -42,7 +42,7 @@ proc_redirect read_spef { set path $keys(-path) set instance [find_instance $path] if { $instance == "NULL" } { - sta_error 433 "path instance '$path' not found." + sta_error 270 "path instance '$path' not found." } } set corner [parse_corner_or_all keys] @@ -59,7 +59,7 @@ proc_redirect read_spef { if [info exists keys(-reduce_to)] { set reduce_to $keys(-reduce_to) if { !($reduce_to == "pi_elmore" || $reduce_to == "pi_pole_residue2") } { - sta_error 434 "-reduce_to must be pi_elmore or pi_pole_residue2." + sta_error 271 "-reduce_to must be pi_elmore or pi_pole_residue2." } } set delete_after_reduce [info exists flags(-delete_after_reduce)] @@ -67,7 +67,7 @@ proc_redirect read_spef { set save [info exists flags(-save)] set filename [file nativename [lindex $args 0]] if { [info exists flags(-increment)] } { - sta_warn 706 "read_spef -increment is deprecated." + sta_warn 272 "read_spef -increment is deprecated." } return [read_spef_cmd $filename $instance $corner $min_max \ $pin_cap_included $keep_coupling_caps $coupling_reduction_factor \ diff --git a/parasitics/SpefParse.yy b/parasitics/SpefParse.yy index a92d9251..10048c2b 100755 --- a/parasitics/SpefParse.yy +++ b/parasitics/SpefParse.yy @@ -802,7 +802,7 @@ pos_integer: INTEGER { int value = $1; if (value < 0) - sta::spef_reader->warn(21, "%d is not positive.", value); + sta::spef_reader->warn(1525, "%d is not positive.", value); $$ = value; } ; @@ -811,13 +811,13 @@ pos_number: INTEGER { float value = static_cast($1); if (value < 0) - sta::spef_reader->warn(22, "%.4f is not positive.", value); + sta::spef_reader->warn(1526, "%.4f is not positive.", value); $$ = value; } | FLOAT { float value = static_cast($1); if (value < 0) - sta::spef_reader->warn(23, "%.4f is not positive.", value); + sta::spef_reader->warn(1527, "%.4f is not positive.", value); $$ = value; } ; diff --git a/parasitics/SpefReader.cc b/parasitics/SpefReader.cc index cdff33a4..11b2d464 100644 --- a/parasitics/SpefReader.cc +++ b/parasitics/SpefReader.cc @@ -729,6 +729,6 @@ int SpefParse_error(const char *msg) { spefFlushBuffer(); - sta::spef_reader->warn(707, "%s.", msg); + sta::spef_reader->warn(1227, "%s.", msg); return 0; } diff --git a/power/Power.cc b/power/Power.cc index 88ab8685..88099bc9 100644 --- a/power/Power.cc +++ b/power/Power.cc @@ -607,7 +607,7 @@ Power::funcBdd(const FuncExpr *expr) result = Cudd_ReadLogicZero(cudd_mgr_); break; default: - report_->critical(598, "unknown function operator"); + report_->critical(1440, "unknown function operator"); } if (result) Cudd_Ref(result); diff --git a/power/Power.tcl b/power/Power.tcl index 3d2fae13..b8384d42 100644 --- a/power/Power.tcl +++ b/power/Power.tcl @@ -240,7 +240,7 @@ proc set_power_activity { args } { foreach port $ports { if { [get_property $port "direction"] == "input" } { if { [sta::is_clock_src [sta::get_port_pin $port]] } { - sta_warn 299 "activity cannot be set on clock ports." + sta_warn 303 "activity cannot be set on clock ports." } else { set_power_input_port_activity $port $activity $duty } diff --git a/power/ReadVcdActivities.cc b/power/ReadVcdActivities.cc index 3abaf594..66d2a39b 100644 --- a/power/ReadVcdActivities.cc +++ b/power/ReadVcdActivities.cc @@ -104,7 +104,7 @@ ReadVcdActivities::readActivities() if (vcd_.timeMax() > 0) setActivities(); else - report_->warn(808, "VCD max time is zero."); + report_->warn(1450, "VCD max time is zero."); report_->reportLine("Annotated %lu pin activities.", annotated_pins_.size()); } @@ -171,7 +171,7 @@ ReadVcdActivities::setVarActivity(VcdVar *var, } } else - report_->warn(809, "problem parsing bus %s.", var_name.c_str()); + report_->warn(1451, "problem parsing bus %s.", var_name.c_str()); } } @@ -248,7 +248,7 @@ ReadVcdActivities::checkClkPeriod(const Pin *pin, double clk_period = clk->period(); if (abs((clk_period - sim_period) / clk_period) > .1) // Warn if sim clock period differs from SDC by 10%. - report_->warn(806, "clock %s vcd period %s differs from SDC clock period %s", + report_->warn(1452, "clock %s vcd period %s differs from SDC clock period %s", clk->name(), delayAsString(sim_period, this), delayAsString(clk_period, this)); diff --git a/power/Vcd.cc b/power/Vcd.cc index 6033dbd9..850e4f99 100644 --- a/power/Vcd.cc +++ b/power/Vcd.cc @@ -169,7 +169,7 @@ VcdValues & Vcd::values(VcdVar *var) { if (id_values_map_.find(var->id()) == id_values_map_.end()) { - report_->error(805, "Unknown variable %s ID %s", + report_->error(1360, "Unknown variable %s ID %s", var->name().c_str(), var->id().c_str()); static VcdValues empty; diff --git a/power/VcdReader.cc b/power/VcdReader.cc index e30be19d..70ce8a99 100644 --- a/power/VcdReader.cc +++ b/power/VcdReader.cc @@ -189,7 +189,7 @@ VcdReader::parseVar() string type_name = tokens[0]; VcdVarType type = vcd_var_type_map.find(type_name, VcdVarType::unknown); if (type == VcdVarType::unknown) - report_->fileWarn(803, filename_, stmt_line_, + report_->fileWarn(1370, filename_, stmt_line_, "Unknown variable type %s.", type_name.c_str()); else { diff --git a/sdc/CycleAccting.cc b/sdc/CycleAccting.cc index 1012743d..f515fb28 100644 --- a/sdc/CycleAccting.cc +++ b/sdc/CycleAccting.cc @@ -84,7 +84,7 @@ CycleAcctings::reportClkToClkMaxCycleWarnings(Report *report) ClockPair clk_pair2(tgt_clk, src_clk); if (!clk_warnings.hasKey(clk_pair1) && !clk_warnings.hasKey(clk_pair2)) { - report->warn(9, "No common period was found between clocks %s and %s.", + report->warn(1010, "No common period was found between clocks %s and %s.", src_clk->name(), tgt_clk->name()); clk_warnings.insert(clk_pair1); diff --git a/sdc/Sdc.cc b/sdc/Sdc.cc index c4c071d8..c0bd472d 100644 --- a/sdc/Sdc.cc +++ b/sdc/Sdc.cc @@ -4055,7 +4055,7 @@ Sdc::makeGroupPath(const char *name, { checkFromThrusTo(from, thrus, to); if (name && is_default) - report_->critical(213, "group path name and is_default are mutually exclusive."); + report_->critical(1490, "group path name and is_default are mutually exclusive."); else if (name) { GroupPath *group_path = new GroupPath(name, is_default, from, thrus, to, true, comment); diff --git a/sdc/WriteSdc.cc b/sdc/WriteSdc.cc index e937abac..c5e07bdd 100644 --- a/sdc/WriteSdc.cc +++ b/sdc/WriteSdc.cc @@ -1251,7 +1251,7 @@ WriteSdc::writeExceptionCmd(ExceptionPath *exception) const gzprintf(stream_, "group_path -name %s", exception->name()); } else - report_->critical(214, "unknown exception type"); + report_->critical(1620, "unknown exception type"); } void @@ -1793,7 +1793,7 @@ WriteSdc::setConstantCmd(const Pin *pin) const case LogicValue::rise: case LogicValue::fall: default: - report_->critical(215, "illegal set_logic value"); + report_->critical(1621, "illegal set_logic value"); return nullptr; } } @@ -1834,7 +1834,7 @@ WriteSdc::caseAnalysisValueStr(const Pin *pin) const return "falling"; case LogicValue::unknown: default: - report_->critical(216, "invalid set_case_analysis value"); + report_->critical(1622, "invalid set_case_analysis value"); return nullptr; } } diff --git a/sdf/Sdf.tcl b/sdf/Sdf.tcl index 324a2be9..0d439579 100644 --- a/sdf/Sdf.tcl +++ b/sdf/Sdf.tcl @@ -38,16 +38,16 @@ proc_redirect read_sdf { if [info exists keys(-cond_use)] { set cond_use $keys(-cond_use) if { $cond_use != "min" && $cond_use != "max" && $cond_use != "min_max" } { - sta_warn 612 "-cond_use must be min, max or min_max." + sta_warn 620 "-cond_use must be min, max or min_max." set cond_use "NULL" } if { $cond_use == "min_max" \ && { [operating_condition_analysis_type] == "single" }} { - sta_error 430 "-cond_use min_max cannot be used with analysis type single." + sta_error 621 "-cond_use min_max cannot be used with analysis type single." } } if [info exists keys(-analysis_type)] { - sta_warn 617 "-analysis_type is deprecated. Use set_operating_conditions -analysis_type." + sta_warn 622 "-analysis_type is deprecated. Use set_operating_conditions -analysis_type." } set unescaped_dividers [info exists flags(-unescaped_dividers)] @@ -154,7 +154,7 @@ proc_redirect write_sdf { if [info exists keys(-divider)] { set divider $keys(-divider) if { !($divider == "/" || $divider == ".") } { - sta_error 432 "SDF -divider must be / or ." + sta_error 623 "SDF -divider must be / or ." } } set digits 3 diff --git a/search/Genclks.cc b/search/Genclks.cc index e967c09e..93341238 100644 --- a/search/Genclks.cc +++ b/search/Genclks.cc @@ -271,7 +271,7 @@ Genclks::checkMaster(Clock *gclk) { ensureMaster(gclk); if (gclk->masterClk() == nullptr) - report_->warn(10, "no master clock found for generated clock %s.", + report_->warn(1060, "no master clock found for generated clock %s.", gclk->name()); } @@ -329,7 +329,7 @@ Genclks::ensureMaster(Clock *gclk) } } if (master_clk_count > 1) - report_->warn(12, + report_->warn(1061, "generated clock %s pin %s is in the fanout of multiple clocks.", gclk->name(), network_->pathName(src_pin)); @@ -935,7 +935,7 @@ Genclks::recordSrcPaths(Clock *gclk) // Don't warn if the master clock is ideal. && gclk->masterClk() && gclk->masterClk()->isPropagated()) - report_->warn(13, "generated clock %s source pin %s missing paths from master clock %s.", + report_->warn(1062, "generated clock %s source pin %s missing paths from master clock %s.", gclk->name(), network_->pathName(gclk_pin), gclk->masterClk()->name()); diff --git a/search/MakeTimingModel.cc b/search/MakeTimingModel.cc index ddda57a2..052a4571 100644 --- a/search/MakeTimingModel.cc +++ b/search/MakeTimingModel.cc @@ -203,7 +203,7 @@ MakeTimingModel::checkClock(Clock *clk) { for (const Pin *pin : clk->leafPins()) { if (!network_->isTopLevelPort(pin)) - report_->warn(810, "clock %s pin %s is inside model block.", + report_->warn(1355, "clock %s pin %s is inside model block.", clk->name(), network_->pathName(pin)); } diff --git a/search/PathEnum.cc b/search/PathEnum.cc index 6b64f053..8d21f399 100644 --- a/search/PathEnum.cc +++ b/search/PathEnum.cc @@ -471,7 +471,7 @@ PathEnum::divSlack(Path *before_div, return div_arrival - arc_arrival; } else { - report()->error(619, "path diversion missing edge."); + report()->error(1370, "path diversion missing edge."); return 0.0; } } diff --git a/search/PathEnumed.cc b/search/PathEnumed.cc index ef8a19ee..dcfd2d76 100644 --- a/search/PathEnumed.cc +++ b/search/PathEnumed.cc @@ -123,7 +123,7 @@ const Required & PathEnumed::required(const StaState *sta) const { // Required times are never needed for enumerated paths. - sta->report()->critical(251, "enumerated path required time"); + sta->report()->critical(1380, "enumerated path required time"); return delay_zero; } @@ -132,7 +132,7 @@ PathEnumed::setRequired(const Required &, const StaState *sta) { // Required times are never needed for enumerated paths. - sta->report()->critical(252, "enumerated path required time"); + sta->report()->critical(1381, "enumerated path required time"); } Path * diff --git a/search/PathGroup.cc b/search/PathGroup.cc index d7b75041..51096246 100644 --- a/search/PathGroup.cc +++ b/search/PathGroup.cc @@ -396,7 +396,7 @@ PathGroups::pathGroup(const PathEnd *path_end) const else if (path_end->isUnconstrained()) return unconstrained_[mm_index]; else { - report_->critical(253, "unknown path end type"); + report_->critical(1390, "unknown path end type"); return nullptr; } } diff --git a/search/PathVertex.cc b/search/PathVertex.cc index ef68d11d..44af7515 100644 --- a/search/PathVertex.cc +++ b/search/PathVertex.cc @@ -233,7 +233,7 @@ PathVertex::arrival(const StaState *sta) const if (arrivals) return arrivals[arrival_index_]; else { - sta->report()->error(620, "missing arrivals."); + sta->report()->error(1400, "missing arrivals."); return 0.0; } } @@ -247,7 +247,7 @@ PathVertex::setArrival(Arrival arrival, if (arrivals) arrivals[arrival_index_] = arrival; else - sta->report()->error(621, "missing arrivals."); + sta->report()->error(1401, "missing arrivals."); } } @@ -276,7 +276,7 @@ PathVertex::setRequired(const Required &required, requireds = graph->makeRequireds(vertex_, arrival_count); } else - sta->report()->error(622, "missing requireds."); + sta->report()->error(1402, "missing requireds."); } requireds[arrival_index_] = required; } diff --git a/search/PathVertexRep.cc b/search/PathVertexRep.cc index 624372d0..67aa5368 100644 --- a/search/PathVertexRep.cc +++ b/search/PathVertexRep.cc @@ -142,15 +142,15 @@ PathVertexRep::arrival(const StaState *sta) const bool arrival_exists; tag_group->arrivalIndex(tag, arrival_index, arrival_exists); if (!arrival_exists) - sta->report()->critical(254, "tag group missing tag"); + sta->report()->critical(1420, "tag group missing tag"); Arrival *arrivals = graph->arrivals(vertex); if (arrivals) return arrivals[arrival_index]; else - sta->report()->critical(624, "missing arrivals"); + sta->report()->critical(1421, "missing arrivals"); } else - sta->report()->error(623, "missing arrivals."); + sta->report()->error(1422, "missing arrivals."); return 0.0; } diff --git a/search/ReportPath.cc b/search/ReportPath.cc index 693651c8..adbb8a0b 100644 --- a/search/ReportPath.cc +++ b/search/ReportPath.cc @@ -286,7 +286,7 @@ ReportPath::reportPathEndHeader() reportSlackOnlyHeader(); break; default: - report_->critical(255, "unsupported path type"); + report_->critical(1470, "unsupported path type"); break; } } @@ -307,7 +307,7 @@ ReportPath::reportPathEndFooter() reportBlankLine(); break; default: - report_->critical(256, "unsupported path type"); + report_->critical(1471, "unsupported path type"); break; } } @@ -346,7 +346,7 @@ ReportPath::reportPathEnd(PathEnd *end, reportSlackOnly(end); break; default: - report_->critical(257, "unsupported path type"); + report_->critical(1473, "unsupported path type"); break; } } @@ -2375,7 +2375,7 @@ ReportPath::reportPath(const Path *path) case ReportPathFormat::summary: case ReportPathFormat::slack_only: default: - report_->critical(259, "unsupported path type"); + report_->critical(1474, "unsupported path type"); break; } } diff --git a/search/Search.cc b/search/Search.cc index 27135bb9..69124abf 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -2651,7 +2651,7 @@ Search::findTagGroup(TagGroupBldr *tag_bldr) tag_group_set_->reserve(new_capacity); } if (tag_group_next_ > tag_group_index_max) - report_->critical(260, "max tag group index exceeded"); + report_->critical(1510, "max tag group index exceeded"); } return tag_group; } @@ -2887,7 +2887,7 @@ Search::findTag(const RiseFall *rf, tag_set_->reserve(new_capacity); } if (tag_next_ == tag_index_max) - report_->critical(261, "max tag index exceeded"); + report_->critical(1511, "max tag index exceeded"); } if (own_states) delete states; @@ -3614,7 +3614,7 @@ Search::matchesFilter(Path *path, // -to return matchesFilterTo(path, to_clk_edge); else { - report_->critical(262, "unexpected filter path"); + report_->critical(1512, "unexpected filter path"); return false; } } @@ -3782,7 +3782,7 @@ Search::tnsIncr(Vertex *vertex, vertex->name(sdc_network_)); tns_[path_ap_index] += slack; if (tns_slacks_[path_ap_index].hasKey(vertex)) - report_->critical(263, "tns incr existing vertex"); + report_->critical(1513, "tns incr existing vertex"); tns_slacks_[path_ap_index][vertex] = slack; } } diff --git a/search/Sim.cc b/search/Sim.cc index 24c98e2b..d1b9ff48 100644 --- a/search/Sim.cc +++ b/search/Sim.cc @@ -206,7 +206,7 @@ Sim::funcBdd(const FuncExpr *expr, result = Cudd_ReadLogicZero(cudd_mgr_); break; default: - report_->critical(596, "unknown function operator"); + report_->critical(1520, "unknown function operator"); } if (result) Cudd_Ref(result); @@ -861,7 +861,7 @@ Sim::setPinValue(const Pin *pin, if (exists && value != constraint_value) { if (value != LogicValue::unknown) - report_->warn(15, "propagated logic value %c differs from constraint value of %c on pin %s.", + report_->warn(1521, "propagated logic value %c differs from constraint value of %c on pin %s.", logicValueString(value), logicValueString(constraint_value), sdc_network_->pathName(pin)); diff --git a/search/Sta.cc b/search/Sta.cc index bb437451..2efe3fbf 100644 --- a/search/Sta.cc +++ b/search/Sta.cc @@ -2029,7 +2029,7 @@ Sta::checkExceptionFromPins(ExceptionFrom *from, report_->fileWarn(267, file, line, "'%s' is not a valid start point.", cmd_network_->pathName(pin)); else - report_->warn(18, "'%s' is not a valid start point.", + report_->warn(1550, "'%s' is not a valid start point.", cmd_network_->pathName(pin)); } } @@ -2105,7 +2105,7 @@ Sta::checkExceptionToPins(ExceptionTo *to, report_->fileWarn(266, file, line, "'%s' is not a valid endpoint.", cmd_network_->pathName(pin)); else - report_->warn(17, "'%s' is not a valid endpoint.", + report_->warn(1551, "'%s' is not a valid endpoint.", cmd_network_->pathName(pin)); } } @@ -2428,7 +2428,7 @@ void Sta::makeCorners(StringSet *corner_names) { if (corner_names->size() > corner_count_max) - report_->error(374, "maximum corner count exceeded"); + report_->error(1552, "maximum corner count exceeded"); sdc_->makeCornersBefore(); parasitics_->deleteParasitics(); corners_->makeCorners(corner_names); @@ -4225,7 +4225,7 @@ Sta::replaceEquivCellBefore(const Instance *inst, if (to_set) edge->setTimingArcSet(to_set); else - report_->critical(264, "corresponding timing arc set not found in equiv cells"); + report_->critical(1553, "corresponding timing arc set not found in equiv cells"); } } } diff --git a/search/TagGroup.cc b/search/TagGroup.cc index 090515ac..cc4c16ff 100644 --- a/search/TagGroup.cc +++ b/search/TagGroup.cc @@ -294,7 +294,7 @@ TagGroupBldr::copyArrivals(TagGroup *tag_group, } } else - sta_->report()->critical(265, "tag group missing tag"); + sta_->report()->critical(1351, "tag group missing tag"); } } diff --git a/search/WritePathSpice.cc b/search/WritePathSpice.cc index 372b9752..c34a4603 100644 --- a/search/WritePathSpice.cc +++ b/search/WritePathSpice.cc @@ -284,7 +284,7 @@ writePathSpice(Path *path, StaState *sta) { if (sta->network()->defaultLibertyLibrary() == nullptr) - sta->report()->error(20, "No liberty libraries found,"); + sta->report()->error(1600, "No liberty libraries found,"); WritePathSpice writer(path, spice_filename, subckt_filename, lib_subckt_filename, model_filename, off_path_pin_names, power_name, gnd_name, sta); @@ -507,14 +507,14 @@ WritePathSpice::pgPortVoltage(LibertyPgPort *pg_port) else if (stringEqual(voltage_name, gnd_name_)) voltage = gnd_voltage_; else - report_->error(24, "pg_pin %s/%s voltage %s not found,", + report_->error(1601 , "pg_pin %s/%s voltage %s not found,", pg_port->cell()->name(), pg_port->name(), voltage_name); } } else - report_->error(25, "Liberty pg_port %s/%s missing voltage_name attribute,", + report_->error(1602, "Liberty pg_port %s/%s missing voltage_name attribute,", pg_port->cell()->name(), pg_port->name()); return voltage; @@ -1093,7 +1093,7 @@ WritePathSpice::writeVoltageSource(LibertyCell *cell, if (pg_port) voltage = pgPortVoltage(pg_port); else - report_->error(26, "%s pg_port %s not found,", + report_->error(1603, "%s pg_port %s not found,", cell->name(), pg_port_name); @@ -1148,7 +1148,7 @@ WritePathSpice::regPortValues(Stage stage, dcalc_ap_index = drvr_path->dcalcAnalysisPt(this)->index(); } else - report_->error(27, "no register/latch found for path from %s to %s,", + report_->error(1604, "no register/latch found for path from %s to %s,", stageGateInputPort(stage)->name(), stageDrvrPort(stage)->name()); } @@ -1614,7 +1614,7 @@ WritePathSpice::writeSubckts() missing_cells += "\n"; missing_cells += cell_name; } - report_->error(28, "The subkct file %s is missing definitions for %s", + report_->error(1605, "The subkct file %s is missing definitions for %s", lib_subckt_filename_, missing_cells.c_str()); } @@ -1712,7 +1712,7 @@ WritePathSpice::recordSpicePortNames(const char *cell_name, && pg_port == nullptr && !stringEqual(port_name, power_name_) && !stringEqual(port_name, gnd_name_)) - report_->error(29, "subckt %s port %s has no corresponding liberty port, pg_port and is not power or ground.", + report_->error(1606, "subckt %s port %s has no corresponding liberty port, pg_port and is not power or ground.", cell_name, port_name); spice_port_names->push_back(port_name); } diff --git a/tcl/CmdArgs.tcl b/tcl/CmdArgs.tcl index c19df5a1..be902e56 100644 --- a/tcl/CmdArgs.tcl +++ b/tcl/CmdArgs.tcl @@ -105,7 +105,7 @@ proc get_object_args { objects clks_var libcells_var libports_var \ && $object_type == "TimingArcSet" } { lappend timing_arc_sets $obj } else { - sta_error 467 "unsupported object type $object_type." + sta_error 100 "unsupported object type $object_type." } } elseif { $obj != {} } { # Check for implicit arg. @@ -163,7 +163,7 @@ proc get_object_args { objects clks_var libcells_var libports_var \ if { $matches != {} } { set nets [concat $nets $matches] } else { - sta_warn 305 "object '$obj' not found." + sta_warn 101 "object '$obj' not found." } } } @@ -402,12 +402,12 @@ proc parse_corner { keys_var } { set corner_name $keys(-corner) set corner [find_corner $corner_name] if { $corner == "NULL" } { - sta_error 468 "$corner_name is not the name of process corner." + sta_error 102 "$corner_name is not the name of process corner." } else { return $corner } } elseif { [multi_corner] } { - sta_error 469 "-corner keyword required with multi-corner analysis." + sta_error 103 "-corner keyword required with multi-corner analysis." } else { return [cmd_corner] } @@ -422,12 +422,12 @@ proc parse_corner_required { keys_var } { set corner_name $keys(-corner) set corner [find_corner $corner_name] if { $corner == "NULL" } { - sta_error 470 "$corner_name is not the name of process corner." + sta_error 104 "$corner_name is not the name of process corner." } else { return $corner } } else { - sta_error 471 "missing -corner arg." + sta_error 105 "missing -corner arg." } } @@ -438,7 +438,7 @@ proc parse_corner_or_default { keys_var } { set corner_name $keys(-corner) set corner [find_corner $corner_name] if { $corner == "NULL" } { - sta_error 472 "$corner_name is not the name of process corner." + sta_error 106 "$corner_name is not the name of process corner." } else { return $corner } @@ -455,7 +455,7 @@ proc parse_corner_or_all { keys_var } { set corner_name $keys(-corner) set corner [find_corner $corner_name] if { $corner == "NULL" } { - sta_error 473 "$corner_name is not the name of process corner." + sta_error 107 "$corner_name is not the name of process corner." } else { return $corner } @@ -480,7 +480,7 @@ proc parse_rise_fall_flags { flags_var } { proc parse_min_max_flags { flags_var } { upvar 1 $flags_var flags if { [info exists flags(-min)] && [info exists flags(-max)] } { - sta_error 474 "both -min and -max specified." + sta_error 108 "both -min and -max specified." } elseif { [info exists flags(-min)] && ![info exists flags(-max)] } { return "min" } elseif { [info exists flags(-max)] && ![info exists flags(-min)] } { @@ -494,7 +494,7 @@ proc parse_min_max_flags { flags_var } { proc parse_min_max_all_flags { flags_var } { upvar 1 $flags_var flags if { [info exists flags(-min)] && [info exists flags(-max)] } { - sta_error 475 "both -min and -max specified." + sta_error 109 "both -min and -max specified." } elseif { [info exists flags(-min)] && ![info exists flags(-max)] } { return "min" } elseif { [info exists flags(-max)] && ![info exists flags(-min)] } { @@ -521,20 +521,20 @@ proc parse_min_max_all_check_flags { flags_var } { proc parse_early_late_flags { flags_var } { upvar 1 $flags_var flags if { [info exists flags(-early)] && [info exists flags(-late)] } { - sta_error 476 "only one of -early and -late can be specified." + sta_error 110 "only one of -early and -late can be specified." } elseif { [info exists flags(-early)] } { return "min" } elseif { [info exists flags(-late)] } { return "max" } else { - sta_error 477 "-early or -late must be specified." + sta_error 111 "-early or -late must be specified." } } proc parse_early_late_all_flags { flags_var } { upvar 1 $flags_var flags if { [info exists flags(-early)] && [info exists flags(-late)] } { - sta_error 478 "both -early and -late specified." + sta_error 112 "both -early and -late specified." } elseif { [info exists flags(-early)] && ![info exists flags(-late)] } { return "min" } elseif { [info exists flags(-late)] && ![info exists flags(-early)] } { @@ -549,18 +549,18 @@ proc parse_early_late_all_flags { flags_var } { proc get_liberty_error { arg_name arg } { set lib "NULL" if {[llength $arg] > 1} { - sta_error 479 "$arg_name must be a single library." + sta_error 113 "$arg_name must be a single library." } elseif { [is_object $arg] } { set object_type [object_type $arg] if { $object_type == "LibertyLibrary" } { set lib $arg } else { - sta_error 480 "$arg_name type '$object_type' is not a library." + sta_error 114 "$arg_name type '$object_type' is not a library." } } else { set lib [find_liberty $arg] if { $lib == "NULL" } { - sta_error 481 "library '$arg' not found." + sta_error 115 "library '$arg' not found." } } return $lib @@ -577,13 +577,13 @@ proc get_lib_cell_error { arg_name arg } { proc get_lib_cell_arg { arg_name arg error_proc } { set lib_cell "NULL" if { [llength $arg] > 1 } { - sta_error 482 "$arg_name must be a single lib cell." + sta_error 116 "$arg_name must be a single lib cell." } elseif { [is_object $arg] } { set object_type [object_type $arg] if { $object_type == "LibertyCell" } { set lib_cell $arg } else { - $error_proc 700 "$arg_name type '$object_type' is not a liberty cell." + $error_proc 116 "$arg_name type '$object_type' is not a liberty cell." } # Parse library_name/cell_name. } elseif {[regexp [cell_regexp] $arg ignore lib_name cell_name]} { @@ -591,15 +591,15 @@ proc get_lib_cell_arg { arg_name arg error_proc } { if { $library != "NULL" } { set lib_cell [$library find_liberty_cell $cell_name] if { $lib_cell == "NULL" } { - $error_proc 701 "liberty cell '$arg' not found." + $error_proc 117 "liberty cell '$arg' not found." } } else { - $error_proc 702 "library '$lib_name' not found." + $error_proc 118 "library '$lib_name' not found." } } else { set lib_cell [find_liberty_cell $arg] if { $lib_cell == "NULL" } { - $error_proc 703 "liberty cell '$arg' not found." + $error_proc 119 "liberty cell '$arg' not found." } } return $lib_cell @@ -619,7 +619,7 @@ proc get_lib_cells_arg { arg_name arglist error_proc } { if { $object_type == "LibertyCell" } { lappend lib_cells $arg } else { - $error_proc 306 "unsupported object type $object_type." + $error_proc 120 "unsupported object type $object_type." } } elseif { $arg != {} } { set arg_lib_cells [get_lib_cells1 $arg $error_proc] @@ -645,7 +645,7 @@ proc get_lib_cells1 { patterns error_proc } { # Allow wildcards in the library name (incompatible). set libs [get_libs -quiet $lib_name] if { $libs == {} } { - $error_proc 375 "library '$lib_name' not found." + $error_proc 121 "library '$lib_name' not found." } else { foreach lib $libs { set matches [$lib find_liberty_cells_matching $cell_pattern 0 0] @@ -654,7 +654,7 @@ proc get_lib_cells1 { patterns error_proc } { } } if { $cells == {} } { - $error_proc 376 "cell '$cell_pattern' not found." + $error_proc 122 "cell '$cell_pattern' not found." } } } @@ -664,18 +664,18 @@ proc get_lib_cells1 { patterns error_proc } { proc get_instance_error { arg_name arg } { set inst "NULL" if {[llength $arg] > 1} { - sta_error 483 "$arg_name must be a single instance." + sta_error 123 "$arg_name must be a single instance." } elseif { [is_object $arg] } { set object_type [object_type $arg] if { $object_type == "Instance" } { set inst $arg } else { - sta_error 484 "$arg_name type '$object_type' is not an instance." + sta_error 124 "$arg_name type '$object_type' is not an instance." } } else { set inst [find_instance $arg] if { $inst == "NULL" } { - sta_error 485 "instance '$arg' not found." + sta_error 125 "instance '$arg' not found." } } return $inst @@ -694,14 +694,14 @@ proc get_instances_error { arg_name arglist } { if { $object_type == "Instance" } { lappend insts $arg } else { - sta_error 486 "$arg_name type '$object_type' is not an instance." + sta_error 126 "$arg_name type '$object_type' is not an instance." } } elseif { $arg != {} } { set arg_insts [get_cells -quiet $arg] if { $arg_insts != {} } { set insts [concat $insts $arg_insts] } else { - sta_error 487 "instance '$arg' not found." + sta_error 127 "instance '$arg' not found." } } } @@ -719,7 +719,7 @@ proc get_port_pin_error { arg_name arg } { proc get_port_pin_arg { arg_name arg warn_error } { set pin "NULL" if {[llength $arg] > 1} { - sta_warn_error 307 $warn_error "$arg_name must be a single port or pin." + sta_warn_error 128 $warn_error "$arg_name must be a single port or pin." } elseif { [is_object $arg] } { set object_type [object_type $arg] if { $object_type == "Pin" } { @@ -728,7 +728,7 @@ proc get_port_pin_arg { arg_name arg warn_error } { # Explicit port arg - convert to pin. set pin [find_pin [get_name $arg]] } else { - sta_warn_error 308 $warn_error "$arg_name type '$object_type' is not a pin or port." + sta_warn_error 129 $warn_error "$arg_name type '$object_type' is not a pin or port." } } else { set top_instance [top_instance] @@ -740,7 +740,7 @@ proc get_port_pin_arg { arg_name arg warn_error } { set pin [$top_instance find_pin [get_name $port]] } if { $pin == "NULL" } { - sta_warn_error 309 $warn_error "pin $arg not found." + sta_warn_error 130 $warn_error "pin $arg not found." } } return $pin @@ -762,14 +762,14 @@ proc get_port_pins_error { arg_name arglist } { # Convert port to pin. lappend pins [find_pin [get_name $arg]] } else { - sta_error 488 "$arg_name type '$object_type' is not a pin or port." + sta_error 131 "$arg_name type '$object_type' is not a pin or port." } } elseif { $arg != {} } { set arg_pins [get_ports_or_pins $arg] if { $arg_pins != {} } { set pins [concat $pins $arg_pins] } else { - sta_error 489 "pin '$arg' not found." + sta_error 132 "pin '$arg' not found." } } } @@ -789,7 +789,7 @@ proc get_ports_error { arg_name arglist } { if { $object_type == "Port" } { lappend ports $arg } else { - sta_error 490 "$arg_name type '$object_type' is not a port." + sta_error 133 "$arg_name type '$object_type' is not a port." } } elseif { $arg != {} } { set arg_ports [get_ports $arg] @@ -812,18 +812,18 @@ proc get_pin_warn { arg_name arg } { proc get_pin_arg { arg_name arg warn_error } { set pin "NULL" if {[llength $arg] > 1} { - sta_warn_error 310 $warn_error "$arg_name must be a single pin." + sta_warn_error 134 $warn_error "$arg_name must be a single pin." } elseif { [is_object $arg] } { set object_type [object_type $arg] if { $object_type == "Pin" } { set pin $arg } else { - sta_warn_error 311 $warn_error "$arg_name type '$object_type' is not a pin." + sta_warn_error 135 $warn_error "$arg_name type '$object_type' is not a pin." } } else { set pin [find_pin $arg] if { $pin == "NULL" } { - sta_warn_error 312 $warn_error "$arg_name pin $arg not found." + sta_warn_error 136 $warn_error "$arg_name pin $arg not found." } } return $pin @@ -840,18 +840,18 @@ proc get_clock_error { arg_name arg } { proc get_clock_arg { arg_name arg error_proc } { set clk "NULL" if {[llength $arg] > 1} { - $error_proc 597 "$arg_name arg must be a single clock, not a list." + $error_proc 137 "$arg_name arg must be a single clock, not a list." } elseif { [is_object $arg] } { set object_type [object_type $arg] if { $object_type == "Clock" } { set clk $arg } else { - $error_proc 598 "$arg_name arg value is a $object_type, not a clock." + $error_proc 138 "$arg_name arg value is a $object_type, not a clock." } } elseif { $arg != {} } { set clk [find_clock $arg] if { $clk == "NULL" } { - $error_proc 599 "$arg_name arg '$arg' clock not found." + $error_proc 138 "$arg_name arg '$arg' clock not found." } } return $clk @@ -870,7 +870,7 @@ proc get_clocks_warn { arg_name arglist } { if { $object_type == "Clock" } { lappend clks $arg } else { - sta_warn 313 "unsupported object type $object_type." + sta_warn 139 "unsupported object type $object_type." } } elseif { $arg != {} } { set arg_clocks [get_clocks $arg] @@ -885,18 +885,18 @@ proc get_clocks_warn { arg_name arglist } { proc get_net_arg { arg_name arg } { set net "NULL" if {[llength $arg] > 1} { - sta_warn 314 "$arg_name must be a single net." + sta_warn 140 "$arg_name must be a single net." } elseif { [is_object $arg] } { set object_type [object_type $arg] if { $object_type == "Net" } { set net $arg } else { - sta_warn 315 "$arg_name '$object_type' is not a net." + sta_warn 141 "$arg_name '$object_type' is not a net." } } else { set net [find_net $arg] if { $net == "NULL" } { - sta_warn 316 "$arg_name '$arg' not found." + sta_warn 143 "$arg_name '$arg' not found." } } return $net @@ -915,7 +915,7 @@ proc get_nets_arg { arg_name arglist } { if { $object_type == "Net" } { lappend nets $arg } else { - sta_warn 317 "unsupported object type $object_type." + sta_warn 142 "unsupported object type $object_type." } } elseif { $arg != {} } { set arg_nets [get_nets $arg] diff --git a/tcl/CmdUtil.tcl b/tcl/CmdUtil.tcl index 8fe51a62..2a6edbd0 100644 --- a/tcl/CmdUtil.tcl +++ b/tcl/CmdUtil.tcl @@ -41,7 +41,7 @@ proc_redirect help { show_cmd_args $cmd } } else { - sta_warn 300 "no commands match '$pattern'." + sta_warn 160 "no commands match '$pattern'." } } @@ -86,9 +86,9 @@ proc cmd_usage_error { cmd } { variable cmd_args if [info exists cmd_args($cmd)] { - sta_error 404 "Usage: $cmd $cmd_args($cmd)" + sta_error 161 "Usage: $cmd $cmd_args($cmd)" } else { - sta_error 405 "Usage: $cmd argument error" + sta_error 162 "Usage: $cmd argument error" } } @@ -158,7 +158,7 @@ proc set_unit_values { unit key unit_name key_var } { set scale [unit_prefix_scale $unit $prefix] set_cmd_unit_scale $unit $scale } else { - sta_error 515 "unknown $unit unit '$suffix'." + sta_error 163 "unknown $unit unit '$suffix'." } } if [info exists keys(-digits)] { @@ -206,7 +206,7 @@ proc delete_objects_from_list_cmd { list objects } { } elseif {$list_type == "LibertyPort"} { set obj [get_lib_pins $obj] } else { - sta_error 439 "unsupported object type $list_type." + sta_error 164 "unsupported object type $list_type." } } set index [lsearch $list $obj] @@ -223,7 +223,7 @@ proc set_cmd_namespace { namespc } { if { $namespc == "sdc" || $namespc == "sta" } { set_cmd_namespace_cmd $namespc } else { - sta_error 589 "unknown namespace $namespc." + sta_error 165 "unknown namespace $namespc." } } diff --git a/tcl/Liberty.tcl b/tcl/Liberty.tcl index 9c5ef0f7..acc21ed7 100644 --- a/tcl/Liberty.tcl +++ b/tcl/Liberty.tcl @@ -30,7 +30,7 @@ proc_redirect read_liberty { set corner [parse_corner keys] set min_max [parse_min_max_all_flags flags] if { [info exists flags(-no_latch_infer)] } { - sta_warn 625 "-no_latch_infer is deprecated." + sta_warn "-no_latch_infer is deprecated." } set infer_latches [info exists flags(-infer_latches)] read_liberty_cmd $filename $corner $min_max $infer_latches diff --git a/tcl/Link.tcl b/tcl/Link.tcl index 05c87625..2b62da02 100644 --- a/tcl/Link.tcl +++ b/tcl/Link.tcl @@ -31,7 +31,7 @@ proc_redirect link_design { } if { $top_cell_name == "" } { if { $current_design_name == "" } { - sta_error 593 "missing top_cell_name argument and no current_design." + sta_error 220 "missing top_cell_name argument and no current_design." return 0 } else { set top_cell_name $current_design_name diff --git a/tcl/Network.tcl b/tcl/Network.tcl index 83ece34e..0711749f 100644 --- a/tcl/Network.tcl +++ b/tcl/Network.tcl @@ -32,7 +32,7 @@ proc_redirect report_instance { if { $instance != "NULL" } { report_instance1 $instance $connections $verbose } else { - sta_error 590 "instance $instance_path not found." + sta_error 230 "instance $instance_path not found." } } @@ -218,10 +218,10 @@ proc_redirect report_net { if { $net != "NULL" } { report_net1 $net $connections $verbose $hier_pins $corner $digits } else { - sta_error 591 "net $net_path not found." + sta_error 231 "net $net_path not found." } } else { - sta_error 592 "net $net_path not found." + sta_error 232 "net $net_path not found." } } } diff --git a/tcl/NetworkEdit.tcl b/tcl/NetworkEdit.tcl index d3e48208..a6672edc 100644 --- a/tcl/NetworkEdit.tcl +++ b/tcl/NetworkEdit.tcl @@ -104,7 +104,7 @@ proc parse_connect_pin { arg } { set inst [$pin instance] set port [$pin port] } else { - sta_error 586 "unsupported object type $object_type." + sta_error 250 "unsupported object type $object_type." } } else { if {[regexp $path_regexp $arg ignore path_name port_name]} { @@ -134,7 +134,7 @@ proc parse_connect_pin { arg } { } proc connect_pins { net pins } { - sta_warn 372 "connect_pins is deprecated. Use connect_pin." + sta_warn 251 "connect_pins is deprecated. Use connect_pin." # Visit the pins to make sure command will succeed. set insts_ports [parse_connect_pins $pins] if { $insts_ports == 0 } { @@ -203,7 +203,7 @@ proc delete_instance { instance } { if { $object_type == "Instance" } { set inst $instance } else { - sta_error 587 "unsupported object type $object_type." + sta_error 252 "unsupported object type $object_type." } } else { set inst [find_instance $instance] @@ -221,7 +221,7 @@ proc delete_net { net } { if { [is_object $net] } { set object_type [object_type $net] if { $object_type != "Net" } { - sta_error 588 "unsupported object type $object_type." + sta_error 253 "unsupported object type $object_type." } } else { set net [find_net $net] diff --git a/tcl/Property.tcl b/tcl/Property.tcl index a9e97ea5..3eec80ae 100644 --- a/tcl/Property.tcl +++ b/tcl/Property.tcl @@ -29,12 +29,12 @@ proc get_property_cmd { cmd type_key cmd_args } { check_argc_eq2 $cmd $cmd_args set object [lindex $cmd_args 0] if { $object == "" } { - sta_error 491 "$cmd object is null." + sta_error 320 "$cmd object is null." } elseif { ![is_object $object] } { if [info exists keys($type_key)] { set object_type $keys($type_key) } else { - sta_error 492 "$cmd $type_key must be specified with object name argument." + sta_error 321 "$cmd $type_key must be specified with object name argument." } set object [get_property_object_type $object_type $object $quiet] } @@ -74,10 +74,10 @@ proc get_object_property { object prop } { } elseif { $object_type == "TimingArcSet" } { return [timing_arc_set_property $object $prop] } else { - sta_error 606 "get_property unsupported object type $object_type." + sta_error 322 "get_property unsupported object type $object_type." } } else { - sta_error 493 "get_property $object is not an object." + sta_error 323 "get_property $object is not an object." } } @@ -104,10 +104,10 @@ proc get_property_object_type { object_type object_name quiet } { || $object_type == "lib"} { set object [get_libs -quiet $object_name] } else { - sta_error 494 "$object_type not supported." + sta_error 324 "$object_type not supported." } if { $object == "NULL" && !$quiet } { - sta_error 495 "$object_type '$object_name' not found." + sta_error 325 "$object_type '$object_name' not found." } return [lindex $object 0] } diff --git a/tcl/Sdc.tcl b/tcl/Sdc.tcl index c8b67729..6d12d623 100644 --- a/tcl/Sdc.tcl +++ b/tcl/Sdc.tcl @@ -70,7 +70,7 @@ proc source_ { filename echo verbose } { variable sdc_file variable sdc_line if [catch {open $filename r} stream] { - sta_error 511 "cannot open '$filename'." + sta_error 340 "cannot open '$filename'." } else { if { [file extension $filename] == ".gz" } { zlib push gunzip $stream @@ -125,7 +125,7 @@ proc source_ { filename echo verbose } { } close $stream if { $cmd != {} } { - sta_error 512 "incomplete command at end of file." + sta_error 341 "incomplete command at end of file." } set error_sdc_file $sdc_file set error_sdc_line $sdc_line @@ -209,7 +209,7 @@ proc check_path_divider { divider } { set sdc_dividers "/@^#.|" if { !([string length $divider] == 1 && [string first $divider $sdc_dividers] != -1)} { - sta_error 513 "hierarchy separator must be one of '$sdc_dividers'." + sta_error 342 "hierarchy separator must be one of '$sdc_dividers'." } } @@ -256,7 +256,7 @@ proc check_unit { unit key unit_name key_var } { set scale [unit_prefix_scale $unit $prefix] check_unit_scale $unit $scale } else { - sta_error 514 "unknown unit $unit '$suffix'." + sta_error 343 "unknown unit $unit '$suffix'." } } } @@ -278,14 +278,14 @@ proc unit_prefix_scale { unit prefix } { } elseif { [string equal $prefix "f"] } { return 1E-15 } else { - sta_error 604 "unknown $unit prefix '$prefix'." + sta_error 344 "unknown $unit prefix '$prefix'." } } proc check_unit_scale { unit scale } { set unit_scale [unit_scale $unit] if { ![fuzzy_equal $scale $unit_scale] } { - sta_warn 319 "$unit scale [format %.0e $scale] does not match library scale [format %.0e $unit_scale]." + sta_warn 345 "$unit scale [format %.0e $scale] does not match library scale [format %.0e $unit_scale]." } } @@ -391,7 +391,7 @@ proc all_registers { args } { + [info exists flags(-clock_pins)] \ + [info exists flags(-async_pins)] \ + [info exists flags(-output_pins)]] > 1 } { - sta_error 807 "only one of -cells, -data_pins, -clock_pins, -async_pins, -output_pins are suppported." + sta_error 346 "only one of -cells, -data_pins, -clock_pins, -async_pins, -output_pins are suppported." } if [info exists flags(-cells)] { return [find_register_instances $clks $clk_rf \ @@ -434,7 +434,7 @@ proc current_design { {design ""} } { set current_design_name $design return $design } else { - sta_warn 320 "current_design for other than top cell not supported." + sta_warn 347 "current_design for other than top cell not supported." set current_design_name $design return $design } @@ -470,7 +470,7 @@ proc get_cells { args } { set insts {} if [info exists keys(-of_objects)] { if { $args != {} } { - sta_warn 321 "patterns argument not supported with -of_objects." + sta_warn 348 "patterns argument not supported with -of_objects." } parse_port_pin_net_arg $keys(-of_objects) pins nets foreach pin $pins { @@ -503,7 +503,7 @@ proc get_cells { args } { set matches [find_instances_matching $pattern $regexp $nocase] } if { $matches == {} && !$quiet} { - sta_warn 322 "instance '$pattern' not found." + sta_warn 349 "instance '$pattern' not found." } set insts [concat $insts $matches] } @@ -536,7 +536,7 @@ proc filter_insts1 { filter objects } { } elseif { [regexp $filter_regexp1 $filter ignore attr_name op arg] } { set filtered_objects [filter_insts $attr_name $op $arg $objects] } else { - sta_error 516 "unsupported instance -filter expression." + sta_error 350 "unsupported instance -filter expression." } return $filtered_objects } @@ -563,7 +563,7 @@ proc get_clocks { args } { set clocks [concat $clocks $matches] } else { if {![info exists flags(-quiet)]} { - sta_warn 323 "clock '$pattern' not found." + sta_warn 351 "clock '$pattern' not found." } } } @@ -589,7 +589,7 @@ proc get_lib_cells { args } { set cells {} if [info exists keys(-of_objects)] { if { $args != {} } { - sta_warn 324 "positional arguments not supported with -of_objects." + sta_warn 352 "positional arguments not supported with -of_objects." } set insts [get_instances_error "objects" $keys(-of_objects)] foreach inst $insts { @@ -616,7 +616,7 @@ proc get_lib_cells { args } { set libs [get_libs -quiet $lib_name] if { $libs == {} } { if {!$quiet} { - sta_warn 325 "library '$lib_name' not found." + sta_warn 353 "library '$lib_name' not found." } } else { foreach lib $libs { @@ -628,7 +628,7 @@ proc get_lib_cells { args } { } if { $cells == {} } { if {!$quiet} { - sta_warn 326 "cell '$cell_pattern' not found." + sta_warn 354 "cell '$cell_pattern' not found." } } } @@ -675,7 +675,7 @@ proc get_lib_pins { args } { set libs [get_libs *] } else { if { !$quiet } { - sta_warn 327 "library/cell/port '$pattern' not found." + sta_warn 355 "library/cell/port '$pattern' not found." } return {} } @@ -695,12 +695,12 @@ proc get_lib_pins { args } { } if { !$found_match } { if { !$quiet } { - sta_warn 328 "port '$port_pattern' not found." + sta_warn 356 "port '$port_pattern' not found." } } } else { if { !$quiet } { - sta_warn 329 "library '$lib_name' not found." + sta_warn 357 "library '$lib_name' not found." } } } @@ -710,7 +710,7 @@ proc get_lib_pins { args } { proc check_nocase_flag { flags_var } { upvar 1 $flags_var flags if { [info exists flags(-nocase)] && ![info exists flags(-regexp)] } { - sta_warn 330 "-nocase ignored without -regexp." + sta_warn 358 "-nocase ignored without -regexp." } } @@ -736,7 +736,7 @@ proc get_libs { args } { set libs [concat $libs $matches] } else { if {![info exists flags(-quiet)]} { - sta_warn 331 "library '$pattern' not found." + sta_warn 359 "library '$pattern' not found." } } } @@ -799,7 +799,7 @@ proc get_nets { args } { set nets {} if [info exists keys(-of_objects)] { if { $args != {} } { - sta_warn 332 "patterns argument not supported with -of_objects." + sta_warn 360 "patterns argument not supported with -of_objects." } parse_inst_pin_arg $keys(-of_objects) insts pins foreach inst $insts { @@ -823,7 +823,7 @@ proc get_nets { args } { } set nets [concat $nets $matches] if { $matches == {} && !$quiet } { - sta_warn 333 "net '$pattern' not found." + sta_warn 361 "net '$pattern' not found." } } } @@ -852,7 +852,7 @@ proc get_pins { args } { set pins {} if [info exists keys(-of_objects)] { if { $args != {} } { - sta_warn 334 "patterns argument not supported with -of_objects." + sta_warn 362 "patterns argument not supported with -of_objects." } parse_inst_net_arg $keys(-of_objects) insts nets foreach inst $insts { @@ -889,7 +889,7 @@ proc get_pins { args } { } set pins [concat $pins $matches] if { $matches == {} && !$quiet } { - sta_warn 335 "pin '$pattern' not found." + sta_warn 363 "pin '$pattern' not found." } } } @@ -921,7 +921,7 @@ proc filter_pins1 { filter objects } { } elseif { [regexp $filter_regexp1 $filter ignore attr_name op arg] } { set filtered_objects [filter_pins $attr_name $op $arg $objects] } else { - sta_error 517 "unsupported pin -filter expression." + sta_error 364 "unsupported pin -filter expression." } return $filtered_objects } @@ -946,7 +946,7 @@ proc get_ports { args } { set ports {} if [info exists keys(-of_objects)] { if { $args != {} } { - sta_warn 336 "patterns argument not supported with -of_objects." + sta_warn 365 "patterns argument not supported with -of_objects." } set nets [get_nets_arg "objects" $keys(-of_objects)] foreach net $nets { @@ -960,7 +960,7 @@ proc get_ports { args } { set ports [concat $ports $matches] } else { if {![info exists flags(-quiet)]} { - sta_warn 337 "port '$pattern' not found." + sta_warn 366 "port '$pattern' not found." } } } @@ -997,7 +997,7 @@ proc filter_ports1 { filter objects } { } elseif { [regexp $filter_regexp1 $filter ignore attr_name op arg] } { set filtered_objects [filter_ports $attr_name $op $arg $objects] } else { - sta_error 518 "unsupported port -filter expression." + sta_error 367 "unsupported port -filter expression." } return $filtered_objects } @@ -1030,12 +1030,12 @@ proc create_clock { args } { set name $keys(-name) } elseif { $pins != {} } { if { $add } { - sta_error 519 "-add requires -name." + sta_error 368 "-add requires -name." } # Default clock name is the first pin name. set name [get_full_name [lindex $pins 0]] } else { - sta_error 520 "-name or port_pin_list must be specified." + sta_error 369 "-name or port_pin_list must be specified." } if [info exists keys(-period)] { @@ -1043,13 +1043,13 @@ proc create_clock { args } { check_positive_float "period" $period set period [time_ui_sta $period] } else { - sta_error 521 "missing -period argument." + sta_error 370 "missing -period argument." } if [info exists keys(-waveform)] { set wave_arg $keys(-waveform) if { [expr [llength $wave_arg] % 2] != 0 } { - sta_error 522 "-waveform edge_list must have an even number of edge times." + sta_error 371 "-waveform edge_list must have an even number of edge times." } set first_edge 1 set prev_edge 0 @@ -1058,10 +1058,10 @@ proc create_clock { args } { check_float "-waveform edge" $edge set edge [time_ui_sta $edge] if { !$first_edge && $edge < $prev_edge } { - sta_error 338 "non-increasing clock -waveform edge times." + sta_error 372 "non-increasing clock -waveform edge times." } if { $edge > [expr $period * 2] } { - sta_error 339 "-waveform time greater than two periods." + sta_error 373 "-waveform time greater than two periods." } lappend waveform $edge set prev_edge $edge @@ -1119,7 +1119,7 @@ proc create_generated_clock { args } { } } if { $pins == {} } { - sta_error 523 "empty ports/pins/nets argument." + sta_error 374 "empty ports/pins/nets argument." } set add [info exists flags(-add)] @@ -1127,19 +1127,19 @@ proc create_generated_clock { args } { set name $keys(-name) } elseif { $pins != {} } { if { $add } { - sta_error 524 "-add requires -name." + sta_error 375 "-add requires -name." } # Default clock name is the first pin name. set name [get_full_name [lindex $pins 0]] } else { - sta_error 525 "name or port_pin_list must be specified." + sta_error 376 "name or port_pin_list must be specified." } if [info exists keys(-source)] { set source $keys(-source) set source_pin [get_port_pin_error "master_pin" $source] } else { - sta_error 526 "missing -source argument." + sta_error 377 "missing -source argument." } set master_clk "NULL" @@ -1154,44 +1154,44 @@ proc create_generated_clock { args } { if {[info exists keys(-master_clock)]} { set master_clk [get_clock_error "-master_clk" $keys(-master_clock)] if { $master_clk == "NULL" } { - sta_error 527 "-master_clock argument empty." + sta_error 378 "-master_clock argument empty." } } elseif { $add } { - sta_error 528 "-add requireds -master_clock." + sta_error 379 "-add requireds -master_clock." } if {[info exists keys(-divide_by)] && [info exists keys(-multiply_by)]} { - sta_error 529 "-multiply_by and -divide_by options are exclusive." + sta_error 380 "-multiply_by and -divide_by options are exclusive." } elseif {[info exists keys(-divide_by)]} { set divide_by $keys(-divide_by) if {![string is integer $divide_by] || $divide_by < 1} { - sta_error 530 "-divide_by is not an integer greater than one." + sta_error 381 "-divide_by is not an integer greater than one." } if {$combinational && $divide_by != 1} { - sta_error 531 "-combinational implies -divide_by 1." + sta_error 382 "-combinational implies -divide_by 1." } } elseif {[info exists keys(-multiply_by)]} { set multiply_by $keys(-multiply_by) if {![string is integer $multiply_by] || $multiply_by < 1} { - sta_error 532 "-multiply_by is not an integer greater than one." + sta_error 383 "-multiply_by is not an integer greater than one." } if {[info exists keys(-duty_cycle)]} { set duty_cycle $keys(-duty_cycle) if {![string is double $duty_cycle] \ || $duty_cycle < 0.0 || $duty_cycle > 100.0} { - sta_error 533 "-duty_cycle is not a float between 0 and 100." + sta_error 384 "-duty_cycle is not a float between 0 and 100." } } } elseif {[info exists keys(-edges)]} { set edges $keys(-edges) if { [llength $edges] != 3 } { - sta_error 534 "-edges only supported for three edges." + sta_error 385 "-edges only supported for three edges." } set prev_edge [expr [lindex $edges 0] - 1] foreach edge $edges { check_cardinal "-edges" $edge if { $edge <= $prev_edge } { - sta_error 535 "edges times are not monotonically increasing." + sta_error 386 "edges times are not monotonically increasing." } } if [info exists keys(-edge_shift)] { @@ -1200,13 +1200,13 @@ proc create_generated_clock { args } { lappend edge_shifts [time_ui_sta $shift] } if { [llength $edge_shifts] != [llength $edges] } { - sta_error 536 "-edge_shift length does not match -edges length." + sta_error 387 "-edge_shift length does not match -edges length." } } } elseif { $combinational } { set divide_by 1 } else { - sta_error 537 "missing -multiply_by, -divide_by, -combinational or -edges argument." + sta_error 388 "missing -multiply_by, -divide_by, -combinational or -edges argument." } set invert 0 @@ -1214,13 +1214,13 @@ proc create_generated_clock { args } { if {!([info exists keys(-divide_by)] \ || [info exists keys(-multiply_by)] \ || [info exists flags(-combinational)])} { - sta_error 538 "cannot specify -invert without -multiply_by, -divide_by or -combinational." + sta_error 389 "cannot specify -invert without -multiply_by, -divide_by or -combinational." } set invert 1 } if {[info exists keys(-duty_cycle)] && ![info exists keys(-multiply_by)]} { - sta_error 539 "-duty_cycle requires -multiply_by value." + sta_error 390 "-duty_cycle requires -multiply_by value." } set comment [parse_comment_key keys] @@ -1280,26 +1280,26 @@ proc group_path { args } { check_exception_pins $from $to if { $arg_error } { delete_from_thrus_to $from $thrus $to - sta_error 545 "group_path command failed." + sta_error 391 "group_path command failed." return 0 } check_for_key_args $cmd args if { $args != {} } { delete_from_thrus_to $from $thrus $to - sta_error 546 "positional arguments not supported." + sta_error 392 "positional arguments not supported." } if { ($from == "NULL" && $thrus == "" && $to == "NULL") } { delete_from_thrus_to $from $thrus $to - sta_error 547 "-from, -through or -to required." + sta_error 393 "-from, -through or -to required." } set default [info exists flags(-default)] set name_exists [info exists keys(-name)] if { $default && $name_exists } { - sta_error 548 "-name and -default are mutually exclusive." + sta_error 394 "-name and -default are mutually exclusive." } elseif { !$name_exists && !$default } { - sta_error 549 "-name or -default option is required." + sta_error 395 "-name or -default option is required." } elseif { $default } { set name "" } else { @@ -1340,7 +1340,7 @@ proc set_clock_gating_check { args } { set active_value "" if {[info exists flags(-high)] && [info exists flags(-low)]} { - sta_error 550 "cannot specify both -high and -low." + sta_error 396 "cannot specify both -high and -low." } elseif [info exists flags(-low)] { set active_value "0" } elseif [info exists flags(-high)] { @@ -1348,7 +1348,7 @@ proc set_clock_gating_check { args } { } if { !([info exists keys(-hold)] || [info exists keys(-setup)]) } { - sta_error 551 "missing -setup or -hold argument." + sta_error 397 "missing -setup or -hold argument." } if [info exists keys(-hold)] { set_clock_gating_check1 $args $tr "min" $keys(-hold) $active_value @@ -1362,14 +1362,14 @@ proc set_clock_gating_check1 { args tr setup_hold margin active_value } { set margin [time_ui_sta $margin] if { [llength $args] == 0 } { if { $active_value != "" } { - sta_error 552 "-high and -low only permitted for pins and instances." + sta_error 398 "-high and -low only permitted for pins and instances." } set_clock_gating_check_cmd $tr $setup_hold $margin } elseif { [llength $args] == 1 } { parse_clk_inst_port_pin_arg [lindex $args 0] clks insts pins if { $clks != {} && $active_value != "" } { - sta_error 553 "-high and -low only permitted for pins and instances." + sta_error 399 "-high and -low only permitted for pins and instances." } foreach clk $clks { set_clock_gating_check_clk_cmd $clk $tr $setup_hold $margin @@ -1412,10 +1412,10 @@ proc set_clock_groups { args } { set allow_paths [info exists flags(-allow_paths)] if { ($logically_exclusive+$physically_exclusive+$asynchronous) == 0 } { - sta_error 554 "one of -logically_exclusive, -physically_exclusive or -asynchronous is required." + sta_error 400 "one of -logically_exclusive, -physically_exclusive or -asynchronous is required." } if { ($logically_exclusive+$physically_exclusive+$asynchronous) > 1 } { - sta_error 555 "the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive." + sta_error 401 "the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive." } set comment [parse_comment_key keys] @@ -1434,9 +1434,9 @@ proc set_clock_groups { args } { set args [lrange $args 2 end] } else { if {[is_keyword_arg $arg]} { - sta_warn 349 "unknown keyword argument $arg." + sta_warn 402 "unknown keyword argument $arg." } else { - sta_warn 341 "extra positional argument $arg." + sta_warn 403 "extra positional argument $arg." } set args [lrange $args 1 end] } @@ -1465,10 +1465,10 @@ proc unset_clk_groups_cmd { cmd cmd_args } { } if { $all && $names != {} } { - sta_error 454 "the -all and -name options are mutually exclusive." + sta_error 404 "the -all and -name options are mutually exclusive." } if { !$all && $names == {} } { - sta_error 455 "either -all or -name options must be specified." + sta_error 405 "either -all or -name options must be specified." } set logically_exclusive [info exists flags(-logically_exclusive)] @@ -1476,10 +1476,10 @@ proc unset_clk_groups_cmd { cmd cmd_args } { set asynchronous [info exists flags(-asynchronous)] if { ($logically_exclusive+$physically_exclusive+$asynchronous) == 0 } { - sta_error 456 "one of -logically_exclusive, -physically_exclusive or -asynchronous is required." + sta_error 406 "one of -logically_exclusive, -physically_exclusive or -asynchronous is required." } if { ($logically_exclusive+$physically_exclusive+$asynchronous) > 1 } { - sta_error 457 "the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive." + sta_error 407 "the keywords -logically_exclusive, -physically_exclusive and -asynchronous are mutually exclusive." } if { $all } { @@ -1529,7 +1529,7 @@ proc set_clock_latency { args } { if { [info exists keys(-clock)] } { set pin_clk [get_clock_warn "clock" $keys(-clock)] if { $clks != {} } { - sta_warn 342 "-clock ignored for clock objects." + sta_warn 408 "-clock ignored for clock objects." } } @@ -1543,14 +1543,14 @@ proc set_clock_latency { args } { foreach pin $pins { # Source only allowed on clocks and clock pins. if { ![is_clock_src $pin] } { - sta_error 556 "-source '[get_full_name $pin]' is not a clock pin." + sta_error 409 "-source '[get_full_name $pin]' is not a clock pin." } set_clock_insertion_cmd $pin_clk $pin $tr $min_max $early_late $delay } } else { # Latency. if {[info exists flags(-early)] || [info exists flags(-late)]} { - sta_error 557 "-early/-late is only allowed with -source." + sta_error 410 "-early/-late is only allowed with -source." } foreach clk $clks { @@ -1579,7 +1579,7 @@ proc unset_clk_latency_cmd { cmd cmd_args } { if { [info exists keys(-clock)] } { set pin_clk [get_clock_warn "clock" $keys(-clock)] if { $clks != {} } { - sta_warn 303 "-clock ignored for clock objects." + sta_warn 411 "-clock ignored for clock objects." } } @@ -1591,7 +1591,7 @@ proc unset_clk_latency_cmd { cmd cmd_args } { foreach pin $pins { # Source only allowed on clocks and clock pins. if { ![is_clock_pin $pin] } { - sta_error 458 "-source '[$pin path_name]' is not a clock pin." + sta_error 412 "-source '[$pin path_name]' is not a clock pin." } unset_clock_insertion_cmd $pin_clk $pin } @@ -1619,11 +1619,11 @@ proc set_sense { args } { if { [info exists keys(-type)] } { set type $keys(-type) if { $type == "data" } { - sta_warn 343 "set_sense -type data not supported." + sta_warn 413 "set_sense -type data not supported." } elseif { $type == "clock" } { set_clock_sense_cmd1 "set_sense" $args } else { - sta_error 558 "set_sense -type clock|data" + sta_error 414 "set_sense -type clock|data" } } } @@ -1634,7 +1634,7 @@ define_cmd_args "set_clock_sense" \ [-clock clocks] pins} proc set_clock_sense { args } { - sta_warn 344 "set_clock_sense is deprecated as of SDC 2.1. Use set_sense -type clock." + sta_warn 415 "set_clock_sense is deprecated as of SDC 2.1. Use set_sense -type clock." set_clock_sense_cmd1 "set_clock_sense" $args } @@ -1646,7 +1646,7 @@ proc set_clock_sense_cmd1 { cmd cmd_args } { set pulse [info exists keys(-pulse)] if { $pulse } { - sta_warn 345 "-pulse argument not supported." + sta_warn 416 "-pulse argument not supported." } set positive [info exists flags(-positive)] set negative [info exists flags(-negative)] @@ -1655,7 +1655,7 @@ proc set_clock_sense_cmd1 { cmd cmd_args } { || ($negative && ($positive || $stop_propagation || $pulse)) \ || ($stop_propagation && ($positive || $negative || $pulse)) || ($pulse && ($positive || $negative || $stop_propagation)) } { - sta_warn 346 "-positive, -negative, -stop_propagation and -pulse are mutually exclusive." + sta_warn 417 "-positive, -negative, -stop_propagation and -pulse are mutually exclusive." } set pins [get_port_pins_error "pins" [lindex $cmd_args 0]] @@ -1668,7 +1668,7 @@ proc set_clock_sense_cmd1 { cmd cmd_args } { } foreach pin $pins { if {[$pin is_hierarchical]} { - sta_warn 347 "hierarchical pin '[get_full_name $pin]' not supported." + sta_warn 418 "hierarchical pin '[get_full_name $pin]' not supported." } } set_clock_sense_cmd $pins $clks $positive $negative $stop_propagation @@ -1692,7 +1692,7 @@ proc set_clock_transition { args } { foreach clk $clks { if { [$clk is_virtual] } { - sta_warn 559 "transition time can not be specified for virtual clocks." + sta_warn 419 "transition time can not be specified for virtual clocks." } else { set_clock_slew_cmd $clk $tr $min_max [time_ui_sta $slew] } @@ -1725,7 +1725,7 @@ proc set_clock_uncertainty { args } { flags {-rise -fall -setup -hold} if { [llength $args] == 0 } { - sta_error 560 "missing uncertainty value." + sta_error 420 "missing uncertainty value." } set uncertainty [lindex $args 0] check_float "uncertainty" $uncertainty @@ -1773,7 +1773,7 @@ proc set_clock_uncertainty { args } { if { $from_key != "none" && $to_key == "none" \ || $from_key == "none" && $to_key != "none" } { - sta_error 561 "-from/-to must be used together." + sta_error 421 "-from/-to must be used together." } elseif { $from_key != "none" && $to_key != "none" } { # Inter-clock uncertainty. check_argc_eq1 "-from/-to" $args @@ -1793,7 +1793,7 @@ proc set_clock_uncertainty { args } { check_argc_eq2 "set_clock_uncertainty" $args if { [info exists flags(-rise)] \ || [info exists flags(-fall)] } { - sta_error 562 "-rise, -fall options not allowed for single clock uncertainty." + sta_error 422 "-rise, -fall options not allowed for single clock uncertainty." } set objects [lindex $args 1] parse_clk_port_pin_arg $objects clks pins @@ -1859,7 +1859,7 @@ proc unset_clk_uncertainty_cmd { cmd cmd_args } { if { $from_key != "none" && $to_key == "none" \ || $from_key == "none" && $to_key != "none" } { - sta_error 459 "-from/-to must be used together." + sta_error 423 "-from/-to must be used together." } elseif { $from_key != "none" && $to_key != "none" } { # Inter-clock uncertainty. check_argc_eq0 "unset_clock_uncertainty" $cmd_args @@ -1879,7 +1879,7 @@ proc unset_clk_uncertainty_cmd { cmd cmd_args } { check_argc_eq1 $cmd $cmd_args if { [info exists keys(-rise)] \ || [info exists keys(-fall)] } { - sta_error 460 "-rise, -fall options not allowed for single clock uncertainty." + sta_error 424 "-rise, -fall options not allowed for single clock uncertainty." } set objects [lindex $cmd_args 0] parse_clk_port_pin_arg $objects clks pins @@ -1920,7 +1920,7 @@ proc set_data_check { args } { set from [get_port_pin_error "from_pin" $keys(-fall_from)] set from_rf "fall" } else { - sta_error 563 "missing -from, -rise_from or -fall_from argument." + sta_error 425 "missing -from, -rise_from or -fall_from argument." } if [info exists keys(-to)] { @@ -1932,7 +1932,7 @@ proc set_data_check { args } { set to [get_port_pin_error "to_pin" $keys(-fall_to)] set to_rf "fall" } else { - sta_error 564 "missing -to, -rise_to or -fall_to argument." + sta_error 426 "missing -to, -rise_to or -fall_to argument." } if [info exists keys(-clock)] { @@ -1980,7 +1980,7 @@ proc unset_data_checks_cmd { cmd cmd_args } { set from [get_port_pin_error "from_pin" $keys(-fall_from)] set from_rf "fall" } else { - sta_error 461 "missing -from, -rise_from or -fall_from argument." + sta_error 427 "missing -from, -rise_from or -fall_from argument." } if [info exists keys(-to)] { @@ -1992,7 +1992,7 @@ proc unset_data_checks_cmd { cmd cmd_args } { set to [get_port_pin_error "to_pin" $keys(-fall_to)] set to_rf "fall" } else { - sta_error 462 "missing -to, -rise_to or -fall_to argument." + sta_error 428 "missing -to, -rise_to or -fall_to argument." } if [info exists keys(-clock)] { @@ -2034,7 +2034,7 @@ proc set_disable_timing { args } { if { ([info exists keys(-from)] || [info exists keys(-to)]) \ && ($libports != {} || $pins != {} || $ports != {}) } { - sta_warn 348 "-from/-to keywords ignored for lib_pin, port and pin arguments." + sta_warn 429 "-from/-to keywords ignored for lib_pin, port and pin arguments." } foreach libcell $libcells { @@ -2064,7 +2064,7 @@ proc set_disable_timing_instance { inst from to } { set from_ports [parse_disable_inst_ports $inst $from] set to_ports [parse_disable_inst_ports $inst $to] if { ![$inst is_leaf] } { - sta_error 565 "-from/-to hierarchical instance not supported." + sta_error 430 "-from/-to hierarchical instance not supported." } if { $from_ports == "NULL" && $to_ports == "NULL" } { disable_instance $inst "NULL" "NULL" @@ -2096,7 +2096,7 @@ proc parse_disable_inst_ports { inst port_name } { set cell [instance_property $inst cell] set port [$cell find_port $port_name] if { $port == "NULL" } { - sta_error 566 "pin '[get_full_name $inst]${hierarchy_separator}${port_name}' not found." + sta_error 431 "pin '[get_full_name $inst]${hierarchy_separator}${port_name}' not found." } else { set lib_port [get_property $port liberty_port] set ports [port_members $lib_port] @@ -2137,7 +2137,7 @@ proc parse_disable_cell_ports { cell port_name } { } else { set port [$cell find_liberty_port $port_name] if { $port == "NULL" } { - sta_error 567 "pin '[get_name $cell]${hierarchy_separator}${port_name}' not found." + sta_error 432 "pin '[get_name $cell]${hierarchy_separator}${port_name}' not found." } else { set ports [port_members $port] } @@ -2171,7 +2171,7 @@ proc unset_disable_cmd { cmd cmd_args } { if { ([info exists keys(-from)] || [info exists keys(-to)]) \ && ($libports != {} || $pins != {} || $ports != {}) } { - sta_warn 304 "-from/-to keywords ignored for lib_pin, port and pin arguments." + sta_warn 434 "-from/-to keywords ignored for lib_pin, port and pin arguments." } foreach libcell $libcells { @@ -2223,7 +2223,7 @@ proc unset_disable_timing_instance { inst from to } { set from_ports [parse_disable_inst_ports $inst $from] set to_ports [parse_disable_inst_ports $inst $to] if { ![$inst is_leaf] } { - sta_error 463 "-from/-to hierarchical instance not supported." + sta_error 435 "-from/-to hierarchical instance not supported." } if { $from_ports == "NULL" && $to_ports == "NULL" } { unset_disable_instance $inst "NULL" "NULL" @@ -2277,11 +2277,11 @@ proc set_false_path { args } { } else { check_for_key_args $cmd args if { $args != {} } { - sta_warn 600 "'$args' ignored." + sta_warn 436 "'$args' ignored." } if { ($from == "NULL" && $thrus == "" && $to == "NULL") } { delete_from_thrus_to $from $thrus $to - sta_warn 350 "-from, -through or -to required." + sta_warn 437 "-from, -through or -to required." } else { if [info exists flags(-reset_path)] { reset_path_cmd $from $thrus $to $min_max @@ -2360,10 +2360,10 @@ proc set_port_delay { cmd sta_cmd cmd_args port_dirs } { if [info exists keys(-reference_pin)] { set ref_pin [get_port_pin_error "ref_pin" $keys(-reference_pin)] if { [info exists flags(-source_latency_included)] } { - sta_warn 351 "-source_latency_included ignored with -reference_pin." + sta_warn 438 "-source_latency_included ignored with -reference_pin." } if { [info exists flags(-network_latency_included)] } { - sta_warn 352 "-network_latency_included ignored with -reference_pin." + sta_warn 439 "-network_latency_included ignored with -reference_pin." } } @@ -2382,9 +2382,9 @@ proc set_port_delay { cmd sta_cmd cmd_args port_dirs } { foreach pin $pins { if { [$pin is_top_level_port] \ && [lsearch $port_dirs [pin_direction $pin]] == -1 } { - sta_warn 353 "$cmd not allowed on [pin_direction $pin] port '[get_full_name $pin]'." + sta_warn 440 "$cmd not allowed on [pin_direction $pin] port '[get_full_name $pin]'." } elseif { $clk != "NULL" && [lsearch [$clk sources] $pin] != -1 } { - sta_warn 354 "$cmd relative to a clock defined on the same port/pin not allowed." + sta_warn 441 "$cmd relative to a clock defined on the same port/pin not allowed." } else { $sta_cmd $pin $tr $clk $clk_rf $ref_pin\ $source_latency_included $network_latency_included \ @@ -2432,13 +2432,13 @@ proc set_path_delay { cmd args min_max } { check_for_key_args $cmd args if { [llength $args] == 0 } { delete_from_thrus_to $from $thrus $to - sta_error 568 "missing delay argument." + sta_error 442 "missing delay argument." } elseif { [llength $args] == 1 } { set delay $args check_float "$cmd delay" $delay set delay [time_ui_sta $delay] } else { - sta_warn 355 "'$args' ignored." + sta_warn 443 "'$args' ignored." } set ignore_clk_latency [info exists flags(-ignore_clock_latency)] @@ -2563,19 +2563,19 @@ proc set_multicycle_path { args } { check_for_key_args $cmd args if { [llength $args] == 0 } { delete_from_thrus_to $from $thrus $to - sta_error 569 "missing path multiplier argument." + sta_error 444 "missing path multiplier argument." } elseif { [llength $args] == 1 } { set path_multiplier $args check_integer "path multiplier" $path_multiplier } else { - sta_warn 356 "'$args' ignored." + sta_warn 445 "'$args' ignored." } set start [info exists flags(-start)] set end [info exists flags(-end)] if { $start && $end } { delete_from_thrus_to $from $thrus $to - sta_error 570 "cannot use -start with -end." + sta_error 446 "cannot use -start with -end." } elseif { $start } { set use_end_clk 0 } elseif { $end } { @@ -2625,18 +2625,18 @@ proc unset_path_exceptions_cmd { cmd cmd_args } { set to [parse_to_arg keys flags arg_error] if { $arg_error } { delete_from_thrus_to $from $thrus $to - sta_error 464 "$cmd command failed." + sta_error 447 "$cmd command failed." return 0 } check_for_key_args $cmd cmd_args if { $cmd_args != {} } { delete_from_thrus_to $from $thrus $to - sta_error 465 "positional arguments not supported." + sta_error 448 "positional arguments not supported." } if { ($from == "NULL" && $thrus == "" && $to == "NULL") } { delete_from_thrus_to $from $thrus $to - sta_error 466 "-from, -through or -to required." + sta_error 449 "-from, -through or -to required." } reset_path_cmd $from $thrus $to $min_max @@ -2703,7 +2703,7 @@ proc set_propagated_clock { objects } { parse_clk_port_pin_arg $objects clks pins foreach clk $clks { if { [$clk is_virtual] } { - sta_warn 357 "virtual clock [get_name $clk] can not be propagated." + sta_warn 450 "virtual clock [get_name $clk] can not be propagated." } else { set_propagated_clock_cmd $clk } @@ -2745,7 +2745,7 @@ proc set_case_analysis { value pins } { || $value == "rising" \ || $value == "fall" \ || $value == "falling") } { - sta_error 571 "value must be 0, zero, 1, one, rise, rising, fall, or falling." + sta_error 451 "value must be 0, zero, 1, one, rise, rising, fall, or falling." } set pins1 [get_port_pins_error "pins" $pins] foreach pin $pins1 { @@ -2814,17 +2814,17 @@ proc set_driving_cell { args } { set library [get_liberty_error "library" $keys(-library)] set cell [$library find_liberty_cell $cell_name] if { $cell == "NULL" } { - sta_error 572 "cell '$lib_name:$cell_name' not found." + sta_error 452 "cell '$lib_name:$cell_name' not found." } } else { set library "NULL" set cell [find_liberty_cell $cell_name] if { $cell == "NULL" } { - sta_error 573 "'$cell_name' not found." + sta_error 453 "'$cell_name' not found." } } } else { - sta_error 574 "missing -lib_cell argument." + sta_error 454 "missing -lib_cell argument." } set to_port "NULL" @@ -2832,7 +2832,7 @@ proc set_driving_cell { args } { set to_port_name $keys(-pin) set to_port [$cell find_liberty_port $to_port_name] if { $to_port == "NULL" } { - sta_error 575 "port '$to_port_name' not found." + sta_error 455 "port '$to_port_name' not found." } } else { set port_iter [$cell liberty_port_iterator] @@ -2844,7 +2844,7 @@ proc set_driving_cell { args } { incr output_count if { $output_count > 1 } { $port_iter finish - sta_error 576 "-pin argument required for cells with multiple outputs." + sta_error 456 "-pin argument required for cells with multiple outputs." } set to_port $port # No break. Keep looking for output ports to make sure there @@ -2859,7 +2859,7 @@ proc set_driving_cell { args } { set from_port_name $keys(-from_pin) set from_port [$cell find_liberty_port $from_port_name] if { $from_port == "NULL" } { - sta_error 577 "port '$from_port_name' not found." + sta_error 457 "port '$from_port_name' not found." } } @@ -2877,13 +2877,13 @@ proc set_driving_cell { args } { } if [info exists keys(-multiply_by)] { - sta_warn 358 "-multiply_by ignored." + sta_warn 458 "-multiply_by ignored." } if [info exists flags(-dont_scale)] { - sta_warn 359 "-dont_scale ignored." + sta_warn 459 "-dont_scale ignored." } if [info exists flags(-no_design_rule)] { - sta_warn 360 "-no_design_rule ignored." + sta_warn 460 "-no_design_rule ignored." } check_argc_eq1 "set_driving_cell" $args @@ -2906,7 +2906,7 @@ proc port_direction_any_output { dir } { define_cmd_args "set_fanout_load" {fanout ports} proc set_fanout_load { fanout port_list } { - sta_warn 601 "set_fanout_load not supported." + sta_warn 461 "set_fanout_load not supported." } ################################################################ @@ -2930,10 +2930,10 @@ proc set_input_transition { args } { set ports [get_ports_error "ports" [lindex $args 1]] if [info exists keys(-clock)] { - sta_warn 361 "-clock not supported." + sta_warn 462 "-clock not supported." } if [info exists flags(-clock_fall)] { - sta_warn 362 "-clock_fall not supported." + sta_warn 463 "-clock_fall not supported." } foreach port $ports { @@ -2979,13 +2979,13 @@ proc set_load { args } { } if { $nets != {} } { if { $pin_load } { - sta_warn 363 "-pin_load not allowed for net objects." + sta_warn 464 "-pin_load not allowed for net objects." } if { $wire_load } { - sta_warn 364 "-wire_load not allowed for net objects." + sta_warn 465 "-wire_load not allowed for net objects." } if { $tr != "rise_fall" } { - sta_warn 365 "-rise/-fall not allowed for net objects." + sta_warn 466 "-rise/-fall not allowed for net objects." } foreach net $nets { set_net_wire_cap $net $subtract_pin_load $corner $min_max $cap @@ -3072,7 +3072,7 @@ proc set_fanout_limit { fanout min_max objects } { foreach port $ports { set dir [port_direction $port] if { !($dir == "input" || $dir == "bidirect") } { - sta_error 578 "port '[get_name $port]' is not an input." + sta_error 467 "port '[get_name $port]' is not an input." } set_port_fanout_limit $port $min_max $fanout } @@ -3118,7 +3118,7 @@ proc set_max_transition { args } { || [info exists flags(-data_path)] || [info exists flags(-rise)] || [info exists flags(-fall)]) } { - sta_warn 366 "-data_path, -clock_path, -rise, -fall ignored for ports and designs." + sta_warn 468 "-data_path, -clock_path, -rise, -fall ignored for ports and designs." } # -clock_path/-data_path and transition only apply to clock objects. @@ -3189,7 +3189,7 @@ proc set_timing_derate { args } { set derate [lindex $args 0] check_float "derate" $derate if { $derate > 2.0 } { - sta_warn 367 "derating factor greater than 2.0." + sta_warn 469 "derating factor greater than 2.0." } set tr [parse_rise_fall_flags flags] @@ -3226,7 +3226,7 @@ proc set_timing_derate { args } { if { $nets != {} } { if { [info exists flags(-cell_delay)] \ || [info exists flags(-cell_check)] } { - sta_warn 368 "-cell_delay and -cell_check flags ignored for net objects." + sta_warn 470 "-cell_delay and -cell_check flags ignored for net objects." } foreach net $nets { foreach path_type $path_types { @@ -3296,7 +3296,7 @@ proc parse_from_arg { keys_var arg_error_var } { if {$from_pins == {} && $from_insts == {} && $from_clks == {}} { upvar 1 $arg_error_var arg_error set arg_error 1 - sta_warn 369 "no valid objects specified for $key." + sta_warn 471 "no valid objects specified for $key." return "NULL" } return [make_exception_from $from_pins $from_clks $from_insts $tr] @@ -3329,7 +3329,7 @@ proc parse_thrus_arg { args_var arg_error_var } { if {$pins == {} && $insts == {} && $nets == {}} { upvar 1 $arg_error_var arg_error set arg_error 1 - sta_warn 370 "no valid objects specified for $key" + sta_warn 472 "no valid objects specified for $key" } else { lappend thrus [make_exception_thru $pins $nets $insts $tr] } @@ -3378,7 +3378,7 @@ proc parse_to_arg1 { keys_var end_rf arg_error_var } { if {$to_pins == {} && $to_insts == {} && $to_clks == {}} { upvar 1 $arg_error_var arg_error set arg_error 1 - sta_warn 602 "no valid objects specified for $key." + sta_warn 473 "no valid objects specified for $key." return "NULL" } return [make_exception_to $to_pins $to_clks $to_insts $to_rf $end_rf] @@ -3446,7 +3446,7 @@ proc parse_op_cond { op_cond_name lib_key min_max key_var } { set liberty [get_liberty_error $lib_key $keys($lib_key)] set op_cond [$liberty find_operating_conditions $op_cond_name] if { $op_cond == "NULL" } { - sta_error 579 "operating condition '$op_cond_name' not found." + sta_error 474 "operating condition '$op_cond_name' not found." } else { set_operating_conditions_cmd $op_cond $min_max } @@ -3464,7 +3464,7 @@ proc parse_op_cond { op_cond_name lib_key min_max key_var } { } $lib_iter finish if { !$found } { - sta_error 580 "operating condition '$op_cond_name' not found." + sta_error 475 "operating condition '$op_cond_name' not found." } } } @@ -3478,7 +3478,7 @@ proc parse_op_cond_analysis_type { key_var } { || $analysis_type == "on_chip_variation" } { set_analysis_type_cmd $analysis_type } else { - sta_error 581 "-analysis_type must be single, bc_wc or on_chip_variation." + sta_error 476 "-analysis_type must be single, bc_wc or on_chip_variation." } } elseif { [info exists keys(-min)] && [info exists keys(-max)] } { set_analysis_type_cmd "bc_wc" @@ -3490,7 +3490,7 @@ proc parse_op_cond_analysis_type { key_var } { define_cmd_args "set_wire_load_min_block_size" {block_size} proc set_wire_load_min_block_size { block_size } { - sta_warn 371 "set_wire_load_min_block_size not supported." + sta_warn 477 "set_wire_load_min_block_size not supported." } ################################################################ @@ -3503,7 +3503,7 @@ proc set_wire_load_mode { mode } { || $mode == "segmented" } { set_wire_load_mode_cmd $mode } else { - sta_error 582 "mode must be top, enclosed or segmented." + sta_error 478 "mode must be top, enclosed or segmented." } } @@ -3518,7 +3518,7 @@ proc set_wire_load_model { args } { check_argc_eq0or1 "set_wire_load_model" $args if { ![info exists keys(-name)] } { - sta_error 583 "no wire load model specified." + sta_error 479 "no wire load model specified." } set model_name $keys(-name) @@ -3540,7 +3540,7 @@ proc set_wire_load_model { args } { $lib_iter finish } if {$wireload == "NULL"} { - sta_error 605 "wire load model '$model_name' not found." + sta_error 480 "wire load model '$model_name' not found." } set objects $args set_wire_load_cmd $wireload $min_max @@ -3579,7 +3579,7 @@ proc set_wire_load_selection_group { args } { $lib_iter finish } if {$selection == "NULL"} { - sta_error 584 "wire load selection group '$selection_name' not found." + sta_error 481 "wire load selection group '$selection_name' not found." } set_wire_load_selection_group_cmd $selection $min_max } @@ -3667,7 +3667,7 @@ define_cmd_args "define_corners" { corner1 [corner2]... } proc define_corners { args } { if { [get_libs -quiet *] != {} } { - sta_error 373 "define_corners must be called before read_liberty." + sta_error 482 "define_corners must be called before read_liberty." } define_corners_cmd $args } @@ -3737,7 +3737,7 @@ proc default_operating_conditions {} { } $lib_iter finish if { !$found } { - sta_error 585 "no default operating conditions found." + sta_error 500 "no default operating conditions found." } return $op_cond } diff --git a/tcl/Search.tcl b/tcl/Search.tcl index 192ac052..150b576a 100644 --- a/tcl/Search.tcl +++ b/tcl/Search.tcl @@ -133,7 +133,7 @@ proc find_timing_paths_cmd { cmd args_var } { } elseif { $mm_key == "min" || $mm_key == "max" || $mm_key == "min_max" } { set min_max $mm_key } else { - sta_error 420 "$cmd -path_delay must be min, min_rise, min_fall, max, max_rise, max_fall or min_max." + sta_error 510 "$cmd -path_delay must be min, min_rise, min_fall, max, max_rise, max_fall or min_max." } } @@ -143,7 +143,7 @@ proc find_timing_paths_cmd { cmd args_var } { set to [parse_to_arg1 keys $end_rf arg_error] if { $arg_error } { delete_from_thrus_to $from $thrus $to - sta_error 421 "$cmd command failed." + sta_error 511 "$cmd command failed." } check_for_key_args $cmd args @@ -162,7 +162,7 @@ proc find_timing_paths_cmd { cmd args_var } { if [info exists keys(-endpoint_count)] { set endpoint_count $keys(-endpoint_count) if { $endpoint_count < 1 } { - sta_error 422 "-endpoint_count must be a positive integer." + sta_error 512 "-endpoint_count must be a positive integer." } } @@ -171,7 +171,7 @@ proc find_timing_paths_cmd { cmd args_var } { set group_count $keys(-group_count) check_positive_integer "-group_count" $group_count if { $group_count < 1 } { - sta_error 423 "-group_count must be >= 1." + sta_error 513 "-group_count must be >= 1." } } @@ -202,9 +202,9 @@ proc find_timing_paths_cmd { cmd args_var } { delete_from_thrus_to $from $thrus $to set arg [lindex $args 0] if { [is_keyword_arg $arg] } { - sta_error 424 "'$arg' is not a known keyword or flag." + sta_error 514 "'$arg' is not a known keyword or flag." } else { - sta_error 425 "positional arguments not supported." + sta_error 515 "positional arguments not supported." } } @@ -323,7 +323,7 @@ proc_redirect report_clock_skew { check_argc_eq0 "report_clock_skew" $args if { [info exists flags(-setup)] && [info exists flags(-hold)] } { - sta_error 419 "report_clock_skew -setup and -hold are mutually exclusive options." + sta_error 516 "report_clock_skew -setup and -hold are mutually exclusive options." } elseif { [info exists flags(-setup)] } { set setup_hold "setup" } elseif { [info exists flags(-hold)] } { @@ -408,7 +408,7 @@ proc_redirect report_check_types { set violators [info exists flags(-violators)] if { [info exists flags(-all_violators)] } { - sta_warn 609 "-all_violators is deprecated. Use -violators" + sta_warn 517 "-all_violators is deprecated. Use -violators" set violators 1 } @@ -488,12 +488,12 @@ proc_redirect report_check_types { set clk_gating_hold [info exists flags(-clock_gating_hold)] set max_slew [info exists flags(-max_slew)] if { [info exists flags(-max_transition)] } { - sta_warn 610 "-max_transition deprecated. Use -max_slew." + sta_warn 518 "-max_transition deprecated. Use -max_slew." set max_slew 1 } set min_slew [info exists flags(-min_slew)] if { [info exists flags(-min_transition)] } { - sta_warn 611 "-min_transition deprecated. Use -min_slew." + sta_warn 519 "-min_transition deprecated. Use -min_slew." set min_slew 1 } set max_fanout [info exists flags(-max_fanout)] @@ -507,12 +507,12 @@ proc_redirect report_check_types { && (($setup && $hold) \ || ($recovery && $removal) \ || ($clk_gating_setup && $clk_gating_hold)) } { - sta_error 426 "analysis type single is not consistent with doing both setup/max and hold/min checks." + sta_error 520 "analysis type single is not consistent with doing both setup/max and hold/min checks." } } if { $args != {} } { - sta_error 427 "positional arguments not supported." + sta_error 521 "positional arguments not supported." } set corner [parse_corner_or_all keys] @@ -775,7 +775,7 @@ proc_redirect report_path { flags {-max -min -all -tags} 0 if { [info exists flags(-min)] && [info exists flags(-max)] } { - sta_error 508 "-min and -max cannot both be specified." + sta_error 522 "-min and -max cannot both be specified." } elseif [info exists flags(-min)] { set min_max "min" } elseif [info exists flags(-max)] { @@ -795,7 +795,7 @@ proc_redirect report_path { set pin [get_port_pin_error "pin" $pin_arg] if { [$pin is_hierarchical] } { - sta_error 509 "pin '$pin_arg' is hierarchical." + sta_error 523 "pin '$pin_arg' is hierarchical." } else { foreach vertex [$pin vertices] { if { $vertex != "NULL" } { @@ -861,7 +861,7 @@ proc parse_report_path_options { cmd args_var default_format set formats {full full_clock full_clock_expanded short \ end slack_only summary json} if { [lsearch $formats $format] == -1 } { - sta_error 510 "-format $format not recognized." + sta_error 524 "-format $format not recognized." } } else { set path_options(-format) $default_format @@ -901,7 +901,7 @@ proc parse_report_path_options { cmd args_var default_format set report_slew [expr [lsearch $fields "slew*"] != -1] set report_fanout [expr [lsearch $fields "fanout*"] != -1] if { [expr [lsearch $fields "trans*"] != -1] } { - sta_warn 1640 "The transition_time field is deprecated. Use slew instead." + sta_warn 525 "The transition_time field is deprecated. Use slew instead." } } else { set report_input_pin 0 @@ -1008,7 +1008,7 @@ proc worst_clock_skew { args } { check_argc_eq0 "worst_clock_skew" $args if { ([info exists flags(-setup)] && [info exists flags(-hold)]) \ || (![info exists flags(-setup)] && ![info exists flags(-hold)]) } { - sta_error 616 "specify one of -setup and -hold." + sta_error 526 "specify one of -setup and -hold." } elseif { [info exists flags(-setup)] } { set setup_hold "setup" } elseif { [info exists flags(-hold)] } { @@ -1057,7 +1057,7 @@ proc parse_path_group_arg { group_names } { if { [is_path_group_name $name] } { lappend names $name } else { - sta_warn 318 "unknown path group '$name'." + sta_warn 527 "unknown path group '$name'." } } return $names diff --git a/tcl/Sta.tcl b/tcl/Sta.tcl index 4b8ad0db..f24a987e 100644 --- a/tcl/Sta.tcl +++ b/tcl/Sta.tcl @@ -155,7 +155,7 @@ proc get_timing_edges_cmd { cmd cmd_args } { if { [info exists keys(-of_objects)] } { if { [info exists keys(-from)] \ || [info exists keys(-from)] } { - sta_error 440 "-from/-to arguments not supported with -of_objects." + sta_error 540 "-from/-to arguments not supported with -of_objects." } set arcs [get_timing_arcs_objects $keys(-of_objects)] } elseif { [info exists keys(-from)] \ @@ -283,7 +283,7 @@ proc filter_timing_arcs1 { filter objects } { } elseif { [regexp $filter_regexp1 $filter ignore attr_name op arg] } { set filtered_objects [filter_timing_arcs $attr_name $op $arg $objects] } else { - sta_error 441 "unsupported -filter expression." + sta_error 541 "unsupported -filter expression." } return $filtered_objects } diff --git a/tcl/StaTcl.i b/tcl/StaTcl.i index c2febea1..2e468644 100644 --- a/tcl/StaTcl.i +++ b/tcl/StaTcl.i @@ -115,7 +115,7 @@ cmdLinkedNetwork() return network; else { Report *report = Sta::sta()->report(); - report->error(201, "no network has been linked."); + report->error(1570, "no network has been linked."); return nullptr; } } @@ -129,7 +129,7 @@ cmdEditNetwork() return dynamic_cast(network); else { Report *report = Sta::sta()->report(); - report->error(202, "network does not support edits."); + report->error(1571, "network does not support edits."); return nullptr; } } @@ -4112,7 +4112,7 @@ set_crpr_mode(const char *mode) else if (stringEq(mode, "same_transition")) Sta::sta()->setCrprMode(CrprMode::same_transition); else - sta->report()->critical(272, "unknown common clk pessimism mode."); + sta->report()->critical(1573, "unknown common clk pessimism mode."); } bool @@ -4126,7 +4126,7 @@ set_pocv_enabled(bool enabled) { #if !SSTA if (enabled) - Sta::sta()->report()->error(204, "POCV support requires compilation with SSTA=1."); + Sta::sta()->report()->error(1574, "POCV support requires compilation with SSTA=1."); #endif return Sta::sta()->setPocvEnabled(enabled); } @@ -4364,7 +4364,7 @@ set_report_path_field_properties(const char *field_name, if (field) field->setProperties(title, width, left_justify); else - sta->report()->error(607, "unknown report path field %s", field_name); + sta->report()->error(1575, "unknown report path field %s", field_name); } void @@ -4376,7 +4376,7 @@ set_report_path_field_width(const char *field_name, if (field) field->setWidth(width); else - sta->report()->error(608, "unknown report path field %s", field_name); + sta->report()->error(1576, "unknown report path field %s", field_name); } void @@ -5061,7 +5061,7 @@ set_clock_sense_cmd(PinSet *pins, else if (stop_propagation) sta->setClockSense(pins, clks, ClockSense::stop); else - sta->report()->critical(273, "unknown clock sense"); + sta->report()->critical(1577, "unknown clock sense"); } bool diff --git a/tcl/Util.tcl b/tcl/Util.tcl index 41c53e0f..6b0f46f1 100644 --- a/tcl/Util.tcl +++ b/tcl/Util.tcl @@ -41,7 +41,7 @@ proc parse_key_args { cmd arg_var key_var keys {flag_var ""} {flags {}} \ if { $key_index >= 0 } { set key $arg if { [llength $args] == 1 } { - sta_error 400 "$cmd $key missing value." + sta_error 560 "$cmd $key missing value." } set key_value($key) [lindex $args 1] set args [lrange $args 1 end] @@ -58,7 +58,7 @@ proc parse_key_args { cmd arg_var key_var keys {flag_var ""} {flags {}} \ if { $key_index >= 0 } { set key [lindex $keys $key_index] if { [llength $args] == 1 } { - sta_error 401 "$cmd $key missing value." + sta_error 561 "$cmd $key missing value." } set key_value($key) [lindex $args 1] set args [lrange $args 1 end] @@ -68,7 +68,7 @@ proc parse_key_args { cmd arg_var key_var keys {flag_var ""} {flags {}} \ set flag [lindex $flags $flag_index] set flag_present($flag) 1 } elseif { $unknown_key_is_error } { - sta_error 402 "$cmd $arg is not a known keyword or flag." + sta_error 562 "$cmd $arg is not a known keyword or flag." } else { lappend args_rtn $arg } @@ -90,7 +90,7 @@ proc check_for_key_args { cmd arg_var } { while { $args != "" } { set arg [lindex $args 0] if { [is_keyword_arg $arg] } { - sta_error 403 "$cmd $arg is not a known keyword or flag." + sta_error 563 "$cmd $arg is not a known keyword or flag." } else { lappend args_rtn $arg } @@ -238,45 +238,45 @@ define_cmd_args "log_end" {} proc check_argc_eq0 { cmd arglist } { if { $arglist != {} } { - sta_error 406 "$cmd positional arguments not supported." + sta_error 564 "$cmd positional arguments not supported." } } proc check_argc_eq1 { cmd arglist } { if { [llength $arglist] != 1 } { - sta_error 407 "$cmd requires one positional argument." + sta_error 565 "$cmd requires one positional argument." } } proc check_argc_eq0or1 { cmd arglist } { set argc [llength $arglist] if { $argc != 0 && $argc != 1 } { - sta_error 408 "$cmd requires zero or one positional arguments." + sta_error 566 "$cmd requires zero or one positional arguments." } } proc check_argc_eq2 { cmd arglist } { if { [llength $arglist] != 2 } { - sta_error 409 "$cmd requires two positional arguments." + sta_error 567 "$cmd requires two positional arguments." } } proc check_argc_eq1or2 { cmd arglist } { set argc [llength $arglist] if { $argc != 1 && $argc != 2 } { - sta_error 410 "$cmd requires one or two positional arguments." + sta_error 568 "$cmd requires one or two positional arguments." } } proc check_argc_eq3 { cmd arglist } { if { [llength $arglist] != 3 } { - sta_error 411 "$cmd requires three positional arguments." + sta_error 569 "$cmd requires three positional arguments." } } proc check_argc_eq4 { cmd arglist } { if { [llength $arglist] != 4 } { - sta_error 412 "$cmd requires four positional arguments." + sta_error 570 "$cmd requires four positional arguments." } } @@ -284,37 +284,37 @@ proc check_argc_eq4 { cmd arglist } { proc check_float { cmd_arg arg } { if {![string is double $arg]} { - sta_error 413 "$cmd_arg '$arg' is not a float." + sta_error 571 "$cmd_arg '$arg' is not a float." } } proc check_positive_float { cmd_arg arg } { if {!([string is double $arg] && $arg >= 0.0)} { - sta_error 414 "$cmd_arg '$arg' is not a positive float." + sta_error 572 "$cmd_arg '$arg' is not a positive float." } } proc check_integer { cmd_arg arg } { if {!([string is integer $arg])} { - sta_error 415 "$cmd_arg '$arg' is not an integer." + sta_error 573 "$cmd_arg '$arg' is not an integer." } } proc check_positive_integer { cmd_arg arg } { if {!([string is integer $arg] && $arg >= 0)} { - sta_error 416 "$cmd_arg '$arg' is not a positive integer." + sta_error 574 "$cmd_arg '$arg' is not a positive integer." } } proc check_cardinal { cmd_arg arg } { if {!([string is integer $arg] && $arg >= 1)} { - sta_error 417 "$cmd_arg '$arg' is not an integer greater than or equal to one." + sta_error 575 "$cmd_arg '$arg' is not an integer greater than or equal to one." } } proc check_percent { cmd_arg arg } { if {!([string is double $arg] && $arg >= 0.0 && $arg <= 100.0)} { - sta_error 418 "$cmd_arg '$arg' is not between 0 and 100." + sta_error 576 "$cmd_arg '$arg' is not between 0 and 100." } } diff --git a/tcl/Variables.tcl b/tcl/Variables.tcl index 5460d3dc..b464b7c2 100644 --- a/tcl/Variables.tcl +++ b/tcl/Variables.tcl @@ -42,7 +42,7 @@ proc trace_report_default_digits { name1 name2 op } { if { $op == "w" } { if { !([string is integer $sta_report_default_digits] \ && $sta_report_default_digits >= 0) } { - sta_error 436 "sta_report_default_digits must be a positive integer." + sta_error 590 "sta_report_default_digits must be a positive integer." } } } @@ -67,7 +67,7 @@ proc trace_crpr_mode { name1 name2 op } { if { $sta_crpr_mode == "same_pin" || $sta_crpr_mode == "same_transition" } { set_crpr_mode $sta_crpr_mode } else { - sta_error 437 "sta_crpr_mode must be pin or transition." + sta_error 591 "sta_crpr_mode must be pin or transition." } } } @@ -184,7 +184,7 @@ proc trace_boolean_var { op var_name get_proc set_proc } { } elseif { $var == 1 } { $set_proc 1 } else { - sta_error 438 "$var_name value must be 0 or 1." + sta_error 592 "$var_name value must be 0 or 1." } } } diff --git a/tcl/WritePathSpice.tcl b/tcl/WritePathSpice.tcl index 0ba7da65..99d14566 100644 --- a/tcl/WritePathSpice.tcl +++ b/tcl/WritePathSpice.tcl @@ -32,55 +32,55 @@ proc write_path_spice { args } { if { [info exists keys(-spice_directory)] } { set spice_dir [file nativename $keys(-spice_directory)] if { ![file exists $spice_dir] } { - sta_error 496 "Directory $spice_dir not found." + sta_error 600 "Directory $spice_dir not found." } if { ![file isdirectory $spice_dir] } { - sta_error 497 "$spice_dir is not a directory." + sta_error 601 "$spice_dir is not a directory." } if { ![file writable $spice_dir] } { - sta_error 498 "Cannot write in $spice_dir." + sta_error 602 "Cannot write in $spice_dir." } } else { - sta_error 499 "No -spice_directory specified." + sta_error 603 "No -spice_directory specified." } if { [info exists keys(-lib_subckt_file)] } { set lib_subckt_file [file nativename $keys(-lib_subckt_file)] if { ![file readable $lib_subckt_file] } { - sta_error 500 "-lib_subckt_file $lib_subckt_file is not readable." + sta_error 604 "-lib_subckt_file $lib_subckt_file is not readable." } } else { - sta_error 501 "No -lib_subckt_file specified." + sta_error 605 "No -lib_subckt_file specified." } if { [info exists keys(-model_file)] } { set model_file [file nativename $keys(-model_file)] if { ![file readable $model_file] } { - sta_error 502 "-model_file $model_file is not readable." + sta_error 606 "-model_file $model_file is not readable." } } else { - sta_error 503 "No -model_file specified." + sta_error 607 "No -model_file specified." } if { [info exists keys(-power)] } { set power $keys(-power) } else { - sta_error 504 "No -power specified." + sta_error 608 "No -power specified." } if { [info exists keys(-ground)] } { set ground $keys(-ground) } else { - sta_error 505 "No -ground specified." + sta_error 609 "No -ground specified." } if { ![info exists keys(-path_args)] } { - sta_error 506 "No -path_args specified." + sta_error 610 "No -path_args specified." } set path_args $keys(-path_args) set path_ends [eval [concat find_timing_paths $path_args]] if { $path_ends == {} } { - sta_error 507 "No paths found for -path_args $path_args." + sta_error 611 "No paths found for -path_args $path_args." } else { set path_index 1 foreach path_end $path_ends { diff --git a/verilog/VerilogReader.cc b/verilog/VerilogReader.cc index 4ede7837..a1cea261 100644 --- a/verilog/VerilogReader.cc +++ b/verilog/VerilogReader.cc @@ -883,7 +883,7 @@ VerilogModule::parseDcl(VerilogDcl *dcl, dcl_map_[net_name] = dcl; else if (!dcl->direction()->isInternal()) { string net_vname = reader->netVerilogName(net_name); - reader->warn(18, filename_, dcl->line(), + reader->warn(1395, filename_, dcl->line(), "signal %s previously declared on line %d.", net_vname.c_str(), existing_dcl->line()); @@ -912,7 +912,7 @@ VerilogModule::checkInstanceName(VerilogInst *inst, replacement_name = stringPrint("%s_%d", inst_name, i); } while (inst_names.findKey(replacement_name)); string inst_vname = reader->instanceVerilogName(inst_name); - reader->warn(19, filename_, inst->line(), + reader->warn(1396, filename_, inst->line(), "instance name %s duplicated - renamed to %s.", inst_vname.c_str(), replacement_name); @@ -1538,7 +1538,7 @@ VerilogNetConstant::parseConstant10(const char *constant_str, if (length > max_length || (length == max_length && strcmp(tmp, reader->constant10Max()) > 0)) - reader->warn(20, reader->filename(), reader->line(), + reader->warn(1397, reader->filename(), reader->line(), "base 10 constant greater than %s not supported.", reader->constant10Max()); else { @@ -1779,12 +1779,12 @@ VerilogReader::linkNetwork(const char *top_cell_name, return top_instance; } else { - report->error(274, "%s is not a verilog module.", top_cell_name); + report->error(1398, "%s is not a verilog module.", top_cell_name); return nullptr; } } else { - report->error(275, "%s is not a verilog module.", top_cell_name); + report->error(1399, "%s is not a verilog module.", top_cell_name); return nullptr; } }