GRUNNLEGGENDE problematikk ved sekvensiering blir

Like dokumenter
Del 10: Sekvensielle kretser YNGVAR BERG

INF3400/4400 Digital Mikroelektronikk Løsningsforslag DEL 10 Våren 2007

INF3400 Digital Mikroelektronikk Løsningsforslag DEL 10

INF3400/4400 Digital Mikroelektronikk Løsningsforslag DEL 10

GRUNNLEGGENDE problematikk ved sekvensiering blir

INF3400 Digital Mikroelektronikk Løsningsforslag DEL 11 Latcher og vipper

INF3400/4400 Digital Mikroelektronikk Løsningsforslag DEL 11 Latcher og vipper Våren 2007

KONVENSJONELLE latcher og vipper i CMOS blir gjennomgått.

IN1020. Sekvensiell Logikk

Del 11: Latcher og vipper

KONVENSJONELLE latcher og vipper i CMOS blir gjennomgått.

Forelesning 6. Sekvensiell logikk

INF1400. Sekvensiell logikk del 1

INF1400. Sekvensiell logikk del 1

Del 9: Dynamisk CMOS

INF2270. Sekvensiell Logikk

Løsningsforslag DEL1 og 2 INF3400/4400

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

Løsningsforslag INF1400 H04

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

INF3400/4400 Digital Mikroelektronikk Løsningsforslag DEL 13 Våren 2007

TFE4101 Krets- og Digitalteknikk Høst 2016

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

Repetisjon digital-teknikk. teknikk,, INF2270

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

MAKE MAKE Arkitekter AS Maridalsveien Oslo Tlf Org.nr

LØSNINGSFORSLAG 2006

Låsekretser (latch er) SR latch bygget med NOR S R latch bygget med NAND D latch. Master-slave D flip-flop JK flip-flop T flip-flop

TI dsforsinkelse i kjeder med logiske porter. Beregning av

INF3400 Digital Mikroelektronikk Løsningsforslag DEL 12

Løsningsforslag DEL1 og 2 INF3400/4400

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

INF3340/4340. Synkrone design Tilstandsmaskiner

Oppgave 1 (Flanke- og nivåstyrte vipper)

INF3340. Tilstandsmaskiner

UNIVERSITETET I OSLO

INF3340/4431. Tilstandsmaskiner

UNIVERSITETET I OSLO

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Del 6: Tidsforsinkelse i logiske kjeder

UNIVERSITETET I OSLO

Løsningsforslag til regneøving 6. a) Bruk boolsk algebra til å forkorte følgende uttrykk [1] Fjerner 0 uttrykk, og får: [4]

Øving 7: Løsningsforslag (frivillig)

Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO

CMOS med transmisjonsporter blir presentert, herunder

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

CMOS med transmisjonsporter blir presentert, herunder

MAX MIN RESET. 7 Data Inn Data Ut. Load

UNIVERSITETET I OSLO

INF 3430/4430. Viktige momenter i syntese og for valg av teknologi

Forelesning 4. Binær adder m.m.

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

INF3400/4400 Digital Mikroelektronikk Løsningsforslag DEL 13 og 14

MO deller for tidsforsinkelse i logiske porter blir gjennomgått.

5 E, B (16) , 1011 (2) Danner grupper a' fire bit , (2) Danner grupper a' tre bit 1 3 6, 5 4 (8)

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Del 3: Utvidet transistormodell og DC karakteristikk for inverter og pass transistor

UNIVERSITETET I OSLO

Del 5: Statisk digital CMOS

Lab 5 Enkle logiske kretser - DTL og 74LS00

Eksamen INF2270 våren 2018

INF1400. Tilstandsmaskin

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK, LF DIGITALTEKNIKKDELEN AV EKSAMEN (VERSJON 1)

UNIVERSITETET I OSLO

CMOS inverter DC karakteristikker og hvordan transistorstørrelser

Design med ASIC og FPGA (Max kap.7 og 18)

Repetisjon. Sentrale temaer i kurset som er relevante for eksamen (Eksamen kan inneholde stoff som ikke er nevnt her)

PENSUM INF spring 2013

Oppgave 1 INF3400. Løsning: 1a Gitt funksjonen Y = (A (B + C) (D + E + F)). Tegn et transistorskjema (skjematikk) i komplementær CMOS for funksjonen.

INF3400/4400 Digital Mikroelektronikk Løsningsforslag DEL 8 Våren 2006 YNGVAR BERG

UNIVERSITETET I OSLO

Forelesning 7. Tilstandsmaskin

Oppsummering digital-teknikk, teknikk, INF2270

INF1400. Tilstandsmaskin

INF3400 Forel. # Avansert CMOS. INF3400 Forelesning #15 Øivind Næss

Dataveier og optimalisering. Kapittel 9

UNIVERSITETET I OSLO

Oversikt. Avansert CMOS. INF3400 Del Skalering Transistorskalering Interconnect -skalering Teknologi roadmap

MIK 200 Anvendt signalbehandling, Lab. 5, brytere, lysdioder og logikk.

Datakonvertering. analog til digital og digital til analog

Notater: INF2270. Veronika Heimsbakk 10. juni 2014

Tips og triks til INF3400

INF3400 Digital Mikroelektronikk Løsningsforslag DEL 9

Digitalstyring sammendrag

Kapittel 5 Tilstandsmaskin

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

- - I Aile trykte og skrevne. samt kalkulator

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Mandag 14. august Tid. Kl LØSNINGSFORSLAG

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærer: Robert Roppestad. består av 5 sider inklusiv denne forsiden, samt 1 vedleggside.

EKSAMEN Emnekode: ITD13012

Studere en Phase Locked Loop IC - NE565

INF1400. Karnaughdiagram

Design med ASIC og FPGA (Max kap.7 og 18)

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK. Onsdag 15. august Tid. Kl LØSNINGSFORSLAG

EKSAMEN. Informasjon om eksamen. Emnekode og -navn: ITD13012 Datateknikk. Dato og tid: timer. Fagansvarlig: Robert Roppestad

Transkript:

el 10: Sekvensielle kretser YNGVAR BERG 1 I. Innhold GRUNNLEGGENE problematikk ved sekvensiering blir gjennomgått. Sekvenseringsmetoder med vipper, tofase transparente latcher og latcher som styres av klokkepulser blir presentert. Begrensinger for maksimal og minimal forsinkelse i kombinatorisk mellom sekvenseringselementene blir diskutert. Fordeling av tid mellom klokkefaser blir kort presentert og effekten av klokkeskew blir omhandlet. Alle henvisninger til figurer er relevant for Weste & Harris [1]. 1. Innhold. 2. Introduksjon til sekvensielle kretser. Kapittel 7.1 side 383-384. 3. Sekvenseringsmetoder. Kapittel 7.2.1 side 385-387. 4. Begrensinger for maks forsinkelse. Kapittel 7.2.2 side 388-392. 5. Begrensinger for minimum forsinkelse. Kapittel 7.2.2 side 392-396. 6. Fordeling av tid mellom klokkefasene. Kapittel 7.2.4 side 396-399. 7. Klokke skew. Kapittel 7.2.5 side 399-402. II. Introduksjon til sekvensielle kretser (Kapittel 7.1 side 383-384) ynamiske kretser kan karakteriseres ved å utgangene på kretsene, eller portene, er en funksjon av inngangene i samme tidsperode. Sekvensielle kretser derimot kan karakteriseres ved at utgangene på kretsene er en funksjon av inngangene i forrige tidsperiode og samme tidsperiode. Vi sier at en sekvensiell krets har en tilstand. Tilstandsmaskiner og pipeline systemer er viktige eksempler på sekvensielle kretser. Sekvenseielle kretser lages oftest ved hjelp av latcher eller vipper og kalles ofte hukommelse. Formålet med latcher og vipper er ikke primært hukommelse, men å skille en tilstand fra forrige tilstand i en sekvens. Vi kaller derfor slike latcher og vipper sekvensielle kretser. et er vanlig å skille statiske- og dynamiske sekvensielle kretser. et er viktig åværeklaroveratmedstatiske sekvensielle kretser mener vi ikke kretser uten klokkeinganger, men latcher eller vipper som vil holde en verdi uten signifikant lekasje. ynamiske sekvensielle kretser vil bare holde en verdi en meget begrenset tid og er derfor avhengig av hyppig oppfriskning av signalet eller tilstanden. Statiske sekvensielle kretser vil ha en eller annen form for tilbakekobling som bidrar til å holde et signal uavhengig av klokkefrekvens i et system. III. Introduksjon til sekvensering av statiske kretser (Kapittel 7.2 side 384) * er og vipper[2]. (INF3400 el 1: Kapittel XI side 10-11 og Kapittel XII side 11-12) (latch) (vippe) Fig. 1. er og vipper. (FIG7.1) e vanligste sekvenseringselementene er latcher og vipper som vist i figur 1. er og vipper har en inngang (), styres av klokkesignal () og har utgang (). En positiv latch er transparent når =1sombetyrat utgangen er følsom for endringer på inngangen. Når = 0 vil ikke utgangen på en latch påvirkes av inngangen. En latch er nivåfølsom, dvs. utgangen følger inngangen når = 1, og utgangen er stabil (buffer) når =0. En vippe er en kantfølsom krets, dvs. ved en postiv klokketransisjon vil verdien på inngangen kopieres til utgangen, og utgangen vil ikke påvirkes av endringer på inngangen i resten av klokkeperioden. A. Mål Forstå den grunnleggende virkemåten til latcher og vipper, og få et inntrykk av forskjellen på latcher og vipper. B. Notater A. Mål Kunne skille grunnleggende forskjeller på statiske- og dynamiske sekvensielle kretser. B. Notater

2 IV. Sekvenseringsmetoder (Kapittel 7.2.1 side 385-387) * er og vipper[2]. (INF3400 el 1: Kapittel XI side 10-11 og Kapittel XII side 11-12) Synkronisering ved hjelp av latcher er vist i figur 3. I et to-fase system er det vanlig å bruke to-fase ikke-overlappende klokker, der klokkefasene (klokkesignalene φ 1 og φ 2)ikkeerhøyesamtidig. Hele klokkeperioden er T c. En halvperiode vil bestå av en periode der et av klokkesignalene er høye etterfulgt av en periode der ingen av klokkesignalene er høye (ikke-overlappende). Synkronisering ved hjelp av latcher som styres av pulser er vist i figur 4. Som vi ser er klokkesignalet anderledes enn for vanlige latcher eller vipper. Klokkesignalet kan karakteriseres som korte pulser, dvs. med en duty cycle som er vesentlig mindre enn 50%. ene styres med korte klokkepulser som trig ersom vi har delkrets i form av kombinatorisk, dvs. porter eller delkretser uten synkroniseringssignaler (klokker) som i praksis vil si en transparent delkrets, vil det som regel være behov for å synkronisere den kombinatoriske delkretsen med andre signaler fra andre delkretser. et er ulike metoder for å synkronisere signaler eller ulike sekvenseringsmetoder som kan anvendes. Synkroniseringselementene eller sekvenseringselementene som benyttes er typisk latcher eller vipper. Fig. 4. Sekvensering (synkronisering) med latcher som styres av pulser. (FIG7.2) ger en innlesning (sampling) av inngangen. en vil selv etter kort tid sørge for å holde den samplede verdien når klokkesignalet er lavt. Samplingtiden er meget kort sammenlignet med tidsforsinkelsen i kombinatorisk mellom latchene. På denne måten vil kombinatorisk virke som en lagring av en tilstand. Fig. 2. Sekvensering (synkronisering) med vipper. (FIG7.2) I figur 2 er det vist kombinatorisk synkronisert ved hjelp av kantfølsomme vipper. Synkronsieringspunktet er gitt av en positiv klokkeflanke. Ved en positiv klokkeflanke vil vippene kopiere inngangsignalet til utgangen og holde verdien inntil neste positive klokkeflanke. Ved å invertere synkroniseringssignalene vil man få synkroniseringspunkt ved negative klokkeflanker. Soner for ikke overlapp Fig. 3. TC/2 Halvperiode 1 Halvperiode 2 Sekvensering (synkronisering) med latcher. (FIG7.2) Fig. 5. Sekvensering (synkronisering) med vipper realisert som latcher med klokke og invertert klokke. (FIG7.3) Sekvensering ved hjelp av vipper styrt av klokke () og invertert klokke ()ervistifigur5. Herertolacherplassert inntil hverandre. Vi må da forutsette at de to latchene ikke er transparente samtidig, dvs. vi kan ikke tillate at og er høye samtidig. I praksis må vi sikre oss ved å ha en ikkeoverlappende periode der og er lave samtidig. Et slikt system setter strenge krav til forholdet mellom og. Term t pd t cd t pcq t ccq t pdq t cdq t setup t hold Kommentar Logisk propagering forsinkelse Logisk contamination forsinkelse /vippe klokke til propagering forsinkelse /vippe klokke til contamination forsinkelse til propagering forsinkelse til contamination forsinkelse /vippe setup tid /vippe hold tid TABLE I Notasjon for sekvenseringselementer. I tabell I er de ulike utrykkene (termene) for forsinkelse som

3 legger begrensinger for timing i sekvensielle kretser. M M M A. Timing for kombinatorisk A Y A tpd tpcq Y Fig. 6. Timing for kombinatorisk. (FIG7.4a) Tidsforsinkelse i kombinatorisk er gitt av contamination forsinkelse og propagering forsinkelse som vist i figur 6. Utgangen kan begynne å endre seg etter tiden gitt av contamination forsinkelse t cd og utgangen vil bli stabil etter maksimal tidsforsinkelse fra inngang til utgang som er gitt av propageringsforsinkelse t pd. Contamination forsinkelse og propageringsforsinkelse kan være forskjellig på grunn av forskjellige kjeder eller signalveier i en. TP1 X Y M Z1 Z2 M TP1 B. Timing for vippe ersom vi har rt sekvensielt system bestående av vipper som klokkes med og må vi forutsette at disse signalene er presist i motfase. Fig. 8. Timing for vippe. (FIG7.4b) Fig. 7. tpcq Timing for vippe. (FIG7.4b) Tidsforsinkelse i en vippe er vist i figur 7. n vil holde en tilstand i hele perioden med unntak av lagring av ny verdi en kort stund etter at klokkesignalet skifter fra 0 til 1. n er avhengig av setup- og hold tid. ette betyr at inngangen må være stabil en stund før klokkesignal endres fra 0 til 1 og forbli stabil tilstrekkelig lenge etter at klokkesignalet har blitt endret. Setup- og hold tid er sikkerhetsmarginer for åsikre riktig vippefunksjon. Timing detaljer for vipper er vist i figur 8, der vippene er realisert som to latcher i motfase. Når klokkesignalet er lavt vil inngangslatcher i vippenene være transparente og kontinuerlig laste inn M =, samtidig med at utgangen oppfriskes ved hjelp av to invertere i tilbakekobling. ns funksjon er ålasteinn i slutten av =0perioden,dvs. vi ønsker å laste inn verdien akkurat når endres fra 0 til 1. Transmisjons port 1 (TP1) stenger og åpner slik at signalet som ligger på Z1 =M vil påvirke X via og deretter M. Vi har en sitiuasjon der Z1 =X(= ). ersom forandres og påvirker X før åpner helt kan vi få en endring i X og deretter i M som er uønsket. En hold tid på vil sikre at M ikke endres uønsket. I tillegg vil det være gunstig at TP1 stenger før åpner slik at X ikke kan drives via TP1 når tilbakekoblingen skal være aktiv. For latchen som kontrollerer utgangen på vippen() har vi nå en situasjon der skal overstyre. et kan være gunstig at stenger før åpner for å redusere støy på utgangen. Vi ser at conatmination forsinkelse og propageringsforsinkelse for vippen er tilnærmet like og er lik tidsforsinkelsen fra M til når åpner, dvs fra stigende klokkeflanke. Ved fallende klokkeflanke vil det kunne oppstå en transparent situasjon dersom og TP1 er åpne samtidig. et er viktig at stenger før TP1 åpner for å sikre at ikke inngangsignalet påvirker direkte. Vi ønsker i denne situasjonen når =0 at vippen skal holde sin lagrede verdi. C. Timing for Timing for en latch er vist i figur 9. Samplingtidspunktet for latchen er ved fallende klokkeflanke. Vi må forutsette at inngangssignalet kommer fra en latch styrt av et annet klokkesignal, for eksempel invertert klokke som gir klokkesignaler i motfase. Mellom latchene er det typisk kombinatorisk. Timing detaljer for en latch er vist i figur 10. Når klokkesignalet er lavt vil latchen fungere som et minneelement med tilbakekobling. ersom vi ser på latchen og kombintorisk som prosesserer signalet fra latchen og neste latch får vi et system som vist i figur 3 med = φ 1 og = φ 2. Fra stigende klokkeflanke får vi klokke til forsinkelse t ccq og t pcq som vist i figur 10. en er imidlertid transparent når klokkesignalet er høyt og enhver forandring på vil påvirke. Vi må forutsette at er stabil en liten stund før fallende klokkeflanke slik at latchen rekker å sample riktig verdi. Vi

4 E. Notater tpcq q tpdq Fig. 9. Timing for latch. (FIG7.4c) tpcq q tpdq Fig. 10. Timing for latch. (FIG7.4c) kaller denne tiden setup tid. For åværesikkerpåriktigsampling må være stabil en stund etter at klokkesignalet har blitt 0. Vi kaller dette for hold tid.. Mål Forstå detaljer ved timing av sekvensielle kretser.

5 V. Begrensinger for maks forsinkelse (Kapittel 7.2.2 side 388-392) Ideelt vil vi ønske hele klokkeperioden tilgjengelig for prosessering av signaler. Sekvenseringen vil medføre en viss overhead som er knyttet til sekvenseringselementene. ersom tidsforsinkelsen i kombinatotsk er for stor vil en vippe som skal lagre resultatet få signalet for sent slik at situasjonen ikke tilfredstiller setup tid. Vi kaller en slik feil for setup feil eller maks forsinkelse feil. Propageringsforsinkelse i kombinatorisk nettverk mellom de to vippene i figur 11 er gitt av en den signalveien mellom og 2 som har størst tidsforsinkelse. Vi kaller den aktuelle signalveien en kritisk signalvei. Setuptiden for vippen er en sikkerhetsmargin for åsample riktig verdi i inngangslatchen i vippen. Setuptid varierer med prosess og implementasjon av vippen. Vi kan uttrykke begrensning for max delay på en annen form: t pd T c (t setup + t pcq), (2) A. r F1 2 Tc tpcq F2 der (t setup + t pcq) er overhead ved sekvenseringen. Vi ser at ved å redusere t setup og t pcq til et minimum får vi mer av tiden som er tilgjengelig til å prosessere signaler i kombinatorisk (gjøre beregninger). Tiden tilgjengelig i en klokkeperiode T c er direkte avhengig av t setup og t pcq for vipper og tidsforsinkelse i kritisk signalvei i kombinatorisk mellom vipper. Klokkefrekvens, eller maksimal klokkefrekvens, er direkte knyttet til klokkeperioden: f max = 1 T c. (3) tpd B. er 2 Fig. 11. Begrensinger for maks forsinkelse. (FIG7.5) Begrensinger for maks forsinkelse er vist i figur 11. ersom vi antar at vippene F 1ogF2 styres av identiske klokkesignaler, dvs. at klokkesignalene har transisjoner på nøyaktig samme tidspunkt, er maksimal tid fra en vippe til neste vippe gitt av klokkeperioden T c: T c t pcq + t pd + t setup, (1) der t pcq er propageringsforsinkelse for klokke til utgang () for vippe, t pd er propageringsforsinkelse i kombinatorisk og t setup er setup tid for vippe. 1 1 KL1 2 1 2 2 3 KL2 TC/2 TC/2 Halvperiode 1 Halvperiode 2 tpdq1 Soner for ikke overlapp TC 3 TP1 M X Y 2 2 tpd1 tpdq2 Z1 Z2 3 tpd2 Fig. 12. Propageringsforsinkelse for klokke til utgang () for vippe. Propageringsforsinkelse for klokke til utgang () for vippe er vist i figur 12. Når klokkesignalet er lavt vil inngangslatchen laste inn til M kontinuerlig. Når klokke signalet endres fra 0 til 1 lukker transmisjonsportene TP1ogmensog åpner. Verdien som er ligger på M (lagret) vil transmitteres via til. Propageringstidsforsinkelsen i dette tilfellet er gitt av en transmisjonsport og en inverter i kjede og last på Y og utgangen. Fig. 13. Begrensinger for maks forsinkelse i et sekvenseringssystem med latcher styrt av to-fase klokker (FIG7.7). Timing detaljer i et sekvenseringssystem med transparente latcher som styres av to-fase klokker er vist i figur 13. Vi antar at inngangen 1 ankommer latch 1 før φ 1 stiger og propagerer i kombinatorisk KL1 fordi latch 1 er transparent når φ 1 = 1. Kritisk signalvei i KL1 vil bestemme maksimal tidsforsinkelse t pd1 for KL1 Vi må forutsette at 2 erstabiligod tid før φ 2 svinger fra 1 til 0 slik at vi får riktig verdi samplet (latchet) i latch 2. Tilsvarende argumentasjon gjelder for latch 3 osv. Vi kan uttrykke en klokkeperiode T c som:

6 T c t pdq1 + t pd1 + t pdq2 + t pd2. (4) E. Notater ersom vi løser med hensyn på total propageringsforsinkelse i hele klokkeperioden, og antar at t pd = t pd1 + t pd2 og t pdq2 = t pdq1 = t pdq får vi: T c t pd +2t pdq t pd T c 2t pdq, (5) der (2t pdq2 ) er overhead gitt av propageringsforsinkelse i latchene. 1 2 TC 1 tpdq tpd 2 TC tpw < tpw > 2 tpdq tpd tpw Fig. 14. Begrensinger for maks forsinkelse i et sekvenseringssystem med latcher styrt av pulser. (FIG7.8). Begrensinger for maks forsinkelse i et sekvenseringssystem med latcher styrt av pulser er vist i figur 14. ersom pulsbredden t pw er større enn setup tide t setup har vi situasjonen som vist øverst i figuren. Vi trenger i dette tilfellet ikke å forutsette at utgangen av kombinatorisk 2 er stabil før klokkepulsen kommer. ersom klokkepulsen er mindre enn setup tiden har vi situasjonen som vist nederst, og vi må daforutsetteatinngangen til latchen er stabil før klokkepulsen kommer. Vi kan beskrive dette som: som gir: T c max (t pdq + t pd,t pcq + t pd + t setup t pw), (6) t pd T c max (t pdq,t pcq + t setup t pw), (7) der max (t pdq,t pcq + t setup t pw) er overhead inkludert forsinkelse ienlatch. C. Mål Forstå hva som begrenser utnyttelse av en klokkeperiode ved sekvensering.. Oppgaver Oppgave 7.1

7 VI. Begrensinger for minimum forsinkelse (Kapittel 7.2.3 side 392-396) Sekvenseringselementer bør kunne plasseres inntil hverandre uten vesentlig kombinatorisk mellom elementene. Eksempel på sekvensielle systemer med minimal kombinatorisk mellom sekvenseringselementene er pipeline systemer. ersom hold tid er stor og contamination forsinkelsen er liten kan data propagere gjennom to sekvenseringselementer ved en klokkeflanke. En slik feil kalles race feil, hold tid feil eller minimum-forsinkelse feil. A. r 2 TP1 2 2 M 1-1 1-2 M 2-1 2-2 2M (a) (b) 1-1 1-2 2 2 2 TP5 TP6 2-1 2-2 2M TP7 TP8 2 (c) Fig. 16. Begrensinger på minimumsforsinkelse for vipper. etaljer i timing når =0.(FIG7.9). 2 Fig. 15. Begrensinger på minimumsforsinkelse for vipper. (FIG7.9). Begrensninger for minimum tidsforsinkelse for vipper er vist i figur 15 der vi antar at klokkesignalene til de to vippene er helt i fase (like). etaljer for et system med to vipper som er koblet sammen uten (minimalt) kombinatorisk for = 0ervisti figur 16. Vi ser at så lenge = 0 vil latch 1-1 i den første vippen følge inngangen, dvs.vilatcherinn i M. Utgangen på den første vippen holdes stabil ved hjelp av tilbakekobling i latch 1-2, og føres via eventuell kombinatorisk til den neste vippen, nærmere bestemt latch 2-1 som latcher (sampler) inn til2m. Viseratisluttenav perioden hvor = 0 vil TP1,, TP5 og TP8 være helt åpne og,, TP6 og TP7 være helt lukket. Vi må forutsette at inngangen er stabil en tid før stigende klokkeflanke (t setup). En kritisk situasjon som medfører feil er dersom og TP5 er åpne samtidig slik at M blir transmittert til 2M via. nes funksjon er å lagre verdier i etterfølgende klokkeperioder. ersom vi ser på detaljene rundt stigende klokkeflanke, som er vist i figur 17, ser vi at M skal endre medklokketil contamination forsinkelse t ccq. etvilsivifår en endring, men ikke nødvendigvis stabil verdi, på ved tidspunktet t ccq etter stigende klokketransisjon. Ideelt sett har nå dennestevippen lukket TP5 og kan ikke påvirkes av endringer på 2 =. For å sikre at en vippe ikke endres feilaktig er det påkrevd at det defineres en hold tid for inngangen. I dette tilfellet betyr det at den siste vippen forutsetter at inngangen 2 er stabil en liten stund etter stigende klokkeflanke. et er avgjørende at ikke 2 endres som følge av endring på ved stigende klokkeflanke før vippens setup tid er over. Vi kan uttrykke dette som t cd t hold t ccq, (8) der t cd er contamination forsinkelse i kombinatorisk 1 mellom vippene. Med andre ord, det er viktig at tidsforsinkelsen mellom vippene er så stor at inngangen til vippe nummer 2 ikke har har fått ny verdi fra latch 1-1 før setup tiden til vippe 2 er over. ersom 2 endres før setuptiden er over vil latch 1-2 og latch 2-1 være transparente samtidig slik at 2M blir lik M, som vil medføre at 2 blir lik i neste omgang. ersom contamination forsinkelse, dvs. klokke til forsinkelse, for vippen er større enn hold tid kan vippene plasseres helt inntil hverandre. I dette tilfellet vil ikke vippe nummer 2 rekke å reagere på endringer på inngangen for tidlig. B. er I figur 18 er begrensinger for minimumsforsinkelse for latcher som er styrt av to-fase klokker vist. ene styres av to-fase ikke-overlappende klokker som skal garantere at to latcher som styres av hver sin klokkefase ikke er åpne samtidig. Når begge klokkefasene φ 1 og φ 2 er lave samtidig skal begge latchene være lukket slik at utgangene ikke skal kunne påvirkes av inngangene. Ved stigende klokkeflanke på φ 1 åpner latchene som er styrt av φ 1 slik at 1 latches inn til. Merk at latchene er nivåfølsomme, dvs. utgangen pålatchenevilpåvirkes av inngangen så lengelatcheneråpen, i motsetning til en vippe som er kantfølsom. Vi forutsetter derfor at latchen som styres av φ 2 har en hold tid som går utover tiden når φ 2 = 1. Vi kan anta 1 I eksemplet er det ikke kombinatorisk mellom vippene slik at contamination forsinkelse blir minimal forutsatt at ikke avstanden mellom vippene er stor.

8 TP1 1-1 1-2 M 1 2 2 1 TP1 2 2 2-1 2-2 2 TP5 TP6 2M TP7 TP8 2 Fig. 19. Begrensinger på minimumsforsinkelse for latcher som er styrt av to fase lokker. etaljer ved stigende transisjon på φ 1. (FIG7.10). Fig. 17. Begrensinger på minimumsforsinkelse for vipper. etaljer i timing når =0 1. (FIG7.9). t hold t ikkeoverlapp + t ccq + t cd (10) 1 ersom tiden der begge klokkefasene er lave t ikkeoverlapp er tilstrekkelig lang vil vi ikke få problem med for liten tidsforsinkelse i kombinatorisk mellom to latcher. 2 2 1 tikkeoverlapp 2 2 2 tpw Fig. 18. Begrensinger på minimumsforsinkelse for latcher som er styrt av to fase klokker. (FIG7.10). at denne hold tiden t hold er så langatdenkanpåvirke utgangen 2 etter at og2 er endret som følge av latcing ved tidspunktet når φ 1 svinger fra 0 til 1. Timing detaljer for latcher som er styrt av to fase lokker ved stigende transisjon på φ 1 er vist i figur 19. ersom hold tiden for latch φ 2 er for lang i forhold til tidsforsinkelse mellom latchene kan vi latche inn feil verdi. Vi har en situasjon der TP1 er PÅ slik at latch φ 1 er åpen og ikke er helt AV slik at latch φ 2 er delvis åpen. I denne situasjonen er den ene latchen åpen og den andre delvis åpen slik at de to latchene satt sammen blir delvis transparent. Vi kan uttrykke betingelser for korrekt latching ved å sette en nedre grense for contamination fosinkelse for kombinatorisk mellom latchene: t cd1,t cd2 t hold t ccq t ikkeoverlapp, (9) der t hold er hold tid for latchene, t ccq er klokke til contamination forsinkelse for latchene og t ikkeoverlapp er tiden der begge klokkefasene er lave. Alternativt kan vi utrykke dette som en begrensning på holdtiden: 2 Fig. 20. Begrensinger på minimumsforsinkelse for latcher som er styrt av klokkepulser. (FIG7.11). er som styres av klokkepulser er vist i figur 20. et er tilsvarende begrensinger for minimum tidsforsinkelse i kombinatorisk mellom latchene som for to-fase latcher. Vi kan utrykke dette som: t cd t hold t ccq + t pw (11) C. Mål Forstå hva som begrenser utnyttelse av en klokkeperiode ved sekvensering.. Oppgaver Oppgave 7.3

9 E. Notater VII. Fordeling av tid mellom klokkefasene (Kapittel 7.2.4 side 396-399) I et system med vipper vil data være tilgjengelig på utgangen ved stigende klokkeflanke. en neste vippen (etterfølgende) skal være være klar til å lache ved neste stigende klokkeflanke. ersom data ankommer tidligere vil vippen blokkere for inngangen ved at inngangslatchen laster inn alle forandringer på inngangen, men slipper ikke gjennom signalet til utgangen før neste stigende klokkeflanke. Halvperiode 1 Halvperiode 2 1 1 Kombi. Fig. 21. Fordeling av tid mellom klokkefaser. (FIG7.12). I et system med latcher derimot er ikke latchetidspunktet knyttet til klokkeflanker, men til klokkenivåer. Med andre ord er latchene transparente i en tidsperiode slik at presist tidspunkt for latchingen ikke er viktig. Vi kan med andre ord lage systemer der tidsforsinkelse i kombinatorisk er forskjellig mellom ulike latcher uten at dette reduserer klokkefrekvensen. ette kalles fordeling av tid mellom klokkefaser (time borrowing) og er vist i figur 21. 1 2 2 Halvperiode 1 Halvperiode 2 tikkeovelapp 2 TC TC/2 tlån Fig. 22. Fordeling av tid mellom klokkefaser. (FIG7.13). Maksimal fordeling av tid mellom to ikke-overlappende klokkefaser er vist i figur 22. På grunn av at inngangsdata ikke må være stabil før ved fallende klokkesignal for mottager

10 latch kan en fase låne opptil en halvpart av en halvperiode for en klokke frekvens: t lån Tc 2 ( + t ikkeoverlapp). (12) I praksis vil fordeling av tid mellom klokkesykler i et system med latcher styrt av klokkepulser være svært begrenset og gitt av: VIII. Klokke skew (Kapittel 7.2.5 side 399-402) Vi har til nå forutsatt ideelle klokkesignaler uten skew eller forskyvning. I praksis vil klokkeflankene komme til litt forskjellige tider for ulike lattcher og vipper. ette skyldes at sekvenseringselementene være plassert ulike steder på en krets og dermed representere ulik last 2 for klokkesignalet. t lån t pw t setup, (13) der t pw er bredden på klokkepulsen. I praksis vil ofte fordeling av tid mellom klokkefaser ikke være aktuelt ved design, men vil kunne fungere som en ekstra sikkerhet for at et system vil virke på grunn av ulik tidsforsinkelse i kombinatorisk mellom latcher i et system. F1 2 Tc tpcq F2 A. Mål Forstå hvordan man kan fordele tiden i en klokkeperiode ujevnt mellom to faser eller halvperioder. B. Oppgaver 2 tpd tskew Oppgave 7.5 C. Notater Fig. 23. Klokkeskew og vipper. (FIG7.15a). I figur 23 er det vist et system med vipper som styres av et klokkesignal hvor tykk linje for markerer det seneste tidspunktet for klokketransisjonene. Klokketransisjonene kan komme tidligere som vist i figuren. en kritiske situasjonen for maksimal forsinkelse i et system med vipper er om vippen som sender et signal får klokketransisjonen sent og mottager vippen får klokketransisjonen tidlig. I dette tilfellet må klokkeskew trekkes fra den tiden systemet har tilgjenglig for å prosessere signaler i kombinatorisk mellom vippene. Man regner da klokkeskew som en del av ovrehead ved sekvenseringen. 2 tskew 2 Fig. 24. Klokkeskew og vipper. (FIG7.15b). en kritiske situasjonen for minimum tidsforsinkelse har vi når sender vippen får klokketransjonen tidlig og mottager vippen får klokketransisjonen sent som vist i figur 24. I dette tilfellet vil den effektive hold tiden øke og vi får begrensingene: 2 Spesielt ulik kapasitans og motstand på grunn av interkonnekt.

11 t pd T c (t pcq + t setup + t skew ), (14) t cd t hold t ccq + t skew ), der (t pcq + t setup + t skew ) er overhead i sekvenseringen. Fig. 25. 1 KL1 2 KL2 TC/2 TC/2 Halvperiode 1 Halvperiode 2 3 Klokkeskew og transparente latcher. (FIG7.16). I et to-fase system med transparente latcher vil ikke klokkeskew redusere ytelsen som vist i figur 25, så lenge de to klokkefasene er ikke-overlappende. Vi kaller et system med transparente latcher med to fase ikke-overlappende klokker for skew tolerant. Muligeten for å fordele tid mellom klokkefasene vil imidlertid bli mer begrenset: t pd T c 2t pdq t cd1,t cd2 t hold t ccq t ikkeoverlapp + t skew, (15) IX. Indeks Contamination forsinkelse 3 ynamiske kretser 1 ynamiske sekvensielle kretser 1 Hold tid 3 Hold tid feil 7 Hukommelse 1 Kantfølsom 1, 7 Kantfølsom vippe 2 2 Kritisk signalvei 5 er 1, 1 Minimum-forsinkelse feil 7 Nivåfølsom 1, 7 Pipeline systemer 7 Propagering forsinkelse 3 Race feil 7 Sekvensielle kretser 1 Setup tid 3 Skew 10 Skew tolerant 11 Statiske sekvensielle kretser 1 Tilstand 1 r 1, 1 References [1] Neil H.E. Harris og avid Harris CMOS VLSI ESIGN, A circuit and system perspective tredje utgave 2005, ISBN: 0-321- 26977-2, Addison Wesley, [2] Yngvar Berg INF3400 el:1 [3] Yngvar Berg INF3400 el:4 der t cd er contamination forsinkelse for kombinatorisk mellom latcher. For latcher som styres av klokkepulser vil fordeling av tid i kombinatorisk nettverk mellom latcher bli svært begrenset fordi klokkeskew kan føre til at klokkepusene blir svært smale. A. Mål Forstå hvordan klokkeskew påvirker et sekvenseringssystem B. Notater