Digitális rendszerek tervezése FPGA áramkörökkel

Hasonló dokumentumok
Digitális rendszerek tervezése FPGA áramkörökkel

Digitális rendszerek tervezése FPGA áramkörökkel

Előadó: Nagy István (A65)

1. DIGITÁLIS TERVEZÉS PROGRAMOZHATÓ LOGIKAI ÁRAMKÖRÖKKEL (PLD)

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA02) Laboratórium 3

PAL és GAL áramkörök. Programozható logikai áramkörök. Előadó: Nagy István

Dr. Oniga István DIGITÁLIS TECHNIKA

Rendszertervezés FPGA eszközökkel

Dr. Oniga István DIGITÁLIS TECHNIKA

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1

Digitális rendszerek tervezése FPGA áramkörökkel SRAM FPGA Architektúrák

DIGITÁLIS TECHNIKA I

FPGA áramkörök alkalmazásainak vizsgálata

PAL és s GAL áramkörök

Digitális technika (VIMIAA02) Laboratórium 4

DIGITÁLIS TECHNIKA. Szabó Tamás Dr. Lovassy Rita - Tompos Péter. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar LABÓRATÓRIUMI ÚTMUTATÓ

A Xilinx FPGA-k. A programozható logikákr. Az FPGA fejlesztés s menete. BMF KVK MAI, Molnár Zsolt, 2008.

Digitális technika (VIMIAA02) Laboratórium 4

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

1. Kombinációs hálózatok mérési gyakorlatai

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Standard cellás tervezés

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Digitális technika (VIMIAA02) Laboratórium 5.5

Digitális technika (VIMIAA01) Laboratórium 4

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

1. Kombinációs hálózatok mérési gyakorlatai

Számítógép Architektúrák (MIKNB113A)

Digitális technika VIMIAA02 6. EA

Digitális technika VIMIAA02 6. EA Fehér Béla BME MIT

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

Bevezetés az informatikába

Hobbi Elektronika. A digitális elektronika alapjai: Újrakonfigurálható logikai eszközök

Számítógépek felépítése, alapfogalmak

VIII. BERENDEZÉSORIENTÁLT DIGITÁLIS INTEGRÁLT ÁRAMKÖRÖK (ASIC)

Digitális technika VIMIAA01

Dr. Oniga István DIGITÁLIS TECHNIKA 8

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Áramkörök elmélete és számítása Elektromos és biológiai áramkörök. 3. heti gyakorlat anyaga. Összeállította:

DIGITÁLIS TECHNIKA 7. Előadó: Dr. Oniga István

A hálózattervezés alapvető ismeretei

Digitális technika VIMIAA01

Digitális technika VIMIAA02

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

Elvonatkoztatási szintek a digitális rendszertervezésben

Mikrorendszerek tervezése

Digitális technika VIMIAA01

Programozó- készülék Kezelőkozol RT óra (pl. PC) Digitális bemenetek ROM memória Digitális kimenetek RAM memória Analóg bemenet Analóg kimenet

Kombinációs hálózatok Adatszelektorok, multiplexer

DIGITÁLIS TECHNIKA I

5. Laborgyakorlat. Számláló funkciók, időzítő funkciók.

Digitális technika VIMIAA02

Digitális technika VIMIAA02

Digitális technika VIMIAA02 2. EA Fehér Béla BME MIT

DIGITÁLIS TECHNIKA GYAKORLÓ FELADATOK 2. Megoldások

Programozás és digitális technika II. Logikai áramkörök. Pógár István Debrecen, 2016

Digitális áramkörök és rendszerek alkalmazása az űrben 3.

Attribútumok, constraint-ek

DIGITÁLIS TECHNIKA 8 Dr Oniga. I stván István

Dr. Oniga István DIGITÁLIS TECHNIKA 4

8.3. AZ ASIC TESZTELÉSE

Szűrő architektúrák FPGA realizációjának vizsgálata

Digitális technika (VIMIAA01) Laboratórium 9

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

Digitális technika VIMIAA hét

Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás BME MIT FPGA laboratórium

Máté: Számítógép architektúrák

Előadó: Dr. Oniga István DIGITÁLIS TECHNIKA 3

Digitális eszközök típusai

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

Integrált áramkörök/5 ASIC áramkörök

1. A programozható logikai eszközök főbb csoportjai

Digitális technika VIMIAA hét

Hobbi Elektronika. A digitális elektronika alapjai: Kombinációs logikai hálózatok 1. rész

PLA és FPLA áramkörök

Irányítástechnika Elıadás. A logikai hálózatok építıelemei

A gyakorlatokhoz kidolgozott DW példák a gyakorlathoz tartozó Segédlet könyvtárban találhatók.

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika VIMIAA02

IRÁNYÍTÁSTECHNIKAI ALAPFOGALMAK, VEZÉRLŐBERENDEZÉSEK FEJLŐDÉSE, PLC-GENERÁCIÓK

TARTALOMJEGYZÉK. 1. BEVEZETÉS A logikai hálózatok csoportosítása Logikai rendszerek... 6

Digitális technika VIMIAA02 3. EA

HDL tervezés. Gábor Bata FPGA Developer Microwave Networks Ericsson Hungary Ltd.

Nagy Gergely április 4.

Véges állapotú gépek (FSM) tervezése

Autóipari beágyazott rendszerek CAN hardver

Analóg-digitális átalakítás. Rencz Márta/ Ress S. Elektronikus Eszközök Tanszék

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István Egytemi docens

DIGITÁLIS TECHNIKA II Dr. Lovassy Rita Dr. Pődör Bálint MEMÓRIÁK

DIGITÁLIS TECHNIKA II Dr. Lovassy Rita Dr. Pődör Bálint

MIKROELEKTRONIKA, VIEEA306

Hobbi Elektronika. A digitális elektronika alapjai: További logikai műveletek

Átírás:

BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális rendszerek tervezése FPGA áramkörökkel Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás FPGA áramkörök, 2014.03.28. (v1.0) BME MIT atórium

Rendszerspecifikáció Felhasználói/piaci igények alapján Ellenőrzés Analízis Specifikáció (funkciók és más jellemzők) MIT HOGYAN Megvalósítás (modulok/komponensek rendszere) Tervezés Szintézis FPGA áramkörök, 2014.03.28. (v1.0) 1

Specifikáció finomítása Felhasználói specifikáció Általában szöveges formában Jellemzően nem műszaki paraméterek Előzetes rendszerterv Követelmények lefordítása Főbb paraméterek meghatározása Funkcionális rendszerterv Globális döntések a megvalósításról Modul funkciók specifikálása Logikai tervezés FPGA áramkörök, 2014.03.28. (v1.0) 2

Hierarchikus tervezési módszerek Felülről lefelé (top-down) Alulról felfelé (bottom-up) Léteznek a kívánt típusú komponensek? FPGA áramkörök, 2014.03.28. (v1.0) 3 Megfelel a rendszer a specifikációnak?

Tervezési szintek A hierarchikus szintek szétválaszthatók Gyakran egyedi tervezési megközelítést igényelnek FPGA áramkörök, 2014.03.28. (v1.0) 4

FPGA technológia előnyei Az eszköz hardver szinten programozható A MIT HOGYAN több iterációban is elemezhető Általában a felülről lefelé haladó tervezési módszertant választjuk DE vetünk egy pillantást az eszköz adatlapjára, tudjuk milyen elemi és összetett komponenseket kínál A modulszintű, funkcionális leírásra koncentrálunk, a részletek kidolgozását a tervezőrendszerre hagyjuk DE ellenőrizzük a megvalósítás fontos paramétereit FPGA áramkörök, 2014.03.28. (v1.0) 5

Technológiai áttekintés A digitális eszközök típusai Logikai elemek Szabvány MSI Egyedi fix funkciók, ASSP Programozható logikák ASIC MPU CPU Egyszerű PLD Komplex PLD PLA PAL GAL CPLD FPGA FPOA RPU FPGA áramkörök, 2014.03.28. (v1.0) 6

Egyszerű PLD eszközök Egyszerű struktúra, egyszerű használat Kétszintű kombinációs logika + regiszter Domináns elrendezés: mintermek összege Általános formában INV-AND-OR-(INV) F k = Σ m i Például 4 változóra egy egyszerű kifejezés F 4 = AB + ACD + BC Minimális szemantikus távolság Specifikáció megvalósítás FPGA áramkörök, 2014.03.28. (v1.0) 7

Egyszerű PLD eszközök PAL áramkörök felépítése (részlet PAL16xx) Dedikált CLK láb Logic I/O Register Q FPGA áramkörök, 2014.03.28. (v1.0) 8 Dedikált OEn láb

Egyszerű PLD eszközök PAL, PLA: programozható logika GAL: programozható architektúra Kimeneti makrocella Logika Regiszter Ponált/negált FPGA áramkörök, 2014.03.28. (v1.0) 9

Egyszerű PLD eszközök Altera EP sorozat: valóban univerzális PLD Szimmetrikus felépítés, minden láb I/O, kivéve Egyszerű makrocella, az összes opcióval FPGA áramkörök, 2014.03.28. (v1.0) 10

Egyszerű PLD eszközök Altera EP sorozat: valóban univerzális PLD Szimmetrikus felépítés, minden láb I/O, kivéve Egyszerű makrocella, az összes opcióval FPGA áramkörök, 2014.03.28. (v1.0) 11

Komplex programozható eszközök 80-as évek közepén Felhasználói igények nagyobb logikai és interfész kapacitás Technológiai lehetőségek Integráltság növelhető Két megközelítés Programozhatóság Komplexitás CPLD ~ CPU órajelnövelés Komplexitás Programozhatóság FPGA ~ Többmagos megoldások (multicore, manycore) FPGA áramkörök, 2014.03.28. (v1.0) 12

Programozhatóság Komplexitás CPLD/MEGAPAL eszközök A meglévő struktúra skálázása Egyszerű megoldás Blokkos felépítés Egyszintű/kétszintű huzalozás Determinisztikus időzítés FPGA áramkörök, 2014.03.28. (v1.0) 13

Komplexitás Programozhatóság Hagyományos technológia Felhasználói igények figyelembevétele MPGA Maszk Programozott áramkör Moore törvény hatása a PLD piacon Tranzisztor/logikai elem ára csökken Redundancia, áramköri költség növelhető Piacra jutási idő jelentősége nő (termék életciklus) Prototípus, kis sorozat, induló termék Time to Market FPGA áramkörök, 2014.03.28. (v1.0) 14

FPGA Field Programmable Gate Array 1984: Xilinx megalapítása Ross Freeman feltaláló Bernie Vonderschmitt: fabless company idea Jim Barnett csendestárs?? 1985: XC2064 64 logikai cella LUT + DFF ~50 I/O 5V, 50MHz toggle rate FPGA áramkörök, 2014.03.28. (v1.0) 15

FPGA technológiák Felhasználó általi programozhatóság Egyszer, nem javíthatóan (max. inkrementális jav.) Többször, de csak törlés után Minden induláskor Automatikusan master módban, vagy Külső vezérlés alatt, slave módban Működés közben Teljes konfiguráció átkapcsolása (indulási + egyéb) Részleges, dinamikus átkonfigurálás FPGA áramkörök, 2014.03.28. (v1.0) 16

OTP FPGA Egyszer programozható eszközök A konfigurációs elem neve: antifuse Információ: fizikai állapot változtatása Előnyök: Kis méret R OFF, R ON, C Biztonságos Kiolvasás Változás Actel, Quicklogic FPGA áramkörök, 2014.03.28. (v1.0) 17

Flash FPGA Sokszor programozható, törlés után Programozás, törlés beépítve is lehetséges Flash cella felépítése (Actel ProASIC) Információ: töltés Előny: Állandó Módosítható Biztonságos Actel FPGA áramkörök, 2014.03.28. (v1.0) 18

SRAM FPGA A hagyományos FPGA megvalósítási elv A legáltalánosabb CMOS technológia Minden információ memória cellákban Beolvasandó, betöltendő Előny: Bármikor átprogramozható Olcsó technológia Mindig a legjobb felbontás Konfiguráció módosulhat Kozmikus sugárzás SEU, egyedi változás FPGA áramkörök, 2014.03.28. (v1.0) 19

FPGA felépítése Egyszerű felépítés (felhasználói oldalról nézve) Általános célú logikai elemek Programozható huzalozás Kivezetések Példa: Xilinx SRAM FPGA FPGA áramkörök, 2014.03.28. (v1.0) 20

FPGA felépítése A valódi komplexitás részben rejtve van Két réteg logika Konfiguráció beléptetése Visszaolvasás FPGA áramkörök, 2014.03.28. (v1.0) 21

Általános tulajdonságok Logikai cella alapkövetelménye: univerzális elem Granularitás szerint széles skála Finom Durva 1T NAND2 MUX4 LUT4 ½GAL Típusok felépítés szerint Egyszintű, sea of gates Csatorna Szimmetrikus / Manhattan Hierarchikus FPGA áramkörök, 2014.03.28. (v1.0) 22

Felépítés szerinti osztályozás Szimmetrikus Csatorna típusú Hierarchikus FPGA áramkörök, 2014.03.28. (v1.0) 23

Logikai cella példák 1T finomságú konfigurálás Minimális redundancia Rengeteg kapcsolóelem Kihalt típus, csak példa FPGA áramkörök, 2014.03.28. (v1.0) 24

Logikai cella példák NAND2 logikai cella alapú, finom granularitás Lokális kapcsolatok, nincs külön huzalozás Nincs globális órajel FPGA áramkörök, 2014.03.28. (v1.0) 25

Logikai cella példák Közepes granularitású, MUX4 alapú cella Actel ACT1, ACT2, ACT3 FPGA áramkörök, 2014.03.28. (v1.0) 26

Logikai cella példák Közepes granularitású SRAM LUT cellák LUT = Look Up Table = memória 4 változó tetszőleges függvénye, táblázat a konfigurációból A LUT4 tekinthető egy MUX16-nak is, a konfigurációs program által rögzített adatbemenetekkel FPGA áramkörök, 2014.03.28. (v1.0) 27

A CLB erőforrása Az alap erőforrás a Logic Cell LC = 1 LUT + 1 FF LUT4 Tetszőleges 4 változós függvény 1 változóra hazárdmentes Működési idő bemenetszám és logikai komplexitás invariáns DFF Élvezérelt,, órajel eng. Szinkron/aszinkron SET/RESET Független kombinációs és regiszteres kimenet FPGA áramkörök, 2014.03.28. (v1.0) 28

Logikai cella felépítése Általános jellemzők A cella felépítés alapjaiban egyszerű Tartalmaz persze sok kiegészítést Belső kapuk, erőforrások Lokális kapcsolatokhoz Független LUT / FF használathoz Speciális logikákhoz Sok bemenetű dekóder Sok bemenetű multiplexer Aritmetikai kiegészítés FPGA áramkörök, 2014.03.28. (v1.0) 29

Dedikált CLB erőforrások Az egységes alapkoncepció finomítása A LUT4 természetesen mindenre jó, de A sokváltozós logikai függvények, a legegyszerűbbek is túl sok szintet igényelnek lassú Az aritmetikai műveletekben kell átvitel jel. Ez egy fontos, de csak belül szükséges, időkritikus jel. LUT4 alapon 100% redundancia lép fel (3 bemeneti jel 2 függvénye) Hagyományos tömbszorzónál egy-egy szinten kell lokális bitszorzat (AND2), valamint összeadás a részszorzatokhoz FPGA áramkörök, 2014.03.28. (v1.0) 30

A gyors átvitelképzés Az aritmetikai műveletek hatékonysága alapvető Sebességük a használhatóságot egyértelműen jellemzi Az elemei művelet: S j = A j xor B j xor C ij C oj = A j B j + A j C ij + B j C ij A teljes művelet végrehajtási ideje a C i0 C on-1 út terjedési ideje, n-1 az adatméret függvénye A beépített egyszerű átvitel lánc feleslegessé tesz bármilyen más CLA, CS módszert FPGA áramkörök, 2014.03.28. (v1.0) 31

A gyors átvitel logika A műveletet 1 bites fél összeadókra bontja A szelet Cin bejövő bitje BX input vagy alsó CLB Cout vagy fix 0 / 1 Összeg bit Fout= A0 xor B0 Xout = Fout xor Cin Átvitel Bit helyiértékenként átvitelterjesztés vagy átvitel generálás A CYMUXF vezérlése az Fout jellel Tehát ha Fout=1, terjeszt, ezért CoutF=Cin, egyébként CoutF=AB, vagyis generál, ha AB=1 Az erőforrások más logika megvalósítására is használhatók FPGA áramkörök, 2014.03.28. (v1.0) 32

A gyors átvitel logika Aritmetika ADD/SUB/INC/DEC művelet SUM=A xor B xor C i Átvitel terjesztés és/vagy generálás C o = AB + AC i + BC i C o = (A xor B)? C i : A; FPGA áramkörök, 2014.03.28. (v1.0) 33

I/O funkciók Alapvetően minden felhasználói láb I/O, tehát lehet kimenet, bemenet Nem használt lábak fix értéken Gyakran többfunkciós lábak Konfiguráció Normál használat A valódi I/O blokkok sokkal bonyolultabbak Beleszámítanak az ekvivalens kapu/rendszer kapu leltárba OE OUT PIN IN FPGA áramkörök, 2014.03.28. (v1.0) 34

Huzalozás Többnyire hierarchikus Mindig van szomszédos kapcsolat Esetleg 2 vagy 4 sugarú Lehetnek ún. hosszú vonalak Teljes áramköri szelet felületén Vagy régiónként Vannak globális hálózatok Elengedhetetlen az órajel terjesztéshez Vagy a globális RESET kialakításához FPGA áramkörök, 2014.03.28. (v1.0) 35

Huzalozás fontossága A terv minőségét döntően befolyásolja Időzítések a huzalozási szintek számán buknak el A LUT késleltetés elfogadható, de komplex funkció több LUT összekapcsolását igényli Elérhető rendszer sebesség lecsökken Speciális elrendezések a minőség javítására FPGA áramkörök, 2014.03.28. (v1.0) 36

Összefoglalás Komplex rendszerek tervezéséhez különböző eszközeink vannak, ezek egyike az FPGA Közepes, vagy kis sorozatoknál nem gazdaságos egyedi ASIC fejlesztése (idő, pénz, munka) FPGA-k rugalmasan alkalmazhatók, gyors tervezés, megvalósítás, módosíthatóság Egyedi előnyök, alkalmazásfüggő specialitások Nagy komplexitás Nagy sebesség NEM EGYSZERRE! Kis fogyasztás FPGA áramkörök, 2014.03.28. (v1.0) 37