background image

Mateusz Macięga 

Informatyka 

Grupa 11 

 

Bramki logiczne 

 

Układy cyfrowe to rodzaj układów elektronicznych, w których sygnały napięciowe przyjmują 
tylko określoną liczbę poziomów, którym przypisywane są wartości liczbowe. Najczęściej (choć 
nie zawsze) liczba poziomów napięć jest równa dwa, a poziomom przypisywane są cyfry 0 i 1, 
wówczas układy cyfrowe realizują operacje zgodnie z algebrą Boole'a i z tego powodu 
nazywane są też układami logicznymi. Obecnie układy cyfrowe budowane są w oparciu o 
bramki logiczne realizujące elementarne operacje znane z algebry Boola: iloczyn logiczny 
(AND, NAND), sumę logiczną (OR, NOR), negację NOT, różnicę symetryczną (XOR) itp. Ze 
względu na stopień skomplikowania współczesnych układów wykonuje się je w postaci układów 
scalonych.  
 
Bramka logiczna
 5 element konstrukcyjny maszyn i mechanizmów (dziś zazwyczaj: układ 
scalony, choć podobne funkcje można zrealizować również za pomocą innych rozwiązań 
technicznych, np. hydrauliki czy pneumatyki), realizujący fizycznie pewną prostą funkcję 
logiczną, której argumenty (zmienne logiczne) oraz sama funkcja mogą przybierać jedną z 
dwóch wartości, np. 0 lub 1 (zob. algebra Boole'a). 
 
Podstawowymi elementami logicznymi, stosowanymi powszechnie w budowie układów 
logicznych, są elementy realizujące funkcje logiczne: sumy (alternatywy), iloczynu (koniunkcji) 
i negacji. Są to odpowiednio bramki OR, AND i NOT. Za pomocą dwóch takich bramek (np. OR i 
NOT lub AND i NOT) można zbudować układ, realizujący dowolną funkcję logiczną. 
 
Bramki NAND (negacja koniunkcji), oraz NOR (negacja sumy logicznej) nazywa się 
funkcjonalnie pełnymi ponieważ przy ich użyciu (tzn. samych NAND lub samych NOR) można 
zbudować układ realizujący dowolną funkcję logiczną. 
 
Dowolną bramkę logiczną można też skonstruować za pomocą pary bramek, np. za pomocą OR 
i NOT lub AND i NOT. Układy takie nazywamy układami zupełnymi. 
 
Bramkę logiczną XOR często wykorzystujemy w układach arytmetyki takich jak sumatory czy 
subtraktory. 
 
 

background image

Zadanie 1  
 
Mając do dyspozycji bramki AND oraz NOT zbuduj bramkę OR.  
Wykorzystaj prawo podwójnej negacji i prawo de Morgana: 
 

q

p

q

p

q

p

==

+

==

+

 

 
NOT (A OR B) = NOT A AND NOT B  
NOT (NOT (A OR B)) = NOT (NOT A AND NOT B)  
A OR B = NOT (NOT A AND NOT B)  
 

 
 
Tabela prawdy: 

A  B  NOT A  NOT B  NOT A AND NOT B  NOT (NOT A AND NOT B)  A OR B 

0  0 

0  1 

1  0 

1  1 

 

Zadanie 2  

Mając do dyspozycji bramki OR oraz NOT zbuduj bramkę AND.  
 
NOT(A AND B) = NOT A OR NOT B 
NOT(NOT(A AND B)) = NOT(NOT A OR NOT B) 
A AND B = NOT(NOT A OR NOT B) 
 

 
 
 
 
 
 

background image

Tabela prawdy: 

A  B  NOT A  NOT B  NOT A OR NOT B  NOT (NOT A OR NOT B)  A AND B 

0  0 

0  1 

1  0 

1  1 

 

Zadanie 3  

Mając do dyspozycji bramkę XOR zbuduj bramkę NOT.  
 
A XOR B = (A AND NOT B)OR(NOT A AND B) 
A XOR 1 = (A AND NOT 1)OR(NOT A AND 1) 
A XOR 1 = (A AND 0)OR NOT A 
A XOR 1 = 0 OR NOT A 
A XOR 1 = NOT A 
 

 
Tabela prawdy: 

A  A XOR 1  NOT A 

 
Zadanie 4  
 
Mając do dyspozycji bramki XOR oraz AND zbuduj bramkę OR.  
 
A OR B = NOT(NOT A AND NOT B) 
A OR B = 1 XOR((1 XOR A)AND(1 XOR B)) 
 

 

background image

Tabela prawdy: 

A  B  1 XOR A  1 XOR B  (1 XOR A) AND (1 XOR B) 

1 XOR((1 XOR A)AND(1 XOR B))  A OR B 

0  0 

0  1 

1  0 

1  1 

 
 
Zadanie 5  
 
Mając do dyspozycji bramki XOR oraz OR zbuduj bramkę AND.  
 
A AND B = NOT(NOT A OR NOT B) 
A AND B = 1 XOR((1 XOR A)OR(1 XOR B)) 
 

 
Tabela prawdy: 

A  B  1 XOR A  1 XOR B  (1 XOR A) OR (1 XOR B) 

1 XOR((1 XOR A) OR (1 XOR B))  A AND B 

0  0 

0  1 

1  0 

1  1 

 
Zadanie 6  
 
Mając do dyspozycji bramki AND, OR oraz NOT zbuduj bramkę XOR.  
 
A XOR B = (A AND NOT B)OR(NOT A AND B) 
 

 

background image

Tabela prawdy: 

A  B  NOT A  NOT B 

A AND NOT B  NOT A AND B  (A AND NOT B)OR(NOT A AND B)  A XOR B 

0  0 

0  1 

1  0 

1  1 

 
 
Zadanie 7  
 
Zbuduj bramkę NAND korzystając z bramek AND oraz NOT.  
 
A NAND B = NOT(A AND B) 
 

 
Tabela prawdy: 

A  B  A AND B  NOT (A AND B) 

A NAND B  

0  0 

0  1 

1  0 

1  1 

 
 
Zadanie 8  
 
Zbuduj bramkę NOR korzystając z bramek OR oraz NOT.  
 
A NOR B = NOT(A OR B) 
 

 
 

background image

Tabela prawdy: 

A  B  A OR B 

NOT (A OR B) 

A NOR B  

0  0 

0  1 

1  0 

1  1 

 
 
Zadanie 9  
Mając do dyspozycji bramkę NAND zbuduj bramkę NOT.  
 
A NAND B = NOT(A AND B) 
A NAND A = NOT(A AND A) 
A NAND A = NOT A 
 

 
Tabela prawdy: 

A  NOT A 

A NAND A 

 
Zadanie 10  
 
Mając do dyspozycji bramkę NAND zbuduj bramkę AND.  
 
A NAND B = NOT(A AND B) 
A NAND A = NOT A 
NOT(A NAND B) = A AND B 
(A NAND B)NAND(A NAND B) = NOT(A NAND B) 
(A NAND B)NAND(A NAND B) = A AND B 
 

 
Tabela prawdy: 

A  B 

A NAND B 

(A NAND B)NAND(A NAND B)  

A AND B 

0  0 

0  1 

1  0 

1  1 

background image

Zadanie 11  
Mając do dyspozycji bramkę NAND zbuduj bramkę OR. 
  
A OR B = NOT(NOT A) OR NOT(NOT B) 
A OR B = NOT A NAND NOT B 
A OR B = (A NAND A)NAND(B NAND B) 
 

 
Tabela prawdy: 

A  B 

A NAND A  B NAND B  (A NAND A)NAND(B NAND B)  A OR B 

0  0 

0  1 

1  0 

1  1 

 
Zadanie 12
  
 
Mając do dyspozycji bramkę NOR zbuduj bramkę NOT.  
 
A NOR B = NOT(A OR B) 
A NOR B = NOT A AND NOT B 
A NOR A = NOT(A OR A) 
A NOR A = NOT A 
 

 
Tabela prawdy: 

A  A NOR A 

NOT A 

 
Zadanie 13  
Mając do dyspozycji bramkę NOR zbuduj bramkę OR.  
 
A NOR B = NOT(A OR B) 
NOT(A NOR B) = A OR B 
NOT A = A NOR A 
(A NOR B)NOR(A NOR B) = A OR B 
 
 
 

background image

 
Tabela prawdy: 

A  B 

A NOR B  (A NOR B)NOR(A NOR B)  A OR B 

0  0 

0  1 

1  0 

1  1 

 
 
Zadanie 14  
 
Mając do dyspozycji bramkę NOR zbuduj bramkę AND.  
 
A NOR B = NOT A AND NOT B 
A NOR A = NOT A 
(A NOR A)AND(B NOR B) = NOT A AND NOT B 
(A NOR A)NOR(B NOR B) = A AND B 
 

 
 
Tabela prawdy: 

A  B 

A NOR A  B NOR B  (A NOR A)NOR(B NOR B)  A AND B 

0  0 

0  1 

1  0 

1  1 

 
 
Zadanie 15  
 
Mając do dyspozycji bramkę NAND zbuduj bramkę NOR.  
 
A NOR B = NOT(A OR B) 
A NOR B = NOR(NOT A NAND NOT B) 
A NOR B = ((A NAND A)NAND(B NAND B))NAND((A NAND A)NAND(B NAND B)) 
 
 

background image

 
 
Tabela prawdy: 

A  B 

A  

NAND 

B  

NAND 

(A NAND A) 

NAND 

(B NAND B) 

((A NAND A)NAND(B NAND B))  

NAND  

((A NAND A)NAND(B NAND B)) 

A  

NOR 

 B 

0  0 

0  1 

1  0 

1  1 

 
 
Zadanie 16  
 
Mając do dyspozycji bramkę NOR zbuduj bramkę NAND.  
 
A NAND B = NOT(A AND B) 
A NAND B = NOT(NOT A NOR NOT B) 
A NAND B = ((A NOR A)NOR(B NOR B))NOR((A NOR A)NOR(B NOR B)) 
 

 
Tabela prawdy: 

A  B 

A  

NOR  

B  

NOR 

(A NOR A) 

NOR 

(B NOR B) 

((A NOR A)NOR(B NOR B)) 

NOR 

((A NOR A)NOR(B NOR B)) 

A  

NAND 

0  0 

0  1 

1  0 

1  1 

 

background image

Zadanie 17  
Mając do dyspozycji bramkę NAND zbuduj bramkę XOR.  
 
(NOT A AND B)OR(A AND NOT B) => 
NOT(NOT A NAND B)OR NOT(A NAND NOT B) => 
(NOT A NAND B)NAND(A NAND NOT B) => 
((A NAND A)NAND B)NAND(A NAND(B NAND B)) 
 

 
 
Tabela prawdy: 

A  B 

A  

NAND  

B  

NAND  

(A NAND A) 

NAND  

A  

NAND 

(B NAND B) 

((A NAND A)NAND B) 

NAND 

(A NAND(B NAND B)) 

A XOR B 

0  0 

0  1 

1  0 

1  1 

 
 
Zadanie 18  
 
Mając do dyspozycji bramkę NOR zbuduj bramkę XOR. 
 
(NOT A AND B)OR(A AND NOT B) => 
(NOT A AND NOT NOT B)OR(NOT NOT A AND NOT B) => 
(A NOR NOT B)OR(NOT A NOR B) => 
((A NOR(B NOR B))NOR((A NOR A)NOR B)NOR((A NOR(B NOR B))NOR((A NOR A)NOR B) 
 

background image

Tabela prawdy: 

A  B 

A  

NOR  

B  

NOR  

A  

NOR 

(B NOR 

B) 

(A NOR 

A) 

NOR  

((A NOR 

A)NOR B) 

NOR 

((B NOR 

B)NOR A 

((A NOR(B NOR B))NOR((A NOR A)NOR 

B) 

NOR 

((A NOR(B NOR B))NOR((A NOR A)NOR 

B) 

A XOR B 

0  0 

0  1 

1  0 

1  1 

 
 
Wnioski:  

 

Stosując odpowiednią kombinację bramek możemy stworzyć bramkę innego typu. 

 

Korzystając z bramek NOR I NAND możemy stworzyć dowolną bramkę.