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