-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathREADME
59 lines (51 loc) · 1.89 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#
#
# README
#
[*] Summary
An implementation of Quine-McCluskey algorithm
Simplification of logical expressions
[*] Build
Just run make command
$ make
./qm, the executable will be created
if you need to specify a compiler
$ make CXX="COMPILER YOU WANT TO USE"
[+] Requirements
[+] Compile Time
[*] Make
[*] C++11 compiler
[*] Boost C++ Libraries
Almost all the libraries used by this are header-only.
But you need to build boost_regex and boost_program_options
Go to www.boost.org and get the source code to build it
[+] Run time
[*] Nothing. Just run it
[+] Tested environments
[+] Compiler
[*] gcc 4.6.3 / 4.7.1
[*] clang version 3.1 / 3.2 (trunk 159072)
[+] Operating System
[*] Linux 3.4.6-1-ARCH i686 GNU/Linux (Arch Linux)
[*] Linux 3.2.0-26-generic-pae i686 GNU/Linux (Ubuntu 12.04)
[+] Libraries
[*] Boost C++ Libraries 1.49.0 / 1.50.0 / 1.51.0
[+] Supported form(s) of expression
[*] White spaces are ignored
[+] Supported form is below:
[*] In pseudo BNF
-------------------------------------------------------------------------------------------
<function> ::= <func-name> '('<var-decl>')' '=' <expression>
<func-name> ::= [A-Za-z_-]+
<var-decl> ::= ([A-Z],)+ [A-Z]
<expression> ::= <expression> + <expression> | <expression> + <term> | <term> + <term>
<term> ::= (\^?[A-Z])+
-------------------------------------------------------------------------------------------
[*] Samples
Input samples exist in sample/in[1-6].txt
Also the expected output of each samples are in sample/out[1-6].txt
[*] License:
The content of this repository is licensed under The BSD 2-Clause License
[*] TODO
Modify the simplifier for more optimization
Support Verilog source code