Kierunek EiT Specjalność Sieci i usługi, V rok
Programowalne Układy Cyfrowe
Architektura układów FPGA
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
1
Program wykładu
• ASIC vs ASSP vs FPGA • Układy FPGA • cechy użytkowe • rynek układów
• Architektura układów FPGA • Oferta układów FPGA firmy Xilinx • • • •
Spartan 3 Spartan 6 Virtex 6 Seria 7 EasyPath
• Kity FPGA J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
1
Układy FPGA – literatura Strony WWW producentów układów FPGA •
Wielcy ( alfabetycznie) – – – – –
www.actel.com (Microsemi) www.altera.com www.atmel.com www.latticesemi.com www.quicklogic.com
– www.xilinx.com (wykład) •
Nowe podmioty na rynku FPGA – – –
•
http://www.achronix.com http://www.siliconbluetech.com http://www.tabula.com
Plus ciekawostki –
http://www.easic.com
i strony inne np. – –
http://www.soccentral.com www.eetimes.com/design/programmable-logic
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
ASIC? ASSP? czy FPGA
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
2
ASIC? ASSP? czy FPGA
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
ASIC? ASSP? czy FPGA
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
3
ASIC? ASSP? czy FPGA
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
ASIC? ASSP? czy FPGA
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
4
ASIC? ASSP? czy FPGA
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Firmy branży PLD
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
5
Układy FPGA
The new Xilinx FPGA is built using 6.8 billion transistors to give customers access to two million logic cells, equivalent to 20 million ASIC gates, for system integration, ASIC replacement, and ASIC prototyping and emulation. This capacity is made possible by Xilinx's stacked silicon interconnect technology, the first application of 2.5D IC stacking that gives customers twice the capacity of competing devices and leaping ahead of what Moore's Law could otherwise offer in a monolithic 28nm FPGA, the company said.
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Cechy użytkowe układów FPGA
• Idealna technologia dla aplikacji dedykowanych Fast Time-to-Market • Zalety integracji niski koszt, mały pobór mocy, małe wymiary, System on Chip • Niższe koszty i mniejsze ryzyko niż układy ASIC no NRE, minimum order size nor inventory risk, no long delay in design and testing • Bardzo szybkie przetwarzanie danych massively parallel operation much faster than DSP engines • Reprogramowalne w każdym z etapów produkcji i użytkowania in design, in manufacturing, after installation allows unlimited product differentiation J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
6
Internet Recofigurable Logic
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Rynek układów FPGA
Źródło: http://www.fpgadeveloper.com/2011/07/li st-and-comparison-of-fpgacompanies.html
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
7
Architektura FPGA
•Bloki we/wy (Input Output Block) •Bloki logiki (Configurable Logic Block) •Zasoby połączeniowe J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Architektura FPGA
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
8
Oferta układów FPGA XILINX
• XC 2000 1985
0,8...1,5 tys. LGEs
• XC 3000 & 3100 /A/L 1987
1,5...7,5 tys. LGEs
• XC 4000 :
•XCS /XL (Spartan) 1997
5...40 tys. LGEs
• XCV – E/EM (Virtex) 1998
58... 4.074 tys. LGEs
A/H/D/E/L/EX/XL/XLT/XLA/XV • XCS-2 (Spartan-2) 1990
2...250tys. LGEs
• XC 5200 1994
3...23 tys. LGEs
• XC 6200 1996
13...100 tys. LGEs
2000
15...200 tys. LGEs
• XCV-2 (Virtex-2) 2001
40...10.000 tys. LGEs
• XCS-3 (Spartan-3) 2004
• XCV-4 (Virtex-4) 2004
• XCV-5 (Virtex-5) 2007
• XCS-6 (Spartan-6) 2009
3,8...147 tys. Logic Cells
• XCV-6 (Virtex-6) 2009
75...567 tys. Logic Cells
• XCV-7 (Virtex-7,Artix7,Kintex-7) 2010-2011
8...1955 tys. Logic Cells
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Xilinx Spartan3 • technologia 90nm • struktura gruboziarnista • 50k – 5.000k system gates • 725 MHz max toggle frequency • clock – DCMs: 2...4 • 18-bitowe mnożarki: 4...104 • pamięć użytkowa Select RAM+ • rozproszona: do 520 Kb • blokowa (18Kb): do 1872 Kb • zewnętrzna • pamięć konfiguracji SRAM (4 tryby + ReadBack) • port JTAG (testowanie + konfiguracja) • zasilanie: • VCCINT : 1,2V • VCCAUX : 2,5V • VCCO : 1,2...3,3V J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
9
Xilinx Spartan3
CLB = 2 x LS = 4 x LC przerzutnik / zatrzask Clock Enable AP / AC / SS / SR LUT (Look-Up-Table) carry logic J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Spartan3 CLB – LUT
LUT: 4-wejściowy generator funkcji SinglePort / DualPort RAM 16-stopniowy rejestr przesuwny J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
10
Spartan3 CLB – multipleksery
• brak BUFT/BUFE funkcje magistral realizowane przez multiplexery inne multipleksery: CYMUX, BUFGMUX J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Spartan3 – Carry & Arithmetic logic
• sumator • licznik • mnożarka
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
11
Spartan3 – Carry & Arithmetic logic
• Equality Comparator • Magnitude Comparator • Wide-AND
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Spartan3 - IOB
DDR: • pary przerzutników • DDR mux • każdy sygnał z core może być w inwersji Programowalne: • pull-up • pull-down • weak-keeper • DCI Digital Controlled Impedance • delay J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
12
Spartan3 - IOB
Interfejs z logiką 5V przy użyciu buforów LVTTL: • wejścia (IBUF) – IIK 0° / 90° / 180° / 270° • DFS: Fin × M/D; M=2...32, D=1..32 J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
16
Spartan3 – Zasoby połączeniowe
Interconnect Tile: Switch Matrix podłaczona do elementu funkcyjnego (CLB, IOB, DCM, BRAM,MULT)
Połączenia: • long lines • hex lines • double lines • direct lines J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Spartan3 – Zasoby połączeniowe • 24 linie pionowe i poziome na każdy wiersz i kolumnę, • rozciągnięte przez cały układ • podłączone co 6 Switch Matrix • 8 linii hex w 4 kierunkach sterowanie tylko na początku • odbiór w połowie i na końcu • podłączone co 3 Switch Matrix • 8 linii double w 4 kierunkach • sterowanie tylko na początku • odbiór w połowie i na końcu • podłączone co 3 Switch Matrix
• linie direct w 8 kierunkach • przekazują sygnały z/do w/w zasobów J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
17
Spartan3 – konfiguracja
Tryby konfiguracji: • Slave Serial • Master Serial • Slave Parallel (SelectMAP) • Boundary Scan (JTAG)
ReadBack: weryfikacja pamięci konfiguracji oraz stanów przerzutników i zawartości pamięci (debug) J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Virtex6 Spartan6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
18
Virtex6 Spartan6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Virtex6 Spartan6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
19
Virtex6 Spartan6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Spartan6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
20
Virtex6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Virtex6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
21
Virtex6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Virtex6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
22
Virtex6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Virtex6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
23
Virtex6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Virtex6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
24
Virtex6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Virtex6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
25
Spartan6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Spartan6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
26
Spartan6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Spartan6
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
27
Seria 7
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Seria 7
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
28
Seria 7
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Seria 7
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
29
EasyPath FPGA
EasyPath FPGA 30..70 % cost FPGA J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Digilent Spartan3 Starter Kit Board
Układ XC3S200-FT256: • • • • • • •
macierz CLB 24 x 20 (480 CLBs, 4,320 LCs) 173 sygnały dla użytkownika max. 76 sygnałów różnicowych 30Kb pamięci rozproszonej 216Kb pamięci blokowej (12 bloków) 12 mnożarek 4 bloki DCM
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
30
Digilent Spartan3 Starter Kit Board • • • • • • • • • • • • • • • • • • • • • • • • •
układ XC3S200-FT256 pamięć FLASH konfiguracji 2Mb 2 układy pamięci statycznej 10ns 256K × 16bitów złącze portu VGA (8 kolorów) złącze portu RS-232 driver portu RS-232 złącze dodatkowego portu RS-232 złącze portu PS/2 4-znakowy, multipleksowany wyświetlacz 7segmentowy LED 8 przełączników 8 diod LED 4 przyciski oscylator 50MHz gniazdo dodatkowego oscylatora jumpery trybu konfiguracji przycisk „PROGRAM” dioda LED „DONE” złącze B1 rozszerzenia złącza A1 A2 rozszerzenia złącze sondy JTAG Centronics sonda JTAG Centronics (w zestawie) złącze sondy JTAG MultiPro zasilacz sieciowy 5V/2A (w zestawie) dioda LED „POWER” stabilizatory napięć zasilania
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Digilent Nexys3 Starter Kit Board
• • • • • • • • • • •
Xilinx Spartan6 XC6LX16-CS324 16Mbyte Micron Cellular RAM , 16Mbyte Micron Parallel PCM 16Mbyte Micron Quad-mode SPI PCM 10/100 SMSC LAN8710 PHY Digilent Adept USB port for power, programming & data transfers USB-UART Type-A USB host for mouse, keyboard or memory stick 8-bit VGA 100MHz fixed-frequency oscillator 8 slide switches, 4 push buttons, 4-digit 7seg display, 8 LEDs Four double-wide Pmod™ connectors, one VHDC connector
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
31
Digilent Altys Starter Kit Board
• • • • • • •
• • • • • • • • • • • •
The Spartan-6 LX45 is optimized for high-performance logic and offers: 6,822 slices each containing four 6-input LUTs and eight flip-flops 2.1Mbits of fast block RAM 4 clock tiles (8 DCMs & 4 PLLs) 6 phased-locked loops 58 DSP slices 500MHz+ clock speeds
Xilinx Spartan-6 LX45 FPGA, 324-pin BGA package 128Mbyte DDR2 16-bit wide data 10/100/1000 Ethernet PHY On-board USB2 ports for programming & data transfer USB-UART and USB-HID port (for mouse/keyboard) Two HDMI video input ports & two HDMI output ports AC-97 Codec with line-in, line-out, mic, & headphone Real time power monitors on all power rails 16Mbyte x4 SPI Flash for configuration & data storage 100MHz CMOS oscillator 48 I/O’s routed to expansion connectors GPIO includes 8 LEDs, 6 buttons, & 8 slide switches
J.Kasperek & P.J.Rajda © 2013 Katedra Elektroniki AGH
Dziękuję za uwagę!
Rajda & Kasperek © 2012 Katedra Elektroniki AGH
64
32