Reputation: 41
I need an algorithm that, when given any number of boolean expressions, with any number of variables, can do multi-level logic minimization to give a set of boolean functions.
Wikipedia briefly mentions multi-level representations and gives an example, but doesn't explain how to do it, and I can't find it anywhere else either.
Edit: to clarify, it needs to work on systems with multiple outputs, merging parts of the outputs' boolean expressions to minimize the number of required logic gates.
Wikipedia gives the following example:
F1 = AB + AC + AD
F2 = A`B + A`C + A`E
A functionally equivalent multilevel representation can be:
P = B + C
F1 = AP + AD
F2 = A`P + A`E
This reduces the number of logic gates required by reusing B + C.
I'm looking for an algorithm to do this with any number of inputs and outputs and produce the a functionally equivalent multilevel representation with the minimum possible number of logic gates. Apologies if any of my terminology was/is off.
Upvotes: 4
Views: 654
Reputation: 2739
I believe what you want is Quine-McCluskey algorithm, which has an exponential complexity. The idea is to generate a truth table and combine minterms. The linked wikipedia provides a clear explanation on how the algorithm works.
Upvotes: 0