background image

IV) Układy Logiczne:
1) Podstawy Algebry Boole'a:

Algebra Bool'a opiera się na 3 podstawowych operacjach:

negacji:

x lub ¬x

;

koniunkcji:

xy lub x∧ y

;

alternatywie:

x y lub x∨ y

;

wykonywanych na zmiennych mogących przyjmować wartości 0 i 1 oraz na wartościach stałych 0 i 1.

Gdy nie ma nawiasów to kolejność wykonywania działań jest następująca:

negacja;

koniunkcja;

alternatywa.

Gdy występują nawiasy najpierw wykonuje się operacje na nich. Znak negacji zastępuje nawiasy.

Podstawowe prawa algebry Bool'a to:

prawa idempotentności:

x + x = x;

x * x = x;

prawa przemienności:

x + y = y + x;

x * y = y * x;

prawa łączności:

x + (y + z) = (x + y) + z;

x * (y * z) = (x * y) * z;

prawa rozdzielności:

x * (y + z) = x * y + x * z;

x + y * z = (x + y) * (x + z);

prawo podwójnej negacji:

xx ;

zależności wynikające z definicji funkcji alternatywy i koniunkcji:

x + 0 = x

x * 0 = 0

x + 1 = 1

x * 1 = x

x + x = x

x * x = x

xx=1

x∗x=0

operacje wykonywane na stałych:

0 + 0 = 0

0 * 0 = 0

1 + 0 = 1

1 * 0 = 0

1 + 1 = 1

1 * 1 = 1

0=1

1=0

prawa pochłaniania:

x + x * y = x;

x * (x + y) = x;

prawa sklejania:

x ∗ x=x ;

xxyx y ;

x∗ yx∗=x ;

x∗ x y= xy ;

background image

prawa De Morgana:

zaprzeczenie koniunkcji: xy=xy ;

zaprzeczenie alternatywy:

x =x∗y ;

2) Metody minimalizacji funkcji logicznych:

Są w zasadzie dwie metody:

Metoda Quine'a-McCluskeya;

Metoda tablic Karnaugh zwana też metodą Veitch'a;

W ćwiczeniu używa się tablic Karnaugh.

Gdyby ująć w kilka zasad projektowanie przy pomocy siatek Karnaugh’a można by przedstawić je 
następująco:

1. Tworzymy siatki o rozmiarze takim by ilość opisujących je zmiennych była równa ilości 

sygnałów wejściowych. 

2. Tworzymy tyle siatek, ile układ posiada wyjść. 
3. Wewnątrz kratek danej siatki wpisujemy stany wewnętrzne jakie mają pojawiać się na 

danym wyjściu przy odpowiadającej im kombinacji sygnałów wejściowych opisujących 
siatkę. 

Na podstawie zakodowanych odpowiednio stanów trzeba stworzyć funkcję logiczną. 

Przykładowa siatka dla 4 zmiennych na wejściu wygląda następująco:

CD

AB

00

C=0∧D=0

01

C=0∧D=1

10

C=1∧ D=0

11

C=1∧ D=1

00

A=0∧B=0

1

0

0

0

01

A=0∧B=1

1

0

1

1

10

A=1∧B=0

0

0

1

1

11

A=1∧B=1

0

0

0

0

0 i 1 wpisane w tabele to przykładowe stany wyjścia. Na ich podstawie tworzy się funkcję logiczną 
poprzez grupowanie 1 lub 0 (grupy po 2, 4 i 8).

W tym przykładzie na podstawie zaznaczonych 1-nek mamy:

=A∗

C∗ 

DC

Wzór funkcji wziął się z tego, że dla zaznaczonej 2-jki jedynek, niezmiennymi parametrami na 
wejściu są A, C i D, a ich wartości dla tej grupy to 0, zatem we wzorze pojawia się A∗

C∗ 

. W 

przypadku zaznaczonej 4-rki jedynek, stałym parametrem jest C i ma wartość 1, stad we wzorze C. 
Parametry w obrębie zaznaczonej grupy się mnoży, a parametry z oddzielnych grup dodaje.

background image

3) Pojęcie układów logicznych sekwencyjnych i kombinacyjnych:

Układy kombinacyjne są to układy cyfrowe, których stany wyjść są zawsze jednoznacznie 

określone przez stany wejść. Oznacza to, że doprowadzając na wejście takich układów określoną 
kombinację   sygnałów   binarnych,   otrzymujemy   na   wyjściu   odpowiedzi   specyficzne   dla 
zastosowanych wymuszeń i funkcji logicznej, jaką wykonują układy, niezależnie od tego co działo 
się z tymi układami wcześniej. Są to zatem układy bez pamięci.

Układy   sekwencyjne  są   to   układy  cyfrowe,   których   stany   wyjść   zależą   od   aktualnych 

stanów wejść oraz od tego, co się działo z układem poprzednio, czyli jakie stany wejść zadawane 
były   w   chwilach   poprzedzających.   Są   to   zatem   układy   z   pamięcią,   gdyż   oprócz   wymuszeń 
aktualnych istotną rolę odgrywają stany poprzednie.

4) Systemy funkcjonalnie pełne:

Zbiór   funkcji   boolowskich   nazywa   się  systemem   funkcjonalnie   pełnym  (bazą),   jeśli 

dowolna   funkcja   boolowska   może   być   przedstawiona   za   pomocą   stałych   0   i   1   oraz   funkcji 
należących do tego zbioru i argumentów funkcji.
Funkcje sumy, iloczynu i negacji tworzą tzw. podstawowy system funkcjonalnie pełny. Nie jest to 
jednak system minimalny. Systemy funkcjonalnie pełne tworzą również:

iloczyn i negacja;

suma i negacja;

funkcja Sheffer'a (NAND);

funkcja Pierce'a (NOR).

W ćwiczeniu używa się funkcji NOR, żeby zaprojektować układ logicznych. Aby to zrobić trzeba 
otrzymaną   funkcję   logiczną   z   tablicy   Karnaugh   przedstawić   tylko   w   postaci   zaprzeczonych 
alternatyw.
5) Realizacja funkcji przełączających na elementach funkcjonalnie pełnych:

Za pomocą funkcji NOR możemy zdefiniować 
negację: NOT a=a NOR a ;
alternatywę: ab=NOT a NOR b= a NOR b NORa NOR b ;
koniunkcję:

ab=NOT  NOT a∨ NOT b= NOT a NOR NOT b=a NOR a NORb NOR b

czyli dowolną funkcję logiczną. Dlatego też ta funkcja jest ważna (podobnie jak NAND).
Dla przykładowej funkcji z punktu 2 byłoby to tak:

=A∗

C∗ 

DC= A∗

C∗

D= A∗

∗ 

DC= A∗

 

D=A∗

CD

⇒ 

A 

C D=ADCACDC

W efekcie układ:

(NOT a AND NOT c AND NOT d) OR c

zamieniono na:

NOR [(a NOR c NOR d) NOR c].

background image

6) Liczniki jedno i dwukierunkowe (rewersyjne):

Za dużo do pisania :P odsyłam do skryptu dziekana Wawrzyńskiego, strony 195-198 (wyd. 

2003).

7) Synteza dekoderów i rozdzielaczy:

Dekoderem nazywamy układ cyfrowy, który zmienia słowo określone w dowolnym kodzie 

na słowo w kodzie 1 z N. Przykładowym zastosowaniem koderów jest użycie ich jako dekoderów 
adresy   w   pamięciach   półprzewodnikowych.   Kombinacja   sygnałów   wejściowych   uaktywnia 
odpowiednie wyjście (jedno z wyjść dekodera), które z kolei uaktywnia odpowiednią komórkę 
pamięci. Umożliwia to w konsekwencji wpisanie lub pobranie informacji z odpowiednich obszaró 
pamięci półprzewodnikowej.

Rozdzielacz jest urządzeniem, które jak nazwa wskazuje rozdziela sygnał z dekodera, na np. 

kilka stanowisk pracy (jednoczesny odczyt danych), ewentualnie każde stanowisko ma dekoder, 
połączony z rozdzielaczem (jednoczesny odczyt i zapis danych).