1(39) 2019 Mattias Krysander Ingemar Ragnemalm 1(39)
Föreläsning 5. Sekv1. enna föreläsning: Vippor Sekvensnät Moore och Mealy 2(39)2(39)
Förra föreläsningen: Labb 1. Adderare. Carryaccelerator Och ännu ett par kombinationskretsar. 3(39)3(39)
Labbutrustningen 4(39)4(39)
xi yi =1 Heladderaren ci =1 si xi yi yi xi 1 ci+1 ci+1 FA ci xi ci si yi ci 5(39)5(39)
Så nu kan jag addera godtyckligt stora tal y5 x5 y4 x4 y3 x3 y2 x2 y1 x1 y0 x0 c6 FA c5 FA c4 FA c3 FA c2 FA c1 FA c0 s5 s4 s3 s2 s1 s0 Trodde jag... 6(39)6(39)
Carryacceleratorn är ett vanligt grindnät, 2 nivåer plus inverterare. Carryaccelerator y4 x4 y3 x3 y2 x2 y1 x1 y0 x0 c5 FA c4 FA c3 FA c2 FA c1 FA c0 s4 s3 s2 s1 s0 7(39)7(39)
Hasard, kapplöpning Tidsförskjutningar kan ge egendomliga effekter a c z1 1 y b 1 z2 a b c z1 z2 z1 och z2 momentant 0 y "Glitch" i utsignal 8(39)8(39)
agens tema: Tid Time is an illusion, lunchtime doubly so - ouglas Adams, Liftarens guide till galaxen We have all the time in the world - George Lazenby, I hennes majestäts hemliga tjänst Time is all we got - Roger Moore, Helgonet 9(39)9(39)
Tidsberoende kretsar Sekvensnät: En krets vars funktion varierar över tiden. En krets med minne. Inte minne som i RAM utan mer lokalt inbyggt i kretsen. Exempel: SR-latch R 1 R' ' S 1 ' S' SR-latch 10(39)10(39
Exempel: SR-latch för eliminering av kontaktstudsar Nät för eliminering av kontaktstudsar Förlopp vid knapptryckning SR-latch (aktiv låg) Latch = Spärr, regel, lås. "Låskrets". 11(39)11(39
Exempel: Schmitt-trigger Grind med hysteres. Tenderar att behålla sitt gamla tillstånd om signalen är i osäkra området. u x Med hysteres u R Utan hysteres x C 7414 Enkel klockgenerator av Schmitt-trigger 12(39)12(39
Sekvenskretsar Kombinationskretsar - Utsignalerna beror bara på insignalernas nuvarande värden. - Insignalerna kommer parallellt Sekvenskretsar - Utsignalerna beror på insignalernas sekvenser. - Insignalerna kommer sekvensiellt. 13(39)13(39
Vippor och latchar Vippor och latchar kan behålla, minnas, ett värde över tid. Latchar kan ändra värde när som helst. e är asynkrona. Vippor ändrar värde vid bestämda tidpunkter, klockpulsen. e är synkrona. Sekvenskretsar kräver minnesfunktion, ett tillstånd. etta kan definiera av vippor eller latchar. S S R R Vippa = "flip-flop" SR-latch SR-vippa -vippa 14(39)14(39
Vad är klockan sade du? Klockpulsen är normalt en fyrkantvåg med jämna tidsintervall. En synkron krets får bara ändras när klockan ändras Kretsen kan vara positivt flanktriggad eller negativt flanktriggad. vs ändras när klockan går upp eller när den går ner. I kursen arbetar vi alltid med synkrona sekvensnät. 15(39)15(39
Varför synkront? Synkrona nät begränsas av klockfrekvensen, som måste vara låg nog för att alla delar skall hinna med. Systemet begränsas därmed till sin svagaste del. Asynkrona nät har potential att vara snabbare. men... Asynkrona nät har betydlig större tendens att uppvisa svåra fel. e är svåra att modellera och förutse beteendet. För synkrona nät finns stabila designmetoder. 16(39)16(39
-vippan Vår favoritvippa = "delay". Står för att -vippan fördröjer en signal med en klockpuls. Vår syn är snarare att -vippan behåller nuvarande tillstånd till klockpulsen för att sedan gå till nästa. -vippa 17(39)17(39
Andra vippor essa typer är mindre intressanta. e ger oftast bara mer komplicerade konstruktioner. S J T R Synkron SR-vippa S ettställer R nollställer SR odefinierat K JK-vippa J ettställer K nollställer JK växlar T-vippa T växlar = JK med J och K hopkopplade 18(39)18(39
-vippan och klockan Antag att vi har en vippa som är positivt flanktriggad. -vippa 19(39)19(39
Samma sak men negativt flanktriggad -vippa 20(39)20(39
Sekvensnät med -vippor Bilden i min startsida föreställer ett litet sekvensnät med - vippor en är tagen från framsidan av Per-Erik anielssons bok "igital teknik". 21(39)21(39
Tillståndet Ett sekvensnät befinner ig i varje ögonblick i ett tilstånd. etta definieras av värdet i -vipporna. Två -vippor: Tillstånden 00, 01, 10, 11. Nästa tillstånd bestäms av nuvarande tillstånd och insignalerna. 22(39)22(39
Moore och Mealy Vi skiljer på två typer av synkrona sekvenskretsar: Moore: Utsignalen beror enbart av tillståndet. Mealy: Utsignalen beror av tillståndet och insignalen. Moore: Synkroniserar alla signaler. Mealy: Snabbare svar. Ofta mindre. Edward F. Moore Moore-modellen 1956 George H. Mealy Mealy-modellen, 1955 23(39)23(39
Sekvensnät enligt Moore Kombinationskrets för nästa tillstånd Kombinationskrets för utsignal 24(39)24(39
Sekvensnät enligt Mealy Kombinationskrets för nästa tillstånd Kombinationskrets för utsignal 25(39)25(39
Tillståndsdiagram FSM, Finite State Machine -vippan som FSM =0 =1 =1 Tillståndstabell m.a.p. klockan C 0 1 X X 0 1 + 0 1 0 1 Oftare m.a.p. och -vippa =0 Tillståndet = skrivs i cirkeln 0 0 1 1 0 1 0 1 + 0 1 0 1 26(39)26(39
Analys av sekvenskretsar 1. Kretsschema 2. Booleska uttryck för utsignal och nästa tillstånd 3. Tillståndstabell 4. Tillstånddiagram 5. Kan vi se funktionen? 27(39)27(39
28(39)28(39
29(39)29(39
Tillståndsdiagrammet (Moore) 0 1 1 1 1 00/0 01/0 0 10/0 11/1 0 x 0 q1q0/u Tillstånd med utsignal Bågar med enbart insignal 30(39)30(39
Tillståndsdiagrammet (Mealy) 0/0 1/0 1/0 1/1 00 01 0/0 10 11 0/0 x/u -/0 q1q0 Tillstånd utan utsignal Bågar med insignal och utsignal 31(39)31(39
Grindning av klockan Frestande. åligt. Förbjudet i labbet Varför? Fördröjningar Hasard Grindning av klockan ger ett asynkront system Grinda insignaler. Utnyttja ENABLE-ingångar för att "stanna" en krets. SYSTEM- KLOCKA 1 SYSTEMKLOCKA 1 FEL - även om det är enklare RÄTT - synkront 32(39)32(39
Register Minne för lagring av ett ord. Vi såg dessa i datorskissen tidigare. Kan utföras med -vippor. din7 din6 din5 din4 din3 din2 din1 din0 dut7 dut6 dut5 dut4 dut3 dut2 dut1 dut0 33(39)33(39
din0 Register Men om vi vill behålla värdet då...? Välj mellan nytt och gammalt värde. Load MUX Kan också göras genom att beordra skrivning med klockpulsen, men det är inte rekommenderat. Grinda insignalen, inte klockpulsen dut0 34(39)34(39
Skiftregister Lagrar ett antal bitar som skiftas ett steg per klockpuls. Exempel: Skiftregister med -vippor, seriellt in, parallellt ut: din dut7 dut6 dut5 dut4 dut3 dut2 dut1 dut0 35(39)35(39
Räknare Sekvensnät som följer sekvenser av tal. Binära men även BC. =1 q0+ = d0 q1+ = d1 q0 q1 q1 0 0 1 1 q0 0 1 0 1 q1+ q1+ 0 1 1 0 1 1 0 0 Exempel: 2-bitarsräknare 36(39)36(39
Tillståndsdiagram för räknaren 00 01 11 10 37(39)37(39
Vippor med nollställning Vippor tillåter ofta asynkron noll- eller ettställning. Möjliggör start i känt tillstånd. Vcc Pr Cl Vad sägs om kondensatortricket...? u 38(39)38(39
NÄSTA FÖRELÄSNING Mer sekvenskretsar Realisering av sekvenskretsar Mer om räknare, register etc. 39(39)39(39