Is there any (free) software available that calculates all the possible kernel/co-kernel pairs of a boolean expression?


1 Answer 1


A free tool is misII - Multiple-level Combinational Logic Optimization Program. It is contained in the Windows freeware package Logic Friday 1 or in the Berkeley Octtools.

The terms Kernel and Co-Kernel are explained here.


The misII documentation is available online.

Interactive sample session with misII:

misII> read_eqn
z = (a+b+c)(d+e)f+g;
misII> print_kernel -as z
Subkernels of {z}
(a f + b f + c f) * (d + e)
(d f + e f) * (a + b + c)
misII> print_kernel -a z
Kernels of {z}
(a f) * (d + e)
(b f) * (d + e)
(c f) * (d + e)
(d f) * (a + b + c)
(e f) * (a + b + c)
(f) * (a d + a e + b d + b e + c d + c e)
(-1-) * (a d f + a e f + b d f + b e f + c d f + c e f + g)
  • $\begingroup$ I have Logic Friday - I don't believe it does kernel and co-kernel calculations. I haven't used Octtools, but I don't see any evidence on their website that it does this either. I'm not looking for logic optimization, but for one specific step of it. $\endgroup$ Mar 16, 2013 at 3:24
  • $\begingroup$ Below the 'Logic Friday 1' installation directory there is a misII directory. Look into the misII help file to find out how the 'print kernels' operation works. $\endgroup$ Mar 16, 2013 at 9:21
  • $\begingroup$ I take it back. Good work man. $\endgroup$ Mar 16, 2013 at 13:53
  • $\begingroup$ Would you happen to know how to use the gkx function as well? I can't seem to get it to work. $\endgroup$ Mar 16, 2013 at 15:27
  • 1
    $\begingroup$ No, I don't have more information than source code and manual (page 13): www2.engr.arizona.edu/~veda/cadtools/sis/tutorials/sis.pdf 'gkx -?' gives a short help $\endgroup$ Mar 16, 2013 at 16:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .