07a -- sekvensiell logikk del 2 - universitetet i oslo...1-fase klokking omid mirmotahari 1 0 cycle...

19
INF1400 Sekvensiell logikk del 2

Upload: others

Post on 20-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

INF1400

Sekvensiell logikk del 2

Page 2: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

Oppsummering hittil

  Låsekretser (latch´er) –  SR latch med NOR-porter –  S´R´ latch med NAND-porter –  D-latch

  Flip-flop –  Master-slave D-flip-flop –  JK flip-flop –  T-flip-flop

Omid Mirmotahari 2

Page 3: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

  I synkrone sekvensielle kretser skjer endringen(e) i output samtidig med endringen i et klokkesignal.

  I asynkrone sekvensielle kretser skjer endringen(e) i output uten noe klokkesignal.

  Nesten alle kretser er synkrone.

  Et klokkesignal er et digitalt signal som veksler mellom ´0 ́og ´1´ med fast takt.

Omid Mirmotahari

Klokkeperiode Stigende flanke

Fallende flanke

’1’

’0’

3

Page 4: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

  Den omvendte av klokkeperioden kalles (klokke)frekvensen, altså

  Ønsker så høy klokkefrekvens som mulig, fordi hver enkelt operasjon da bruker så kort tid som mulig.

  Maksimal klokkefrekvens bestemmes av flere faktorer, blant annet:

–  Lengde på signalveiene

–  Last

–  Forsinkelse gjennom porter (delay)

–  Teknologi.

  NB: Hastighet er ikke direkte proporsjonal med klokkefrekvens.

Omid Mirmotahari

klokkeperioden frekvens = 1

4

Page 5: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

Portforsinkelse / tidsforsinkelse

Omid Mirmotahari

a b F

’1’

’0’

’1’

’0’

’1’ a

b

F

5

Page 6: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

Logisk dybde   Logisk dybde: Antall porter et signal passerer fra inngang

til utgang.

  Ved å redusere logisk dybde reduseres forsinkelsen gjennom kretsen.

Omid Mirmotahari

Eksempel: a b

c

E

F

6

Page 7: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

  Internt i en CPU trengs en fleksibel type lagercelle som kan lagre et bit.

  Som regel trenger man å lagre hele byte, halvord eller ord, og gjøre samme operasjon på alle bitene.

  Load-signalet bestemmer om ny verdi skal lastes inn eller ikke.

  Ved å sette sammen 1-bits celler i parallell, får man et register.

  Hvis man i tillegg kan laste data over i nabocellen, kalles det et skiftregister.

Omid Mirmotahari

Data in

Clock Data out

Load

1-bits lager- celle

7

Page 8: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

Shiftregister - enkel

Omid Mirmotahari

Data in Clock Load

Shift enable Shift left

Data out

Data Data out in

1 bit

Kontroll logikk

Data in Clock Load

Shift enable Shift left

Data out

1 bit

Kontroll logikk

Load

Shift

Ena

ble

Shift

Lef

t

’0’ ’X’ ’X’ Ingen endring

’1’ ’0’ ’X’ Data out := Data in ’1’ ’1’ ’0’ Shift right ’1’ ’1’ ’1’ Shift left

8

Page 9: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

9

Logic ...

Logic D Q

CLK CLK

D Q Input output D Q

Comb. Logic

Q D

CLK or CLKS

De fleste VLSI systemer er en kombinasjon av: (a) Pipeline (b) tilstandsmaskiner (FSM)

System (klokket)

Page 10: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

1-fase klokking

Omid Mirmotahari 10

Cycle Time (Tc) Clock

Setup Time (Ts)

Hold Time (T ) h

data

Q

Clock-to-Q Delay (Tq)

Tc = klokkeperioden Ts = tiden før klokkeflanken hvor inngangen må være stabil og tilgjengelig Th = tiden etter klokkeflanken hvor inngangssignalet må fortsatt være stabil Tq = tiden det tar fra klokkeflanken til utgangen er klar

Page 11: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

1-fase klokking eksempel

Omid Mirmotahari 11

s

CLK

clk D Q

0

1 D Q

Page 12: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

System timing

Omid Mirmotahari 12

Register A

Combinational Logic

Td Register

B clock Tq Ts

Tq Td Ts

Tc >Tq + Td + Ts

Page 13: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

System timing (alternativ)

Alternativt, kan man bruke latcher som lagrings element for å spare plass

Omid Mirmotahari 13

Latch A

Combinational Logic

Td

Combinational Logic

Td clock Tq Ts

Latch B

Page 14: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

System timing

Omid Mirmotahari 14

Latch A

Combinational Logic Tda

Latch B clock

Tq Ts Latch c

Combinational Logic Tdb

A B

Tc1 Tco

Tqa Tda Tsb Tqb Tdb Tsc

Tc1>Tqa+Tda+Tsb Tco>Tqb+Tdb+Tsc If Tc=Tc1+Tco and Tc1=Tco, Tqa=Tqb, Tsb=Tsc

=> The limit is Tc = Tda + Tdb + 2(Tq+Ts)

Page 15: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

Klokket latch i CMOS

Omid Mirmotahari 15

”liten” inverter (lav-gain, mindre W or større L)

ck

D Q

ck D

clk

clk

clk

clk

Page 16: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

Typisk utlegg for latch

Omid Mirmotahari 16

D

Q

clk

clk

clk

clk

Q D

clk -clk

-clk

clk clk

-clk

D

VDD

VSS V SS

Q D

clk -clk

Page 17: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

Omid Mirmotahari

Tilstandsmaskin - Teller

  Synkron 3-bits teller har en modus signal M   M = 0, teller oppover i binær sekvens   M = 1, teller oppover i Gray Code sekvens

Binært: 000, 001, 010, 011, 100, 101, 110, 111 Gray: 000, 001, 011, 010, 110, 111, 101, 100

17

Page 18: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

Et utvalg inputkombinasjoner

Omid Mirmotahari 18

Input M 0 0 1 1 1 0 0

Nåværende tilstand 000 001 010 110 111 101 110

Neste tilstand 001 010 110 111 101 110 111

Page 19: 07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle Time (Tc) Clock Setup Time (Ts) Hold Time (T h ) data Q Clock-to-Q Delay (Tq) Tc

Omid Mirmotahari

Tilstandsdiagram

19

S0 [000]

S1 [001]

S2 [010]

S3 [011]

S4 [100]

S5 [101]

S6 [110]

S7 [111]

reset

0

0 0 0 0 0 0 0 1

1

1 1

1 1

1 1