qm (version 0.2)
index
/home/dickrp/svn/support/python/qm/qm.py

Quine-McCluskey two-level logic minimization method.
 
Copyright 2008, Robert Dick <dickrp@eecs.umich.edu> with improvements
from Pat Maupin <pmaupin@gmail.com>.
 
Routines to compute the optimal sum of products implementation from sets of
don't-care terms, minterms, and maxterms.
 
Command-line usage example:
  qm.py -o1,2,5 -d0,7
 
Library usage example:
  import qm
  print qm.qm(ones=[1, 2, 5], dc=[0, 7])
 
Please see the license file for legal information.

 
Modules
       
math

 
Functions
       
active_primes(cubesel, primes)
Return the primes selected by the cube selection integer.
b2s(i, vars)
Convert from an integer to a binary string.
bitcount(s)
Return the sum of on bits in s.
compute_primes(cubes, vars)
Compute primes for the given set of cubes and variable count.
is_cover(prime, one)
Return a bool: Does the prime cover the minterm?
is_full_cover(all_primes, ones)
Return a bool: Does the set of primes cover all minterms?
merge(i, j)
Return cube merge.  'X' is don't-care.  'None' if merge impossible.
qm(ones=[], zeros=[], dc=[])
Compute minimal two-level sum-of-products form.
Arguments are:
        ones: iterable of integer minterms
        zeros: iterable of integer maxterms
        dc: iterable of integers specifying don't-care terms
 
For proper operation, either (or both) the 'ones' and 'zeros'
parameters must be specified.  If one of these parameters is not
specified, it will be computed from the combination of the other
parameter and the optional 'dc' parameter.
 
An assertion error will be raised if any terms are specified
in more than one argument, or if all three arguments are given
and not all terms are specified.
unate_cover(primes, ones)
Return the minimal cardinality subset of primes covering all ones.
 
Exhaustive for now.  Feel free to replace this with an efficient unate
covering problem solver.

 
Data
        __author__ = 'Robert Dick'
__author_email__ = 'dickrp@eecs.umich.edu'
__version__ = '0.2'

 
Author
        Robert Dick