Digitaalitekniikan perusteet



Samankaltaiset tiedostot
BL40A1711 Johdanto digitaaleketroniikkaan: Sekvenssilogiikka, pitopiirit ja kiikut

Digitaalilaitteen signaalit

F = AB AC AB C C Tarkistus:

kwc Nirni: Nimen selvennys : ELEKTRONIIKAN PERUSTEET 1 Tentti La / Matti Ilmonen / Vastaukset kysymyspapereille. 0pisk.

Digitaalitekniikan matematiikka Luku 3 Sivu 1 (19) Kytkentäfunktiot ja perusporttipiirit

c) loogiset funktiot tulojen summana B 1 = d) AND- ja EXOR-porteille sopivat yhtälöt

Peruspiirejä yhdistelemällä saadaan seuraavat uudet porttipiirit: JA-EI-portti A B. TAI-EI-portti A B = 1

Digitaalitekniikka (piirit) Luku 15 Sivu 1 (17) Salvat ja kiikut 1D C1 C1 1T 1J C1 1K S R

ELEC-C3240 Elektroniikka 2 Digitaalielektroniikka Karnaugh n kartat ja esimerkkejä digitaalipiireistä

Digitaalitekniikan matematiikka Luku 8 Sivu 1 (23) Kombinaatiopiirielimet MUX X/Y 2 EN

Sähkötekniikan perusteet

Inputs: b; x= b 010. x=0. Elektroniikkajärjestelmät ETT_2068

ELEC-C3240 Elektroniikka 2

Digitaalitekniikan matematiikka Harjoitustehtäviä

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Esimerkkitentin ratkaisut ja arvostelu

c) loogiset funktiot tulojen summana B 1 = C 2 C 1 +C 1 C 0 +C 2 C 1 C 0 e) logiikkakaavio

Digitaalitekniikan matematiikka Luku 6 Sivu 1 (20) Kombinaatiopiirit & & A B A + B

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Käytännön logiikkapiirit ja piirrosmerkit

Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

Sekvenssipiirin tilat

Harjoitustehtävien ratkaisut

Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja

Harjoitustyön 2 aiheiden kuvaukset

Digitaalitekniikka (piirit) Luku 14 Sivu 1 (16) Sekvenssipiirit. Kombinaatiopiiri. Tilarekisteri

Yhden bitin tiedot. Binaariluvun arvon laskeminen. Koodin bittimäärä ja vaihtoehdot ? 1

Kombinatorisen logiikan laitteet

Verilogvs. VHDL. Janne Koljonen University of Vaasa

Elektroniikan laboratorio Lisätehtävät Mallivastauksia

Synkronisten sekvenssipiirien suunnittelu

Digitaalitekniikan matematiikka Luku 5 Sivu 1 (22) Lausekkeiden sieventäminen F C F = B + A C. Espresso F = A (A + B) = A A + A B = A B

S Elektroniikan häiriökysymykset. Laboratoriotyö, kevät 2010

6. Analogisen signaalin liittäminen mikroprosessoriin Näytteenotto analogisesta signaalista DA-muuntimet 4

Sähkötekniikan perusteet

Ratkaisu. Ensimmäinen kuten P Q, toinen kuten P Q. Kolmas kuten P (Q R):

BL40A1711 Johdanto digitaalielektroniikkaan: CMOS-tekniikka ja siihen perustuvat logiikkapiiriperheet

LABORAATIOSELOSTUSTEN OHJE H. Honkanen

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

BL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit

Digitaalitekniikan matematiikka Luku 4 Sivu 1 (15) Kytkentäalgebra A + 1 = 1 A = A A + B C = (A + B) (A + C) A 0 = 0. Maksimitermi.

Taitaja2005/Elektroniikka. 1) Resistanssien sarjakytkentä kuormittaa a) enemmän b) vähemmän c) yhtä paljon sähkölähdettä kuin niiden rinnankytkentä

Signaalien datamuunnokset. Näytteenotto ja pito -piirit

Taitaja2004/Elektroniikka Semifinaali

21~--~--~r--1~~--~--~~r--1~

Ehto- ja toistolauseet

ASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg

Yhden bitin tiedot. Digitaalitekniikan matematiikka Luku 1 Täsmätehtävä Tehtävä 1. Luettele esimerkkejä yhden bitin tiedoista.

Telemerkki Oy. TM-EIAC Ohjauskoje. Käyttöohje. Versio 1.00 [

Oppikirjan harjoitustehtävien ratkaisuja

Multivibraattorit. Bistabiili multivibraattori:

ELEKTRONIIKAN PERUSTEET T700504

2_1----~--~r--1.~--~--~--,.~~

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka )

Opas toimilohko-ohjelmointiin

Finnish. Osien nimet. Tarkistuslaiteyksikkö. Sähkökaapelin tarkistuslaite. Vaihtokytkimen tarkistuslaite SM-EC79 HAKEMISTO

Tehtävä 2: Tietoliikenneprotokolla

Tekniset tiedot. Kontaktorit ja moottorikäynnistimet CI-TI TM Aikareleet ATI, BTI, MTI 520B11309

EV011 EV012 EV002 EV004 EV100 EV102 1 mod. 1 mod. 4 mod. 4 mod. 5 mod. 5 mod. 230 V AC (+10%/-15%), 50 HZ 6 W 6 W 6 W 6 W 15 W 15 W

Avid Pro Tools Äänityksen perusteet. Petri Myllys 2013 / Taideyliopisto, Sibelius-Akatemia tp48 Äänitekniikan perusteet

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

Datatähti 2019 loppu

13. Loogiset operaatiot 13.1

Käyttöohje. 1/DOC-RS15C Fi A

ABB aurinkosähköinvertterit Pikaohje PMU laajennuskortti

Tietotyypit ja operaattorit

10. Kytkentäohje huonetermostaateille

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.

SMG-2100: SÄHKÖTEKNIIKKA

1 Logiikkaa. 1.1 Logiikan symbolit

1 Muutokset piirilevylle

Flash AD-muunnin. Ominaisuudet. +nopea -> voidaan käyttää korkeataajuuksisen signaalin muuntamiseen (GHz) +yksinkertainen

Sekvenssipiirin tilat. Synkroninen sekvenssipiiri ? 1 ? 2

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

LUKUJA, DATAA KÄSITTELEVÄT FUNKTIOT JA NIIDEN KÄYTTÖ LOGIIKKAOHJAUKSESSA

Logiikan kertausta. TIE303 Formaalit menetelmät, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos.

Rikstone H30W Käyttöohje

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

ELEKTRONIIKAN PERUSTEET

LIB 500 ja LIB 510 v.4.0.2

13. Loogiset operaatiot 13.1

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

Sähkötekiikka muistiinpanot

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut.

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 5, ratkaisuja

Digitaalitekniikka (piirit) Opetusmoniste

Aurinkopaneelin lataussäädin 12/24V 30A. Käyttöohje

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

4.2 Yhteensopivuus roolimalleihin perustuvassa palvelussa

1. Tasavirtapiirit ja Kirchhoffin lait

Signaalien datamuunnokset

LIITE. asiakirjaan. komission delegoitu asetus

ELEC-C5070 Elektroniikkapaja (5 op)

Autotallin ovi - Tehtävänanto

Signaalien generointi

Transkriptio:

HAMK Riihimäki Versio 1.0 Väinö Suhonen Digitaalitekniikan perusteet Loogiset funktiot ja portit Kombinaatiologiikan elimiä Rekisterilogiikan perusteet Rekisteri- ja sekvenssilogiikan elimiä ena up/ down : Up Count > 1 T Q qn q0... qn-1 : : Down load dn d=1 qn clk d=0 Load

SISÄLLYSLUETTELO 1 LOOGISET FUNKTIOT JA PORTIT 3 1.1 AND funktio 4 1.2 OR funktio 6 1.3 NOT funktio 8 1.4 Johdannaiset funktiot 9 1.5 Muunnoksia 12 1.6 Amerikkalaiset piirrosmerkit 15 1.7 Loogisten funktioiden minimointi 16 1.8 Kolmitilalogiikka 17 1.9 Schmitt liipaisin 19 2 KOMBINAATIOLOGIIKAN ELIMIÄ 20 2.1 Multiplekseri 21 2.2 Demultiplekseri 23 2.3 Binääridekooderi 25 2.4 Mielivaltainen dekooderi 26 3 REKISTERILOGIIKAN PERUSTEET 32 3.1 RS kiikku 33 3.2 D Latch 39 3.3 D kiikku (Data) 41 3.4 T kiikku (Toggle) 46 3.5 JK kiikku 48 3.6 Ohjelmoitavien logiikkapiirien kiikut 51 4 REKISTERI- JA SEKVENSSILOGIIKAN ELIMIÄ 52 4.1. Synkroninen vai asynkroninen järjestelmä 53 4.2. Datarekisteri 54 4.3. Siirtorekisteri 58 4.4. Binäärilaskurit 67 4.5. Modulo N laskurit 77

Loogiset funktiot ja portit 3 1 LOOGISET FUNKTIOT JA PORTIT Kaikki digitaalitekniikka koostuu loogisista funktioista, jotka muodostetaan loogisilla porteilla. Yhdistämällä näitä portteja eri tavalla, saadaan aikaan erilaisia loogisia elimiä, digitaalitekniikan komponentteja. Näistä komponenteista voidaan rakentaa sitten mikä tahansa digitaalinen järjestelmä. Tässä luvussa esitetään loogiset funktiot ja niitä vastaavat portit. Perusfunktioita on olemassa kolme, ja näiden avulla voidaan toteuttaa johdannaiset funktiot. Tässä luvussa kuvatut funktiot ovat periaatteessa yhden loogisen portin funktioita, joista kaikki digitaalitekniikka rakentuu. Varsinaiset laajemmat loogiset funktiot toteutetaan sitten yhdistelemällä perusfunktioita Boolen Algebran mukaisesti, ja tällaiset loogiset funktiot voivat olla miten suuria tahansa. Boolen algebra on loogisiin funktioihin liittyvä matemaattislooginen laskusääntökokoelma, jonka perusteella loogiset funktiot voidaan sieventää, eli poistaa ylimääräiset, redundanttiset termit. Kun digitaalitekniikkaa aletaan soveltaa rakentamalla suurempia loogisia kokonaisuuksia, niin saadaan digitaalinen järjestelmä, joka koostuu pelkästään kahdenlaisista elementeistä: kombinaatiologiikka rekisterilogiikka Kaikki digitaalitekniikka on näiden kummankin tyyppisten elementtien muodostama yhtenäinen kokonaisuus. Kumpikin tyyppi koostuu samoista digitaalitekniikan perusporteista, mutta rekisterilogiikassa käytetään elementtien sisällä takaisinkytkentöjä, joiden avulla saadaan aikaan rekisteröiviä toimintoja. Yleisesti ottaen, kombinaatiologiikkaa on aina enemmän kuin rekisterilogiikkaa, tosin on olemassa sellaisiakin järjestelmiä, jotka koostuvat lähes yksinomaan rekistereistä, mutta näitä on selvästi harvemmassa. Tyypillinen keskiverto järjestelmä sisältää runsaasti kombinaatiologiikkaa sekä enemmän tai vähemmän rekistereitä.

Loogiset funktiot ja portit 4 1.1 AND funktio AND funktio on kaikkein eniten käytetty looginen funktio. Seuraava kuva esittää AND funktiota loogisen AND portin ja sitä vastaavan totuustaulun (Truth Table). Kuvassa a ja b ovat tulosignaaleita sekä x lähtösignaali. Totuustaulu esittää lähtösignaalin arvon tulosignaalien eri kombinaatioilla. a b AND x Totuustaulu ab 00 01 10 11 x 0 0 0 1 Kuva 1.1. AND funktio Seuraava kuva esittää kolmen tulosignaalin AND funktiota. Itse asiassa tulosignaaleita voi olla rajoittamaton määrä, mutta lähtösignaaleita on vain yksi. a b c AND x Totuustaulu abc 000 001 010 011 100 101 110 111 x 0 0 0 0 0 0 0 1 Kuva 1.2. Kolmen tulosignaalin AND funktio

Loogiset funktiot ja portit 5 Kun tarkastellaan yllä olevien kuvien sisältämää totuustaulua, niin päädytään seuraavaan johtopäätökseen, joka samalla on kaikkein tärkeimpiä digitaalitekniikan sääntöjä. Kaikkien digitaalisten piirien analysointi palautuu aina tähän sääntöön, ja sen soveltaminen auttaa varsin pitkälle laajempien digitaalisten järjestelmien tutkimisessa. Jotta AND funktion lähtö olisi ykkönen, on kaikkien tulosignaalien oltava ykkösiä. toisin sanoen: Yksikin nolla AND funktion tulona saa aikaan lähtösignaalien nollautumisen. AND funktiota voidaan tarkastella sähkömekaanisena kytkinanalogiana seuraavan kuvan mukaisesti. Kytkimet vastaavat AND porin tulosignaaleita, joita voi olla kuinka paljon tahansa, ja lamppu vastaa AND portin lähtösignaalia. a b c + U - Lamppu Kuva 1.3. AND funktion kytkinanalogia Jotta lamppu valaisisi, on kaikkien kytkinten oltava kiinni asennossa. Jos yksikin kytkin avataan, niin lamppu sammuu välittömästi. AND portin tulosignaaleita voi olla kuinka paljon tahansa. Itse asiassa ohjelmoitavien CPLD logiikkapiirien kaikki AND portit sisältävät useita kymmeniä tulosignaaleita, mutta itse AND funktio toteutetaan ns. Wired AND tekniikalla, jossa kaikki tulosignaalit kytketään suoraan yhteen AND johtoon, jonka tilaa ohjataan tulosignaalien impedanssien avulla siten, että nolla syötetään matalaohmisena ja ykkönen korkeaohmisena. Siten yksikin matalaohminen nolla saa aikaan lähtöjohdolle nollan.

Loogiset funktiot ja portit 6 1.2 OR funktio OR funktio on toinen perusfunktio, jossa voidaan käyttää mielivaltaista tulosignaalien määrää. Seuraava kuva esittää OR funktiota loogisen OR portin ja totuustaulukon avulla. a b OR >1 x Totuustaulu ab 00 01 10 11 x 0 1 1 1 Kuva 1.4. OR funktio OR portilla voi olla kaksi tai useampia tulosignaaleja. Vastaava kolmen tulosignaalin OR funktio on: a b c OR >1 x Totuustaulu abc 000 001 010 011 100 101 110 111 x 0 1 1 1 1 1 1 1 Kuva 1.5. Kolmen tulosignaalin OR funktio

Loogiset funktiot ja portit 7 Yllä olevien kuvien totuustaulukkoa tarkasteltaessa voidaan vetää seuraava johtopäätös, aivan kuin AND portillekin tehtiin edellä: Jotta OR portin lähtösignaali olisi nolla, on kaikkien tulosignaalien oltava nolla toisin sanoen Yksikin ykkönen OR portin tulona saa aikaan lähdön nousemisen ykköseksi. Tässä mielessä AND ja OR funktiot ovat koko lailla päinvastaisia. Tähän tt on käsitelty digitaalitekniikan kaksi merkittävintä olemusta. Näiden kahden asia ymmärtäminen ja oikea soveltaminen riittävät todella pitkälle digitaalitekniikan kytkentöjen analysoinnissa. Seuraava kuva esittää vastaavaa OR funktion kytkinanalogiaa. Siinä yhdenkin kytkimen sulkeminen sytyttää lampun. Vastaavasti vaaditaan kaikkien kytkinten avaamista lampun sammuttamiseksi. a + U b c - Lamppu Kuva 1.6. OR funktion kytkinanalogia OR portteja on kaikissa digitaalisissa järjestelmissä, joskaan ei yhtä paljon kuin AND portteja. Tyypillisesti OR portin avulla yhdistetään useamman AND funktion lähtösignaalit yhdeksi OR lähtösignaaliksi.

Loogiset funktiot ja portit 8 1.3 NOT funktio Kolmas ja samalla viimeinen perusfunktio on NOT. Siihen tulee vain yksi tulosignaali ja siitä lähtee yksi lähtösignaali. NOT funktio kääntää signaalin polariteetin päinvastaiseksi, eli invertoi signaalin. Siksi NOT porttia sanotaankin invertteriksi. a NOT 1 a Totuustaulu a a 0 1 1 0 Invertteri Kuva 1.7. NOT funktio Vaikka NOT funktio on saatavana invertteri piirinä, joka sisältää noin kuusi kappaletta inverttereitä, käytetään itse funktiota erittäin yleisesti AND ja OR funktion kanssa. Seuraava kuva esittää NOT funktion käyttöä sekä tulosignaalin yhteydessä että funktion lähtösignaalina, kuvassa invertteri on pallo. Kirjain F esittää joko AND tai OR porttia. NOT - funktio F F Tulosignaalina Lähtösignaalina Kuva 1.8. NOT funktion tulo ja lähtösignaalina

Loogiset funktiot ja portit 9 1.4 Johdannaiset funktiot Edellä on käsitelty kaikki välttämätön digitaalitekniikkaan liittyvä logiikka! Edellä kuvatut loogiset funktiot muodostavat kaiken digitaalitekniikan perustan, kaikki mutkikkaammat loogiset elementit ja monimutkaiset digitaaliset järjestelmät koostuvat näistä perusfunktioista. Käytännön kannalta tarvitaan kuitenkin johdannaisfunktioita, joilla tietyt perusasiat voidaan esittää yksinkertaisemmin. Toiseksi, kaikki digitaalitekniikka voidaan rakentaa pelkästään NAND tai NOR funktioista, eli vastaavista porteista. Toisin sanoen, yksi matkalaukullinen pelkästään NAND tai NOR portteja riittää minkä tahansa monimutkaisen digitaalisen järjestelmän toteuttamiseen, esimerkiksi tietokoneen. Kolmanneksi, ensimmäiset digitaaliset mikropiirit olivat pelkästään NAND tai NOR portteja, koska ne olivat helpommin toteutettavissa elektronisesti kuin perusportit, ja jommalla kummalla tyypillä voitiin toteuttaa mikä tahansa digitaalinen järjestelmä. Esimerkiksi Apollo avaruusalusten GNC tietokoneet (Guidance and Navigation Computer) rakennettiin pelkästään 3 input NOR porteista, joita kyseinen tietokone sisälsi 5600 kappaletta. Yksi piiri sisälsi kaksi tällaista porttia, joten digitaalisten mikropiirien lukumäärä oli 2800. NAND funktio NAND funktio saadaan AND funktiosta siten, että kytketään invertteri AND funktion lähtösignaalin perään. Seuraava kuva esittää NAND portin ja vastaava totuustaulun. Jos tätä verrataan AND porttiin, niin merkittävin ero on se, että lähtösignaali on nyt invertoitu, koska invertteri on nimenomaan kytketty AND portin perään. a b NAND x Totuustaulu ab 00 01 10 11 x 1 1 1 0 Kuva 1.9. NAND funktio

Loogiset funktiot ja portit 10 NOR funktio NOR funktio saadaan OR funktiosta siten, että kytketään invertteri OR funktion lähtösignaalin perään. Seuraava kuva esittää NOR portin ja vastaava totuustaulun. Jos tätä verrataan OR porttiin, niin merkittävin ero on se, että lähtösignaali on nyt invertoitu, koska invertteri on nimenomaan kytketty OR portin perään. a b NOR >1 x Totuustaulu ab 00 01 10 11 x 1 0 0 0 Kuva 1.10. NOR funktio Exclusive OR funktio Exclusive OR funktio XOR on mutkikkain perusjohdannainen funktio, se koostuu kaikkien kolmen perusfunktion yhdistelmästä. Seuraava kuva esittää XOR porttia ja XOR - funktion totuustaulua: a b XOR =1 x Totuustaulu ab 00 01 10 11 x 0 1 1 0 Kuva 1.11. XOR - funktio

Loogiset funktiot ja portit 11 XOR funktio lähtösignaali on ykkönen silloin, kun tulosignaali ovat komplementteja, ja nolla silloin, kun tulosignaalit ovat samat. XOR funktio koostuu perusfunktioista seuraavan kuvan mukaisesti: a b >1 x Kuva 1.12. XOR portin rakenne Kun yllä olevassa kuvassa sekä a että b ovat kumpikin nollia, niin kummankin AND portin lähtösignaali on välttämättä nolla, koska toinen AND portin tulosignaaleista on aina nolla. Tämä riittää siihen, että AND funktio on nolla. Samoin, jos kumpikin tulosignaali on ykkönen, koska AND portin toinen tulosignaali sisältää invertterin, ja sen myötä taas toinen tulosignaali on nolla, jolloin AND portin lähtösignaali on edelleen nolla. Jotta XOR portin OR portti antaisi ulos ykkösen, on jommankumman AND portin annettava ykkönen. Tämä toteutuu vain silloin, kun tulosignaalit ovat toistensa komplementteja seuraavasti: Jos a = 1 ja b = 0, niin ylempi AND portti antaa ykkösen OR portin lähtösignaaliksi. Jos taas a = 0 ja b = 1, niin alempi AND portti antaa ykkösen. Exclusive OR funktiolla on monta käyttökohdetta, joista voidaan mainita muun muassa: binäärikoodin muuntaminen gray koodiksi pariteetin generointi ja tarkastus D kiikun muuntaminen T kiikuksi Näistä varsinkin viimemainitulla on tärkeä merkitys varsinkin laskureiden ja tilakoneiden kannalta.

Loogiset funktiot ja portit 12 1.5 Muunnoksia Inverttereiden avulla voidaan portteja muuntaa toisiksi, esimerkiksi AND portista voidaan tehdä OR ja päinvastoin. Tällaiset muunnokset edellyttävät aina inverttereiden käyttöä porin tulo ja lähtösignaaleissa. Aluksi on kuitenkin todettava seuraavan kuvan mukainen totuus: a b F x = a b F y c c Nämä eivät ole identtisiä funktioita Kuva 1.13. Nämä kytkennät eivät ole samoja Toisin sanoen, inverttereitä ei voi siirtää sellaisenaan portin lähtöpuolelta tulopuolelle eikä päinvastoin. Sitä vastoin logiikkaa voidaan muuttaa toiseksi inverttereiden avulla seuraavien kuvien mukaisesti: a b c x Totuustaulu abc 000 001 010 011 100 101 110 111 x 1 0 0 0 0 0 0 0 a b c NOR >1 x Kuva 1.14. NOR portti AND portista

Loogiset funktiot ja portit 13 a b c >1 x Totuustaulu abc 000 001 010 011 100 101 110 111 x 1 1 1 1 1 1 1 0 a b c NAND x Kuva 1.15. NAND portti OR portista Yleisesti voidaan toteuttaa seuraavan kuvan mukainen logiikan muunnos. Siinä vasemmalla puolella on NOR ja NAND portit, johon kaikki tulosignaalit tuodaan invertterin kautta. Tulokseksi saadaan AND ja OR portit ilman inverttereitä. Kummassakin portissa ylemmät symbolit vastaavat toisiaan ja alemmat taas toisiaan. a b NOR >1 x a b AND x c c >1 NAND OR Kuva 1.16. Logiikan muuntaminen toiseksi Yllä olevan kuvan mukaisesti NOR portilla voidaan toteuttaa AND portti ja NAND portilla puolestaan OR portti. Pelkästään NAND porteilla tai NOR porteilla voidaan toteuttaa kaikki loogiset perusfunktiot, toisin sanoen, kaikki digitaalitekniikka voidaan toteuttaa pelkästään käyttämällä jompaakumpaa logiikkaporttityyppiä seuraavasti:

Loogiset funktiot ja portit 14 NAND OR portti kytkemällä invertteri kaikkiin tuloihin AND portti kytkemällä invertteri lähdön perään NOT portti kytkemällä tulosignaalit yhteen NOR AND portti kytkemällä invertteri kaikkiin tuloihin OR portti Kytkemällä invertteri lähdön perään NOT portti kytkemällä tulosignaalit yhteen Seuraava kuva esittää DeMorganin kaavoja, joilla logiikka muunnetaan toiseksi. Yhtälöiden vasemmalla puolella signaalin nimen alleviivaus tarkoittaa invertointia ja koko vasemman puolen yliviivaus tarkoittaa vasemman puolen invertointia, eli invertteri kytketään portin perään. a + b + c + d = a b c d a b c d = a + b + c + d + = OR - operaattori = AND - operaattori = NOT - operaattori Kuva 1.17. DeMorganin kaavat DeMorganin kaavat ovat käteviä mutkikkaiden logiikkafunktioiden yksinkertaistamisessa, hyvin usein logiikan kääntäminen toiseksi sieventää merkittävästi funktiota, jolloin se on helpompi toteuttaa.

Loogiset funktiot ja portit 15 1.6 Amerikkalaiset piirrosmerkit Kaikki edellä kuvatut porttipiirit on piirretty eurooppalaisen IEC standardin mukaisesti. Amerikkalaiset käyttävät mieluummin omia piirrosmerkkejään, joita tässä kappaleessa kuvataan. AND OR >1 NOT 1 XOR =1 Kuva 1.18. Eurooppalaiset ja amerikkalaiset piirrosmerkit Piirrosteknisesti eurooppalaiset ovat paljon helpommin käsiteltävissä tavallisilla piirtoohjelmilla. Amerikkalaiset merkit vaativat vähän enemmän virityksiä, kuten kuvasta ilmenee epäsuorasti.

Loogiset funktiot ja portit 16 1.7 Loogisten funktioiden minimointi Kun digitaalisia järjestelmiä toteutetaan rakentamalla laajempia kokonaisuuksia loogisista porteista, niin logiikan suunniteluun liittyy aina olennaisesti syntyvien loogisten funktioiden minimointi. Tämä on ollut erittäin tärkeätä varsinkin ennen ohjelmoitavien digitaalisten mikropiirien aikakautta, silloin kaikki digitaalitekniikka rakennettiin pienemmistä palasista, ja minimointi merkiksi selvää rahaa. Toki edelleenkin funktioiden minimointi on olennaista, vaikka nykyaikaiset digitaalipiirit sisältävät erittäin runsaasti resursseja. Loogisten funktioiden sieventämiseen eli minimointiin on aikanaan kehitetty useita menetelmiä, joiden avulla voitiin poistaa kaikki ylimääräiset reduntanttiset osafunktiot. Näistä menetelmistä mainittakoon: Quinn/McCluskey menetelmä Karnaugh kartta minimointi Teoreemaminimointi Aiemmin oli tarpeellista osata ainakin yksi menetelmä, koska merkittävä osa digitaalisuunnittelijan työstä oli nimenomaan logiikan minimointia. Tilanne on muuttunut varsin merkittävästi viime vuosikymmeninä, kun tieto ja tietokonetekniikka on tullut digitaalisuunnittelijan apuvälineeksi. Nykyisin digitaalitekniikka suunnitellaan kokonaan tietokoneympäristössä käyttämällä jotain kehitysjärjestelmää ja mahdollisesti korkean tason laitteiston kuvauskieltä HDL (Hardware Description Language). Nämä kehitysjärjestelmät sisältävät tehokkaat ohjelmistot logiikan minimoimiseksi. Toisin sanoen, enää ei pidetä välttämättömänä osata jotain minimointimenetelmää, vaikka ei sen osaamisesta ole haittaakaan. Digitaalitekniikan suunnittelu on muutenkin muuttunut viime aikoina. Nykyään suurin osa suunnittelusta toteutetaan piirikaavion sijasta kuvauskielimuotoisena, joka sallii korkean tason hierarkisen järjestelmäsuunnittelun tietyssä kehitysjärjestelmässä. Nämä kehitysympäristöt osaavat optimoida logiikkarakenteen, eikä siihen suunnittelijan juuri tarvitse paneutua. Logiikan minimointi on aina ollut rutiinin omaista työtä, jossa sovelletaan tiettyjä suunnittelusääntöjä. Näistä säännöistä on kehitetty vastaavat ohjelmistot, jotka minimoivat loogiset funktiot suunnittelijan puolesta. Suunnittelija voi täten keskittyä korkean tason kuvauskielimuotoiseen järjestelmän kehittelyyn. Yllä mainittujen seikkojen vuoksi tässä opetusmateriaalissa ei käsitellä erikseen logiikan minimointia.

Loogiset funktiot ja portit 17 1.8 Kolmitilalogiikka Loogisia funktioita tarkastellessa kiinnittyy huomio siihen, että kaikilla signaaleilla voi olla vain kaksi tilaa, looginen nolla ja ykkönen. Nollaa edustaa käytännössä 0 V:n jännite, eli maatason potentiaali, kun taas ykköstä edustaa yleisimmin + 5 V:n jännite maatasoa vastaan, tosin nykyisin käytetään tiheimmissä mikropiireissä pienempää jännitettä, esimerkiksi 3 V. Nämä kaksi tilaa ovat aktiivitiloja, eli lähtösignaalien impedanssi, joka on enimmäkseen resistanssia, on pieni, muutaman ohmin luokkaa. Tämä johtaa siihen, että: Aktiivisten piirien lähtösignaaleita ei saa koskaan kytkeä yhteen! Jos esimerkiksi kaksi lähtösignaalia kytketään yhteen, ja toinen antaa ulos ykköstä ja toinen nollaa, niin syntyy oikosulku piirien lähtöimpedanssin kautta nollan ja 5 V:n välille, mikä voi tuhota piirin. Digitaalitekniikassa, erityisesti tietokonetekniikassa, jossa käytetään paljon yhteisiä väyliä, tarvitaan erikoistekniikka, joka sallii useiden piirien kytkeytymisen kaikille yhteiseen väylään. Tällöin tarvitaan yksi ylimääräinen, kolmas tila, joka on passiivinen, mikä tarkoittaa sitä, että tässä tilassa piirin lähtösignaali on korkeaohminen, yleensä megaohmien luokkaa tai suurempi. Vaikka puhutaan kolmitilalogiikasta, niin silti on olemassa vain kaksi aktiivista tilaa, nolla ja ykkönen. Kolmas tila on passiivinen, eli siinä tilassa lähtösignaali on loogisesti irti siitä johtimesta, johon se on fyysisesti kytketty. Kolmitilalogiikan ansiosta voidaan useita lähtösignaaleja kytkeä yhteen yhteiselle väylälle, mutta: Ainoastaan yksi aktiivinen lähtösignaali voi kerrallaan syöttää yhteiseen johtimeen, muuta signaalit ovat passiivisessa, korkeohmisessa tilassa. Kolmitilalogiikka, josta käytetään englannin kielessä nimeä Tri State Logic, toteutetaan kolmitilapuskureiden avulla (Tri State Buffer), jota seuraava kuva esittää.

Loogiset funktiot ja portit 18 OE1 Tulosignaalit Kolmitilapuskuri Aktiivinen lähtösignaali Yhteinen väyläsignaali OE2 Tulosignaalit Kolmitilapuskuri Aktiivinen lähtösignaali Kuva 1.19. Kolmitilalogiikka Kuvassa on kaksi aktiivista loogista elintä, joihin tulee yksi tai useampi tulosignaali ja josta lähtee yksi aktiivinen lähtösignaali. Lähtösignaalit syöttävät kolmitilapuskuria, joiden lähtösignaalit on kytketty samaan yhteiseen väylään. Kolmitilapuskureita ohjataan signaalilla OE (Output Enable), jonka ollessa looginen ykkönen on puskuri aktiivitilassa päästäen läpi kuvan aktiivisen lähtösignaalin. Kun OE on nolla, niin puskuri on kiinni ja sen lähtösignaali korkeaohminen. Huomaa kuvasta, että vain yksi OE signaali voi kerrallaan olla ykkösessä.

Loogiset funktiot ja portit 19 1.9 Schmitt liipaisin Digitaalitekniikan tärkeisiin elementteihin kuuluu myös Schmitt liipaisin (Schmitt Trigger), jonka periaatteena on muodostaa hitaasti muuttuvasta jännitteestä jyrkkäreunaista pulssia seuraavan kuvan mukaisesti: Välys YK AK Kuva 1.20. Schmitt liipaisimen periaate Kuvassa vihreä signaali edustaa hitaasti muuttuvaa signaalia, joka vaihtelee yläkynnyksen YK ja alakynnyksen AK välillä. Kun tämä signaali ylittää yläkynnyksen, niin liipaisimen lähtösignaali, kuvassa punainen, vaihtaa tilansa, ja kun tulosignaali alittaa alakynnyksen, niin tila vaihtuu toiseen suuntaan. Kuvan mukainen Schmitt liipaisin on invertoivaa tyyppiä, jota nämä liipaisimet yleensä ovatkin. Seuraava kuva esittää liipaisimen amerikkalaista piirrosmerkkiä, yksi DIL14 piiri sisältää kuusi tällaista invertteriä. 176 * 74HC14 Kuva 1.21. Schmitt trigger inverter

2 KOMBINAATIOLOGIIKAN ELIMIÄ Kombinaatiologiikka on kollektiivinen termi, joka kuvaa digitaalisen järjestelmän ominaisuuksia. Kombinaatiologiikka rakentuu edellisen luvun mukaisista porteista, joita kytketään yhteen siten, että yhden portin lähtösignaali toimii yhden tai useamman portin tulosignaalina, ja kombinaatiologiikkaan tulee signaaleita ulkoa ja siitä lähtee signaaleita joko ulos tai rekisterilogiikalle. Kombinaatiologiikan ominaisuuksiin kuuluu: ei sisällä takaisinkytkentöjä ei sisällä muistavia eli rekisteröiviä elementtejä edellisestä johtuen tulosignaalin muutokset aiheuttavat välittömän vaikutuksen lähtöihin Kombinaatiologiikan vastakkainen suure on rekisterilogiikka, jonka ominaisuudet ovat kutakuinkin käänteisiä yllä oleviin verrattuna. Kombinaatiologiikka on siis suoraviivaista, eikä siinä ole rekisteröiviä elimiä takaisinkytkentöjen puutteesta. Kombinaatiologiikka sisältää lukuisia itsenäisiä elementtejä, joita käytetään sinällään, tai sitten kombinaatiologiikka syöttää signaaleita rekisterilogiikkaan, mikä on varsin yleinen rakenne sekvenssilogiikassa eli askeltavassa rekisterilogiikassa. On sellaisiakin rakenteita, joissa rekistereiden lähtösignaalit syötetään kombinaatiologiikalle jatkokäsittelyyn. Kombinaatiologiikan luonteeseen kuuluu se, että lähtösignaalit vaihtuvat välittömästi tulosignaalien muutoksen seurauksena, jos ovat vaihtuakseen. Tässä termi välitön tarkoittaa porttiviipeen pituista aikaa, joka on luokkaa satoja pikosekunteja lyhimmillään. Tämä välitön vaikutus altistaa kombinaatiologiikan hasardeille, eli siinä on mahdollista syntyä erittäin lyhyitä virhepulsseja, jotka johtuvat ajallisesti erimittaisten signaaliteiden yhteisvaikutuksesta. Rekisterilogiikalla eliminoidaan hasardit siten, että annetaan hasardien elää aikansa, ja sitten kun signaalit ovat asettuneet oikeisiin arvoihin, rekisteröidään nämä lopulliset tilat rekistereihin. Tässä luvussa tarkastellaan yleisimpiä kombinaatiologiikan elimiä, joita käytetään lähes kaikissa digitaalisissa järjestelmissä. Nämä elimet ovat kombinaatiologiikan kaikkein olennaisimpia rakenneosia.

Kombinaatiologiikan elimiä 21 2.1 Multiplekseri Multiplekserin tarkoituksena on valita yksi signaalilähde useammasta vaihtoehdosta ja kytkeä se eteenpäin lähtöjohdolle. Multiplekseriä käytetään yleensä aikajakoisissa vuorotteluperiaatteella toimivissa järjestelmissä, joissa yksi tulosignaali kerrallaan syötetään eteenpäin, kukin omalla vuorollaan. Multiplekserin periaatetta esittää seuraava kuva. a Totuustaulu b s2 s1 s0 x n 2 kpl c h 8 -> 1 MUX x 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 a b c d e f g h s2 s1 s0 n kpl Kuva 2.1. Multiplekseri Multiplekseri sisältää yleisesti n kappaletta valintasignaaleita, joilla valitaan yksi tulosignaali 2 n mahdollisesta. Esimerkiksi kuvan mukainen multiplekseri välittää yhden signaalin kahdeksasta aina kerrallaan lähtösignaaliin, joten tällainen rakenne vaatii kolme valintasignaalia, jotka kuvassa on nimetty s2 s0. Yllä olevan totuustaulun mukainen multiplekseri toteutetaan käytännössä seuraavan kuvan mukaisesti kahdeksalla AND portilla, yhdellä OR portilla sekä tarpeellisella määrällä inverttereitä, jotka kytketään tulosignaaleihin sopivasti.

Kombinaatiologiikan elimiä 22 a b c > 1 x h s2 s1 s0 Kuva 1.2. 8 => 1 multiplekseri Valintasignaaleilla s2 s0 avataan vain yksi AND portti kerrallaan, jolloin kyseisen portin tulosignaalin muutokset etenevät suoraan lähtösignaaliin x. Tällöin muiden AND porttien tulosignaali eivät pääse eteenpäin, koska vähintään yksi valintasignaali ollessaan nolla portin tulossa saa aikaan kyseisen portin kiinni olemisen. Huomaa, että lähdön OR portti on pakollinen, AND portin lähtösignaaleita ei saa kytkeä suoraan yhteen, koska kaikki AND portit ovat aktiivisia, eli niiden lähtöimpedanssi on pieni. Niiden lähdöistä muodostetaan yksi lähtösignaali OR porin kautta, mikä on tällaisessa tilanteessa normaali käytäntö. Lähtösignaalien kytkeminen yhteen aiheuttaisi samankaltaisen oikosulun kuin auton akun napojen kytkeminen yhteen!

Kombinaatiologiikan elimiä 23 2.2 Demultiplekseri Demultiplekseri on multiplekserin käänteinen elin, joka hajauttaa siihen tulevan yhden signaalin vuorotteluperiaatteella yhteen valinnaisista lähtösignaaleista. Demultiplekseriä käytetään yleensä aikajakoisissa tiedonsiirtojärjestelmissä yhdessä multiplekserin kanssa, mutta multiplekseri on silti enemmän käytetty, koska on olemassa lukuisia sovellutuksia, joissa tarvitaan pelkästään multiplekseriä. a Totuustaulu b s2 s1 s0 x x 1 -> 8 DEMUX c h n 2 kpl 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 a b c d e f g h s2 s1 s0 n kpl Kuva 2.3. Demultiplekseri Demultiplekseri sisältää, aivan kuten mulplekserikin, n kappaletta valintasignaaleita, joilla valitaan yksi tulosignaali 2 n mahdollisesta. Esimerkiksi kuvan mukainen demultiplekseri välittää yhden ainoan tulosignaalin aina kerrallaan yhteen kahdeksasta lähtösignaalista, joten tällainen rakenne vaatii kolme valintasignaalia, jotka kuvassa on nimetty s2 s0. Yllä olevan totuustaulun mukainen multiplekseri toteutetaan käytännössä seuraavan kuvan mukaisesti kahdeksalla AND portilla ja tarpeellisella määrällä inverttereitä, jotka kytketään tulosignaaleihin sopivasti. Huomaa, että OR porttia ei tarvita. Totuustaulu on täsmälleen sama kuin multiplekserillä.

Kombinaatiologiikan elimiä 24 x a b c h s2 s1 s0 Kuva 2.4. 1 => 8 demultiplekseri Valintasignaaleilla avataan kerrallaan yksi AND portti, jonka kautta yhteinen tulosignaali välitetään eteenpäin. Eli valittu lähtösignaali seuraa suoraan tulosignaalin muutoksia muiden lähtösignaalien ollessa koko ajan nollassa.

Kombinaatiologiikan elimiä 25 2.3 Binääridekooderi Binääridekooderi on kombinaatiologiikan elin, joka dekoodaa binäärikoodin yksittäisiksi signaaleiksi, toisin sanoen jokaista binäärikoodin arvoa kohti on yksi signaali. Tällaisen dekooderin rakenne on periaatteessa hyvin yksinkertainen ja suoraviivainen, mutta käytännön dekooderit ovat suuria kooltaan. Dekooderiin tulee n kappaletta tulosignaaleita ja siitä lähtee 2 n lähtösignaalia. Seuraava kuva esittää 3 => 8 dekooderia, eli yksi 8:sta dekooderia (1 out of 8), joka on kooltaan varsin pieni dekooderiksi. a b c Totuustaulu s 2 s 1 s 0 abcdefgh s2 s1 s0 h 000 001 010 011 100 101 110 111 10000000 01000000 00100000 00010000 0000 1000 00000 100 000000 10 0000000 1 Kuva 2.5. Binääridekooderi Suurimpia tällaisia dekoodereita käytetään muistipiireissä, muistipaikkojen rivi ja sarakedekoodereina, suurimmillaan ne ovat 14 => 16384 tyyppiä tällä hetkellä.

Kombinaatiologiikan elimiä 26 2.4 Mielivaltainen dekooderi Kun edellä esitetty binääridekooderi on rakenteeltaan hyvin säännöllinen ja suoraviivainen, on tämän ryhmän dekooderi sitten minkälainen tahansa. Toisin sanoen, dekooderin avulla voidaan binäärisignaaleista ottaa ulos mitä tahansa tulosignaaleiden kombinaatioita. Dekoodattuja signaaleita voidaan ottaa ulos paljon enemmän kuin täydellisestä binääridekooderista. Toisaalta, ulos voidaan ottaa vain vähän signaaleita, joskus vaikkapa pelkästään yksi, vaikka tulosignaaleita olisi runsaasti. Kun edellisen ryhmän dekooderi rakennettiin pelkästään AND porteista ja inverttereistä, niin tämän ryhmän dekooderi rakennetaan yleensä AND funktioiden ja OR funktioiden yhdistelminä siten, että muodostetaan 2. kertaluvun tulojen summafunktio SOP (Sum Of Produtcs) seuraavan periaatteen mukaisesti. AND - taso OR - taso >1 SOP Kuva 2.6. SOP funktio Mikä tahansa looginen funktio, oli se sitten kuinka mutkikas tahansa, on aina muokattavissa 2 kertaluvun tulojen summafunktioksi SOP, kuten kuvassa, tai summien tulofunktioksi POS (Product Of Sums), jossa signaalit syötetään ensin OR portteihin, ja yhdistellään sitten AND porteilla. Näistä tulojen summa on enemmän käytetty, ja se on yleensä ohjelmoitavien piirien rakenteena.

Kombinaatiologiikan elimiä 27 Esimerkki: Suunnittele vuorokausiajastin seuraavin spesifikaatioin: 5 bittinen tuntikello, askeltaa yhden askeleen tunnissa auton lämmityksen sähköt päällä klo 6.00 9.00 sauna lämmityksen sähköt päällä klo 18.00 21.00 yövalo kytkettynä klo 20.00 07.00 Seuraava kuva esittää vuorokausiajastimen aika-arvoja ja niistä eritellyt yllä mainittujen spesifikaation rajat. Oranssilla on rajattu yövalon ajat, punaisella saunan lämmitys ja vihreällä auton lämmitys. 0 1 2 3 4 5 6 7 8 9 10 11 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 12 13 14 15 16 17 18 19 20 21 22 23 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 10110 10111 Kuva 2.7. Vuorokausiajastimen aika-arvot Dekooderiin tulee viisi binäärisignaalia d 4 d 0, mutta siitä otetaan ulos vain kolme. Seuraavassa kuvassa esitetään tämän dekooderin toteutus kaksitasoisena tulojen summa funktiona. Se on tosin jo valmiiksi minimoitu, nimittäin alkuperäinen minimoimaton logiikka sisältäisi 17 kappaletta 5 input AND portteja, mutta minimoitu versio pelkästään 7 kappaletta enimmäkseen 3 ja 4 input AND portteja, ja vain yksi 5 input AND.

Kombinaatiologiikan elimiä 28 d 4 d 3 d 2 d 1 d 0 6 ja 7 >1 Auton lämmitys 8 18 ja 19 20 >1 Saunan lämmitys 20-23 >1 Yövalo 0-6 7 Kuva 2.8. Vuorokausiajastimen toteutus Kuvaan on merkitty kaikkien AND porttien yhteyteen ne aika-arvot, jolla kyseisen AND portin lähtösignaali on tosi, eli ykkönen. Yövalon yhteydessä käytetään aamuyön puolella sellaista logiikkaa, joka estää yövalon palamisen aika-arvolla 7.

Kombinaatiologiikan elimiä 29 Esimerkki 2: Toteuta seuraavan kuvan mukainen BCD => 7 segment dekooderi: a a BCD DCD => 7- segmet decoder b g e f d g c b cc Kuva 2.9. BCD => 7 segment dekooderi Tämä dekooderi muodostaa tulevasta 4 bittisestä BCD koodista seitsemän lähtösignaalia a g, joilla ohjataan numeronäytön LED diodeja eli segmenttejä. Käytännössä dekooderin ja itse numeronäytön väliin tulee vielä segmenttien driverit, jotka varsinaisesti syöttävät riittävästi virtaa diodeille. Itse dekooderia kuvaa seuraava totuustaulu: BCD a b c d e f g 0 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0 2 1 1 0 1 1 0 1 3 1 1 1 1 0 0 1 4 0 1 1 0 0 1 1 5 1 0 1 1 0 1 1 6 1 0 1 1 1 1 1 7 1 1 1 0 0 0 0 8 1 1 1 1 1 1 1 9 1 1 1 1 0 1 1 Taulukon sarakkeet esittävät kunkin segmentin tilaa eri BCD numeroilla. Dekooderi toteutetaan segmenteittäin. Koska nollia on segmenteissä vähemmän kuin ykkösiä lukuunottamatta segmenttiä e, niin kannattanee toteuttaa pääosin invertoidulla logiikalla, eli dekoodataan segmentit siten, että niillä ilmaistaan se, millä BDC numeroilla kukin segmentti ei pala, koska tämä tulee yksinkertaisemmaksi. Toteutetaan lisäksi segmentti e samalla tavalla yhtenäisyyden vuoksi.

Kombinaatiologiikan elimiä 30 Seuraavassa analysoidaan segmentti kerrallaan se, millä BDC arvoilla tietty segmentti ei pala, eli estetään kunkin segmentin ohjaus näillä arvoilla. Dekooderi voidaan toteuttaa myös positiivisella logiikalla, eli silloin ilmaistaan ne arvot, joilla tietty segmentti palaa. Segmentti a ei pala arvoilla 1 ja 4 Segmentti b ei pala arvoilla 5 ja 6 Segmentti c ei pala arvolla 2 Segmentti d ei pala arvoilla 1, 4 ja 7 Segmentti e ei pala arvoilla 1, 3, 4, 5, 7 ja 9 Segmentti f ei pala arvoilla 1, 2, 3 ja 7 Segmentti g ei pala arvoilla 0, 1 ja 7 Näillä periaatteilla toteutetaan dekooderi. Dekooderin toteutus esitetään seuraavalla sivulla. Se on rakenteeltaan kaksitasoinen tulojen summafunktio, vaikka tässä OR portti on korvattukin NOR portilla, jotta saavutetaan käänteinen toiminta. Kuvassa esitetään kaikki tarvittavat AND funktiot, joista sitten muodostetaan kullekin segmentille NOR funktio, joka määrittää, milloin kyseinen segmentti ei pala. Kaikilla muilla BCD arvoilla tietty segmentti sitten palaakin. Segmenttien ohjaussignaalit on väritetty punaisiksi erotukseksi numeroiduista takaisinkytkennöistä, jotka ovat mustia. Huomaa, että segmentin c muodostamisessa käytetään NOR porttia symmetrisyyden vuoksi, vaikka sitä ei välttämättä tarvitakaan. Kuvassa esitetään lisäksi numeroina ne BCD arvot, joilla tietty AND funktio on tosi, näitä käytetään hyväksi toisten segmenttien generoimisessa.

Kombinaatiologiikan elimiä 31 d 3 d 2 d 1 d 0 d 3 d 2 d 1 d 0 1 a >1 3 >1 4 5 b 1 4 5 7 >1 e >1 6 2 c 1 2 3 7 0 >1 f 1 4 >1 7 d 1 7 >1 g Kuva 2.10. BCD => 7 segment dekooderi Dekooderi kaikissa eri muodoissaan on eniten käytetty yksittäinen kombinaatiologiikan elin. Se on monikäyttöinen työkalu, jolla binäärikoodista saadaan mitä erilaisimpia signaaleita ja niiden kombinaatioita.

3 REKISTERILOGIIKAN PERUSTEET Rekisterilogiikka ja siihen perustuva sekvenssilogiikka käyttävät hyväkseen rekisteröiviä elimiä, kiikkuja, jotka on rakennettu kombinaatiologiikan porteista ja jotka sisältävät sisäisiä takaisinkytkentöjä. Juuri näiden sisäisten takaisinkytkentöjen avulla saavutetaan rekisteröivä eli muistava toiminta, jollaista kombinaatiologiikka yksistään ei pysty tarjoamaan. Rekisterilogiikan avulla voidaan estää hasardien eteneminen, nämähän syntyvät kombinaatiologiikassa signaalien kulkuteiden erimittaisten viipeiden yhteisvaikutuksena. Annetaan hasardien elää kaikessa rauhassa omaa erittäin lyhytaikaista elämäänsä, ja kun signaalin tila on vakiintunut, kellotetaan se rekisteriin muistiin. Kiikku on rekisterilogiikan perusrakenneosa. Kiikun nimi on englanniksi flipflop, ja se kuvaa kiikun toimintaa, sen lähtösignaali nimittäin vaihtuu tietyillä edellytyksillä loogisesta nollasta ykköseksi (flip) ja palaa tietyillä edellytyksillä takaisin nollaksi (flop). Kiikku sisältää kaksi vakaata tilaa, mistä johtuu sen toinen nimi bistabiili multivibraattori eli kaksivakaa värähtelijä. Rekisterilogiikka on yleisnimitys sellaiselle rakenteelle, joka toteutetaan kiikuista, sekvenssilogiikka on sitä vastoin rekisterilogiikkaan perustuva alalaji, askeltava järjestelmä, joka toimii tilakoneen kaltaisesti, askeltaen tilasta toiseen ennalta määrätyn sekvenssin ja ohjausten mukaisesti. Tällaisen tilakoneen seuraava tila määräytyy nykyisen tilan ja ulkoisten tai sisäisten ohjaussignaalien perusteella. Tässä luvussa esitetään rekisterilogiikan kiikkujen rakenteet sekä niiden perustoiminnat alkaen yksinkertaisimmasta mahdollisesta kiikusta, RS kiikusta päätyen digitaalitekniikan kaikkein merkittävimpiin, eli D ja T kiikkuihin. Tässä yhteydessä esitetään looginen rakenne, totuustaulu sekä toimintaa kuvaavat signaalikaaviot.

Rekisterilogiikan perusteet 33 3.1 RS kiikku RS kiikku (Reset/Set) on yksinkertaisin mahdollinen kiikkutyyppi. Se voidaan toteuttaa usealla tavalla. Seuraava kuva esittää NAND porteilla toteutettua kiikkua, johon tuodaan kaksi nolla-aktiivista (active low) tulosignaalia: S (Set) ja R (Reset), ja josta lähtee ulos komplementääriset (vastavaiheiset) lähtösignaalit Q ja Q. Alleviivaus tulosignaaleissa tarkoittaa nolla-aktiivisuutta. Lähtösignaalit ovat siis vastakkaisia. Kun Q = 1, niin Q = 0 ja päinvastoin. Kiikun toiminnan yhteydessä puhutaan primäärisesti lähtösignaalista Q, RS kiikun yhteydessä tämä tarkoittaa sitä, että tulosignaali S asettaa lähtösignaalin Q (Set) ja tulosignaali R vastaavasti nollaa sen (Reset). Invertoitu lähtösignaali Q toimii siis päinvastoin. S Q R Q Kuva 3.1. RS kiikun rakenne Kiikku toimii seuraavasti: Oletetaan, että Q = 0 ja Q = 1 sekä tulosignaalit ovat kumpikin ykkösessä (inaktiivisia). Tämä on RS - kiikun lähtötilanne. Asetetaan S => 0, eli se aktivoituu. Tällöin ylemmän portin tulosignaalit ovat 0 ja 1, jolloin niiden NAND - tulo nousee ykköseksi, eli Q => 1. Tämän seurauksena alemman portin tulosignaalit ovat kumpikin ykkösiä, jolloin niiden NAND - tulo vaihtuu nollaksi, eli Q => 0. Tällöin ylemmän NAND - portin tulosignaalit ovat nyt kumpikin nollia, ja sen lähtö pysyy edelleen ykkösenä. Nyt kiikku on asettunut.

Rekisterilogiikan perusteet 34 Asetetaan takaisin S => 1, eli inaktiiviseksi. Ylemmän NAND - portin tulosignaalit ovat 1 ja 0, joten sen lähtö säilyy edelleen ykkösenä. Jos nyt S- tulosignaali värähtelee nollan ja ykkösen välillä, ei sillä ole vaikutusta, lähtösignaali Q pysyy edelleen ykkösenä, kun se kerran on siihen asettunut. Kun S = 1, niin asetetaan R => 0. Tällöin alempi portti muuttaa tilansa Q => 1, jonka seurauksena taas Q => 0. Eli kiikku on palannut takaisin lähtötilanteeseen. Jos nyt signaali R värähtelee, ei sillä ole vaikutusta kiikun asentoon. Nämä kaikki tilat ovat stabiileja, eli tietty tila pysyy niin kauan päällä kun se vastakkaisella tulosignaalilla vaihdetaan toiseksi. Huomattakoon, että RS kiikulle on ominaista se, että kumpikin tulosignaali ei saa olla aktiivinen samanaikaisesti, eli tila, jossa S = 0 ja R = 0, on kielletty tila. Tarkastellaan lähemmin, mitä vaikutusta tällä on: Kun kumpikin tulosignaali on 0, niin kumpikin lähtösignaali on ykkösessä. Tästä ei sinänsä ole haittaa. Kun kumpikin tulosignaali palaa yhtäaikaisesti ykköseksi, niin sillä hetkellä kummankin NAND portin lähtösignaalit ovat ykkösiä ja ne vaihtavat tilansa nollaksi porttiviipeen jälkeen. Nyt kummankin portin tulosignaalit ovat 0 ja 1, jolloin ne vaihtavat tilansa takaisin ykköseksi. Nyt taas porttien tulot ovat ykkösiä, jolloin porttiviipeen jälkeen lähdöt vaihtuvat takaisin nollaksi. Ja tämä tapahtumasarja toistuu siten, että kiikku toimii nyt värähtelevänä pulssioskillaattorina! Toisin sanoen, portit joutuvat ns. kilpatilanteeseen, joka on ominaista logiikkapiireille tietyissä kielletyissä olosuhteissa. Sellaista tilannetta on pyrittävä välttämään kaikin keinoin. Tässä kilpatilanteessa värähtely jatkuu, jos kummankin portin viipeet ovat täsmälleen samanpituisia. Käytännössä kummankin portin viive on hieman eripituinen, jolloin värähtely kuolee, ja kiikku palaa jompaankumpaan stabiiliin tilaan. Värähtelytaipumus ei kuulu oikeaoppiseen digitaalitekniikkaan, ja sen takia RS kiikun kummankin tulojen samanaikainen aktiivitila kielletään. RS kiikusta on edelleen kehitetty JK kiikku, jossa sallitaan samanaikaiset tulosignaalien aktiivitilat, mutta JK kiikulla on kokonaan toinen käyttötarkoitus. Edellä on kuvattu RS kiikun toiminta, jonka tulosignaalit ovat nolla-aktiivisia (Active Low). Vastaava ykkösaktiivinen RS kiikku (Active High) toteutetaan NAND porteista seuraavasti:

Rekisterilogiikan perusteet 35 S Q R Q Kuva 3.2. RS kiikku ykkösaktiivisin tuloin Eli tässä kytkennässä on lisätty invertterit tulosignaaleihin NAND porttien tuloihin. Muuten toiminta samanlainen, kuin kuvan 1. kytkennässä, tulosignaalien polariteetit ovat vain päinvastaisia. Tämä näkyy kuvassa 2. siinä että tulosignaaleista on poistettu alleviivaus nollaaktiivisuuden merkkinä. Seuraava kuva esittää ykkösaktiivisilla RS tuloilla varustettua kiikkua, joka on toteutettu NOR logiikalla: S >1 Q R >1 Q Kuva 3.3. RS kiikku NOR logiikalla.

Rekisterilogiikan perusteet 36 Huomaa, että kiikun varsinainen lähtösignaali Q on nyt alemman NAND - portin lähtösignaali. Seuraava signaalikaavio esittää ykkösaktiivisen RS - kiikun toimintaa. S R Q Kuva 3.4. RS - kiikun signaalikaavio Kaikki edellä kuvatut RS - kiikut ovat toiminnaltaan asynkronisia, eli niiden tilanvaihdot eivät ole sidottu mihinkään kellosignaaliin, joten lähtösignaalit muuttuvat välittömästi, asynkronisesti tulosignaalien muutosten seurauksena, jos ovat muuttuakseen. Asynkroninen RS - kiikku voidaan muuttaa synkroniseksi hyvin yksinkertaisella logiikan lisäämisellä, kuten seuraava kuva esittää. S Q C R Q Kuva 3.5. Synkroninen RS - kiikku

Rekisterilogiikan perusteet 37 Kiikku koostuu kahdesta osasta: kiikkuosa, jälkimmäiset ristikkäin takaisin kytketyt NAND portit kello-osa (komento-osa), etummaiset portit, johon tulosignaalit syötetään Kellosignaali C (Clock) toimii RS toiminnan synkronoijana, ja se on ykkösaktiivinen. Toisin sanoen, S ja R tulosignaalit vasta valmistelevat Set/Reset toiminnan, mutta kellosignaali C komentaa varsinaisesti tapahtuman käyntiin. Seuraavassa signaalikaavio: C S R Q Kuva 3.6. Synkronisen RS kiikun signaalikaavio. Huomattakoon, että kuvan 5. mukainen kellotettu kiikkurakenne on luonteeltaan staattisesti kellotettu. Tämä tarkoittaa sitä, että kellopulssi on aktiivinen koko sen ajan, jolloin se yllä olevassa kaaviossa on ykkösessä. Jos yllä olevassa kaaviossa kellon ollessa aktiivinen tänä aikana tulee ohjauspulssi, niin se saa aikaan välittömän vaikutuksen. Tämä on staattisen kellotuksen yleinen ominaisuus. Edellä olevaan piiriin voidaan lisätä myös kaksi lisäsignaalia, jotka eivät ole sidoksissa kellosignaalin aktiivisuuteen, vaan aiheuttavat välittömästi tavoitellun muutoksen. Tällaiset signaalit ovat kiikun pakkotuloja ja ne ovat vaikutukseltaan kaikkein voimakkaimpia. Seuraavassa kuvassa nämä signaalit esiintyvät nimillä Preset ja Clear, ja kytketään rakenteen kiikkuosaan.

Rekisterilogiikan perusteet 38 Preset S >1 Q C R >1 Q Clear Kuva 3.7. Asynkroniset pakkotulot Rakenteessa käytetään NOR potteja kiikkuosassa, jotta kokonaisuus pysyisi kaksitasoisena porttirakenteena, Tällöin komento-osa toteutetaan AND porteilla oikean polariteetin saavuttamiseksi. On huomattava, että pakkotulot eivät voi olla aktiivisia yhtä aikaa, sillä ne saavat aikaan värähtelytaipumuksen. Preset signaali asettaa siis lähtösignaalin Q ykköseksi ja Clear signaali nollaa sen. Kun S ja R ovat vaikutukseltaan kelloon sidottuja synkronisia valmistelutuloja, niin Preset ja Clear ovat kellosta riippumattomia pakkotuloja.

Rekisterilogiikan perusteet 39 3.2 D Latch Latch (säppi tai salpa) on staattisella kellolla varustettu transparentti (läpinäkyvä) lukkopiiri. Suomen kielistä sanaa pitäisi yleensä käyttää, mutta alan ihmiset ovat aina tottuneet puhumaan latchista salvan sijasta, joten tässä yhteydessä käytetään sitä. Latch muodostuu edellä olevasta kellotetusta RS kiikusta siten, että yhdistetään S ja R tulot invertterin avulla seuraavan kuvan mukaisesti: D Q LE Q Kuva 3.8. Transparentti eli läpinäkyvä latch Siinä signaali D (Data) toimii valmistelutulona eli se valmistelee rekisteröintitoiminnon, ja signaali LE (Latch Enable) staattisena komentotulona, eli se komentaa rekisteröintitapahtuman käyntiin. Kun LE = 1, on kello aktiivinen, ja lähtösignaali seuraa tulosignaalin tilan muutoksia, mistä nimitys läpinäkyvä aiheutuu. Kun kellosignaali palaa takaisin nollaksi, niin D signaalin tila lukittuu kiikkuun pysyvästi, eikä D signaali tällöin vaikuta kiikun tilaan. Yllä oli puhetta staattisesta kellotuksesta. Termi tarkoittaa sitä, että piiri on aktiivinen koko kellosignaalin toiminta-ajan, ja jos tulosignaalissa tapahtuu muutoksia kellosignaalin ollessa aktiivinen, niin nämä muutokset näkyvät välittömästi lähtösignaalissa. Vastakkainen vaihtoehto olisi dynaaminen reunakellotus, mutta silloin ei ole kysymyksessä enää latch. Seuraava signaalikaavio osoittaa tarkoitushakuisesti latchin läpinäkyvyyden, vaikkakaan sitä ei käytetä kuvan mukaisissa signaalisovellutuksissa. Huomioi, miten lähtösignaali seuraa tulosignaalin D tilan muutoksia aktiivisen kellosignaali aikana.

Rekisterilogiikan perusteet 40 D LE Q Kuva 3.9. Latch:n signaalikaavio Yllä oleva signaalikaavio on tarkoitettu ainoastaan viitteelliseksi. Tällaisissa signaaliolosuhteissa sitä ei käytetä. Läpinäkyvä Latch saadaan käyttäytymään lähes reunaliipaisevan rekisterin kaltaisesti, kun kellosignaalista tehdään mahdollisimman ohut, eli lyhytkestoinen suhteessa kellotaajuuteen. Transparenttia Latchia käytetään muun muassa tietokonejärjestelmien multipleksatuissa osoite/dataväyläjärjestelmissä rinnakkaismuotoisena osoitelukkopiirinä osoitteen lukitsemiseen väliaikaisesti, jotta yhteinen väylä voidaan vapauttaa datan käyttöön. Latchia voidaan käyttää yleensä kaikissa rekisteröintitoiminnoissa, joissa ei välttämättä tarvita täsmällistä reunakellotusta. Toki yllä mainittu multipleksattu osoite/dataväyläjärjestelmä voidaan toteuttaa myös reunaliipaisevalla D kiikulla, jota seuraava kohta käsittelee.

Rekisterilogiikan perusteet 41 3.3 D kiikku (Data) Kaikkein yleisin kiikkutyyppi on varsinainen D kiikku, joka on varustettu dynaamisella kellolla, eli kiikun toiminta tapahtuu kellopulssin reunalla. Tällainen menettely on tarkempaa ja täsmällisempää, kuin staattisella kellotuksella, jossa kellosignaali on aktiivinen pitkähkön aikaa. D kiikku rakennetaan RS kiikusta lisäämällä sen kiikkuosaan reunakellotuksella toimivan komento-osa, joka on mutkikkaampi, kuin yllä olevien staattisella kellolla varustettujen kiikkujen komento-osa. Tämä edellyttää sisäistä takaisinkytkentää komento-osassa, sillä eliminoidaan reunaliipaisun jälkeiset signaalimuutokset. Seuraavassa kuvassa tämä takaisinkytkentä lähtee pisteestä z. w C z Q x y Q D x Kuva 3.10. D kiikku dynaamisella kellotuksella. Seuraavassa analysoidaan tämän kiikun toiminta vaiheittain, analysointia varten kuvaan on piirretty apupisteet x, y, z ja w. Oletetaan aluksi, että syötetään kiikun valmistelutuloon ensin D = 1 ja annetaan kellopulssi, sitten D = 0. Oletetaan lisäksi, että D kiikun alkutilanne on seuraava:

Rekisterilogiikan perusteet 42 D = 0 C = 0 Q = 0 Q = 1 x, y, z = 1 w = 0 Vaihe 1: 1-datan kellotus ja rekisteröinti Signaali D => 1. Koska signaali y = 1, niin signaali x menee nollaksi. Tämä aiheuttaa signaalin w nousemisen ykköseksi, mutta tämä ei muuta signaalin z asentoa vielä mihinkään, koska C = 0. Tämä on itse asiassa valmisteluoperaatio kiikun tilan muuttamiseksi. Kellosignaali C => 1. Nyt z vaihtaa asentoaan => 0, jolloin kiikkuosa vaihtaa tilansa, eli D = 1 rekisteröityy kiikun Q tilaksi. Signaali y pysyy edelleen ykkösenä, koska x ja z ovat kumpikin nollia. Jos nyt datasignaali D muuttuu => 0, niin sen seurauksena x => 1 ja mutta w pysyy edelleen ykkösessä. Jos D nyt värähtelee, niin se vaikuttaa ainoastaan signaaliin x, muut säilyvät ennallaan. Koska C = 1, niin z = 0 ja sen seurauksena y = 0. Eli niin kauan kun C pysyy ykkösenä, kiikkuosaan kohdistuu Set - operaatio. Kun kellosignaali C => 0, niin z => 1 ja kiikun Set - operaatio päättyy. Nyt on C:n vuoro pitää signaali y = 1. Nyt D:n värähtely vaikuttaa ainoastaan signaaliin w signaalin x välityksellä. Riippumatta kiikun nykyisestä tilasta, siihen kohdistuva Set operaatio asettaa Q => 1; jos kiikun aiempi tila oli 1, niin operaatio vain jatkaa kiikun 1-tilaa. Vaihe 2: 0-datan kellotus ja rekisteröinti Kun alkutilanteessa signaali D = 0, niin x, y ja z ovat alkutilanteessa = 1 sekä w = 0. Kun kellopulssi C => 1, niin sillä ei ole vaikutusta z signaaliin, joka on edelleen z = 1, koska w = 0. Sen sijaan, koska x = 1, z = 1 ja C = 1, niin signaali y => 0, mikä saa aikaan Reset operaation kiikkuosassa. Tällöin Q => 0, mikäli sen edeltävä tila oli ykkönen, muuten se pysyy nollassa.

Rekisterilogiikan perusteet 43 Jos nyt D tulo värähtelee, niin x pysyy ykkösessä, koska y = 0, eikä värähtelyn vaikutus pääse edes signaaliin x asti. Reset operaatio on voimassa niin kauan, kuin kellosignaali on ykkösessä. Sen jälkeen kiikku on taas alkutilanteessa. Pakkotulot D kiikkuun voidaan toteuttaa edellisen kytkennän johdannaisena seuraavan kuvan mukaisesti lisäämällä komento-osan ja kiikkuosaan NOR portit, joiden kautta pakkoohjaussignaalit syötetään. Signaali S on pakkoasetus Set ja R pakkonollaus Reset. S C >1 Q >1 Q D R Kuva 3.11. D kiikku ja pakkotulot Tätä vieläkin parempi tapa on toteuttaa kiikkuosa kokonaan NOR rakenteella, jolloin voidaan yhdistää pakkonollaussignaalit varsinaiseen kiikkuosaan, kuten seuraavassa kuvassa on toteutettu. Tällä toteutuksella on se etu, että kiikun porttitasojen määrä pysyy pienempänä, mikä taas vaikuttaa edullisesti kiikun sisäiseen nopeuteen. Rakenteellisesti tämäkin on RS kiikun johdannainen, sen toiminta perustuu kiikkuosan RS toimintaan, kuten kaikki aiemmin esitetyt kiikut.

Rekisterilogiikan perusteet 44 S C >1 Q >1 Q D R Kuva 3.12. D kiikku ja pakkotulot (NOR) Seuraavassa tyypillinen D kiikun rakennepiirustus, tosin ei aivan standardin mukainen, mutta yleisimmin käytetty. Kuva ilmaisee lisäksi standardin mukaisen dynaamisen kellosignaalin piirtämistavan. D AP Q AR nousevan reunan kellotus laskevan reunan kellotus Kuva 3.13. D kiikku ja dynaaminen kellotus

Rekisterilogiikan perusteet 45 Kuvan kiikku on piirretty ilman komplementäärilähtöä, vaikka sellainen aina on olemassa. Kiikun signaalit ovat: D : valmistelutulo (Data) -> : komentotulo AP : asynchronous Preset - pakkotulo AR : asynchronous Reset - pakkotulo D kiikku rekisteröi (tallettaa) tulevan D datan jokaisen kellopulssin reunalla. Seuraava kuva esittää nousevalla reunalla kellottavan D kiikun signaalikaaviota, kun D tuloon syötetään signaalin D mukaista sakara-aaltoa ja jota kellotetaan signaalilla C. Kuvaan on merkitty kellotushetket pystyviivoin. D C Q Kuva 3.14. D - kiikun signalointikaavio Kaiken kaikkiaan, D kiikku on nykyään kaikkein eniten käytetty kiikku. Käyttäjän ohjelmoitavat logiikkapiirit sisältävät yleensä pelkästään D kiikkuja, tosin monissa piireissä voidaan D kiikut tarvittaessa konvertoida T kiikuiksi XOR portin avulla laskureiden rakentamiseksi. Koska D kiikun tarkoitus on perimmältään rekisteröidä tietoa (dataa), kaikki tiedonsiirtoja tiedontallennusjärjestelmät perustuvat erittäin pitkälti D kiikkuun.

Rekisterilogiikan perusteet 46 3.4 T kiikku (Toggle) T kiikku on erittäin paljon käytetty rekisteröintielin sellaisissa sovellutuksissa, joissa tarvitaan paljon signaalien tilan vaihdoksia, ja toimintansa vuoksi kiikku onkin nimetty toggle:ksi, joka tarkoittaa tilan vaihtoa. Tällaisia järjestelmiä ovat esimerkiksi binäärilaskurit ja niiden johdannaiset sekä tilakoneet. T kiikkua ei ole koskaan voinut hankkia itsenäisenä erillisenä, diskreettinä komponenttina, ei digitaalitekniikan alkuaikoinakaan, vaan se täytyi muodostaa muista kiikuista sopivasti kytkemällä. T kiikku on synkroninen, dynaamisella kellotulolla varustettu elin, joka vaihtaa tilansa jokaisella kellopulssilla, jos valmistelutulo T on aktiivinen, muussa tapauksessa tila ei vaihdu. Tämä on T kiikun olemus lyhyesti kiteytettynä. T kiikku muodostetaan D kiikusta seuraavalla tavalla. Kytketään XOR portin lähtösignaali D kiikun valmistelutuloon, ja syötetään XOR porttiin D kiikun lähtösignaali sekä valmistelutulo T seuraavan kuvan mukaisesti. T =1 D Q Q C Kuva 3.15. T kiikku D kiikuta XOR portin lähtösignaali on ykkönen vain silloin, kun molemmat tulot ovat erimerkkisiä, ja nolla, jos tulot ovat samoja. Jos T tulo on pysyvästi ykkönen, niin D tulossa oleva signaali on jatkuvasti lähtösignaalin Q invertoitu arvo. Siten D kiikku vaihtaa tilansa jokaisella kellopulssilla. Jos taas T tulo on pysyvästi nolla, niin D tulossa oleva signaalin arvo on aina sama kuin kiikun lähtösignaali, joten tilanvaihtoa ei tapahdu. T kiikkua käytetäänkin siten, että T valmistelutulon avulla ohjataan hallitusti kiikun tilan vaihtoja. Seuraavassa kuvassa on signaalikaavio.