Jeg prøver at forstå Flip Flops & Låse. Jeg læser fra Digital Logic book af Morris Mano. En ting, jeg ikke er i stand til at forstå, er, hvorfor vi klipper flip-flops?
Jeg forstår, hvorfor vi har brug for “aktiverede” eller låste låse. Men hvad bruger uret? Jeg er ikke i stand til at forstå dette. Hvorfor kan vi ikke bare aktivere de krævede flip-flops & give dem input? Når vi ændrer input, ændres output. Hvorfor skal vi ændre output med stigende eller sænkende ur kant (i tilfælde af kantudløst flipflop)?
Enhver hjælp til dette værdsættes.
Svar
En af grundene til, at vi klipper flip-flops, så der ikke er noget kaos, når output fra flip-flops føres gennem nogle logiske funktioner og tilbage til deres egne input.
Hvis en flip-flops output er bruges til at beregne dens input, kræver det, at vi har en ordnet adfærd: for at forhindre, at flip-flop-tilstanden ændrer sig, indtil output (og dermed input) er stabilt.
Denne uret tillader os at bygge computere, som er tilstandsmaskiner: de har en aktuel tilstand og beregner deres næste tilstand baseret på den aktuelle tilstand og nogle input.
Antag for eksempel, at vi vil bygge en maskine, der “beregner” en inkrementering 4 bit tæller fra 0000 til 1111, a nd derefter vikler rundt til 0000 og fortsætter. Vi kan gøre dette ved hjælp af et 4-bit register (som er en bank på fire D-flip-flops). Outputtet fra registeret føres gennem en kombinatorisk logikfunktion, der tilføjer 1 (en firebits adder) for at producere den inkrementerede værdi. Denne værdi føres derefter blot tilbage til registret. Nu, når urkanten ankommer, accepterer registret den nye værdi, som er en plus dens tidligere værdi. Vi har en ordnet, forudsigelig opførsel, som går gennem de binære tal uden nogen fejl.
Uradfærd er også nyttige i andre situationer. Nogle gange har et kredsløb mange indgange, som ikke stabiliserer sig på samme tid. Hvis output produceres øjeblikkeligt fra input, vil det være kaotisk, indtil input stabiliseres. Hvis vi ikke ønsker, at de andre kredsløb, der afhænger af udgangen, skal se kaoset, får vi kredsløbet til at være uret. Vi giver en generøs tid til indgangene at sætte sig, og derefter indikerer vi for kredsløbet at acceptere værdierne.
Uret er også iboende en del af semantikken i nogle slags flip-flops. En D-flip-flop kan ikke defineres uden et urindgang. Uden et urindgang ignorerer det enten dets D-input (ubrugelig!) Eller simpelthen kopierer inputet til enhver tid (ikke en flip-flop!) En RS-flip-flop har ikke et ur, men den bruger to indgange at styre den tilstand, der gør det muligt for indgangene at være “selvklokkende”: dvs. at være indgangene såvel som udløserne til tilstandsændringen. Alle flip flops har brug for en kombination af indgange, der programmerer deres tilstand, og en kombination af indgange lader dem opretholder deres tilstand. Hvis alle kombinationer af indgange udløser programmering, eller hvis alle kombinationer af indgange ignoreres (tilstand opretholdes), er det ikke nyttigt. Hvad er nu et ur? Et ur er en speciel, dedikeret indgang, der skelner mellem andre indgange ignoreres, eller om de programmerer enheden. Det er nyttigt at have dette som en separat indgang, snarere end at det skal indkodes mellem flere indgange.
Kommentarer
- Det giver mening, når du forklarer behovet for ur til tæller eller tilstandsmaskine. Hvis der ‘ s er slet ikke et ur, så skifter tælleren bare dens værdi (& reset) & starte uendeligt? og det samme med statsmaskinen. (Fra hvad jeg læste fra wiki, tæller bare en type statsmaskiner, da staterne ændres). Men selv med registre bruger vi også ur, i så fald hvorfor? Jeg vil også gerne vide, om der er nogen flipflops (kan bruges) i enhver applikation uden et ur?
- Kommer nu til stabilitetspunktet, hvis output fortsætter med at ændre sig, så er andre enheder, der har brug for flipflops-output, vundet ‘ ikke være i stand til at modtage det korrekt, og der kan være uregelmæssig adfærd. Så er dette stabilitetsproblem? Nu prøver jeg at forstå stabilitetsbegrebet. Især disse to paras forklarede du: ” for at forhindre flip-flop ‘ s tilstand i at ændre sig indtil output (og dermed input) er stabil. ” ” Nogle gange har et kredsløb mange indgange, som ikke stabiliseres på samme tid ”
Svar
En flip-flop med stigende kant kan forestilles som to låse ryg mod ryg , hvoraf den ene er aktiveret kort efter at urets signal er lavt og forbliver aktiveret, indtil det går højt; det andet er aktiveret kort efter at uret går højt og forbliver aktiveret, indtil det går lavt.At have et kort øjeblik, hvor ingen af flip-flop er aktiveret, betyder, at output fra en flip-flop sikkert kan føres tilbage til dets input via kombinatorisk logik. En ændring af output på en urcyklus kan få input til at ændre sig, men denne inputændring har ingen effekt indtil næste urcyklus.
Historisk plejede det at være ret almindeligt for digitale enheder. at bruge det, der blev kaldt et “tofaset ur”, som havde to urtråde, der var høje for ikke-overlappende intervaller i løbet af hver cyklus. Alle låsene er opdelt i to grupper, hvor et ur styrer den første gruppe låser og det andet ur, der styrer det andet; i de fleste tilfælde bruges udgangene fra hver gruppe kun til at beregne indgangene til den anden. Hver urcyklus består af en eller flere impulser på det første ur, hvoraf mindst en skal opfylde minimum -længdespecifikationer og en eller flere impulser på det andet (samme krav). En fordel ved et sådant design er, at det kan være meget tolerant over for urskævning forudsat at dødtiden mellem urfaserne overstiger urets skævbeløb. sådanne design er, at de kræver kørsel med to ur ledninger overalt, og at for at opnå maksimal hastighed skal man generelt opdele logikken i to grupper og forsøge at afbalancere udbredelsesforsinkelserne mellem dem.
En mere “moderne” tilgang er at have hvert låseelement (registrer) modtager en enkelt urtråd og genererer i det væsentlige sine egne interne ikke-overlappende ure. Dette kræver, at det maksimale urskæv ikke overstiger den minimale udbredelsestid mellem registre, men moderne værktøjer gør det muligt at kontrollere urskævningen mere præcist, end det var muligt i årtier tidligere. Desuden gør enfasetur i mange tilfælde design enklere ved at eliminere behovet for at opdele logikken i to grupper.
Svar
Vi ved alle, at digitale ægte kredsløb vil indeholde MEGE porte. Et signal skal muligvis tage flere stier for at komme til den sidste gate, der giver output. Et signal tager noget tid at “udbrede sig” på de forskellige stier, der når den sidste port. Tiden det tager at udbrede sig er ikke den samme på forskellige veje. Dette fører til det, vi kalder fejl. Glitches opstår, da nogle stier er kortere end andre, og når et signal når den sidste gate tidligere og tager den kortere sti, påvirker det det umiddelbart før de andre signaler på den længere sti når porten. Det output, som dette resulterer i et øjeblik, er forkert og kan blive farligt i et digitalt kredsløb, der fører til fejlformering.
Nu kommer jeg til, hvorfor vi har brug for et ur. Et ur “synkroniserer” i det væsentlige kredsløbet med et enkelt eksternt signal. Tænk på det som et beat, at kredsløbet er indstillet til at kunne lide musik. Ting sker i takt med dette ur, intet ur = kredsløb er deaktiveret. Ved at bruge uret sørger vi for, at de forskellige dele af kredsløbet fungerer i harmoni på samme tid . På denne måde er kredsløbets opførsel mere forudsigelig. Det påvirkes også mindre af ændringer i udbredelsesforsinkelse ved temperatur og variation i fremstillingen. Dette dækker uret.
Flip flops er sådanne digitale kredsløbselementer, der tager en handling (ændrer deres output som reaktion på en indgang i deres indgangsport), når der opstår en “CLOCK EDGE”. Clock edge er når urets signal går fra 0 til 1 eller fra 1 til 0. Bare træk en urbølge, så ved du hvad jeg mener. Der er en anden gruppe af elementer, der kaldes låse, output af låse ændres for at reflektere indgangen, når et bestemt styresignal er på en bestemt logisk NIVEAU og ikke vente på nogen kanter, dette styresignal kaldes AKTIV i låse. når aktivering er 1, og skift deres output, eller når aktivering er 0. Det afhænger af låstypen. I modsætning hertil flips flops faktisk gør noget kun når de fodres med et ur KANT. Bemærk denne forskel mellem låsene og flip-flops, og husk, at låsene er forbundet sammen for at skabe en flip-flop, så aktiveringen kun får flip-flop til at gøre noget, når der forekommer en urkant. I dette tilfælde navngiver vi Enable-signalet til uret, og det giver også mere mening. Uret for mennesker går kryds af kryds, flip flop gør kun noget ved kryds og intet imellem kryds.
Hvis det stadig ikke er klart end dig vil drage fordel af at se nptelhrd-foredraget på youtube fra Indian Institute of Tec hnology på digitale kredsløb.
Kommentarer
- ” Ved at bruge uret sørger vi for, at de forskellige dele af kredsløbet fungerer i harmoni på samme tid. ” – hvordan gør vi dette? Jeg vil se på videoerne.
- Bemærk, at flip-flops er enheder, der ændrer deres output for at afspejle input ved den stigende kant (eller den faldende kant, hvis det er en negativ kant-udløst flip-flop) af et styresignal for en positiv kantudløst flip flop.Dette styresignal kaldes et ur på grund af dets periodiske karakter, mere som kryds-kryds ved vores vægure. Hvis der er ursignal, vil flip flop gøre noget, ellers får input ikke noget til output. Kend forskellen og ligheden mellem låse og flip-flops fra et tidligt stadium også for ikke at blive forvirret.
Svar
Der er ting som asynkrone tællere. Her er en: –
Det er også kendt som en krusningstæller, for når en inputpuls ankommer til indgangen (ændring af tilstand af 1. flip-flop), at tilstandsændring tager en endelig tid at krølle igennem til de resterende flip-flops. I løbet af den lille, men begrænsede tid vil output ABCD have en uforudsigelig forbigående værdi, indtil den endelige flip-flop er afgjort.
Hvis udgangene ABCD derefter blev alle ført gennem D-type flip-flops og klokket sammen , et stykke tid efter afregningsperioden, vil denne ” bedre ” version af ABCD aldrig ” vis ” denne forbigående opførsel.
For at undgå dette bruger ingeniører undertiden synkroniserede urkredsløb. Beklager, at input er fra venstre på denne og Q0 til Q3 kort til ABC og D i det foregående diagram: –
Det er lidt mere komplekst, men det er hurtigere og har færre dele end sammenlignet med en asynch-tæller med en masse D-typer på udgangene.
Kommentarer
- Nå, med tællere giver det mening. Men er der nogen applikationer, hvor flipflops bruges uden ure? eller flipflops kan aldrig bruges uden ure?
- @avi Det første eksempel (async-tæller) behøver ikke ‘ t at blive betragtet som at tage dets input fra en ” ur “. Det kan være impulser, der kommer fra en magnetisk sensor, der ser for at se, hvor hurtigt en aksel roterer. Der ville være et ” master ” ur på systemet, som ” porte ” tællingen hvert sekund, men ” signal ” der går ind i tælleren, er ikke ‘ t nødvendigvis et ur. Outputtet fra en analog komparator kunne ” ur ” a ” 1 ” til output af en D-type, og output fra en anden analog komparator kan nulstille D-typen – dette kan bruges til at producere et signal afledt af en analog bølgeform – ingen ure som sådan
- Jeg vil betragte en krusttællers opførsel som kvantitativ snarere end kvalitativt forskellig fra den synkrone tællers. Udgangene fra begge tællere bliver ugyldige et stykke tid efter, at en urpuls ankommer, og vil blive gyldige igen et stykke tid efter det. Den synkrone tæller har et mindre vindue, hvor dens output er ugyldige, men vinduet er under alle omstændigheder ikke-nul. Det er ‘ det er også værd at bemærke, at den maksimale tællehastighed med tælleren som tegnet vil være begrænset af tællerlængden. Man kunne undgå denne begrænsning …
- … ved at have bærekæden start ved f.eks. den fjerde bit, der genererer ” og ” af de første tre bits, og har derefter hver bit kun flip hvis input fra carry kæden var høj, bit 2 var høj, bit 1 var høj, og bit 0 var høj. Selvom syv tælleimpulser ankom i tide, der kræves for at et signal kan udbrede sig gennem bærekæden, ville det ikke være noget problem, da bærekæden ville begynde at udbrede bæringen, når tælling xxx111 … 111000 blev nået, men dens output ville ikke være ‘ betyder ikke noget, indtil urpulsen efter xxx111 … 111111 blev nået.
- Disse ringtællere er enkle, men afskyr i den virkelige verden af digitale kredsløb, som jeg arbejder i. Dens godt at vide, at de findes, men det er meget usandsynligt, at du får lov til at bruge dem til rigtige projekter. Det kan altid bruges i trivielle øvelser, hvor deres ” asynkron ” natur ikke er et problem.
Svar
Fordi det er nemmere at designe synkrone systemer (synkront system betyder enhver samling af kombinatorisk logik og urede flip-flops) end asynkrone systemer og synkrone systemer er mere pålidelige. Imidlertid er maskindesign af asynkron tilstand værd at undersøge, fordi det kan beregne et output meget hurtigere og med lavere effekt end et synkront system.