19 de agosto de 2014

Espresso

Espresso is a software for reducing the complexity of digital electronic gate circuits.

I've discovered it by chance, it's oldie, but useful!, so here an example just as a reminder.

Simple usage


One step: put a truth table in a text file

#  test.txt
#  It's plain text, and these are of course comments.
.i 4 # number of inputs
.o 4 # number of ouputs 
.ilb A B C D # input labels
.ob F G H I  # output labels
#The truth table. 
#On the left the inputs, on the right the outputs
#'-' means 'any value'

0 0 0 0 1 1 0 0
0 0 0 1 1 0 0 1
0 0 1 0 1 0 1 0
0 0 1 1 0 0 1 1
0 1 0 0 1 1 0 0
0 1 0 1 0 1 0 1
0 1 1 0 0 1 1 0
0 1 1 1 - - - -
1 0 0 0 1 1 0 0
1 0 0 1 1 0 0 1
1 0 1 0 1 0 1 0
1 0 1 1 - - - -
1 1 0 0 1 1 0 0
1 1 0 1 - - - -
1 1 1 0 - - - -
1 1 1 1 - - - -
.e

Ready, now get the equations !


>expresso.exe -o eqntott test.txt
F = (!B&C&!D) | (!B&!C&D) | (!C&!D);
G = (B&C) | (B&D) | (!C&!D);
H = (B&C) | (!B&C&!D) | (C&D);
I = (B&D) | (!B&!C&D) | (C&D);

done!


Here is a download link :
http://sontrak.com/download/espresso.zip

Here there is also a GUI tool
http://sontrak.com/index.html


Espresso copyright © 1988-1993, Regents of the University of California.