BL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit



Samankaltaiset tiedostot
Ohjelmoitavat logiikkaverkot

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 5, ratkaisuja

BL40A1711 Johdanto digitaaleketroniikkaan: Sekvenssilogiikka, pitopiirit ja kiikut

Joni Heikkilä PYROLYYSIGENERAATTORIN AUTOMAATIO-OHJAUS OHJELMOITAVALLA LOGIIKKAPIIRILLÄ

CLPD ja FPGA piirien arkkitehtuuri ja ominaisuudet

Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset

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

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja

Verilogvs. VHDL. Janne Koljonen University of Vaasa

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

Nopea tiedonkeruulaitteisto radiokanavamittauksiin

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

MUISTIPIIRIT H. Honkanen

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

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

SPI-VÄYLÄN TOTEUTUS FPGA-PIIRILLE

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

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

I2S-VÄYLÄLIITYNNÄN TOTEUTUS FPGA- PIIRILLE. Joel Junttila. Ohjaaja: Jukka Lahti

Digitaalilaitteen signaalit

JOHDATUS ELEKTRONIIKKAAN. Oppitunti 2 Elektroniikan järjestelmät

Kombinatorisen logiikan laitteet

VHDL-piirikuvaus ja simulointi Quartus II ja ModelSim Altera Edition -ohjelmilla

Ohjelmistoradio. Mikä se on:

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

Sekvenssipiirin tilat. Synkroninen sekvenssipiiri ? 1 ? 2

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

Turo Id MIKROPROSESSORIJÄRJESTELMÄN SUUNNITTELU FPGA:LLA

ELEC-C3240 Elektroniikka 2

FPGA-piirien käyttökohteet nyt ja tulevaisuudessa Tomi Norolampi

Käytännön logiikkapiirit ja piirrosmerkit

ELEC-C5070 Elektroniikkapaja (5 op)

Sekvenssipiirin tilat

VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä

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

F = AB AC AB C C Tarkistus:

Teollisuusautomaation standardit Osio 9

Esimerkkitentin ratkaisut ja arvostelu

TIETOKONETEKNIIKAN LABORAATIOT V2.0 VHDL ohjelmoinnin perusteet

Harjoitustehtävien ratkaisut

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

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

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA AUTOMAATIOTEKNIIKKA. Otto Nurmi FPGA-TEKNIIKAN OPETUKSEN KEHITTÄMINEN

VHDL-kuvauskieli. Digitaalitekniikka (piirit) Luku 17 Sivu 1 (33)

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

Oppikirjan harjoitustehtävien ratkaisuja

ALTERA DE2 KEHITYS- JA OPETUSALUSTA

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

Kimmo Suorsa FPGA-EVALUOINTILEVYN SOVELTUVUUS LIIKKEENOHJAUK- SEEN

Laakerikipinöintilaskurin toteuttaminen FPGA- piirillä

Sulautetut järjestelmät

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

ELEC-C5070 Elektroniikkapaja (5 op)

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

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

A/D-muuntimia. Flash ADC

Toimilohkojen turvallisuus tulevaisuudessa

FPGA:lle sulautetulla mikroprosessorilla toteutettu sähkökäytön säätöjärjestelmä

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

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

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

XILINXIN 7-SARJAN FPGA-PIIRIEN MUISTIRESURSSIT JA NIIDEN KÄYTTÖ SUUNNITTELUSSA

2-AKSELISEN LINEAARILIIKKEEN OHJAAMINEN

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

AU Automaatiotekniikka. Toimilohko FB

Turva-automaation suunnittelu

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Luento 3: Digitaalilogiikka Luento 3. u binary: AND ( ) A B = AB. u unary: NOT ( _ ) A. u precedence: NOT, AND, OR.

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Digital logic. Boolean Algebra. Tietokoneen rakenne. Tietokoneen rakenne

1. Yleistä. 2. Ominaisuudet. 3. Liitännät

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

Varauspumppu-PLL. Taulukko 1: ulostulot sisääntulojen funktiona

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Ohjeita Siemens Step7, Omron CX Programmer käyttöön

PROGNOS. Panostusnosturin tiedonsiirto ja mittaukset. Tommi Parkkila

AU Automaatiotekniikka. Funktio FC

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

Synkronisten sekvenssipiirien suunnittelu

VHDL/Verilog/SystemC. Jukka Jokelainen

LAPPEENRANNAN TEKNILLINEN YLIOPISTO SÄHKÖTEKNIIKAN OSASTO. Audiosignaalin digitaalinen käsittely aktiivisessa meluntorjunnassa

KÄYTTÖOHJE PEL 2500 / PEL 2500-M

Ohjelmoitava päävahvistin WWK-951. Anvia TV Oy Rengastie Seinäjoki

TURVALLISEN TEKNIIKAN SEMINAARI Laitteiden etähallinta tietoverkkojen välityksellä Jani Järvinen, tuotepäällikkö

Työ 1: Logiikka ja robotti

Digital logic. Boolean Algebra. Tietokoneen rakenne. Tietokoneen rakenne

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

Ohjelmoitava päävahvistin WWK-951LTE

Piirien väliset ohjaus- ja tiedonsiirtoväylät H. Honkanen

Mikrokontrollerit. Mikrokontrolleri

Elektroniikan laboratorio Lisätehtävät Mallivastauksia

Tietokoneen mysteeri sekventiaalilogiikka

C = P Q S = P Q + P Q = P Q. Laskutoimitukset binaariluvuilla P -- Q = P + (-Q) (-Q) P Q C in. C out

Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin

MB 20 MODBUS RTU LIITYNTÄYKSIKKÖ SAR 410:LLE TEKNISET TIEDOT. MB 20 on liityntäkortti painesäädin SAR 410:n liittämiseksi Modbus RTU väylään.

MB 20 MODBUS RTU LIITYNTÄYKSIKKÖ SAR 410:LLE TEKNISET TIEDOT. MB 20 on liityntäkortti painesäädin SAR 410:n liittämiseksi Modbus RTU väylään.

Q = pienin suunniteltu ilmamäärä ja k = puhaltimen tai iirispellin k-arvo.

SISÄLLYS sisällys 1 Tietokoneen toimintaperiaate ja käyttö 2 Tietokoneen historia 3 Tietokoneen rakenteen ja toiminnan perusteet

Fr. Sauter AG, per Grindelwald, Aikakytkin katuvaloille perheyritys, pääkonttori Basel. Sveitsiläisellä tarkkuudella energiaa säästäen

Transkriptio:

BL4A17x Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit

Ohjelmoitavat logiikkapiirit (PLD, Programmable Logic Device) PLD (Programmable Logic Device) on yleinen nimitys integroidulle piirille, jonka toiminnallisuus voidaan ohjelmoida käyttäjän toimesta piirin valmistuksen jälkeen Voidaan jakaa toiminnallisuuden perusteella: Kombinatooriset piirit Toteuttaa kombinatoorisen logiikan kytkentöjä Sekventiaaliset piirit Toteuttaa kombinatoorisen ja sekventiaalisen logiikan piirejä

Kombinatooriset ohjelmoitavat piirit (1/2) Toiminta perustuu ohjelmoitaviin AND/OR elementteihin, toteuttavat SOP-muotoisia lausekkeita Hyödyntävät ROM-muistin ohjelmointitekniikoita, tavallisimpana sulakkeet (fuse-link) PLD (Programmable Logic Device) PROM (Programmable Read Only Memory) PAL (Programmable Array Logic) PLA (Programmable Logic Array) Kuva. Ohjelmoitavat kombinatooriset logiikkapiirit

Kombinatooriset ohjelmoitavat piirit (2/2) Piirien toimintaa voidaan havainnollistaa lohkokaavioilla (alla): PROM Inputs PAL Inputs PLA Inputs Fixed AND array (Decoder) Programmable AND array Programmable AND array Programmable OR array Fixed OR array Programmable OR Array Outputs Outputs Kuva. PLD-piirien loogisten funktioiden toteutusperiaate Outputs

PLA (Programmable Array Logic) (1/2) Ohjelmoitavat kytkentämatriisit sekä AND että OR porteille Ohjelmoitava lähtömuuttujien komplementointi XOR-porttien avulla Piirityyppi ei saavuttanut suurta kaupallista menestystä

PLA (2/2) Esimerkki PLA-piirin ohjelmointiperiaattesta: Toteutettavat funktiot F F 1 2 AB' AC A' BC' AC BC' A B C AB' AC BC Taulukko. PLA-piirin ohjelmointitaulukko CC' B B' A A' A'BC' OR Tulo- AND Suora Kompl. termi A B C F1 F2 AB' 1 1-1 - AC 2 1-1 1 1 BC 3-1 1-1 A'BC' 4 1 1 - Kuva. AND- ja OR- ja XOR-porttien tulojen ohjelmointi 1 F1 F2

PAL (Programmable Array Logic) (1/6) Pystytään toteuttamaan SOPmuotoisia (Sum-of-Products) lausekkeita: AND-porttien tulot ohjelmoitavissa kytkentämatriisin avulla Ei sisällä kiikkuja Käytetty laajalti kombinatoorisen diskreetin logiikan korvaajana Kuva. PAL16L8-piirin sisäinen rakenne (logiikkakaavio)

PAL (2/6) PAL16L8-piirin ominaisuudet: 16 I/O-signaalia, joista 8 konfiguroitavissa lähdöksi 8 logiikkalohkoa 7 AND-porttia jokaisessa logiikkalohkossa Jokaisella AND-portilla 32 tuloa Kertaohjelmoitava (sulakkeet) Ensimmäiset toteutettiin TTL-tekniikoilla Useita ohjelmointikieliä, esm. PALASM Kuva. PAL16L8 pinnijärjestys Kuva. PAL16R6CN

PAL (3/6) PAL16L8 toiminnallinen lohkokaavio kuva (alla) Kuva. PAL16L8 lohkokaavio (AMD)

PAL (4/6) Rekisterillinen PAL 8 logiikkalohkoa D-kiikku logiikkalohkossa Yhteinen kellosignaali 8 tuloa, 8 lähtöä Yhteinen OE-signaali Mahdollistaa liitynnän väylään Kuva. PAL16R8-piirin logiikkakaavio (AMD)

PAL (5/6) PAL16R8 toiminnallinen lohkokaavio kuva (alla) Kuva. PAL16R8-piirin logiikkakaavio (AMD)

PAL (6/6) PALASM-esimerkki (wikipedia) Rekisterillinen PAL-piiri Toteutettu 4-bittinen synkroninen laskuri Resetointitulo Lähdöt Q,Q1,Q2 ja Q3

Ohjelmoitavat logiikkapiirit vs. diskreetti logiikka Ohjelmoitavat kombinatooriset logiikkapiirit on tarkoitettu ennen kaikkea korvaamaan diskreettiä logiikka, joitain etuja: Logiikan pienempi fyysinen koko Säästöt piirilevysuunnittelussa Säästöt komponenttien hinnassa Ohjelmoitavuudesta syntyvä joustavuus Saman laitteiston uudelleenkäytettävyys Usein myös tehonkulutus Parempi suorituskyky

Sekventiaaliset ohjelmoitavat logiikkapiirit PLA- ja PAL-piirejä ei ole suunniteltu sekventiaalisen logiikan toteuttamiseen, usein sitä rajoittaa sisäisten rekisterien (kiikkujen) puuttuminen Sekvenssilogiikkaa varten suunniteltuja piirityyppejä ovat: SPLD (Sequential [Simple] Programmable Logic Device) CPLD (Complex Programmable Logic Device) FPGA (Field Programmable Gate Array) Ovat pääasiallisesti syrjäyttäneet sekä PLA- että PAL-piirit nykyisissä sulautetuissa järjestelmissä

SPLD (Sequential Programmable Logic Device) (1/4) Voidaan ajatella olevan PAL-johon on lisätty aseteltava rekisteri jokaiseen logiikkalohkoon Piirin rekistereillä yhteinen kellosignaali Clock Inputs PAL (Programmable AND fixed OR array) Configurable Registers Outputs Kuva. SPLD-piirin periaattellinen rakenne

SPLD (2/4) Muistuttaa rakenteeltaan rekisterillistä PAL-piiriä Rekisterit korvattu makrosoluilla Usein uudelleenohjelmoitavissa, (EEPROM, FLASH) Kuva. PEEL18CV8-piirin logiikkakaavio (ICT)

SPLD (3/4) Makrosolujen toiminnallisuus voidaan ohjelmoida, esim: Kiikun ohitus Kellon aktiivisen reunan valinta Lähdön komplementoinnin valinta Kiikun alkutilan asetus Suora/rekisterillinen takaisinkytkentä Kuva. PEEL18CV8-piirin makrosolun rakenne (ICT)

SPLD (4/4) Kuva. Erilaisia makrosolun konfigurointimahdollisuukisia (ICT PEEL18CV8)

CPLD (Complex Programmable Logic Device) (1/5) CPLD:n voidaan ajatella olevan SPLD-piireistä kehitettyjä Piireille pystytään toteuttamaan sulautettujen järjestelmien toiminnallisia osia PLD PLD PLD I/O Block Programmable switch matrix I/O Block PLD PLD PLD Kuva. CPLD-piirin yleinen rakenne

CPLD (2/5) CPLD:n logiikkalohkon (PLD) voidaan ajatella olevan SPLD-piiri Makrosoluista koostuvat logiikkalohkot on liitetty kytkentämatriisiin, jolla toteutetaan: Kytkennät toisten logiikkalohkojen välillä Sekvenssilogiikka, logiikkalohkojen takaisinkytkennät Kytkennät I/O-lohkoihin ja sitä kautta piirin nastoihin Tyypillisesti logiikkalohkoon sisältyy 4-2 konfiguroitavaa makrosolua Makrosoluja CPLD-piireillä on < 1 kpl Kuva. CPLD-piirien teknisiä tietoja (Altera MAX 3)

CPLD (3/5) Kuva. CPLD-logiikkasolut (Altera MAX 3)

CPLD (4/5) Kuva. CPLD-makrosolu (Altera MAX 3)

CPLD (5/5) CPLD-piireillä on useita sovelluksia, niiden vahvuuksia ovat: Pystytään toteuttamaan monimutkaisia digitaalisia järjestelmiä Joustavuus ohjelmoitavuuden takia Uudelleenohjelmoitavuus Sisäinen EEPROM/FLASH, toimii ilman ulkoista muistia Hinta, tehonkulutus ja nopeus Sovelluksia, hardware-toteutus: Signaalinkäsittely, digitaaliset suotimet (FIR/IIR) Liimalogiikka järjestelmien välille, esim. muistiohjaimet Tiedonsiirtoprotokollien alimmat kerrokset, esim Profibus, Ethernet, PCI, jne. Piireille saatavilla valmiita IP-lohkoja (Intellectual Property) Rajoituksena usein makrosolujen (muistin) määrä

FPGA (Field Programmable Gate Array) FPGA-piirien ominaisuuksia: Koostuu logiikkasoluista, kuten CPLD Soluissa CPLD-piirejä vähemmän toiminnallisuutta, reititysmahdollisuudet kuitenkin huomattavasti monipuolisemmat SRAM-pohjainen, usein piirillä runsaasti muistia Solun toiminnallisuus ohjelmoidaan LUT:n (look-up-table) Piireillä on jopa yli miljoona porttia ja tuhansia logiikkasoluja Sovelluksia: Vastaavat sovellukset kuin CPLD:lläkin, mutta laajempina Nopea signaalinkäsittely Softaprosessorit jne

FPGA LUT (Look Up Table) FPGA-piireissä kombinatoorinen logiikka SRAM-pohjaisten LUT:ien avulla Esimerkki turvavyön varoitusvalo a) Logikkakaavio ja yhtälö b) Kytkentää vastaava totuustaulu c) Kytkentä ohjelmoituna LUT:iin (a) k p s k p s (c) 8x1 RAM a2 a1 a 1 D w (b) w kps' k p s w 1 1 1 1 1 1 1 1 1 1 1 1 w Kuva. Logiikan implementointi LUT:lla

FPGA Kytkennän jakaminen LUT:ien välille Toteutettva toiminnallisuus jaetaan LUT:ien välille. Pienten yksikkökokojen avulla pystytään käyttämään tehokkaasti FPGA-piirin muistia hyödyksi. Esimerkin kytkentä: 2 x (3 tuloa, 1 lähtö), muistitarve 16 bittiä Sama kytkentä yhdellä LUT:lla (5 tuloa, 1 lähtö), muistitarve 2^5 bittiä = 32 bittiä k p s t d k p s t d x=kps' (A) 8x1 RAM a2 a1 a (A) 1 D x w=x+td w (B) x 8x1 RAM a2 a1 a (B) 1 1 1 1 1 1 1 D w Kuva. Toiminnallisuuden jakaminen LUT:ien välille

Sekventiaalisten PLD-piirien sovelluskehityksestä Piirit kompleksisia rakenteeltaan, ohjelmointi vaati erityistyökalut: Kytkentäkaavioihin pohjautuvat työkalut Laitteistokuvauskielet (HDL, Hardware Describtion Language) Nykyisin tarjolla myös korkeamman tason sovelluskehittimiä, esim: Matlab/Simulink, Labview Laitteistokuvauskielet ovat saavuttaneet suosiota koodin uudelleenkäytettävyyden ja siirrettävyyden takia: Koodin syntetisointi kohdepiirille standardikoodista tehdään piirivalmistajan tarjoamilla työkaluilla Osa toiminnallisuudesta voidaan ostaa IP-lohkoina Testausta voidaan tehdä simulaattorilla ja valmiissa toteutuksessa esim. JTAG-liitynnän ja Boundary Scan-ominaisuuden avulla

Sekventiaalisten PLD-piirien sovelluskehityksestä VHDL-esimerkki: 2-tuloisen ANDportin määritys -- import std_logic from the IEEE library library IEEE; use IEEE.std_logic_1164.all; -- this is the entity entity my_and is port ( IN1, IN2 : in std_logic; OUT1: out std_logic); end entity; -- here comes the architecture architecture example of my_and is begin OUT1 <= IN1 and IN2; end example;