Commit Graph

2327 Commits

Author SHA1 Message Date
Yen-Sheng Ho 70511b001c %pdra: added an option -i for weaker proof-based refinement 2017-03-09 21:43:18 -08:00
Yen-Sheng Ho 566beb9c92 %pdra: added more stats 2017-03-09 17:33:00 -08:00
Yen-Sheng Ho eede1bc7f8 bug fix 2017-03-09 13:20:56 -08:00
Yen-Sheng Ho 3ae83d376a %pdra, %abs: added option -d for apple-to-apple comparison 2017-03-09 13:07:30 -08:00
Yen-Sheng Ho 6f8820fb95 %pdra: count the number of reused clauses 2017-03-09 11:07:58 -08:00
Mathias Soeken 74e445ad66 Exact synthesis. 2017-03-06 16:39:51 +01:00
Mathias Soeken 1cd5f76800 Fix exact command for multiple-output functions. 2017-03-06 16:32:07 +01:00
Mathias Soeken d971505402 Merged alanmi/abc into default 2017-03-04 20:22:53 +01:00
Alan Mishchenko 59348e227c Clone of the main SAT solver to eneable independent work. 2017-03-03 15:16:05 -08:00
Yen-Sheng Ho 154f4b642d merge 2017-03-03 13:46:32 -08:00
Yen-Sheng Ho 40d29e7813 only try scorr on small circuits 2017-03-03 12:29:15 -08:00
Heinz Riener 59f09c10d5 removed unnecessary declaration 2017-03-03 12:09:36 +01:00
Heinz Riener 5318619c64 added missing ABC_NAMESPACE_HEADER 2017-03-03 12:04:39 +01:00
Mathias Soeken f03871ab22 Merged alanmi/abc into default 2017-03-03 10:33:59 +01:00
Yen-Sheng Ho cb603c5ea1 added scorr to %pdra -u 2017-03-02 22:16:16 -08:00
Alan Mishchenko 2f69fa134e Moving global declarations into 'abcapi.h' and moving it into 'main' package. 2017-03-02 20:50:56 -08:00
Yen-Sheng Ho 7eac1f5766 added experimental codes 2017-03-02 17:31:30 -08:00
Alan Mishchenko 64035e52ab Macro to prevent writing history file. 2017-03-02 17:27:24 -08:00
Alan Mishchenko 96a399568d Adding experimental command. 2017-03-02 15:26:29 -08:00
Alan Mishchenko d850599020 Adding command 'glitch' for glitch simulation. 2017-03-02 14:26:04 -08:00
Yen-Sheng Ho 18b47dfbd5 %pdra: added an option -u for checking comb. unsat 2017-03-01 14:57:43 -08:00
Yen-Sheng Ho da0f4ef33b %pdra: now checks if cex is real before refinement 2017-03-01 12:12:42 -08:00
Alan Mishchenko b71d2ab2ba Fixed a few compilcation issues with Windows compiler. 2017-02-28 20:15:33 -08:00
Yen-Sheng Ho 007195ddd8 small tweaks 2017-02-28 19:25:11 -08:00
Yen-Sheng Ho 777c77785d merge 2017-02-28 19:21:31 -08:00
Yen-Sheng Ho 902a78eeb8 added an option -r to %pdra: proof-based refinement only 2017-02-28 18:05:58 -08:00
Yen-Sheng Ho d95d51c474 improved profiling in %pdra 2017-02-28 11:30:13 -08:00
Yen-Sheng Ho 43f34ddc02 added -L to %abs 2017-02-28 08:05:33 -08:00
Yen-Sheng Ho 46b6ac1539 improved %pdra -L 2017-02-27 20:44:19 -08:00
Yen-Sheng Ho 9195192f65 %pdra -L: now applies to all types 2017-02-27 14:31:59 -08:00
Yen-Sheng Ho bb3eacf480 small tweaks 2017-02-27 13:45:22 -08:00
Alan Mishchenko ed31679759 Enabling LUT pairing. 2017-02-27 12:18:24 -08:00
Yen-Sheng Ho ff745ca1a5 fixed a bug 2017-02-26 15:45:35 -08:00
Yen-Sheng Ho 86b3cb3da9 added an option -L to %pdra for limiting the number of muxes 2017-02-26 15:39:48 -08:00
Yen-Sheng Ho 27bdffd5a2 small tweaks 2017-02-26 14:38:38 -08:00
Yen-Sheng Ho cba376cfff improved %pdra -b 2017-02-25 22:26:51 -08:00
Yen-Sheng Ho a8f6e5c60a added an option -b to %pdra 2017-02-25 18:32:43 -08:00
Yen-Sheng Ho a7bc919b69 imported proof-based codes from ufar 2017-02-25 15:22:30 -08:00
Yen-Sheng Ho 7508a37a51 imported proof-based codes from ufar 2017-02-25 14:58:01 -08:00
Yen-Sheng Ho 14cf117968 imported proof-based codes from ufar 2017-02-25 09:37:59 -08:00
Yen-Sheng Ho 06797fb611 mege 2017-02-24 14:21:45 -08:00
Alan Mishchenko db36c65bce Small changes in the usage message for &gla. 2017-02-23 14:12:56 -08:00
Yen-Sheng Ho d5bbf9188c added %pdra -a: run with pdr -nct 2017-02-23 08:48:53 -08:00
Mathias Soeken 28e8e7f3e7 Merged alanmi/abc into default 2017-02-22 19:00:28 -08:00
Yen-Sheng Ho f01c63f712 working on %pdra -m 2017-02-22 17:57:19 -08:00
Yen-Sheng Ho 2f90e5e15d added an option -m for %pdra 2017-02-22 15:37:49 -08:00
Alan Mishchenko 53b1d46b8d Remapping flops in '%pdra. 2017-02-21 22:20:03 -08:00
Alan Mishchenko 0e9f8093c3 Merged in ysho/abc (pull request #59)
added a new abstraction
2017-02-22 04:31:10 +00:00
Yen-Sheng Ho fb2fbd70bd clean up 2017-02-21 20:10:11 -08:00
Yen-Sheng Ho 01e6beea8e clean up 2017-02-21 20:06:13 -08:00
Yen-Sheng Ho 9f43c84501 added options of checking and pushing to %pdra 2017-02-20 12:51:04 -08:00
Alan Mishchenko ac1eb60db9 Experiments with SAT sweeping. 2017-02-20 12:32:32 -08:00
Yen-Sheng Ho 19510bd38e added datastructure for %pdra options 2017-02-20 11:07:12 -08:00
Yen-Sheng Ho 222b3741a4 fixed time profiling in pdr 2017-02-20 10:13:18 -08:00
Yen-Sheng Ho 1a66a5823a working on pdr with wla 2017-02-19 16:09:59 -08:00
Yen-Sheng Ho 2d1792040a working on pdr with wla 2017-02-19 15:57:13 -08:00
Yen-Sheng Ho 2732cbc1ee working on pdr with wla 2017-02-19 12:31:28 -08:00
Yen-Sheng Ho 840f5d1ca8 working on pdr with wla 2017-02-19 10:22:15 -08:00
Yen-Sheng Ho 6cf289dadd working on pdr with wla 2017-02-19 09:55:58 -08:00
Yen-Sheng Ho 24fdcecb2d started %pdra 2017-02-19 09:20:44 -08:00
Alan Mishchenko 27caed8dc8 Experiments with SAT sweeping. 2017-02-18 20:20:50 -08:00
Alan Mishchenko 429f52ce15 Experiments with SAT sweeping. 2017-02-18 14:20:10 -08:00
Yen-Sheng Ho b93a805129 copied some functions from pdr 2017-02-18 12:43:03 -08:00
Yen-Sheng Ho 91a0a0fc3b copied pdr_mansolve 2017-02-18 10:28:16 -08:00
Yen-Sheng Ho 196b359183 started pdrIncr.c 2017-02-18 09:51:54 -08:00
Yen-Sheng Ho 1d3ff5338a added ipdr 2017-02-17 18:55:00 -08:00
Alan Mishchenko 632ca7ed11 Promising alternative of CEX minimization in 'pdr'. 2017-02-16 13:37:46 -08:00
Alan Mishchenko c7b68c5e3f Promising modification of the generalization procedure in 'pdr'. 2017-02-16 10:03:34 -08:00
Alan Mishchenko ab387953ab Word-level abstraction engine. 2017-02-15 17:16:19 -08:00
Alan Mishchenko 2a5fa67d36 Adding APIs to mark cones. Creating test-bench for incremental solving &satoko -i. 2017-02-11 17:28:37 -08:00
Alan Mishchenko 5d717256d3 Updates to the autotuner. 2017-02-10 18:14:06 -08:00
Alan Mishchenko f7a1fe88fb Merged in boschmitt/abc (pull request #51)
Modifications to satoko.
2017-02-11 01:41:19 +00:00
Alan Mishchenko 8bff9aa1cd Adding PDR with abstraction. 2017-02-10 17:36:20 -08:00
Bruno Schmitt d69735309d Merged alanmi/abc into default 2017-02-10 17:28:17 -08:00
Bruno Schmitt 342d2d9f5c New fixed point data type.
Expose all options to command line.
Expose search statistics to users.
2017-02-10 17:26:45 -08:00
Alan Mishchenko fce2b16a60 Re-introducing floating-point activity in the SAT solver. 2017-02-10 13:31:29 -08:00
Alan Mishchenko f2d096c9f0 Improving CEX minimization. 2017-02-10 13:20:20 -08:00
Alan Mishchenko d335ee096e Standardizing the use of new CNF generator. Adding CNF variable connectivity information. 2017-02-10 11:05:00 -08:00
Alan Mishchenko 7a2984bbe9 Word-level abstraction. 2017-02-09 16:38:08 -08:00
Alan Mishchenko 2fe17c1f4b Word-level abstraction. 2017-02-09 14:30:10 -08:00
Alan Mishchenko 32712ec9ab Making sure 'inv_out' can match flops by name. 2017-02-09 14:17:19 -08:00
Alan Mishchenko e20ef654d9 Word-level abstraction. 2017-02-09 13:31:07 -08:00
Alan Mishchenko 040b88a7c6 Editing output messages. 2017-02-08 19:12:57 -08:00
Alan Mishchenko 2a9902eec7 Accidental change. 2017-02-08 19:10:15 -08:00
Alan Mishchenko 778ea6bb8a Editing output messages. 2017-02-08 19:07:21 -08:00
Alan Mishchenko 1e62fb4a92 Compiler warning. 2017-02-08 18:59:07 -08:00
Alan Mishchenko 77e2b1ff53 Autotuner for 'satoko'. 2017-02-08 18:57:16 -08:00
Alan Mishchenko de4bf41c53 New command &satoko. 2017-02-08 14:10:08 -08:00
Bruno Schmitt 0fb4442a82 Small changes to support old compilers. 2017-02-06 19:50:57 -08:00
Bruno Schmitt cac3967b52 Adding a new SAT solver to ABC. (Satoko)
The command is ‘satoko’
2017-02-06 11:34:52 -08:00
Alan Mishchenko aed9a87282 Adding specialized flop ordering before generalization in 'pdr'. 2017-02-06 00:54:18 -08:00
Alan Mishchenko f34029dd09 Improvements in AIG visualization. 2017-02-05 12:28:34 -08:00
Alan Mishchenko 45bf0369a8 Adding structural flop priority heuristics in 'pdr'. 2017-02-03 19:51:53 -08:00
Alan Mishchenko 6d088bc440 Enabling new X-valued simulation in 'pdr'. 2017-02-03 17:02:36 -08:00
Alan Mishchenko e91abd6307 Improvements to inductive generalization in IC3/PDR by Zyad Hassan. 2017-02-02 16:03:40 -08:00
Alan Mishchenko a226496bf9 Adding API for generating a monitor of a set of internal signals in a sequential logic network. 2017-01-31 19:53:57 -08:00
Alan Mishchenko 452a19f70c Improvements to SMT-LIB parser (bug fixes). 2017-01-30 18:30:59 -08:00
Alan Mishchenko e21c7d72f3 Updates to arithmetic verification. 2017-01-30 08:39:26 -08:00
Alan Mishchenko 3020d57ea6 Commenting out debug code. 2017-01-29 13:39:35 -08:00
Alan Mishchenko e9566a1e3d Updates to arithmetic verification. 2017-01-29 13:37:29 -08:00
Alan Mishchenko f701a0c659 Commenting out &mfs report message. 2017-01-27 10:48:56 -08:00
Alan Mishchenko c2b805dc85 Adding visualization of word-level networks Wlc_Ntk_t. 2017-01-26 22:22:22 -08:00
Alan Mishchenko 64d7119ddc Adding visualization of word-level networks Wlc_Ntk_t. 2017-01-26 21:43:28 -08:00
Alan Mishchenko 7d82819d51 Adding visualization of word-level networks Wlc_Ntk_t. 2017-01-26 15:17:02 -08:00
Alan Mishchenko 3c8c807ac1 Improvements to SMT-LIB parser. 2017-01-26 11:56:17 -08:00
Alan Mishchenko 3119e1e30f Adding features for invariant minimization. 2017-01-25 13:56:16 -08:00
Alan Mishchenko cf1106aba8 Adding features for invariant minimization. 2017-01-24 22:28:28 -08:00
Alan Mishchenko 849f180764 Adding features for invariant minimization. 2017-01-24 20:44:25 -08:00
Alan Mishchenko 51f4dab475 Adding features for invariant minimization. 2017-01-24 20:02:19 -08:00
Alan Mishchenko cf539dcca4 Fix mismatch in output formatting. 2017-01-21 12:48:40 +08:00
Alan Mishchenko a28be94ac7 Small fixes and a change to &cec to allow two files names given as command-line arguments. 2017-01-21 11:59:01 +08:00
Alan Mishchenko 153b71c140 Updates to arithmetic verification. 2017-01-15 20:59:59 +07:00
Alan Mishchenko 1b86911c4f Updates to arithmetic verification. 2017-01-14 20:28:26 +07:00
Alan Mishchenko 79701f8b46 Updates to arithmetic verification. 2017-01-14 16:11:59 +07:00
Alan Mishchenko 6d606b51ab Updates to arithmetic verification. 2017-01-13 21:17:00 +07:00
Alan Mishchenko 1a39fb3946 Adding print-out of critical path for mapped AIGs to &show. 2017-01-13 17:32:58 +07:00
Alan Mishchenko d52dafa6c2 Updates to arithmetic verification. 2017-01-12 16:12:48 +07:00
Alan Mishchenko 55b6b4bdab Updates to arithmetic verification. 2017-01-11 16:08:23 +07:00
Alan Mishchenko fbdf28e4c9 Updated to arithmetic verification. 2017-01-09 19:50:05 +07:00
Alan Mishchenko 9514c327e3 Bug fix in delay-opt framework. 2017-01-09 11:04:48 +07:00
Alan Mishchenko feb57982a9 Change suggested by Udi Finkelstein. 2017-01-09 10:46:29 +07:00
Alan Mishchenko 3dd2325aa8 Adding an option to not add buffers to decouple COs driven by the same internal node. 2017-01-07 09:51:38 +07:00
Alan Mishchenko 460167ec74 Compiler warnings. 2017-01-07 08:57:08 +07:00
Alan Mishchenko 74c8d35f33 Updates to delay optimization project. 2017-01-02 16:29:10 +07:00
Alan Mishchenko 3f2899d6ea Compiler warnings. 2016-12-31 22:00:26 +07:00
Alan Mishchenko 01924ca118 Updates to delay optimization project. 2016-12-31 20:21:46 +07:00
Alan Mishchenko 54b4692d4b Updates to delay optimization project. 2016-12-29 21:26:02 +07:00
Alan Mishchenko b56a532682 Several changes in arithmetic circuit manipulation. 2016-12-22 17:27:32 +07:00
Alan Mishchenko cf5d4ad07f Converting some errors into warnings. 2016-12-21 15:34:02 +07:00
Bruno Schmitt 5351ab4b13 xSAT is an experimental SAT Solver based on Glucose v3(see Glucose copyrights below) and ABC C version of
MiniSat (bsat) developed by Niklas Sorensson and modified by Alan Mishchenko. It’s development has reached
sufficient maturity to be committed in ABC, but still in a beta state.

TODO:
* Read compressed CNF files.
* Study the use of floating point for variables and clauses activity.
* Better documentation.
* Improve verbose messages.
* Expose parameters for tuning.
2016-12-12 16:20:38 -02:00
Mathias Soeken 5af44731bf Merged alanmi/abc into default 2016-12-07 10:08:44 +01:00
Alan Mishchenko 3169bd96b7 Compiler warnings. 2016-12-05 17:48:21 -08:00
Alan Mishchenko 6a351c4dc0 Adding support for minimalistic representation of LUT mapping. 2016-12-05 17:45:15 -08:00
Alan Mishchenko 8ba6071a76 New SAT-based optimization package. 2016-12-04 21:59:10 -08:00
Alan Mishchenko 91aab10757 Analysis of arithmetic logic cones. 2016-12-04 13:05:51 -08:00
Alan Mishchenko b3514ee7e0 Commenting out bailout in 'print_cex' when CEX has latches initialized to 1. 2016-11-30 12:07:08 -08:00
Alan Mishchenko 329cee4981 Small changes in handling arithmetic logic. 2016-11-30 11:30:38 -08:00
Alan Mishchenko de71ef44cd New command to profile arithmetic logic cones. 2016-11-26 17:06:54 -08:00
Alan Mishchenko 6b55bf0205 New SAT-based optimization package. 2016-11-26 14:28:12 -08:00
Alan Mishchenko 64bdbe1a74 Adding switch '-c' to generate only stuck-at faults in 'faultclasses -g'. 2016-11-22 20:09:25 -08:00
Alan Mishchenko b483c97fdd Minor bug fixes. 2016-11-21 11:52:50 -08:00
Vinicius Callegaro 9f99f08d4c Merged alanmi/abc into default 2016-11-16 20:57:39 -02:00
Alan Mishchenko 71a52ae9e5 Renaming command 'detect' to be 'faultclasses'. 2016-11-10 09:38:07 -08:00
Alan Mishchenko 460a5700a5 Compiler warnings. 2016-11-09 21:19:52 -08:00
Alan Mishchenko c6afb9db63 Equivalent fault detection code. 2016-11-09 21:17:44 -08:00
Vinicius Callegaro faf8d6ecea Disjoint-support decomposition with cofactoring and boolean difference analysis
from V. Callegaro, F. S. Marranghello, M. G. A. Martins, R. P. Ribas and A. I. Reis,
entitled "Bottom-up disjoint-support decomposition based on cofactor and boolean difference analysis" presented in ICCD'15.
2016-11-08 17:00:35 -02:00
Alan Mishchenko 6cd66183e4 Isolating CBA types into a separate header. 2016-11-08 06:13:47 -08:00
Alan Mishchenko 85abb6bde7 Isolating CBA types into a separate header. 2016-11-07 09:39:29 -08:00
Mathias Soeken f9b7e92904 Exact synthesis. 2016-11-02 19:27:12 +01:00
Mathias Soeken 16109b11f6 Exact synthesis. 2016-10-29 09:34:34 +02:00
Mathias Soeken bab90943dc Exact synthesis. 2016-10-26 17:54:00 +02:00
Mathias Soeken 0a87e72c6d Exact synthesis. 2016-10-26 13:36:29 +02:00
Mathias Soeken a25faed14c Merged alanmi/abc into default 2016-10-26 13:31:28 +02:00
Alan Mishchenko 76c4d22229 Parser for JSON format. 2016-10-25 17:17:37 -07:00
Mathias Soeken f47a4377e4 Exact synthesis. 2016-10-25 16:28:02 +02:00
Alan Mishchenko f5069d6675 Code for profiling arithmetic circuits. 2016-10-21 17:50:05 -07:00
Alan Mishchenko 40375f8b93 Updates to arithmetic verification. 2016-10-09 19:38:30 -07:00
Alan Mishchenko 50e324ce11 Adding switch &mfs -b to preserve white boxes during optimization. 2016-10-07 18:05:20 -07:00
Alan Mishchenko eb65c01888 Change Verilog reader to take a string rather than file name. 2016-10-06 22:04:11 -07:00
Alan Mishchenko c01f5fc4e0 Adding module name when reading SMT-LIB from stdin. 2016-10-02 11:14:34 -07:00
Alan Mishchenko 7f3842e186 Bug fix in SMT parser. 2016-10-02 11:11:10 -07:00
Alan Mishchenko 44550a67fa Bug fix in the SMT parser to address multi-argument operators and large constants. 2016-09-30 19:55:21 -07:00
Alan Mishchenko 50da7c290c Compiler warnings. 2016-09-30 14:40:07 -07:00
Mathias Soeken f5be157583 Merged alanmi/abc into default 2016-09-29 22:10:16 -07:00
Alan Mishchenko 9a35f82d5f Supporting 'define-fun' with an expression rather than a constant. 2016-09-29 18:00:52 -07:00
Alan Mishchenko 4f0f2e09f8 Adding flag 'pdr -e' to output only support variables in the invariant. 2016-09-28 16:27:39 -07:00
Mathias Soeken e601df9dea Some fixes in BMS. 2016-09-14 10:06:00 +02:00
Mathias Soeken bb8e1808e6 New search strategy in BMS. 2016-09-14 09:53:06 +02:00
Mathias Soeken 452303b77a Updates to BMS. 2016-09-10 14:23:43 +02:00
Mathias Soeken b44c519620 Fix in BMS. 2016-09-09 15:39:33 +02:00
Mathias Soeken 2f2ed1bce1 Fixes in BMS. 2016-09-09 12:40:55 +02:00
Mathias Soeken 5b2472d4b7 Missing case in BMS. 2016-09-09 12:08:52 +02:00
Mathias Soeken 6d7f2c4d54 Improvements to BMS. 2016-09-09 11:51:53 +02:00
Mathias Soeken b11406c566 Merged alanmi/abc into default 2016-09-09 11:49:43 +02:00
Alan Mishchenko ca93730781 Experimental code for polynomial construction. 2016-09-05 23:54:44 +03:00
Alan Mishchenko 198fe99416 Experimental code for polynomial construction. 2016-09-05 23:47:58 +03:00
Mathias Soeken a46af9de7b Improvements to BMS. 2016-08-29 22:40:30 +02:00
Mathias Soeken 7e3032c0dd Improvements to BMS. 2016-08-29 13:37:29 +02:00
Mathias Soeken 2d71abd581 Symmetric variables in BMS. 2016-08-28 13:44:59 +02:00
Mathias Soeken 610fcb2712 Improvements to BMS. 2016-08-26 09:45:52 +02:00
Mathias Soeken e5636522bf BMS fixes and start gates parameter. 2016-08-25 10:56:59 +02:00
Mathias Soeken 360e85fce2 Fix errors in BMS. 2016-08-24 17:08:06 +02:00
Mathias Soeken fcf3335041 Improvements to BMS. 2016-08-24 15:03:52 +02:00
Mathias Soeken ea3836ea5d Improvements to BMS. 2016-08-24 09:29:02 +02:00
Mathias Soeken db1daf7b8a Merged alanmi/abc into default 2016-08-24 09:28:21 +02:00
Mathias Soeken 30b3a7ab91 BMS: Store I/O, better implications to stop search. 2016-08-22 10:57:38 +02:00
Mathias Soeken 6e7fb2ea52 BMS: restart solver instead of re-allocating it. 2016-08-21 19:28:55 +02:00
Mathias Soeken 8ec44da3fb More logging in exact synthesis. 2016-08-21 18:13:57 +02:00
Mathias Soeken 9bb5a2dd0d Merged alanmi/abc into default 2016-08-21 18:12:05 +02:00
Mathias Soeken 9ac7b05e2a Fix compile errors when using namespace with clang. 2016-08-19 13:24:29 +02:00
Mathias Soeken 792e7e662d Merge with parent. 2016-08-18 10:32:17 +02:00
Alan Mishchenko 118eea8465 Changes to report quantum cost in Exorcism. 2016-08-17 21:26:16 +09:00
Mathias Soeken 433b9fe722 Missing code for CLI integration. 2016-08-16 18:55:20 +02:00
Mathias Soeken 85c751fbb8 Functions to compute T-count. 2016-08-16 18:46:45 +02:00
Mathias Soeken 2f149364eb Provide number of max cubes as parameter. 2016-08-16 18:33:53 +02:00
Mathias Soeken 0d1786d829 Don't output if not verbose. 2016-08-16 18:32:42 +02:00
Mathias Soeken 821029038d Used wrong truth table function in exact synthesis. 2016-08-16 08:20:28 +02:00
Mathias Soeken 077f8bdbb8 Merged alanmi/abc into default 2016-08-16 08:16:30 +02:00
Alan Mishchenko b83c6aaf97 Fix compiler problems by #including the header from FXCH package. 2016-08-16 11:20:43 +09:00
Mathias Soeken baca7e477f Fixes to exact synthesis. 2016-08-15 16:20:30 +02:00