From: Noam Elbaum
Subject: finding minterms - using recursion
Date: 
Message-ID: <36D18A9A.519525FE@ic.co.il>
Hi,

I'm doing a project about logic synthesis.

I have a logic-function and the variables which participate in this
logic-function.

I need to figure out the minterms (i.e. the combination of variables
which this logic-function gives '1'-logic).

There are couple of ways to do this for example:
making a loop from 0 to 2^(number-of-variables) [note: the number of
variables are not fixed]
transelating the decimal number to binary
(e.g. if the variables are (a b c) and i'm in the 6'th time of the loop
i can assign a->1 b->nil c->1 [starting from 0 the 6'th itteration is
number 5])
evaluating the logic function according to the above assigment
(eval logic-function)

if true then add to list of minterms.


I'm looking for a more elegant way of finding those minterms using
recursion.

Thanks,

Noam
From: Winton Davies
Subject: Re: finding minterms - using recursion
Date: 
Message-ID: <wdavies-0803991719340001@induction.stanford.edu>
Hi Noam,

  Depending on your platform, why noty just hook lisp using FFI into
Espresso ? Won't get any better than that for finding minterms...

Berkeley has Unix version of Espresso for download. I have a Mac shareable
library version. Not re-entrant, but hey...

 Cheers,
  Winton