InfoNu.nl > Electronica > Geschiedenis > De werking van de flipflop

De werking van de flipflop

De werking van de flipflop De flipflop is de meest elementaire bouwsteen in de digitale techniek. In het binaire talstelsel representeert men getallen met nullen en enen. De waarde van een bit, een nul of één, moet fysiek ergens vastgehouden worden in een berekening. De flipflop werkt als tijdelijke geheugenplaats voor een bit. Tussenresultaten van berekeningen (een eindig aantal bits) slaat men op met flipflops; elke klokslag wordt de inhoud van een fllpflop ge-update. Digitale circuits zonder flipflops brengen risico's (instabiliteit) met zich mee, en worden niet veel toegepast.

Logische poorten

CMOS

NMOS - gate = 1 open, gate = 0 dicht<BR>
(PMOS - gate = 0 open, gate = 1 dicht)<BR>
 / Bron: TronicNMOS - gate = 1 open, gate = 0 dicht
(PMOS - gate = 0 open, gate = 1 dicht)
/ Bron: Tronic
Digitale schakelingen of functie's zijn opgebouwd uit logische poorten. Logische poorten worden gemaakt met CMOS; CMOS is de familie van 2 typen transistoren: de NMOS en de PMOS.
De NMOS fungeert als elektronische schakelaar; een hoge spanning op de ingang (gate-source) brengt het kanaal (drain-source) in geleiding.

In de digitale techniek schrijft men:

  • een hoge spanning als '1'
  • en een lage spanning als '0'

Wanneer een '0' als ingang wordt aangeboden, gaat de NMOS dicht, het kanaal geleidt niet. Een werkt precies omgekeerd: een '0' op de ingang brengt het kanaal in geleiding en bij een '1' gaat het kanaal dicht.

Alle circuits in de digitale techniek -logische poorten- kunnen worden gerealiseerd door verstandige combinatie's van NMOS en PMOS te maken.

inverter

inverter<BR>
 / Bron: Tronicinverter
/ Bron: Tronic
De meest eenvoudigste logische poort is een inverter. Deze poort kan gemaakt worden met een NMOS en een PMOS. Een inverter keert de waarde van een bit om: een 1 wordt een 0, en een 0 een 1. Met deze poort maakt men een logische NOT.

  • NOT(0) = 1
  • NOT(1) = 0

Een '0' op de ingang veroorzaakt dat de PMOS in geleiding gaat, en de NMOS dicht (hoge weerstand). De PMOS verbindt de uitgang met de voedingslijn, dus de uitgang wordt '1'. Andersom, (ingang =1) --> (uitgang= 0).
Twee inverters achter elkaar noemt men buffer; dit wordt gebruikt op plaatsen waar een grote stroom geleverd moet worden, of om een feedbackloop te maken.

latch

latch, select met streepje = NOT(select)<BR>
 / Bron: Troniclatch, select met streepje = NOT(select)
/ Bron: Tronic
Door 2 inverters in een feedbackloop te schakelen maken we een latch. Een latch kan de waarde van een bit vasthouden.

Deze poort kan een bit lezen als volgt: de schakelaar bij de input gaat dicht, de schakelaar in de feedbackloop gaat open. De schakelaars worden gemaakt met pn-switches. Voor inlezen moeten we select de waarde 1 geven. Vervolgens sluiten we de input af en de feedback loop aan - (select = 0). Nu wordt de waarde van het bit vastgehouden door de loop.

flip-flop

Een D flipflop wordt gemaakt van twee latches. De eerste latch -de master- wordt gebruikt om een bit in te lezen; de tweede latch -de slave- houdt de waarde van het bit vast. De master gebruikt het kloksignaal - clk - voor de select input; de slave gebruikt NOT(clk).

Dit heeft tot gevolg dat op een overgang van 0 naar 1 in het kloksignaal (klokflank), de waarde van de input overgenomen wordt door de slave. De waarde van de input blijft 1 klokperiode bewaart.
Bij de volgende klokflank van 0 naar 1 wordt opnieuw de waarde van de (eventueel veranderde) input ingeklokt.

2 flipflops achter elkaar. gemeenschappelijke klok / Bron: Tronic2 flipflops achter elkaar. gemeenschappelijke klok / Bron: Tronic
Het (belangrijke) verschil tussen een latch en een flipflop is:

  • een latch neemt de waarde van de input over als (select = 0)
  • een flipflop neemt de waarde van de input over op de overgang (select/clk 0 --> 1)

Men noemt een latch ook wel level-sensitive en een flipflop edge-sensitive.

Bekijk het volgende tijddiagram (2 flipflops achter elkaar): het ingangsignaal in staat klaar (eerste klokperiode), deze data overgenomen wordt door de eerste flipflop (data 1) op de eerstvolgende opgaande klokflank. Op de volgende opgaande flank wordt de tweede flipflop (data 2) geschreven.

pn-switch en multiplexer

Een pn-switch is een logische poort die werkt als schakelaar. Een logische '0' of '1' kan worden doorgeschakeld of geblokkeerd.
Een signaal kan zowel 0 als 1 zijn, daarom moet het geleidende pad voor een switch uit zowel een NMOS als een PMOS bestaan (een NMOS geleidt 0-en beter, en een PMOS geleidt 1-en beter).

Bron: TronicBron: Tronic
Dit is afgebeeld in het rechterfiguur met de blauwe pijltjes. Het selectie-signaal sel wordt ook gebruikt in ge-inverteerde vorm (NOT(sel) = sel met een streepje erboven). Een PMOS geleidt een logische 1 beter; een NMOS geleidt een logische 0 beter.Als (sel =1) is de poort dicht; er wordt geen signaal doorgegeven (toestand 'Z'). Voor (sel =0) wordt een signaal als volgt doorgegeven: een 0 via de NMOS (onderlangs), een 1 via de PMOS (bovenlangs).

+ sel + in + out +
-- 0 ---- 0 ---- 0 ---
-- 0 ---- 1 ---- 1 ---
-- 1 ---- 0/1 - Z ---

Met meerdere pn-switches maakt men een multiplexer (logische poort die werkt als meerkeuzeschakelaar).

D flipflop

opgaande klokflank = het schrijfmoment / Bron: Tronicopgaande klokflank = het schrijfmoment / Bron: Tronic
Er zijn meerdere types flipflops, dit artikel gaat over de D-flipflop. Het klok signaal is een periodiek signaal dat met een zekere frequentie en grote betrouwbaarheid, steeds twee waardes aanneemt: '0' en '1'. Het moment waarop de klok van '0' naar '1' gaat (of andersom), noemt men een klok-flank.

  • Op een klok-flank neemt de output van een flipflop de waarde van de input over.

Berekeningen en bewerkingen op signalen kosten tijd. Het duurt eventjes voordat de elektrische signalen een stabiele waarde aangenomen hebben. In de figuur hiernonder zien we 2 flipflops achter elkaar geschakeld. Er tussenin ligt hardware die bewerkingen op signalen uitvoert.

Als in de praktijk er 8 van dit soort circuits boven elkaar liggen, kunnen we een bewerking op een byte uitvoeren. De tijd die zo'n circuit ter beschikking heeft om tussen 2 opgaande flanken de bewerkingen uit te voeren, is met grijs aangegeven.

Bron: TronicBron: Tronic
Stel de kloksnelheid van een processor is 1 GHz. De periodetijd T zal dan 1/10^9 = 10^-9 s = 1 ns (nanoseconde) bedragen. In de praktijk moeten we van deze nanoseconde nog meer afsnoepen om een stabiel systeem te verkrijgen. Voordat de uitgang van de flipflop stabiel wordt na een klokflank is de zogenaamde hold-tijd th verstreken. Aan de ingang van de flipflop willen we graag een stabiel signaal hebben, zodat we er zeker van zijn dat wanneer de klokflank arriveert (door zogenaamde jitter kan dit wel eens vroeger of later zijn dan verwacht), de juiste waarde wordt ingeklokt. Daarom gebruikt men in ontwerpen de setup-tijd ts; de ingang moet stabiel zijn ts voordat de klokflank arriveert. In totaal heeft de elektronica die tussen de flipflops in ligt dus:

  • t = 1 * 10^-9 - (th + ts) seconden

om de bewerking uit te kunnen voeren. De tussenliggende elektronica moet zo ontworpen zijn, dat de beschikbare tijdbudgetten niet overschreden worden.

simulatie

Tijdens het ontwerp van een chip wordt de meest kritische en gevaarlijke toestanden die zich in de praktijk zouden kunnen voordoen, uitvoerig bekeken. Speciale beschrijvingstalen -VHDL en Verilog- worden gebruikt om het gedrag van flipflops en andere digitale bouwstenen te modelleren.

Naast het simuleren van de functionaliteit, voert men ook zogenaamde corner-simulatie's uit. Een chip moet blijven werken onder extreme omstandigheden, men varieert dan temperatuur, het proces (kwaliteit van silicium), en de voedingsspanning in de simulatie.

Logische circuits

Flipflops kan men gebruiken voor de volgende toepassingen:
  • geheugens en registers
  • opslag van tussen-resultaten van berekeningen
  • statemachines: een logische (digitale) schakeling die een reeks toestanden doorloopt

Lees verder

© 2009 - 2017 Tronic, het auteursrecht (tenzij anders vermeld) van dit artikel ligt bij de infoteur. Zonder toestemming van de infoteur is vermenigvuldiging verboden.
Gerelateerde artikelen
CMOS rekensnelheidCMOS rekensnelheidDe wet van Moore stelt dat het aantal transistoren per oppervlak iedere 18 maanden verdubbelt. Tot op heden is deze voor…
CMOS stroomverbruikCMOS stroomverbruikDe transistor is de belangrijkste bouwsteen in halfgeleider-circuits. Er zijn twee belangrijke types: bipolaire transist…
Verschil tussen hubs en switchesEr wordt in computernetwerken regelmatig gesproken over een netwerkswitch. Soms komt men ook nog de term hub tegen. Maar…
Uninterruptable power suppliesIn sommige bedrijfstakken is het van groot belang dat de voedingsspanning continu aanwezig blijft, ook tijdens storingen…
Dag zelf racen op circuit (Zandvoort of Assen)Dag zelf racen op circuit (Zandvoort of Assen)Daar rijd je dan in je auto die met gemak 200 of meer kilometer per uur kan rijden… Autorijden in het Nederlandse verkee…
Bronnen en referenties
  • Inleidingsfoto: Tronic
  • Fairchild R & D Laboratory, 1963 conference paper C. T. Sah and Frank Wanlass.
  • CMOS VLSI Design, third edition, Weste/Harris
  • Afbeelding bron 1: Tronic
  • Afbeelding bron 2: Tronic
  • Afbeelding bron 3: Tronic
  • Afbeelding bron 4: Tronic
  • Afbeelding bron 5: Tronic
  • Afbeelding bron 6: Tronic
  • Afbeelding bron 7: Tronic

Reageer op het artikel "De werking van de flipflop"

Plaats als eerste een reactie, vraag of opmerking bij dit artikel. Reacties moeten voldoen aan de huisregels van InfoNu.
Meld mij aan voor de tweewekelijkse InfoNu nieuwsbrief
Ik ga akkoord met de privacyverklaring en ben bekend met de inhoud hiervan
Infoteur: Tronic
Laatste update: 10-03-2017
Rubriek: Electronica
Subrubriek: Geschiedenis
Bronnen en referenties: 10
Schrijf mee!