Signaalinkäsittelytekniikan laboratorio
Digitaalitekniikan perusteet

Luennot
Sivukartta
Sanasto
Laskuharjoitukset

Kiikut (engl. flip-flops)

Kiikkujen funktio on säilyttää niihin tuotu data kellojakson yli ja välittää se tämän jälkeen eteenpäin. Kiikut ovat olennainen osa aikariippuvaisia piirejä, käytännössä tarkoitamme näilä pelkästään synkronisia sekvenssipiirejä. (Asynkroniset sekvenssipiirit ovat erikoistapaus. Niitä ei käsitellä tällä kurssilla sen enempää.) Synkronisen sekvenssipiirin kiikut muodostavat yhdessä rekisterin, jossa säilytetään piirin tilaa. Salvat eivät sovellu tähän tarkoitukseen, koska niiden tila voi muuttua kesken kellojakson (kuten jo aiemmin opittiin). Synkronisessa sekvenssipiirissä tilamuutokset tapahtuvat vain kellosignaalin tahdissa.

Kiikku muuttaa tilaansa vain kellosignaalin muuttuessa: tällöin se tarkastelee piirin nykytilaa ja sen hetkisiä ottosignaaleita ja tallettaa näiden aiheuttaman tuloksen seuraavaan kellojaksoon saakka. Sanotaan, että kellosignaali liipaisee kiikun. Tällä tarkoitetaan sitä ominaisuutta, että kiikku tarkastelee ympäristöänsä vain kellosignaalin tietyllä reunalla. Kiikut luokitellaan liipaisutavan perusteella. Kiikkutyypit:

  • pulssilla liipaistava kiikku (pulse triggered flip-flop)
  • reunaliipaistava eli dynaaminen kiikku (edge-triggered flip-flop)
  • vastakkaisreunoin liipaistava kiikku (data lock-out flip-flop)

Pulssiliipaistava kiikku ottaa dataa sisään kellopulssin nousevalla reunalla ja antaa sitä ulos kellopulssin laskevalla reunalla.

Reunaliipaistava kiikku vaihtaa tilaansa kellopulssin aktiivisella reunalla, joka on kellosignaalin joko nouseva tai laskeva reuna. On siis olemassa erikseen kellopulssin nousevalla ja laskevalla reunalla liipaistavia kiikkuja. Tilanmuutos näkyy kiikun annossa joko heti tai kellosignaalin toisensuuntaisen muutoksen jälkeen. Jälkimmäisessä tapauksessa puhutaan viivästetystä annosta.

Käytännön digitaalisuunnittelussa käytetään lähinnä pelkästään reunaliipaistavia kiikkuja. Eri kiikkutyypit on kuitenkin hyvä tuntea, erikoistilanteiden varalta.

Kiikkujen ajoituksesta

Kiikkujen yhteydessä on otettava huomioon kaksi eri varoaikaa sekä kiikusta itsestään aiheutuva viive. Varoajat ovat niitä ajanjaksoja, jolloin kiikku ei huomaa muutoksia piirissä. Käytännössä varoajat ovat kiikulle merkityksellisen kellopulssin reunan molemmin puolin. (Setup time eli asetusaika ennen kellopulssin nousua sekä Hold time eli pitoaika nousun aikana sekä vähän sen jälkeen.) Tämä tarkoittaa sitä, että ottosignaalit eivät saa muuttua varoaikana tai piirin toiminta häiriintyy.

Toinen ajoituksessa huomioitava seikka on kiikusta aiheutuva etenemisviive (propagation delay): signaalilla kestää vähän aikaa kulkea kiikun läpi (tyypillisesti muutaman kymmenen nanosekunnin luokkaa). Allaolevassa kuvassa esitetään reunaliipaistavan D-kiikun kriittiset aikajaksot:


Huomattavaa:
Tästä eteenpäin esitellään eri kiikkutyyppejä niiden toiminnan mukaan. Tärkeimmät loogiset kiikkutyypit ovat D, JK, T ja SR. Näistä esitellään pulssi- ja reunaliipaistavia versioita. (Kannattaa siis huomata, että jokaisesta loogisesta päätyypistä (D, JK, T, SR) voidaan tuottaa sekä reuna-, että pulssiliipaistavia kiikkuja.)

Lisätietoja:


Tämän sivun sisällöstä vastaa aura@wooster.hut.fi
URL: http://signal.hut.fi/digis/luento8/kiikut.html
Sivua on viimeksi päivitetty 14.08.2003.