4. Pamięci i inne układy o strukturze matrycowej

4.14. Układy PLA

Zauważmy, że wnętrze pamięci ROM może być uważane za zespół bramek NOR, bowiem do każdej linii bitu dołączona jest równolegle pewna liczba tranzystorów nMOS, tak samo jak równoległe połączenia tranzystorów nMOS w statycznych bramkach NOR (patrz punkt 3.2.2 w części pierwszej). 

To spostrzeżenie prowadzi do wniosku, że wykorzystując bramki NOR takie, jak w pamięciach ROM, i tworząc z nich regularne struktury przypominające matryce pamięci, można realizować funkcje kombinacyjne w uporządkowanej, regularnej formie. Takie układy istnieją i zwane są zwykle układami PLA (ang. Programmable Logic Arrays). Nie jest to najoszczędniejszy i najbardziej korzystny z punktu widzenia szybkości działania sposób realizacji funkcji kombinacyjnych. Jego wielką zaletą jest jednak regularność budowy układu umożliwiająca łatwą automatyzację projektowania.

Typowy układ PLA składa się z dwóch matryc i pozwala łatwo realizować funkcje kombinacyjne wyrażone w postaci sumy iloczynów. Pierwsza matryca realizuje iloczyny i bywa nazywana matrycą AND, druga realizuje sumy i bywa nazywana matrycą OR. Obie w rzeczywistości składają się z bramek NOR. Funkcja wyrażona jako suma iloczynów zawsze może być przekształcona do postaci, w której występują tylko bramki NOR i inwertery.
 

Rysunek 4 14. Ogólny schemat układu PLA

 

Przekształcenie funkcji logicznej do postaci, która umożliwia realizację tej funkcji w układzie PLA, najłatwiej zilustrować prostym przykładem. Przyjmijmy, że należy zbudować układ PLA realizujący funkcję

X=AB+C

Y=AB+\bar{C}D+\bar{A}C

Funkcję tę można zapisać w równoważnej logicznie postaci

X=\overline{\overline{\left(\overline{A} +\overline{B}\right)} +C}

Y=\overline{\overline{\left(\overline{A} +\overline{B}\right)} +\overline{\left( C+\overline{D}\right)} +\overline{\left( A+\overline{C}\right)}}

która prowadzi do następującego schematu:

 

Rysunek 4 15. Przykładowa struktura układu PLA

 

Jeśli bramki NOR zostaną zbudowane tak, jak w wersji statycznej pamięci ROM (tj. ze statycznym obciążeniem tranzystorem pMOS)

 

Rysunek 4 16. Realizacja funkcji NOR dla matrycy PLA

 

otrzymujemy schemat układu w postaci:

 

Rysunek 4 17. Przykładowy kompletny układ PLA

 

Regularność budowy układu PLA umożliwia łatwą automatyzację projektowania. Mając funkcję logiczną w postaci sum iloczynów można od razu określić, na których skrzyżowaniach wierszy i kolumn w matrycach "AND" i "OR" mają się znaleźć tranzystory. Wadą tego sposobu realizacji funkcji kombinacyjnych jest duża powierzchnia układu PLA - zauważmy, że jest w nim więcej pustych skrzyżowań, niż tranzystorów. Można co prawda powierzchnię trochę zmniejszyć, na przykład usuwając całkowicie niewykorzystane linie, jednak układ zbudowany w tradycyjny sposób z bramek NOR, NAND i inwerterów zapewne zająłby znacznie mniej miejsca.

Układ z bramkami obciążanymi statycznie ma tę wadę, że pobiera prąd, gdy przynajmniej jeden tranzystor nMOS jest włączony. Można tej wady uniknąć stosując bramki dynamiczne typu DOMINO, co jednak znacznie komplikuje układ.

Układy PLA były niegdyś bardzo pospolicie stosowane do projektowania złożonych układów kombinacyjnych, np. układów sterowania w mikroprocesorach. Obecnie ich znaczenie bardzo zmalało, bowiem układy kombinacyjne można również projektować w sposób zautomatyzowany wykorzystując komórki standardowe. Daje to na ogół mniejszą powierzchnię i porównywalne lub lepsze parametry elektryczne (szybkość, pobór mocy).