Jako zdroj dat pro načítání logických funkcí jsou použity soubory typu PLA formátu Espresso, zde se krátce zmíníme o jejich struktuře. Pomocí PLA, lze reprezentovat logickou funkci ve formátu DNF.

Na začátku souboru se nachází klíčová slova, která popisují strukturu a vlastnosti souboru. Po nich jsou vypsány řádky se součinovými termy. Celou funkci potom dostáváme jako logický součet všech těchto řádků (termů).


{\bf Klíčová slova}

V následujících definicích [d] znamená celé desítkové číslo a [s] znamená řetězec. Každý soubor jich může obsahovat různý počet, ovšem dvě jsou vyžadovány vždy.

Jsou to :

{\bf .i} [d]  udává počet vstupních proměnných

{\bf .o} [d]  udává počet výstupních proměnných

dále může obsahovat :

{\bf .mv} $[num_var] [num_binary_var] [d_{1}] ... [d_{n}]$
specifikuje počet proměnných, počet binárních proměnných a velikost každé
vícehodnotové proměnné [d1 ... dn].

{\bf .ilb} $[s_{1}] [s_{2}] . . . [s_{n}]$
pojmenovává binární proměnné. Musí následovat po .i a .o(nebo po .mv). Názvů
musí být stejný počet jako vstupních proměnných.

{\bf .ob} $[s_{1}] [s_{2}] . . . [s_{n}]$
pojmenovává výstupní funkce. Musí následovat po .i a .o(nebo po .mv). Názvů musí
být stejný počet jako výstupních proměnných.

{\bf .label} var=$[d] [s_{1}] [s_{2}] ...$
u vícehodnotové logiky specifikuje názvy proměnné.

{\bf .type} [s]
nastavuje logickou interpretaci charakteristické matice. Nabývá hodnot f, r, fd, fr, dr, nebo fdr.

{\bf .phase} [s]
[s] je string tolika 0 nebo 1, kolik je výstupních funkcí. Specifikuje polaritu pro každou výstupní funkci, která se má použít pro minimalizaci( 1 specifikuje ON-set a 0 specifikuje OFF-set výstupní funkce ).

{\bf .pair} [d]
specifikuje počet párů proměnných, které spolu budou párovány použitím
dvoubitových dekodérů.

{\bf .symbolic} $[s_{0}] [s_{1}] . . . [s_{n}]$ , $[t_{0}] [t_{1}] . . . [t_{m}]$ specifikuje, že binární proměnné $[s_{0}$ až $[s_{1}$ jsou považovány za jednu vícehodnotovou proměnnou.

{\bf .symbolic-output} $[s_{0}] [s_{1}] . . . [s_{n}]$ , $[t_{0}] [t_{1}] . . . [t_{m}]$ specifikuje, že výstupní funkce [s0] až [sn] jsou považovány za jednu symbolickou výstupní funkci.

{\bf .kiss}
nastavuje se pro kiss minimalizaci

{\bf .p} [d]
specifikuje počet součinových termů. Tyto termy následují ihned po tomto klíčovém slovu.

{\bf .e} (.end)
značí konec PLA popisu

Pro naše účely vystačíme s .i, .o (vždy bude 1), může následovat .ilb a .ob, počet termů může být explicitně vyjádřen klíčovým slovem .p nebo se zjistí z počtu řádků termů. Konec PLA popisu také není povinný, potom jeho funkci přebírá konec souboru. Každý řádek (term) obsahuje vektor hodnot vstupních proměnných, které nabývají hodnot 1, 0, a "-". Jednička znamená, že daný literál se v termu vyskytuje v nenegované podobě, 0 v negované podobě a konečně "-" daný literál se v termu nevyskytuje. Následuje mezera a výstupní hodnota funkce (pro naše účely bude funkce zadána onsetem, tudíž výstup bude vždy 1).