PODSTAWY AUTOMATYZACJI CZ 3 SYNTEZA UKADW LOGICZNYCH Bramki
PODSTAWY AUTOMATYZACJI CZ. 3 SYNTEZA UKŁADÓW LOGICZNYCH
Bramki logiczne Praktyczna realizacja tzw: funktatora logicznego, elementu realizującego fizycznie prostą funkcję logiczną, której argumenty (zmienne logiczne) oraz sama funkcja mogą przybierać tylko jedną z dwóch wartości, np. 0 lub 1 (stan niski lub stan wysoki) Współcześnie występują zwykle w postaci układów scalonych w technologii CMOS, ale mogą to być realizowane przez układy mechaniczne, hydrauliczne pneumatyczne. Realizacja bramki NAND HEF 4093 BP NAND
Bramki logiczne Bufor podstawowa bramka logiczna, na wyjściu daje ten sam stan, który jest na wejściu f(a)=a. Bufor wprowadzająca tylko opóźnienie i wyrównuje pracę wejść innych bramek Zjawisko hazardu
Bramki logiczne Bramki podstawowe wykonujące podstawowe operacje logiczne, do tworzenia tzw. układów zupełnych SUMA „OR” ALTERNATYWA ILOCZYN „AND” KONIUNKCJA NEGACJA „NOT”
Bramki logiczne bramki funkcjonalnie pełne Jak zrealizować dowolną funkcję logiczną za pomocą NAND NOR ? (przykłady)
Bramki logiczne Bramki złożone - wykorzystywana jest w układach arytmetyki takich jak sumatory czy subtraktory
Bramki logiczne Unormowany zapis graficzny bramek
Bramki logiczne Czasy propagacji
Mechaniczny inwerter – bramka NOT 500 Hz przy 550°C Bramki na strukturach krzemowych: TTL 20 MHz CMOS 40 MHz do 300°C
Synteza układów logicznych Układ kombinacyjny - rodzaj układów cyfrowych, w których stan wyjść zależy wyłącznie od stanu wejść. Stan wyjść opisują tzw. funkcje boolowskie, których argumentami są stany wejść. • Brak sprzężeń zwrotnych (jak w układach sekwencyjnych). • Są używane do budowy między innymi multiplekserów, komparatorów, demultiplekserów, mikroprocesorów, sterowników matryc LED itp… W opisie funkcji boolowskich używa się wartości ze zbioru {0, 1, -}. 0 i 1 są tutaj umownymi oznaczeniami dla wartości funkcji (nie liczbowe!) Kreska (-) oznacza, że funkcja boolowska nie jest określona
Synteza układów logicznych ETAP 1: Zdefiniowanie f. logicznej 1. Opis słowny : dla prostych funkcji, o specyficznych własnościach 2. Utworzenie tablicy prawdy 3. Zapis kanoniczny na podstawie tablicy prawdy • Suma iloczynów elementarnych • Iloczyn sum elementarnych ETAP 2: Minimalizacja funkcji logicznej • uproszczenia elementarne z algebry Bool’a • reguły „sklejania” na siatkach Karnaugh ETAP 3 : Realizacja przy pomocy bramek lub innych języków programowania logicznego
Synteza układów logicznych ETAP 1: Zdefiniowanie f. logicznej 1. Opis słowny „pompa pracuje, gdy czujnik X 1 oraz czujnik X 2 mają przeciwne stany„ „napęd musi się zatrzymać gdy krańcówka K 1 jest załączona lub wciśnięty jest przycisk STOP” 2. Utworzenie tablicy prawdy • Wypisanie wszystkich kombinacji zmiennych wejściowych (argumentów funkcji logicznej) • Przypisanie stanu wyjściowego (wartości funkcji) dla każdej kombinacji argumentów - wymaga znajomości działania realizowanego układu! Stan nieokreślony „-” może oznaczać dowolną wartość funkcji logicznej, nieistotną dla działania układu, np. kombinację zmiennych, która na pewno nigdy nie wystąpi. Stany te mogą być też rozpatrywane jako stany awaryjne!
Synteza układów logicznych ETAP 1: Zdefiniowanie f. logicznej 3. Zapis kanoniczny na podstawie tablicy prawdy • Suma iloczynów elementarnych zawiera sumę wszystkich iloczynów pełnych (implikantów) pomnożonych przez wartości funkcji f = (f 1 ∙ x 1∙x 2 ∙ … ∙ xn)+ (f 2 ∙ x 1∙x 2 ∙ … ∙ xn)+ (f 3 ∙ x 1∙x 2 ∙ … ∙ xn)… § § Implikanty mnożone przez 0 „znikają” w równaniu dla zmiennych wejściowych w stanie 0 stosuje się negację np. • Iloczyn sum elementarnych zawiera iloczyn wszystkich sum pełnych (implicentów) zsumowanych z wartościami funkcji f = (f 1+x 2+…+xn) ∙ ( f 2 +x 1+x 2+…+xn) ∙ ( f 3 +x 1+x 2+…+xn)… § § np. Implicenty zsumowane z 1 „znikają” w równaniu dla zmiennych wejściowych w stanie 1 stosuje się negację
Synteza układów logicznych ETAP 1: Zdefiniowanie f. logicznej 3. Zapis kanoniczny na podstawie tablicy prawdy PRZYKŁAD
Synteza układów logicznych ETAP 2: Minimalizacja funkcji logicznej …to problem uproszczenia funkcji do minimalnej zwięzłej postaci, która pod względem logicznym będzie równoważna początkowej funkcji w postaci kanonicznej. 1. uproszczenia elementarne z wykorzystaniem reguł algebry Bool’a • Dopełnienie zmiennej 5. Rozdzielność • Działania ze stałymi 6. Prawa De Morgana • Przemienność 7. Podwójna negacja • Łączność cd. .
Synteza układów logicznych ETAP 2: Minimalizacja funkcji logicznej …cd • Reguła pochłaniania • Reguła sklejania § Reguła przydatna przy upraszczaniu postaci kanonicznych funkcji logicznej. § Zależności te wykorzystuje metoda siatki Karnaugh (graficzne wyznaczanie minimalnej funkcji logicznej)
Synteza układów logicznych ETAP 2: Minimalizacja funkcji logicznej 2. reguły „sklejania” na siatkach Karnaugh Tablica (mapa, siatka) Karnaugh - przekształcona tablica prawdy (prostokątna), gdzie indeksy dwójkowe zostały pogrupowane tak, by spełniały własności kodu Graya. Stosowane dla funkcji o niewielkiej liczbie zmiennych 2 -4 Tablica prawdy i odpowiadająca jej siatka Karnaugh Kod Graya – dwa kolejne słowa różnią się stanem jednego z bitów. Pierwszy i ostatni wyraz również spełniają tę regułę.
Synteza układów logicznych ETAP 2: Minimalizacja funkcji logicznej Zasady wyboru pól na siatkach • Pole jest kwadratem lub prostokątem o bokach będących potęgą 2, tzn. 1, 2, 4, 8, . . • Pola obejmują kratki sąsiednie, kratki skrajne (pola mogą być "zawinięte" przez brzeg tablicy), oraz w tabeli dla 5 zmiennych symetryczne względem podwójnej linii. • Pola muszą objąć wszystkie "1". • Pola nie mogą obejmować "0". • Stany nieokreślone "-" mogą, ale nie muszą być zakreślane. • Pola powinny być jak największe. • Ilość grup powinna być możliwie mała. • Pola mogą na siebie zachodzić.
Synteza układów logicznych ETAP 2: Minimalizacja funkcji logicznej Zasady odczytu sklejonych funkcji z zaznaczonych pól „ 1” • Dla wybranego pola szukamy, które zmienne nie zmieniają stanu • Zapisujemy iloczyn tych zmiennych i negujemy te ze stanem „ 0” • Iloczyny dla wszystkich pól sumujemy • Zasady odczytu sklejonych funkcji z zaznaczonych pól „ 0” • Dla wybranego pola szukamy, które zmienne nie zmieniają stanu • Zapisujemy sumę tych zmiennych i negujemy te ze stanem „ 1” • Sumy dla wszystkich pól mnożymy Powstałą funkcję upraszczamy gdy to możliwe (co oznacza, że pola nie zostały wybrane optymalnie)
Synteza układów logicznych przykład Opis słowny normalnego funkcjonowania • Silnik S nie pracuje gdy czujnik X 1 = 1 lub krańcówka X 4 =1, lub wystąpi awaria • Po wykryciu obecności obiektu przy X 4 obiekt zdejmowany jest przez inny system
- Slides: 20