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. Architectures Xilinx University Program - Professor workshop material
Technológiai áttekintés • Digitális eszközök típusai Logikai elemek
Szabvány S b á MSI
Egyedi E di fix funkciók, ASSP
Programozható P h tó logikák
Egyszerű PLD
PLA
PAL
ASIC
MPU CPU
Komplex PLD
GAL
CPLD
FPGA
FPOA
RPU
Eg s erű PLD es Egyszerű eszközök 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 Fk =Σmi • Például 4 változóra egy egyszerű kifejezés F4 = 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, g , csak egyszer lehetséges,
A GAL ((Generic újraprogramozható
Array y
Logic) g )
Programmable Read Only Memory
Eg s erű PLD es Egyszerű eszközök kö ök • PAL áramkörök felépítése (részlet PAL16xx)
Logic I/O Dedikált CLK láb
Register Q
Dedikált OEn láb
E Egyszerű ű PLD eszközök kö ök • PAL, PLA → Programozható logika • GAL → Programozható architektúra – Kimeneti makrocella • Logika • Regiszter • Ponált/negált
Eg s erű PLD es Egyszerű eszközök kö ök • Altera EP sorozat → Valóban univerzális PLD • Szimmetrikus felépítés • Egyszerű makrocella, makrocella az összes opcióval
T Tervezési é i szempontok t k • Komplexitás becslés (lábszám, logika, sebesség) • Terv előkészítés egyszerű leírónyelven (PALSM (PALSM, ABEL, CUPL, AHDL) • Fordítás Fordítás, feldolgozás • Szimuláció, tesztvektorok (logikai egyenletekre!) • Optimalizálás, O ti li álá leképezés l ké é • Szimuláció eszközmodell alapján (nincs időzítés!) • JEDEC fájl generálás és programozás
K Komplex l programozható h tó 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 – Komplexitás K l iá
CPLD
→ Programozhatóság P h ó á FPGA
P Programozhatóság h tó á → Komplexitás K l itá • 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ö ök • Komplexitás felépítésből adódóan korlátozott – Maximum 512 makrocella • 512 FF
– Maximum ~200 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 MH működési űködé i frekvencia f k i – Könnyű tervezés ( ma már HDL alapon)
CPLD eszközök 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 gy – Igazi CMOS, minimális statikus áram – Órajel j felező/duplázó p – Bemenetek leválaszthatóak, kimenet tart
CPLD eszközök kö ök (spec) ( ) • Technológia – Flash vagy EEPROM – Áramkörön belüli programozhatóság • Fontosabb gyártók – Altera – Lattice L i – 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
Komple itás → Programo Komplexitás Programozhatóság hatóság • Hagyományos technológia – Felhasználói igények figyelembevétele • MPGA Maszk Programozott áramkör
• Moore törvényy hatása a PLD p piacon – Tranzisztor ára, elérhetősége folyamatosan csökken – Redundancia,, áramköri költségg növelhető • Piacra jutási idő jelentősége nő – Prototípus, p , kis sorozat,, induló termék – „Time to Market”
FPGA • Field Programmable g Gate Arrayy = „„Felhasználó által programozható kapuáramkörök ” (tetszőlegesen/többször) – 1984 Xilinx megalapítása • Ross Freeman feltaláló • Bernie Vonderschmitt „fabless company idea” • Jim Barnett
• 1985 XC2064 – 64 logikai cella • LUT + DFF
– ~50 50 I/O – 5V, 50MHz „toggle rate”
FPGA 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) Szorzók (Multiplier) Memóriák (Memory) Beágyazott Microprocessor(ok)
IOB
IOB
IOB
IOB
IOB
IOB
IOB
IOB
IOB
CLB
CLB
CLB
CLB
IOB
IOB
IOB
IOB
CLB
CLB
CLB
CLB
IOB
IOB
IOB
IOB
CLB
CLB
CLB
CLB
IOB
IOB
IOB
IOB
CLB
CLB
CLB
CLB
IOB
IOB
IOB
IOB
IOB
IOB
IOB
IOB
IOB
IOB
Xilinx FPGA családok
Nagy teljesítmény
Virtex ((1998))
40K-8M gates, 0.15µm
Spartan-3 (2003)
50K 10M gates 50K-10M gates, 0.13µm 0 13µm 50K-10M gates, 90nm 65nm 65nm
50K-1.4M gates, 90nm
Spartan-3A Spartan 3A - DSP (2006)
100K 1 6M gates 100K-1.6M gates, 90nm
Spartan-3AN (2006)
50K-5M gates, 90nm
Spartan-3E (2005)
50K-600K gates, 0.18µm
1.8M-3.4M gates, 90nm
Spartan-6 LX, LXT (2009)
45nm
Virtex-6 LXT, SXT (2009)
15K-200K gates, 0.22µm
Spartan-IIE (2001)
Virtex-5 FXT, TXT (2008)
50K-4M gates, 0.18µm
Virtex-55 (2006) [LX, LXT, SXT] Virtex
Virtex-4 (2004) [LX, FX, SX]
Spartan-II p ((2000))
Virtex-II Pro/X (2002)
50K-1M gates, 0.22µm
Virtex-II (1999)
Alacsony költség
Virtex-E/EM (1999)
40nm
Virtex-7
28 28nm
Kintex-7
28 28nm
Artix-7
28nm
High performance Xilinx Virtex FPGAs (1998-2009) 1,00E+06 A il bl Available resources
Vi Virtex-6; 6 (758 784)
Virtex-5; (331 776) Virtex-4; (200 448)
1,00E+05
Virtex-II Pro; (99 216)
Virtex-E/EM; (73 008) Virtex II; (46 592) Virtex-II; Virtex; (27 648)
Virtex-4; (9936K)
1,00E+04
Virtex-6; (38304K)
Virtex-5; (18567K)
Virtex-II Pro; (7992K) Virtex-II; (3024K)
Virtex-6;; (2 016)
Virtex-E/EM; (1120K)
1,00E+03
Virtex-5; (1 056) Virtex-4; (512) Vi t (128K) Virtex;
1,00E+02
Virtex-II Pro; (444)
Virtex-II;; ((168))
1 00E+01 1,00E+01
1,00E+00 1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
Year BRAM memory (Kb)
Logic Cells
Multiplier
* PhD dissertation Zs. Vörösházi
20
FPGA technológiák • Felhasználó általi programozhatóság – Egyszer, Egyszer nem javíthatóan (max (max. inkrementális jav.) jav ) – Többször, de csak törlés után – Minden Mi d iinduláskor d lá k • Automatikusan master módban, vagy külső vezérlés alatt slave módban alatt,
– 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ó, 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: Elő – 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)
É ték lé technológia Értékelés t h ló i alapján l já • Technológia alapján – Elérhető komplexitásban az SRAM verhetetlen • Altera Stratix4: 40nm, 680k LE; Stratix5: 28nm 40nm 566k LE; Virtex7: 28nm, 28nm 1955k LE • Xilinx Virtex6: 40nm,
– Sebességben az SRAM jobb • Blokkok 300 - 400MHz, 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,
F Fogyasztás tá – SRAM kritikus, relatíve nagy nyugalmi áram • Sok tranzisztor, sokszor x fA statikus áram • Megoldás: – Globális: Gl báli különböző külö bö ő tranzisztor i geometriák iák (Xili (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 A antifuse tif vagy fl flash h technológiájú t h ló iájú eszközök kö ök használhatók h álh tók – Hordozható eszközök (PDA, MP3, Mobil telefon) – Intelligens szenzor elemek – Kamerák, képalkotók • Actel IGLOO programozhatóság, – Flash programozhatóság – minimális fogyasztás
F t bb FPGA gyártók Fontosabb á tó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/ http://www quicklogic com/
Altera
ALTERA Stratix V FPGA
Table 2. Comparison of Stratix V Variants
Feature High‐performance adaptive logic modules (ALMs) Variable‐precision DSP blocks (18x18) M20K memory blocks External memory interface External memory interface Partial reconfiguration fPLL Design security SEU mitigation PCI Express Gen3, Gen2, Gen1 hard IP blocks Embedded HardCopy Blocks and hard IP Transceivers (1)
Stratix V E
Stratix V GS
Stratix V GX
Stratix V GT
FPGA 359,2 704 2,64
FPGA 262,4 3,926 2,567
FPGA 359,2 798 2,66
FPGA 234,72 512 2,56
-
Up to 2
Up to 4
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 f lé íté • 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 f lé íté • A valódi lódi komplexitás k l itá részben é b rejtve jt van • Két réteg logika Példa: Xilinx SRAM FPGA • Konfiguráció
L ik i cella Logikai ll példák éldák • Közepes p ggranularitá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
L ik i cella Logikai ll problémák blé ák • Örökös ggond a marketingg • 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.
L ik i cella Logikai ll problémák blé á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 Ki l k lt a Slice Sli 2 LUT + 2FF – Mivel ma 1 CLB tartalmaz 2 db jobb és 2 db baloldali slice-ot slice ot (ezek nem teljesen azonosak), azonosak) ezért a CLB kb. kb 8 LE komplexitású, 2x2x2, plusz a beépített
FPGA bbelső l ő ffelépítés lé íté • SRAM FPGA mindig LUT alapú • A LUT egy 1 bit széles memória • Mélysége (címvonalak száma ) változó – Korai K i elemzések l é k alapján l já a 4 bit tűnt tű t optimálisnak ti áli k • Kompromisszum a huzalozás és granularitás között
– Egy E logikai l ik i egység é 2 – 4 LUT „közelségére” kö l é é ” épít é í • Lokális belső kapcsolatok a késleltetést csökkentik
– Legújabb L új bb irányzat iá a drágább d á ább termékvonalban ék lb • alapelem mérete x4, azaz LUT6
Péld eszköz: Példa kö Xilinx Xili Spartan3E S t 3E • Általános felépítés egyszerű • Homogén logikai struktúra – Egyenletes CLB réteg – Funkcionális F k i áli blokkok bl kk k • BRAM • MULT • DCM
– I/O gyűrű
A llogikai ik i elemek l k • Enyhe aszimmetria a CLB felépítésben • 1 CLB = 2 x 2 Szelet • Bal és jobb szelet eltérő – Extra E t LUT módok ód k • Független függőleges kapcsolatok – speciális logika – aritmetika
A CLB struktúra t ktú • Megosztott elrendezés • „Független „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
A CLB erőforrása őf á • 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 ál ó hazárdmentes h ád – 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
D dikált CLB erőforrások Dedikált őf á k • Az egységes alapkoncepció finomítása – A LUT4 természetesen mindenre jó, jó de • A sokváltozós logikai függvények, a legegyszerűbbek is túl sok szintet igényelnek g y → 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
L ik cella Logika ll felépítése f lé íté • Összegzés – A cella felépítés alapjaiban egyszerű – Tartalmaz persze sok kiegészítést – Belső B l ő kapuk, k k erőforrások őf á k • Lokális kapcsolatokhoz • Független Fü tl LUT / FF használathoz h ál th • Speciális logikákhoz – Sok bemenető dekóder – Sok bemenető multplexer – Aritmetikai kiegészítés
L ik i cella Logikai ll felépítése f lé íté • Xilinx XC3S250E SliceM felső Logikai Cella
Virtex: Slice - szelet
Look-Up
4-bemenetű LUT 16 x 1-bit szinkron RAM 16-bit shift regiszter
Tároló
elemek
Élvezérelt
További
Table
Logikai áramkörök
F5, F6 multiplexer
Aritmetikai
D-típusú FF
Logikai Egység
Dedikált carry logika Dedikált AND kapuk
Milyen erőforrások vannak egy Slice-ban Slice ban
M: Slice can be condifuger for Memory (Logic, Distributed RAM, Shift Register)
L: Slice only for Logic
I/O funciók f iók • Alapvetően minden felhasználói láb I/O, I/O tehát lehet kimenet, bemenet • Nem használt lábak fix értéken TE OUT • Gyakran többfunkciós lábak PIN – Konfiguráció IN – Normál használat • A valódi I/O blokkok sokkal bonyolultabbak – Beleszámítanak az ekvivalens kapu/rendszer kapu leltárba
H l á 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
H l á fontossága Huzalozás f t á • 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ó, elfogadható de komplex funkció több LUT összekapcsolását igényli • Elérhető rendszer sebesség lecsökken • Speciális S iáli elrendezések l d é ka minőség javítására
M ldá 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
Öss efoglalás Ö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 előnyök, alkalmazásfüggő specialitások – Nagy komplexitás – Nagy sebesség NEM EGYSZERRE! – Kis fogyasztás
Outline • •
Overview O i Virtex-II – – – –
• •
Other Architectures Latest Families – –
•
Logic Resources I/O Resources Memory Clocking
Virtex-6 Family Spartan-6 Family
Summary
Virtex-II Architecture First FPGA Device to include embedded multipliers Block SelectRAM™ resource
I/O Blocks (IOBs)
Programmable interconnect Dedicated multipliers Configurable Logic Blocks (CLBs) •
Virtex™-II architecture’s core voltage operates at 1.5V
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 ggeneral routingg resources Local routingg provides connection between slices in the same CLB, and it provides id routing ti tto neighboring CLBs
COUT BUFT BUF T
COUT
Slice S3
Slice S2 Switch Matrix
SHIFT
Slice S1
Slice S0
CIN
Local Routingg
CIN
Virtex-II Virtex II CLB contains four slices
Basic Building Blocks Simplified Slice Structure •
Each slice has four outputs –
–
•
Two registered outputs, two non-registered outputs Two BUFTs associated with each CLB, accessible by all 16 CLB outputs
Slice 0
LUT
Carry
Carry logic runs vertically, up only –
Two independent carry chains per CLB
PRE D Q CE CLR
LUT
Carry
D PRE Q CE 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) C Carry Logic L i 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 Delayy through g the LUT is constant
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
Combinatorial Logic
A B C D
. 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 i d independent d t CLB iinputt Separate set and reset controls –
•
C be Can b synchronous h or asynchronous h
All controls are shared within a slice –
FDRSE_1 D
S
Q
CE R
FDCPE D PRE Q CE
Control signals can be inverted locally within a slice
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 –
•
Carry Chains –
•
Speed up LUT LUT-based based multiplication
Shift Register LUT –
•
Speed up arithmetic operations
Multiplier AND gate –
•
Connect Slices and LUTs
LUT-based shift register
Embedded Multiplier –
18x18 Multiplier
Multiplexer Logic Dedicated MUXes provided to connect slices and LUTs
F6 F
Slice S0
F5
Slice S1
F5
F7 F
Slice S2
F5 F
F6
Slice S3
F5
F8
CLB
MUXF8 combines the two MUXF7 outputs (from the CLB above or below)) MUXF6 combines slices S2 and S3 MUXF7 combines the two MUXF6 outputs t t
MUXF6 combines slices S0 and S1 MUXF5 combines LUTs in each slice
Shift Register g 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 •
–
LUT D CE CLK
D Q CE
D Q CE
Dedicated connection from Q15 to D input of the next SRL16CE
Shift register length can be changed asynchronously by toggling address A
D Q CE
Q
D Q CE
LUT
A[3:0] Q15 (cascade out)
Embedded Multiplier p 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)
4 x 4 signed 18 x 18 Multiplier
Output (36 bits)
8 x 8 signed 12 x 12 signed 18 x 18 signed
Data_B (18 bits)
IOB Element Connects the FPGA design to external components •
Input path –
•
–
•
•
Two DDR registers
O t t path Output th –
IOB
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
Input Reg ICK1
Reg OCK2
3-state
Reg
ICK2
RegDDR MUX
OCK1
Reg OCK2
PAD Output
SelectIO Standard
FPGA I/O pins can be configured to support various standards •
Allows di All directt connections ti tto external t l signals i l off varied i d voltages lt andd thresholds – –
•
Differential signaling standards – – –
•
Optimizes the speed/noise tradeoff Saves having to place interface components onto your board 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 O i Virtex-II Architecture – – – –
• •
Other Architectures Latest Families – –
•
LLogic i R Resources I/O Resources Memory Resources Clocking Resources
Virtex-6 Family Spartan-6 Family
Summary
Distributed RAM Uses a LUT in a slice as memory
• •
Synchronous write Asynchronous read –
•
Data can be written to RAM after configuration
Emulated dual-port RAM – –
•
WE WCLK
LUT
A2 A3
RAM32X1S
RAM16X1D
D
D
WE
Slice LUT
One read/write port One read read-only only port
1 LUT = 16 RAM bits
O
A0 A1
RAM and ROM are initialized duringg configuration –
•
Accompanying p y g flip-flops p p can be used to create synchronous read
RAM16X1S D
WE
WCLK A0
WCLK O
A0
A1
A1
A2
A2
A3
A3
A4
DPRA0 DPO DPRA1 DPRA2 DPRA3
LUT
SPO
Block oc RAM •
Embedded blocks of RAM arranged in columns Up to 3.5 Mb of RAM in 18 18-kb kb blocks –
•
True dual-port p memoryy –
–
• • •
Each port has synchronous read and write capability Diff Different t clocks l k for f eachh portt
Supports initial values S h Synchronous resett on output t t llatches t h Supports parity bits –
•
Synchronous read and write
One parity bit per eight data bits
Situated next to embedded multiplier for fast multiply multiply-accumulate accumulate operations
18-kb block SelectRAM memory DIA DIPA ADDRA WEA ENA SSRA CLKA
DOA DOPA
DIB DIPB ADDRB WEB ENB SSRB CLKB
DOB DOPB
Digital g Clock Manager g (DCM) ( ) •
Up to twelve DCMs per device – –
•
DCMs provide the following: – – –
•
Located on the top and bottom edges of the die Driven by clock input pads 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 Dual-port port RAM 8 Mb
Advanced FPGA Logic – 99k logic cells SelectIO™- Ultra Technology - 1164 I/O
XtremeDSP Functionality Embedded multipliers
RocketIO™ and RocketIO X High-speed Serial Transceivers 622 Mbps to 3 125 Gbps 3.125 Gb PowerPC™ Processors 400+ MHz Clock Rate 2 XCITE Digitally Controlled Impedance Any I/O DCM™ Digital Clock Management - 12
130 nm, 9 layer copper in 300 mm wafer technology
Virtex-4 Family y Advanced Silicon Modular BLock (ASMBL) Architecture Optimized for logic, Embedded, and Signal Processing
LX
FX
SX
Resource
Logic
14K– 14K –200K LCs
M Memory
0.9– 0.9 –6 Mb
0.6– 0.6 –10 Mb
4–12
4–20
DCMs DSP Slices
32– 32 –96
SelectIO N/A
PowerPC
N/A
Ethernet MAC
N/A
23K– 23K –55K LCs 2.3– 2.3 –5.7 Mb 4–8 128– 128 –512
32– 32 –192 240– 240 –960
RocketIO
12K– 12K –140K LCs
320– 320 –640
240– 240 –896 0–24 Channels 1 or 2 Cores 2 or 4 Cores
N/A N/A N/A
Virtex-4 Architecture RocketIO™ R k tIO™ Multi-Gigabit Transceivers
Smart RAM New block RAM/FIFO
622 Mbps–10.3 Gbps
Advanced CLBs
Xesium Clocking Technology
200K Logic Cells
500 MHz
Tri-Mode Ethernet MAC XtremeDSP™ Technology Slices
10/100/1000 Mbps
256 18x18 GMACs
PowerPC™ 405 with APU Interface 450 MHz, 680 DMIPS
1 Gbps SelectIO™ ChipSync™ Source synch, XCITE Active Termination
Virtex-5 Family y ptimized for logic, Embedded, Signal Processing, and High-Speed Connect Virtex™-5 Platforms
LX The image cannot be display ed. Your computer may not hav e enough memory to open the image, or the image may hav e been corrupted. Restart y our computer, and then open the file again. If the red x still appears, y ou may hav e to delete the image and then insert it again.
L i Logic Logic On-chip RAM DSP Capabilities Parallel I/Os Serial I/Os P PowerPC PC® Processors P
LXT The image cannot be display ed. Your computer may not hav e enough memory to open the image, or the image may hav e been corrupted. Restart y our computer, and then open the file again. If the red x still appears, y ou may hav e to delete the image and then insert it again.
L i /S i l Logic/Serial
SXT The image cannot be display ed. Your computer may not hav e enough memory to open the image, or the image may hav e been corrupted. Restart y our computer, and then open the file again. If the red x still appears, y ou may hav e to delete the image and then insert it again.
DSP/S i l DSP/Serial
FXT The image cannot be display ed. Your computer may not hav e enough memory to open the image, or the image may hav e been corrupted. Restart y our computer, and then open the file again. If the red x still appears, y ou may hav e to delete the image and then insert it again.
E b /S i l Emb./Serial
Virtex-5 Architecture Enhanced
New
36Kbit DualDual-Port Block RAM / FIFO with Integrated ECC
Most Advanced HighHighPerformance Real 6LUT Logic Fabric
550 MHz Clock Management Tile with DCM and PLL
PCI Express® Endpoint Block
SelectIO with ChipSync Technology and XCITE DCI
System Monitor Function with Built--in ADC Built
Advanced Configuration Options
Next Generation PowerPC® Embedded Processor
25x18 DSP Slice with Integrated ALU Tri--Mode 10/100/1000 Mbps Tri Ethernet MACs
RocketIO™ Transceiver Options Low-Power GTP: Up to 3.75 Gbps LowHigh--Performance GTX: Up to 6.5 High Gbps
The Spartan-3 Family Built for high volume, low-cost applications 18x18 bit Embedded Pipelined Multipliers f efficient for ffi i t DSP
Configurable 18K Block RAMs + Distributed RAM
Spartan-33 Spartan
Bank 0 Bank 1
Bank 3
Up to eight on-chip on chip Digital Clock Managers to support multiple system clocks
Bank 2
4 I/O Banks, Support for all I/O Standards including PCI, DDR333, RSDS, mini-LVDS
Spartan-3 p Family y Based upon Virtex-II Architecture – Optimized for Lower Cost •
Smaller process = lower core voltage – –
•
Logic resources – –
•
Only one-half of the slices support RAM or SRL16s (SLICEM) Fewer block RAMs and multiplier blocks
Clock Resources –
•
.09 micron versus .15 micron Vccint = 1.2V versus 1.5V
Fewer global clock multiplexers and DCM blocks
I/O R 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 Spartan™-33 CLB contains four slices –
•
Right-Hand SLICEL Left-Hand SLICEM COUT
Similar to the Virtex™-II
Slices are grouped in pairs –
Slice X1Y1
Left-hand SLICEM (Memory) •
–
COUT
LUTs can be configured as memory or SRL16
Right-hand SLICEL ((Logic) g g ) •
LUT can be used as logic only
Slice X1Y0 Switch Matrix
SHIFTIN
Slice X0Y1
Fast Connects
Slice X0Y0
SHIFTOUT CIN
CIN
Spartan-6 FPGA CLB I/O CMT
Memory Controller MGT
BUFG BUFIO Block RAM DSP48
PCIe Endpoint
Spartan-6 p Lowest Total Power • •
45 nm technology Static power reductions –
•
Dynamic power reduction –
•
–
• • •
Lower node capacitance & architectural innovations
More hard IP functionality –
•
Process & architectural innovations
Integrated transceivers & other logic reduces power H d IP uses less Hard l currentt & power than th softft IP
Lower IO power L power option Low ti -1L 1L reduces d power even ffurther th Fewer supply rails reduces power Two families: LX and LXT Basic Architecture 83
Spartan-6 p LX / LXT FPGAs
** All memory controller support x16 interface, except in CS225 package where x8 only is supported
Outline • • • • • •
Overview O i Logic Resources I/O Resources R Memory and DSP48 Cl ki R Clocking Resources Latest Families – –
•
Virtex-66 Family Virtex Virtex-7 Family
Summary
Spartan-6 FPGA CLB • •
Swittch Mattrix
•
CLB contains two slices Connected to switch matrix f routing for ti to t other th FPGA resources Carry chain runs vertically through Slice0 S ce0 oonlyy
COUT
Slice 1 Slice 0 CIN
Three Types of Slices in Spartan-6 FPGAs •
SLICEM: Full slice –
–
•
SLICEX SLICEM
SLICEL: Logic g and arithmetic onlyy –
–
•
LUT can be used for logic and memory/SRL Has wide multiplexers and carry chain LUT can only be used for logic (not memory) H wide Has id multiplexers li l andd carry chain h i
SLICEX: Logic only –
–
LUT can only be used for logic (not memory) No wide multiplexers or carry chain
or SLICEX SLICEL
Spartan-6 CLB Logic Slices SliceM (25%)
SliceL (25%)
LUT6 LUT6 8 Registers 8 Registers Carry Logic Carry Logic Wide Wid F Function i Muxes M Wide Wid F Function i Muxes M Distributed RAM / SRL logic
SliceX (50%)
LUT6 Optimized for Logic 8 Registers
Sli mix Slice i chosen h for f the th optimal ti l balance b l off Cost, C t Power P & Performance P f Basic Architecture 88
Virtex® Product & Process Evolution Virtex-6
40 40-nm
Virtex-5 65-nm
Virtex4
90-nm
Virtex-II Pro 130-nm
Virtex-II
150-nm
Virtex-E
180-nm
Virtex
220 nm 220-nm
1st Generation
2nd Generation
3rd Generation
4th Generation
5th Generation
6th Generation
Delivering Balanced Performance, Power, and Cost Basic Architecture 89 Virtex-6 Base Platform
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 f it andd price-performance i f
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-7XT: 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