INF1400 Sekvensiell logikk del 2 Læringsutbytte • Kunnskapsmål: – Kunnskap om hva sekvensiell logikk er – Kunnskap om hva klokkings strategier – Kunnskap om register • Ferdighetsmål: – Kunne forstå de ulike klokkestrategiene – Kunne argumentere for design basert på portforsinkelse og logisk dybde • Generelle kompetansemål: – Kunne redegjøre for behovet av register Omid Mirmotahari 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 3 Flip-flop karakteristiske tabeller J K Q(t+1) 0 0 1 1 0 1 0 1 Q(t) 0 1 Q(t)' Reset Set S R Q(t+1) 0 0 1 1 0 1 0 1 Q(t) 0 1 ? SR Flip-flop JK Flip-flop D Q(t+1) 0 1 0 1 Reset Set D Flip-flop Reset Set Uforutsigbar T Q(t+1) 0 1 Q(t) Q(t)' T Flip-flop Omid Mirmotahari 4 • I synkrone sekvensielle kretser skjer endringen(e) i output • I asynkrone sekvensielle kretser skjer endringen(e) i output • Nesten alle kretser er synkrone. • Et klokkesignal er et digitalt signal som veksler mellom ´0´ og ´1´ med fast takt. Omid Mirmotahari 5 • 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: • NB: Hastighet er ikke direkte proporsjonal med klokkefrekvens. Omid Mirmotahari 6 Portforsinkelse / tidsforsinkelse a b F ’1’ a ’1’ ’0’ b ’1’ ’0’ F Omid Mirmotahari 7 Logisk dybde • Logisk dybde: Antall porter et signal passerer fra inngang til utgang. • Ved å redusere logisk dybde reduseres forsinkelsen gjennom kretsen. Eksempel: a b E F c Omid Mirmotahari 8 • Internt i en CPU trengs en fleksibel type lagercelle som kan lagre et bit. Data in Clock 1-bits lagercelle Data out Load • 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 9 Shiftregister - enkel Data in Clock Load Shift enable Shift left Data out Kontroll logikk 1 bit Data out Shift Left Load Shift enable Shift left 1 bit Shift Enable Data in Clock Load Data Data out in ’0’ ’X’ ’X’ Ingen endring ’1’ ’1’ ’1’ ’0’ ’1’ ’1’ ’X’ ’0’ ’1’ Data out := Data in Shift right Shift left Kontroll logikk Omid Mirmotahari 10 System (klokket) De fleste VLSI systemer er en kombinasjon av: (a) Pipeline (b) tilstandsmaskiner (FSM) Input D Q D Q Logic CLK Logic ... D Q output CLK Comb. Logic QD CLK or CLKS 11 1-fase klokking Cycle Time (Tc) Tc = klokkeperioden Clock Ts = tiden før klokkeflanken hvor inngangen må være stabil og tilgjengelig Setup Time (Ts) data Th = tiden etter klokkeflanken hvor inngangssignalet må fortsatt være stabil Hold Time (T h) Tq = tiden det tar fra klokkeflanken til utgangen er klar Q Clock-to-Q Delay (Tq) Omid Mirmotahari 12 1-fase klokking eksempel clk 0 D 1 Q D Q s CLK Omid Mirmotahari 13 System timing clock Register A Combinational Logic Td Tq Tq Td Ts Register B Ts Tc >Tq + Td + Ts Omid Mirmotahari 14 System timing (alternativ) Alternativt, kan man bruke latcher som lagrings element for å spare plass clock Latch A Tq Combinational Logic Td Omid Mirmotahari Ts Latch B 15 System timing A Latch A clock Tq Tc1 Combinational Logic Tda Tco B Ts Latch B Combinational Logic Tdb Tc1>Tqa+Tda+Tsb Latch c Tco>Tqb+Tdb+Tsc If Tc=Tc1+Tco and Tc1=Tco, Tqa=Tqb, Tqa Tsb=Tsc Tda Tsb Tqb Tdb Tsc => The limit is Tc = Tda + Tdb + 2(Tq+Ts) Omid Mirmotahari 16 Klokket latch i CMOS ck D D clk Q clk ck clk clk ”liten” inverter (lav-gain, mindre W or større L) Omid Mirmotahari 17 Typisk utlegg for latch VDD Q D VSS clk -clk clk V SS -clk clk clk D -clk -clk D clk clk Q D Omid Mirmotahari clk Q clk 18 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 Omid Mirmotahari 19 Et utvalg inputkombinasjoner Input M 0 0 1 1 1 0 0 Nåværende tilstand 000 001 010 110 111 101 110 Omid Mirmotahari Neste tilstand 001 010 110 111 101 110 111 20 Tilstandsdiagram Omid Mirmotahari 21
© Copyright 2025