+ All Categories
Home > Documents > Logické obvody Kombinační a sekvenční stavební...

Logické obvody Kombinační a sekvenční stavební...

Date post: 19-Feb-2018
Category:
Upload: lamdang
View: 226 times
Download: 0 times
Share this document with a friend
118
A1B14MIS Mikroprocesory pro výkonové systémy 04 1 České vysoké učení technické Fakulta elektrotechnická MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Ver.1.30 Část důležitá něco jen pro zájemce (Označeno ???) Logické obvody Kombinační a sekvenční stavební bloky MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY J. Zděnek, 2017
Transcript

A1B14MIS Mikroprocesory pro výkonové systémy 04 1

České vysoké učení technické Fakulta elektrotechnická

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Ver.1.30

Část důležitá něco jen pro zájemce (Označeno ???)

Logické obvody

Kombinační a sekvenční stavební bloky

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

J. Zděnek, 2017

A7B14SAP Struktura a architektura počítačů 4 – Logické bloky 2

Časování – výpočet maximální hodinové frekvence (Důležité)

• Ovlivněno:

• Technologií• Typy hradel

• Počtem vstupů u hradel

• Zatížením výstupů hradel (větvením)• Typem klopných obvodů

• Délkou propojovacích vodičů (na plošném spoji,…)

• Vzájemnou polohou vodičů (kvalita návrhu plošného spoje)• Rozmístěním součástek

• Počtem zemnících a napájecích vrstev

• Způsobem rozvodu napájení• Rozmístěním blokovacích kondezátorů

• Dalšími vlivy …..

A1B14MIS Mikroprocesory pro výkonové systémy 04 3

Časování klopného obvodu (Důležité)

• Předstih (Setup Time) – Vstup D musí být stabilní (ustálený) před aktivní(zde náběžnou) hranou hodinového signálu

• Přesah (Hold Time) – Vstup D musí zůstat stabilní (ustálený) po aktivní(zde náběžné) hraně hodinového signálu

• Zpoždění (Clock-to-Q Time) výstupu Q po aktivní (zde náběžné) hraněhodinového signálu

Zde na hodnotě nezáleží

A1B14MIS Mikroprocesory pro výkonové systémy 04 4

Maximální hodinová frekvence (Důležité)

• Všechny klopné obvody jsou řízeny stejným hodinovým signálem

• Kombinační logické bloky:

• Vstupy jsou aktualizovány při každém taktu hodin

• Všechny výstupy musí být stabilní před dalším taktem

A1B14MIS Mikroprocesory pro výkonové systémy 04 5

Kritická cesta a perioda hodin (Důležité)

• Kritická cesta: nejpomalejší cesta mezi libovolným z registrů (klop.obvodů)

• Minimální perioda hodin je funkcí kritické cesty• Perioda T

cminmusí být větší než:

• Musí být splněny požadavky na stabilitu vstupů a výstupů

7

8

11

8

7

8

7

Kritická cestaZpoždění hradla

Perioda hodin

Setupcasti kombinacnicestajsi„NejpomaleQtoClockTc ++−−≥ “min

A1B14MIS Mikroprocesory pro výkonové systémy 04 6

Kritická cesta (Kc) (Důležité)

I O

S

x1,… ,xi y1,… ,yj

q1,… ,qk

Kc3

Kc2

Kc1

Kc4

Clk

A1B14MIS Mikroprocesory pro výkonové systémy 04 7

Kritická cesta (Kc) (Důležité)

Kc3

Kc1

Kc2

Kc4

A1B14MIS Mikroprocesory pro výkonové systémy 04 8

Hodinová frekvence = 1/Kci max (Důležité)

• Kc1 – ze vstupů I na vstup stavového registru• Nestabilita vstupů + zpoždění v LKO1 + Setup (předstih)

• Kc2 – z výstupu stavového registru na výstup O• Clock-to-Q + zpoždění v LKO2 + požadavek na stabilitu výstupů

• Kc3 – ze vstupů I na výstupy O• Nestabilita vstupů + zpoždění v LKO2 + požadavek na stabilitu výstupů

• Kc4 – z výstupu stavového registru na jeho vstupy• Clock-to-Q + zpoždění v LKO1 + Setup (předstih)

A1B14MIS Mikroprocesory pro výkonové systémy 04 9

Detektor posloupnosti bitů ‘110’ (FSA typu Mealy) (Důležité)

• Kc1 = 8 + 8 + 4 [ns]

• Kc2 = 14 + 8 [ns]

• Kc3 = 6 + 8 [ns]• Kc4 = 14 + 8 + 8 + 4 [ns]

88

8

8

6

144

8

144

Kc1

Kc4

Kc3

Kc2

MHznsTf c 4,2934/1/1 minmax ===

nsQtoTClock 14=−−nsSetup 4=

A1B14MIS Mikroprocesory pro výkonové systémy 04 10

Přehled kombinačních bloků dle kategorie

Majority Decoder

Priority Encoder

Demultiplexer

Multiplexer 2 to 1

Multiplexer 4 to 1

Binary to Gray Dec.

Bin. to Johanson Dec.

Half Adder

1bit Comparator

4bit Comparator

1bit Shifter L/R

4bit Shifter L/R, L/A

4bit Barrel Shifter

Full Adder

Half Subtractor

Full Subtractor

4bit Full Adder

4bit Adder/Subtractor

A1B14MIS Mikroprocesory pro výkonové systémy 04 11

Přehled kombinačních bloků (???)

0y

1y0x

1x

2x

e

Prio

rity

En

cod

er 0y

1y0x

1x

3y2y

en

y0x

1x

s s

03 ... aa

03 ... bb03 ... yy

A1B14MIS Mikroprocesory pro výkonové systémy 04 12

Přehled kombinačních bloků (???)

A1B14MIS Mikroprocesory pro výkonové systémy 04 13

Přehled kombinačních bloků (???)

A1B14MIS Mikroprocesory pro výkonové systémy 04 14

Majoritní dekodér (???)

• Majorita

• Nabývá hodnoty 1, když většina vstupních proměnných je rovna 1• Majorita ze 3 – tj. 2 nebo 3 vstupní proměnné mají hodnotu 1

76543210D

1101000111100010

11

00f

11

00x2

1101

1000x0x1

76543210D

1101000111100010

11

00y

11

00x2

1101

1000x0x1

012012012012,65 xxxxxxxxxxxxy +++=∑= 7),(3,m

Majorita ze 3

A1B14MIS Mikroprocesory pro výkonové systémy 04 15

Majoritní dekodér (???)

76543210D

1101000111100010

11

00f

11

00x2

1101

1000x0x1

76543210D

1101000111100010

11

00y

11

00x2

1101

1000x0x1

10

4 5 67

3 2

111

1

0x1x

2x

y

021201 xxxxxxy ++=

Majorita ze 3

A1B14MIS Mikroprocesory pro výkonové systémy 04 16

Majoritní dekodér (???)

021201 xxxxxxy ++=

y

0x

1x

2x

Realizace

A1B14MIS Mikroprocesory pro výkonové systémy 04 17

Prioritní enkodér (???)

• Kóduje stav n vstupů do určeného kódu (např. binárního) na výstupu

• Libovolný počet vstupů xi prioritního enkodéru může současně nabývat hodnoty 1. Prioritní enkodér na výstupech yk vyšle vždy pouze kód aktivníhovstupu (tj. xi = 1) s nejvyšší prioritou (zde nejvyšší prioritu má x0)

• Použití – systém přerušení v počítačí (interrupt system), …

10111010

y0

01010100

y1

76543210

Di

1101300111102010

12

10

Do

11

00

x2

1101

1000

x0x1

0y

1y0x

1x

2x

Prioritní enkodér

A1B14MIS Mikroprocesory pro výkonové systémy 04 18

Prioritní enkodér (???)

0120120120120120 5,4,3 xxxxxxxxxxxxxxxy ++++=∑= 7),(1,m

0120120121 6,4 xxxxxxxxxy ++=∑= )(2,m

0y

1y0x

1x

2x

10111010

y0

01010100

y1

76543210

Di

1101300111102010

12

10

Do

11

00

x2

1101

1000

x0x1

Prioritní enkodér

A1B14MIS Mikroprocesory pro výkonové systémy 04 19

Prioritní enkodér (???)

0y

1y0x

1x

2x

10

4 5 67

3 2

11

1

0x1x

2x

10

4 5 67

3 2

111

11

0x1x

2x

0y 1y

1200 xxxy += 01021 xxxxy +=

10111010

y0

01010100

y1

76543210

Di

1101300111102010

12

10

Do

11

00

x2

1101

1000

x0x1

Prioritní enkodér

A1B14MIS Mikroprocesory pro výkonové systémy 04 20

Prioritní enkodér (???)

0y

1y0x

1x

2x

0y

1y

0x

1x

2x

Realizace

1200 xxxy +=

01021 xxxxy +=

A1B14MIS Mikroprocesory pro výkonové systémy 04 21

Prioritní enkodér (???)

Realizace

Blokování výstupu e = 1

0y

1y0x

1x

2x

e

Prio

rity

En

cod

er

Kroužek značí, že aktivní stav je pro

e = 0

0y

1y0x

1x

2x

e

A1B14MIS Mikroprocesory pro výkonové systémy 04 22

Dekodér/Demultiplexer (Důležité)

• Dekóduje kód na vstupu (např. binární) na kód 1 z n na výstupu

• Typicky je výstupní kód aktivní v 0

• Použití – dekodér adresových bloků v počítači, …

0100

y2

1000

Y3

0001

y0

0010

y1

3210

Di

11011000

x0x1

Dekodér/Demultiplexer

Dec

ode

rD

emul

tiple

xer

0y

1y0x

1x

3y2y

en

A1B14MIS Mikroprocesory pro výkonové systémy 04 23

Dekodér/Demultiplexer (Důležité)

0100

y2

1000

Y3

0001

y0

0010

y1

3210

Di

11011000

x0x1

Dekodér/Demultiplexer

Dec

ode

rD

emul

tiple

xer

0y

1y0x

1x

3y2y

en

010 xxy =

011 xxy =

012 xxy =

013 xxy =

A1B14MIS Mikroprocesory pro výkonové systémy 04 24

Dekodér/Demultiplexer (Důležité)

Dec

ode

rD

emul

tiple

xer

0y

1y0x

1x

3y2y

en

010 xxy =

011 xxy =

012 xxy =

013 xxy =

Realizace

0y

1y

0x

1x

3y

2y

en

A1B14MIS Mikroprocesory pro výkonové systémy 04 25

Multiplexer (Důležité)

• n – vstupový multiplexer je číslicový přepínač n – vstupů na jeden výstup

11001010

y

76543210

Di

101001110010

11

00

s

1101

1000

x0x1

Multiplexer 2 na 1

10

4 5 67

3 2

11

11

0x1x

y

s

Mu

ltiple

xer

y0x

1x

s

0x

1x

s

y

A1B14MIS Mikroprocesory pro výkonové systémy 04 26

Multiplexer (Důležité)

Realizace

10

4 5 67

3 2

11

11

0x1x

y

s

10 xsxsy +=

y0x

1x

s

A1B14MIS Mikroprocesory pro výkonové systémy 04 27

Multiplexer (Důležité)

• Multiplexer 4 na 1 ze tří multiplexerů 2 na 1

y

0x

1x

2x

0s

1s

3xx3

x2

x1

x0

y

3

2

1

0

Di

11

01

10

00

s0s1

Multiplexer 4 na 1

A1B14MIS Mikroprocesory pro výkonové systémy 04 28

Multiplexer (Důležité)

• Multiplexer 4 x 2 na 1 z multiplexerů 2 na 1

s

03...aa

03...bb03... yy

0a

1a

2a

3a

0b

1b

2b

3b

0y

1y

2y

3y

s

A1B14MIS Mikroprocesory pro výkonové systémy 04 29

Komparátor (1bit Comparator) (???)

100

111

000

100

gtout

001

000

000

001

eqout

1111111100000000x

110113000112

0010100100900008

11011

1117

001114

111

010

ltout

15

6543210Di

101001110010

1

1

00y

11

01

1000ltingtin

Komparátor

Nemůže nastat, doplníme pro co

nejlepší minimalizaci

[ ])1()()( ==>= inout gtyxyxgt ANDOR

[ ])1()()( ==<= inout ltyxyxlt ANDOR

)0()0()( ==== ininout ltgtyxeq ANDAND

A1B14MIS Mikroprocesory pro výkonové systémy 04 30

Komparátor (1bit Comparator) (???)

ininout gtygtxyxgt ... ++= ininininout ltgtyxltgtyxeq ...... +=

outgtouteq

x y

10

4 5 67

8 9 1011

12 13 1415

3 2

1?11

1?

?

1?10

4 5 67

8 9 1011

12 13 1415

3 2

?

?1

?

?1

ingt

inltingt

inlt

x y

Greater Than Equal

A1B14MIS Mikroprocesory pro výkonové systémy 04 31

Komparátor (1bit Comparator) (???)

10

4 5 67

8 9 1011

12 13 1415

3 2

?

?1

1?11

?1

ingt

inlt

x y

ininout ltyltxyxlt ... ++=

outlt

Less Than

A1B14MIS Mikroprocesory pro výkonové systémy 04 32

Komparátor (1bit Comparator) (???)

Realizace

outgt

outeq

outlt

x

y

ingt

inlt

A1B14MIS Mikroprocesory pro výkonové systémy 04 33

Komparátor (4bit Comparator) (???)

A1B14MIS Mikroprocesory pro výkonové systémy 04 34

Převodník kódu (Code Converter) – Binary to Gray (???)

• Binární kód na Grayův kód (sousední kombinace se liší pouze v jednom bitu)

0011110000111100y1

1111111100000000y3

0000111111110000y2

1111111100000000x3

110113000112

1010101100900008

011011

01117

1011140

1100110y0

15

6543210Di

101001110010

1

1

00x2

11

01

1000x0x1

Binární na Grayův kód

A1B14MIS Mikroprocesory pro výkonové systémy 04 35

Převodník kódu (Code Converter) – Binary to Gray (???)

10

4 5 67

8 9 1011

12 13 1415

3 2

11

11

11

11

0y1y

0x1x

2x3x

10

4 5 67

8 9 1011

12 13 1415

3 2

1

11

11

110x1x

2x3x

1

0101010 xxxxxxy ⊕=+= 1212121 xxxxxxy ⊕=+=

A1B14MIS Mikroprocesory pro výkonové systémy 04 36

Převodník kódu (Code Converter) – Binary to Gray (???)

10

4 5 67

8 9 1011

12 13 1415

3 2

111

1111

0x1x

2x3x

2y

1

3y

10

4 5 67

8 9 1011

12 13 1415

3 2

111

1111

0x1x

2x3x

1

2323232 xxxxxxy ⊕=+= 33 xy =

A1B14MIS Mikroprocesory pro výkonové systémy 04 37

Převodník kódu (Code Converter) – Binary to Gray (???)

Realizace

0y

1y

0x

1x

2x

3y

2y

3x

A1B14MIS Mikroprocesory pro výkonové systémy 04 38

Převodník kódu (Code Converter) – Binary to Johanson (???)

• Binární kód na Johansonův kód (sousední kombinace se liší pouze v jednom bitu)

0

0

1

1

1

1

0

0

s1

1

1

1

1

0

0

0

0

s3

0

1

1

1

1

0

0

0

s2

01117

0

0

1

1

1

1

0

s0

6

5

4

3

2

1

0

Di

101

001

110

010

1

0

0

x2

01

10

00

x0x1

Binární na Johansonův kód

A1B14MIS Mikroprocesory pro výkonové systémy 04 39

Převodník kódu (Code Converter) – Binary to Johanson (???)

10

4 5 67

3 2

1

111

0x1x

2x

0s1s

2s3s

10

4 5 67

3 2

11

11

0x1x

2x

10

4 5 67

3 2

111

1

0x1x

2x

10

4 5 67

3 2

1111

0x1x

2x

1212121 xxxxxxs ⊕=+=

23 xs =

01202120 xxxxxxxs ++=

12012022 xxxxxxxs ++=

A1B14MIS Mikroprocesory pro výkonové systémy 04 40

Převodník kódu (Code Converter) – Binary to Johanson (???)

Realizace

x0

x1

x2

s0

s1

s2

s3

A1B14MIS Mikroprocesory pro výkonové systémy 04 41

Půlsčítačka (Half Adder) (???)

3210

D

1000

q

011101110000

sba

bababas ⊕=+=∑= )(1,m 2

baq =∑= )(m 3

Realizacebas +=

A1B14MIS Mikroprocesory pro výkonové systémy 04 42

Sčítačka (Full Adder) (???)

7

6

5

4

3

2

1

0

D

01101

10001

01110

10010

1

1

0

0

q

1

1

0

0

a

111

001

110

000

spb

pbapbapbapbas ........742 +++=∑= ),,(1,m

pbapbapbapbaq ........765 +++=∑= ),,(3,m

pbas ++=

A1B14MIS Mikroprocesory pro výkonové systémy 04 43

Sčítačka (Full Adder) (???)

)()()(

)()(........

bapbabapbabap

babapbabappbapbapbapbas

⊕⊕=+++=

=+++=+++=

XORXNOR=

XNORXOR

pbapbapbapbaq ........ +++=

p

a

bq

10

4 5 67

3 2

111

1

)(

)(

bapba

babapbabapbapbaq

⊕+==++=++=

Úprava logického výrazu

Vhodná minimalizace z K-mapy

Half Adder s

Half Adder q

A1B14MIS Mikroprocesory pro výkonové systémy 04 44

Sčítačka (Full Adder) (???)

Realizace

A1B14MIS Mikroprocesory pro výkonové systémy 04 45

Sčítačka (Full Adder) (???)

Realizace

A1B14MIS Mikroprocesory pro výkonové systémy 04 46

Sčítačka (4bit Adder) (???)

A1B14MIS Mikroprocesory pro výkonové systémy 04 47

Půlodčítačka (Half Subtractor) (???)

3210

D

0010

c

011101110000

dba

Realizace

bababad ⊕=+=∑= )(1,m 2

bad −=

bac =∑= (1)m

A1B14MIS Mikroprocesory pro výkonové systémy 04 48

Odčítačka (Full Subtractor) (???)

7

6

5

4

3

2

1

0

D

00101

10001

01110

11010

1

0

1

0

ci+1

1

1

0

0

ai

111

001

110

000

dicibi

iiii cbad −−=

iiiiiiiiiiiii cbacbacbacbad ........742 +++=∑= ),,(1,m

iiiiiiiiiiiii cbacbacbacbac ........7321 +++=∑=+ ),,(1,m

A1B14MIS Mikroprocesory pro výkonové systémy 04 49

)(

)(1

iiiii

iiiiiiiiiiiiiiii

bacba

babacbabacbacbac

⊕+=

=++=++=+

)()()(

)()(........

iiiiiiiiiiiii

iiiiiiiiiiiiiiiiiiiiiii

bacbabacbabac

babacbabaccbacbacbacbad

⊕⊕=+++=

=+++=+++=

Odčítačka (Full Subtractor) (???)

XORXNOR=

XNORXOR

10

4 5 67

3 2

1

111

Úprava logického výrazu

Vhodná minimalizace z K-mapy

Half Subtractor d

Half Subtractor c

1+icic

ia

ib

XNOR

iiiiiiiiiiiii cbacbacbacbac ........1 +++=+

A1B14MIS Mikroprocesory pro výkonové systémy 04 50

Odčítačka (Full Subtractor) (???)

Realizace

Borrow

Borrow

A1B14MIS Mikroprocesory pro výkonové systémy 04 51

Odčítačka (Full Subtractor) (???)

Realizace

A1B14MIS Mikroprocesory pro výkonové systémy 04 52

Sčítačka/odčítačka (4bit Adder/Subtractor) (???)

• Pro čísla kódovaná v dvojkovém doplňku (Two’s Complement) platí:

1++=−= babadTC

sub = 1→ odčítání

odčítání

4cborrow =

4ccarry =

sčítáníSčítání i odčítání realizováno pouze

sčítačkou

A1B14MIS Mikroprocesory pro výkonové systémy 04 53

Shifter (1bit Left/Right) (Důležité)

A1B14MIS Mikroprocesory pro výkonové systémy 04 54

Shifter (1bit Left/Right) (Důležité)

11001100--------

rout

--------11001100

lout

1111000010101010y

1111111100000000sr

1011300112

0101010090008

11011

1117

0111415

6543210Di

101001110010

1

1

00lin

11

01

1000rinx

Posun binárního řádu (o 1 bit)

sr = 1 → Shift Right

A1B14MIS Mikroprocesory pro výkonové systémy 04 55

Shifter (1bit Left/Right) (Důležité)

10

4 5 67

8 9 1011

12 13 1415

3 2

???

????

11

11

x

sr

inr

inl

outl y xinr

srinl

?

10

4 5 67

8 9 1011

12 13 1415

3 2

1111

11

11

xsrsrlout .+= inin rsrlsry .. +=

A1B14MIS Mikroprocesory pro výkonové systémy 04 56

Shifter (1bit Left/Right) (Důležité)

10

4 5 67

8 9 1011

12 13 1415

3 2

1

11

????

????

x

sr

inr

inl

1

outr

xsrsrrout .+=

A1B14MIS Mikroprocesory pro výkonové systémy 04 57

Shifter (1bit Left/Right) (Důležité)

Realizace

outr

outl

x

y

sr

inr

inl

A1B14MIS Mikroprocesory pro výkonové systémy 04 58

4bit Shifter (1bit Left/Right, Logical/Arithmetic) (Důležité)

sr = 1 → Shift Right

sar = 1 → Shift Arithmetic

A1B14MIS Mikroprocesory pro výkonové systémy 04 59

Barrel Shifter (4bit, Shift Left/Rotate Left) (Důležité)

• Posun vlevo nebo rotace vlevo o s bitů (kombinační obvod)

• Zde ukázka posunu vlevo, podobně vpravo (pozor vpravo se lišílogický a aritmetický posun)

rol = 1 → Rotate Leftrol = 0 → Shift Left

Posun o s bitůs = 0,1,2,3,4

A1B14MIS Mikroprocesory pro výkonové systémy 04 60

Barrel Shifter (4bit, Shift Left/Rotate Left) (Důležité)

rol =

1 →

rota

tele

ft

A1B14MIS Mikroprocesory pro výkonové systémy 04 61

Typy výstupů logických členů (Důležité)

• Standardní výstup – Totem-pole output (Push-Pull)

• Dvoustavový výstup• Na výstupu vždy hodnota 0 nebo 1

• Výstupy nelze navzájem spojovat

• Otevřený kolektor – Open-collector output (OC)

• Na výstupu pouze spodní spínač

• Výstupy lze spojit, nutný upínací odpor na Vcc

• Montážní součin – Wired-AND

• Třístavový výstup – Tri-state output (TS)• Na výstupu hodnoty 0, 1, Z (Z = vysoká impedance-odpojeno)

• Výstupy lze spojovat

• Řízení výstupních členů musí zajistit, že pouze jeden vysílač není v Z

A1B14MIS Mikroprocesory pro výkonové systémy 04 62

Dvoustavový výstup (Totem-pole output) (Důležité)

Spínače jsou nad sebou

A1B14MIS Mikroprocesory pro výkonové systémy 04 63

Otevřený kolektor (Open-collector output, OC) (Důležité)

ay

bz

vcc

Wired and

Common bus

GateLogic

GateLogic

Open-collector output

R

zyf .=

A1B14MIS Mikroprocesory pro výkonové systémy 04 64

Třístavový výstup (Tri-state output, TS) (Důležité)

A1B14MIS Mikroprocesory pro výkonové systémy 04 65

8bitový záchytný registr s třístavovým výstupem (Latch, TS)

• 8-bit D–type latch with tri-state outputs (TS – output) (Důležité)

D Latch with TS output

1

0

0

0

X0

X

1

1

X

11

00

iQ

1iQ

+iD

X – nezáleží

OE

Z

LE

Z – odpojeno

A1B14MIS Mikroprocesory pro výkonové systémy 04 66

8bitový obousměrný budič sběrnice (Transceiver) (Důležité)

• 8-bit bus transceiver with tri-state outputs

Bus Transceiver

1

0

0

X

1

0

OE

Z

ZBA →AB→

DIR portA portB

Z Z

Z – odpojeno

A1B14MIS Mikroprocesory pro výkonové systémy 04 67

Společná sběrnice (Bus, Common Bus) (Důležité)

• Použití: propojení komunikujících bloků počítače

• Sběrnice jednosměrná nebo obousměrná• Sběrnice s třístavovými budiči nebo s budiči s otevřeným kolektorem

A1B14MIS Mikroprocesory pro výkonové systémy 04 68

Přehled sekvenčních bloků a budičů dle kategorie

2-bit Counter - Moore

2-bit Counter - Mealy

8-bit Counter

4-bit Shift Reg. P-S

8-bit Shift Reg. P-S

16-bit Counter

4-bit Shift Reg. S-P

4-bit Register, Clock

Time Delay

Clock Impuls

Debounce Circuit

4-bit Shift Reg., Enable

Ring Counter

Register, Parallel Load

Tri-state Latch

8-bit Transceiver

Common Bus

Bus Drivers

A1B14MIS Mikroprocesory pro výkonové systémy 04 69

Čítače (Counter) (???)

• Speciální typ registru – zahrnuje funkce přičítaní nebo odčítání

• Čítače čítají (odčítají) modulo M• Úplné čítače čítají modulo 2n (tj. čítají do 4, 8, 16,……)• Neúplné čítače čítají např. do 5, 10, 13, 55, 80, ….

• Čítače čítají:• v binární kódu• v Grayově kódu (mění se vždy jen jedna stavová proměnná)• v Johansonově kódu (mění se vždy jen jedna stavová proměnná)• v dalších kódech

• Čítače jsou:• Synchronní – stavové klopné obvody mají společné hodiny• Asynchronní – výstup jednoho klopného obvodu tvoří hodiny

následujícího klopného obvodu

A1B14MIS Mikroprocesory pro výkonové systémy 04 70

Synchronní 2bitový binární čítač s blokováním (???)

Navrhněte synchronní konečný automat (FSA – Finite State Automaton, Moore) typu čítač. Čítač čítá v binárním kódu, je 2bitový a má blokování čítání. V zapojení použijte půlsčítačku (Half Adder). Automat navrhněte s asynchronním nulováním.

Blokování čítáníe = 0

Přenos

Moore

A1B14MIS Mikroprocesory pro výkonové systémy 04 71

Synchronní 2bitový binární čítač s blokováním (???)

S0

S1

S2

S3

I1

03

I0

00

01

02

I1I1

I0

I0I0

I1

Stavový diagram

I – Vstupy (Inputs)

O – Výstupy (Outputs)

Si – i-tý stav

S0S3S3

S3S2S2

S2S1S1

S1S0S0

I1I0Si

Tabulka přechodů

O3S3

O2S2

O1S1

O0S0

OiSi

Tabulka výstupů

Moore

A1B14MIS Mikroprocesory pro výkonové systémy 04 72

Synchronní 2bitový binární čítač s blokováním (???)

Tabulka přechodů

S3

S2

S!

S0

S3

S2

S!

S0

Si

1

0

1

0

1

0

1

0

q0

S00011

S31111

S20101

S11001

S31110

S20110

S!1000

S00000

Si+1d0d1q1e

Kódování stavů

Si Si+1

S0S3S3

S3S2S2

S2S1S1

S1S0S0

I1I0Si

Moore

A1B14MIS Mikroprocesory pro výkonové systémy 04 73

Synchronní 2bitový binární čítač s blokováním (???)

1

0

0

0

c

1

1

0

0

y1

1

0

1

0

y0

S3

S2

S!

S0

Si

O311

O201

O110

O000

Oiq0q1

Kódování výstupů

Si O

O3S3

O2S2

O1S1

O0S0

OiSi

Tabulka výstupů

Moore

A1B14MIS Mikroprocesory pro výkonové systémy 04 74

Synchronní 2bitový binární čítač s blokováním (???)

0d

10

4 5 67

3 2

11

110q1q

10

4 5 67

3 2

11

11

1d

0q1q Minimalizace

e

e)(

)()(

)(

01

0101

0101

011011

qeq

qeqqeq

qqeeqq

qqeqeqqd

⊕==+=

=++=

=++=

00 qy = 11 qy = 01 qqec =

Moore

0000 qeqeqed ⊕=+=

A1B14MIS Mikroprocesory pro výkonové systémy 04 75

Moore

Synchronní 2bitový binární čítač s blokováním (???)

RealizaceHalf AdderHalf Adder

Moore

A1B14MIS Mikroprocesory pro výkonové systémy 04 76

Synchronní 8bitový binární čítač s blokováním (???)

A1B14MIS Mikroprocesory pro výkonové systémy 04 77

Synchronní 2bitový binární čítač s blokováním (???)

Navrhněte synchronní konečný automat (FSA – Finite State Automaton, Mealy) typu čítač. Čítač čítá v binárním kódu, je 2bitový a má blokování čítaní. V zapojení použijte půlsčítačku (Half Adder). Automat navrhněte s asynchronním nulováním.

Blokování čítáníe = 0

Přenos

Mealy

A1B14MIS Mikroprocesory pro výkonové systémy 04 78

Synchronní 2bitový binární čítač s blokováním (???)

I – Vstupy (Inputs)

O – Výstupy (Outputs)

Si – i-tý stav

Stavový diagram

S0S3S3

S3S2S2

S2S1S1

S1S0S0

I1I0Si

Tabulka přechodů

O3

O2

O1

O0

I0

O0S3

O3S2

O2S1

O1S0

I1Si

Tabulka výstupů

Mealy

A1B14MIS Mikroprocesory pro výkonové systémy 04 79

Synchronní 2bitový binární čítač s blokováním (???)

Tabulka přechodů

S3

S2

S!

S0

S3

S2

S!

S0

Si

1

0

1

0

1

0

1

0

q0

S00011

S31111

S20101

S11001

S31110

S20110

S!1000

S00000

Si+1d0d1q1e

Kódování stavů

Si Si+1

S0S3S3

S3S2S2

S2S1S1

S1S0S0

I1I0Si

Mealy

A1B14MIS Mikroprocesory pro výkonové systémy 04 80

Synchronní 2bitový binární čítač s blokováním (???)

O3

O2

O1

O0

I0

O0S3

O3S2

O2S1

O1S0

I1Si

Tabulka výstupů

Kódování výstupů

S3

S2

S!

S0

S3

S2

S!

S0

Si

1

0

1

0

1

0

1

0

q0

O00011

O31111

O20101

O11001

O31110

O20110

O!1000

O00000

Oiy0y1q1e

Si Oi

Mealy

A1B14MIS Mikroprocesory pro výkonové systémy 04 81

Synchronní 2bitový binární čítač s blokováním (???)

0d

10

4 5 67

3 2

11

110q1q

10

4 5 67

3 2

11

11

1d

0q1q Minimalizace

e

e)(

)()(

)(

01

0101

0101

011011

qeq

qeqqeq

qqeeqq

qqeqeqqd

⊕==+=

=++=

=++=

01 qqec =

Mealy

0000 qeqeqed ⊕=+=

A1B14MIS Mikroprocesory pro výkonové systémy 04 82

Synchronní 2bitový binární čítač s blokováním (???)

10

4 5 67

3 2

11

110q1q

10

4 5 67

3 2

11

110q1q Minimalizace

e

e

01 qqec =

0y

1y

)(

)()(

)(

01

0101

0101

011011

qeq

qeqqeq

qqeeqq

qqeqeqqy

⊕==+=

=++=

=++=

Mealy

0000 qeqeqey ⊕=+=

A1B14MIS Mikroprocesory pro výkonové systémy 04 83

Synchronní 2bitový binární čítač s blokováním (???)

Realizace

Mealy

Mealy

A1B14MIS Mikroprocesory pro výkonové systémy 04 84

Synchronní 2bitový binární čítač s blokováním (porovnání) (???)

Moore Mealy

S0

S1

S2

S3

I1

03

I0

00

01

02

I1I1

I0

I0I0

I1 ≠

A1B14MIS Mikroprocesory pro výkonové systémy 04 85

Synchronní 2bitový binární čítač s blokováním (porovnání) (???)

S0S3S3

S3S2S2

S2S1S1

S1S0S0

I1I0Si

Tabulka přechodů

O3S3

O2S2

O1S1

O0S0

OiSi

Tabulka výstupů

Moore Mealy

S0S3S3

S3S2S2

S2S1S1

S1S0S0

I1I0Si

Tabulka přechodů

O3

O2

O1

O0

I0

O0S3

O3S2

O2S1

O1S0

I1Si

Tabulka výstupů

A1B14MIS Mikroprocesory pro výkonové systémy 04 86

Synchronní 2bitový binární čítač s blokováním (porovnání)

Moore Mealy

S3

S2

S!

S0

S3

S2

S!

S0

Si

1

0

1

0

1

0

1

0

q0

S00011

S31111

S20101

S11001

S31110

S20110

S!1000

S00000

Si+1d0d1q1e

Kódování stavů

Si Si+1

S3

S2

S!

S0

S3

S2

S!

S0

Si

1

0

1

0

1

0

1

0

q0

S00011

S31111

S20101

S11001

S31110

S20110

S!1000

S00000

Si+1d0d1q1e

Kódování stavů

Si Si+1≡

A1B14MIS Mikroprocesory pro výkonové systémy 04 87

Synchronní 2bitový binární čítač s blokováním (porovnání) (???)

Moore Mealy

1

0

0

0

c

1

1

0

0

y1

1

0

1

0

y0

S3

S2

S!

S0

Si

O311

O201

O110

O000

Oiq0q1

Kódování výstupů

Si O

Kódování výstupů

S3

S2

S!

S0

S3

S2

S!

S0

Si

1

0

1

0

1

0

1

0

q0

O00011

O31111

O20101

O11001

O31110

O20110

O!1000

O00000

Oiy0y1q1e

Si Oi≠

A1B14MIS Mikroprocesory pro výkonové systémy 04 88

Synchronní 2bitový binární čítač s blokováním (porovnání) (???)

Moore Mealy

A1B14MIS Mikroprocesory pro výkonové systémy 04 89

Synchronní 2bitový binární čítač s blokováním (porovnání) (???)

Moore

Mealy

A1B14MIS Mikroprocesory pro výkonové systémy 04 90

Synchronní 4bitový binární čítač (???)

Navrhněte synchronní konečný automat (FSA – Finite State Automaton) typu čítač. Čítaččítá v binárním kódu a je 4bitový. V zapojení použijte půlsčítačku (Half Adder). Automat navrhněte s asynchronním nulováním.

A1B14MIS Mikroprocesory pro výkonové systémy 04 91

Synchronní 4bitový binární čítač (???)

Stavový diagram

I – Vstupy (Inputs)

O – Výstupy (Outputs)

Si – i-tý stav

Moore

A1B14MIS Mikroprocesory pro výkonové systémy 04 92

Synchronní 4bitový binární čítač (???)

S15

S14

S13

S12

S11

S10

S9

S8

Si

S15S7S6

S12S4S3

S13S5S4

S14S6S5

S0S8S7

S11S3S2

S10S2S1

S9S1S0

11Si

Tabulka přechodů

O7

O6

O5

O4

O3

O2

O1

O0

Oi

S15

S14

S13

S12

S11

S10

S9

S8

Si

O11S3

O12S4

O13S5

O14S6

O15S7

O10S2

O9S1

O8S0

OiSi

Tabulka výstupů

Moore

A1B14MIS Mikroprocesory pro výkonové systémy 04 93

Synchronní 4bitový binární čítač (???)

0101010101010101d0

0110011001100110d1

0111111110000000d3

0111100001111000d2

1111111100000000q3

14101131300112

110101010100990008

1211011

81117

15011140

7654321

Si+1

15

6543210Si

101001110010

1

1

00q2

11

01

1000q0q1

Kódování stavů

Si Si+1

1010101010101010y0

1100110011001100y1

1111111100000000y3

1111000011110000y2

1111111100000000q3

13101131200112

10010109100980008

1111011

71117

140111415

6543210Oi

15

6543210Si

101001110010

1

1

00q2

11

01

1000q0q1

Kódování výstupů

Si Oi

Moore

(???)

A1B14MIS Mikroprocesory pro výkonové systémy 04 94

10

4 5 67

8 9 1011

12 13 1415

3 21

Synchronní 4bitový binární čítač (???)

10

4 5 67

8 9 1011

12 13 1415

3 2

11

11

11

11

Minimalizace

0d0q1q

2q3q

11

11

11

10q1q

2q3q

1d

1000 ⊕== qqd

01

01011

qq

qqqqd

⊕==+=

Moore

A1B14MIS Mikroprocesory pro výkonové systémy 04 95

10

4 5 67

8 9 1011

12 13 1415

3 2

1

Synchronní 4bitový binární čítač (???)Minimalizace

10

4 5 67

8 9 1011

12 13 1415

3 2

1

111

11

10q

2q3q

1111

111

1

0q

2q3q

2d 3d

1

)(

)()(

)(

012

012012

012102

01212022

qqq

qqqqqq

qqqqqq

qqqqqqqd

⊕==+=

=++=

=++=

)(

)()(

)()(

0123

01230123

01230123

01220313233

qqqq

qqqqqqqq

qqqqqqqq

qqqqqqqqqqd

⊕==+=

=+++=

=+++=

1q 1q

Moore

A1B14MIS Mikroprocesory pro výkonové systémy 04 96

Synchronní 4bitový binární čítač (???)

Realizace

Moore

A1B14MIS Mikroprocesory pro výkonové systémy 04 97

Synchronní 16bitový binární čítač (???)

A1B14MIS Mikroprocesory pro výkonové systémy 04 98

Posuvný registr (Shift Register) (Důležité)

• Použití:

• Převod sériové informace na paralelní• Sériová komunikace - příjem

• Převod paralelní informace na sériovou

• Sériová komunikace – vysílání• Definované zpoždění signálu

• Vícefázové hodiny pro řízení sekvenčních obvodů

• Kruhový čítač (Ring Counter)• Převod hladinového signálu na impuls

• Clock pulse circuit

• Potlačení zákmitů mechanických tlačítek a spínačů

• Debounce circuit

• Další použití …

A1B14MIS Mikroprocesory pro výkonové systémy 04 99

Posuvný registr (4bit Shift Register, Serial to Parallel) (Důležité)

A1B14MIS Mikroprocesory pro výkonové systémy 04 100

Posuvný registr (4bit Shift Register, Parallel to Serial) (Důležité)

load = 1→ nastav

A1B14MIS Mikroprocesory pro výkonové systémy 04 101

Posuvný registr (8bit Shift Register, Serial to Parallel) (Důležité)

A1B14MIS Mikroprocesory pro výkonové systémy 04 102

Posuvný registr (4bit Shift Register, Serial to Parallel) (Důležité)

• Definované zpoždění signálu

A1B14MIS Mikroprocesory pro výkonové systémy 04 103

Posuvný registr (4bit Shift Register, Serial to Parallel) (Důležité)

• Převod hladinového signálu na impuls (testování hardware)

A1B14MIS Mikroprocesory pro výkonové systémy 04 104

Posuvný registr (4bit Shift Register, Serial to Parallel) (Důležité)

• Potlačení zákmitů mechanických tlačítek a spínačů (Debounce Circuit)

A1B14MIS Mikroprocesory pro výkonové systémy 04 105

Posuvný registr (4bit Shift Register, Shift Enable) (???)

sh = 1→ posuv

A1B14MIS Mikroprocesory pro výkonové systémy 04 106

Kruhový čítač (4bit Ring Counter) (Důležité)

• Vícefázové hodiny pro řízení sekvenčních obvodů

A1B14MIS Mikroprocesory pro výkonové systémy 04 107

Kruhový čítač (4bit Ring Counter) (Důležité)

• Vícefázové hodiny pro řízení sekvenčních obvodů

A1B14MIS Mikroprocesory pro výkonové systémy 04 108

Posuvný registr (4bit Shift Register, Serial to Parallel) (???)

• Převod sériových dat na paralelní - princip

A1B14MIS Mikroprocesory pro výkonové systémy 04 109

Posuvný registr (16bit Shift Register, Serial to Parallel) (???)

A1B14MIS Mikroprocesory pro výkonové systémy 04 110

Registr (4bit Register) (Důležité)

• n – klopných obvodů řízených společným hodinovým signálem

4bitRegister

q0

q3

q1

q2

d3

d1

d2

d0

clk

reset

set

A1B14MIS Mikroprocesory pro výkonové systémy 04 111

Registr (4bit Register, Parallel Load) (Důležité)

• n – klopných obvodů řízených společným hodinovým signálem

• Zápis do registru i při trvale běžících hodinách signálem load = 1

1bit registru

A1B14MIS Mikroprocesory pro výkonové systémy 04 112

Registr (4bit Register, Parallel Load) (Důležité)

• n – klopných obvodů řízených společným hodinovým signálem

• Zápis do registru i při trvale běžících hodinách signálem load = 1

A1B14MIS Mikroprocesory pro výkonové systémy 04 113

Hazardy (Důležité)

• Co je hazard v logických obvodech

• Příčiny vzniku hazardu

• Nalezení hazardu

• Kdy hazard ovlivní činnost logických obvodů?

• Poznámka: zde se zabýváme jen statickým hazardem.

• Existují ještě hazardy dynamické (souvisejí se statickými)

A1B14MIS Mikroprocesory pro výkonové systémy 04 114

Příčiny vzniku hazardu (Důležité)

• Hazard je krátká neočekávaná změna výstupního signálu (glitch), která

není matematickým výstupem logické funkce

• Signál ze vstupu logického obvodu se šíří na výstup různými cestami, kterése někdy rozdělí a pak zase spojí. Signál se různými cestami vlivem časového zpoždění na hradlech a vodičích šíří různou dobu. V místěopětovného spojení má signál z různých cest různý časový posun.

• Statický hazard – výstup logického obvodu má být trvale v 0 nebo 1

(má být statický), místo toho se objeví krátký impuls do opačné úrovně.• 0-1-0 … statický hazard v 0

• 1-0-1 … statický hazard v 1

A1B14MIS Mikroprocesory pro výkonové systémy 04 115

Statický hazard v úrovni 1 (Důležité)

zyyxf +=nsT 2=∆

nsT 4=∆

nsT 4=∆1c

2c

nsTc 10 =++=∆ 4421

nsTc 8 =+=∆ 442

nsTTT ccH 221 =∆−∆=∆

nsT 4=∆

A1B14MIS Mikroprocesory pro výkonové systémy 04 116

Statický hazard v úrovni 1 (Důležité)

1=+=→

→==

zyyxf

1z 1, x:Pro

!! hazard

nsT 2=∆nsT 4=∆

nsT 4=∆1c

2c

nsT 4=∆

Má býtSkutečnost

A1B14MIS Mikroprocesory pro výkonové systémy 04 117

Kdy hazardy vadí? (Důležité)

• Hazardy v kombinačních obvodech nejsou kritické – výstup kombinačního obvodu se po určité (krátké) době vždy ustálí ve správné hodnotě

• Hazardy v sekvenčních obvodech mohou uvést klopné obvody do nesprávného stavu a tím nastavit celý sekvenční obvod (konečný automat) do nevratného kritického stavu !!!

• Řešení:

• Hazard-free design• Synchronní návrh a správný výpočet maximální povolené hodinové

(synchronizační) frekvence

A1B14MIS Mikroprocesory pro výkonové systémy 04 118

České vysoké učení technické Fakulta elektrotechnická

Logické obvodyKombinační a sekvenční stavební bloky

KONEC

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMYMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY


Recommended