Prez IMiIB pl nowyzib.mchtr.pw.edu.pl/downloads/Przedmioty/LUP/LUP_wyk_1_stud.pdf · * Podstawy...

106
Instytut Metrologii i Inżynierii Biomedycznej Politechnika Warszawska Warszawa, 2011 dr inż. Jakub Żmigrodzki E-mail: [email protected] ul. Św. Andrzeja Boboli 8, 02-525 Warszawa Logiczne Układy Programowalne Wykład I Podstawy techniki cyfrowej (przypomnienie)

Transcript of Prez IMiIB pl nowyzib.mchtr.pw.edu.pl/downloads/Przedmioty/LUP/LUP_wyk_1_stud.pdf · * Podstawy...

Instytut Metrologii i Inżynierii Biomedycznej

Politechnika Warszawska

Warszawa, 2011

dr inż. Jakub ŻmigrodzkiE-mail: [email protected]

ul. Św. Andrzeja Boboli 8, 02-525 Warszawa

Logiczne Układy ProgramowalneWykład I

Podstawy techniki cyfrowej(przypomnienie)

2

LITERATURA

● Język VHDL : projektowanie programowalnych układów logicznych; Kevin Skahill; Warszawa; WNT; 2004.

● Projektowanie złożonych układów cyfrowych; Marek Pawłowski, Andrzej Skorupski; Warszawa, WKŁ, 2010.

● Podstawy elektroniki cyfrowej; Józef Kalisz; Warszawa, WKŁ, 2007.

● Wprowadzenie do języka VERILOG; Zbigniew Hajduk; Legionowo, BTC, 2009.

● Układy FPGA w przykładach; Jacek Majewski, Piotr Zbysiński; Warszawa; BTC, 2007.

● Podstawy techniki cyfrowej; Andrzej Skorupski; Warszawa, WKŁ, 2004.

● Układy cyfrowe; Wojciech Głowacki; Warszawa, Wydawnictwo Szkolne i Pedagogiczne, 1998.

● Projektowanie układów cyfrowych z wykorzystaniem języka VHDL; Mark Zwoliński; Warszawa, WKŁ, 2007.

● Portal firmy Altera Corporation - http://www.altera.com

● Portal firmy Xilinx - http://www.xilinx.com/

3

PLAN WYKŁADU

1.Układy kombinacyjne,

2.Układy sekwencyjne,

3.Elementy pamięciowe,

4.Właściwości cyfrowych układów scalonych.

5.Podstawowe bloki cyfrowe,

4

UKŁADY LOGICZNE

Układy logiczne

Kombinacyjne

Stan wyjściowy zależy wyłącznie od obecnego stanu wejściowego.

brak pamięci

…...................

Stan wyjściowy zależy od zależy od historii stanów poprzednich S i

stanów wejściowych X.zawiera pamięć

5

UKŁADY KOMBINACYJNE

f(a, b)|→ AND(iloczyn)

NAND(f. Sheffera)

OR(suma)

NOR(f. Peirce'a)

XOR(nierowność)

XNOR(równość)

a b ab (ab) a+b (a+b) a b a b

0 0

0 1

1 0

1 1

Inne oznaczenia ↓ |a∧ba∩ba⋅b

a∨ba∪bab

Podstawowe funkcje logiczne dwóch zmiennych

Stosowane oznaczenia negacji: a, ~a, !a, ¬a, a', NOT a

6

UKŁADY KOMBINACYJNEAlgebra Boole'a

OR AND

Łączność a+(b+c)=(a+b)+c a∙(b∙c)=(a∙b)∙c

Przemienność a+b=b+a a∙b=b∙a

Absorpcja a+(a∙c)=(a+b)∙(a+c) a∙(a+b)=(a∙b)+(a∙c)

Rozdzielność a+(b∙c)=(a+b)∙(a+c) a∙(b+c)=(a∙b)+(a∙c)

Pochłanianie a+a=1 a∙a=0

Własności stałych

a+0=a a∙0=0

a+1=1 a∙1=a

Prawa De Morgana

…......................... ….......................

Idempotnetność a+a=a a∙a=a

Podwójna negacja

a=a

a ,b , c∈{0,1}

7

UKŁADY KOMBINACYJNESystemu funkcjonalne pełne

System funkcjonalnie pełny (SFP) to zbiór operacji, który umożliwia przedstawienie każdej funkcji logicznej w postaci wyrażenia zawierającego operatory wchodzące w skład tego systemu:

● Podstawowy system SFP to operatory …......., …........, ….........;

● Systemy zawierające tylko jeden operator:

● System NOR (↓) - a= a↓a; a + b = (a b↓ ); a · b = (a↓b);

● System NAND (|) - a= a|a; a + b = (a|b); a · b = (a|b);

8

UKŁADY KOMBINACYJNE

& &

≥1 ≥1

=1 =1

1

AND/NAND

OR/NOR

XOR/XNOR

BUF./NOT

Norma IEEE (amerykańska) Norma IEC (europejska)

1

9

UKŁADY KOMBINACYJNE

Symbole równoważne elementów logicznych

10

UKŁADY KOMBINACYJNE

&◊

≥1◊

&

≥1

DAND(Distributed AND)

DOR(Distributed OR)

Norma IEEE (amerykańska)

Norma IEC(europejska)

Zwarcie wyjść typu otwarty …..........

Połączenia typu otwarty dren lub otwarty kolektor

Zwarcie wyjść typu otwarty …...........

Sposób realizacji

11

UKŁADY KOMBINACYJNE

Logika dodatnia

Logika ujemna

H -wysoki 1 0

L - niski 0 1

Wartości abstrakcyjnych stanów logicznych(0 – fałsz, 1 - prawda).

…........... logiczne

…............. logiczne

Aby rozróżnić wejścia układów logicznych pracujących w różnych konwencjach stosuje się symbol polaryzacji ( ) przy tych wejściach, które pracują w konwencji logiki ujemnej.

&

12

ZŁOŻONE UKŁADY KOMBINACYJNE

XOR y = → ab + aba

b

y=ab + ab

a

bab

ab

y=a⋅b⋅a⋅a⋅b⋅b=a⋅b⋅aa⋅b⋅b=ab⋅aab⋅b==a⋅a a⋅ba⋅bb⋅b=a⋅ba⋅b XOR

a

b

a⋅b

a⋅b⋅a

a⋅b⋅b

y=a⋅b⋅a⋅a⋅b⋅b

Realizacja funkcji XOR z użyciem różnych bramek logicznych

Realizacja funkcji XOR z użyciem jedynie bramek NAND logicznych

Różne struktury realizujące tą samą funkcję

13

UKŁADY KOMBINACYJNE OPTYMALIZACJA

Metody minimalizacji form boolowskich:

● Metoda siatek Karnaugh,

● Metoda Quine'a-McCluskea,

● inne.

Kryteria optymalizacji:

● Minimalna złożoność układowa,

● Maksymalna szybkość działania (minimalne opóźnia propagacji),

● Minimalny koszt (z reguły związany z minimalną złożonością układową),

● Maksymalna niezawodność.

14

UKŁADY SEKWENCYJNE

W układach sekwencyjnych stan wyjściowy zależy od zależy od historii stanów poprzednich S i stanów wejściowych X - zawierają pamięć.

St+τ=g(St, Xt)

Automat Mealy'egoYt=f(St, Xt)

Automat Moore'aYt=f(St)

g

fS

X

Y

Automat – model matematyczny układu sekwencyjnego określony przez:● X – stan wejść,● Y – stan wyjść,● S – stan wewnętrzny,● g – funkcja przejść,● f – funkcja wyjść.

15

UKŁADY SEKWENCYJNE

g

fS

X

Y

Automat Mealy'ego

XX

1X

2S

S1

S2, Y

2S

1, Y

2

S2

S3, Y

3S

2, Y

1

S3

S2, Y

2S

1, Y

3

Przykład opisu automatu Mealy'ego w postaci symbolicznej za pomocą:

Grafu przejść Tablicy przejść

X={X1, X2}, S={S1, S2, S3}, Y={Y1, Y2, Y3}

S1

S2

S3

X1, Y

2

X2, Y

2X1, Y

2

X1, Y

3X2, Y

3

X2, Y

2

S+, Y

16

UKŁADY SEKWENCYJNE

Automat Moore'a

XX

1X

2X

3 YS

S1

S2

S1

S3

Y2

S2

S3

S1

S2

Y2

S3

S1

S3

S2

Y1

Przykład opisu automatu Moore'a w postaci symbolicznej za pomocą:

Grafu przejść Tablicy przejść

X={X1, X2, X3}, S={S1, S2, S3}, Y={Y1, Y2}

Xg f

SY

S1

Y2

S2

Y2

S3

Y1

X1

X3

X3 X

1X1

X2

X3

X2

X2

S+

17

UKŁADY SEKWENCYJNE

Synchroniczne Asynchroniczne

Układy sekwencyjne

● Nie posiadają wejścia synchronizującego.● Reagują natychmiast na zmianę stanu X

(zmiana stanu S lub Y może nastąpić jedynie po zmianie stanu X)

● Każdy nowy stan St+τ ustala się po niezerowym czasie τ (wynikającym z opóźnień wprowadzanych przez rzeczywiste elementy z których zbudowany jest automat).

● Możliwość wystąpienia …........... i …............

● Posiadają wejście synchronizujące nie będące elementem wektora X.

● Reagują na zmianę stanu X tylko w …............ chwilach czasu określonych przez sygnał synchronizujący.

● Kolejne stany S ustalają się po opóźnieniu τ które musi być krótsze od czasu T0 pomiędzy kolejnymi impulsami synchronizującymi.

St+τ St+1 St+ St+τ St+

Układy synchroniczne nie posiadające żadnych wejść X nazywamy układami autonomicznymi.

Stosowane nazwy dla sygnału/wejścia synchronizującego: zegarowe, taktujące, sterujące.Stosowane oznaczenia dla sygnału/wejścia synchronizującego: C, CK, CP, CLK, CLOCK.

18

UKŁADY SEKWENCYJNE

SR00 01 11 10

Q

0 0 0 0 1

1 1 0 0 1

Q+

Układasynchroniczny

Układsynchroniczny

S

RC

Q

Q

S

R

Q

Q

S

R

Q

Q

c

19

UKŁADY SEKWENCYJNE

Wybór rodzaju automatu

Zaleca się stosowanie w pełni synchronicznych automatów Moore'a, gdyż jest to układ łatwiejszy w realizacji, testowaniu i zastosowaniach niż układ Mealy'ego.*

* Podstawy elektroniki cyfrowej; Józef Kalisz; Warszawa, WKŁ, 2007.

Automat Moore'a Automat Mealy'ego

Wyjaśnienie

Ilość stanów wewnętrznych S

Więcej Mniej W układzie Mealy'ego stan wyjść zależy bezpośrednio od stanu wejść.

Synchroniczna zmiana stanów wyjściowych

…............................................................................................................................

Nie zawsze ….....................................................................................................................................................................................................................................

20

UKŁADY SEKWENCYJNE

Projektowanie układów sekwencyjnych

1.Zdefiniowanie obiektu i jego funkcji – stworzenie opisu zewnętrznego (np.: pary X, Y).

2.Wybór metod i środków realizacji (np.: Moore czy Mealy).

3.Synteza (minimalizacja stanów wewnętrznych, kodowanie stanów).

4.Weryfikacja (np: symulacja komputerowa).

21

UKŁADY SEKWENCYJNE

Elementy pamięciowe

…...................(latch)

….................. (flip-flop)

Są to układy …...............- zmiany na wejściach powodują natychmiastową zmianę na wyjściach (jeśli układ jest bramkowany to przy aktywnym stanie sygnału bramkującego).

Podstawowe rodzaje zatrzasków:● SR,● bramkowany SR (gated SR latch),● D.

Są to układy ….................. - zmiany na wyjściach zmieniają się zgodnie z sygnałem synchronizującym.

Podstawowe rodzaje przerzutników:● SR,● D,● JK,● T.

22

UKŁADY SEKWENCYJNEZatrzaski SR (Set-Reset)

S

R Q

Q

t t+τ

S R Q+ Q+

0 0 Q Q

0 1 0 1

1 0 1 0

1 1 0 0

Symbolblokowy

Budowalogiczna

Tablicafunkcyjna

S

R Q

Q

t t+τ

S R Q+ Q+

1 1 Q Q

1 0 0 1

0 1 1 0

0 0 1 1

S

R Q

Q

C

t t+τ

S R C Q+ Q+

0 0 x Q Q

0 1 1 0 1

1 0 1 1 0

1 1 1 0 0

x x 0 Q Q

SR SR Bramkowany SR(gated SR)

Stany …...................

S

R

Q

Q

C

R

S

Q

Q

23

UKŁADY SEKWENCYJNEZatrzaski SR (Set-Reset)

S

RC

Q

Q

S

R

Q

Q

SR

Q

Q

c

SR…......................

SR…....................

24

UKŁADY SEKWENCYJNEZatrzask D

t t+τ

D C Q+ Q+

0 1 …. ….

1 1 …. ….

x 0 …. ….

D

Q

Q

C

D

Q

Q

C

D

Q

C

zatrzaśnięcie

25

UKŁADY SEKWENCYJNEPrzerzutnik SR MS

S

R Q

Q

C

S

R Q

Q

C

S

C

R

Q

Q

S

R Q

Q

C

Master Slave

t t+τ

S R C Q+ Q+

0 0 Q Q

0 1 0 1

1 0 1 0

1 1 nieokreślone

x x 0 Q QStan zabroniony

26

UKŁADY SEKWENCYJNEPrzerzutnik JK MS

S

R Q

QS

R Q

QJ

K

C

Q

Q

J

K Q

Q

C

t t+τ

S R C Q+ Q+

0 0 Q Q

0 1 0 1

1 0 1 0

1 1 Q Q

x x 0 Q Q

Master Slave

27

UKŁADY SEKWENCYJNEPrzerzutnik D MS

D

Q

Q

C

D

Q

Q

C

Q

Q

D

C

D

Q

Q

CD

Q

Q

C

Master Slave

t t+τ

D C Q+ Q+

0 0 1

1 1 0

x 0 Q Q

x 1 Q Q

D

Q

C

zatrzaśnięcie

Symbole oznaczające Wyzwalanie …............. (wejście dynamiczne)

Przerzutnik D MS jest wyzwalany zboczem.

28

UKŁADY SEKWENCYJNEPrzerzutnik JK MS wyzwalany zboczem

D

Q

Q

C

Q

Q

K

C

J

J

K Q

Q

C

t t+τ

S R C Q+ Q+

…. …. Q Q

…. …. 0 1

…. …. 1 0

…. …. Q Q

…. …. 0 Q Q

…. …. 1 Q Q

29

UKŁADY SEKWENCYJNEPrzerzutnik T

D

Q

Q

C

Q

Q

TC lub

T

Q

Q

C

t t+τ

D C Q+ Q+

0 Q Q

1 Q Q

x 0 Q Q

x 1 Q Q

30

UKŁADY SEKWENCYJNE…..................... przerzutnik T

D

Q

Q

C

Q

Q

T

J

K Q

Q

CT

Q

Q

J

K Q

Q

CT

Q

Q„1”

31

UKŁADY SEKWENCYJNEWejścia dodatkowe przerzutników

Spotykane w praktyce przerzutniki mogą zawierać dodatkowe wejścia takie jak:● Wejście zerowania (Reset, R, Clear, CLR),● Wejście ustawiania (Set, S, Preset, PR),● Wejście zezwolenia (EN, Enable, CE, Clock Enable).

Dodatkowe wejścia mogą być:● Synchroniczne,● Asynchroniczne.

D

Q

Q

C

EN

S

R

32

UKŁADY SEKWENCYJNEDodatkowe wejście Enable

D

Q

Q

C

Q

Q

EN

C

D

D

Q

Q

C

EN

D

Q

Q

C

Q

QEN

D

C

Dobrze Źle

W takim rozwiązaniu zmiana stanu przerzutnika może nastąpić przy …................................ zmianie stanu wejścia EN 0/1, zamiast przy narastającym zboczu sygnału C.

t t+τ

D EN C Q+ Q+

0 1 …. ….

1 1 …. ….

x 0 …. ….

x x 0 …. ….

x x 1 …. ….

33

CYFROWE UKŁADY SCALONE

…......................... (Integrated circuit, IC) stanowi fizycznie wykonany miniaturowy układ elektroniczny, którego części lub wszystkie elementy są wytworzone we wspólnym procesie technologicznym, wewnątrz lub na powierzchni wspólnego podłoża.*

Mikroelektronika – dziedzina elektroniki zajmująca........................................................

* Podstawy elektroniki cyfrowej; Józef Kalisz; Warszawa, WKŁ, 2007.

34

CYFROWE UKŁADY SCALONEPodział ze względu na skalę integracji

● Małej skali integracji (SSI – Small Scale Integration) zwierające do ..... elementów.

● Średniej skali integracji (MSI) zwierające od ....... do ..... elementów.

● Dużej skali integracji (LSI) zwierające od ...... do ........ elementów.

● Bardzo dużej skali integracji (VLSI) zwierające od .......... elementów.

35

CYFROWE UKŁADY SCALONEPodział ze względu na funkcjonalność

● Układy ................. – o uniwersalnym zastosowaniu, wytwarzane masowo, o ustalonych funkcjach logicznych i wewnętrznych konfiguracjach (np.: bramki logiczne, pamięci, mikroprocesory). SSI, MSI, LSI, VLSI

● Układy ................. – programowalna konfiguracja logiczna, wywarzane masowo. LSI, VLSI

● Układy .................. – (ASIC - Application-Specific Integrated Circuits) – wytwarzane najczęściej na indywidualne zamówienie, o ściśle ustalonych funkcjach, przeznaczone do konkretnych aplikacji. LSI, VLSI

36

CYFROWE UKŁADY SCALONEPodział ze względu na technologię

● …... (Transistor-Transistor Logic)

● …... (Emitter-Coupled Logic)

● ….... (Complementary Metal-Oxide-Semiconductor)

37

WŁAŚCIWOŚCI SCALONYCH UKŁADÓW CYFROWYCH

● Szybkość działania,● Zjawisko metastabilności,● Zjawisko hazardu,

● Moc strat,● …....................................,● Obciążalność,● Niezawodność.

38

WŁAŚCIWOŚCI SCALONYCH UKŁADÓW CYFROWYCH – Czas propagacji

Układ cyfrowy

We Wy

Uwe

t

Uwy

t

UT

UT

tPHL t

PLH

Czas …............ tP jest definiowany jako:● (tPHL+tPLH)/2

lub● jako większy z czasów tPHL i tPLH.

UT – napięcie progowe, jego wartość jest ustalana ….................. dla danej technologii,tPHL – czas …............... przy zmianie stanu na wyjściu układu z wysokiego na niski,tPLH – czas …............... przy zmianie stanu na wyjściu układu z niskiego na wysoki,

39

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. – Parametry dynamiczne przerzutników

● tw – minimalna szerokość impulsów sygnałów: zegarowego (C), zerującego (R), ustawiającego (S),

● fmax – maksymalna gwarantowana częstotliwość sygnału zegarowego (C) - fmax=1/(tw(H)+tw(L)),

● tsu – czas ustalenia (setup),

● th – czas podtrzymania (hold),

● trec – czas powrotu (recovery),

● trem – czas odwołania (removal).

D

C

Q

Q

tsu

(L) th(L) t

su(H) t

h(H)

tw(H)

tw(L)

tPHL

tPLH

tPHL

tPLH

Q

Q

tPHL

tPLH

tPHL

tPLH

S

R

tw(L)

tw(L)

D

Q

Q

C

S

R

R lub S trem

trec

C

40

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. – Parametry dynamiczne przerzutników

Suma czasów ... i ... tworzą okno czasowe w którym dane na wejściu/ach przerzutnika powinny być stabilne (nie zmieniać się).

D

C

Q

Q

tsu

(L) th(L) t

su(H) t

h(H)

tw(H)

tw(L)

tPHL

tPLH

tPHL

tPLH

R lub S trem

trec

C

Suma czasów ... i ... tworzą okno czasowe w którym dane na wejściu/ach asynchronicznych (S, R) przerzutnika powinny być stabilne (nie zmieniać się).

Jeśli powyższe warunki nie zostaną spełnione przerzutnik może zadziałać ...................... (może wystąpić efekt metastabilności).

41

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Metastabilność

Q

Q+

Zmiana stanu na wejściu D nastąpiła po czasie t

h od aktywnego zbocza

syg. synchronizującego – wyjście Q pozostaje w stanie poprzednim.

Q+ Q+ Q+

Zmiana stanu na wejściu D wyprzedziła o czas t

su moment

pojawienia się aktywnego zbocza syg. synchronizującego – wyjście Q

przyjmuje nowy stan.

METASTABILNOŚĆZmiana stanu na wejściu D nastąpiła w zabronionym przedziale czasowym

(tsu

+ th) – wyjście Q przyjmuje wartość losową.

42

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Metastabilność

D

Q

Q

C

-250 -200 -150 -100 -50 50 100 150 200 250

100

200

300

400

500

600

700

tP[ns]

tCD

[ps]

Czas propagacji przy zachowaniu poprawnych relacji czasowych pomiędzy sygnałami D i C.

th

tsu

C

D

tCD

43

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Metastabilność

th

Q

C

D

tsu

D

Q

Q

C

Przykładowe przebiegi rejestrowane na wyjściu przerzutnika w przypadku nie spełnienia warunków stabilności. Widoczne wydłużenie czasu propagacji i przyjmowanie stanu końcowego w sposób losowy.

44

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Metastabilność

MTBF=et r / τ

2⋅f d⋅f c⋅W

● MTBF (Mean Time Between Failures) – …......................................................................,

● tr – czas rozdzielczy (resolution time),

● fc – częstotliwość zmian sygnału ….......................... (zegarowego),

● fd - częstotliwość zmian sygnału …............................. danych,

● τ, W – stałe charakterystyczne dla danego układu cyfrowego:

● W – …............... okna metastabilności,

● Τ – …............... stanu metastabilnego.

45

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Metastabilność

MTBF=et r / τ

2⋅ f d⋅ f c⋅W

0 2 4 6 8 1010

-10

10-5

100

105

1010

1015

1020

1025

tr [ns]

MT

BF

[s]

fc=100 MHz, W=58 ps, tau=210 ps

fd=20MHzfd=20kHzfd=20Hz

1 0 0 0 0 0 0 la t

R o k

1 0 0 0 la t

Rok1000 lat1000000 lat

MFR=1/MTBF=2⋅ f d⋅ f c⋅W⋅e−t r / MFR (Mean Failure Rate) – średnia częstość zdarzeń metastabilnych

46

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - MTBF vs prawdopodobieństwo błedu

F T =1−e−

TMTBF

F(T) – prawdopodobieństwo wystąpienia …............. do chwili czasu T.

101

102

103

104

105

0

10

20

30

40

50

60

70

80

90

100

T [lata]

F [%

]

MTBF=1000 lat

T F(T)

0,01·MTBF 1 %

1·MTBF 63,2 %

2·MTBF 86,5 %

3·MTBF 95 %

Oznacza, że w czasie 0,01 MTBF w 1 urządzeniu na …....... wystąpi błąd związany z metastabilnością.

47

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Metastabilność - synchronizator

D Q

C

D Q

C

Daneasynchroniczne

C

Synchronizator Układ synchroniczny

„Synch” „We”

MTBF synch=et r /

2⋅ f d⋅f c⋅W

W celu zwiększenia wartość MTBF można:● Wydłużać czas tr a więc:

● Zmniejszać fc,● Stosować przerzutniki o ….............. czasach tpCQ i tsu,

● Stosować przerzutniki o …................... τ i W,● Zmniejszać fd,● Stosować synchronizatory ….....................,

t r=1f c

−t ........−t .........gdzie

48

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Metastabilność - synchronizator

MTBF 1=et r/

2⋅ f d⋅ f c⋅WMTBF 2=

et r/

MFR1⋅ f c⋅W=MTBF 1⋅et r/

f c⋅W=

e2⋅t r /

2⋅f d⋅ f c2⋅W 2

W przypadku …...................... synchronizatora:

MTBF N=eN⋅tr /

2⋅f d⋅ f cN⋅W N

D Q

C

Daneasynchroniczne

C

Układ synchroniczny

„1”

D Q

C

„We”

D Q

C

Synchronizator dwustopniowy

„2”

49

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Metastabilność - synchronizator

Porównanie wartość parametru MTBF dla N=1...5 stopniowych synchronizatorów przy:fc=150 MHz; fd=100 MHz; tpCQ=3,5 ns; tsu=0,5 ns; W=58 ps; τ=210 ps;

(założono, że wszystkie przerzutniki mają takie same parametry)

1 2 3 4 510

-5

100

105

1010

1015

1020

1025

1030

N - liczba stopni synchronizatora

MT

BF

[s]

fc=100 MHz, W=58 ps, tau=210 ps, tpCQ=3,5 ns, tsu=0,5 ns

Rok1000 lat1000000 lat

50

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Metastabilność - Uwaga

Przedstawiony sposób szacowania wartości parametru MTBF zakłada, że sygnału fc i fd są

od siebie …............................. Jeśli ten warunek nie jest spełniony to rzeczywista

wartość MTBF może się zdecydowanie różnić od oszacowanej przedstawioną metodą.

D Q

CC

„Wy”

D Q

C

„We”

Układ kombinacyjny

System A

System B

Wyjście „pozornie” asynchroniczne

51

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Metastabilność - podsumowanie

● Metastabilności nie da się …...................... można zmniejszyć tylko jej prawdopodobieństwo,

● Jeżeli fc/fd>5 to wynikiem pojawienia się metastbilności z reguły jest ….................... czasu propagacji sygnału (nie większe niż 1/fc),

● Jeżeli fc/fd<2 to wynikiem pojawienia się metastabilności może być ...................................................

● Problem metastabilności jest szczególnie ważny jeśli dotyczy sygnału, który jest wykorzystywany jako ...................... dla innych przerzutników w takim przypadku pojawienie się stanu metastabilnego może spowodować krytyczną awarię wielu elementów systemu.

● Istnieją również inne (od przedstawionych) metody synchronizacji:

● Synchronizator N-stopniowy o częstotliwości zegara = fc/(N-1),

● Synchronizator z przerzutnikiem Schmitta,

● Systemy detekcji stanu metastabilnego,

● Systemy redundantne i maskujące.

52

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Szybkość działania układu sekw.

Układ kombinacyjnywejściowy

Pamięć (rejestr)

Układ kombinacyjny wyjściowyX

S+

S

Y

C

fmax=1/Tmin – maksymalna częstotliwość sygnału zegarowego C.

Tmin=...............................................

● tpCS – czas propagacji pomiędzy wejściem zegarowym C rejestru a wyjściem S tego rejestru,

● tpSS+ - czas propagacji pomiędzy wejściem S układu kombinacyjnego wejściowego a wyjściem S+ tego układu,

● tsu(S+C) – wymagany czas ustalenia rejestru (pomiędzy wejściem S+ a sygnałem

zegarowym C).

Jeśli sygnał wyjściowy Y podawany jest na wejście kolejnego rejestru to powinien być spełniony warunek tpSS+≥tpSY (tpSY to czas propagacji pomiędzy wejściem S

układu kombinacyjnego wejściowego a wyjściem Y tego układu).

53

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Zjawisko hazardu

Hazard – to …............, …................. (szpilki) stany na wyjściach układów cyfrowych,

powstające w stanach przejściowych (przełączania).

Niepożądane impulsy hazardowe mogą się pojawić jeśli:

● …....................................... dochodzi do wyjścia drogami o różnych opóźnieniach,

● Przy jednoczesnej zmianie dwóch lub więcej sygnałów dochodzą one do wyjścia z

różnym opóźnieniem,

● Sygnały przechodzące drogami o …....................... opóźnieniach zmieniają się nie

jednocześnie.

54

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Hazard statyczny

Hazard statyczny – chwilowa, jednorazowa zmiana stanu wyjściowego układu cyfrowego występująca przy zmianie stanu jego wejścia, gdy wyjście powinno zostać niezmienione.

X

Wy 1

Wy 2

Wy 3

Wy 4

Hazard statyczny w „jedynce”.

55

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Hazard dynamiczny

Hazard dynamiczny – ….................................... przy zmianie stanu wejścia układu cyfrowego, gdy wyjście to powinno zmieniać swój stan tylko raz i w nim pozostać.

„1”

X

„1”

Y

12

3

45

X

Wy 1

Wy 2

Wy 3

Wy 4

Wy 5

Hazard dynamiczny przy przejściu 0-1.

56

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Eliminacja hazardu

Zjawisko hazardu można wyeliminować przez:● dołączenie do układów kombinacyjnych układów …..............................,● dołączenie dodatkowych elementów kombinacyjnych, jednakże wynikowy układ

nie będzie już formą …......................

„1”

X

„1”

Y

12

3

4

57

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Moc strat

P.....=P......+P.......

P......=UCC ∙ (ICCL ∙ tL + ICCH ∙ tH) / (tL + tH) Pdyn=....................

Pwew= Cwew ∙ Ucc2 ∙ fwe Pzew= Czew ∙ Ucc

2 ∙ fwy

● UCC – …................................,

● ICCL, ICCH – prądy zasilania kiedy na wyjściu występuje odpowiednio stany ….......... lub ….............,

● tL, tH – czas trwania na wyjściu układu odpowiednio stanu niskiego lub wysokiego,

● UCC – napięcie zasilania układu,

● fwe, fwy – częstotliwość zmian stanów sygnału na odpowiednio wejściu lub wyjściu,

● Cwew – wewnętrzne pojemności …............... układu,

● Cwew – pojemność …............ wyjście układu,

58

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Odporność na zakłócenia

Typowe źródła zakłóceń:

● układy i linie zasilania,

● przesłuchy pomiędzy układami np.: w liniach transmisyjnych,

● zewnętrzne zakłócenia elektromagnetyczne EMI,

Układsterujący

Układsterowany

UO

UI

59

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Odporność na zakłócenia

Zakłócenia

….....................czas trwania > czasu propagacji układu

….........................czas trwania < czasu propagacji układu

Czas trwania impulsu zakłócającego

Am

plitu

da im

puls

u za

kłóc

ając

ego

Obszar zakłóceń niedozwolonych

Obszar zakłóceńdozwolonych

Margines zakłóceń statycznych

60

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Odporność na zakłócenia

Układsterujący

Układsterowany

UO

UI

UO[V]

UIHmax

UIHmin

UILmax

UILmin

UOLmax

UOHmin

UOLmin

UI[V]

UOLmax

ML

MH

H

LL

H

MH =...................... – Margines zakłóceń dla poziomu wysokiego H.ML = ….................. – Margines zakłóceń dla poziomu niskiego L.

61

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Zgodność łączeniowa

Układy typu I i II są zgodne łączeniowo (kompatybilne) jeśli możliwe jest:

● bezpośrednie połączenia wyjścia układu typu I z wejście układu typu II,

oraz

● bezpośrednie połączenie wyjścia układu typu II z wejście układu typu I,

w sposób umożliwiający …......................................................................

62

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Obciążalność

Obciążalność wyjścia układu cyfrowego (N, Nmax, Nfan-out)

określa .......................................... układów tego samego typu, które

można podłączyć do pojedynczego wyjścia danego układu tak aby nie

doszło do przekroczenia katalogowych wartości prądów i napięć i

możliwa było poprawne wysterowanie wszystkich podłączonych wejść.

63

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Niezawodność

● F(t1) – prawdopodobieństwo uszkodzenia elementu w przedziale czasu od 0 do t1,● f(t) – gęstość ….....................................w chwili t danego elementu,

Rt =1−F t , t0, 0R1

● R(t) – prawdopodobieństwo działania układu po czasie t,

t =1

R t ⋅dF t dt

[1/ s] , t0

● λ(t) – chwilowa intensywność uszkodzeń – wartość λ podaje się w jednostkach 10-6/h lub FIT=10-9/h (Failures In Time),

t

λ(t)

I II III

64

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Niezawodność

MTTF = 1/λ

MTTF (Mean Time to Failure) – …............................................

ElementIntensywność uszkodzeń

λ [FIT]Oczekiwany czas uszkodzenia

MTTF [lat]

Układ SSI 90 1268

Układ MSI 160 713

Układ LSI 250 457

Układ VLSI 500 228

Rezystor 10 11416

Kondensator blokujący 15 7610

Złącze krawędziowe 10 11416

Płytka drukowana 1000 114

* Podstawy elektroniki cyfrowej; Józef Kalisz; Warszawa, WKŁ, 2007.

Typowe intensywności uszkodzeń elementów elektronicznych przy temp.+55°C

65

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Niezawodność urządzeń

λcałk=λ1 + λ2 + λ3 + λ4 + … + λN

Np.: Dla urządzenia składającego się z:

● 10 układów VLSI – λ=500 [FIT],

● 5 rezystorów – λ=10 [FIT],

● 20 kondensatorów blokujących – λ=15 [FIT],

● 1 płytki drukowanej – λ=1000 [FIT],

spodziewana intensywność uszkodzeń wynosi:

λcałk=10▪500 + 5▪10 + 20▪15 + 1▪1000 = 6350 [FIT]

co daje średnią trwałość urządzenia:

MTTF = 1/λcałk ≈ 18 lat

66

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR. - Ocena układów – wsp. dobroci

D = …................ lub D = ….....................

● D – współczynniki dobroci układów cyfrowych,

● tP – czas propagacji,

● Pstrat – moc strat,

● Koszt – koszt układów liczony jako cena pojedynczego układu scalonego lub jako koszt pojedynczej struktury funkcjonalnej, elementu logicznego (np.: w układach PLD),

67

WŁAŚCIWOŚCI SCALONYCH UKŁ. CYFR.

Parametry wybranych rodzin układów cyfrowych*

TTL ECL PMOS NMOS CMOS

Czas propagacji tP [ns] 3 ÷ 33 1 ÷ 2 35 ÷ 300 15 ÷ 150 5 ÷ 50

Moc strat Pstrat [mW] 1 ÷ 23 25 ÷ 60 0,5 ÷ 1,5 1 ….............

Wsp. dobroci D=tP▪P

strat [pJ] 19 ÷ 138 50 ÷ 60 50 ÷ 150 15 ÷ 150 ….............

Margines zakłóceń M [V] 1 0,2 0,7 ÷ 1,5 1 0,3 UCC

Częstotliwość max. [MHz] …........... 150 ÷ 550 2 ÷ 8 7 ÷ 18 5 ÷ 125

Napięcie zasilania [V] 5 -5 ÷ 2 -27 ÷ 5 -15 ÷ 15 2 ÷ 18

Liczba napięć zasilania 1 1 2 ÷ 3 1 ÷ 3 1

Asortyment układowyBardzo duży

Średni Mały MałyBardzo duży

* Układy cyfrowe; Wojciech Głowacki; Warszawa, Wydawnictwo Szkolne i Pedagogiczne, 1998.

68

CYFROWY ZAPIS INFORMACJI

● Kody liczbowe – zapis informacji liczbowych,● Kody binarno-dziesiętne,

● Kody alfanumeryczne – zapis cyfr, liter i znaków interpunkcyjny oraz graficznych,

● Kody kontrolne – kontrola poprawności danych,

69

KODY LICZBOWENaturalny kod binarny

Naturalny kod binarny (dwójkowy) NB (Natural Binary)to najczęściej stosowany kod liczbowy w technice cyfrowej.

Dla całkowitych liczb nieujemnych n-bitową liczbę BC zapisuje się jako:

BC=bn−1bn−2...bi ...b1b0 , bi∈0,1

Wartość dziesiętną liczby BC wynosi:

Dla całkowitych liczb nieujemnych n-bitową liczbę BU zapisuje się jako:

BU=b−1b−2 ...b j ...b−m1b−m , bi∈0,1

Wartość dziesiętną liczby BU wynosi:

DBU = ∑j=−m

−1

b j⋅2 j

Dmin = 0; Dmax=2n-1

Dmin = 0; Dmax=1-2-m

70

KODY LICZBOWENaturalny kod binarny

bn-1b

n-2 ... bi ... b

1b

0

MSB LSB

Słowo w zapisane binarnie.

71

KODY LICZBOWEkod binarny – liczby ujemne

Rozróżnienie pomiędzy liczbami dodatnimi i ujemnymi dokonywane jest za

pomocą dodatkowego ................... (z reguły jest to najstarszy (MSB) bit:

„+” 0, „-” 1). Stosuje się trzy zasadnicze sposoby kodowania liczb ze → →

znakiem:

● ZM – znak-moduł (sign-and-magnitude),

● ZU1 – znak-uzupełnienie do 1 (ones' complement),

● ZU2 – znak-uzupełnienie do 2 (twos' complement),

72

KODY LICZBOWEZM - Znak-Moduł

bn-1b

n-2 ... bi ... b

1b

0

MSB LSB

Znak „0” „+”→ „1” „-”→

…..............................................................

Liczba dziesiętna Liczba dwójkowa ZM

+13 -13 01101 11101

+0,8125 -0,8125 01101 11101

73

KODY LICZBOWEZU1 – Znak – Uzupełnienie do 1

bn-1b

n-2 ... bi ... b

1b

0

MSB LSB

Znak „0” „....”→ „1” „....”→

Moduł liczby zapisany:● Dla liczb dodatnich w naturalnym kodzie binarnym;● Dla liczb ujemnych jako uzupełnienie do 1;

Liczba dziesiętnaLiczba dwójkowa

ZU1

+13 -13 01101 10010

+0,8125 -0,8125 01101 10010

U1(L)=...................; gdzie L jest n-bitową liczbą binarną.

74

KODY LICZBOWEZU2 – Znak – Uzupełnienie do 2

bn-1b

n-2 ... bi ... b

1b

0

MSB LSB

Znak „0” „+”→ „1” „-”→

Moduł liczby zapisany:● …..............................................................;● Dla liczb ujemnych jako uzupełnienie do 2;

Liczba dziesiętnaLiczba dwójkowa

ZU2

+13 -13 01101 10011

+0,8125 -0,8125 01101 10011

U2(L)=U1(L)+..........

U2(L)=2n – L; gdzie L jest n-bitową liczbą binarną.U2(0)=0

75

KODY LICZBOWEPorównanie ZM, ZU1, ZU2

Liczba dziesiętna Liczba binarna

całkowita ułamkowa ZM ZU1 ZU2

-8 -1 1000

-7 -0,875 1111 1000 1001

-6 -0,75 1110 1001 1010

-5 -0,625 1101 1010 1011

-4 -0,5 1100 1011 1100

-3 -0,375 1011 1100 1101

-2 -0,25 1010 1101 1110

-1 -0,125 1001 1110 1111

-0 -0 1000 1111 -

0 0 - - 0000

+0 +0 0000 0000 -

+1 +0,125 0001 0001 0001

+2 +0,25 0010 0010 0010

+3 +0,375 0011 0011 0011

+4 +0,5 0100 0100 0100

+5 +0,625 0101 0101 0101

+6 +0,75 0110 0110 0110

+7 +0,875 0111 0111 0111

76

KODY LICZBOWEZapis liczb wymiernych

Znak cm-1 c

m-2 ... c0 u

-1 ... u-m+1

u-m

MSB LSB

…........................

Liczba dziesiętnaLiczba dwójkowa ZCCCC.UUU - ZU2

+13,25 -13,25 01101010 10010110

…................... liczby polega na zapisie liczby tak aby błąd zaokrąglenia (obcięcia) był jak najmniejszy. Np: Stosują system system ZCC.UU liczbę 0,47 możemy przedstawić jako:

● 00001→ 0,25;● 00011·2-1 → 0,38;● 00111·2-2 → 0,44;● 01111·2-4 → 0,47;

Reprezentacja …..........................(fixed-point notation).

…..........................

Oznaczenie np.: ZCCCC.UUU oznacza zapis na słowie 9 bitowym liczby ze znakiem przy czym część całkowita jest zapisana na 4 bitach a część ułamkowa na 3.

77

KODY LICZBOWEZapis liczb wymiernych

Reprezentacja zmiennoprzecinkowa (floating-point notation).

L=............... – zasada ogólna

● L – liczba rzeczywista,

● M – Mantysa: liczba ułamkowa ze znakiem (ZM, ZU1 lub ZU2),

● W – Wykładnik lub cecha (ZM, ZU1 lub ZU2),

● p – wspólna podstawa kodów stosowanych do zapisu M i W,

● d – liczba naturalna (zazwyczaj d=1),

W przypadku liczby binarnych L=...................

Znormalizowana liczba zmiennoprzecinkowa to liczba, której mantysa spełnia warunek p-d≤|M|<1 - dla liczb binarnych 0,5≤|M|<1.

78

KODY LICZBOWEZapis liczb wymiernych

Znak Wn-1 W

n-2 ... W0 M

-1 ... M-m+1

M-m

MSB LSB

…..................

Reprezentacja zmiennoprzecinkowa standard IEEE 754.

…...................Zapisuje się tylko część ułamkową mantysy – opuszcza

się najstarszy bit reprezentujący część całkowitą ponieważ po normalizacji (1≤|M|<2) bit ten ma zawsze

wartość „1”.

L=−1Znak⋅1 ∑j=−m

−1

M j⋅2 j⋅2∑

k=0

n−1

W k⋅2k−expbias

Typ

Liczba bitówexp

bias

(Exponent bias)

Znak(Sign)

Wykładnik(Exponent)

n

Mantysa(Significand)

m

Half (16 bitowy) 1 5 10 15

Single (32 bitwy) 1 8 23 127

Double (64 bitowy) 1 11 52 1023

Quad (128 bitowy) 1 15 112 16383

79

ARYTMETYKA DWÓJKOWA

Opis wszystkich działań we wszystkich najczęściej stosowanych formatach wykracza poza

ramy niniejszego wykładu. Niezbędne informację można znaleźć w:

● Podstawy elektroniki cyfrowej; Józef Kalisz; Warszawa, WKŁ, 2007;

● Wikipedia anglojęzyczna - http://en.wikipedia.org ;

80

CYFROWY ZAPIS INFORMACJI

● Kody liczbowe – zapis informacji liczbowych,● Kody binarno-dziesiętne,

● Kody alfanumeryczne – zapis cyfr, liter i znaków interpunkcyjny oraz graficznych,

● Kody kontrolne – kontrola poprawności danych,

81

KODY LICZBOWEKody binarno-dziesiętne BCD

W kodach BCD każda cyfra liczby dziesiętnej kodowana jest w postaci dwójkowej jako oddzielne słowo.

Np.: liczba 123 jest zapisana w kodzie „2421” jako 0001 0010 0011.

Liczba Kody BCD

8421 2421 XS3XS3 - Graya

1 z 107-seg.

abcdefg

0 0000 0000 0011 0010 0000000001 1111110

1 0001 0001 0100 0110 0000000010 0110000

2 0010 0010 0101 0111 0000000100 1101101

3 0011 0011 0110 0101 0000001000 1111001

4 0100 0100 0111 0100 0000010000 0110011

5 0101 1011 1000 1100 0000100000 1011011

6 0110 1100 1001 1101 0001000000 1011111

7 0111 1101 1010 1111 0010000000 1110010

8 1000 1110 1011 1110 0100000000 1111111

9 1001 1111 1100 1010 1000000000 1111011

a

b

c

d

e

fg

Kod …............. – kod w którym dwie kolejne liczby różnią się o 1 tylko na jednej pozycji (np.: kod Graya).

82

CYFROWY ZAPIS INFORMACJI

● Kody liczbowe – zapis informacji liczbowych,● Kody binarno-dziesiętne,

● Kody alfanumeryczne – zapis cyfr, liter i znaków interpunkcyjny oraz graficznych,

● Kody kontrolne – kontrola poprawności danych,

83

KODY ALFANUMERYCZNE

Kody alfanumeryczne umożliwiają kodowanie w postaci dwójkowej cyfr,

liter i znaków graficznych.

84

CYFROWY ZAPIS INFORMACJI

● Kody liczbowe – zapis informacji liczbowych,● Kody binarno-dziesiętne,

● Kody alfanumeryczne – zapis cyfr, liter i znaków interpunkcyjny oraz graficznych,

● Kody kontrolne – kontrola poprawności danych,

85

KODY KONTROLNE

Kody kontrolne to kody służące weryfikacji poprawność danych zapisanych cyfrowo:● Kody ...................... – umożliwiają jedynie wykrywanie błędów,● Kody ...................... – umożliwiają wykrywanie i korekcję błędów.

p=bn−1⊕bn−2⊕⊕b0

Liczba dziesiętna

Kod naturalny dwójkowy

b2b

1b

0

Kod z bitem parzystości

b2b

1b

0p

Kod z bitem nieparzystości

b2b

1b

0p

0 000 0000 0001

1 001 0011 0010

2 010 0101 0100

3 011 0110 0111

4 100 1001 1000

5 101 1010 1011

6 110 1100 1101

7 111 1111 1110

Jeśli ilość jedynek w słowie jest parzysta to p=0 jeśli nieparzysta to p=1.

86

BLOK CYFROWY

● D – dane wejściowe przetwarzane przez blok cyfrowy,● S – sygnały sterujące pracą bloku cyfrowego,● F – dane wyjściowe,● R – sygnały kontrolne sterujące pracą innych bloków cyfrowych,● X – słowo wejściowe będące złożeniem słów D i S,● Y – słowo wyjściowe będące złożeniem słów F i R,

Blok cyfrowy jest:● zbudowany z wielu elementów logicznych tj.: elementów kombinacyjnych

lub/i sekwencyjnych,● realizuje jedną lub wiele funkcji – wybór funkcji realizowany jest przez

podanie odpowiedniego słowa sterującego.

87

BLOK CYFROWYMagistrale i szyny

Szyna (node) Magistrala(bus)

Blok cyfrowy„A”

Blok cyfrowy„B”

x0x1x2x3x4x5x6x7

Blok cyfrowy„A”

Blok cyfrowy„B”

Xlub

X[7..0]

8

Uwaga: Aby jednoznacznie określić, który bit (szyna) reprezentuje …............... bit słowa (….......), a który …......................... (….....) w zapisie wektorowym stosuje się zazwyczaj konwencję [MSB...LSB].

88

BLOKI CYFROWEKonwertery kodów

Konwertery realizują przetwarzanie słów binarnych zapisanych w jednym kodzie na zapisane w drugim kodzie.

X[0..1](NB)

Y[0..3](1-z-4)

00 0001

01 0010

10 0100

11 1000

KonwerterNB/1-z-4

X[0..1] Y[0..3]

89

BLOKI CYFROWEMultipleksery i Demultipleksery

Multiplekser (MUX) pełni rolę przełącznika łączącego jeden z n sygnałów wejściowych z wyjściem, demultiplekser (DMUX, DX) pełni funkcję odwrotną.

Jeżeli układ MUX lub DMUX przełącza całe słowa danych (magistrale) nazywany jest ...........................

MUX DMUX

x0

xn-1

y0

ym-1

am0

amj-1

ad0

adk-1

X[n-1..0]dane we.

Y[m-1..0]dane wy.

We. adresowe multipleksera

AM[j-1..0]

We. adresowe demultipleksera

AD[k-1..0]

n≤2j m≤2k

MUX DMUX

X0[p-1..0]

am0

amj-1

ad0

adk-1

Xn-1

[p-1..0]

Y0[p-1..0]

Ym-1

[p-1..0]

p

p

p

p

p

…............... układy MUX/DMUX.

90

BLOKI CYFROWETestery parzystości

Tester parzystości (odd-parity) wykrywa czy podane na jego wejście słowo zawiera parzystą liczę „1”.

Tester nieparzystości (even-parity) tworzy się przez zanegowanie wyjścia testera parzystości.

p=.......................................

Jeśli ilość jedynek w słowie jest parzysta to p=0 jeśli nieparzysta to p=1.

Testerparzystości

x0

xn-1

p

91

ARTMETYCZNE BLOKI CYFROWEKomparatory

P[n-1..0]

Q[n-1..0]

n

nKomparator

e=(P=Q)

g=(P>Q)

l=(P<Q)

92

ARTMETYCZNE BLOKI CYFROWESumator/subtraktor

Y=co°F=PQci

P[n-1..0]

Q[n-1..0]

n

nΣ F[n-1..0]

n

co

ci

P[n-1..0]n

Q[n-1..0]

ci

co

F[n-1..0]n

P[n-1..0]

Q[n-1..0]

n

n+/- F[n-1..0]

n

cn

k

k Funkcja cn Wynik

0 P+Q dodawanie

x Dodatni

1 P+Q+1odejmowanie

0 Ujemny

1 Dodatni

93

ARTMETYCZNE BLOKI CYFROWEMultiplikator - układ mnożący

P[n-1..0]

Q[m-1..0]

n

m× F[n+m-1..0]

n+m

×P[n-1..0]

n

Q[m-1..0]m F[n+m-1..0]

n+m

Dla liczb binarnych zapisanych w kodzie NB:

F=P×Q=∑i=0

n−1

∑j=0

m−1

pi⋅q j⋅2i j ; P=∑i=0

n−1

pi⋅2i , Q=∑j=0

m−1

q j⋅2 j

pi ∙ qj to iloczyny boolowskie odpowiednich bitów słów P i Q, a wyraz 2i+j oznacza odpowiednie …..................... bitu wyniku w słowie wynikowym F.

Multiplikator mnożący dwa słowa wejściowe odpowiednio m i n bitowe zawiera …............... sumatorów oraz …........... bramek AND.

94

ARTMETYCZNE BLOKI CYFROWEBlok Artmetyczno-Logiczny - ALU

Stanowią główny blok operacyjny każdego mikrokontrolera i mikroprocesora.

A B

Z

cicooperatoryflagi

ALU

Operacje arytmetyczne

add A+B+ci sub A-B-ci

inc A+1 dec A-1

pass A neg -A

Operacje logiczne

and ai ∙ b

i nand ai ∙ b

i

or ai + b

i nor ai + b

i

xor ai b

i xnor ai b

i

pass ai not a

i

Operacje typu przesunięcie/

obrót

sl1 A<<11 sr1 A>>

11

sla A<<a1 sra A>>

a1

rol A<<r1 ror A>>

r1

Dane wejściowe A i B są traktowane jako liczby bez znaku przy operacjach logicznych lub jako liczby ze znakiem przy operacjach arytmetycznych.

95

BLOKI CYFROWERejestry

Rejestry to bloki pamięciowe zbudowane z przerzutników:

● …................... – SISO (Serial In Serial Out) – pozwalają na szeregowe

wprowadzenie i wyprowadzenie danych,

● ….................. – PIPO (Parallel In Parallel Out) - pozwalają na równoległe

wprowadzenie i wyprowadzenie danych (jednocześnie z lub do wszystkich pozycji

rejestru),

● ….................................... – SIPO (Serial In Parallel Out) - umożliwiają szeregowe

wprowadzenie i równoległe wyprowadzenie danych,

● …..................................... – PISO (Parallel In Serial Out) – umożliwiające

równolegle wprowadzenie i szeregowe wyprowadzenie informacji,

96

BLOKI CYFROWERejestry szeregowe

SISOD Q

C

D Q

C

Danewejściowe

C

D Q

C

n-1

D Q

C

0n-2

Danewyjściowe

97

BLOKI CYFROWERejestry równoległe

D Q

C

Danewejściowe

C

D Q

C

D Q

C

Danewyjściowe

n-1 0n-2

Qn-1

Qn-2

Q0

Dn-1

Dn-2

D0

PIPOD[N-1..0] Q[N-1..0]

C

98

BLOKI CYFROWERejestry szeregowo-równoległe

D Q

C

Danewejściowe

C

D Q

C

D Q

C

Danewyjściowe

n-1 0n-2

Qn-1

Qn-2

Q0

SIPOD Q[N-1..0]

C

99

BLOKI CYFROWERejestry równoległo-szeregowe

D Q

C

Danewejściowe

C

D Q

C

D Q

C

Danewyjściowe

n-1 0n-2

Dn-1

Dn-2

D0

MUX MUX

PISOD[N-1..0] Q

C

LD

LD

100

BLOKI CYFROWELiczniki

LICZNIK

CLR Q[n-1..0]

C

CE

Licznik służą zliczaniu impulsów pojawiających się na wejściu licznika.

Licznik można podzieli ze względu na budowę wewnętrzną na:● ….......................................,● ….......................................,

101

BLOKI CYFROWELicznik asynchroniczny

T

Q

Q

C

T

Q

Q

C

T

Q

Q

C

„1” „1”„1”

C

EN EN ENR R RCE

CLR

Q0 Q

1Q

n-1

Licznik asynchroniczny może zliczać impulsy z częstotliwością równą …....................................................................., jednak odczyt danych jest możliwy dopiero po czasie n∙tpCQ.

102

BLOKI CYFROWELicznik synchroniczny

T

Q

Q

C

T

Q

Q

C

T

Q

Q

CC

R R R

CE

CLR

Q0 Q

1Q

n-1

Par. przerzutników T

Par. bramek AND

103

BLOKI CYFROWEBloki pamięciowe

Bloki pamięciowe służą do przejściowego lub trwałego przechowywania danych cyfrowych.

Pamięci półprzewodnikowe możemy podzielić na:

● Ulotne – dane są tracone po wyłączeniu zasilania,

● Nieulotne – dane nie zanikają po wyłączeniu zasilania,

104

BLOKI CYFROWEBloki pamięciowe – ulotne

● Pamięci o swobodnym dostępie RAM (Random-Access Memory),● Statyczne SRAM (Static Random Access Memory),

● Asynchroniczne,

● Synchroniczne,

● Dynamiczne DRAM (Dynamic Random Access Memory),

● Pamięci bez swobodnego dostępu,● Stosowe – LIFO (Last-In-First-Out),● Kolejkowe – FIFO (First-In-First-Out),● Skojarzeniowe (adresowane zwartością) CAM (Content Addressable Memory),● Rejestry przesuwające,

105

BLOKI CYFROWEBloki pamięciowe – nieulotne

● Programowane maską – ROM (Read-Only Memory),● Programowane jednorazowo – PROM (Programmable Read-Only

Memory),● Kasowalne i programowalne wielokrotnie – EPROM (Erasable

Programmable Read-Only Memory),● Elektrycznie kasowane i programowane wielokrotnie – EEPROM

(Electrically-Erasable Programmable Read-Only Memory),● Elektrycznie kasowane w całości i programowane wielokrotnie – FLASH,● Pamięci SRAM z podtrzymującą baterią,

106

BLOKI CYFROWEInne

Blokiem cyfrowym może być dowolny układ realizujący jakąś funkcję np.:

● Bloki DSP (Digital Signal Processing) realizujące np.:● FFT,● Transforormacje cosinusowe,● Filtrację (FIR, IIR),● Analize falkową,● Szyfrowanie danych,

● Bloki „interfejsowe” realizujące np.:● ISP,● RS232,● USB,● I2C,

● Inne.