Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Digitaalitekniikka osa 2 Sekvenssilogiikka

Samankaltaiset esitykset


Esitys aiheesta: "Digitaalitekniikka osa 2 Sekvenssilogiikka"— Esityksen transkriptio:

1 Digitaalitekniikka osa 2 Sekvenssilogiikka
T686SA 2008 syksy Kurssi pohjautuu kirjaan Digitaalitekniikka, Haltsonen et al. Edita 2004

2 Sekvenssilogiikka Sekvenssilogiikka on piiri, jossa ulostulo riippuu myös edellisestä ulostulosta, ei vain sisäänmenoista Sekvenssilogiikka voi olla asynkroonista tai synkroonista Asynkrooninen toimii kuten kombinaatiologiikka-kin, eli kun sisäänmeno muuttuu, ulostulo muuttuu huomioiden edellisen ulostulon Synkroonin toiminta tarkoittaa, että kaikki piirin toiminta ajoitetaan yhtäaikaiseksi ulkoisella kello-signaalilla. Kello voi olla mikä tahansa pulssi.

3 Sekvenssilogiikan yleinen muoto
Ulkoiset tulot Ulkoiset lähdöt A Z Kombinaatiologiikka y Takaisinkytkentä Y Muisti Sisäiset tulot (Nykytilan muuttujat) Sisäiset lähdöt (Seuraavan tilan muuttujat) Kello

4 Yksinkertaiset sekvenssilogiik-kapiirit ja takaisinkytkentä
Yksinkertaisessa piirissä muisti voi olla pelkkä johdin (muista piirin viive) Nyt tulee tarkastella sekä sisäänmenoja että ulostuloja, kuinka ne vaikuttavat kombinaatioon Input race eli sisäänmenon kilpailu tapahtuu Analysoinnissa KATKAISE takaisinkytkentä ja käytä sisäisiä tuloja kuten ulkoisiakin Tee kaksi K-karttaa: tilataulu ja lähtötaulu Vain ne tilat, jossa langan molemmat päät ovat samassa tilassa ovat vakaita tiloja (stable state)

5 Yksinkertaiset sekvenssilogiik-kapiirit ja takaisinkytkentä
Z Y y Katkaise takaisinkytkentä Vakaa JOS Y == y Tämä piiri on vakaa, jos A == 0, jos A vaihdetaan tilaan 1, sisäinen ja ulkoinen lähtö y ja Y ovat aina eri, jolloin piiri ei ole vakaa, vaan se oskilloi kunnes A on palautettu nollaan.

6 Siirtymät tilojen välillä
Perustoimintamuoto: Vain yksi sisäänmeno vaihtaa kerralla tilaansa! Ulkoiset muuttujat ylös Katkaise takaisinkytkentä Sisäiset muuttujat pystyyn Nyt havaitaan, jos A tai B =1, on systeemi vakaa ja ulostulo Z =Y=y=1. Takaisinkykennällä ei ole vaikutusta. MUTTA jos molemmat A ja B ovat nollia, meillä on kaksi vakaata tilaa. Nyt Z:n tila riippuu edellisestä tilasta, tilasta ennenkuin molemmat A ja B asetettiin nollaksi.

7 Analyysimenetelmä Katkaise takaisinkytkentäsilmukka
Laadi tilataulu seuraavan tilan muuttujille ja lähtötaulu ulostulomuuttujille. (transition table, K-map) Ulkoiset muuttujat yläriville ja sisäiset muuttujat pystysarakkeeseen Määrittele vakaat tilat (Y=y) Piirrä virtauskaavio ja tilakaavio

8 Esimerkki y Transition table Tilataulu Karnaugh map Lähtötaulu
Flow table Virtaus-, tilanvaihtokaavio

9 Kuinka piiri toimii Jos A = B = 1 ja y = 0 niin Y = 0 ja systeemi on vakaa, tilassa numero 3 Jos B muutetaan tästä 0:ksi, piiri siirtyy vaakasuoraan oikealle tilaan AB’y’ Tämä on epävakaa tila ja piiri siirtyy pystysuo-raan tilaan AB’y, vakaaseen tilaan numero 5 Jos B muutetaan takaisin ykköseksi, piiri siirtyy vaakasuoraan vasempaan tilaan ABy, tila 4, ei takaisin tilaan 3 Ulostulon K- kartasta näemme, että ulostulo on myös eri (tila 3 = 0 ja tila 4 = 1)

10 Tilakaavio eli State diagram
Z = 0 0 1 4 2 Z = 1 1 0 1 1 0 0 0 1 1 1 0 0 1 AB = 1 1 5 3 0 0 10

11 Kiikut ja salvat eli Flip-Flops and Latches
Analysoi kuinka S-R salpa toimii! Miksi SR= 11 on Not used eli kielletty? Q’ Alkuperäinen piiri Uudelleen piirretty, vain yksi takaisinkytkentä

12 S-R-salpa Ulostulo Q(t+1) tarkoittaa kellopulssin jälkeistä tilaa tai yleisesti vain seuraavaa tilaa. Q(t) on hetkeä aikaisempi tila. S-R –salpaa käytetään kytkinvärähtelyiden eliminointiin S R Q 1 Q(t +1) Q(t ) X

13 D-salpa ja D-kiikku Ulostulon hallinta tapahtuu C –tulon avulla.
Kun C = 1 sisäänmeno siirtyy ulostuloon (C=control) D-kiikussa kello tulee C:n paikalle (C = clock) --> tarkoittaa kellopulssin nousevalla reunalla tapahtuvaa muutosta, D tulee sanasta Delay (tai data). C 1 D X 1 Q(t +1) Q(t ) 1 1D D C Q C1 1D D CLK Q C1 D 1 Q(t +1)

14 Kiikkupiirit D-, T- ja JK -kiikut esitellään
Useat toiminnot voidaan toteuttaa sekä D että JK –kiikuilla, (T-kiikkua ei voi ostaa) Kellosignaalin nousevalla tai laskevalla reunalla tapahtuvat muutokset ulostuloissa Nousevalla reunalla Laskevalla reunalla

15 T-Kiikku T kuten Toggle, eli jokaisella kellopulsilla ulostulo vaihtaa tilaa. Käytetään laskureissa 1T T CLK Q C1 T 1 Q(t +1) Q(t) T CLK Q

16 JK-Kiikku Monipuolisin kiikkupiiri, myös D ja T-toiminta K 1 Q(t +1)
1 Q(t +1) Q(t) J 1J J CLK Q C1 1K K 1J C1 1K T K CLK Q J 1J C1 1K 1 D CLK

17 JK-Kiikku JK –kiikun täydellinen totuustaulu S 1 R 1 CLK X  J X 1 K X
1 R 1 CLK X J X 1 K X 1 Q(t +1) X 1 Q(t) 1J J CLK Q C1 1K K S R Asynkroninen = välitön Synkroninen = kellon tahdistama

18 D-Kiikku eri kiikuista
D–kiikun täydellinen totuustaulu D-kiikun saa myös SR- tai JK -kiikusta J K

19 J K ja D–kiikun Toggle moodi
CLK C1 1J CLK C1 Q 1 1K 1T CLK C1 Q 1

20 Laskurit Voivat olla asynkroonisia tai synkroonisia
Tarvitsemme yhtä monta kiikkua kuin laskuriin halutaan bittejä Sekä JK- että D -kiikkuja voidaan käyttää Asynkroonisissa laskureissa JK- tai D- kiikun Toggle moodia käytetään Kombinaatiologiikkaa käytetään säätämään laskurin toimintaa

21 Kellosignaalin generaattori
Diodin D1 lisäyksellä saadaan ulostulon pulssisuhde säädettyä alle 50%, valitsemalla R1 < R2.

22 Perusbinäärilaskurit (4 ja 8)

23 Perusbinäärilaskurit (16)
Toteutus nyt D-kiikuilla 1D CLK C1 Q0 Q1 Q2 Q3

24 Viiveet asynkroonisessa laskurissa

25 Asynkrooninen kymmenlaskuri
Lisätään ulkonen NAND portti, joka nollaa laskurin kun luku 10 on laskettu. Vastaavasti voidaan laatia myös muita laskusekvenssejä, esim. 2…6

26 Synkrooninen 16-laskuri
Huomaa kellosignaalin reitti! Kaikille piireille kello samanaikaisesti. JK’t ovat nyt joko Toggling tai HOLD tilassa Ajoituskaaviosta nähdään AND porttien paikat.

27 Synkrooninen kymmenlaskuri

28 Ylös/alas -laskuri Sekvenssi on 0,1,2,3,4,5,6,7,6,5,4,3,2,1,0….
Miten nämä piirit saadaan suunniteltua?

29 Yleinen sekvenssilogiigan suunnittelu, laskurit
Laadi tilataulukko piirin kaikista mahdolli-sista tiloista, ulostuloista Rakenna siirtotaulu Käytä valmistelutulojen totuustauluja, transistion tables (D tai JK) Rakenna K-kartat kullekin valmistelutulolle Kerää loogiset termit kunkin kiikun sisään-menoille Piirrä laskurikytkentä

30 Kiikkujen valmistelutulot, FlipFlops Transition Tables
Katso kiikun toimintakaaviosta ja muuta ne muotoon, jossa ulostulo on kellopulssia edeltävä sisäänmeno. Katso toimintataulusta, milloin tämä toteutuu.

31 Esimerkki, Gray koodi -laskuri
Tämä esimerkki toteutetaan JK -kiikuilla. Tee itse sama D-kiikuilla!! Tilakaavio

32 Gray koodi -laskuri, vaiheet 2, 3 ja 4

33 Karnaugh kartat eri kiikkujen sisäänmenoille

34 UP/Down Gray code counter

35 UP/Down Gray code counter

36 UP/Down Gray code counter

37 Piirissä esiintymättömät tilat
Jos piirin tilojen kuvaamiseen tarvitaan kolmea bittiä, mutta vain viisi tilaa esiintyy normaalissa toiminnassa. Muut tilat ovat ns. Don’t care tiloja ja ne tulee ohjata johonkin haluttuun tilaan 001 000 010 011 100 111 101 110 001 000 010 011 100 111 101 110

38 Piirissä esiintymättömät tilat
X 1 A B JA C JB JC KA KB KC 001 000 010 011 100 111 101 110 001 000 010 011 100 111 101 110

39 Piirissä esiintymättömät tilat
X 1 A B JA C JB JC KA KB KC 001 000 010 011 100 111 101 110 001 000 010 011 100 111 101 110

40 Riippuvuusmerkintä Yleinen kontrollilohko
74HC163 4-bit synkrooninen laskuri Mode Dependency M AND Dependency G Control Dependency C Control Dependency (C), yleensä sallii tai estää data tulot. C tarkoittaa kellotuloa ja numero sen perässä on nimi. Nyt 5CT=0 clr tulossa tarkoittaa, että nollaus on synkrooninen toiminta. Mode Dependency kertoo, että on kaksi toimintamoodia. M1 ja 1,5 D kertovat, että kun Load on alhaalla D tulot ladataan kiikuihin. Kun Load on ylhäällä laskuri laskee eteenpäin (M2 ja C5/2,3,4+). And Dependency (G) mikä tahansa tulon ja vastaavalla numerolla merkityn pinnin välillä on AND riippuvuus. Nyt G3 ja 3CT = 15 RCO ovat liittetty yhteen. Eli toiminta on: ENT pitää olla ylhäällä ja count = 15 ennenkuin RCO antaa signaalin.

41 Saatavilla olevat komponentit
Piirit, jotka tässä esitellään ovat toiminnaltaan ja pinnijärjestykseltään samoja kuin saman toiminnan piirit eri TTL ja CMOS IC perheissä.

42 Laskureiden ketjuttaminen
Jaa 100:lla laskuri käyttämällä kahta 74LS160 kymmenlaskuria.

43 Laskuri ja dekooderi Tuntien ja kymmenien tuntien näytöt

44 Siirtorekisterit Bittejä tarvitaan siirtää digitaalisissa järjestelmissä joko rinnakkain tai peräkkäin Bittien ajoitus on yleensä tärkeä PIPO PISO SIPO SISO ja rengaslaskuri Johnson -laskuri

45 Siirtorekisterit PIPO
Hieman eri aikaan saapuvat bitit saadaan kerättyä D kiikkuihin ja kellopulssin jälkeen ne siirtyvät samanaikaisesti eteenpäin 1D D0 CLK Q0 C1 D1 Q1 Dn Qn . Q2 D2 Q3 D3 1C2 2D EN R G1

46 Siirtorekisterit SIPO
Peräkkäin sarjaväylältä saapuvat bitit saadaan rinnakkaismuodossa eteenpäin 1D SI CLK PO0 C1 . . . PO1 POn CLK PO0 SI C1/ 1D PO1 PO2 PO3(SO) R SRG4

47 Siirtorekisterit PIPO Yhden bitin osalta näytetty rinnakkaislataus
SHIFT MUX PIi G1 G1 Di POi-1 1 Di-1 1D 1D POi 1 CLK C1 C1 SHIFT = 0  lataus SHIFT = 1  siirto

48 Siirtorekisterit SISO
Johdetaan viimeinen ulostulo ensimmäiseen sisään menoon Bittikuvio toistuu, esim. laiteohjauksessa käytetään 1D CLK PO0 C1 R S PO1 PO2 PO3 CLK PO0 PO1 PO2 PO3

49 Johnson-laskuri Johdetaan viimeisen JK -kiikun Q -ulostulo ensimmäi-sen kiikun K -sisäänmenoon ja Q’ J-sisäänmenoon Rengaslaskurin variaatio Kun laskuri on täynnä nollia, se alkaa vasemmalta lukien täyttyä ykkösillä ja vuorostaan nollilla kun täynnä ykkösiä Korjauspiirillä saadaan alkuperäinen bittijakso toistumaan CLK Q0 Q1 1J C1 1K Q2 Q3 & CLK Q0 Q1 1J C1 1K Q2 Q3

50 Muistipiirit Muistit ovat joko vaihto- tai kiintomuisteja
RAM, ROM Staattisia tai dynaamisia Suora- tai peräkkäishakutoiminto RAM, FIFO, LIFO Koko kilotavuissa, megatavuissa Siirtorekisterit ovat alkeellisia muisteja

51 Staattinen muisti Kahden invertterin muodostama piiri
Kytkin transistorit johtamattomassa tilassa Tieto säilyy, niin kauan kuin piirissä on käyttösähköt Johtavassa tilassa Inverttereiden tilat näkyvät sarakelinjoilla Tallennuksessa toinen sarakelinja maahan ja toinen käyttöjännitteeseen Nopeita, cache sarakelinja 1 rivivalintalinja T1 T2

52 Dynaaminen muisti Bitin arvo talletetaan kondensaattorin varaukseen
Kun transistori johtaa, voidaan lukea tai tallettaa Vaatii säännöllisen virkistyksen, eli datan uudelleen kirjoittamisen PC:n päämuisti T rivivalintalinja sarakelinja C

53 Kiintomuisti Haihtumattomia muisteja
19 A G1 CS RAM 1MX8 1EN2[READ] 1C3[WRITE] RD A0 A1 A19 A,3D/2 WR . Haihtumattomia muisteja Tieto säilyy vaikka virta katkaistaan ROM, PROM,OTPROM, EPROM, EEPROM, FLASH Tehtaalla ohjelmoitu, kertaalleen käyttäjän ohjelmoitavissa, tyhjennettävissä (UV, sähkö) D0 D1 D2 D3 D4 D5 D6 D7

54 Ohjelmoitava logiikka
Erilaisia polkuja suunnitella ASIC piirejä (application specific integrated circuits) Mask programmable ASIC Computer aided design tools Voidaan käyttää vain yhteen tarkoitukseen Field programmable components ROM, PAL, PLA, PEEL, GAL, EPLD, FPGA Yleisiä komponentteja, voidaan käyttää moneen tarkoitukseen

55 Programmable logic PLD programmable logic devices (ohjelmoitavat laitteet) PAL programmable AND-fixed OR PLA programmable AND-programmable OR GAL re-programmable AND-fixed OR with programmable output logic macrocell PEEL programmable electrically erasable GAL GAL ja PEEL voidaan käyttää joko Combinational tai Registered moodeissa

56 Programmable logic

57 Programmable logic Combinational output S1S0 =10 or 11
Registered output S1S0 =00 or 01

58 Design example

59 Porttipiirien sisäinen rakenne
Voidaan luokitella eri piiriperheisiin Logic type TTL, CMOS, ECL Electrical specifications Operating voltage (CMOS can be higher than 5 V, low voltage versions 3.3 V) Noise immunity/margin Power dissipation Propagation delay Fan-out/current sourcing/current sinking Totem-pole/open collector output

60 Logic gate’s noise margin
Häiriönsietomarginaali on jännite-ero nolla- ja ykköstilan välillä. CMOS operating voltage levels TTLoperating voltage levels

61 Logic gate’s noise immunity
Noise on high level Häiriönsieto jännitteiden ylitykselle tai alitukselle. Noise on low level

62 Logic gate’s power dissipation
TTL transistorit vievät tehoa kaiken aikaa. CMOS on pieni staattisen tilan tehonkulutus, mutta dynaamisessa tapauksessa se voi ylittää TTL Tehonkulutuksen.

63 Logic gate’s propagation delay

64 Logic gate’s Fan-out Se kuinka montaa saman piiriperheen komponentin sisäänmenoa piirin ulostulo pystyy ohjaamaan kutsutaan fan-outiksi. Tyypillisesti 10…20 kpl.

65 Logic gate MOSFET

66 Logic gate CMOS inverter
If input is high, Q1 is on and Q2 is off and output is low. If input is low, Q1 is off and Q2 is on and output is high.

67 Logic gate CMOS NAND, NOR
CMOS komponentit ovat erittäin herkkiä staattiselle sähkölle. Älä koske pinneihin! Työkalut tulee maadottaa. Kaikki käyttämättömät inputit pitää maadottaa tai kytkeä käyttöjännitteeseen. Open drain output and pull up resistor (vastus)

68 Logic gate TTL circuits
> 0,7 V

69 Logic gate TTL Inverter

70 Open collector or Totem-pole
Jos joku tai kaikki ulostulot ovat ON, ulostulo on LOW. Jos kaikki ovat OFF, ulostulo on HIGH pull up vastuksen ansiosta. Älä koskaan kytke kahta totem-pole ulostuloa yhteen! Jos kaksi (tai enemmän) totem-pole OUTPUT on kytkettynä yhteen, silloin isot virrat kulkevat transistorien Q1 ja Q2 läpi ja voivat polttaa ne.

71 Jatko Pienryhmät suunnittelevat ja toteuttavat jonkin pienen digitaalisen piirin Digitaalinoppa, erikoinen laskuri, ym. Prosessoritekniikan kurssissa jatketaan muistipiireistä ja rekistereistä sekä prosessoreiden yhteistoiminnasta FPGA ja VHDL –kursseilla syvennytään ohjelmoitaviin logiikoihin ja tietokoneella tapahtuvaan piirisynteesiin


Lataa ppt "Digitaalitekniikka osa 2 Sekvenssilogiikka"

Samankaltaiset esitykset


Iklan oleh Google