Espresso, iki
değerli (veya çok değerli) Boolean fonksiyonlarının gösterimlerini giriş olarak
alır ve çıkış olarak bu gösterimin minimal ifadesini bulur. Espresso verilen
dosyayı (eğer dosya adı verilmemişse standart girişi) okur, iki seviyeli
indirgeme işlemini gerçekleştirir ve standart çıkışa minimize edilmiş sonucu
yazar. Espresso minimize edilen fonksiyonun orijinal fonksiyona denk olduğunu
otomatik olarak ispatlar. Espresso’nun
komut
seçenekleri ile çok amaçlı indirgemeler gerçeklenebilir.
Espresso giriş
olarak
PLA
formatını kabul eder. Örnek olarak 2 bitlik 2 sayının toplamını
gerçekleştiren 3 çıkışlı devrenin doğruluk tablosunun PLA formatındaki ifadesi
şu şekildedir.
.i 4 % giriş sayısı
.o 3 % çıkış sayısı
.ilb a1 a0 b1 b0 % giriş etiketleri
.ob c s1 s0 % çıkış etiketleri
.p 16 % Doğruluk tablosunu ifade eden
asal bileşen sayısı
0000 000
0001 001
0010 010
0011 011
0100 001
0101 010
0110 011
0111 100
1000 010
1001 011
1010 100
1011 101
1100 011
1101 100
1110 101
1111 110
.e % Son
Espresso
kullanarak elde edilen minimal sonuç:
.i 4
.o 3
.ilb a1 a0 b1 b0
.ob c s1 s0
.p 11
0101 010
1111 010
1-00 010
0-10 010
100- 010
001- 010
-111 100
11-1 100
-1-0 001
-0-1 001
1-1- 100
.e
Sonuç olarak, c, s1 ve s0 çıkışlarının Boolean ifadeleri şu şekildedir:
s0: a0.b0’ + a0’.b0
s1: a1’.a0.b1’.b0 + a1.a0.b1.b0 + a1.b1’.b0’ + a1’.b1.b0’ + a1.a0’.b1’ + a1’.a0’.b1
c: a0.b1.b0 + a1.a0.b0 + a1.b1