1

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

1 Answers1

3

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.

Edited:

The misII documentation is available online.

Interactive sample session with misII:

misII> read_eqn
z = (a+b+c)(d+e)f+g;
^Z
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)
Axel Kemper
  • 4,943
  • 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. – John Roberts Mar 16 '13 at 03:24
  • 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. – Axel Kemper Mar 16 '13 at 09:21
  • I take it back. Good work man. – John Roberts Mar 16 '13 at 13:53
  • Would you happen to know how to use the gkx function as well? I can't seem to get it to work. – John Roberts Mar 16 '13 at 15:27
  • 1
    No, I don't have more information than source code and manual (page 13): http://www2.engr.arizona.edu/~veda/cadtools/sis/tutorials/sis.pdf 'gkx -?' gives a short help – Axel Kemper Mar 16 '13 at 16:05
  • The manual page is named "Page 50", but it is the 9th page in the file. See also http://pages.cs.wisc.edu/~david/courses/cs755/cs755/UCBtools/other/octtools/lib/misII/lib/help/gkx.fmt – Axel Kemper Mar 16 '13 at 16:15