An open API service indexing awesome lists of open source software.

https://github.com/kumbong/quinemccluskey

A robust, insanely fast and stupidly easy to use CLI tool for minimizing circuits via the Quine Mccluskey method.
https://github.com/kumbong/quinemccluskey

digital-electronics python3 quine-mccluskey-algorithm

Last synced: 12 months ago
JSON representation

A robust, insanely fast and stupidly easy to use CLI tool for minimizing circuits via the Quine Mccluskey method.

Awesome Lists containing this project

README

          





Quine McCluskey Circuit Minimizer.









A robust, insanely fast and stupidly easy to use CLI tool for minimizing sum of products via the Quine Mccluskey minimization technique.

## Features :gem:
* Written in uncomplicated python :innocent:
* Supports don't cares and variables for representing expression
* Display of all steps leading to solution :droplet:
* Works on Mac, Linux and Windows
* Provides all other alternative solutions to the minimization problem

## Installation :package:
1. Clone the repo
```bash
git clone https://github.com/Kumbong/quine_mccluskey.git
cd quine_mccluskey
```
2. Install dependencies
```bash
pip install -r requirements.txt
```

## Usage :computer:
You can use the following optional arguments according to your needs:

* `-d`, `--dcares` (list of numbers): **list of dont't cares (default=[ ])**
* `-v`, `--variables` (list of chars): **list of characters for representing result (default = [ ])**
* `-s`, `--show_steps` (yes|no): **show steps leading to solution (default=yes)**
* `-p`, `--sop` (sum of products): **sum of products are used to be reduce the function**
* `-m`, `--minterms` (minterms): **sum of minterms are used to be reduce the function**

Example
```bash
python -m qmccluskey -m 0,1,3,7,8,9,11,15 -d 12 -v a,b,c,d
python -m qmccluskey -p a'b'c'+b'cd'+a'bcd'+ab'c' -v a,b,c,d
```
## Demo :movie_camera:
Solution for the the Example above

![](assets/images/grouping.png)
![](assets/images/combining.png)
![](assets/images/coverage.png)
![](assets/images/solution.png)

## Contributing :gift: [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/dwyl/esta/issues)
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.

## Want to talk more??
If you are interested in helping or have something to suggest or just want to chat with me, you can reach me via email: kumbonghermann@gmail.com

## References :book:
* Petrick's method
https://en.wikipedia.org/wiki/Petrick%27s_method
* quine mccluskey also in python
https://github.com/tpircher/quine-mccluskey
* readme.md
https://github.com/karan/joe

## Todos :pencil:
- Complete GUI module
- Write tests
- Include steps for petrick's method

License :key:
----

MIT © Kumbong Hermann