20
1 FPGA teknologier State-of-the-art Feature Technology node SRAM A ntifuse E2PRO M / FLASH O ne orm ore generations behind O ne orm ore generations behind Fast Reprogram ming speed (inc. erasing) ---- 3x slow er than SR AM Yes Volatile (m ust be program m ed on pow er-up) No No (butcan be ifrequired) Medium Pow er consum ption Low Medium Acceptable (especially w hen using bitstream encryption) IP Security Very G ood Very G ood Large (six transistors) Size of configuration cell Very sm all Medium-small (tw o transistors) No R ad H ard Yes N otreally No Instant-on Yes Yes Yes R equires external configuration file No No Yes (very good) G ood for prototyping No Yes (reasonable) Yes (in system ) Reprogramm able No Yes (in-system oroffline)

FPGA teknologier

  • Upload
    derick

  • View
    57

  • Download
    0

Embed Size (px)

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

Citation preview

Page 1: FPGA teknologier

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)

Page 2: FPGA teknologier

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

Page 3: FPGA teknologier

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)

Page 4: FPGA teknologier

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

Page 5: FPGA teknologier

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

Page 6: FPGA teknologier

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).

Page 7: FPGA teknologier

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

Page 8: FPGA teknologier

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.

Page 9: FPGA teknologier

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

Page 10: FPGA teknologier

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

Page 11: FPGA teknologier

INF3430 - H13 11

En LUT kan være så mye

16-bit SR

16 x 1 RAM

4-input LUT

Page 12: FPGA teknologier

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

Page 13: FPGA teknologier

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

Page 14: FPGA teknologier

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!

Page 15: FPGA teknologier

INF3430 - H13 15

RAM blokker (block RAM)Columns of embedded

RAM blocks

Arrays ofprogrammable

logic blocks

Page 16: FPGA teknologier

INF3430 - H13 16

FunksjonsblokkerRAM blocks

Multipliers

Logic blocks

Page 17: FPGA teknologier

INF3430 - H13 17

Multipliser-og-akkumuler (MAC)

x

+

x

+

A[n:0]

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

Multiplier

Adder

Accumulator

MAC

Page 18: FPGA teknologier

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.

Page 19: FPGA teknologier

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.

Page 20: FPGA teknologier

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.