Issues%in%FPGA%Technologies Complexity%of%Logic%Element - - PDF document

issues in fpga technologies
SMART_READER_LITE
LIVE PREVIEW

Issues%in%FPGA%Technologies Complexity%of%Logic%Element - - PDF document

Issues%in%FPGA%Technologies Complexity%of%Logic%Element How%many%inputs/outputs%for%the%logic%element? Does%the%basic%logic%element%contain%a%FF?%What% type? Interconnect


slide-1
SLIDE 1

Issues%in%FPGA%Technologies

  • Complexity%of%Logic%Element

– How%many%inputs/outputs%for%the%logic%element? – Does%the%basic%logic%element%contain%a%FF?%What% type?

  • Interconnect

– How%fast%is%it?%%Does%it%offer%‘high%speed’%paths%that% cross%the%chip?%How%many%of%these? – Can%I%have%onJchip%triJstate%busses? – How%routable%is%the%design?%%If%95%%of%the%logic% elements%are%used,%can%I%route%the%design?

  • More%routing%means%more%routability,%but%less%room%for%

logic%elements%and%can%increase%delay%due%to%interconnect

Issues%in%FPGA%Technologies%(cont)

  • Macro%elements

– Are%there%SRAM%blocks?%%Is%the%SRAM%dual%ported?% – Is%there%fast%adder%support%(i.e.%fast%carry%chains?) – Is%there%fast%logic%support%(i.e.%cascade%chains) – What%other%types%of%macro%blocks%are%available% (fast%decoders?%register%files?%advanced%IP%cores?%)

  • Clock%support

– How%many%global%clocks%can%I%have? – Are%there%any%onJchip%Phase%Locked%Loops%(PLLs)%

  • r%Delay%Locked%Loops%(DLLs)%for%clock%

synchronization,%clock%multiplication?

slide-2
SLIDE 2

Issues%in%FPGA%Technologies%(cont)

  • What%type%of%IO%support%do%I%have?

– TTL,%CMOS,%etc – Support%for%mixed%5V,%3.3V%%IOs?

  • 3.3V%internal,%but%5V%tolerant%inputs?

– Support%for%other%low%voltage%signaling%standards?

  • GTL+,%GTL%(Gunning%Transceiver%Logic)%– as%used%on%

Pentium%II

  • HSTL%J High%Speed%Transceiver%Logic
  • SSTL%J Stub%SeriesJTerminate%Logic
  • USB%%J IO%used%for%Universal%Serial%Bus%(differential%

signaling)

  • AGP%%J IO%used%for%Advanced%Graphics%Port

– Maximum%number%of%IO?%%Package%types?

  • Ball%Grid%Array%(BGA)%for%high%density%IO

CPLDs%and%FPGAs

CPLD FPGA Architecture PAL/like Gate3array/like Density Low/to/medium Medium/to/high Up3to316322V10s 1K3to3125K3logic3gates Performance Predictable3timing Application3dependent Over31003MHz High/performance Interconnect “Crossbar” Incremental

Complex3Programmable3Logic3Device Field/Programmable3Gate3Array

NOTE:&First&generation&programmable&devices&(PROMs,&PALS, PLAs,&GPLAs)&Analogous&to&2Dlevel&Logic&while&CPLDs/FPGAs (programmable&interconnects)&Analogous&to&MultiDlevel&Logic

slide-3
SLIDE 3

Programmable%Logic%Resources

1)%Configurable%Logic%Blocks%(CLBs)%or%Logic%Elements%(LEs) J Memory%lookup%tables J ANDJOR%planes J Simple%gates 2)%%Input%/%Output%Blocks%(IOBs) J Bidirectional J Latches,%inverters,%pullup/down 3)%Interconnect%or%Routing J Local%and%global%routing%balance J Delay%and%area

Each&of&these&three&Basic&Resources&Require& a&Programmable&Circuit

Programming%Technologies

1)%Bipolar%fusible%link%(not%commonly%used%in%modern%devices) J Closed%device,%burned%open%by%high%current J Smallest%AreaJmore%complicated%to%fabricate J One%Time%Programmable%(OTP) 2)%Antifuse J Open%device,%closes%with%high%voltage J Small%area%but%high%voltage%required J One%Time%Programmable%(OTP) 3)%SRAM%based J Uses%pass%transistor%controlled%SRAM%cell J Large%Area J Volatile%(Reprogrammable) 4)%E/EEPROM/Flash%based J Moderate%Area J NonJVolatile%(Reprogrammed)

slide-4
SLIDE 4

Metal%to%Metal%Antifuse%Technology Metal%to%Metal%Antifuse%Technology

slide-5
SLIDE 5

Antifuse%Technology

Actel%Programmable%Low%Impedance%Circuit%Element%(PLICE)

  • ONO%(oxide%nitride%oxide)%Dielectric%insulates%

diffusion%and%poly

  • ONO%“melted”%by%applying%16V%pulse%across%it

Initial%“Open”% Connection Antifuse%is%“Blown” Conducting *Sources&Hauck&(IEEE&Proc.),&Actel&Data&Sheets&1994

ONO%Antifuse%Technology

(unprogrammed)

slide-6
SLIDE 6

ONO%Antifuse%Technology

(programmed)

E/EEPROM%Technology

  • Floating%Gate%%(FG)is%Completely%Isolated
  • Unprogrammed%Transistor%has%no%Charge%on%FG%Operates

Normal%NMOS%Transistor%using%Access%Gate%(AG)%as%gate

  • Programmed%by%High%Voltage%on%AG%and%Low%

Voltage%on%Drain%Causing%Neg.%Charge%on%Floating%Gate

  • Source%to%Drain%Path%cannot%be%closed%when%programmed
  • EPROM%uses%UV%light%to%Discharge%FG%and%erase
  • EEPROM%uses%high%voltages%similar%to%programming%but
  • pposite%polarity%to%erase

*Source&Hauck&(IEEE&Proc.)

slide-7
SLIDE 7
  • Pass%Transistor%is%“on”%During%Programming%and%“off”%During

Normal%Operation%of%Programmed%FPGA

  • Inverter%Pair%Latches%Logic%Value%using%the%Upper%“weak”

Keeper%Inverter

  • Larger%Area%than%E/EEPROM%Based%Cell
  • More%Easily%Reprogrammed%J Useful%for%Reconfiguration%and

Prototyping

  • “Read”%Function%used%for%Debugging%to%Output%Programmed

Configuration *Source&Hauck&(IEEE&Proc.),&Xilinx&1994,&Compton

WEAK

SRAM%Technology

Can%Connect%to Pass%Transistor Allowing%Cell to%Function Similar%to% Antifuse *Source&Hauck&(IEEE&Proc.),&Xilinx&1994,&Compton

SRAM%Technology

Q%or%Q’%Output from%1Jbit%SRAM Cell NMOS%Pass Transistor

slide-8
SLIDE 8

LE/CLB%Structures

  • Different%Styles%of%Internal%Structure

– LookJUp%Tables%(LUTs) – PLA/PALJbased%Macrocells – Arrays%of%Multiplexers

  • Granularity%Variations
  • Delay%Characteristics
  • Internal%Programming%Technology
  • Scalability%J Logic%Clusters

Generic%LookJUp%Table%(LUT)

*Source&Compton 1 2 3 4 5 6 7

slide-9
SLIDE 9

Registered/ByJPass%Programmable% Circuit

BYPASS%bit%is%Programmed *Source&Compton

Generic%LUTJBased%LE

*Source&Compton

slide-10
SLIDE 10

*Source&Compton

Xilinx%6200%Logic%Element

  • Can%Compute%any%2Jinput%and%some%3Jinput%functions
  • Extremely%FineJgrained
  • Based%on%Multiplexers

*Source&Compton

Increasing%Granularity

slide-11
SLIDE 11

Xilinx%4000%Series%CLB

  • 3%function%generators
  • CLB%inputs

– F1JF4%to%F – G1JG4%to%G – H1%(&%F,%G)%to%H

  • 4%CLB%outputs

– F,%G,%or%H – and%registered

D Q SD RD EC

S/R Control

D Q SD RD EC

S/R Control 1 1 F' G' H' DIN F' G' H' DIN F' G' H' H'

H Func. Gen. G Func. Gen. F Func. Gen. G4 G3 G2 G1 F4 F3 F2 F1 C4 C1 C2 C3 K YQ Y XQ X H13DIN3S/R3EC333

More&Detail&on&Next&Slide

Xilinx%4000%Series%CLB

slide-12
SLIDE 12

Altera%Flex10k%Logic%Element

Altera%Stratix%Logic%Element

slide-13
SLIDE 13

Xilinx%Coolrunner%EEPROM/Flash%LE

Altera%Max%7000%Macrocell

Product( Term Select Matrix Clear Select Clock/ Enable Select VCC PRN CLRN ENA D Q Global Clear Global Clock To@I/O Control Block To@PIA This@respresents@a multiplexer controlled@by@the configuration program Programmable Register 36@Signals from@PIA 16@Expander Product Shared@Logic Expanders LAB@Local@Array Parallel@Logic Expanders (from@other macrocells)

slide-14
SLIDE 14

Device%Architectures

  • Proportion%of%Interconnect%Resources%

Versus%Logic%Elements

  • Routability%Among%Logic%Elements
  • Dedicated%Interconnections%Among%Logic%

Elements

  • Granularity
  • Hierarchical%versus%Flat%Interconnections

Routing%Architectures

Symmetrical Row%Based Sea%of%Gates Routing%Matrix

slide-15
SLIDE 15

Conceptual%Diagram%of%IslandJstyle% Architecture

Logic Block I/O Cells Interconnection Resources

Xilinx%4000%Series%Architecture

CLB CLB CLB CLB

Switch Matrix

Programmable Interconnect I/O3Blocks3(IOBs) Configurable Logic3Blocks3(CLBs)

D""""Q Slew Rate Control Passive Pull4Up, Pull4Down Delay Vcc Output Buffer Input Buffer Q""""D Pad"

D Q SD RD EC S/R Control D Q SD RD EC S/R Control 1 1 F' G' H' DIN F' G' H' DIN F' G' H' H'

H Func. Gen. G Func. Gen. F Func. Gen. G4 G3 G2 G1 F4 F3 F2 F1 C4 C1 C2 C3 ..K Y X ..H1.DIN.S/R.EC...

slide-16
SLIDE 16

Logic&Module Horizontal& Track Vertical& Track Anti6fuse

ActelJlike%RowJbased%Architecture Altera%Flex10k%Architecture

slide-17
SLIDE 17

Altera%Flex10k%Architecture

  • Hierarchical%Interconnection%Among%Logic%

Elements

  • Logic%Arrays%consist%of%8%Logic%Elements
  • Each%Embedded%Array%Block%(EAB)%has%2K%

bits%of%storage

  • Architecturally%in%center%of%device
  • LA%and%EAB%connect%to%surrounding%

channel%interconnect

Inside%the%EAB%J Altera

slide-18
SLIDE 18

Altera%Stratix%Logic%Array%Blocks%(Clusters)

Interconnect%Structures

  • Programmable%Interconnects%Generally%

Dominant%Factor%in%Area%and%Delay

  • Composed%of%Drivers%on%Wires%and%Switch%

Blocks

  • Bidirectional%Allow%Signal%Flow%in%Either%

Direction

  • Directional%Allow%Signal%Flow%in%One%Direction%

Only

  • Routing%Accomplished%via%Switch%Block%and%

Driver%Programming%Bits

slide-19
SLIDE 19

Bidirectional%and%Directional% Interconnects

*Lemieux et al., ICFPT 2004

Interconnect%Switch%Blocks

Logic Element

Switch%Blocks

Horizontal%and%Vertical%Crossings%Represent% Programmable%Switch%Blocks

*Lemieux et al., ICFPT 2004

slide-20
SLIDE 20

Bidirectional%Switch%Block

Programmable%SingleJbit%Cells

*Lemieux et al., ICFPT 2004

Directional%and%Bidirectional%Switch%Blocks

*Lemieux et al., ICFPT 2004

slide-21
SLIDE 21

Commercial%Trends%CircaJ2000

!FPGA!MARKET!SHARE!(2000)

Altera 34% Xilinx 38% Lattice 14% Other 8% Actel 6% Flash%and%Antifuse FPGA ≈ 10%% SRAM FPGA ≈ 90%%

  • Three%main%types:%Antifuse,%Flash,%SRAM

Altera%FPGA%Family%Examples

  • Altera%Flex10K/10KE

– LEs%(Logic%elements)%have%4Jinput%LUTS%(lookJup% tables)%+1%FF – Fast%Carry%Chain%between%LE’s,%Cascade%chain%for% logic%operations – Large%blocks%of%SRAM%available%as%well

  • Altera%Max7000/Max7000A

– EEPROM%based,%very%fast%(Tpd%=%7.5%ns) – Basically%a%PLD%architecture%with%programmable% interconnect.%(CPLD) – Max%7000A%family%is%3.3%v

slide-22
SLIDE 22

Xilinx%FPGA%Family%Examples

  • Virtex%Family

– SRAM%Based – Largest%device%has%1M%gates – Configurable%Logic%Blocks%(CLBs)%have%two%4Jinput% LUTS,%2%DFFs – Four%onboard%Delay%Locked%Loops%(DLLs)%for%clock% synchronization – Dedicated%RAM%blocks%(LUTs%can%also%function%as% RAM). – Fast%Carry%Logic

  • XC4000%Family

– Previous%version%of%Virtex – No%DLLs,%No%dedicated%RAM%blocks

Actel%FPGA%Family%Examples

  • MXDS%Family

– Fine%grain%Logic%Elements%that%contain%Mux%logic%+% DFF – Embedded%Dual%Port%SRAM – One%Time%Programmable%(OTP)%J means%that%no% configuration%loading%on%powerup,%no%external%serial% ROM – AntiFuse%technology%for%programming%(AntiFuse% means%that%you%program%the%fuse%to%make%the% connection). – Fast%(Tpd%=%7.5%ns) – Low%density%compared%to%Altera,%Xilinx%J maximum% number%of%gates%is%36,000

slide-23
SLIDE 23

Cypress%CPLD%Example

  • Ultra37000%Family

– 32%to%512%Macrocells – Fast%(Tpd%5%to%10ns%%depending%on%number%of% macrocells) – Very%good%routing%resources%for%a%CPLD

SPEED%Trends

FPGA%Performance:%%25%%Growth%Rate 2000:%100+%MHz%%J 1,000,000%Equivalent%Logic%Gates 1998:%60J80%MHz% J 250,000%Equivalent%Logic%Gates

Speed (MHz) 0%%%%%%%1%%%%%%2%%%%%%%3%%%%%%%4%%%%%%%5%%%%%%6%%%%%%%7%%%%%%%8%%%%%%9%%%%%10%%%%%11%%%%12%%%%%13%%%%%14%%%%15%%%%%16 10 100 1 FPGA Years

slide-24
SLIDE 24

Delay%Trends%(‘95)

Density%Improvements

FPGA%Density%Projection:%%50%%to%60%%Annual%Growth%Rate 1998:%250,000%– 2000:%1,000,000%%%%%%Equivalent%Logic%Gates

0%%%%%%%1%%%%%%2%%%%%%%3%%%%%%%4%%%%%%%5%%%%%%6%%%%%%%7%%%%%%%8%%%%%%9%%%%%10%%%%%11%%%%12%%%%%13%%%%%14%%%%15%%%%%16 10 100 1 FPGA 1000 Years X%1000 Transistors

slide-25
SLIDE 25

Summary

  • Different%FPGA/CPLD%Device%Technolgies%

Offer%Varying%Performance/Area%and%Other% Attribute%Tradeoffs

  • PLDs%Less%Flexible%than%FPGA/CPLD%since%no%

Programmable%Interconnect%Feature

  • Reprogrammability
  • Security
  • Volatility
  • Power%Consumption
  • PowerJup%Configuration
  • Radiation%Tolerance