I've got quite an unusual hobby project and so far, after couple of nights googling, I haven't found software that would fit the bill. I've got the truth table representing what I'd like to do and can minimize & map it to gates using Logic Friday. The problem is, I don't have NOR or NAND available and Logic Friday won't map to gates without checking one of those as "available". Of course, I can construct those with the gates I have, so Logic Friday gives me a solution. Sadly, that solution is not very optimal because the program thinks that a NOR is just one gate, when in reality, I'd have to use a NOT and a OR. Another issue is that I've got some gates(the prime offender being the ANDNOT (p & !q) ) that are not even listed in the menu to select. Therefore, i can't take advantage of those easily and even if i did, the result would probably be less than optimal. With the problem size i have, i think i could write something that would brute force every combination of gates from a predefined set and output the one that produces the correct output with the least amount of gates, but i really don't feel like doing that if can avoid it.