FPGA teknologier

Post on 07-Jan-2016

52 views 0 download

description

FPGA teknologier. Fusable link (sikringer). Antifuse. Prinsipp: Konfigurasjon lagres i FPGA ved at det lages kortslutninger ved bruk av høy spenning. Fordeler Lav impedans når sikring er ’on’ (liten forsinkelse) Lavt strømforbruk Kompakt teknologi (tar lite plass) - PowerPoint PPT Presentation

transcript

INF3430 - H13 1

FPGA teknologier

State-of-the-art

Feature

Technology node

SRAM AntifuseE2PROM /

FLASH

One or moregenerations behind

One or moregenerations behind

FastReprogramming

speed (inc.erasing)

----3x slower

than SRAM

YesVolatile (must

be programmedon power-up)

NoNo

(but can be if required)

MediumPower

consumptionLow Medium

Acceptable(especially when usingbitstream encryption)

IP Security Very Good Very Good

Large(six transistors)

Size ofconfiguration cell

Very smallMedium-small

(two transistors)

NoRad Hard Yes Not really

NoInstant-on Yes Yes

YesRequires externalconfiguration file

No No

Yes(very good)

Good forprototyping

NoYes

(reasonable)

Yes(in system)

Reprogrammable NoYes (in-system

or offline)

INF3430 - H13 2

Fusable link (sikringer)

a

Fat

Logic 1

y = 0 (N/A)&

Faf

b

Fbt

Fbf

Pull-up resistors

NOT

NOT

AND

Fuses

a

Fat

Logic 1

y = a & !b&

b

Fbf

Pull-up resistors

NOT

NOT

AND

INF3430 - H13 3

Antifuse• Prinsipp:

– Konfigurasjon lagres i FPGA ved at det lages kortslutninger ved bruk av høy spenning.

• Fordeler– Lav impedans når sikring er ’on’ (liten forsinkelse)– Lavt strømforbruk– Kompakt teknologi (tar lite plass)– Ekstra pålitelig teknologi (relativt strålingsimmune)

• Ulemper– Må programmeres i en egen programmeringsenhet– Høy programmeringsspenning og -strøm– Permanent programmering (kan kun programmeres en

gang)

INF3430 - H13 4

Antifuse

a

Logic 1

y = 1 (N/A)&

b

Pull-up resistors

Unprogrammedantifuses

NOT

NOT

AND

a

Logic 1

y = !a & b&

b

Pull-up resistors

Programmedantifuses

NOT

NOT

AND

INF3430 - H13 5

Antifuse

a

Logic 1

y = !a & b&

b

Pull-up resistors

Programmedantifuses

NOT

NOT

AND

(a) Before programming

Substrate

Metal

Oxide

Metal

Amorphous silicon column

(b) After programming

Polysilicon via

INF3430 - H136

SRAM basert FPGA• Prinsipp:

– SRAM-minne inne i FPGA lagrer kretsens konfigurasjon• Fordeler

– Kan reprogrammeres uendelig mange ganger– Plass til mye logikk– Kan lett endre funksjonaliteten til systemet– Trenger ikke spesiell prosess

• Ulemper– Plassoverhead (SRAM-celle med 5 transistorer)– Flyktig minne (må lagre konfigurasjonen i eksternt

permanent minne; flash)– Relativt høyt effektforbruk

• Vi bruker FPGA fra Xilinx i kurset som har kretsfamilien Spartan. I siste generasjon utgår Spartan og Xilinx har heretter familiene Artix, Kintex og Virtex. I tillegg finnes Extensible Processing Platform ZYNQ familien som er et ARM prosessor system med FPGA i tillegg på en chip (se: www.xilinx.com).

• Tilsvarende SRAM kretsfamiliene Cyclon og Stratix finnes fra hovedkonkurrenten Altera (www.altera.com).

INF3430 - H13 7

Kompleksitet til logikk blokk i FPGA

• Finkornet:– Blokkene kan brukes fullt ut i design,

men krever store ruting-ressurser.

• Grovkornet:– En blokk kan implementere en

nærmest hvilken som helst funksjon (oppslagstabell), men en får ofte ikke utnyttet ressursene fullt ut.

Programmableinterconnect

Programmablelogic blocks

INF3430 - H13 8

Grovkornet blokk• Kompleksiteten til en grovkornet blokk

er økende med teknologiutviklingen.• Eksempel på tradisjonell grovkornet

blokk:– 4 stk 4 input LUT for kombinatorikk– 4 MUX’er– 4 D-vipper– Hurtig mentelogikk for aritmetikk (+ og -)

• Dette kalles nå en halvgrovkornet blokk.

INF3430 - H13 9

Realiseringer av funksjonen y= (a AND b)

OR c i halvgrovkornet blokk

&|

a

b

cy

AND

OR

y = (a & b) | c

0

1

0

1

0

1

MUX

MUX

MUX

0

b

a

1

x

0

y

0

1

MUX0

1

c

Required function Truth table

a b c y

00001111

00110011

01010101

01010111

y = (a & b) | c

&

|

a

b

cy

AND

OR

MUX-basert

LUT-basert

INF3430 - H13 10

Typisk LUT realiering

0

1

1

1

0

1

1

1

0

1

1

1

0

1

1

1

abc

ySRAMcells

Transmission gate(active low)

Transmission gate(active high)

0 0 1

INF3430 - H13 11

En LUT kan være så mye

16-bit SR

16 x 1 RAM

4-input LUT

INF3430 - H13 12

FPGA LUTs

01101010

Addre

ssD

ataC

lock

F(A,B,C)

ABC

Normal FPGA LUT

Address

Data

Clo

ckF

A B C

0 1 1 0 1 0 1 0

(Shift Register Length)

LUT in Shift Register Mode

INF3430 - H13 13

Xilinx benevnelser

CLB CLB

CLB CLB

Logic cell

Slice

Logic cell

Logic cell

Slice

Logic cell

Logic cell

Slice

Logic cell

Logic cell

Slice

Logic cell

Configurable logic block (CLB)

16-bit SR

flip-flop

clock

muxy

qe

abcd

16x1 RAM

4-inputLUT

clock enable

set/reset

Logic Cell

INF3430 - H13 14

Tilleggsegenskaper for moderne FPGAer

• Klokketre og klokkestyring• Hurtige mentekjeder for aritmetikk (+ og -)• RAM blokker (i tillegg til LUT brukt som RAM vanligvis

omtalt som distribuert RAM)• Funksjonsblokker (multiplikatorer, DSP

grunnfunksjoner som Mult & Accumulate, Ethernet Tri-Mode MAC, PCI-Express)

• Prosessorkjerner (ARM og leverandørens prosessorer)• Høyhastighets serielle inn/ut moduler

• Dette er i tillegg til LUT’er og registere og alt sammen bør utnyttes best mulig!

INF3430 - H13 15

RAM blokker (block RAM)Columns of embedded

RAM blocks

Arrays ofprogrammable

logic blocks

INF3430 - H13 16

FunksjonsblokkerRAM blocks

Multipliers

Logic blocks

INF3430 - H13 17

Multipliser-og-akkumuler (MAC)

x

+

x

+

A[n:0]

B[n:0] Y[(2n - 1):0]

Multiplier

Adder

Accumulator

MAC

INF3430 - H13 18

Xilinx Virtex5 DSP48E Slice

• The 550 MHz DSP48E slices available in all Virtex™-5 devices accelerate algorithms and enable higher levels of DSP integration and lower power consumption than previous-generation Virtex devices.

• Efficiently add powerful FPGA-based DSP functionality to your system with: – Support for over 40 dynamically controlled operating modes

including; multiplier, multiplier-accumulator, multiplier-adder/subtractor, three input adder, barrel shifter, wide bus multiplexers, wide counters, and comparators.

– Efficient adder-chain architectures for implementing high-performance filters and complex math efficiently.

– Low power requirements: each DSP48E slice draws only 1.38 mW/100 MHz, at a toggle rate of 38%, a 40% reduction from previous-generation slices.

INF3430 - H13 19

Prosessorkjerner• Hva er det?

– Prosessorer som inngår i selve FPGAen• Hvorfor?

– De fleste design trenger en prosessor og en kan slippe å ha en ekstern prosessor.

• Hvilke typer finnes?– Myke kjerner

• Programmerbar logikk i FPGA brukes til å realisere en prosessor på FPGA sammen med annen funksjonalitet.

– Harde kjerner• Prosessor er implementert fysisk i FPGA ved

produksjon av kretsen. • I Xilinx sin ZYNQ familie er det ARM prosessorer.

INF3430 - H13 20

Klokketre og klokkestyring

• Klokketre: – Skal sikre at registere får

klokkeflanke mest mulig samtidig (setup/hold time)

• Klokkestyring:– En enhet genererer “datter”–

klokkesignal:Clock signal fromoutside world

Special clockpin and pad

Daughter clocksused to drive

internal clock treesor output pins

ClockManager

etc.