De werking van de Flip-Flop

De werking van de Flip-Flop

De Flip-Flop is de meest elementaire bouwsteen in de digitale techniek. In het binaire talstelsel representeert men getallen met nullen en enen. De plaats waar een nul of één wordt vastgehouden, noemt men een bit. De Flip-Flop werkt als een geheugen-element; men kan de waarde van een bit tijdelijk opslaan. Dit is van belang omdat berekeningen vaak worden verdeeld over kleinere deel-berekeningen, waarvan de tussenresultaten bewaard moeten blijven.

Binaire getallen

Een binair getalstelsel is een representatie-systeem van getallen, waarbij het getal 2 als grondtal gebruikt wordt. Dit in tegenstelling tot onze 'gewone' talstelsel, dat het getal 10 als grondtal heeft.
Het getal 6 wordt binair voorgesteld als:
6 = 1 x 4 + 1 x 2 + 0 x 1 = 1 x 2² + 1 x 2¹ + 0 x 2° = 110
De plaats waar door een '0' of '1' een waarde wordt aangegeven, noemt men bit (binary digit). Het bit dat uiterst rechts staat, geeft het getal 2° (=1) aan; het wordt least significant bit (lsb) genoemd. Het bit dat uiterst links staat, noemt men het most significant bit (msb).

Op deze wijze kunnen we de getallen 0 t/m 15 representeren:
0 - 0000
1 - 0001
2 - 0010
3 - 0011
4 - 0100
5 - 0101
...........
14 - 1110
15 - 1111

De Flip-Flop

In de digitale techniek voert men berekeningen en logsiche operatie's uit op binaire getallen. Vaak worden de berekeningen afgebroken in kleinere deel-berekeningen. De tussen-resultaten van die deel-berekeningen moeten bewaard blijven, omdat ze fungeren als input voor de volgende berekening of logische operatie. De Flip-Flop is een geheugenelement dat de waarde van een een bit tjdelijk kan vasthouden.

Wat is nodig in een digitaal systeem?
Men wil graag de berekeningen en operatie's laten verlopen op zeer hoge snelheid, en met een zeer grote betrouwbaarheid. Daarom heeft men het klok signaal geintroduceerd. Dit is als het ware de motor van een digitaal circuit. Het klok signaal is een periodiek signaal dat met een zekere frequentie en grote betrouwbaarheid, voortdurend twee waardes aanneemt: '0' en '1'. Het moment waarop de klok van '0' naar '1' gaat (of andersom), noemt men een klok-flank.
Een Flip-Flop verandert alleen van toestand ten tijde van een klok-flank; treedt er geen klok-flank op dan blijft de Flip-Flop stabiel. Op een klok-flank neemt de output van de Flip-Flop de waarde van de input over.
Berekeningen en bewerkingen op signalen kosten tijd. Dit betekent het duurt eventjes voordat de elektrische signalen door de elektronica heen zijn, en voordat de outputs een stabiele waarde aangenomen hebben. In de figuur hiernaast zien we 2 Flip-Flop's achter elkaar geschakeld. Er tussenin ligt hardware die bewerkingen op signalen uitvoert. De tijd die deze configuratie ter beschikking heeft om tussen 2 opgaande klokflanken de bewerkingen uit te voeren is met paars aangegeven.
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 Flip-Flop 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 Flip-Flops in ligt dus:
t = 1 * 10^-9 - (th + ts) seconden
tijd om de bewerking uit te voeren.

Ontwerpen
In de figuur hiernaast is een simulatie te zien van een bepaald digitaal systeem. Dit is een typisch plaatje waar ingenieurs dagelijks mee werken. Tijdens het ontwerp van een chip wordt de meest kritische en gevaarlijke toestanden die zich in de praktijk zouden kunnen voordoen, uitvoerig bekeken. Speciale software en beschrijvingstalen worden gebruikt om het gedrag van Flip-Flops en andere digitale bouwstenen te modelleren. In het plaatje hiernaast zien we het klok signaal (bovenste signaal). De input van de Flip-Flip (het blauwe signaal) verandert voortdurend, maar de output (het rode signaal) verandert alleen mee als er een klok-flank van '0' naar '1' optreedt. Het rode signaal blijft heel lang '1', omdat bij elke klok-flank er een '1' gezien wordt aan de input.
In de afgebeelde simulatie bekijkt men alleen de functionaliteit: doet het systeem wat men vooraf in de specificatie's heeft vastgelegd? We mogen ervan uitgaan dat digitale systemen een zeer hoge complexiteit bezitten. Daarom is het vaak niet mogelijk om alle toestanden te bekijken waarin een systeem (of chip) zich zal gaan bevinden in de praktijk. Om dit soort problemen de baas te blijven bedenkt men allerlei simulatie's en tests die de betrouwbaarheid van een ontwerp moeten garanderen. Als men zeker is dat de functionialiteit overeenkomt met de specificatie's, gaat men bekijken of overal eisen die aan de timing van de signalen (zie paragraaf hierboven) worden gesteld, gehaald worden.
Naast het simuleren van de functionaliteit, voert men ook zogenaamde corner-simulatie's uit. Een chip moet blijven werken onder extreme omstandigheden (denk aan temperatuur en variaties in de voedingspanning). Vaak kan men de standaard bouwstenen zoals een Flip-Flop in verschillende uitvoeringen uiteindelijk in de chip-layout implementeren. De 'military'-standaard is een CMOS-process (het materiaal waarin men het ontwerp uiteindelijk maakt) dat in de meest extreme omstandigheden het betrouwbaarst blijft functioneren.
Om het fabricageproces te testen bouwt men tijdens de ontwerpfase elektronica in, die -wanneer een chip 'gebakken' is- het meteen mogelijk maakt om alle interne fysieke verbindingen te testen. Dit noemt men ook wel scan-test.

Het register

In de hierboven beschreven processen fungeert de Flip-Flop als geheugen-element. De klok-flank is een evaluatie moment; is er iets verandert aan de input dan wordt dit doorgegeven aan de output, en tot de volgende flank bewaard. Vanwege deze eigenschap noemt men de Flip-Flop ook wel register. Binaire getallen kunnen bewaard worden door een reeks Flip-Flops naast elkaar te plaatsen.

Flip-Flops 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

Zoals omschreven in het bovenstaande kan een Flip-Flop tijdelijk de waarde van een bit vasthouden, namenlijk 1 periode van de klok lang. Wil men data permanent opslaan, dan word de output van de Flip-Flop teruggekoppeld naar de input. Op deze manier wordt bij elke klok-flank de waarde van de output (opnieuw) ingeklokt aan de input. De data (een '1'of een '0') loopt via een datapad dus in een soort circel. Voor de input is een multiplexer geplaatst. Dit is een digtale bouwsteen, waarmee men uit verschillende inputs de juiste selecteren kan, en koppelen aan de output. Wanneer de data aan de input IN klaar ligt, selecteert men input 'IN', zodat deze ingeklokt kan worden. Daarna selecteert men de output van de Flip-Flop, zodat de data in via een tergekoppeld datapad opnieuw aan de ingang zal verschijnen. Op deze manier bewaart een register (gebouwd met een Flip-Flop) data.

Lees verder

© 2009 - 2012 Tronic, gepubliceerd in Geschiedenis (Electronica) op . Het auteursrecht van dit artikel ligt bij de infoteur. Zonder toestemming van Tronic is vermenigvuldiging van dit artikel verboden. Meer informatie…

Gerelateerde artikelen
Wat is een cel? Het hele lichaam bestaat uit cellen. Iedere cel van het lichaam heeft een celmembraan en in iedere cel zi…
Civiele techniek Civiele techniek is een vakgebied binnen de techniek dat werkt aan kunstmatige en natuurlijke objecten w…
Verkooptechnieken en hun werking Om een product aan de man te brengen worden er al decennia lang verkooptechnieken gebrui…
Techniek airbrush en verfspuit Met een airbrush of verfspuit kan je diverse effecten maken. Deze effecten zijn afhankelij…
3G: Tv op je GSM? Third Generation (3G) is anno 2005 een standaard in opkomst voor de draadloze netwerken. Met deze stand…

Reageer op het artikel "De werking van de Flip-Flop"

Er zijn nog geen reacties geplaatst op dit artikel.
Infoteur: Tronic
Rubriek: Electronica / Geschiedenis
Schrijf mee!