PROGRAMOZHATÓ LOGIKAI. Előadó: Dr. Oniga István

Hasonló dokumentumok
Dr. Oniga István DIGITÁLIS TECHNIKA

Dr. Oniga István DIGITÁLIS TECHNIKA

Rendszertervezés FPGA eszközökkel

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

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

Dr. Kincses Zoltán, Dr. Vörösházi Zsolt: FPGA-alapú beágyazott rendszerek tervezése

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

Jelfeldolgozó processzorok (DSP) Rekonfigurálható eszközök (FPGA)

Pannon Egyetem, MIK-VIRT, Veszprém. Dr. Vörösházi Zsolt

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

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 Rendszerek és Számítógép Architektúrák

Attribútumok, constraint-ek

ARM processzorok felépítése

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?

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

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

A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához

Using the CW-Net in a user defined IP network

Széchenyi István Egyetem

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

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

(NGB_TA024_1) MÉRÉSI JEGYZŐKÖNYV

DIGITAL TECHNICS I. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 12. LECTURE: FUNCTIONAL BUILDING BLOCKS III

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

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

Cloud computing Dr. Bakonyi Péter.

Formula Sound árlista

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?

TI TMDSEVM6472 rövid bemutatása

Útmutató a Computer Setup (F10) segédprogram használatához dx2300 minitorony

Számítógép architektúrák. Tartalom. A memória. A memória

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

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

Intelligens Érzékelők

MEMÓRIA TECHNOLÓGIÁK. Számítógép-architektúrák 4. gyakorlat. Dr. Lencse Gábor. tudományos főmunkatárs BME Híradástechnikai Tanszék

Új hálózati megoldások Gbit xdsl technológiával

PROGRAMOZHATÓ LOGIKAI. Előadó: Dr. Oniga István

Digitális rendszerek. I. rész. Dr. Turóczi Antal

Mikrorendszerek tervezése

MAKING MODERN LIVING POSSIBLE. Danfoss Heating Solutions

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

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

Energia automatizálás

Correlation & Linear Regression in SPSS

NCS5500 bemutató. Balla Attila

ISE makró (saját alkatrész) készítése

HAMBURG Használati útmutató Vezérlőmodul UKSM 24VDC Cikkszám:

IT Biztonságtechnika - antidotum Mint egy Ferrari: gyors, szép. WatchGuard

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

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet. Correlation & Linear. Petra Petrovics.

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

Útmutató a Computer Setup (F10) segédprogramhoz HP üzleti célú asztali számítógépek dx5150 típus

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

Szenzorhálózatok. Mica moteok hardware felépítése (Folytatás) Orosz György

A Számítógépek felépítése, mőködési módjai

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.

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

IBM Váltsunk stratégiát! Budapest, 2012 november 14. V7000

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet

On The Number Of Slim Semimodular Lattices

Operációs rendszerek Memóriakezelés 1.1

DIGITÁLIS TECHNIKA I KARNAUGH TÁBLA, K-MAP KARNAUGH TÁBLA PROGRAMOK PÉLDA: ÖT-VÁLTOZÓS MINIMALIZÁLÁS PÉLDA: ÖT-VÁLTOZÓS MINIMALIZÁLÁS

Tervezési módszerek programozható logikai eszközökkel

Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW3 SW2. Kuris Ferenc - [HUN] Cisco Blog -

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

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

Ami az Intel szerint is konvergens architektúra

Adatkezelő szoftver. Továbbfejlesztett termékvizsgálat-felügyelet Fokozott minőség és gyártási hatékonyság

Proxer 7 Manager szoftver felhasználói leírás

Programozható logikai eszközök Milotai Zsolt

Autóipari beágyazott rendszerek

KN-CP50. MANUAL (p. 2) Digital compass. ANLEITUNG (s. 4) Digitaler Kompass. GEBRUIKSAANWIJZING (p. 10) Digitaal kompas

Útmutató a Computer Setup (F10) segédprogramhoz HP üzleti célú asztali számítógépek dx5150 típus

Hitachi Flash Újdonságok. Szokol Zsolt Senior Solution Consultant 2016 március

Analitikai megoldások IBM Power és FlashSystem alapokon. Mosolygó Ferenc - Avnet

A HP ProLiant szerverek következő generációja

IT trendek és lehetőségek. Puskás Norbert

Szintézis attributumok és constraint-ek

IBM Power 550 Express szerver

(Ethernet) Készítette: Schubert Tamás. LAN kapcsolás /1

IP/09/473. Brüsszel, március 25

KIEGÉSZÍTŽ FELADATOK. Készlet Bud. Kap. Pápa Sopr. Veszp. Kecsk Pécs Szomb Igény

A Picoblaze Core implementálása FPGA-ba

A mikroszámítógép felépítése.

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

Mikrovezérlők Alkalmazástechnikája

Új funkciók az RBP-ben október 1-től New functions in RBP from 1 October Tatár Balázs

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

First experiences with Gd fuel assemblies in. Tamás Parkó, Botond Beliczai AER Symposium

2. Local communities involved in landscape architecture in Óbuda

Analog- and digital hw Signal processing- and operating sw Equipment System (INTERJAM) Dr. Eged Bertalan.

Digitális Technika I. (VEMIVI1112D)

építészet & design ipari alkalmazás teherautó felépítmény

Programozható logikai vezérlõk

Correlation & Linear Regression in SPSS

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

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

Átírás:

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

Összeállította Dr. Oniga István A következő anyagok felhasználásával Digitális rendszerek tervezése FPGA áramkörökkel. Fehér Bela Szanto Peter, Lazanyi Janos, Raikovich Tamas (BME MIT FPGA laboratorium) Basic FPGA Architectures Xilinx University Basic FPGA Architectures. Xilinx University Program - Professor workshop material

Technológiai áttekintés Digitális eszközök típusai Logikai elemek Szabvány Egyedi Programozható ASIC MPU MSI fix funkciók, logikák CPU ASSP Egyszerű PLD Komplex PLD PLA PAL GAL CPLD FPGA FPOA RPU

Egyszerű PLD eszközök ö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

Programmable logic array

PLA tervezése 5 bemenete (A, B, C, D, E) 4 kimenete Van (X, Y, W, Z) Példa: X függvény megvalósítása: Rajzoljuk fel a szükséges kapcsolást a következő függvények megvalósításához:

PAL és GAL áramkörök A PAL - biztosíték átégetése, csak A GAL (Generic Array Logic) egyszer lehetséges, újraprogramozható

Programmable Read Only Memory

Egyszerű PLD eszközök ö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 ök PAL, PLA Programozható logika GAL Programozható architektúra Kimeneti makrocella Logika Regiszter Ponált/negált

Egyszerű PLD eszközök ök Altera EP sorozat Valóban univerzális PLD Szimmetrikus felépítés Egyszerű makrocella, az összes opcióval

Tervezési szempontok Komplexitás becslés (lábszám, logika, sebesség) Tervelőkészítés 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ó htóeszközök köö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 ö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 ö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 ö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 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 = Felhasználó által programozható kapuáramkörök (tetszőlegesen/többször) 1984 Xilinx megalapítása 1984 Xilinx megalapítása Ross Freeman feltaláló Bernie Vonderschmitt fabless company idea Jim Barnett 1985 XC2064 64 logikai cella LUT + DFF 50 I/O ~50 I/O 5V, 50MHz toggle rate

FPGA IOB IOB IOB IOB IOB IOB IOB IOB Konfigurálható Logikai Blokk (CLB) Look-up table (LUT) Regiszter Logikai áramkörök Összeadók (Adder) Programozható összeköttetés hálózat Input/Output Block (IOB) IOB IOB IOB IOB IOB IOB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB CLB IOB IOB IOB IOB IOB IOB Szorzók (Multiplier) Memóriák (Memory) Beágyazott Microprocessor(ok) IOB IOB CLB CLB CLB CLB IOB IOB IOB IOB IOB IOB IOB IOB IOB IOB

Xilinx FPGA családok Nagy teljesítmény Alacsony költség Virtex (1998) Spartan-II (2000) 50K-1M gates, 0.22µm 15K-200K gates, 0.22µm Virtex-E/EM (1999) Spartan-IIE (2001) 50K-4M gates, 0.18µm 50K-600K gates, 0.18µm Virtex-II (1999) Spartan-3 (2003) 40K-8M gates, 0.15µm 50K-5M gates, 90nm Virtex-II Pro/X (2002) Spartan-3E (2005) 50K-10M gates, 0.13µm 100K-1.6M 1 gates, 90nm Virtex-4 (2004) [LX, FX, SX] Spartan-3AN (2006) 50K-10M gates, 90nm 50K-1.4M gates, 90nm Virtex-5 (2006) [LX, LXT, SXT] Spartan-3A - DSP (2006) 65nm 1.8M-3.4M gates, 90nm Virtex-5 FXT, TXT (2008) Spartan-6 LX, LXT (2009) 65nm 45nm Virtex-6 LXT, SXT (2009) 40nm Virtex-7 Kintex-7 Artix-7 28nm 28nm 28nm

High performance Xilinx Virtex FPGAs (1998-2009) 1,00E+06 Available Virtex-6; resources Virtex-5; (331 776) (758 784) Virtex-4; (200 448) 1,00E+05 Virtex-E/EM; (73 008) Virtex-II Pro; (99 216) 1,00E+04 1,00E+03 1,00E+02 Virtex-II; (46 592) Virtex; (27 648) Virtex-4; (9936K) Virtex-II Pro; (7992K) Virtex-II; (3024K) Virtex-E/EM; (1120K) Virtex-4; (512) Virtex-II Pro; Virtex; (128K) Virtex-II; ;(168) (444) Virtex-5; (18567K) Virtex-5; (1 056) Virtex-6; (38304K) Virtex-6; (2 016) 1,00E+01 1,00E+00 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 20 Year BRAM memory (Kb) Logic Cells Multiplier * PhD dissertation Zs. Vörösházi

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 technológiák 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, 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ök: Á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 (single event upset)

Értékelés technológia alapján Technológia alapján Elérhető komplexitásban az SRAM verhetetlen Altera Stratix4: 40nm, 680k LE; Stratix5: 28nm Xilinx Virtex6: 40nm, 566k LE; Virtex7: 28nm, 1955k 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,

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

Fontosabb FPGA gyártók Xilinx http://www.xilinx.com Altera http://www.altera.com Actel http://www.actel.com Latice http://www.latticesemi.com/ QuickLogic http://www.quicklogic.com/ com/

Altera

ALTERA Stratix V FPGA Table 2. Comparison of Stratix V Variants Feature Stratix V E Stratix V GS Stratix V GX Stratix V GT FPGA FPGA FPGA FPGA High performance adaptive logic modules (ALMs) 359,2 262,4 359,2 234,72 Variable precision DSP blocks (18x18) 704 3,926 798 512 M20K memory blocks 2,64 2,567 2,66 2,56 External memoryinterface Partial reconfiguration fpll Design security SEU mitigation PCI Express Gen3, Gen2, Gen1 hard IP blocks - Up to 2 Up to 4 1 Embedded HardCopy Blocks and hard IP - Transceivers (1) - 14.1 Gbps / 48 14.1 Gbps / 66 28G / 4 12.5 Gbps / 32

ALTERA Cyclone V FPGA

XILINX FPGAk

XILINX Spartan FPGA-k

FPGA felépítése Egyszerű felépítés (felhasználói oldalról nézve) Általános célú logikai elemek = CLB Programozható huzalozás = Programmable interconnect Kivezetések = IOB 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ó Példa: Xilinx SRAM FPGA

Logikai icella 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 icella problémák Örökös gond a marketing Feladat komplexitása VLSI terminológiában KAPUSZÁM ASIC gyártási költség méret ~ kapuszám arányos Innováció EQVIVALENS KAPUSZÁM New fabrication processes require 6-8 month turnaround. Most profitable period is first 18 months-2 years.

Logikai icella problémák SRAM technológia Kezdetben volt a CLB Configurable Logic Block XC2000 1 LUT + 1FF Megjelent a LE/LC elnevezés Ez maradhatna a legjobb referencia 1 LUT + 1FF Kilklt Kialakult a Slice 2 LUT + 2FF Logic Element/Logic Cell 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

FPGA belső ő felépítés SRAM FPGA mindig LUT alapú A LUT egy 1 bit széles memória Mélysége (címvonalak száma ) változó Korai elemzések alapján a 4 bit tűnt toptimálisnak Kompromisszum a huzalozás és granularitás között Egy logikai iegység 2 4LUT közelségére é épít Lokális belső kapcsolatok a késleltetést csökkentik Legújabb bbirányzat a drágább ábbtermékvonalban alapelem mérete x4, azaz LUT6

Példa eszköz: Xilinx Spartan3E Általános felépítés egyszerű Homogén logikai struktúra Egyenletes CLB réteg Funkcionális blokkok k BRAM MULT DCM I/O gyűrű

Al logikai ielemek Enyhe aszimmetria a CLB felépítésben 1CLB=2x2Szelet 2 Bal és jobb szelet eltérő Et Extra LUT módok ódk Független függőleges kapcsolatok speciális logika aritmetika

ACLB struktúra Megosztott elrendezés Független belső blokkok Szempontok nem ismertek 4 bit számláló/aritmetika Kedvezőbb huzalozás? Az extra memória funkciók hasznosak A konfigurációs memória részletei felhasználói memóriaként is elérhetők

ACLB erőforrása Az eredeti koncepció nem változott Az alap erőforrás az Logic Cell LC = 1 LUT + 1 FF LUT4 tetszőleges 4 változós fgv. 1 változóra hazárdmentes Működési idő bemenet és logikai komplexitás invariáns DFF Élvezérelt,, órajel eng. Szink/Aszink. SET/RESET Független kombinációs és regiszteres kimenet

DdikáltCLB Dedikált 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) és összeadás a részszorzatokhoz

Logika cella felépítése Összegzés A cella felépítés alapjaiban egyszerű Tartalmaz persze sok kiegészítést Blő Belső kapuk, k 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 i cella felépítése Xilinx XC3S250E SliceM felső Logikai Cella

Virtex: Slice - szelet Look-Up Table 4-bemenetű LUT 16 x 1-bit szinkron RAM 16-bit shift regiszter Tároló elemek Élvezérelt D-típusú FF További Logikai áramkörök F5, F6 multiplexer Aritmetikai Dedikált Dedikált Logikai Egység carry logika AND kapuk

Milyen erőforrások vannak egy Slice-ban M: Slice can be condifuger for L: Slice only for Memory (Logic, Distributed RAM, Logic Shift Register)

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 TE Gyakran többfunkciós lábak OUT Konfiguráció Normál használat IN A valódi I/O blokkok sokkal bonyolultabbak Beleszámítanak az ekvivalens kapu/rendszer kapu leltárba 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: 1CLB= 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

Outline Overview Virtex-II Logic Resources I/O Resources Memory Clocking Other Architectures Latest Families Virtex-6 Family Spartan-6 Family Summary

Virtex-II Architecture First FPGA Device to include embedded multipliers Block SelectRAM resource I/O Blocks (IOBs) Dedicated multipliers Virtex -II architecture s core voltage operates at 1.5V Programmable interconnect Configurable Logic Blocks (CLBs) Clock Management (DCMs, BUFGMUXes)

Basic Building Block Configurable Logic block Slices contain logic resources and are arranged in two colums A switch matrix provides access to general routing resources Local routing provides connection between slices in the same CLB, and it provides routing to neighboring CLBs Switch Matrix COUT BUFT BUF T SHIFT Slice S1 Slice S0 CIN COUT Slice S3 Slice S2 CIN Virtex-II CLB contains four slices Local Routing

Basic Building Blocks Each slice has four outputs Two registered outputs, two non-registered outputs Two BUFTs associated with each CLB, accessible by all 16 CLB outputs Carry logic runs vertically, up only Two independent carry chains per CLB Simplified Slice Structure Slice 0 LUT LUT Carry D Q Carry CE PRE CLR D PRE CE Q CLR

The Slice Detailed Structure The next few slides discuss the slice features LUTs MUXF5, MUXF6, MUXF7, MUXF8 (only the F5 and F6 MUX are shown in this diagram) Carry Logic MULT_ANDs Sequential Elements

Combinatorial logic Boolean logic is stored in Look-Up Tables (LUTs) Also called Function Generators (FGs) Capacity is limited by the number of inputs, not by the complexity Delay through the LUT is constant A B C D Combinatorial Logic A B C D Z 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1... Z 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1

Storage Elements Can be implemented as either flip-flops or latches Two in each slice; eight in each CLB Inputs come from LUTs or from an independent d CLB input Separate set and reset controls Can be synchronous or asynchronous All controls are shared within a slice Control signals can be inverted locally within a slice FDRSE_1 D CE S Q R FDCPE D PRE Q CE CLR LDCPE D PRE Q CE G CLR

Dedicated Logic FPGAs contain built-in logic for speeding up logic operations and saving resources Multiplexer Logic Connect Slices and LUTs Carry Chains Speed up arithmetic operations Multiplier AND gate Speed up LUT-based multiplication Shift Register LUT LUT-based shift register Embedded Multiplier 18x18 Multiplier

Multiplexer Logic Dedicated MUXes provided to connect slices and LUTs CLB Slice S3 Slice S2 F5 F8 F5 F6 MUXF8 combines the two MUXF7 outputs (from the CLB above or below) MUXF6 combines slices S2 and S3 Slice S1 F5 F7 MUXF7 combines the two MUXF6 outputs t Slice S0 F5 F6 MUXF6 combines slices S0 and S1 MUXF5 combines LUTs in each slice

Shift Register LUT (SRL16CE) The shift register LUT saves from having to use dedicated registers Dynamically addressable serial shift registers Maximum delay of 16 clock cycles per LUT (128 per CLB) Cascadable to other LUTs or CLBs for longer shift registers Dedicated connection from Q15 to D input of the next SRL16CE Shift register length can be changed asynchronously by toggling address A LUT D CE CLK A[3:0] LUT D CE D CE D CE D CE Q Q Q Q Q Q15 (cascade out)

Embedded Multiplier Blocks from having to use LUTs to implement multiplications and increases perfo 18-bit twos complement signed operation Optimized to implement Multiply and Accumulate functions Multipliers are physically located next to block SelectRAM memory Data_A (18 bits) Data_B (18 bits) 18 x 18 Multiplier Output (36 bits) 4 x 4 signed 8 x 8 signed 12 x 12 signed 18 x 18 signed

IOB Element Connects the FPGA design to external components Input path Two DDR registers Output t path Two DDR registers Two 3-state enable DDR registers Separate clocks and clock enables for I and O Set and reset signals are shared RegDDR MUX OCK1 Reg OCK2 3-state RegDDR MUX OCK1 Reg OCK2 Output IOB Input Reg ICK1 Reg ICK2 PAD

SelectIO Standard FPGA I/O pins can be configured to support various standards Allows direct connections to external signals of varied voltages and thresholds Optimizes the speed/noise tradeoff Saves having to place interface components onto your board Differential signaling standards LVDS, BLVDS, ULVDS LDT LVPECL Single-ended I/O standards LVTTL, LVCMOS (3.3V, 2.5V, 1.8V, and 1.5V) PCI-X at 133 MHz, PCI (3.3V at 33 MHz and 66 MHz) GTL, GTLP and more!

Outline Overview Virtex-II Architecture Logic Resources I/O Resources Memory Resources Clocking Resources Other Architectures Latest Families Virtex-6 Family Spartan-6 Family Summary

Synchronous write Asynchronous read Accompanying flip-flops p can be used to create synchronous read Distributed RAM Uses a LUT in a slice as memory RAM and ROM are initialized during configuration Data can be written to RAM after configuration Emulated dual-port RAM One read/write port One read-only port 1 LUT = 16 RAM bits LUT Slice LUT LUT RAM16X1S D WE WCLK A0 A1 A2 A3 RAM32X1S D WE WCLK A0 A1 A2 A3 A4 O O RAM16X1D D WE WCLK A0 SPO A1 A2 A3 DPRA0 DPO DPRA1 DPRA2 DPRA3

Block RAM Embedded blocks of RAM arranged in columns Up to 3.5 Mb of RAM in 18-kb blocks Synchronous read and write True dual-port memory Each port has synchronous read and write capability Different clocks for each port Supports initial values Synchronous reset on output t latches Supports parity bits One parity bit per eight data bits Situated next to embedded multiplier for fast multiply-accumulate operations 18-kb block SelectRAM memory DIA DIPA ADDRA WEA ENA SSRA CLKA DIB DIPB ADDRB WEB ENB SSRB CLKB DOA DOPA DOB DOPB

Digital Clock Manager (DCM) Up to twelve DCMs per device Located on the top and bottom edges of the die Driven by clock input pads DCMs provide the following: Delay-Locked Loop (DLL) Digital Frequency Synthesizer (DFS) Digital Phase Shifter (DPS) Up to four outputs of each DCM can drive onto global clock buffers All DCM outputs can drive general routing

Virtex-II Pro Architecture Contains embedded Processors and Multi-Gigabit Transceivers High performance True Dual-port RAM - SelectIO - Ultra 8 Mb Technology - 1164 I/O Advanced FPGA Logic 99k logic cells XtremeDSP Functionality - Embedded multipliers PowerPC Processors 400+ MHz Clock Rate - 2 XCITE Digitally Controlled Impedance - Any I/O DCM Digital Clock Management - 12 RocketIO and RocketIO X High-speed Serial Transceivers 622 Mbps to 3.125 Gbps 130 nm, 9 layer copper in 300 mm wafer technology

Virtex-4 Family Advanced Silicon Modular BLock (ASMBL) Architecture Optimized for logic, Embedded, and Signal Processing Resource LX FX SX Logic 14K 200K LCs 12K 140K 140K LCs 23K 55K LCs Memory 0.9 6 Mb 0.6 10 Mb 2.3 5.7 Mb DCMs 4 12 4 20 4 8 DSP Slices 32 96 32 192 128 512 SelectIO 240 960 240 896 320 640 RocketIO N/A 0 24 Channels N/A PowerPC N/A 1 or 2 Cores N/A Ethernet MAC N/A 2 or 4 Cores N/A

Virtex-4 Architecture RocketIO Multi-Gigabit Transceivers 622 Mbps 10.3 Gbps Advanced CLBs 200K Logic Cells Smart RAM New block RAM/FIFO Xesium Clocking Technology 500 MHz XtremeDSP Technology Slices 256 18x18 GMACs PowerPC 405 with APU Interface 450 MHz, 680 DMIPS Tri-Mode Ethernet MAC 10/100/1000 Mbps 1 Gbps SelectIO ChipSync Source synch, XCITE Active Termination

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again. Virtex-5 Family ptimized for logic, Embedded, Signal Processing, and High-Speed Connect Virtex -5 Platforms LX LXT SXT FXT Logic Logic/Serial i DSP/Serial Emb./Serial Logic On-chip RAM DSP Capabilities Parallel I/Os Serial I/Os PowerPC PC Processors

Virtex-5 Architecture Enhanced 36Kbit Dual-Port Block RAM / FIFO with Integrated ECC 550 MHz Clock Management Tile with DCM and PLL SelectIO with ChipSync Technology and XCITE DCI Advanced Configuration Options 25x18 DSP Slice with Integrated ALU Tri-Mode 10/100/1000 Mbps Ethernet MACs New Most Advanced High- Performance Real 6LUT Logic Fabric PCI Express Endpoint Block System Monitor Function with Built-in in ADC Next Generation PowerPC Embedded Processor RocketIO Transceiver Options Low-Power GTP: Up to 3.75 Gbps High-Performance GTX: Up to 6.5 Gbps

The Spartan-3 Family Built for high volume, low-cost applications 18x18 bit Embedded Pipelined Multipliers for efficient i DSP Configurable 18K Block RAMs + Distributed RAM Spartan-3 Bank 3 Bank 0 Bank 2 Bank 1 Up to eight on-chip Digital Clock Managers to support multiple system clocks 4 I/O Banks, Support for all I/O Standards including PCI, DDR333, RSDS, mini-lvds

Spartan-3 Family Based upon Virtex-II Architecture Optimized for Lower Cost Smaller process = lower core voltage.09 micron versus.15 micron Vccint = 1.2V versus 1.5V Logic resources Only one-half of the slices support RAM or SRL16s (SLICEM) Fewer block RAMs and multiplier blocks Clock Resources Fewer global clock multiplexers and DCM blocks I/O Resources Fewer pins per package No internal 3-state buffers Support for different standards New standards: 1.2V LVCMOS, 1.8V HSTL, and SSTL Default is LVCMOS, versus LVTTL

SLICEM and SLICEL Each Spartan -3 CLB contains four slices Similar to the Virtex -II Slices are grouped in pairs Left-hand SLICEM (Memory) LUTs can be configured as memory or SRL16 Right-hand SLICEL (Logic) Switch Matrix Left-Hand SLICEMRight-Hand SLICEL SHIFTIN LUT can be used as logic only Slice X0Y1 COUT COUT Slice X1Y1 Slice X1Y0 Slice X0Y0 Fast Connects SHIFTOUT CIN CIN

Spartan-6 FPGA CLB I/O CMT BUFG BUFIO Memory Controller MGT PCIe Endpoint Block RAM DSP48

Spartan-6 Lowest Total Power 45 nm technology Static power reductions Process & architectural innovations Dynamic power reduction Lower node capacitance & architectural innovations More hard IP functionality Integrated transceivers & other logic reduces power Hard IP uses less current & power than soft IP Lower IO power Low power option -1L reduces power even further Fewer supply rails reduces power Two families: LX and LXT Basic Architecture 83

Spartan-6 LX / LXT FPGAs ** All memory controller support x16 interface, except in CS225 package where x8 only is supported

Outline Overview Logic Resources I/O Resources Memory and DSP48 Clocking Resources Latest Families Virtex-6 Family Virtex-7 Family Summary

Spartan-6 FPGACLB CLB contains two slices Connected to switch matrix for routing to other FPGA resources Carry chain runs vertically through Slice0 Sce0only 0 Swit Mat tch trix COUT Slice 0 Slice 1 CIN

Three Types of Slices in Spartan-6 FPGAs SLICEM: Full slice LUT can be used for logic and memory/srl Has wide multiplexers and carry chain SLICEL: Logic and arithmetic only LUT can only be used for logic (not memory) Has wide multiplexers l and carry chain SLICEX: Logic only LUT can only be used for logic (not memory) No wide multiplexers or carry chain SLICEM SLICEX or SLICEL SLICEX

Spartan-6 CLB Logic Slices SliceM (25%) SliceL (25%) SliceX (50%) LUT6 LUT6 LUT6 8 Registers 8 Registers Optimized for Logic Carry Logic Carry Logic 8 Registers Wide Function Muxes Wide Function Muxes Distributed RAM / SRL logic Slice mix chosen for the optimal balance of Cost, Power & Performance Basic Architecture 88

Virtex Product & Process Evolution Virtex-E Virtex Virtex-II Virtex-II Pro Virtex-5 Virtex-6 40-nm 65-nm Virtex- 4 90-nm 130-nm 150-nm 180-nm 220-nm 1st Generation Virtex-6 Base Platform 89 2nd Generation 3rd Generation 4th Generation 5th Generation 6th Generation Delivering Balanced Performance, Power, and Cost Basic Architecture 89

The Xilinx 7 Series FPGAs Industry s First Unified Architecture Industry s Lowest Power and First Unified Architecture Spanning Low-Cost to Ultra High-End applications Three new device families with breakthrough innovations in power efficiency, performance-capacity and price-performance Basic Architecture 90

Virtex-7 Sub-Families The Virtex-7 family has several sub-families Virtex-7: General logic Virtex-7XT: Rich DSP and block RAM Virtex-7HT: Highest serial bandwidth Virtex-7 FPGA Virtex-7 XT FPGA Virtex-7 HT FPGA Logic Block RAM DSP Parallel I/O Serial I/O High Logic Density High-Speed Serial Connectivity High Logic Density High-Speed Serial Connectivity Enhanced DSP High Logic Density Ultra High-Speed Serial Connectivity