Ohjelmoitavat logiikkaverkot



Samankaltaiset tiedostot
BL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit

CLPD ja FPGA piirien arkkitehtuuri ja ominaisuudet

Sekvenssipiirin tilat. Synkroninen sekvenssipiiri ? 1 ? 2

Digitaalitekniikan matematiikka Luku 2 Sivu 1 (25) Digitaalilaiteteknologia ja sovellukset

Muistipiirit. Digitaalitekniikka (piirit) Luku 20 Sivu 1 (24)

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

Oppikirjan harjoitustehtävien ratkaisuja

Harjoitustehtävien ratkaisut

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

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

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

Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset

Joni Heikkilä PYROLYYSIGENERAATTORIN AUTOMAATIO-OHJAUS OHJELMOITAVALLA LOGIIKKAPIIRILLÄ

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

ELEC-C3240 Elektroniikka 2

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

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

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

Käytännön logiikkapiirit ja piirrosmerkit

Digitaalitekniikan matematiikka Luku 1 Sivu 1 (19) Johdatus digitaalitekniikkaan

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

Ohjelmistoradio. Mikä se on:

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

Esimerkkitentin ratkaisut ja arvostelu

Digitaalilaitteen signaalit

Synkronisten sekvenssipiirien suunnittelu

SPI-VÄYLÄN TOTEUTUS FPGA-PIIRILLE

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

TIETOKONETEKNIIKAN LABORAATIOT V2.0 VHDL ohjelmoinnin perusteet

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

Teollisuusautomaation standardit Osio 9

MUISTIPIIRIT H. Honkanen

1 Muutokset piirilevylle

Tervetuloa jatkamaan DIGITAALI- TEKNIIKAN opiskelua! Digitaalitekniikka (piirit) Luku 0 Sivu 1 (8)

Johdatus digitaalitekniikkaan

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

Nopea tiedonkeruulaitteisto radiokanavamittauksiin

Sekvenssipiirin tilat

Digitaalitekniikan matematiikka Sivu 1 (57) Kombinaatiopiirin suunnittelu ja toteutus

Toimilohkojen turvallisuus tulevaisuudessa

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

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

Tervetuloa opiskelemaan DIGITAALI- TEKNIIKKAA!

DIGITAALISTEN KOMBINAATIO- PIIRIEN LABORATORIOTÖIDEN SUUNNITTELU

KEHITYSALUSTAN SUUNNITTELUPROSESSI

F = AB AC AB C C Tarkistus:

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

Digitaalitekniikka (piirit) Opetusmoniste

Digitaalitekniikan matematiikka Harjoitustehtäviä

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

Digitaalitekniikka (piirit) Luku 18 Sivu 1 (32) Rekisterit ja laskurit R C1 SRG4 R C1/ CTRDIV16 1R G2 2CT=15 G3 C1/2,3 + CT 3

SIMULINK 5.0 Harjoitus. Matti Lähteenmäki

Kimmo Suorsa FPGA-EVALUOINTILEVYN SOVELTUVUUS LIIKKEENOHJAUK- SEEN

A11-02 Infrapunasuodinautomatiikka kameralle

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

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

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

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

Vianaikaisten tietojen tallennus taajuusmuuttajassa

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

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

1 YLEISTÄ. Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1.1 PROJEKTIN TARKOITUS

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

Digitaalitekniikan perusteet

ALTERA DE2 KEHITYS- JA OPETUSALUSTA

Turo Id MIKROPROSESSORIJÄRJESTELMÄN SUUNNITTELU FPGA:LLA

I T. SurePath. Järjestelmä on täysin yhteensopiva kaikkien DALI hyväksyttyjen turva- ja poistumistievalojen kanssa.

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

Arduino ohjelmistokehitys

Tietokonetekniikka Edita, Seppo Haltsonen, Esko T. Rautanen

P I C A X E O H J E L M O I N T I

Ulkoiset mediakortit. Käyttöopas

Laakerikipinöintilaskurin toteuttaminen FPGA- piirillä

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Mikrokontrollerit. Mikrokontrolleri

Tietokonetekniikan opinnot, (Videoterminaalidemo) TKT-1100 Digitaalitekniikan perusteet Erno Salminen Tampereen Teknillinen Yliopisto Syksy 2008

JATKO-OPINTOSUUNNITELMA

DIPLOMITYÖ MIKROPROSESSORIN SUUNNITTELU JA TOTEUTUS FPGA:LLE

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

SIMULOINTIYMPÄRISTÖJEN SOVELTAMINEN OPETUKSESSA SIMULOINNILLA TUOTANTOA KEHITTÄMÄÄN-SEMINAARI TIMO SUVELA

PEM1123/ A. Asennus- ja käyttöohje SW/S2.5 viikkokello. ABB i-bus KNX. SW/S2.5 Viikkokello

1 Tekniset tiedot: 2 Asennus: Asennus. Liitännät

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

Kehittyneiden Aaltomuotojen Käytettävyys HF-alueen Tiedonsiirrossa

Ohjelman kehitys NIOS II prosessorille

Altus RTS. 1 Tekniset tiedot: 2 Lähetin: Telis 1 Telis 4 Centralis RTS

KANDIDAATINTYÖ. Laitteistoemulointi järjestelmäsuunnittelussa. Ville Kangas. Ohjaaja: Jukka Lahti SÄHKÖTEKNIIKAN KOULUTUSOHJELMA

Yleishimmentimellä varustetun, uppoasennettavan WMR-252-vastaanottimen käyttöopas


Maha Eurosystem jarrulaskentaohjelman asennusohje versio

OMNIA OPINNÄYTETYÖ AMMATTIOPISTO. Diginoppa ICTP09SLG OMNIAN AMMATTIOPISTO

ELEC-C5070 Elektroniikkapaja (5 op)

Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä. Kari Suihkonen

Sulautetut järjestelmät

VHDL/Verilog/SystemC. Jukka Jokelainen

Teollisuusautomaation standardit. Osio 2:

Ulkoiset mediakortit. Käyttöohje

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

KANDIDAATINTYÖ. I2C-ohjatun LED PWM-ohjaimen toteuttaminen FPGA-piirillä. Anssi Partanen. Ohjaaja: Jukka Lahti

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

Transkriptio:

Digitaalitekniikka (piirit) Luku 9 Sivu (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Ohjelmoitavat logiikkaverkot Ohjelmoitavat logiikkaverkot Programmable logic logic PLD-piirit Programmable logic logic devices FPGA-piirit Field-programmable gate gate arrays arrays Järjestelmäpiirit SoPC, SoPC, System on on a programmable chip chip SPLD-piirit Simple Simple PLD's PLD's CPLD-piirit Complex PLD's PLD's PLD FPGA SoPC

Digitaalitekniikka (piirit) Luku 9 Sivu 2 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Johdanto Tässä luvussa esitetään ohjelmoitavien logiikkaverkkojen ryhmittely ja päätyypit PLD, FPGA ja SoPC tutustutaan PLD- ja FPGA-verkkoihin esitetään verkkojen yleiset rakenteet ja arkkitehtuurit esitetään verkkojen osien rakenteita esitetään eri tyyppisten verkkojen ohjelmointi esitetään esimerkkejä kombinaatiopiirien ja synkronisten sekvenssipiirien toteuttamisesta eri tyyppisillä verkoilla esitetään ohjelmoitavien logiikkaverkkojen suunnitteluprosessi Luvun tavoitteena on antaa yleiskäsitys ohjelmoitavista logiikkaverkoista tutustuttaa eri tyyppisiin ohjelmoitaviin logiikkaverkkoihin ja niiden keskeisiin ominaisuuksiin ja eroihin

Digitaalitekniikka (piirit) Luku 9 Sivu 3 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Digitaalisten mikropiirityyppien ryhmittely Digitaaliset mikropiirit Digital Digital integrated circuits circuits Vakiopiirit Standard circuits circuits Ohjelmoitavat logiikkaverkot Programmable logic logic Asiakaspiirit Application specific IC's, IC's, ASIC's ASIC's piirivalmistaja suunnittelee piirivalmistaja valmistaa toiminta kiinteä vapaasti saatavilla piirivalmistaja suunnittelee piirivalmistaja valmistaa toiminta ohjelmoidaan vapaasti saatavilla laitevalmistaja suunnittelee piirivalmistaja valmistaa toiminta kiinteä vain laitevalmistajan saatavilla

Digitaalitekniikka (piirit) Luku 9 Sivu 4 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Yleistä ohjelmoitavista logiikkaverkoista Ostettaessa vakiopiiri suuri määrä piirielementtejä ja johtimia piirielementtien toiminta osittain määrittelemättä piirielementtien väliset kytkennät pääosin tekemättä Käyttäjä ohjelmoi tietokoneella toiminnan ja kytkennät ohjelmoinnin jälkeen piiri on asiakaspiiri Käyttömäärä on kasvanut ja kasvaa edelleen Käytön antamia etuja pieni koko ja toiminnan luotettavuus tuotekehitysprosessin nopeus toteutuksen joustavuus Käyttöön vaikuttavia heikkouksia suuri tehonkulutus osalla piireistä eräissä tapauksissa hinta

Digitaalitekniikka (piirit) Luku 9 Sivu 5 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Ohjelmoitavien logiikkaverkkojen ryhmittely Ohjelmoitavat logiikkaverkot Programmable logic logic PLD-piirit Programmable logic logic devices FPGA-piirit Järjestelmäpiirit Field-programmable SoPC, SoPC, System on on a gate gate arrays arrays programmable chip chip Uudet piirit pääosin FPGA- ja järjestelmäpiirejä SPLD-piirit Simple Simple PLD's PLD's CPLD-piirit Complex PLD's PLD's Mutkikkuus ja kapasiteetti kasvavat

Digitaalitekniikka (piirit) Luku 9 Sivu 6 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Ohjelmoitavien logiikkaverkkojen päätyypit PLD (Programmable Logic Device) ohjelmaltaan kiinteä eli haihtumaton: ohjelma säilyy, vaikka käyttöjännite poistetaan vanhin ohjelmoitavien logiikkaverkkojen päätyyppi osa kertaohjelmoitavia, osa uudelleenohjelmoitavia pieniä (SPLD) tai keskisuuria (CPLD), luokkaa porttia FPGA (Field Programmable Gate Array) pääosa on ohjelmaltaan haihtuvia eli ohjelma häviää, kun käyttöjännite poistetaan ohjelmoidaan uudelleen aina, kun piiriin kytketään sähkö osa ohjelmaltaan haihtumattomia eli ohjelma säilyy keskisuuria tai suuria, jopa miljoonia portteja Ohjelmoitavat järjestelmäpiirit (SoPC) suuria ja mutkikkaita piirejä suuri FPGA-osuus prosessori, muistia, erityislohkoja kokonainen järjestelmä yhdessä piirissä PLD FPGA SoPC

Digitaalitekniikka (piirit) Luku 9 Sivu 7 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo? IN IN2 INm SPLD-piirin perusrakenne... Kytkentämatriismatriisi Interconnect array Inter- array Liitäntöjen sallintasignaalit Makrosolu Macrocell Makrosolu 2 Makrosolu 3... Makrosolu n Muodostaa SOP-lausekkeen SPLD Tuloliitännät Liitäntälohklohko I/O I/O block block Ohjelmoitavat liitännät... I/O I/O2 I/O3 I/On Liitäntäsignaalit I/O - I/On

Digitaalitekniikka (piirit) Luku 9 Sivu 8 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo? 2 CPLD-piirin perusrakenne IN IN2 INp CPLD... Tuloliitännät Kytkentämatriismatriisi Liitäntöjen A sallintasignaalit Makrosolulohko A Makrosolut A-Am Makrosolulohko A Makrosolut Am+-An Liitäntäsignaalit I/OA - I/OAm...... Liitäntöjen K sallintasignaalit Makrosolulohko K Makrosolut K-Km Makrosolulohko K Makrosolut Km+-Kn Muodostavat n kpl SOPtai I-SOP-lausekkeita Liitäntälohko A lohko Liitäntälohko K lohko Ohjelmoitavat liitännät... I/OA I/OAm Upotetut (embedded) makrosolut... I/OK I/OKm Liitäntäsignaalit I/OK - I/OKm

Digitaalitekniikka (piirit) Luku 9 Sivu 9 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo PLD-piirien makrosolurakenteet PAL SPLD-arkkitehtuurit kombinaatio-osa muodostaa SOP-lausekkeita muodostetaan tulotermejä JA-porteilla ja lausekkeet niistä TAI-porteilla PAL (Programmable Array Logic), nykyisin vahvasti yleisin JA-porttien kytkentä TAI-portteihin on kiinteä PLA (Programmable Logic Array), nykyisin harvinainen PLA JA-porttien kytkentä TAI-portteihin on ohjelmoitava seuraavassa keskitytään PAL-piireihin CPLD-piirien perusarkkitehtuuri on PAL-tyyppinen, mutta niissä on yleensä makrosolujen käyttöä tehostavia lisäominaisuuksia suorat liitännät makrosoluista kytkentämatriisiin osa makrosoluista on upotettuja: ei yhteyttä liitäntälohkoon kombinaatio-osassa SOP- ja I-SOP-lausekkeita sekä XOR-logiikkaa siirrettävät JA-portit: lainattavissa naapurimakrosolun käyttöön jaettavat JA-EI-portit: sama invertoitu tulotermi useaan makrosoluun

Digitaalitekniikka (piirit) Luku 9 Sivu (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo? 3 PAL-arkkitehtuuri IN Puskuri-invertteripiirit Kytkentämatriisi ohjelmoitavat kytkennät liitäntäsignaalit kytketään JA-porttien tuloihin Makrosolujen JA-TAI-verkot JA-portit yhtä monta tuloa kuin liitäntäsignaaleja muodostavat halutut tulotermit tietty määrä, esim. 5 tai 8 TAI-portit muodostavat SOP-lausekkeet vakiomäärä tuloja IN MS IN2 MS 2... KM MS 3 LL... INm MS n... I/O I/O2 I/O3 I/On IN2 Ohjelmoituja kytkentöjä PAL Kytkentämatriisi solujen JA-TAI- Makroverkot I/O I/O2

Digitaalitekniikka (piirit) Luku 9 Sivu (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo? 4 PLA-arkkitehtuuri Puskuri-invertteripiirit Kytkentämatriisit ja 2 ohjelmoitavat kytkennät liitäntäsignaalit kytketään JA-porttien tuloihin Yhteiset JA-portit Ohjelmoituja kytkentöjä yhtä monta tuloa kuin liitäntäsignaaleja muodostavat halutut tulotermit tulotermit yhteisiä Makrosolujen TAI-portit muodostavat SOPlausekkeet yhtä monta tuloa kuin JA-portteja IN IN2 Kytkentämatriisi PLA JAverkko Kytkentämatriisi 2 I/O I/O2 Makrosolujen TAI- portit

Digitaalitekniikka (piirit) Luku 9 Sivu 2 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo PAL-tyyppisen CPLD-piirin tyypillinen makrosolu GR GCLK Koko piirille yhteiset signaalit IN IN2 INm MS... KM MS 2 MS 3... LL MS n... I/O I/O2 I/O3 I/On? 5 Liitäntälohkoon Kytkentämatriisista SOP/ I-SOP-/ XOR-valinta = Kellosign. valinta ACLK D/T R Ohjelmoitava valinta C Nollaussign. valinta Komb./sekv. -valinta LR Kytkentämatriisiin Makrosolun sisäiset signaalit Seuraavaan makrosoluun

Digitaalitekniikka (piirit) Luku 9 Sivu 3 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo? 6 CPLD-piirin tyypillinen liitäntälohko Kytkentämatriisiin Kytkentämatriisista Ohjelmointi tuloksi, lähdöksi tai kaksisuuntaiseksi liitännäksi Makrosoluista GOE Koko piirille yhteinen sallintasignaali OE OE2 Liitäntäkohtaiset sallintasignaalit EN EN IN MS IN2 MS 2... KM MS 3 LL... INm MS n Ohjelmoitava valinta I/O I/O2 IOB... I/O I/O2 I/O3 I/On

Digitaalitekniikka (piirit) Luku 9 Sivu 4 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo PLD-piirien ohjelmointitavat PLD-piirit Programmable logic logic devices Kertaohjelmoitavat One-time programmable Uudelleen ohjelmoitavat Reprogrammable OTPROMperusteiset EPROMperusteiset EEPROMperusteiset Flashperusteiset Flash- Erikseen ohjelmoitavat Programmer programmable Nykyään pääosin käytössä Järjestelmäohjelmoitavat In-system programmable

Digitaalitekniikka (piirit) Luku 9 Sivu 5 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Kombinaatiopiirin toteutus PAL-piirillä Kaikki tulot kuvataan yhdellä signaaliviivalla Ohjelmoitu tuloksi A B F = A B + B C + A B C G = B C + A B C H = A B C + A B C + A B C = = = = EN EN EN EN C F G H Kaikki funktiot voidaan toteuttaa suoraan SOPlausekkeina

Digitaalitekniikka (piirit) Luku 9 Sivu 6 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo? 7 Kombinaatiopiirin toteutus PAL-piirillä 2 F = A B + A C + B C + A B C A B = A B C + A B C + A B C F voidaan toteuttaa I-SOP-muodossa G =A B C + A B C + A B C + A B C G voidaan toteuttaa apufunktiolla K: K = A B C + A B C G =A B C + A B C + K = = = = EN EN EN EN Ohjelmoitu tuloksi C F K G

Digitaalitekniikka (piirit) Luku 9 Sivu 7 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Synkronisen sekvenssipiirin toteutus PAL-piirillä CLK RES = D EN C R Ohjelmoitu tuloksi P D = Q + Q = Q Q (I-SOP) D = Q Q + P Q (SOP) = EN D C R = D EN C R Q Q L = Q + Q + P = Q Q P (I-SOP) = EN D C R L Tulosignaali P Kaksi tilasignaalia, Q ja Q Lähtösignaali L

Digitaalitekniikka (piirit) Luku 9 Sivu 8 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo FPGA-piirin perusrakenne Ohjelmoitavat logiikkalohkot eli CLB:t (Configurable Logic Block) toiminnan toteutus karkeajakoiset FPGA:t (yleinen, seuraavassa kuvataan vain näitä) koostuvat viipaleista (slice), esim. neljä viipaletta/clb hienojakoiset FPGA:t Liitäntälohkot eli IOB:t (Input/Output Block) piirin ulkoiset liitännät Kytkentämatriisi lohkojen väliset kytkennät Ohjelmoitava logiikkalohko Liitäntälohko FPGA Kytkentämatriisi

Digitaalitekniikka (piirit) Luku 9 Sivu 9 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo CLB:n viipaleen rakenne-esimerkki Ohjelmoitava osa Tulovalitsin Muistipiiri FPGA

Digitaalitekniikka (piirit) Luku 9 Sivu 2 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Hakutaulun toiminta Voidaan kuvata ohjelmoitavalla kiintomuistilla muistisoluilla ja tulovalitsimella Tulovalitsinkuvaus muuttujat valintatuloihin muistisolujen sisältö datatuloihin Muistisolujen sisältö saadaan suoraan funktion totuustaulusta FPGA Muuttujat Ohjelmoitavat muistisolut A A2 A3 A4 / / / / / / / / / / / / / / / / 3 2 3 4 5 6 7 8 9 2 3 4 5 MUX G 5 F

Digitaalitekniikka (piirit) Luku 9 Sivu 2 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Liitäntälohkon rakenne Ohjelmoitava tulovalitsin EN Lähtösignaalipiirit Tulo/lähtövalintapiirit Tulosignaalipiirit S ED ECLK ECEN R OD OCLK OCEN I IQ ICLK ICEN S 2D C2 G R S 2D C2 G R S 2D C2 G R EN FPGA I/O

Digitaalitekniikka (piirit) Luku 9 Sivu 22 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Kytkentämatriisin rakenne Johtimet kulkevat lohkojen (CLB ja IOB) välissä Johdinten kytkennät ohjelmoidaan Eri tyyppisiä johtimia kellosignaalijohdinverkko useita ulkoisia kelloliitäntöjä voidaan kytkeä mihin hyvänsä piirin kiikkuun pitkät johtimet piirin reunasta reunaan tai FPGA yhteydessä vain osaan lohkoista lyhyet johtimet usein monia eri tyyppejä lähekkäin olevien lohkojen yhdistämiseen suorat johtimet vierekkäisten ja kulmittaisten lohkojen yhdistämiseen

Digitaalitekniikka (piirit) Luku 9 Sivu 23 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo FPGA-piirien ohjelmointitavat FPGA FPGA-piirit Field-programmable gate gate arrays arrays Valtateknologia nykyään Kertaohjelmoitavat One-time programmable Uudelleen ohjelmoitavat Reprogrammable Johdakeperusteiset Antifuse Haihtumaton ohjelma Hienojakoiset logiikkalohkot SRAMperusteiset SRAM- Flashperusteiset Flash- Haihtuva ohjelma Karkeajakoiset logiikkalohkot

Digitaalitekniikka (piirit) Luku 9 Sivu 24 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Uudelleen ohjelmoitavien piirien ohjelmointi Piirit ovat järjestelmäohjelmoitavia FPGA Asennetaan piirilevylle ohjelmoimattomina Flash-perusteiset ohjelmoidaan kuten PLD-piirit SRAM-perusteiset ohjelmoidaan aina, kun laitteeseen kytketään sähkö ) ohjelma on laitteessa erillisessä kiintomuistissa sarjaliitäntä FPGA-piiriin ohjelma siirtyy automaattisesti FPGA-piiriin, kun sähkö kytketään 2) laitteessa oleva prosessori lataa ohjelman FPGA-piiriin ohjelma on samassa kiintomuistissa kuin prosessorin oma ohjelma eräissä piireissä prosessori voi lukea ohjelman FPGA-piiristä ohjelman oikeellisuuden varmistus 3) ohjelma ladataan ulkopuolelta JTAG-ohjelmointiliitännän kautta suurissa järjestelmissä keskitetty ohjelman jakelu suunnittelun, testauksen ja huollon yhteydessä

Digitaalitekniikka (piirit) Luku 9 Sivu 25 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Kytkentäfunktion toteuttaminen FPGA-piirissä Suoraan totuustaulun perusteella Yksi tai useita hakutauluja/funktio Esimerkeissä yksinkertaisuuden vuoksi kahden muuttujan hakutaulu Kahden muuttujan funktio: FPGA? 8 F = A B + A B A B F B A MUX G 3 2 3 F

Digitaalitekniikka (piirit) Luku 9 Sivu 26 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Kytkentäfunktion toteuttaminen FPGA-piirissä 2? 9 Laajennus CLB:n viipaleen tulovalitsimella Kolmen muuttujan funktio: A G = A B + B C + A B C A = A = A B C G MUX C G B 3 2 3 MUX G 3 2 3 G FPGA MUX G Valittu, kun A = Valittu, kun A =

Digitaalitekniikka (piirit) Luku 9 Sivu 27 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Ohjelmoitavat järjestelmäpiirit Yhdellä piirillä toteutetaan laitteen koko digitaaliosa Perustuvat FPGA-teknologiaan Piiri sisältää suuren FPGA-osan lisäksi piiriperhekohtaisesti vaihdellen vaihtomuistia: useita erillisiä muistilohkoja eri tarkoituksiin signaalinkäsittelylohkoja tehokas prosessori tai useita prosessoreja SoPC kiinteä prosessori tai piiriin ohjelmoitava(t) prosessori(t) kellosignaalin käsittelylohkoja Kapasiteetiltaan keskisuuria tai suuria esimerkiksi Xilinxin Virtex 7 -perheen suurin piiri XC7V2T (tulossa) 35 4 ohjelmoitavan logiikkalohkon viipaletta (CLB slice) 46 52 Kib erillistä muistia 26 signaalinkäsittelylohkoa enimmillään 26 liitäntänastaa signaaleille

Digitaalitekniikka (piirit) Luku 9 Sivu 28 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Ohjelmoitavien logiikkaverkkojen suunnitteluprosessi Suunnittelu (Design) Määrittely Specification Piirisuunnittelu Design Design entry entry Suunnittelun varmistus Design verification Toiminnallinen simulointi Functional simulation Synteesi Synthesis Toteutus Implementation Ohjelmointi Programming Ajoitussimulointi Timing Timing simulation Testaus Testing Testing

Digitaalitekniikka (piirit) Luku 9 Sivu 29 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Ohjelmoitavien logiikkaverkkojen suunnitteluvälineet Suunnitteluohjelmistot riippumattomien ohjelmistotoimittajien ohjelmistot soveltuvat kaikkien tai ainakin useiden piirivalmistajien piireille esim. Mentor Graphicsin FPGA Advantage piirivalmistajien ohjelmistot soveltuvat vain kyseisen piirivalmistajan piireille saatavilla ilmaisversioita, joissa on rajoitetut toiminnot USB-liitäntä esim. Alteran Quartus II ja Xilinxin ISE Ohjelmointilaitteet ja -kaapelit piirien ohjelmointiin erikseen tai paikalleen asennettuina Kokeilulevyt piirilevyt, joille on asennettu logiikkaverkko logiikkaverkon lisäksi muita piirejä, ohjelmointiliitäntä ja muita liitäntöjä kytkimiä, ledinäyttöjä ja liittimiä tulo- ja lähtösignaaleille Ohjelmointiliitäntä

Digitaalitekniikka (piirit) Luku 9 Sivu 3 (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Yhteenveto Ohjelmoitava logiikkaverkko ostetaan tyhjänä tyhjänäja ja ohjelmoidaan Ohjelmoitavien logiikkaverkkojen päätyypit ovat ovat PLD, PLD, FPGA FPGAja ja SoPC SoPC PLD-piirit ovat ovat joko joko pieniä pieniäspld-piirejä tai tai keskisuuria CPLD-piirejä PLD-piirien perusarkkitehtuurit ovat ovat PAL PAL (yleisin) ja ja PLA PLA PLD-piireissä on on kytkentämatriisi, makrosoluja ja ja liitäntälohkoja PLD-piirit ohjelmoidaan joko joko ohjelmointilaitteessa tai tai piirilevyllä Makrosoluissa muodostetaan SOP- SOP-ja ja I-SOP-muotoisia lausekkeita PLD-piireillä voidaan toteuttaa kombinaatiopiirejä ja ja sekvenssipiirejä FPGA-piirit ovat ovat kooltaan keskisuuria tai tai suuria suuria FPGA-piirit ovat ovat joko joko hienojakoisia tai tai karkeajakoisia FPGA-piirit koostuvat CLB- CLB-ja ja IOB-lohkoista ja ja kytkentämatriisista FPGA-piirit ovat ovat joko joko kertaohjelmoitavia tai tai uudelleenohjelmoitavia Kombinaatiopiiri toteutetaan FPGA-piireissä hakutauluilla Ohjelmoitavalla järjestelmäpiirillä voidaan toteuttaa koko koko digitaalilaite Suunnitteluprosessi koostuu itse itse suunnittelusta ja ja sen sen varmistuksesta