You are on page 1of 40

Podstawy techniki cyfrowej (POCY)

Wykład 4

Realizacje układów kombinacyjnych,


bloki funkcjonalne

dr inż. Andrzej Wielgus


Instytut Mikroelektroniki i Optoelektroniki
WEiTI PW
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Układ kombinacyjny

• Model układu kombinacyjnego


 funkcja boolowska
 specyfikacja czasowa

Y = f(X)
X specyfikacja Y
czasowa

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Przebiegi czasowe

• Czas propagacji sygnału przez bramkę tp


• Ścieżka propagacji sygnału przez cały układ
• Ścieżka krytyczna (ang. critical path) - najdłuższa
ścieżka w układzie
• Najkrótsza ścieżka

ścieżka krytyczna (najdłuższa)

ścieżka najkrótsza

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Zjawisko hazardu
• Hazard polega na chwilowym nieprawidłowym działaniu
układu cyfrowego
• Hazard spowodowany jest opóźnieniami wprowadzanymi
przez poszczególne elementy logiczne (bramki)
• Zjawisko hazardu występuje w układach kombinacyjnych

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Przykład 1 - analiza działania układu
x3
x1x2 0 1 y = x2 x3 + x1 x3
00 0 0
01 1 0
x3
11 1 1
10 0 1 a

y b

x3 0 1 0 101
y
x2 b 1101
1 y
x1 a
1 010 hazard statyczny !!!
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Przykład 1 – likwidacja hazardu
x3
x 1x 2 0 1 • W tablicy Karnaugha hazard może
00 0 0
występować na styku dwóch pętli
• Usuwanie hazardu polega na
01 1 0
dodaniu dodatkowego implikantu
11 1 1 w wyrażeniu logicznym
10 0 1 • Zakreślamy dodatkową pętlę
y

y = x2 x3 + x1 x3 + x1 x2

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Przykład 1 – schemat logiczny bez hazardu

x3

a
x3 b
x2
b
a
x1 y
c
c
y

• Bramkę przeciwdziałającą zjawisku hazardu oznaczono na czerwono


Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Metody realizacji układów kombinacyjnych

• Struktury bramkowe dwupoziomowe


• Struktury bramkowe wielopoziomowe
• Kombinacyjne bloki funkcjonalne
• Układy z pamięciami
• Układy programowalne (rekonfigurowalne)

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Realizacja dwupoziomowa AND-OR

• Realizacja wyrażenia w postaci sumy iloczynów SOP


x 3x 4

x 1x 2 00 01 11 10
00 - 1 - 0
01 - 0 - 1 y = x 2 x 4 + x2 x 3 + x1 x 2
11 1 1 - -
10 0 - - -

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Realizacja NAND-NAND
• W celu uzyskania realizacji z bramkami NAND przekształcamy
wyrażenie logiczne, wykorzystując prawa de Morgana

y = x 2 x 4 + x2 x 3 + x1 x 2 = x 2 x 4 + x 2 x 3 + x1 x 2 = x2 x 4⋅x 2 x 3⋅x 1 x 2

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


„Bubble pushing”
• Przekształcenia schematu oparte na prawach de Morgana

x1 x1
x2 x2

x3 y x3 y

x4 x4

x1
x2

x3 y

x4

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Realizacja dwupoziomowa OR-AND

• Realizacja wyrażenia w postaci iloczynu sum POS


x 3x 4

x 1x 2 00 01 11 10
00 - 1 - 0
01 - 0 - 1 y = ( x2 + x 4 ) (x 1 + x2 + x 3 )
11 1 1 - -
10 0 - - -

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Realizacja NOR-NOR
• W celu uzyskania realizacji z bramkami NOR przekształcamy
wyrażenie logiczne, wykorzystując prawa de Morgana

y = ( x2 + x 4 ) (x 1 + x2 + x 3 ) = (x 2 + x 4 ) (x 1 + x 2 + x3 ) = ( x 2 + x 4 )+(x 1 + x 2 + x3 )

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


NAND i NOR - uniwersalne funktory logiczne

• Bramki NAND i NOR są uniwersalne

NOT

AND

OR

 Każdą funkcję logiczną (wyrażenie) można zrealizować


stosując tylko bramki NAND lub tylko bramki NOR.
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Systemy funkcjonalnie pełne

• System funkcjonalnie pełny to zbiór funktorów


(bramek) logicznych, który jest w stanie zrealizować
dowolne wyrażenie logiczne
 Zbiór bramek: AND, OR, NOT
 Pojedyncza bramka NAND
 Pojedyncza bramka NOR

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Bramki wielowejściowe
• Bramki do 4 wejść realizowane bezpośrednio
• Większe bramki są składane z mniejszych w postaci
łańcucha lub drzewa bramek, zgodnie z własnością
łączności operacji iloczynu logicznego
• Łańcuch bramek • Drzewo bramek
 czas propagacji rośnie  czas propagacji rośnie
liniowo z liczbą wejść logarytmicznie z liczbą wejść

y = (((a⋅b)⋅c)⋅d)⋅e
y = ((a⋅b)⋅(c⋅d))⋅((e⋅f )⋅( g⋅h))
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Wielowejściowe bramki NAND i NOR
• Bramki 2-, 3- i 4-wejściowe są zazwyczaj dostępne

• Bramki o większej liczbie wejść mogą być niedostępne ze


względu na ograniczenia technologiczne. Trzeba je
zrealizować jako drzewo mniejszych bramek.
• Niestety, operator NAND nie spełnia warunku łączności.

8-we NAND 8-we NOR


Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Realizacje XOR

• Bramka XOR

a
b y = a  b = ab + ab

• Zastosowania bramek XOR


 kontrola parzystości
 liczenie odległości Hamminga
 układy arytmetyczne – jako sumator modulo 2

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Przykład 1 – układ generacji bitu parzystości
• Bit parzystości to bit kontrolny, który określa, czy liczba ‘1’
w słowie wejściowym jest parzysta, czy nieparzysta.
• Bit przyjmuje wartość 1, gdy liczba ‘1’ jest nieparzysta, lub
wartość 0, gdy jest parzysta.
cd

ab
00 01 11 10
00 0 1 0 1 • Realizacja AND-OR wymaga:
01 1 0 1 0  8 4-wejściowych bramek AND
 8-wejściowa bramka OR
11 0 1 0 1
10 1 0 1 0

y = ā b̄ c̄ d + ā b̄ c d̄ + ā b c̄ d̄ + ā b c d + a b c̄ d̄ + a b c d̄ + a b̄ c̄ d̄ + a b̄ c d
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Przykład 1 – realizacja na bramkach XOR
• Po przekształceniu otrzymujemy:

y = ā b̄ c̄ d + ā b̄ c d̄ + ā b c̄ d̄+ ā b c d +a b c̄ d+a b c d̄+a b̄ c̄ d̄ +a b̄ c d =

= (a b+ ā b̄)( c̄ d +c d̄)+( ā b+a b̄)(c d + c̄ d̄) =

= a⊕b⋅c⊕d+a⊕b⋅c⊕d =

= (a⊕b)⊕(c⊕d) = a⊕b⊕c⊕d

a a
b b
y
c c
d y
d
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Wielopoziomowe struktury bramkowe

• Kilka poziomów bramek różnych typów


• Realizacja wielopoziomowych wyrażeń logicznych z
nawiasami
• Wymaga zastosowania innych metod syntezy logicznej

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Wielopoziomowe struktury bramkowe

x1
x2
x3
f
x4
x5

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Bramka transmisyjna
• Bramka transmisyjna pełni rolę sterowanego wyłącznika:
 w zależności od stanu logicznego sygnału sterującego en
bramka przepuszcza sygnał z wejścia na wyjście lub nie
 bramka wykonana w technologii CMOS
 bramka transmisyjna jest dwukierunkowa
 czas propagacji sygnału przez bramkę jest bardzo krótki
 wykorzystywana do konstrukcji innych bloków cyfrowych:
multiplekserów, przerzutników

en

a b

en
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Bramki trójstanowe
• Wyjście bramki trójstanowej może być w jednym z trzech stanów: 0,
1 lub wysokiej impedancji (ozn. Z)
• Stan wysokiej impedancji oznacza, że wyjście bramki może być
uznawane za odłączone od układu
• Umożliwia to dołączenie do tego samego węzła elektrycznego wyjść
kilku bramek:
 w każdym momencie tylko jedno wyjście w stanie 0 lub 1
 pozostałe są w stanie wysokiej impedancji Z
• Podstawowe bramki to bufor i inwerter trójstanowy:

en y en en
0 Z a
a y y
1 a en y
en en
0 a
a y a y
1 Z
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Blok funkcjonalny

• Blok funkcjonalny to układ cyfrowy, wykonujący jedną


lub kilka operacji na sygnałach cyfrowych
• Sygnały
 wejścia danych
 wyjścia danych
 wejścia sterujące

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Kombinacyjne bloki funkcjonalne

• Multiplekser MUX
• Demultiplekser DMUX
• Koder
• Dekoder
• Pamięci ROM
• Bloki arytmetyczne:
 komparator
 sumator
 subtraktor (układ odejmujący)
 kombinacyjny układ mnożący
• Układy arytmetyczne i pamięci zostaną omówione na
oddzielnym wykładzie
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Multiplekser MUX
• Multiplekser to blok kombinacyjny, który wysyła na wyjście
sygnał z wejścia wybranego adresem
• Multiplekser 2-wejściowy ma jedno wejście adresowe
(adres jest 1-bitowy)

d0 0 a d0 d1 y a y
y
d1 1
0 0 0 0 0 d0
0 0 1 0 1 d1
0 1 0 1
a
0 1 1 1
1 0 0 0
y=a⋅d 0 +a⋅d 1 1 0 1 1
1 1 0 0
1 1 1 1
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Realizacje multipleksera
• Bramki logiczne • Bramki transmisyjne CMOS

a d0
d1
y y
d0 d1
a

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Multiplekser MUX
• Multiplekser można uogólnić jako blok funkcjonalny, który
posiada:
 n wejść adresowych a0, a1, … , an-1,
 N = 2n wejść danych d0, d1, … , dN-1
 jedno wyjście y
• Może też posiadać dodatkowe wejście zezwolenia e (enable)
e
e
d0 0 d0
d1 1
d1
d2 2
d2
y y
... ...
dN-1 N-1 N −1
dN-1
... ... y=e⋅∑ Pi ( A )d i
an-1 a0 i=0
an-1 a0
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Realizacja funkcji logicznej z użyciem MUX
• Dowolną funkcję logiczną k zmiennych można zrealizować
przy użyciu jednego multipleksera o liczbie wejść 2k
 rozwiązanie niepraktyczne dla dużych funkcji
x1 x2 x3 y
0 0 0 0 0
1 0 0 1 1 0 0

1 1
2 0 1 0 0 0 2

3 0 1 1 1 1 3
y
1 4
4 1 0 0 1 0 5

5 1 0 1 0 1 6

0 7
6 1 1 0 1
7 1 1 1 0
x 1 x2 x3
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Multiplekser wielobitowy

• Przełącza wektory binarne


• Umożliwia podłączenie wielu bloków cyfrowych do
wspólnej magistrali wielobitowej

D0 0 a Y
Y
D1 1
0 D0
1 D1

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Demultiplekser DMUX
• Demultiplekser to blok kombinacyjny, który przesyła sygnał
z wejścia na jedno z wyjść wybrane adresem
• Demultiplekser posiada n wejść adresowych, tylko jedno
wejście danych i N = 2n wyjść

0 y0
1 y1
2 y2
d
... y i =e⋅Pi ( A )d
N-1 yN-1

...
an-1 a0

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Dekoder
• W ogólnym przypadku dekoder jest blokiem kombinacyjnym,
który przekształca dowolny kod binarny na kod 1 z N
• Szczególne znaczenie ma dekoder kodu NKB na kod 1 z N,
czyli dekoder binarny. Posiada n wejść adresowych i N = 2n
wyjść
e

NKB 1z4
0 y0
a0 00 0001
1 y1
... 2 y2 01 0010
an-1
... 10 0100
N-1 yN-1
11 1000

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Koder
• Koder jest blokiem kombinacyjnym, który przekształca kod
1 z N na dowolny kod binarny
• Koder kodu 1 z N na kod NKB, czyli koder binarny, posiada
N = 2n wejść adresowych i n = log2N wyjść

1 z 4 NKB
a0 0
a0 1 y0 0001 00
... 0010 01
...
aN-1
N-1 yn-1 0100 10
1000 11

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Cyfrowe układy scalone
• Współczesne układy i systemy cyfrowe realizowane są w
postaci układów scalonych (integrated circuit IC)
• Klasyfikacja układów scalonych ze względu na stopień
scalenia (integracji)
 liczba bramek
 liczba tranzystorów
 podział raczej historyczny
• Klasyfikacja według przeznaczenia, zastosowania

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Klasyfikacja cyfrowych układów scalonych
• Według stopnia scalenia (liczba bramek lub tranzystorów itp.)
• SSI (Small-Scale Integration) - pojedyncze bramki
• MSI (Medium-Scale Integration) - bramki, bloki funkcjonalne
 odpowiednik dla 20-200 bramek
• LSI (Large-Scale Integration) - mikroprocesory, pamięci, PLD
 odpowiednik dla 200-200000 bramek
• VLSI (Very Large-Scale Integration) - mikroprocesory, duże
pamięci, duże FPLD, układy ASIC, systemy scalone SOC
 ponad 1000000 tranzystorów
• ULSI (Ultra Large-Scale Integration)
 jeszcze więcej niż VLSI,
 skrót raczej rzadko używany
Podstawy techniki cyfrowej Andrzej Wielgus IMiO
Realizacje układów kombinacyjnych
w strukturach programowalnych
• Układy programowalne przez użytkownika FPLD
(Field Programmable Logic Devices)
 proste struktury bramkowe PLD
– programowalne matryce bramek AND-OR
– układy PAL (Programmable Array Logic)
– układy PLA (Programmable Logic Array)
 złożone struktury CPLD
– makrokomórki z programowalną matrycą połączeń
– makrokomórka zawiera matrycę AND-OR, przerzutniki i
inne bloki logiczne
 struktury komórkowe FPGA
(Field Programmable Gate Array)

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Struktura PAL
D C B A
• Matryca AND-OR MATRYCA OR
(STA£A)
 programowalna matryca AND
 stała matryca OR

MATRYCA AND
(PROGRAMOWALNA) Q3 Q2 Q1 Q0

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Struktura PLA
• Matryca AND-OR D C B A
MATRYCA OR
 programowalna matryca AND (PROGRAMOWALNA)

 programowalna matryca OR

MATRYCA AND
(PROGRAMOWALNA) Q3 Q2 Q1 Q0

Podstawy techniki cyfrowej Andrzej Wielgus IMiO


Układy FPGA
• Macierz komórek logicznych lub konfigurowalnych bloków
logicznych CLB (Configurable Logic Block), bloków I/O i
programowalnych połączeń. Blok CLB może zawierać
komórkę LUT, przerzutnik, multiplekser i inne elementy.

x0
x1
x2 LUT y
x3

• Komórka LUT (Look Up Table)


 struktura tablicowa, realizuje
dowolną funkcję logiczną

Podstawy techniki cyfrowej Andrzej Wielgus IMiO

You might also like