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
Clifford Wolf
6523023645
Minor yosys-smtbmc bugfix
2016-08-22 17:45:01 +02:00
Clifford Wolf
583ceee6eb
Added "yosys-smtbmc --constr"
2016-08-22 17:27:43 +02:00
Clifford Wolf
2bd30e2026
Added "yosys-smtbmc --dump-constr"
2016-08-22 16:48:46 +02:00
Clifford Wolf
7a33b9892a
yosys-smtbmc: improved --dump-vlogtb handling of memories
2016-08-21 15:56:22 +02:00
Clifford Wolf
f7578b0239
Added "yosys-smtbmc --dump-vlogtb"
2016-08-20 18:43:39 +02:00
Clifford Wolf
ed785194de
Added support for memories to smtio.py
2016-08-20 18:42:32 +02:00
Clifford Wolf
c325bae792
Deprecated "write_smt2 -regs" (by default on now), and some other smt2 back-end improvements
2016-08-20 18:41:57 +02:00
Clifford Wolf
28271e43c9
Added "yosys-smtbmc -g"
2016-08-20 16:32:50 +02:00
Clifford Wolf
a889acb897
Added smtbmc longopt support
2016-08-20 16:07:59 +02:00
Clifford Wolf
de8ee412c3
Improved smtbmc vcd generation performance
2016-08-18 11:17:45 +02:00
Clifford Wolf
dfcd30ea86
Added printing of code loc of failed asserts to yosys-smtbmc
2016-08-17 20:10:02 +02:00
Clifford Wolf
da56a5bbc6
Added $initstate support to smtbmc flow
2016-07-27 16:11:37 +02:00
Clifford Wolf
c71785d65e
Yosys-smtbmc: Support for hierarchical VCD dumping
2016-07-11 12:49:33 +02:00
Clifford Wolf
0153ad85d9
Moved smt2 yosys info parsing from smtbmc.py to smtio.py
2016-07-11 11:49:05 +02:00
Clifford Wolf
771c5fe000
Support for hierarchical designs in smt2 back-end
2016-07-10 18:11:25 +02:00
Clifford Wolf
0bc95f1e04
Added "yosys -D" feature
2016-04-21 23:28:37 +02:00
Clifford Wolf
47fac573cf
Added yosys-smtbmc -S
2015-12-20 09:58:54 +01:00
Clifford Wolf
207736b4ee
Import more std:: stuff into Yosys namespace
2015-10-25 19:30:49 +01:00
Clifford Wolf
7f110e7018
renamed SigSpec::to_single_sigbit() to SigSpec::as_bit(), added is_bit()
2015-10-24 22:56:40 +02:00
Clifford Wolf
255bb914ba
Progress in yosys-smtbmc
2015-10-15 15:54:59 +02:00
Clifford Wolf
302166dd59
Improvements in yosys-smtbmc
2015-10-15 15:10:33 +02:00
Clifford Wolf
5dd3e93e8f
More "yosys-smtbmc -c" fixes
2015-10-14 23:23:25 +02:00
Clifford Wolf
9fd0f87059
Fixed yosys-smtbmc -c
2015-10-14 23:00:46 +02:00
Clifford Wolf
3c31572152
Added yosys-smtbmc copyright
2015-10-14 01:31:54 +02:00
Clifford Wolf
d7de0f4bd1
Improvements in yosys-smtbmc
2015-10-14 01:27:55 +02:00
Clifford Wolf
821f1b8534
Added yosys-smtbmc
2015-10-14 00:47:04 +02:00
Clifford Wolf
7bcd2a4bb3
Implemented smtbmc.py -i
2015-10-14 00:18:38 +02:00
Clifford Wolf
29160525aa
Added smtbmc.py
2015-10-13 17:17:23 +02:00
Clifford Wolf
3a22b31bda
Added write_smt2 -wires
2015-10-13 17:17:12 +02:00
Clifford Wolf
09b51cb375
Added "yosys-smt2-wire" tag support to smt2 back-end
2015-08-31 02:05:58 +02:00
Clifford Wolf
b659ffb457
Fixed generation of smt2 concat statements
2015-08-15 11:45:44 +02:00
Clifford Wolf
698357dd9a
Added "write_smt2 -regs"
2015-08-12 17:13:54 +02:00
Clifford Wolf
883e09d8ed
Use MEMID as name for $mem cell
2015-08-09 13:35:44 +02:00
Clifford Wolf
6c84341f22
Fixed trailing whitespaces
2015-07-02 11:14:30 +02:00
Clifford Wolf
93685a77c6
Removed debug code from write_smt2
2015-06-14 16:22:06 +02:00
Clifford Wolf
255dcb27a0
Added write_smt2 -mem
2015-06-14 15:46:47 +02:00
Clifford Wolf
5d4f513c3b
Added $assume support to write_smt2
2015-02-26 19:02:55 +01:00
Clifford Wolf
ff3f2448b1
Minor "write_smt2" help msg change
2015-02-22 16:30:02 +01:00
Clifford Wolf
4b89dd983c
Added "<mod>_a" and "<mod>_i" to write_smt2 output
2015-02-22 16:19:10 +01:00
Clifford Wolf
e8c12e5f0c
Various fixes and improvements in "write_smt2 -bv"
2014-12-25 20:28:34 +01:00
Clifford Wolf
68233baa1f
Various fixes and improvements in write_smt2
2014-12-25 17:52:31 +01:00
Clifford Wolf
95f17dbab0
Added support for most BV cell types to write_smt2
2014-12-25 15:37:02 +01:00
Clifford Wolf
1c3d51375f
Added "write_smt2 -bv" and other write_smt2 improvements
2014-12-25 13:30:20 +01:00
Clifford Wolf
e548483c91
Added write_smt2 (only gate level logic supported so far)
2014-12-24 16:17:57 +01:00