You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit removes requirement of providing single-file as an input to
sv-bugpoint.
Now, user can provide multiple input files and they are passed to test
script as separate arguments. Each file is minimalized separately until
we can't remove any node from any file.
It adds `-f` flag that accepts command file with additional parameters
for sv-bugpoint and `-y` flag that includes add (System)Verilog files
from given folder.
Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
Copy file name to clipboardExpand all lines: README.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,25 +40,27 @@ First, you need to prepare:
40
40
It should exit with 0 if the assertion is successful.
41
41
For reference, see [`examples/caliptra_verilation_err/sv-bugpoint-check.sh`](examples/caliptra_verilation_err/sv-bugpoint-check.sh) and [`examples/caliptra_vcd/sv-bugpoint-check.sh`](examples/caliptra_vcd/sv-bugpoint-check.sh).
42
42
The script can be written in any language you are comfortable with, it just needs to be an executable. See the Python example: [`examples/caliptra_verilation_err/sv-bugpoint-check.py`](examples/caliptra_verilation_err/sv-bugpoint-check.py).
43
-
- SystemVerilog code that `sv-bugpoint` will attempt to minimize. In order to get one from a multi-file design,
44
-
you can use a preprocessor of your choice (e.g `verilator -E -P [other flags...] > sv-bugpoint-input.sv`).
43
+
- SystemVerilog code that `sv-bugpoint` will attempt to minimize.
-`sv-bugpoint-minimized.sv` - minimized code that satisfies the assertion checked by the provided script,
52
+
-`sv-bugpoint-minimized.sv` - minimized code that satisfies the assertion checked by the provided script. It contains concatenated output of every input file,
53
+
-`sv-bugpoint-<INPUT_SV>` - minimalized code for each input file,
54
54
-`tmp/<INPUT_SV>` - a copy of the previous file with a removal attempt applied, to be checked with the provided script,
55
-
-`sv-bugpoint-trace` - verbose, tab-delimited trace with stats and additional info about each removal attempt ([example](examples/caliptra_verilation_err/sv-bugpoint-trace)).
55
+
-`sv-bugpoint-trace<INPUT_SV>` - verbose, tab-delimited trace with stats and additional info about each removal attempt ([example](examples/caliptra_verilation_err/sv-bugpoint-trace)).
56
56
It can be turned into a concise, high-level summary with the [`sv-bugpoint-trace_summary script`](scripts/sv-bugpoint-trace_summary) ([example](examples/caliptra_verilation_err/sv-bugpoint-trace_summarized)).
57
57
58
58
There are flags that enable additional dumps:
59
59
-`--save-intermediates` saves each removal attempt in `<OUT_DIR>/intermediates/attempt<index>.sv`.
60
60
-`--dump-trees` saves dumps of Slang's AST.
61
61
62
+
To get more information about available flags, run `sv-bugpoint --help`.
63
+
62
64
### Automatically generating check scripts
63
65
64
66
If your goal is to debug Verilator, the [`sv-bugpoint-verilator-gen` script](scripts/sv-bugpoint-verilator-gen) can automatically generate an input test case and a check script template for you.
0 commit comments