background image

1

I

T
P

W

ZPT

Układy cyfrowe

Układy logiczne (cyfrowe) konstruowane są 
w różnych technologiach i na różnych 
poziomach opisu. 

Poziomy opisu:

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

D

Clk

Clk

Q

Q

Y

B

A

n

n

n

Y

n - 1

Z

O V R

P

G

c

n

c

0

S

A L U

R

(Q)

s

1

s

2

clock

X

Y

x

l

x

p

L

(Q)

s

1

s

2

clock

X

Y

background image

2

I

T
P

W

ZPT

Układ

sterujący

(kontroler

)

Dane wyjściowe

Dane

wejściowe

Sygnały

sterujące

Stan części

operacyjnej

Układ operacyjny

(Datapath)

System cyfrowy

0

1

0

1

0

1

0

1

0

1

0

1

0

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Mikrooperacje 

wywoływane przez

sygnały sterujące

background image

3

I

T
P

W

ZPT

System cyfrowy…

D, F - przetwarzana 
informacja (wektory 
binarne),

UO - układ operacyjny

US - układ sterujący

X

Z

X

P

Z

Y

Z

D

F

X - sygnały warunków,

Z - sygnały sterujące 
(mikrorozkazy)

US

UO

background image

4

I

T
P

W

ZPT

System cyfrowy - realizacja

UO – z bloków funkcjonalnych

US – automat lub układ mikroprogramowany 

X

Z

X

P

Z

Y

Z

D

F

US

UO

background image

5

I

T
P

W

ZPT

Bloki funkcjonalne

P

S

X

Y

BF

clk

– wejścia sygnałów 

reprezentujących

 dane wejściowe

S – wejścia sterujące, 

Y – wyjścia sygnałów 
reprezentujących dane 
wyjściowe,

– wyjścia predykatowe, 
sygnalizujące pewne 
szczególne stany 
przetwarzania danych,

clk   wejście zegarowe

background image

6

I

T
P

W

ZPT

Bloki 

funkcjonalne

B. kombinacyjne B. sekwencyjne Pamięci

Układy

arytmetyczne

Sumator

Układ odejmujący

Komparator

Układy

Komutacyjne

MUX

DMUX

DEC

Rejestry

Równoległe 
Przesuwające

Liczniki

Zliczające
W górę 
W dół

ROM

(RAM)

background image

7

I

T
P

W

ZPT

Multipleksery, demultipleksery

a

n - 1

a

0

y

e

d

d

d

0

1

N - 1

a

n - 1

a

0

e

d

y

y

y

0

1

N - 1

k = L(A), 

P

k

  – pełny 

iloczyn

1

N

0

k

k

k

(A)d

P

e

y

 MUX

 DMUX

N = 2

n

(A)d

eP

y

k

k

background image

8

I

T
P

W

ZPT

Multipleksery

1

N

0

k

k

k

(A)d

e

y

P

gdzie P

k

(A) oznacza 

pełny iloczyn zmiennych
 a

n–1

,...,a

0

, prostych lub 

zanegowanych, zgodnie 
z reprezentacją binarną 
liczby k

1

0

ad

d

a

y

3

0

1

2

0

1

1

0

1

0

0

1

d

a

a

d

a

a

d

a

a

d

a

a

y

7

0

1

2

6

0

1

2

5

0

1

2

4

0

1

2

3

0

1

2

2

0

1

2

1

0

1

2

0

0

1

2

d

a

a

a

d

a

a

a

d

a

a

a

d

a

a

a

d

a

a

a

d

a

a

a

d

a

a

a

d

a

a

a

y

      

Dla n = 1 (MUX 2 : 1):

  dla n = 2 (MUX 4 : 1):

dla n = 3 (MUX 8 : 1): 

background image

9

I

T
P

W

ZPT

Multiplekser

e = 1

0

1

2

3

0 0

0

3

0

1

2

0

1

1

0

1

0

0

1

d

a

a

d

a

a

d

a

a

d

a

a

y

0 1

1 1

0

1

1

0

1

1

background image

10

I

T
P

W

ZPT

Demultiplekser

e = 1

0
1
2
3

0

0

0

d

a

a

y

d

a

a

y

d

a

a

y

d

a

a

y

0

1

3

0

1

2

0

1

1

0

1

0

0

0

0

0

0

0

0 0

0 1

1 1

1

1

1

1

background image

11

I

T
P

W

ZPT

Multipleksery, demultipleksery

3

0

1

2

0

1

1

0

1

0

0

1

d

a

a

d

a

a

d

a

a

d

a

a

y

d

0

d

1

d

2

d

3

a

0

a

1

e

y

Multiplekse

r

a

0

a

1

e

y

0

d

y

1

y

2

y

3

d

a

a

y

d

a

a

y

d

a

a

y

d

a

a

y

0

1

3

0

1

2

0

1

1

0

1

0

   

   

Demultipleks

er

background image

12

I

T
P

W

ZPT

Multipleksery kaskadowe

background image

13

I

T
P

W

ZPT

Multipleksery grupowe

A

B

A

B

background image

14

I

T
P

W

ZPT

Bloki komutacyjne

Multiplekser służy do 
wybierania jednego z wielu słów 
wejściowych i przesyłania go na 
wyjście. Na wyjściu Y pojawia 
się słowo wejściowe wskazane 
adresem A (wg naturalnego 
kodu binarnego). 

Demultiplekser służy do 
przesyłania słowa X 
wejściowego na jedno z 
wielu wyjść; numer tego 
wyjścia jest równy 
aktualnej wartości adresu. 

X

0

X

j

X

N-1

Y

n

A

b

Y

 

0

 

Y

 

j

 

Y

 

N-1

 

n

 

A

 

b

 

X

 

background image

15

I

T
P

W

ZPT

Zastosowanie MUX do realizacji funkcji 

boolowskich

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

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

y

0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1

x

3

x

2

x

1

x

0

background image

16

I

T
P

W

ZPT

Zastosowanie MUX/DMUX do realizacji funkcji 

boolowskich

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

b

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

Istnieją układy FPGA, w 
których komórki są 
MULTIPLEKSERAMI
Ich synteza 
 metody BDD 

x

3

x

2

x

1

x

0

y

1

background image

17

I

T
P

W

ZPT

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 = 
2

n

DMU
X

DEKODER

background image

18

I

T
P

W

ZPT

Realizacja funkcji na dekoderach

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

Pojedyncza funkcja

0

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

x

3

x

2

x

1

x

0

y

background image

19

I

T
P

W

ZPT

Realizacja funkcji na dekoderach

0

1

2

3

4

5

6

7

F

1

 = 

(1,3,5)

Zespół funkcji

F

2

 = 

(1,3,7)

F

3

 = 

(0,3,6)

F

1

F

2

F

3

x

2   

x

1  

x

0

background image

20

I

T
P

W

ZPT

Układy arytmetyczne

Najprostszy sumator – ripple carry adder 

a  b

i

i

y

i

c

i+1

c

i

a  b

0

0

y

0

c

1

c

0

a   b  

c

n-1

n-1

y

n-1

c

n

n-1

c

n

c

0

A

n

B

n

Y

n

1111

0

1001

0110

0

background image

21

I

T
P

W

ZPT

Funkcje logiczne sumatora

0
0
0
1
0
1
1
1

b)

c(a

ab

b)

c(a

ab

o

c

i

c

i

b

i

a

i

   y

)

b

(a

c

b

a

c

i

i

i

i

i

1

i

a

b

c

c

0

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

y

c

o

c

a  b

ab

c

00

01

11

10

0

0

1

0

1

1

1

0

1

0

ab

c

00

01

11

10

0

0

0

1

0

1

0

1

1

1

b

a

c

y

b

a

c

b

a

c

      

b

a

c

b

a

c

b

a

c

cab

y

0
1
1
0
1
0
0
1

background image

22

I

T
P

W

ZPT

Naturalny kod binarny - NKB

A

NKB

 = <

 

a

n–1

 ,..., a

j

 ,..., a

>  

{0,1} 

1

n

0

j

j

j

NKB

D

2

a

A

L

A

background image

23

I

T
P

W

ZPT

Kod U2

A

U2

 = <a

n–1

 ,..., a

j

 ,..., a

0

>, gdzie a

j

  {0,1}

Zakres: –2

n–1

 ≤  A

D

  ≤  2

n–1 

– 1 

 

2

n

0

j

j

j

1

n

1

n

U2

D

2

a

2

a

A

L

A

Bit a

n–1

 można interpretować jako bit znaku. 

Jeśli a

n–1

 = 0, to liczba jest dodatnia; 

jeśli  a

n–1

 = 1 to liczba jest ujemna; pozostałe bity 

stanowią uzupełnienie (różnicę) wartości liczby do 
najwyższej potęgi liczby 2

<0101>│

U2

 = +5│

D

; <1011>│

U2

 = –

5│

D

background image

24

I

T
P

W

ZPT

Sumator/układ odejmujący 

Jak z sumatora zbudować układ odejmujący?

Y = A – B = A + (–B|

U2

)

1

Y

A

c

n

c

0

n

n

B

n

X O R

n

0

Dla c

0

 = 0

Y = A + 0 + 0 = A + 

Y = A + B  c

0

 + c

0

c

0

  {0,1}

B

–B|

U2

 =      +1 = B1 + 1

–B|

U2

 =      +1 = B1 + 1

–B|

U2

 =      +1 = B1 + 1

Dla c

0

 = 1

Y = A +    + 1 = A – 
B

B

B

B

B


+

1

background image

25

I

T
P

W

ZPT

Zastosowania

Jednostka arytmetyczno-logiczna

Y

B

A

n

n

n

Y

n - 1

Z

O V R

P

G

c

n

c

0

S

A L U

Arytmometr (układ 
wykonawczy: 
mikrokontrolera, procesora 
sygnałowego)

Inne układy 
arytmetyczne:

układy mnożące
układy 
kryptograficzne

...są budowane z sumatorów  

background image

26

I

T
P

W

ZPT

Komparator

A

n

B

n

K

„1 z 3”

A < B
A = B
A > B

background image

27

I

T
P

W

ZPT

Sekwencyjne bloki funkcjonalne

Rejestry

Liczniki

L

( Q )

s

1

s

2

c lo c k

X

Y

R

( Q )

s

1

s

2

c lo c k

X

Y

x

l

x

p

Y := X     LOAD
Y := Y     HOLD

Y := <0...0> RESET

(CLEAR)

Y :=  SHR(x

p

Y)
Y
 :=  SHL(Y, x

l

)

Y := Y + 1 = INC(Y)
Y
 := Y – 1 = DEC(Y)

background image

28

I

T
P

W

ZPT

Prosty 

rejestr

Rejestr zbudowany z przerzutników
– ładowanie (load)  i pamiętanie

CLK

P

1

P

2

P

3

P

4

D

1

D

3

D

2

D

4

Q

1

Q

3

Q

2

Q

4

0

1

0

0

LOAD

0

1

0

0

background image

29

I

T
P

W

ZPT

Rejestr przesuwający

WE

Q

1

Q

2

Q

3

Q

4

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

Q

1

Q

3

Q

2

Q

4

wejście

szeregowe

D

1

D

2

D

3

D

4

0

SHR

clk

0000 10

background image

30

I

T
P

W

ZPT

Mikrooperacje  licznika

L ic z n ik

c lo c k

1100

Zliczanie

LOAD

COUNT

LOAD

HOLD

COUNT

LOAD

HOLD

0010

1101

1110

111
1

1100

background image

31

I

T
P

W

ZPT

Bloki funkcjonalne

Pamięci

ROM

(Read Only Memory)

RAM

(Random Access 
Memory
)

background image

32

I

T
P

W

ZPT

Pamięci typu ROM

ROM – uniwersalny układ kombinacyjny

A

ROM
m  n

X

0

X

i

X

m-1

p

Y

n

background image

33

I

T
P

W

ZPT

Pamięci typu ROM

Adres

ROM
8  4

0
1
2
3
4
5
6
7

0
0
0

0
0
1

1
0
1

1   1   1   1

0   1   1   0
1   1   1   0

0   1   1   0

0   1   1   0
0   1   0   1

0   0   0   0

0   1   1   0

1   1   1   0

0   1   0   1

1   1   1   1

background image

34

I

T
P

W

ZPT

Pamięci typu ROM

(struktura)

y 3   y 2   y 1   y 0

M A T R Y C A   O R

( P R O G R A M O W A L N A )

D

C

B

A

M A T R Y C A  A N D

( S T A L A )

1010

0111

background image

35

I

T
P

W

ZPT

Synteza strukturalna 

1. Analiza algorytmu pracy układu (sieci działań)

– zmienne,  operacje

2. Dobór bloków funkcjonalnych do przechowywania

zmiennych i wykonywania operacji 

3. Dobór bloków komutacyjnych

Bloki funkcjonalne są stosowane w syntezie układów 
wykonawczych (operacyjnych).

background image

36

I

T
P

W

ZPT

Przykład

B

 D

0

       D

n-1

Y

 M

 M(I)

 I

  

  

S

B := M(I)

Y := 0

B := M(I)

Y := 0

Y = M(I)

Y = M(I)

Y := B + Y

Y := B + Y

I := I + 1

I := I + 1

B := M(I)

B := M(I)

B := B  Y

B := B  Y

B := B/2

B := B/2

Y := B + Y

Y := B + Y

I := 0

I := 0

NIE

0

1

TAK

Rozważmy przykład syntezy układu 
cyfrowego pobierającego dane z wejść 
D

0

,..., D

n–1

 w celu ich przetworzenia w 

rejestrach  i  Y.  Układ operacyjny ma 
przetwarzać informację M
() pobieraną z 
n
 źródeł D

0

,...,D

n–1

 za pośrednictwem 

multipleksera M adresowanego licznikiem 
I

background image

37

I

T
P

W

ZPT

Przykład

S

B := M(I)

Y := 0

B := M(I)

Y := 0

Y = M(I)

Y = M(I)

Y := B + Y

Y := B + Y

I := I + 1

I := I + 1

B := M(I)

B := M(I)

B := B  Y

B := B  Y

B := B/2

B := B/2

Y := B + Y

Y := B + Y

I := 0

I := 0

NIE

0

1

TAK

B := M(I)

B := M(I)

B := B/2

B := B/2

B := B  Y

B := B  Y

Y := B + Y

Y := B + Y

Warunek Y = M(I)

Warunek Y = M(I)

background image

38

I

T
P

W

ZPT

B

Y

 M(I)

Y

c

0

 K

 do US
Y = M(I)

Y := 0

Y := B + Y

B := X

B := B/2

 X

Przykład c.d.

NOT

B := M(I)

B := M(I)

B := B/2

B := B/2

B := B  Y

B := B  Y

Y := B + Y

Y := B + Y

Warunek Y = M(I)

Warunek Y = M(I)

 (SHR(B))

B := B  Y

B := B  Y

Y := B + Y

Y := B + Y

background image

39

I

T
P

W

ZPT

Y

Y

 K

 do US
Y = M(I)

Y := 0

Y := B + Y

 X

v

 M(I)

B := X

B := B/2

B

Przykład c.d.

B := B  Y

B := B  Y

Y := B + Y

Y := B + Y

EXOR

1

gdy V

,

Y

0

gdy V

Y,

Y

V

background image

40

I

T
P

W

ZPT

Przykład c.d.

UO

M(I)

Y

Y = M(I)

7 (+2)

US

S

B

Y

 M(I)

Y := 0

Y := B + Y

 X

B := X
B := B/2

EXOR

v

c

0

Y

 0

v

 Y

 Y

B + Y

B + Y

Warunek 

Y = M(I)

Warunek 

Y = M(I)

Warunek 

F = M(I) – Y = 0

Warunek 

F = M(I) – Y = 0

F

background image

41

I

T
P

W

ZPT

Przykład c.d.

S

B := M(I)

Y := 0

B := M(I)

Y := 0

Y := B + Y

Y := B + Y

I := I + 1

I := I + 1

B := M(I)

B := M(I)

B := B  Y

B := B  Y

B := B/2

B := B/2

Y := B + Y

Y := B + Y

I := 0

I := 0

NIE

0

1

TAK

A

8

A

1

Y = M(I)

Y = M(I)

A

0

A

2

A

3

A

4

A

5

A

6

A

7

F = M(I)  Y

F = M(I)  Y

F = 0

F = 0

S = x

0

S = x

0

[F = 0] = x

1

[F = 0] = x

1

- -

A

0

/Z

1

A

0

/Z

1

A

1

/Z

2

A

1

/Z

2

A

2

/Z

3

A

2

/Z

3

A

3

/Z

4

A

3

/Z

4

A

4

/Z

5

A

4

/Z

5

A

5

/Z

6

A

5

/Z

6

A

6

/Z

7

A

6

/Z

7

A

7

/Z

8

A

7

/Z

8

A

8

/Z

9

A

8

/Z

9

- -

- -

- -

- 1

- 0

- -

- -

- -

1 -

0 -

x

1

x

0

x

1

x

0

background image

42

I

T
P

W

ZPT

Przykład c.d.

x

1

x

0

A

00 01 11 10

Z

A

0

A

0

A

1

A

1

A

0

Z

1

A

1

A

2

A

2

A

2

A

2

Z

2

A

2

A

3

A

3

A

3

A

3

Z

3

A

3

A

4

A

4

A

4

A

4

Z

4

A

4

A

5

A

5

A

5

A

5

Z

5

A

5

A

6

A

6

A

6

A

6

Z

6

A

6

A

7

A

7

A

7

A

7

Z

7

A

7

A

8

A

8

A

8

A

8

Z

8

A

8

A

3

A

3

A

0

A

0

Z

9

- -

A

0

/Z

1

A

0

/Z

1

A

1

/Z

2

A

1

/Z

2

A

2

/Z

3

A

2

/Z

3

A

3

/Z

4

A

3

/Z

4

A

4

/Z

5

A

4

/Z

5

A

5

/Z

6

A

5

/Z

6

A

6

/Z

7

A

6

/Z

7

A

7

/Z

8

A

7

/Z

8

A

8

/Z

9

A

8

/Z

9

- -

- -

- -

- 1

- 0

- -

- -

- -

1 -

0 -

x

1

x

0

x

1

x

0


Document Outline