Add warnings and errors to sim -r with VCD code path#5701
Open
gussmith23 wants to merge 4 commits intomainfrom
Open
Add warnings and errors to sim -r with VCD code path#5701gussmith23 wants to merge 4 commits intomainfrom
sim -r with VCD code path#5701gussmith23 wants to merge 4 commits intomainfrom
Conversation
(1) no check, (2) check with warning, (3) check with error. Previously the single test was not testing all cases, as it was exiting after the first error.
sim -r with VCD code path
mmicko
reviewed
Mar 3, 2026
| Const value = builder.build(); | ||
| if (shared->debug) | ||
| log("[%s] get %s: %s\n", hiername(), log_signal(sig), log_signal(value)); | ||
| log("[%s] get %s: %s\n", hiername(), log_signal(sig, true), log_signal(value, true)); |
Member
There was a problem hiding this comment.
is adding true as second parameter for log_signal affecting results log output at all ? since this should affect only constants, if so do you have any example for that ?
|
|
||
| issue_count++; | ||
| 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", |
Member
There was a problem hiding this comment.
Too long message and it will repeat if there are multiple signals, maybe add a flag for having undriven signals in file and then just display one more warning at the and with something like Values for mentioned signal(s) are not replayed from FST/VCD input.\n
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We have been inspecting the sharp edges of the
simpass (see #5636). This change makes one of the sharp edges a little more visible: specifically, the behavior around undriven wires.Currently, undriven wires will not be driven when replaying from a VCD, which is different from the behavior when replaying with a YW file. This sharp edge is often avoided entirely as flows will convert undriven wires to
$anyseq, which will be driven during VCD replay. However, if one forgets to do this, they will get unexpected simulation behavior.This change adds a check + an error (downgradeable to a warning, or entirely skippable) for undriven wires, during VCD simulation.
This check is implemented using DriverMap to check for undriven signals. Given that this may not be performant for large designs, we also add a flag to disable the check entirely.