Claire Wolf
485f31f681
Improve yosys-smtbmc "solver not found" handling
...
Signed-off-by: Claire Wolf <clifford@clifford.at>
2020-01-27 17:48:56 +01:00
Clifford Wolf
f02623abb5
Bugfix in smtio vcd handling of $-identifiers
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-10-23 00:04:34 +02:00
Clifford Wolf
2ed2e9c3e8
Change smtbmc "Warmup failed" status to "PREUNSAT"
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-10-03 14:59:07 +02:00
Sean Cross
c1b628508d
backends: smt2: use $(CXX) variable for compiler
...
The Makefile assumes the compiler is called `gcc`, which isn't always
true. In fact, if we're building on msys2 or msys2-64, the compiler
is called `i686-w64-mingw32-g++` or `x86_64-w64-mingw32-g++`.
Use the variable instead of hardcoding the name, to fix building on
these systems.
Signed-off-by: Sean Cross <sean@xobs.io>
2019-09-08 15:47:09 +08:00
Eddie Hung
6d77236f38
substr() -> compare()
2019-08-07 12:20:08 -07:00
Eddie Hung
3486235338
Make liberal use of IdString.in()
2019-08-06 16:18:18 -07:00
Clifford Wolf
023086bd46
Add $_NMUX_, add "abc -g cmos", add proper cmos cell costs
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-08-06 04:47:55 +02:00
N. Engelhardt
ab4b9e8db4
smt: handle failure of setrlimit syscall
2019-07-15 23:33:18 +08:00
Clifford Wolf
b3c36b4448
Escape scope names starting with dollar sign in smtio.py
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-06-26 10:58:39 +02:00
Clifford Wolf
c23bbc4291
Add timescale and generated-by header to yosys-smtbmc MkVcd
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-06-16 23:12:03 +02:00
Clifford Wolf
f4abc21d8a
Add "whitebox" attribute, add "read_verilog -wb"
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-04-18 17:45:47 +02:00
Clifford Wolf
bacca57537
Fix smtbmc.py handling of zero appended steps
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-03-14 22:04:42 +01:00
William D. Jones
ff15cf9b1f
Install launcher executable when running yosys-smtbmc on Windows.
...
Signed-off-by: William D. Jones <thor0505@comcast.net>
2019-03-13 13:49:16 -04:00
Clifford Wolf
94f995ee37
Fix signed $shift/$shiftx handling in write_smt2
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-03-09 13:19:41 -08:00
Clifford Wolf
5dfc7becca
Use SVA label in smt export if available
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-03-07 11:31:46 -08:00
Clifford Wolf
f570aa5e1d
Fix smt2 code generation for partially initialized memowy words, fixes #831
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-02-28 12:15:58 -08:00
Clifford Wolf
e112d2fbf5
Add missing blackslash-to-slash convertion to smtio.py (matching Smt2Worker::get_id() behavior)
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-02-06 16:35:59 +01:00
whitequark
efa278e232
Fix typographical and grammatical errors and inconsistencies.
...
The initial list of hits was generated with the codespell command
below, and each hit was evaluated and fixed manually while taking
context into consideration.
DIRS="kernel/ frontends/ backends/ passes/ techlibs/"
DIRS="${DIRS} libs/ezsat/ libs/subcircuit"
codespell $DIRS -S *.o -L upto,iff,thru,synopsys,uint
More hits were found by looking through comments and strings manually.
2019-01-02 13:12:17 +00:00
Clifford Wolf
0b9bb852c6
Add yosys-smtbmc support for btor witness
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-12-10 03:43:07 +01:00
Clifford Wolf
47a5dfdaa4
Add "yosys-smtbmc --btorwit" skeleton
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-12-08 06:59:27 +01:00
Clifford Wolf
825b4c1aa9
Merge pull request #693 from YosysHQ/rlimit
...
improve rlimit handling in smtio.py
2018-11-07 20:16:40 +01:00
Clifford Wolf
b54bf7c0f9
Limit stack size to 16 MB on Darwin
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-07 15:32:34 +01:00
Clifford Wolf
f6c4485a3a
Run solver in non-incremental mode whem smtio.py is configured for non-incremental solving
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-06 11:11:05 +01:00
Clifford Wolf
4c50e3abb9
Fix for improved smtio.py rlimit code
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-06 10:09:03 +01:00
Clifford Wolf
79075d123f
Improve stack rlimit code in smtio.py
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-06 10:05:23 +01:00
Arjen Roodselaar
2b93542171
Use conservative stack size for SMT2 on MacOS
2018-11-04 21:58:09 -08:00
Clifford Wolf
d0acea4f2e
Add proper error message for when smtbmc "append" fails
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-04 14:41:28 +01:00
Clifford Wolf
b6781c6f4b
Add support for signed $shift/$shiftx in smt2 back-end
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-01 11:40:58 +01:00
Clifford Wolf
67b1026297
Merge pull request #591 from hzeller/virtual-override
...
Consistent use of 'override' for virtual methods in derived classes.
2018-08-15 14:05:38 +02:00
Clifford Wolf
dfc0c8ffc8
Merge pull request #576 from cr1901/no-resource
...
Gate POSIX-only signals and resource module to only run on POSIX Pyth…
2018-08-15 14:00:19 +02:00
jpathy
7db05b2cc1
Use `realpath`
...
Use `os.path.realpath` instead to make sure symlinks are followed. This is also required to work for nix package manager.
2018-08-06 06:51:07 +00:00
Henner Zeller
3aa4484a3c
Consistent use of 'override' for virtual methods in derived classes.
...
o Not all derived methods were marked 'override', but it is a great
feature of C++11 that we should make use of.
o While at it: touched header files got a -*- c++ -*- for emacs to
provide support for that language.
o use YS_OVERRIDE for all override keywords (though we should probably
use the plain keyword going forward now that C++11 is established)
2018-07-20 23:51:06 -07:00
William D. Jones
0caa62802c
Gate POSIX-only signals and resource module to only run on POSIX Python implementations.
2018-07-06 01:44:34 -04:00
Clifford Wolf
4d6af2969c
Add smtio.py support for parsing SMT2 (_ bvX n) syntax for BitVec constants
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-04-04 18:12:27 +02:00
Clifford Wolf
25a864fc73
Fixed -stbv handling in SMT2 back-end
2018-04-04 17:28:07 +02:00
Clifford Wolf
dd5fab69c1
Add smtio status msgs when --progress is inactive
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-29 21:59:30 +02:00
Clifford Wolf
a48c7e5abf
Bugfix in smtio.py VCD file generator
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-29 12:45:31 +02:00
Clifford Wolf
77bd645c35
Add $mem support to SMT2 clock tagging
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-27 02:11:20 +02:00
Clifford Wolf
3f00702475
Improve yosys-smtbmc log output and error handling
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-17 18:06:17 +01:00
Clifford Wolf
4d4e3a8ca6
Improve handling of invalid check-sat result in smtio.py
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-17 12:17:53 +01:00
Clifford Wolf
3545c0fffb
Remove debug prints from yosys-smtbmc VCD writer
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-08 16:24:35 +01:00
Clifford Wolf
8b604004da
Check results of (check-sat) in yosys-smtbmc
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-07 22:54:19 +01:00
Clifford Wolf
cedbc35f4b
Imporove yosys-smtbmc error handling, Improve VCD output
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-05 12:17:22 +01:00
Clifford Wolf
8b7602e660
Improve SMT2 encoding of $reduce_{and,or,bool}
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-04 21:22:20 +01:00
Clifford Wolf
45a6fce92c
Fix a hangup in yosys-smtbmc error handling
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-04 21:13:30 +01:00
Clifford Wolf
ae4e204c76
Improved error handling in yosys-smtbmc
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-03 20:00:07 +01:00
Clifford Wolf
a44e1edaa3
Terminate running SMT solver when smtbmc is terminated
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-03 14:50:40 +01:00
Clifford Wolf
3ced2cca6e
Fix smtbmc smtc/aiw parser for wire names containing []
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-03 14:15:49 +01:00
Clifford Wolf
90ae426078
Mangle names with square brackets in VCD files to work around issues in gtkwave
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-03-01 14:15:27 +01:00
Clifford Wolf
675dd5347a
Small fixes and improvements in $allconst/$allseq handling
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-02-26 11:58:44 +01:00
Clifford Wolf
b13e6bd375
Add smtbmc support for exist-forall problems
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-02-23 19:33:30 +01:00
Clifford Wolf
17583b6a21
Add support for mockup clock signals in yosys-smtbmc vcd output
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-02-20 17:45:22 +01:00
Clifford Wolf
c9672e2e2e
Fix handling of zero-length cell connections in SMT2 back-end
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-02-08 19:12:12 +01:00
Clifford Wolf
e97f10b142
Fix smtio.py for large SMT2 S-expressions
2018-01-29 12:34:28 +01:00
Clifford Wolf
54aeca0983
Move user-provided smt2 info stmts to the top of the yosys-smtbmc smt2 output
2018-01-18 14:25:22 +01:00
Clifford Wolf
9419de3e37
Add yosys-smtbmc VCD writer support for memories with async writes
2017-12-14 03:06:00 +01:00
Clifford Wolf
2625da6440
Add smt2 back-end support for async write memories
2017-12-14 02:07:10 +01:00
Clifford Wolf
da91b31bb2
Fixed "yosys-smtbmc -g" handling of no solution
2017-11-27 19:43:36 +01:00
Clifford Wolf
455c1c9d97
Fix SMT2 handling of initstate in sub-modules
2017-10-29 13:21:20 +01:00
Clifford Wolf
1170508264
Improve smtio performance by using reader thread, not writer thread
2017-10-26 01:01:55 +02:00
Clifford Wolf
f513494f5f
Use separate writer thread for talking to SMT solver to avoid read/write deadlock
2017-10-25 19:59:56 +02:00
Clifford Wolf
76326c163a
Improve p_* functions in smtio.py
2017-10-25 15:45:32 +02:00
Clifford Wolf
c672c321e3
Capsulate smt-solver read/write in separate functions
2017-10-25 13:37:11 +02:00
Clifford Wolf
dd46d76394
Fix a bug in yosys-smtbmc in ROM handling
2017-10-25 13:05:14 +02:00
Clifford Wolf
c2d737457a
Fix bug in write_smt2 (export logic driving hierarchical cells before exporting regs)
2017-08-25 11:44:48 +02:00
Clifford Wolf
48b2b376d0
Add "yosys-smtbmc --smtc-init --smtc-top --noinit"
2017-08-04 17:09:08 +02:00
Clifford Wolf
3a8f6f0f51
Add verilator support to testbenches generated by yosys-smtbmc
2017-07-21 14:33:29 +02:00
Clifford Wolf
10c7709e68
Generate FSM-style testbenches in smtbmc
2017-07-12 15:57:04 +02:00
Clifford Wolf
3c693b6561
Change s/asserts/assertions/ in yosys-smtbmc log messages
2017-07-07 11:52:25 +02:00
Clifford Wolf
8f7404f82c
Add "yosys-smtbmc --presat"
2017-07-07 02:47:30 +02:00
Clifford Wolf
3e0948e16f
Remove unneeded delays in smtbmc vlogtb
2017-07-03 15:37:17 +02:00
Clifford Wolf
ea805af6f5
Add "yosys-smtbmc --vlogtb-top"
2017-07-01 18:19:23 +02:00
Clifford Wolf
7d2fb6e2fc
Fix smtbmc vlogtb bug in $anyseq handling
2017-07-01 02:13:32 +02:00
Clifford Wolf
8f8baccfde
Fix generation of vlogtb output in yosys-smtbmc for "rand reg" and "rand const reg"
2017-06-07 12:30:24 +02:00
Clifford Wolf
d9201b85f3
Change default smt2 solver to yices (Yices 2 has switched its license to GPL)
2017-05-27 11:56:01 +02:00
Clifford Wolf
05cdd58c8d
Add $_ANDNOT_ and $_ORNOT_ gates
2017-05-17 09:08:29 +02:00
Clifford Wolf
1a4b7c6bfa
Fix boolector support in yosys-smtbmc
2017-05-08 14:33:22 +02:00
Clifford Wolf
106e44f406
Add "write_smt2 -stdt" mode
2017-03-20 12:00:35 +01:00
Clifford Wolf
c855353986
Improve smt2 encodings of assert/assume/cover, better wire_smt2 help msg
2017-03-04 23:41:54 +01:00
Clifford Wolf
fbd52ec6dd
Use hex addresses in smtbmc vcd mem traces
2017-02-28 13:54:50 +01:00
Clifford Wolf
2203562268
Add smtbmc support for memory vcd dumping
2017-02-26 21:26:32 +01:00
Clifford Wolf
80ecd7a26f
Fix extra newline bug in write_smt2
2017-02-26 14:41:27 +01:00
Clifford Wolf
6e152f7aa1
Fix bug in smtio unroll code
2017-02-26 14:39:07 +01:00
Clifford Wolf
66a1617b69
Fix assert checking in "yosys-smtbmc -c --append"
2017-02-26 11:06:26 +01:00
Clifford Wolf
fd1cc0c73d
Improve (and fix for stbv mode) SMT2 memory API
2017-02-26 10:58:34 +01:00
Clifford Wolf
38bf458037
Add support for "yosys-smtbmc -c --append"
2017-02-25 23:41:40 +01:00
Clifford Wolf
7af9727f78
Add "write_smt2 -stbv"
2017-02-24 18:24:53 +01:00
Clifford Wolf
a9c3acf5a2
Add SMT2 statebv mode (inactive for now)
2017-02-24 14:04:52 +01:00
Clifford Wolf
242c5f01de
Add "yosys-smtbmc -S <opt>"
2017-02-19 22:51:29 +01:00
Clifford Wolf
5541b42159
Add assert check in "yosys-smtbmc -c"
2017-02-04 21:22:17 +01:00
Clifford Wolf
adbecfee66
Improve yosys-smtbmc cover() support
2017-02-04 21:10:24 +01:00
Clifford Wolf
0c0784b6bf
Partially implement cover() support in yosys-smtbmc
2017-02-04 18:17:08 +01:00
Clifford Wolf
6abf79eb28
Further improve cover() support
2017-02-04 17:02:13 +01:00
Clifford Wolf
18ea65ef04
Add "yosys-smtbmc --aig <aim_filename>:<aiw_filename>" support
2017-01-30 11:38:43 +01:00
Clifford Wolf
e54c355b41
Add "yosys-smtbmc --aig-noheader" and AIGER mem init support
2017-01-28 15:15:02 +01:00
Clifford Wolf
b7cfb7dbd2
Fix $initstate handling bug in yosys-smtbmc
2017-01-11 14:14:12 +01:00
Clifford Wolf
b9ad91b93e
Implicitly set "yosys-smtbmc --noprogress" on windows
2017-01-04 15:23:48 +01:00
Clifford Wolf
ed812ea39c
Fixed "yosys-smtbmc --noprogress"
2017-01-04 12:03:04 +01:00
Clifford Wolf
81bb952e5d
Handle "always 1" like "always -1" in .smtc files
2017-01-02 20:08:03 +01:00
Clifford Wolf
37760541bd
Improved yosys-smtbmc default -t/--assume-skipped for --cex and --aig
2016-12-03 12:37:20 +01:00
Clifford Wolf
88b9733253
Added "yosys-smtbmc --aig"
2016-12-01 13:16:57 +01:00
Clifford Wolf
52c243cf05
Added support for partially initialized regs to smt2 back-end
2016-12-01 12:00:00 +01:00
Clifford Wolf
df2e5aad6f
Bugfix in smt2 back-end for pure checker modules
2016-11-28 15:15:09 +01:00
Clifford Wolf
c17d98f55c
Removed shebang line from smtio.py, fixes #279
2016-11-27 12:11:04 +01:00
Clifford Wolf
f257ccf22e
Added "yosys-smtbmc --append"
2016-11-22 21:21:13 +01:00
Clifford Wolf
281a977b39
Ignore L_pi nets in "yosys-smtbmc --cex"
2016-10-18 10:54:53 +02:00
Clifford Wolf
0bcc617a4f
Added "yosys-smtbmc --cex <filename>"
2016-10-17 14:57:28 +02:00
Clifford Wolf
189fbd4cf8
cleanup in write_smt2 log messages (-bv and -mem are now default)
2016-10-16 23:02:51 +02:00
Clifford Wolf
bdc316db50
Added $anyseq cell type
2016-10-14 15:24:03 +02:00
Clifford Wolf
8ebba8a35f
Added $ff and $_FF_ cell types
2016-10-12 01:18:39 +02:00
Clifford Wolf
11130d581d
Merge branch 'master' of github.com:cliffordwolf/yosys
2016-10-11 03:58:27 +02:00
Clifford Wolf
5f6a838823
Added smtc support for top-level state with [], [N:] syntax
2016-10-08 12:25:34 +02:00
Clifford Wolf
5f7c5e685b
Bugfix in yosys-smtbmc --noincr
2016-10-04 00:54:44 +02:00
Clifford Wolf
1114ce9210
yosys-smtbmc: ABC is a QF_BV solver
2016-10-03 20:43:38 +02:00
Clifford Wolf
99b2093bc4
Added "yosys-smtbmc --noincr"
2016-10-03 20:30:38 +02:00
Clifford Wolf
9aec8a1672
yosys-smtbmc: added smtc [...] support for cells
2016-10-02 22:08:30 +02:00
Clifford Wolf
4eb0d6fc0e
Added "yosys-smtbmc -s abc"
2016-10-01 13:54:21 +02:00
Clifford Wolf
34e2fb594d
Minor improvements in yosys-smtbmc
2016-09-24 20:40:22 +02:00
Clifford Wolf
2e244c2d8e
Added yosys-smtbmc --noinfo and --dummy
2016-09-19 20:43:28 +02:00
Clifford Wolf
d009cdd6ee
Improved handling of SMT2 logics in yosys-smtbmc
2016-09-18 20:48:09 +02:00
Clifford Wolf
7bc88e8101
yosys-smtbmc: added -i support smtc files
2016-09-18 00:48:36 +02:00
Clifford Wolf
d39db41df8
Work-around for boolector bug
2016-09-13 13:23:06 +02:00
Clifford Wolf
6f416c1953
Added missing :produce-models setting to smtio.py
2016-09-11 18:17:22 +02:00
Clifford Wolf
5199aafca0
Minor improvements to smtio.py vcd writer
2016-09-10 16:24:08 +02:00
Clifford Wolf
b582f11074
fixed write_smt2 for (non-combinatorial) loops through hierarchical cells
2016-09-10 15:14:41 +02:00
Clifford Wolf
3ceba145d5
smt2 mem init bugfix
2016-09-08 18:08:15 +02:00
Clifford Wolf
14bfd3c5c1
yosys-smtbmc meminit support
2016-09-08 11:16:12 +02:00
Clifford Wolf
209a3d9ffc
Bugfix in "yosys-smtbmc --unroll"
2016-09-07 21:01:51 +02:00
Clifford Wolf
6770d6e0f8
Added "yosys-smtbmc --unroll"
2016-09-07 20:57:56 +02:00
Clifford Wolf
97b449fe55
yosys-smtbmc: flush stdout after each log msg
2016-09-06 01:40:31 +02:00
Clifford Wolf
372d672c2a
Minor bugfix in write_smt2
2016-09-04 16:32:47 +02:00
Clifford Wolf
fa5565b606
Added boolector support to yosys-smtbmc
2016-09-03 14:26:00 +02:00
Clifford Wolf
948aac9e1e
Don't re-create hex_dict for each value
2016-09-02 13:46:56 +02:00
Kaj Tuomi
d88cd0ae7f
More PEP 8 fixes.
2016-09-02 13:09:09 +03:00
Kaj Tuomi
c4ba1965fd
Indentation and PEP 8 fixes. CamelCase and white space after semicolon.
2016-09-02 13:01:31 +03:00
Kaj Tuomi
2343dda946
Use dict lookup instead of many ifs.
2016-09-02 12:50:23 +03:00
Kaj Tuomi
279298c0b8
Fix: Unresolved reference.
2016-09-02 11:12:30 +03:00
Kaj Tuomi
74dd36ad55
Some syntax fixes. Generator and comma separated list modifications.
2016-09-02 11:02:19 +03:00
Clifford Wolf
aa25a4cec6
Added $anyconst support to yosys-smtbmc
2016-08-30 19:27:42 +02:00
Clifford Wolf
a8124c137e
Fixed memory bug in write_smt2
2016-08-30 14:49:47 +02:00
Clifford Wolf
b04a40d9fe
Made "write_smt2 -bv -mem" default, added "write_smt2 -nobv -nomem"
2016-08-30 12:40:09 +02:00
Clifford Wolf
39e4faa2e4
Added $anyconst support to smt2 back-end
2016-08-30 11:26:10 +02:00
Clifford Wolf
c417421495
Added "yosys-smtbmc --dump-all"
2016-08-29 22:41:45 +02:00
Clifford Wolf
b226893461
More yosys-smtbmc bugfixes
2016-08-29 14:53:32 +02:00
Clifford Wolf
a2e2fc5980
Various fixes and improvements in yosys-smtbmc
2016-08-29 13:53:12 +02:00
Clifford Wolf
f56dba8e20
Some changes to yosys-smtbmc cmd line options, add --final-only
2016-08-27 22:04:15 +02:00
Clifford Wolf
adcda6817e
Added smtc "final" statement
2016-08-27 14:30:36 +02:00
Clifford Wolf
17233b11e1
Various fixes and improvements in smt2 back-end
2016-08-26 17:33:02 +02:00
Clifford Wolf
ad56ad44c3
More yosys-smtbmc smtc features
2016-08-24 23:18:29 +02:00
Clifford Wolf
ee3e7a0e45
yosys-smtbmc --smtc -g
2016-08-24 22:09:50 +02:00