07a -- Sekvensiell logikk del 2 - Universitetet i oslo...1-fase klokking Omid Mirmotahari 1 0 Cycle...

Preview:

Citation preview

INF1400

Sekvensiell logikk del 2

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

  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

  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

Portforsinkelse / tidsforsinkelse

Omid Mirmotahari

a b F

’1’

’0’

’1’

’0’

’1’ a

b

F

5

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

  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

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

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)

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

1-fase klokking eksempel

Omid Mirmotahari 11

s

CLK

clk D Q

0

1 D Q

System timing

Omid Mirmotahari 12

Register A

Combinational Logic

Td Register

B clock Tq Ts

Tq Td Ts

Tc >Tq + Td + Ts

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

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)

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

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

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

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

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

Recommended