Skip to content

Kumbong/QuineMcCluskey

Repository files navigation

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 💎

  • Written in uncomplicated python 😇
  • Supports don't cares and variables for representing expression
  • Display of all steps leading to solution 💧
  • Works on Mac, Linux and Windows
  • Provides all other alternative solutions to the minimization problem

Installation 📦

  1. Clone the repo
   git clone https://github.com/Kumbong/quine_mccluskey.git
   cd quine_mccluskey
  1. Install dependencies
   pip install -r requirements.txt

Usage 💻

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

    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 🎥

Solution for the the Example above

Contributing 🎁 contributions welcome

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 📖

Todos 📝

  • Complete GUI module
  • Write tests
  • Include steps for petrick's method

License 🔑

MIT © Kumbong Hermann

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages