mirror of
https://github.com/The-OpenROAD-Project/OpenSTA.git
synced 2026-09-03 16:29:50 +02:00
error/warn IDs
This commit is contained in:
@@ -163,6 +163,7 @@ EstimateParasitics::estimatePiElmoreBalanced(const Pin *drvr_pin,
|
||||
else {
|
||||
Sdc *sdc = sta->sdc();
|
||||
Network *network = sta->network();
|
||||
Report *report = sta->report();
|
||||
double res_fanout = wireload_res / fanout;
|
||||
double cap_fanout = wireload_cap / fanout;
|
||||
// Find admittance moments.
|
||||
@@ -184,7 +185,7 @@ EstimateParasitics::estimatePiElmoreBalanced(const Pin *drvr_pin,
|
||||
else if (network->isTopLevelPort(load_pin))
|
||||
load_cap = sdc->portExtCap(port, rf, min_max);
|
||||
else
|
||||
internalError("load pin not leaf or top level");
|
||||
report->critical(212, "load pin not leaf or top level");
|
||||
double cap = load_cap + cap_fanout;
|
||||
double y2_ = res_fanout * cap * cap;
|
||||
y1 += cap;
|
||||
|
||||
@@ -66,10 +66,10 @@ Parasitics::check(Parasitic *) const
|
||||
res_count++;
|
||||
}
|
||||
if (res_count == 0)
|
||||
report->warn("sub node %s has no resistor connections\n",
|
||||
report->warn("sub node %s has no resistor connections",
|
||||
node->name(network));
|
||||
else if (res_count == 1)
|
||||
report->warn("sub node %s has one resistor connection\n",
|
||||
report->warn("sub node %s has one resistor connection",
|
||||
node->name(network));
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -802,7 +802,7 @@ pos_integer:
|
||||
INTEGER
|
||||
{ int value = $1;
|
||||
if (value < 0)
|
||||
sta::spef_reader->warn("%d is not positive.\n", value);
|
||||
sta::spef_reader->warn(21, "%d is not positive.", value);
|
||||
$$ = value;
|
||||
}
|
||||
;
|
||||
@@ -811,13 +811,13 @@ pos_number:
|
||||
INTEGER
|
||||
{ float value = static_cast<float>($1);
|
||||
if (value < 0)
|
||||
sta::spef_reader->warn("%.4f is not positive.\n", value);
|
||||
sta::spef_reader->warn(22, "%.4f is not positive.", value);
|
||||
$$ = value;
|
||||
}
|
||||
| FLOAT
|
||||
{ float value = static_cast<float>($1);
|
||||
if (value < 0)
|
||||
sta::spef_reader->warn("%.4f is not positive.\n", value);
|
||||
sta::spef_reader->warn(23, "%.4f is not positive.", value);
|
||||
$$ = value;
|
||||
}
|
||||
;
|
||||
|
||||
+18
-18
@@ -164,7 +164,7 @@ SpefReader::setBusBrackets(char left, char right)
|
||||
|| (left == '<' && right == '>')
|
||||
|| (left == ':' && right == '\0')
|
||||
|| (left == '.' && right == '\0')))
|
||||
warn("illegal bus delimiters.\n");
|
||||
warn(167, "illegal bus delimiters.");
|
||||
bus_brkt_left_ = left;
|
||||
bus_brkt_right_ = right;
|
||||
}
|
||||
@@ -231,11 +231,11 @@ SpefReader::incrLine()
|
||||
}
|
||||
|
||||
void
|
||||
SpefReader::warn(const char *fmt, ...)
|
||||
SpefReader::warn(int id, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
report_->vfileWarn(filename_, line_, fmt, args);
|
||||
report_->vfileWarn(id, filename_, line_, fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ SpefReader::setTimeScale(float scale,
|
||||
else if (stringEq(units, "PS"))
|
||||
time_scale_ = scale * 1E-12F;
|
||||
else
|
||||
warn("unknown units %s.\n", units);
|
||||
warn(168, "unknown units %s.", units);
|
||||
stringDelete(units);
|
||||
}
|
||||
|
||||
@@ -261,7 +261,7 @@ SpefReader::setCapScale(float scale,
|
||||
else if (stringEq(units, "FF"))
|
||||
cap_scale_ = scale * 1E-15F;
|
||||
else
|
||||
warn("unknown units %s.\n", units);
|
||||
warn(168, "unknown units %s.", units);
|
||||
stringDelete(units);
|
||||
}
|
||||
|
||||
@@ -274,7 +274,7 @@ SpefReader::setResScale(float scale,
|
||||
else if (stringEq(units, "KOHM"))
|
||||
res_scale_ = scale * 1E+3F;
|
||||
else
|
||||
warn("unknown units %s.\n", units);
|
||||
warn(170, "unknown units %s.", units);
|
||||
stringDelete(units);
|
||||
}
|
||||
|
||||
@@ -289,7 +289,7 @@ SpefReader::setInductScale(float scale,
|
||||
else if (stringEq(units, "UH"))
|
||||
induct_scale_ = scale * 1E-6F;
|
||||
else
|
||||
warn("unknown units %s.\n", units);
|
||||
warn(168, "unknown units %s.", units);
|
||||
stringDelete(units);
|
||||
}
|
||||
|
||||
@@ -312,7 +312,7 @@ SpefReader::nameMapLookup(char *name)
|
||||
if (exists)
|
||||
return mapped_name;
|
||||
else {
|
||||
warn("no name map entry for %d.\n", index);
|
||||
warn(169, "no name map entry for %d.", index);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -331,7 +331,7 @@ SpefReader::portDirection(char *spef_dir)
|
||||
else if (stringEq(spef_dir, "B"))
|
||||
direction = PortDirection::bidirect();
|
||||
else
|
||||
warn("unknown port direction %s.\n", spef_dir);
|
||||
warn(170, "unknown port direction %s.", spef_dir);
|
||||
return direction;
|
||||
}
|
||||
|
||||
@@ -357,15 +357,15 @@ SpefReader::findPin(char *name)
|
||||
if (inst) {
|
||||
pin = network_->findPin(inst, port_name);
|
||||
if (pin == nullptr)
|
||||
warn("pin %s not found.\n", name);
|
||||
warn(171, "pin %s not found.", name);
|
||||
}
|
||||
else
|
||||
warn("instance %s not found.\n", name);
|
||||
warn(172, "instance %s not found.", name);
|
||||
}
|
||||
else {
|
||||
pin = findPortPinRelative(name);
|
||||
if (pin == nullptr)
|
||||
warn("pin %s not found.\n", name);
|
||||
warn(173, "pin %s not found.", name);
|
||||
}
|
||||
}
|
||||
return pin;
|
||||
@@ -379,7 +379,7 @@ SpefReader::findNet(char *name)
|
||||
if (name) {
|
||||
net = findNetRelative(name);
|
||||
if (net == nullptr)
|
||||
warn("net %s not found.\n", name);
|
||||
warn(174, "net %s not found.", name);
|
||||
}
|
||||
return net;
|
||||
}
|
||||
@@ -489,7 +489,7 @@ SpefReader::findParasiticNode(char *name)
|
||||
findParasiticNode(name, node, ext_net, ext_node_id, ext_pin);
|
||||
if (node == nullptr
|
||||
&& (ext_net || ext_pin))
|
||||
warn("%s not connected to net %s.\n", name, network_->pathName(net_));
|
||||
warn(175, "%s not connected to net %s.", name, network_->pathName(net_));
|
||||
return node;
|
||||
}
|
||||
|
||||
@@ -524,7 +524,7 @@ SpefReader::findParasiticNode(char *name,
|
||||
else {
|
||||
// Replace delimiter for error message.
|
||||
*delim = delimiter_;
|
||||
warn("pin %s not found.\n", name);
|
||||
warn(176, "pin %s not found.", name);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -544,7 +544,7 @@ SpefReader::findParasiticNode(char *name,
|
||||
}
|
||||
}
|
||||
else
|
||||
warn("node %s not a pin or net:number\n", name);
|
||||
warn(177, "node %s not a pin or net:number", name);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -559,7 +559,7 @@ SpefReader::findParasiticNode(char *name,
|
||||
ext_pin = pin;
|
||||
}
|
||||
else
|
||||
warn("pin %s not found.\n", name);
|
||||
warn(178, "pin %s not found.", name);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -720,7 +720,7 @@ void spefFlushBuffer();
|
||||
int
|
||||
SpefParse_error(const char *msg)
|
||||
{
|
||||
sta::spef_reader->warn("%s.\n", msg);
|
||||
sta::spef_reader->warn(179, "%s.", msg);
|
||||
spefFlushBuffer();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -81,8 +81,10 @@ public:
|
||||
size_t max_size);
|
||||
// Translate from spf/spef namespace to sta namespace.
|
||||
char *translated(const char *token);
|
||||
void warn(const char *fmt, ...)
|
||||
__attribute__((format (printf, 2, 3)));
|
||||
void warn(int id,
|
||||
const char *fmt,
|
||||
...)
|
||||
__attribute__((format (printf, 3, 4)));
|
||||
void setBusBrackets(char left,
|
||||
char right);
|
||||
void setTimeScale(float scale,
|
||||
|
||||
Reference in New Issue
Block a user