ERROR: Directory '…' already exists, use -f to overwrite the existing directory. | An earlier run left its work folder. | Add -f: sby -f job.sby task. |
FileNotFoundError: [Errno 2] No such file or directory | sby resolves relative paths in [files] from the current folder. | cd into the folder that contains the .sby file. |
ERROR: File `x.sv' not found, then DONE (ERROR, rc=16) | A file named in [script] is missing from [files], or misspelled. | List every file the script reads under [files]. |
syntax error, unexpected '@' on an assert property line | read -formal does not accept concurrent assertions. | Write an immediate assertion in a clocked block with $past (Chapter 1, “Which properties can the free tools check?”). |
encountered unsupported SVA feature | read_slang does not accept sequence operators such as |-> and ##. | Express the sequence with registers and immediate assertions, or use Tabby CAD Suite. |
| An assertion fails, or a cover is reached, at step 0 | Registers start with arbitrary values before the first clock edge. | Guard the checks with f_past_valid (Chapter 3, “What must every formal block contain?”). |
| A failure at step 1 from a state that reset never produces | The proof does not start in reset. | initial assume (rst); |
DONE (UNKNOWN, rc=4) | The k-induction step started from a state that reset cannot reach. | Read trace_induct.vcd; add a helper assertion, or try abc pdr (Chapter 3, Run 6). |
DONE (TIMEOUT, rc=8) | The engine needed longer than the timeout option allows. | Raise the timeout, lower the depth, or try another engine. |
DONE (FAIL, rc=0) | The job file sets expect to accept FAIL. | Read the DONE line or the summary file, not only the exit status. |
| A property about asynchronous reset behaves unexpectedly | sby converts asynchronous logic to synchronous logic (async2sync). | Add multiclock on to [options], so sby models clocks and asynchronous events explicitly. |
| A cover PASS on a design that violates an assertion | Cover mode does not check assertions. | Check assertions in a bmc or prove task. |
A Latch inferred warning | Yosys found a value held in an always @* block; in NERV, for loop variables. | For loop variables, no action is needed. For other signals, check the combinational logic. |
awk: line 2: function gensub never defined | Ubuntu's default awk is mawk. | sudo apt install -y gawk, then bash cexdata.sh (Chapter 7). |
Install errors: an empty download, command not found, GLIBC_2.43 | Each has its own cause. | See Chapter 2, “How do you fix install errors?”. |