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)

Rendszertervezés FPGA eszközökkel

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

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA02) Laboratórium 3

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

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

Dr. Oniga István DIGITÁLIS TECHNIKA

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

Dr. Oniga István DIGITÁLIS TECHNIKA

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

PAL és s GAL áramkörök

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1

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

Mikrorendszerek tervezése

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika (VIMIAA02) Laboratórium 5.5

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

Digitális technika (VIMIAA02) Laboratórium 4

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

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

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

Szimuláció és verifikáció. Digitális rendszerek tervezése FPGA áramkörökkel Szimuláció és verifikáció. Kétfajta szimulációs módszer

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

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

Digitális technika VIMIAA01 9. hét

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

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?

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

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 áramkörök és rendszerek alkalmazása az űrben 3.

Digitális eszközök típusai

Digitális rendszerek tervezése FPGA áramkörökkel Szimuláció és verifikáció

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

Digitális technika (VIMIAA01) Laboratórium 4

Elvonatkoztatási szintek a digitális rendszertervezésben

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

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

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

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

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

A hálózattervezés alapvető ismeretei

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

Multi-20 modul. Felhasználói dokumentáció 1.1. Készítette: Parrag László. Jóváhagyta: Rubin Informatikai Zrt.

DIGITÁLIS TECHNIKA I

8.3. AZ ASIC TESZTELÉSE

MIKROELEKTRONIKA, VIEEA306

Hardver leíró nyelvek (HDL)

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Irányítástechnika Elıadás. PLC rendszerek konfigurálása

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

Integrált áramkörök/3 Digitális áramkörök/2 CMOS alapáramkörök Rencz Márta Ress Sándor

Programozható logikai eszközök Milotai Zsolt

Biztonságkritikus rendszerek Gyakorlat: Architektúrák

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

12. hét: Kombinációs hálózatok megvalósítása LSI/MSI áramkörökkel (PAL, PLA, PROM, CPLD), VLSI (FPGA) áramkörökkel és memóriával.

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

Standard cellás tervezés

Autóipari beágyazott rendszerek CAN hardver

Bevezetés a Xilinx PLD-k és az ISE WebPACK alkalmazásába

Dr. Oniga István DIGITÁLIS TECHNIKA 8

elektronikus adattárolást memóriacím

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

ems2.cp04d [18010] Keriterv Mérnök Kft Programozható Automatikai állomás 14 multifunkcionális bemenet, 6 relé kimenet, 4 analóg kimenet DIGICONTROL

DIGITÁLIS TECHNIKA 11. Előadás

Számítógép felépítése

Digitális technika Xilinx ISE GUI használata

Digitális Rendszerek és Számítógép Architektúrák (BSc államvizsga tétel)

Áramkörön belüli rendszerek

PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK. Elıadó: Dr. Oniga István Egytemi docens

Digitális technika (VIMIAA01) Laboratórium 9

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

Irányítástechnika Elıadás. Programozható logikai vezérlık

LOGSYS LOGSYS SPARTAN-3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 19. Verzió

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

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

Mérés, Vezérlés. mérésadat rögzítés CMC - 99 CMC kis és nagytestvér

Attribútumok, constraint-ek

Hobbi Elektronika. Bevezetés az elektronikába: Logikai kapuáramkörök

Digitális technika (VIMIAA02) Laboratórium 2

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

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Digitális technika VIMIAA02

Feszültségszintek. a) Ha egy esemény bekövetkezik akkor az értéke 1 b) Ha nem következik be akkor az értéke 0

Digitális technika (VIMIAA01) Laboratórium 9

Parciális rekonfiguráció Heterogán számítási rendszerek VIMIMA15

Arduino bevezető Szenzorhálózatok és alkalmazásaik

LOGSYS LOGSYS ECP2 FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 18. Verzió

Digitális technika VIMIAA02

6. hét: A sorrendi hálózatok elemei és tervezése

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

Újrakonfigurálható eszközök

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

XI. DIGITÁLIS RENDSZEREK FIZIKAI MEGVALÓSÍTÁSÁNAK KÉRDÉSEI Ebben a fejezetben a digitális rendszerek analóg viselkedésével kapcsolatos témákat

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

A/D és D/A konverterek vezérlése számítógéppel

Á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 BME MIT atórium

Rendszer leírási módszerek Gajski Kuhn féle Y diagram

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

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

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? 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ó 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

Technológiai áttekintés 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

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 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

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 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

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

Tervezési szempontok Komplexitás becslés (lábszám, logika, sebesség) Terv elıkészítés egyszerő leírónyelven (PALSM, ABEL, CUPL, AHDL) Fordítás, feldolgozás Szimuláció, tesztvektorok (logikai egyenletekre!) Optimalizálás, leképezés Szimuláció eszközmodell alapján (nincs idızítés!) JEDEC fájl generálás és programozás

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 Komplexitás Programozhatóság FPGA

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

CPLD eszközök Komplexitás felépítésbıl adódóan korlátozott Maximum 512 makrocella 512 FF Maximum ~200 I/O láb BGA 256, PQ208 Kiváló idızítések Garantált I O kombinációs 4-7 ns 100 200 MHz mőködési frekvencia Könnyő tervezés ( ma már HDL alapon)

CPLD eszközök Kiváló kiegészítı/illesztı logika Kis tokozás Flexibilis I/O kiosztás I/O lábak függetlenítése, többszörös VIO Sokszor 5V toleráns Mőködés közbeni csatlakoztathatóság Kedvezı fogyasztás Igazi CMOS, minimális statikus áram Órajel felezı/duplázó Bemenetek leválaszthatóak, kimenet tart

CPLD eszközök (spec) Technológia Flash vagy EEPROM Áramkörön belüli programozhatóság Fontosabb gyártók Altera Lattice Xilinx Megjegyzés: Altera MAXII Valójában nem CPLD, hanem egyszerősített FPGA struktúra kétszintő huzalozással Belsı flash a konfiguráció tárolásához, SRAM logikai cellákkal

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 ára, elérhetısége folyamatosan csökken Redundancia, áramköri költség növelhetı Piacra jutási idı jelentısége nı Prototípus, kis sorozat, induló termék Time to Market

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 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: Kis méret R OFF, r ON, C Biztonságos Kiolvasás Változás Actel, Quicklogic

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

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

Értékelés technológia alapján Technológia alapján Elérhetı komplexitásban az SRAM verhetetlen Altera Stratix4 40nm 680k LE Xilinx Virtex5 65nm 330k LE Sebességben az SRAM jobb Blokkok 300-400MHz, rendszer 200 250 MHz Tokozás, lábszám, interfészek SRAM > 1000 2000 láb BGA tokok Speciális interfészek SERDES, DDR, LVDS,

Más paraméterek Fogyasztás SRAM kritikus, relatíve nagy nyugalmi áram Sok tranzisztor, sokszor x fa statikus áram Megoldás: Globális: különbözı tranzisztor geometriák (Xilinx) Tartományonkénti belsı feszültség csökkentés (Altera) Bekapcsolási induló áram lökés

Kis fogyasztású alkalmazások Az antifuse vagy flash technológiájú eszközök használhatók Hordozható eszközök (PDA, MP3, Mobil telefon) Intelligens szenzor elemek Kamerák, képalkotók Actel IGLOO Flash programozhatóság, minimális fogyasztás

QuickLogic CSSP PolarPro, ArcticLink Antifuse alapú eszközök Lényegében ASIC helyettesítı alkalmazásokra Customer Specific Standard Product Sok szabványos periféria, jó könyvtár Egyedi blokkok Kis méret Interfészek

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 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 Példa: Xilinx SRAM FPGA

Á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

Felépítés szerinti osztályozás Szimmetrikus Csatorna típusú Hierarchikus

Logikai cella példák 1T finomságú konfigurálás Minimális redundancia Rengeteg kapcsolóelem Kihalt típus, csak példa

Logikai cella példák NAND2 logikai cella alapú, finom garnularitás Lokális kapcsolatok, nincs külön huzalozás Nincs globális órajel

Logikai cella példák Közepes granularitású, MUX4 alapú cella Actel ACT1, ACT2, ACT3

Logikai cella példák QuickLogic ProASIC, Eclipse, PolarPRO MUX alapú ViaLink antifuse konfiguráció Sok bemenet Több kimenet

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

Logikai cella problémák Örökös gond a marketing Hogyan lehet eladni az eszközöket? Mire jó a beépített/rendelkezésre álló erıforrás? Feladat komplexitása VLSI terminológiában KAPUSZÁM ASIC gyártási költség méret ~ kapuszám arányos FPGA költség gyártási költség igen Vevı költsége mivel arányos? Innováció EQVIVALENS KAPUSZÁM

Logikai cella problémák EQVIVALENS KAPUSZÁM Jelent-e valamit? Valószínőleg A tipikus problémákra jó A mi problémánk tipikus? ASIC: a kapuszám arányos a logika komplexitással FPGA A teljes terv hogyan képezhetı le a cellákra?

Logikai cella problémák CrossPoint 1T cella költségarányos, bár túl sok kapcsoló Plessey NAND2 cella költségarányos, de elveszik huzalozásra Nagyobb granularitás 1 db inverter = 1 logikai modul 1 db MUX4 = 1 logikai modul (Actel, QuickLogic) Tetszıleges 4 bemenető logika = 1 LUT (Xilinx, Altera) Optimum nincs, csak kompromisszum Hogyan számoljuk a beépített egyéb apróságokat? Pl. JTAG tesztelési logikát Hasznos, ha kell, lényegtelen, ha nem Az ASIC esetén ki kell fizetni a rá esı kapuk árát!!!!!!!

Logikai cella problémák SRAM technológia Kezdetben volt a CLB Configurable Logic Block XC2000 1 LUT + 1FF Megjelent a LE/LC elnevezés Logic Element/Logic Cell Ez maradhatna a legjobb referencia 1 LUT + 1FF Kialakult a Slice 2 LUT + 2FF Mivel ma 1 CLB tartalmaz 2 db jobb és 2 db baloldali slice-ot (ezek nem teljesen azonosak), ezért a CLB kb. 8 LE komplexitású, 2x2x2, plusz a beépített

Logika cella felépítése Összegzés 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ő multplexer Aritmetikai kiegészítés

Logikai cella felépítése Xilinx XC3S250E SliceM felsı Logikai Cella

Logikai cella felépítése Actel IGLOO, flash alapú VersaTile cellája

I/O funció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 TE OUT IN PIN

Huzalozás Többnyire hierarchikus Mindig van szomszédos kapcsolat Esetleg 2 vagy 4 sugarú Lehetnek ún. hosszú vonalak Teljes csip felületen vagy régiónként Vannak globális hálózatok Elengedhetetlen az órajel terjesztéshez Van a globális RESET kialakításához

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

Megoldás Az idızítés a LUT méret módosításával teljesíthetı 6 bemenető LUT, 4x nagyobb cella méret Altera ALM Adaptive Logic Module Xilinx CLB Configirable Logic Block Diagonálisan szimmetrikus lokális kapcsolatok Kevesebb huzalozási szegmens jobb idızítés A felhasználó megtévesztése érdekében: 1 CLB = 2 Slice, ami tartalmaz 4 db 64 bites LUT + 4 FF

Ö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