Jannis Harder
acaf6ef0c2
Use new memory_map -formal for aiger/_nomem
2022-08-05 16:31:15 +02:00
Jannis Harder
5265a52b65
Refactor flow to use a common prep model
...
The goal of this is to make sure that all backend flows are compatible
and we can map between them, so that e.g. the aiger model can be used to
minimize a counterexample trace produced by smtbmc. Reducing the parts
that differ per backend (including parts that receive different input
depending on the used backend) also makes testing more effective as the
common parts are easier to cover.
2022-08-05 16:31:15 +02:00
Jannis Harder
edb068bff4
Fix print_junit_results failure during some error conditions
...
There is a small window between setting self.precise_prop_status and
initializing self.design. I've only managed to produce an error within
that windows during development, but getting unrelated stacktraces from
print_junit_result failing distracts from debugging the issue at hand.
2022-08-05 16:31:15 +02:00
Aki Van Ness
46ca20f8ec
sby: core: ensured to strip the line of any uneeded whitespace
2022-08-04 06:13:28 -04:00
Aki Van Ness
9368f3f987
sby: core: explicitly split the the entries for the [options]
section params to be at most one,
2022-08-04 06:13:28 -04:00
Aki Van Ness
10234fef00
sby: core: changed how the split for the section header and arguments are done, with a prior strip to remove and extra whitespace
2022-08-04 06:13:28 -04:00
Aki Van Ness
8133aaa8f8
sby: core: changed how the sections and their arguments are handled and cleared up the strangly worded error messages related to that
2022-08-04 06:13:28 -04:00
Aki Van Ness
59dc27ed73
sby: core: config: cleaned up the error messages to make them less opaque
2022-08-01 10:16:05 -04:00
N. Engelhardt
3ff2c9affc
avoid erroring out when coarse-grain logic loops can be resolved by mapping to fine grain operators
2022-07-25 16:22:32 +02:00
Jannis Harder
07d19b202b
Merge pull request #195 from jix/sbyproc-truncated-output
...
Fix a race-condition SbyProc that could truncate output
2022-07-13 17:30:36 +02:00
Jannis Harder
5d3f784beb
Fix a race-condition SbyProc that could truncate output
...
Present for a long time, but was not easy to hit. Some of my work in
progress changes made this much more likely and running the complete
test suite in parallel had a good chance of reproducing this for at
least one of the tests.
2022-07-13 16:01:49 +02:00
Jannis Harder
92e7eb2e32
abc pdr: Enable log output by default
...
This makes it consistent with the other abc solvers and shows whether
abc pdr is making progress.
2022-07-08 12:36:44 +02:00
Jannis Harder
de43a4c936
Merge pull request #191 from jix/early-readconfig
...
Read config before creating a workdir
2022-07-06 12:05:13 +02:00
Jannis Harder
b3b315a473
Make SbyProc hide Windows differences in retcode handling
...
Without this, we don't properly detect missing solver binaries and do
not properly handle the return status of the pono solver.
2022-07-06 11:22:59 +02:00
Jannis Harder
566edad13c
Read config before creating a workdir
...
When using a task name not defined in the config, this now produces an
error before creating an unnecessary workdir for that non-existing task.
2022-07-05 17:20:55 +02:00
Jannis Harder
ff802086b4
test uninited FFs with const clks and fix btor script for this
2022-07-04 14:03:56 +02:00
Jannis Harder
e3123283ea
Merge pull request #170 from programmerjake/add-simcheck-option
...
switch to using hierarchy -smtcheck for smtlib2 solvers, allowing smtlib2_module modules
2022-07-03 11:47:22 +02:00
Jannis Harder
b4458d43d7
Automatic engine selection
2022-06-27 15:58:42 +02:00
Jannis Harder
5014d74023
sby_design: Extract total memory size and forall usage
2022-06-24 13:50:26 +02:00
Jannis Harder
157bb156c0
Merge pull request #185 from georgerennie/prefix_empty_taskname
...
Use default prefix directory when no task is specified
2022-06-24 12:40:09 +02:00
Jannis Harder
3dcf7766ea
smtbmc: Fix induction trace filename with --keep-going for the basecase
...
--keep-going only applies to the basecase and induction runs without that
option, so the trace filename for induction should have no placeholder.
2022-06-23 13:15:58 +02:00
Jacob Lifshay
db740839b7
switch to using hierarchy -smtcheck for smtlib2 solvers, allowing smtlib2_module modules.
...
Fixes : #168
Depends on: https://github.com/YosysHQ/yosys/pull/3391
2022-06-22 21:17:29 -07:00
George Rennie
0308142fa4
Use default prefix directory when no task is specified
2022-06-19 00:49:12 +01:00
Jannis Harder
0fe8c223cf
Decouple taskloop from task
2022-06-15 16:28:09 +02:00
Jannis Harder
d1c04f79d6
Use monotonic clock for timeouts
2022-06-15 14:11:25 +02:00
Jannis Harder
d0c59a3155
Don't use python asserts to handle unexpected solver output
2022-06-15 13:25:21 +02:00
Jannis Harder
e99884e319
SbyProc: New error_callback instead of exit_callback for failing procs
2022-06-15 13:25:21 +02:00
Jannis Harder
141ffd34a5
btor pono: improve option handling
...
Fail on the unsupported skip option and pass solver args to pono.
2022-06-15 11:35:22 +02:00
Jannis Harder
05d963b0df
aiger: check supported modes and aigbmc fixes
2022-06-14 17:41:06 +02:00
Jannis Harder
499371fd39
Use the test Makefile for all examples
...
* Rename and move sbysrc/demo[123].sby to docs/examples/demos
* Make them use multiple tasks for multiple engines
* Scan docs/examples for sby files for make test
* `make ci` is now `NOSKIP` by default
* Skip scripts using `verific` w/o yosys verific support
* This does not fail even with NOSKIP set
2022-06-13 13:42:58 +02:00
Jannis Harder
8e87b0f7f4
Suggest -f when the workdir already exists
2022-05-30 16:18:37 +02:00
Jannis Harder
6daa434d85
Add --dumptaskinfo option to output some .sby metadata as json
2022-04-11 17:44:10 +02:00
Jannis Harder
a190994098
Add envvar to enable automatic .gitignore creation for workdirs
2022-04-11 17:44:10 +02:00
N. Engelhardt
8ce526c22d
junit: use write_jny instead of write_json
2022-04-06 18:35:01 +02:00
Jannis Harder
25e982c238
Merge pull request #154 from jix/sby_design-fixes
...
sby_design fixes
2022-03-31 16:35:40 +02:00
Jannis Harder
4b512668b2
Fix design_hierarchy handling of $paramod cells
2022-03-31 15:51:58 +02:00
Jannis Harder
a78eaa57db
Fix variable name in find_property_by_cellname's error path
2022-03-31 13:12:15 +02:00
Jannis Harder
b725bfed0c
Prefer the first tracefile for each failing assertion
2022-03-30 13:47:14 +02:00
N. Engelhardt
2e0087fd2f
Merge pull request #150 from nakengelhardt/fix_junit_type_assignment
...
note unexpected return statuses in junit
2022-03-30 12:53:48 +02:00
Jannis Harder
81e8b6737b
Merge pull request #147 from jix/smtbmc-keepgoing
...
Support and tests for smtbmc `--keep-going`
2022-03-30 11:42:48 +02:00
N. Engelhardt
008d020c4d
note unexpected return statuses in junit
2022-03-29 19:10:29 +02:00
N. Engelhardt
53abf14514
Merge pull request #145 from nakengelhardt/fix_junit_tracefile
...
junit: handle multiple asserts failing with the same trace
2022-03-28 16:32:54 +02:00
N. Engelhardt
3d8f56b89a
Merge pull request #142 from nakengelhardt/fix_backslash_smt2
...
translate backslashes in cell names the same way as smt2 backend does
2022-03-28 16:32:10 +02:00
Jannis Harder
079df4d95f
Use -no-startoffset
, avoiding index mismatch between aiger and smt2
2022-03-25 11:41:08 +01:00
Jannis Harder
7824460e27
Initial support for the new smtbmc --keep-going option
...
So far this only passes on the option and adjusts the trace_prefix to
support multiple numbered traces. Further changes are needed to
correctly associate individual traces with the assertions failing in
that trace.
2022-03-24 16:57:16 +01:00
N. Engelhardt
c7e4785a8a
junit: handle multiple asserts failing with the same trace
2022-03-22 16:16:02 +01:00
N. Engelhardt
5dc7fc9a4d
translate backslashes in cell names the same way as smt2 backend does
2022-03-22 11:14:48 +01:00
N. Engelhardt
7142f790e4
add testcase for overall run result
2022-02-24 22:44:11 +01:00
N. Engelhardt
89ed843ff1
validate junit files (with extra attributes added to schema)
2022-02-22 16:16:37 +01:00
N. Engelhardt
7ee357fcc8
fix induction
2022-02-07 22:01:52 +01:00
N. Engelhardt
7d3545dc86
fix junit error/failure/skipped count
2022-02-07 19:20:29 +01:00
N. Engelhardt
53eb25fcae
handle unreached cover properties
2022-02-07 15:29:36 +01:00
N. Engelhardt
5abaccab69
refactor junit print into own function
2022-02-07 12:29:27 +01:00
N. Engelhardt
9168b0163b
handle status of cover properties
2022-02-06 09:15:44 +01:00
N. Engelhardt
d7e7f2c530
refactor model to have single base
2022-01-31 12:35:56 +01:00
N. Engelhardt
1cf27e7c31
parse solver location output for assert failures (cover not functional yet)
2022-01-27 13:41:07 +01:00
N. Engelhardt
a9d1972c47
add fallback if solver can't tell which property fails
2022-01-21 15:18:53 +01:00
N. Engelhardt
7f3c4137c1
create json export and read in properties
2022-01-19 19:34:11 +01:00
N. Engelhardt
6ec2df34e3
WIP change junit print to conform to schema; needs additional data, currently printing dummy info
...
Signed-off-by: N. Engelhardt <nak@yosyshq.com>
2022-01-13 13:45:54 +01:00
N. Engelhardt
257a57d8ed
create only a single bad when using pono solver; workaround for #137
2022-01-12 13:18:54 +01:00
N. Engelhardt
5a04ac3fcc
use --witness option when calling pono
2022-01-12 10:55:08 +01:00
N. Engelhardt
7c9e5b026b
Rename SbyJob to SbyTask and SbyTask to SbyProc to reduce confusion. Config file tasks now correspond to SbyTasks.
2022-01-11 17:08:56 +01:00
Claire Xenia Wolf
ac9001b22c
Improvements and cleanups in tasks handling
...
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2021-12-18 11:36:34 +01:00
Claire Xenia Wolf
f1d3be3914
Fixed [tasks] section parsing
...
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2021-12-17 20:57:19 +01:00
Claire Xenia Wolf
ab9d4fd3cf
Add ":"-syntax for [tasks] section
...
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2021-12-17 15:36:35 +01:00
Claire Xenia Wolf
5d19e4641a
Add support for directories in [files] section
...
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
2021-10-31 14:43:02 +01:00
Claire Xenia Wolf
1b3832cf92
Fixed names and links
2021-10-31 14:42:39 +01:00
Miodrag Milanovic
863a53b312
Fix regression
2021-08-25 12:10:18 +02:00
Miodrag Milanovic
156cc5d8c9
Initialize variable
2021-08-25 11:38:24 +02:00
piegames
bb19bca77c
fixup! Allow to set a working directory even when having multiple tasks
2021-07-12 16:14:48 +02:00
piegames
874d13ff89
Better error message when tasks failed
2021-06-26 19:46:30 +02:00
piegames
2d7d48885b
Turn .format() strings into f-strings
2021-06-26 19:46:30 +02:00
piegames
1f6700f21d
Allow to set a working directory even when having multiple tasks
...
Fixes #125 .
2021-06-21 22:32:29 +02:00
piegames
99aca04638
Print paths as absolute
...
This generally makes debugging path issues easier.
2021-06-21 22:31:53 +02:00
Miodrag Milanovic
ecf7b8f1b0
Windows specific fixes
2021-03-22 16:48:33 +01:00
Miodrag Milanovic
605db98382
Fix syntax errors
2021-01-26 09:09:43 +01:00
whitequark
287e33a47f
Add a PROGRAM_PREFIX= Makefile option for packages with prefixed Yosys.
2020-08-22 14:45:47 +00:00
Marcelina Kościelnicka
b172357161
Run dffunmap before writing the design with aiger/btor/smt2 backends.
2020-07-31 16:37:25 +02:00
N. Engelhardt
8c5b65cf97
add tests directory with additional tests
2020-07-24 13:51:39 +02:00
N. Engelhardt
7bae1b8bba
fix error message formatting
2020-07-21 14:48:38 +02:00
Claire Wolf
494f84b0ab
Include verilog source files for demo1.sby
...
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
2020-07-21 13:01:36 +02:00
Claire Wolf
0d98201dc7
Add "Unexpected response" handling to smtbmc engine
...
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
2020-07-20 19:42:10 +02:00
whitequark
db0e5f3637
Inject executable dependencies from the environment
2020-07-05 10:20:35 +00:00
Miodrag Milanovic
a62fded391
cosa2 -> pono rename
2020-07-03 11:25:55 +02:00
clairexen
72e84cb320
Merge pull request #97 from nakengelhardt/seed_arg
...
add --seed option to smtbmc and btor engines
2020-07-01 19:20:06 +02:00
clairexen
18ce85eb02
Merge pull request #94 from nakengelhardt/fix_93
...
ignore race condition in killing already-terminated process
2020-07-01 19:19:08 +02:00
N. Engelhardt
ee5cfdef76
add --seed option to smtbmc and btor engines
2020-07-01 18:05:20 +02:00
Claire Wolf
655d9c6bcd
Be more conservative in btor ys script
...
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
2020-06-23 14:32:59 +02:00
N. Engelhardt
25502e16ef
ignore race condition in killing already-terminated process
2020-06-16 12:41:26 +02:00
Claire Wolf
c7668de077
Add support for cosa2 BTOR solver
...
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
2020-05-18 16:59:36 +02:00
N. Engelhardt
9fdece3dab
btor engine: handle models with 0 properties
2020-05-18 13:11:25 +02:00
N. Engelhardt
87eb47502d
Merge pull request #87 from nakengelhardt/cover_trace_summary
...
Trace generation improvements
2020-05-13 18:45:39 +02:00
N. Engelhardt
6a95ef33c8
fix trace summary printing
2020-05-13 18:15:33 +02:00
N. Engelhardt
842e9a121a
call job.terminate at end of btor engine run to kill other engines in case of whoever-gets-there-first runs
2020-05-13 12:42:30 +02:00
N. Engelhardt
b3d766bf89
start btorsim as soon as a witness is ready, print summary when multiple traces are produced
2020-05-12 16:48:58 +02:00
Claire Wolf
ca9c188e3c
Add silent mode to SbyTask
...
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
2020-05-08 18:49:08 +02:00
N. Engelhardt
cb01f8469c
fix return code check in btor engine
2020-04-29 16:09:18 +02:00
N. Engelhardt
5d6323147d
Merge pull request #85 from nakengelhardt/new_btorsim
...
Note that the btor engine now requires changes not upstreamed to btor2tools yet, see btor2tools/pull/4
2020-04-29 11:47:20 +02:00
Claire Wolf
69ef444464
Add task pattern matching, closes #76
...
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
2020-04-14 19:55:14 +02:00
Claire Wolf
c91efe15a3
Add a status message when one or more tasks returned a non-zero return code, closes #78
...
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
2020-04-14 19:54:24 +02:00