0

I'm just getting started learning pyeda, and fairly new to python in general. I have a very complex partially-defined Boolean expression (80~140 variables, 10K terms) that's too big to express as a truth table, but I can express it pretty easily as two DNF's (1 DNF that describes defined ON and OFF sets, and 1 DNF that describes the DC set). My problem is that pyeda offers only to APIs:

  • espresso_exprs accepts a list of DNF's and seems to assume these are fully-defined expressions because there's apparently no consideration of DC terms.
  • espresso_tts accepts a linearized truth table, potentially with DC terms.

Is there any way to specify a DC DNF or cover when calling espresso with pyeda?

My current work around is to solve for the sum of both DNF's and then to try to drop any terms that only cover DC's, but I'm not sure if that's working correctly yet and anyway I believe this approach is probably relatively inefficient.

p.s.w.g
  • 146,324
  • 30
  • 291
  • 331
  • 1
    Being in a similar situation the only workaround I have found is to call the espresso extension directly and first dump the information into a pla file, parse it and process it. Hope that helps! – Ralph Apr 03 '23 at 13:21
  • @Ralph Thank you. This is exactly what we're doing today. It actually worked out well because it gives us a little bit of a 'paper trail' but seems to add a _very slight_ overhead to processing time. – p.s.w.g Apr 19 '23 at 17:52

0 Answers0