Top Banner
The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…
69

The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

The Future of FPGA Interconnect

Guy LemieuxThe University of British Columbia

Tuesday, December 8, 2009FPT 2009 Workshop

Getting the LUT-heads to work…

Page 2: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

2

Layman’s viewpoint

• How do I explain FPGA interconnect to mom?

• Imagine planning a city on a grid– Maximum of 100,000 people, “LUT-heads”– For every LUT-head, given two things

• Home location• Work location (often multiple work locations…)

• Problem: Getting the LUT-heads to work!– Design a fixed road network– Every LUT-head drives in own lane (no time-sharing or bus)– Very expensive, lots of infrastructure

“logicfamily”

Page 3: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

3

Layman’s viewpoint (2)

• Problem, Version 2– After 25yrs, every LUT-head changes home & work

• LUT-head population may grow or shrink

– Same road network must still be used• Can only ‘reconfigure lanes’ by changing road paint

• Problem, Version 3– Start over, assuming 1,000,000 LUT-heads– New issues when the problem scales?

• Average trip length ?• Average number of lanes in road ?

Page 4: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

4

Overview

• What’s in FPGA interconnect?– Review of typical design

• What are the main application areas?– Driving the future of interconnect design

• What are the interconnect metrics?– Pushing the envelope, then becoming practical

• Open research problems?– Driving the future of interconnect design

Page 5: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

5

Overview

• What’s in FPGA interconnect?– Review of typical design

• What are the main application areas?– Driving the future of interconnect design

• What are the interconnect metrics?– Pushing the envelope, then becoming practical

• Open research problems?– Driving the future of interconnect design

Page 6: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

6

Input connectionsS Block

C Block

AlteraStratix

Interconnect

CLB aka LAB

Page 7: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

7

Input connectionsIIB: input interconnect block

AlteraStratix

Interconnect

Page 8: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

8

Input connections, neighbours 1S Block

C Block

Connections in CLB grow bigger

Page 9: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

9

Input connections, neighbours 2S Block

C Block

Connections in C Block grow bigger

Page 10: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

10

Output connections, localS Block

C Block

AlteraStratix

Interconnect

Single-driver: LUT outputs must only feed muxes

Page 11: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

11

Output connections, globalS Block

C Block

AlteraStratix

Interconnect

Single-driver: LUT outputs must only feed muxes

extended toinclude LUToutputs

Page 12: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

12

Design considerations

• Design of C Block / IIB– Selects LUT inputs

– Overall function: ‘M’ choose ‘kN’• M = 100..500 wires (H + V)• N = 8 .. 16 LUTs• k = 4..6 inputs/LUT

Page 13: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

13

Design considerations

• Design of S Block– Steers M signals throughout array (turns)• Also accepts N LUT outputs

– Topologically simple• Fs = 3: each wire connects to only 3 outgoing wires• Exception: LUT outputs connect to > 3 wires

– Strongly influenced by circuit implementation• Bidirectional vs directional

Page 14: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

Bidirectional vs. Directional Wiring

bidir/dir == S Block Design+

single-driver == C Block Design

Page 15: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

16

Bidirectional Wires

Logic

C Block

S Block

Page 16: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

17

Bidirectional WiresProblem

Half of tristatebuffers leftunused

Buffers +input muxesdominateinterconnect area

Page 17: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

18

Bidirectional vs Directional

Page 18: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

19

Bidirectional vs Directional

Page 19: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

20

Bidirectional vs Directional

Page 20: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

21

Bidirectional vs Directional

Page 21: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

22

Bidirectional Switch Block

Page 22: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

23

Directional Switch Block

Page 23: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

24

Bidirectional vs Directional

Switch Element

Same quantity and type of

circuit elements, twice the wiring

Switch Block

Directional half as many

Switch Elements

Page 24: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

25

Quantization of Channel Width

Bidirectional (Q=1)

4 Switch ElementsCh. Width = 4 * Q

= 4 * 1

Directional (Q=2)

2 Switch ElementsCh. Width = 2 * Q

= 2 * 2

No “partial”switch elementswith < Q wires

Page 25: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

26

S Blocks with Long Wires

• Long wires, span L tiles– Example L = 3

• Changes QQ = L for bidirectionalQ = 2L for directional

1 2 3

CLB CLBCLB

CLB CLB CLB

CLB

CLB

CLB

CLB

Page 26: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

27

Building up Long WiresStart with One Switch Element

Wire ends for straight connections.

CLB

CLB

CLB

CLB

Page 27: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

28

Building up Long WiresConnect MUX Inputs

Extend MUX inputs

CLB

CLB

CLB

CLB

Page 28: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

29

Building up Long WiresConnect MUX Inputs

TURN UP from wire-ends to mux

CLB

CLB

CLB

CLB

Page 29: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

30

Building up Long WiresConnect MUX Inputs

TURN DOWN from wire-ends to mux

CLB

CLB

CLB

CLB

Page 30: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

31

Building up Long WiresAdd +2 More Wires (4 total)

Add LONG WIRES, turning UP and DOWN.

CLB

CLB

CLB

CLB

Page 31: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

32

Building up Long WiresAdd +2 More Wires (6 total)

Add LONG WIRES, turning UP and DOWN

CLB

CLB

CLB

CLB

Page 32: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

33

Building up Long WiresTwisting to Next Tile

Add wire twisting

CLB

CLB

CLB

CLB

Page 33: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

34

CLB

CLB

CLB

CLB

Full S Block with Long WiresUsing One L=3 Switch Element (Q = 2L = 6)

Page 34: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

35

Scaling Channel WidthUsing L=3 Switch Element

CLB

CLB

CLB

CLB

CLB

CLB

CLB

CLB

2 Switch ElementsChannel width = 2Q = 12

1 Switch ElementChannel width = Q = 6

VERY IMPORTANT:Area growth is linearwith channel width

Page 35: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

36

Long Wires Changes Quantum

• Long wires, span L tiles– Example L = 3

Q = L for bidirectionalQ = 2L for directional

1 2 3

CLB CLBCLB

CLB CLB CLB

CLB

CLB

CLB

CLB

Page 36: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

37

Multi-driver WiringLogic outputs use tristate buffers (C Block)

Directional &multi-driverwiring

C BlockS BlockS Block

CLB

Page 37: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

38

Single-driver WiringLogic outputs use muxes (S Block)

Directional &single-driverwiring

New connectivityconstraint

S BlockS Block

CLB

Page 38: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

39

Directional, Single-driver Benefits

• Average improvements 0% channel width 9% delay14% tile length of physical layout25% transistor count 32% area-delay product37% wiring capacitance

• Any reason to use bidir?– Important implications on future interconnect!

Page 39: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

40

C Block designC Block

Page 40: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

41

C Block design

M inputs(100 … 500)

Up to kN outputs(4*8 ... 8*10)

Page 41: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

42

C Block design

Page 42: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

43

C Block design

• Sparse crossbar• Similar # switchpoints– On inputs– On outputs

• Spread out pattern– Two columns have

maximum Hamming distance (most # of different switch points)

– True for all pairs of columns

Page 43: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

44

Overview

• What’s in FPGA interconnect?– Review of typical design

• What are the main application areas?– Driving the future of interconnect design

• What are the interconnect metrics?– Pushing the envelope, then becoming practical

• Open research problems?– Driving the future of interconnect design

Page 44: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

45

What are the main application areas?

• What are FPGAs used for?– A long long time ago… small glue logic

• Modern…– Internet routers (table lookups, multiplexing)– Embedded systems design (NIOS II, MicroBlaze)– Cell phone basestations (communications DSP)– HDTV sets / set-top boxes (video/image DSP)

• Future?

Page 45: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

46

Application drivers

• What we know– FPGAs increasingly more powerful, constant cost– ASIC design costs escalating wildly• Most ASICs use older technology (0.18/0.13mm)• Increasingly, ASICs implemented as FPGAs instead

– FPGAs only in low-volume• E.g., being designed-out of HDTV sets

• Extrapolate to find new emerging markets …

Page 46: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

47

Application drivers (2)

• Extrapolating…– Industrial/scientific instruments: low volume, high margin

• Medical sensing, imaging (ultrasound, PET, …)• Electronics test & measurement (router tester, …)• Physics (neutrino detection, …)

– Computation: mixed volume, mixed margin• Computer system simulation (RAMP, …)• Molecular dynamics, financial modeling, seismic / oil & gas

– Portable/handheld: mixed volume, mixed margin• Consumer• Industrial/Medical

Page 47: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

48

Application drivers (3)

• Problems with FPGAs– Expensive for high-volume markets

• Need cost-reduction strategy

– Insufficient capacity• Could just wait for Moore’s Law to catch up• Capture emerging markets early: ultra-capacity FPGA

– Hard to program• Particularly important when used for computation• Domain-specific languages help

– Power– Slow

Page 48: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

49

Overview

• What’s in FPGA interconnect?– Review of typical design

• What are the main application areas?– Driving the future of interconnect design

• What are the interconnect metrics?– Pushing the envelope, then becoming practical

• Open research problems?– Driving the future of interconnect design

Page 49: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

50

Interconnect metrics

• Typical– Area– Delay (latency)– Power

• Obscure, but important!– Co$t– Bandwidth– Programmability/Ease of use– Reliability/Integrity– Flexibility/Runtime reconfigurability

Page 50: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

51

Pushing the envelope

• Research is about discovery, ideas, exploration– Also evaluation, limit studies, potential uses

• One general research strategy– Pick a metric– Push the envelope• How far did you get?

– Back off until practical– Re-integrate with reality

Page 51: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

52

Pushing the envelope (2)

• Example: Area– Cyclone/Spartan are low-cost (low-area) FPGAs

• Push area to the limits?– Reduce every routing buffer to 1x inverter– Extensive use of pass transistor switches– Reduce connectivity, force sparse logic– Bit-serial logic + routing for datapath

• How small can we get?– Is this practical? Is there a market? Is it cost-effective? – Increased parallelism? Prototype future FPGA designs now?

Page 52: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

53

Pushing the envelope (3)

• Example: Bandwidth– Virtex/Stratix are high-performance FPGAs

• Push bandwidth to the limits?– E.g., pipeline every routing wire / switch– Use registers or wave-pipeline

• How much throughput can we get?– Wave-pipelining ~5Gbps in 65nm [FPGA2009]– Is this practical? Is there a market?

Page 53: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

54

Pushing the envelope (4)

• Example: Flexibility/Runtime reconfigurability– Limited reconfigurability on Xilinx, not on Altera

• Push flexibility/RTR to the limits?– Note: not a naïve “fully connected” graph– Every switch is dynamically addressable, reconfigurable– Every route has an alternative/backup

• What can we gain?– Choose-your-own adventure routing [FPGA2009]– Improved NoC-on-FPGA (?)– Is this practical? Is there a market?

Page 54: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

55

Pushing the envelope (5)

• Pushing envelope for other metrics– Power [Kaptanoglu, keynote FPT2007]

– Co$t (area?)

– Programmability/Ease of use (a CPU?)

– Reliability/Integrity (built-in TMR & Razor?)

Page 55: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

56

Pushing the envelope (5’)

• Pushing envelope for other metrics– Power [Kaptanoglu, keynote FPT2007]

• Portable/handheld

– Co$t (area?)• Portable/handheld, computation

– Programmability/Ease of use (a CPU?)• Computation

– Reliability/Integrity (built-in TMR & Razor?) • Scientific/industrial instruments

Markets exist for

these metrics!

Page 56: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

57

Overview

• What’s in FPGA interconnect?– Review of typical design

• What are the main application areas?– Driving the future of interconnect design

• What are the interconnect metrics?– Pushing the envelope, then becoming practical

• Open research problems?– Driving the future of interconnect design

Page 57: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

58

Open research problems

• Defect tolerance• IIB design– Hard core integration

• Memory-footprint // Runtime optimized• Performance guarantees• Layout-aware methods• Efficient datapaths• Expose the muxes• Low-latency, area-efficient repeaters/switches

Page 58: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

59

Open research problems (2)

• Defect tolerance– Future semiconductor technologies expected to be less

reliable– Interconnect has built-in redundancy (by design)

• Issues– Defect localization– Delay-oriented defects– Abstraction suitable for CAD or bitstream-load– Intentional redundancy: how, where, quantity

Page 59: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

60

Open research problems (3)

• IIB (input interconnect block) design– Function: ‘M’ choose ‘kN’– Conserve ‘switchpoints’, area (# muxes, mux size),

delay (levels)– Maximize ‘entropy’ == # of unique functional

configurations• Are some configurations more important than others?• How to count # of configurations?

– Generally, difficult topological design problem• Most promising ‘type 3’ IIB

[TRETS2008] ≈ Clos network ?

IIB: input interconnect block

M inputs

kN outputs

Page 60: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

61

Open research problems (4)

• Hard core integration– Heterogeneous instance of IIB design problem

• Issues– Each hard core has different # inputs, # outputs

• Complicates uniformity

– Some have large # inputs, outputs• Creates congestion ‘pinch points’• Need to design for ‘worst case’ routability

– Would prefer ‘average case’

Page 61: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

62

Open research problems (5)

• Memory-footprint / Runtime optimized– Architecture graph– Netlist search graph

• Issues– Entire architecture graph is huge, static– Netlist search graph dynamic, alloc/dealloc– Random pointer-chasing– Cache-unfriendly, cache-DRAM bandwidth– Can architecture changes make improvements?

Page 62: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

63

Open research problems (6)

• Performance guarantees– FPGA routers work well, nobody complains• Thank you, PathFinder [McMurchie & Ebeling]

• Issues– Not guaranteed to find a solution (no detection!)• Want ‘Just (unoptimally) route it!’ algorithm

– No performance bounds on metrics• Within X% tracks, Y% delay from minimum

Page 63: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

64

Open research problems (7)

• Layout-aware methods– Altera, Xilinx know how to lay out interconnect– 10+ levels of metal, metal-over-switches, integration

of switches and logic• Issues– Arbitrary ‘topology’ graphs not practical to build– “One size fits all” FPGA diminishing

• “Application-specific” FPGA likely to arrive

– Automated layout, automated circuit design tools• Aware of FPGA architecture / structure

Page 64: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

65

Open research problems (8)

• Efficient datapaths– Multi-bit connections; same source, same sink– Datapath connections coherent, seemingly simple– Very common in computation designs

• Issues– No successful datapath circuit-switched architecture

• Dedicated datapath interconnect only 5-10% smaller• Abandon circuit switching? power

– How wide? 4b, 8b, 32b?– How to build?

Page 65: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

66

Open research problems (9)

• Expose the muxes (1)– LUTs terrible for implementing multiplexers

• 2 x 4LUTs = 1 x 6LUT = 4:1 mux• Imagine 54b barrel shifter (IEEE double-precision)• 1 CLB ≈ 8 x 6LUTs ≈ 2 x 16:1 muxes

– Interconnect is full of muxes• 1 CLB ≈ 60 x 16:1 muxes

• Issues– How to ‘expose’ interconnect muxes to users?– Put routing mux select bits under user control– How to guarantee signal ordering?

Page 66: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

67

Open research problems (9’)

• Expose the muxes (2)– Many systems use lots of 32b muxes• NIOS, MicroBlaze, NoC, Compute engines

– Can we use fast run-time reconfiguration instead of building muxes?

• Issues– How to expose programming bits to user?– How to enumerate & pre-p&r all configurations?

Page 67: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

68

Summary

• Interconnect design is fun and challenging• Many ‘practical’ of issues solved– Lots of ‘academically interesting’ problems remain– Can still ‘push the envelope’

• Promising open problems• Final thoughts…– Circuit design ↔ Topology ↔ Layout CAD– Architectural models (C block, S block) restrictive

Page 68: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

69

EOF

Page 69: The Future of FPGA Interconnect Guy Lemieux The University of British Columbia Tuesday, December 8, 2009 FPT 2009 Workshop Getting the LUT-heads to work…

70