48
ZPT Układy logiczne …są stosowane w projektowaniu układów cyfrowych w sposób hierarchiczny: 1) Bramki i elementarne układy pamięciowe (przerzutniki) 2) Bloki funkcjonalne: układy arytmetyczne (sumatory), liczniki, rejestry. Tworzą one nowe elementy konstrukcyjne, z których buduje się złożone układy cyfrowe o różnorodnych zastosowaniach: układy przetwarzania sygnałów, układy sterowania, specjalizowane procesory, układy kryptograficzne. Przerzutn ik typu D D Clk Q Q Y B A n n n Y n-1 Z OVR P G cn c0 S ALU R (Q) s 1 s 2 clock X Y x l x p L (Q) s 1 s 2 clock X Y 1 pecjalizowane układy cyfrowe

Układy logiczne

  • Upload
    jace

  • View
    65

  • Download
    1

Embed Size (px)

DESCRIPTION

Układy logiczne. D. Przerzutnik typu D. Clk. …są stosowane w projektowaniu układów cyfrowych w sposób hierarchiczny:. 1) Bramki i elementarne układy pamięciowe (przerzutniki). Specjalizowane układy cyfrowe. 2) Bloki funkcjonalne: układy arytmetyczne (sumatory), liczniki, rejestry. - PowerPoint PPT Presentation

Citation preview

ZPT

Układy logiczne

…są stosowane w projektowaniu układów cyfrowych w sposób hierarchiczny:

1) Bramki i elementarne układy pamięciowe (przerzutniki)

2) Bloki funkcjonalne: układy arytmetyczne (sumatory), liczniki, rejestry.

Tworzą one nowe elementy konstrukcyjne, z których buduje się złożone układy cyfrowe o różnorodnych zastosowaniach: układy przetwarzania sygnałów, układy sterowania, specjalizowane procesory, układy kryptograficzne.

Przerzutniktypu D

DD

ClkClk Q

Q

Y

BAnn

n

Yn-1

ZO VR

PG

cn c0

S

ALU

R(Q)

s1s2

clock

X

Y

xlxpL(Q)

s1s2

clock

X

Y

1

Specjalizowane układy cyfrowe

ZPT

2

W latach 80….

SumatoryLiczniki Rejestry KomparatoryKonwerteryBuforyRejestry przesuwajace

Bloki funkcjonalne:

Były produkowane w postaci katalogowych układów scalonych serii 74xx

74xx

ZPT

Licznik

Rejestr

Mux

…stanowią wyposażenie bibliotek komputerowych systemów projektowania

Każdy układ cyfrowy składamyz bloków funkcjonalnych

3

Bloki funkcjonalne…

ZPT

Licznik

Rejestr

Mux

…stanowią wyposażenie bibliotek komputerowych systemów projektowania

W procesie konstruowania systemów cyfrowych struktura wewnętrzna bloku w zasadzie nas nie interesuje

4

Bloki funkcjonalne…

ZPT 5

Bloki funkcjonalne

B. kombinacyjne B. sekwencyjne Pamięci

Arytmetyczne

KomparatorSumator

Komutacyjne

MUXDMUXDEC

Rejestry

Równoległe Przesuwające

Liczniki

ZliczająceW górę W dół

ROM (RAM)

ZPT

Multiplekser (MUX)

gdzie Pk(A) oznacza pełny iloczyn zmiennych an–1,...,a0, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A).

an-1 a0

e

d

d

d

0

1

N-1

1N

0kkk

(A)dPey

6

N = 2n

wejść

informacyjnych

Wejście zezwalające

Wejścia adresowe

Wyjście

ZPT

Multiplekser (MUX)

an-1 a0

e=1

d

d

d

0

1

N-1

1N

0kkk

(A)dPey

7

10 adday

301201101001 daadaadaadaay

Dla n = 1 (MUX 2 : 1):

dla n = 2 (MUX 4 : 1):

7012601250124012

3012201210120012

daaadaaadaaadaaadaaadaaadaaadaaay

dla n = 3 (MUX 8 : 1):

ZPT

Multiplekser 4:1

301201101001 daadaadaadaay

e = 1

0

1

2

3

a1 a0

d

d

d

0

1

3

d

d2d

8

=0 0

=0 1

y=d0

y=d1

=1 =0 =0 =0

Multiplekser jako przełącznik

ZPT

Multiplekser jako przełącznik

e = 1

0

1

2

3

0 0

0

301201101001 daadaadaadaay

0 1

1 1

0

1

1

0

1

1

9

d0

d1

d2

d3

a0

a1

e

y

Każdy blok funkcjonalny można skonstruować bramek logicznych

ZPT

Multiplekser jako przełącznik

10

Źródłodanych

I0

00…00

00…01

odbiornik

2n1 adresówźródeł

Źródłodanych

I1

00…01

2n1

Źródłodanych

I

11…11

f

2n źródeł danych

11…11

Multiplekser

To nie jest połączenie w postaci ścieżki metalizowanej

ZPT

Demultiplekser

a n-1 a 0

e

d

y

y

y

0

1

N -1

(A)dePy kk

gdzie Pk(A) oznacza pełny iloczyn zmiennych an–1,...,a0, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A).

11

N = 2n wyjść

Wejścia adresowe

Wejście

informacyjne

Wejście zezwalające

ZPT

Demultiplekser jako przełącznik

e = 1

0

1

2

3

0

0

0

daay

daay

daay

daay

013

012

011

010

0

0

0

0

0

0

0 0

0 1

1 1

1111

a0

a1

ey0

d

y1

y2

y3

12

=d

=d

=d

ZPT

Demultiplekser jako przełącznik

13

00…01

2n adresów

odbiorników

2n odbiorników

11…11

Źródłodanych

f0

f1

f2n1

Demultiplekser 00…00

00…01

11…11

ZPT 14

Dekoder

a n-1 a 0

e

d

y

y

y

0

1

N -1

y

y

y

0

1

N -1

a

a

a

0

1

n-1

N = 2n

DMUX DEKODER

d = 1e = 1

ZPT

Bloki komutacyjne

1 00 01 1

a1 a0

0

1

2

3

010

a1 a0

0

1

2

3

1 00 01 1

010

011

000

111

010

000

111

000

000

000

000

000

000

000

000

000

010

010

010

010

15

W dzisiejszych czasach można skonstruować blok komutacyjny o dowolnych wymiarach…

ZPT

y = (1,7,11,13,14,15)

16

MUX/DMUX w realizacji funkcji boolowskich

x3x2x1x0

1

y

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

x3x2x1x0

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

y

0

00000

000

0

1

1

1

111

ZPT 17

Bezpośrednie zastosowanie MUX/DMUX do realizacji funkcji boolowskich

… należy odłożyć do kosza!

Sensowne jest natomiast stosowanie tych układów do wspomagania procesu syntezy funkcji boolowskich

Dobrym przykładem jest zastosowanie dekoderów do zmniejszania liczby wyjść pamięci ROM w realizacjach zespołów funkcji boolowskich. Jest to problem z zadań 11.13 i 11.14 str. 194 skryptu ULOG w zadaniach.

ZPT

Komparator

A

n

B

n

K

„1 z 3”

A < B

A = B

A > B

1

0

0

0

1

0

0

0

1

0001 011100011001

Taki komparator można łatwo zbudować z bramek logicznych

ZPT

Komparator dla liczb 4-bitowych

kkk bai

33ba

B A B A gteq

A = a3a2a1a0 B = b3b2b1b0

A > B =

A < B =

A eq B = i3i2i1i0

i 0

i 1

i 2

i 3 a3

b3

a2

b2

a1

b1

a0

b0

19

223bai

001231123baiiibaii

A 1000B 0- - -

ZPT

Sumatory

Sumator – podstawowy BF powszechnie stosowany w technice DSP

Inne układy arytmetyczne:układy odejmowaniaukłady mnożąceukłady dzielenia

...są budowane z sumatorów

cn

c0

A

n

Bn

Y

n

A

20

ZPT

Najprostszy sumator

Kaskadowy – ripple carry adder

a bi i

yi

ci+1 ci

a b0 0

y0

c1 c0

a b

cn-1

n-1

yn-1

cn

n-1

cn

c0

A

n

B

n

Y

n

1001 0110

1111

C4=0

0111

0000

C4=1

Jak jest zbudowane pojedyncze ogniwo?

21

ZPT

Funkcje logiczne sumatora

a b c co y

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

22

y

co c

a b

0 0

0 1

0 1

1 0

0 1

1 0

1 0

1 1

ZPT

Funkcje logiczne sumatora

b)c(aabb)c(aaboc i

ci

bi

ai

y

)b(acbaciiiii1i

a b c co y

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

abc 00 01 11 10

0 0 1 0 1

1 1 0 1 0

abc 00 01 11 10

0 0 0 1 0

1 0 1 1 1

bacy

bacbac

bacbacbaccaby

23

y

co c

a b

0 0

0 1

0 1

1 0

0 1

1 0

1 0

1 1

ZPT

Sumator (Full adder)

icibiais

)(1 iiiiii

bacbac

ci

ai

bi

si

ci+1

24

ZPT 25

Bloki funkcjonalne c.d.

B. kombinacyjne B. sekwencyjne Pamięci

UkładyArytmetyczneKomparator

Sumator

UkładyKomutacyjne

MUXDMUXDEC

Rejestry

Równoległe Przesuwające

Liczniki

ZliczająceW górę W dół

ROM

ZPT

Rejestry

Rejestry buduje się z przerzutników typu D

CLK

D1 D3D2 D4Q1 Q3Q2 Q4

0 1 0 0

LOAD

0 1 0 0

Taki rejestr nazywamy równoległo-równoległym,krótko równoległym

Najprostszy rejestr: ładowanie (load) i pamiętanie

26

ZPT

Rejestr przesuwający

WE Q1 Q2 Q3 Q4

0 0 0 0 0

1 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

0 0 0 0 0

Q1 Q3Q2 Q4

wejścieszeregowe

D1 D2 D3 D40

SHR

clk

0 0 0 0 1 0

Taki rejestr nazywamy szeregowo-równoległym,krótko szeregowym

27

ZPT

Jak zbudować rejestr uniwersalny...

Q1 Q3Q2 Q4

CLK

wejścieszeregowe

D1 D2 D3 D4

tzn. taki, który wykonywałby funkcje zarówno rejestru

CLK

D1 D3D2 D4Q1 Q3Q2 Q4

równoległego

, jak też szeregowego

28

ZPT 29

...wystarczy rozbudować rejestr przesuwający

Q1 Q3Q2 Q4

CLK

wejścieszeregowe

D1 D2 D3 D4

Clock

D1

D0

D Q

Q

Sel

ZPT

Rejestr szeregowo-równoległy

Y := X LOADY := Y HOLD

Y := SHR(xp, Y)

R(Q)

clock

Y

x X

s1s2

Clock

D D D D

0

1

X

Y

xp

Clock

Wejścia równoległe

Wyjścia równoległe

Wejścieszeregowe

D

Q

D

Q

D

Q

D

Wejście sterujące

Q

0

1

Clock

30

Y := X LOADY := Y HOLD

Y := SHR(xp, Y)

R(Q)

clock

Y

xp

X

s1s2

Taki rejestr można rozbudowywać dalej uzyskując tzw. rejestr uniwersalny

ZPT

Mikrooperacje rejestru

1100

SHR – przesuwanie w prawo

LOAD

SHR

LOAD

HOLD

SHR

LOAD

HOLD

0010

01100011

0001

1100

31

Rejestr

clock

xR

0

ZPT

Liczniki…

LicznikE

clock

Q

E

S0 1

S0 S0 S1

S1 S1 S2

S2 S2 S3

S3 S3 S4

S7 S7 S0

…przykład syntezy licznika (zadanie 8.1 skrypt Układy logiczne w zadaniach)

…przykład syntezy licznika (zadanie 8.1 skrypt Układy logiczne w zadaniach)

32

Zaprojektować licznik mod 8 z wejściem zezwalającym E (Enable). Przerzutniki do realizacji dobrać tak, aby uzyskać najprostszy schemat logiczny licznika.

Zaprojektować licznik mod 8 z wejściem zezwalającym E (Enable). Przerzutniki do realizacji dobrać tak, aby uzyskać najprostszy schemat logiczny licznika.

ZPT

E

S0 1

EQ2Q1Q0

0 1

S0 S0 S1 000 000 001

S1 S1 S2 001 001 010

S2 S2 S3 010 010 011

S3 S3 S4 011 011 100

S4 S4 S5 100 100 101

S5 S5 S6 101 101 110

S6 S6 S7 110 110 111

S7 S7 s0 111 111 000

S’ Q2Q1Q0 Q2’Q1’Q0’

Zakodowana tablica przejść licznika

Tablica przejśćTablica przejśćZakodowana tablica przejśćkod binarny

Zakodowana tablica przejśćkod binarny

33

ZPT

EQ2Q1Q0

0 1E

Q2Q1Q00 1

000 000 001 000 000 001

001 001 010 001 001 010

010 010 011 011 011 100

011 011 100 010 010 011

100 100 101 110 110 111

101 101 110 111 111 000

110 110 111 101 101 110

111 111 000 100 100 101

Q2Q1Q0 Q2’Q1’Q0’ Q2Q1Q0 Q2’Q1’Q0’

Zakodowana tablica transformowana do tablicy Karnaugha

34

ZPT

EQ2Q1Q0

0 1E

Q2Q1Q00 1 0 1 0 1

000 000 001 000 0 0 0 0 0 1

001 001 010 001 0 0 0 1 1 0

011 011 100 011 0 1 1 0 1 0

010 010 011 010 0 0 1 1 0 1

110 110 111 110 1 1 1 1 0 1

111 111 000 111 1 0 1 0 1 0

101 101 110 101 1 1 0 1 1 0

100 100 101 100 1 1 0 0 0 1

Q2Q1Q0 Q2’Q1’Q0’ Q2Q1Q0 D2 D1 D0

Funkcje wzbudzeń dla przerzutników D

D2 = D2 = 1QQ2

0QQ2D1 = D1 = EQ1 D0 = D0 = EQ0EQ2

2Q1Q0EQ 1Q0EQ0QQ1 0EQ

QQ’ D

00 0

01 1

10 0

11 1

35

ZPT

EQ2Q1Q0

0 1E

Q2Q1Q00 1 0 1 0 1

000 000 001 000 0 0 0 0 0 1

001 001 010 001 0 0 0 1 0 1

011 011 100 011 0 1 0 1 0 1

010 010 011 010 0 0 0 0 0 1

110 110 111 110 0 0 0 0 0 1

111 111 000 111 0 1 0 1 0 1

101 101 110 101 0 0 0 1 0 1

100 100 101 100 0 0 0 0 0 1

Q2Q1Q0 Q2’Q1’Q0’ Q2Q1Q0 T2 T1 T0

T2 = T2 = EQ1Q0 T1 = T1 = T0 = T0 = EQ0 E

Funkcje wzbudzeń dla przerzutników TQQ’ T

00 0

01 1

10 1

11 0

36Errata do zad. 8.1 ze skryptu

ZPT

Schemat logiczny licznika1)

T0 Q

Q Clock

T1 Q

Q

Enable T2 Q

Q

11QT102

01

0

QEQTEQTET

1) Najprostszy na świecie

EQEQD 000

EQQQQEQD 010111

EQQQQQEQQQD 012022122

37

ZPT

E

A0 1

A0 A0 A1

A1 A1 A2

A2 A2 A3

A3 A3 A4

A4 A A5

A14 A14 A15

A15 A15 A0

222103

11102

01

0

QTQQEQTQTQEQT

EQTET

38

T Q

Q Clock

T Q

Q

Enable T Q

Q

T Q

Q

Schemat ten można uogólnić…

ZPT

T Q

Q Clock

T Q

Q

Enable

Rst

T Q

Q

T Q

Q

Wada: jest to licznik bez funkcji: LOAD (ładowanie)

0 1 0 0

Realizacja funkcji ładowania dla przerzutników T jest niemożliwa

Licznik 4-bitowy

39

Jak wybrnąć z tej sytuacji?

Trzeba znać i rozumieć układy logiczne!

z powodzeniem może być wykorzystany do realizacji licznika uniwersalnego

ZPT

Przerzutnik T realizowany z D

D

Q0 1

0 0 1

1 0 1

Q’ = D

T

Q0 1

0 0 1

1 1 0

Równanie charakterystyczne: Q’ = f(I1,I2,Q)

QTQTQ'

D = QTQT D Q

Q

T

clk

40

ZPT

Licznik z wpisem równoległym..

T Q

Q Clock

T Q

Q

Enable

Rst

T Q

Q

T Q

Q

D Q

Q

T

clk

…uzyskamy, zastępując przerzutniki T…

41

ZPT

Licznik z przerzutnikami D

42

Wprowadzając taką zmianę, jak też wprowadzając przed wejście każdego D multiplekser, uzyskujemy strukturę licznika z mikrooperacją wpisu równoległego.

ZPT

Licznik z wpisywaniem równoległym

EnableD Q

Q

Q 0

D Q

Q

Q 1

D Q

Q

Q 2

D Q

Q

Q 3

D 0

D 1

D 2

D 3

LoadClock

Outputcarry

0 1

0 1

0 1

0 1

Wejściarównoległe Wyjścia

równoległe

43

ZPT

Licznik z wpisywaniem równoległym

EnableD Q

Q

Q 0

D Q

Q

Q 1

D Q

Q

Q 2

D Q

Q

Q 3

D 0

D 1

D 2

D 3

LoadClock

Outputcarry

0 1

0 1

0 1

0 1

44

Y := X LOADY := Y HOLD

Y := Y+1 COUNT

L(Q)

clock

Y

X

s1s2

ZPT

Mikrooperacje licznika

Licznik

clock

1100

Zliczanie

LOAD

COUNT

LOAD

HOLD

COUNT

LOAD

HOLD

0010

11011110

1111

1100

45

ZPT

Pamięci typu ROM

N słów (komórek) m-bitowych

A ROMN m

X0

Xi

XN-1

n

Y

m

N = 2n

W każdym komórce pamięci zapisane jest słowo m-bitowe

Pamięć ROM jest uniwersalnym układem kombinacyjnym

46

ZPT

Pamięci typu ROM

Adres

ROM8 4

0

1

2

3

4

5

6

7

000

001

101

1 1 1 1

0 1 1 01 1 1 0

0 1 1 0

0 1 1 00 1 0 1

0 0 0 0

0 1 1 01 1 1 0

0 1 0 11 1 1 1

47

ZPT

Więcej o cyfrowych blokach funkcjonalnych w…

48