mirror of
https://github.com/YosysHQ/yosys
synced 2026-06-02 15:18:07 +00:00
Don't repeat VCD warnings + fixups.
This commit is contained in:
parent
366f98ae25
commit
44a1abdade
1 changed files with 10 additions and 7 deletions
|
|
@ -429,7 +429,7 @@ struct SimInstance
|
||||||
|
|
||||||
Const value = builder.build();
|
Const value = builder.build();
|
||||||
if (shared->debug)
|
if (shared->debug)
|
||||||
log("[%s] get %s: %s\n", hiername(), log_signal(sig, true), log_signal(value, true));
|
log("[%s] get %s: %s\n", hiername(), log_signal(sig), log_signal(value, true));
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -448,7 +448,7 @@ struct SimInstance
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shared->debug)
|
if (shared->debug)
|
||||||
log("[%s] set %s: %s\n", hiername(), log_signal(sig, true), log_signal(value, true));
|
log("[%s] set %s: %s\n", hiername(), log_signal(sig), log_signal(value, true));
|
||||||
return did_something;
|
return did_something;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1201,7 +1201,7 @@ struct SimInstance
|
||||||
// 3) module has no processes (sim enforces proc-lowered input before this point).
|
// 3) module has no processes (sim enforces proc-lowered input before this point).
|
||||||
// 4) sigmap is valid for per-bit queries on this instance.
|
// 4) sigmap is valid for per-bit queries on this instance.
|
||||||
// 5) shared->fst is active, i.e. this is called from FST/VCD replay flow.
|
// 5) shared->fst is active, i.e. this is called from FST/VCD replay flow.
|
||||||
int checkUndrivenReplaySignals()
|
int checkUndrivenReplaySignals(bool &any_undriven_found)
|
||||||
{
|
{
|
||||||
int issue_count = 0;
|
int issue_count = 0;
|
||||||
bool has_replay_candidates = false;
|
bool has_replay_candidates = false;
|
||||||
|
|
@ -1231,14 +1231,14 @@ struct SimInstance
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
issue_count++;
|
issue_count++;
|
||||||
|
any_undriven_found = true;
|
||||||
std::string wire_name = scope + "." + RTLIL::unescape_id(wire->name);
|
std::string wire_name = scope + "." + RTLIL::unescape_id(wire->name);
|
||||||
log_warning("Input trace contains undriven signal `%s` (%s); values for this signal are not replayed from FST/VCD input.\n",
|
log_warning("Input trace contains undriven signal `%s` (%s).\n", wire_name.c_str(), log_signal(undriven));
|
||||||
wire_name.c_str(), log_signal(undriven, true));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto child : children)
|
for (auto child : children)
|
||||||
issue_count += child.second->checkUndrivenReplaySignals();
|
issue_count += child.second->checkUndrivenReplaySignals(any_undriven_found);
|
||||||
|
|
||||||
return issue_count;
|
return issue_count;
|
||||||
}
|
}
|
||||||
|
|
@ -1550,7 +1550,10 @@ struct SimWorker : SimShared
|
||||||
|
|
||||||
top->addAdditionalInputs();
|
top->addAdditionalInputs();
|
||||||
if (undriven_check) {
|
if (undriven_check) {
|
||||||
int issue_count = top->checkUndrivenReplaySignals();
|
bool any_undriven_found = false;
|
||||||
|
int issue_count = top->checkUndrivenReplaySignals(any_undriven_found);
|
||||||
|
if (any_undriven_found)
|
||||||
|
log_warning("Values for the undriven signal(s) listed above are not replayed from FST/VCD input.\n");
|
||||||
if (issue_count > 0 && !undriven_warning)
|
if (issue_count > 0 && !undriven_warning)
|
||||||
log_cmd_error("Found %d undriven signal%s in the replay trace. Use -undriven-warn to continue or -no-undriven-check to disable this check.\n",
|
log_cmd_error("Found %d undriven signal%s in the replay trace. Use -undriven-warn to continue or -no-undriven-check to disable this check.\n",
|
||||||
issue_count, issue_count == 1 ? "" : "s");
|
issue_count, issue_count == 1 ? "" : "s");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue