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)

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

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

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

Rendszertervezés FPGA eszközökkel

Dr. Oniga István DIGITÁLIS TECHNIKA

Dr. Oniga István DIGITÁLIS TECHNIKA

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1

DIGITÁLIS TECHNIKA I

PAL és s GAL áramkörök

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

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

Digitális technika (VIMIAA02) Laboratórium 4

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

Standard cellás tervezés

Digitális technika (VIMIAA02) Laboratórium 4

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

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

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Ó

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

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

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

Digitális technika (VIMIAA02) Laboratórium 5.5

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

Digitális technika VIMIAA01 9. hét

Digitális technika (VIMIAA01) Laboratórium 4

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

Digitális technika VIMIAA02 6. EA

Digitális technika VIMIAA01

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

Dr. Oniga István DIGITÁLIS TECHNIKA 8

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 VIMIAA02

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

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

Digitális technika VIMIAA01

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:

A hálózattervezés alapvető ismeretei

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

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

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

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

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

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

DIGITÁLIS TECHNIKA I

Mikrorendszerek tervezése

Digitális technika VIMIAA02

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

Digitális technika VIMIAA02

Dr. Oniga István DIGITÁLIS TECHNIKA 4

8.3. AZ ASIC TESZTELÉSE

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

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

Attribútumok, constraint-ek

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

Digitális technika (VIMIAA01) Laboratórium 9

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

Digitális technika VIMIAA hét

Digitális technika VIMIAA02

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

Digitális technika VIMIAA02 3. EA

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

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

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

Autóipari beágyazott rendszerek CAN hardver

Digitális technika VIMIAA01

Digitális technika VIMIAA hét

PLA és FPLA áramkörök

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

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

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

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika (VIMIAA02) Laboratórium 2

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

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

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

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

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

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

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

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

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

Átírás:

Rendszerspecifikáció 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 BME MIT atórium 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) 1 Tervezés Szintézis Specifikáció finomítása Hierarchikus tervezési módszerek 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 2 Felülről lefelé (top down) Léteznek a kívánt típusú komponensek? 3 Alulról felfelé (bottom up) 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 technológia előnyei Az eszköz hardver szinten programozható AMIT 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 4 5 Technológiai áttekintés Egyszerű PLD eszközök A digitális eszközök típusai Szabvány MSI Egyedi fix funkciók, ASSP Egyszerű PLD Logikai elemek Programozható logikák ASIC Komplex PLD MPU CPU PLA PAL GAL CPLD FPGA FPOA RPU 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 6 7

Egyszerű PLD eszközök Egyszerű PLD eszközök PAL áramkörök felépítése (részlet PAL16xx) Dedikált CLK láb LogicI/O Register Q PAL, PLA: programozható logika GAL: programozható architektúra Kimeneti makrocella Logika Regiszter Ponált/negált Dedikált OEn láb 8 9 Egyszerű PLD eszközök 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 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 10 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) Programozhatóság Komplexitás CPLD/MEGAPAL eszközök Ameglé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 12 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 TimetoMarket 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 ~50I/O 5V, 50MHz toggle rate 14 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 OTP FPGA Egyszer programozható eszközök A konfigurációs elem neve: antifuse Információ: fizikai állapot változtatása Előnyök: Kisméret R OFF,R ON,C Biztonságos Kiolvasás Változás Actel, Quicklogic 16 17 Flash FPGA SRAM 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 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 18 19

FPGA felépítése 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 A valódi komplexitás részben rejtve van Két réteg logika Konfiguráció beléptetése Visszaolvasás Példa: Xilinx SRAM FPGA 20 21 Általános tulajdonságok Felépítés szerinti osztályozás 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ű, seaofgates Csatorna Szimmetrikus / Manhattan Hierarchikus Szimmetrikus Csatorna típusú Hierarchikus 22 23

Logikai cella példák Logikai cella példák 1T finomságú konfigurálás NAND2 logikai cella alapú, finom granularitás Minimális redundancia Lokális kapcsolatok, nincs külön huzalozás Rengeteg kapcsolóelem Nincs globális órajel Kihalt típus, csak példa 24 25 Logikai cella példák Logikai cella példák Közepes granularitású, MUX4 alapú cella Actel ACT1, ACT2, ACT3 Közepes granularitású SRAM LUT cellák LUT = Look Up Table = memória 4vá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 26 27

A CLB erőforrása Logikai cella felépítése 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 Á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 28 29 Dedikált CLB erőforrások A gyors átvitelképzés 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 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 1azadatméret függvénye A beépített egyszerű átvitel lánc feleslegessé tesz bármilyen más CLA, CS módszert 30 31

A gyors átvitel logika A gyors átvitel logika Amű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=A0xorB0 Xout=FoutxorCin Á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 32 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 =(AxorB)?C i :A; 33 I/O funkciók Huzalozás 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 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 IN 34 35

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 Huzalozás fontossága Ö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 36 37