Overview of Overview of *configurable* architectures - - PDF document

overview of overview of configurable architectures
SMART_READER_LITE
LIVE PREVIEW

Overview of Overview of *configurable* architectures - - PDF document

Overview of Overview of *configurable* architectures *configurable* architectures Prof. Kurt Keutzer EECS keutzer@eecs.berkeley.edu Thanks to Andre Dehon, Jan Rabaey, and many vendors 1 Outline Outline Motivation for *configurable*


slide-1
SLIDE 1

Page 1

1

Overview of Overview of *configurable* architectures *configurable* architectures

  • Prof. Kurt Keutzer

EECS keutzer@eecs.berkeley.edu

Thanks to Andre Dehon, Jan Rabaey, and many vendors

2

Outline Outline

  • Motivation for *configurable* platforms
  • Taxonomy of *configurable* platforms
  • Examples of *configurable* platforms
  • Projects in *configurable* platforms
slide-2
SLIDE 2

Page 2

3

Increasing Device and Context Complexity Increasing Device and Context Complexity

  • Exponential increase in device complexity—increasing

with Moore’s law (or faster)!

  • System context in which devices are deployed (e.g.

cellular radio) are increasing in complexity as well exponential increases in design productivity

Complexity

We have exponentially more transistors!

4

Deep Submicron Effects Deep Submicron Effects

  • Smaller geometries are causing a wide variety of effects that we

have largely ignored in the past: – Cross-coupled capacitances – Signal integrity – Resistance – Inductance

DSM Effects

Design of each transistor is getting more difficult!

slide-3
SLIDE 3

Page 3

5

Heterogeneity on Chip Heterogeneity on Chip

  • Greater diversity of on-chip elements

– Processors – Software – Memory – Analog

More transistors doing different things!

Heterogeneity

6

Stronger Market Pressures Stronger Market Pressures

  • Decreasing design window
  • Less tolerance for design revisions

Exponentially more complex, greater design risk, greater variety, and a smaller design window ! Time-to-Money

slide-4
SLIDE 4

Page 4

7

Motivation: Quadruple Motivation: Quadruple-

  • Whammy

Whammy

DSM Effects Complexity Heterogeneity Time-to-Money

Exponentially more complex, greater design risk, greater variety, and a smaller design window !

8

Likely alternative… Likely alternative…

  • Unprecedented hunger for silicon customization

but ...

  • The quadruple-whammy implies:

– Higher NRE/design – Growing number of applications served through more highly-programmable platforms – With higher-design volume to compensate for higher NREs – From ASIC to ASIP

slide-5
SLIDE 5

Page 5

9

Key Problems in IC Design and Their Solution Key Problems in IC Design and Their Solution

Problem:

  • High development (NRE) cost
  • Need to use IC’s for multiple

related applications

  • Minimize design risk/increase

time-to-market Solution:

  • Amortize cost over many

designs by developing platforms

  • Make platform programmable

so that it can be re-used

  • Use pre-developed platform

where possible and tailor it to application through programming

10

System ASIC Design in 200x System ASIC Design in 200x

  • Less like synthesis of an

integrated circuit from a high- level description

  • More like programming of a

complex application-specific processor

RTL Synthesis HDL netlist logic

  • ptimization

netlist Library physical design layout Impact Front-End Simulator / Visualization Liberty Back-End MESCAL Liberty MDES MESCAL MDES

Prog Env

slide-6
SLIDE 6

Page 6

11

Outline Outline

  • Motivation for *configurable* platforms
  • Taxonomy of *configurable* platforms
  • Projects in *configurable* platforms
  • Examples of *configurable* platforms

12

A 3D Design Space A 3D Design Space

Computation Abstraction Level

slide-7
SLIDE 7

Page 7

13

Programming Model Programming Model

  • The computation-abstraction level (name designed

by committee) is about how is the level of configurability presented to the user

  • Natural levels:

– System architecture – e.g. hash engine – Instruction-set architecture - e.g. MAC x,y,z – Micro-architecture – operator-level – Logic level – moving bits We’ll find systems offering configurabilty at all these levels

14

Design Space: Vertical Axis Design Space: Vertical Axis

Computation Abstraction Level Process/System Architecture Instruction-Set Architecture Micro- Architecture Logic level mov r5, r2

slide-8
SLIDE 8

Page 8

15

A 3D Design Space A 3D Design Space

Computation Abstraction Level Reconfigurable Feature

16

Reconfigurable Features Reconfigurable Features

  • The reconfigurable-feature (another name designed by

committee) is about the manner in which the device supports the configurability

  • Computation:

– Processes – e.g. processing element – Datapaths - e.g. filtering elements – Operators – adders, multipliers, – Logic level – Look-up tables

  • Communication:

– Bus, mesh, hierarchical mesh, on-chip packet routing

  • We’ll find systems using configurabilty at all these

levels … but

  • Not as straightforward as it seems – processes may be

supported on a logic level fabric

slide-9
SLIDE 9

Page 9

17

The Choice of the Computational Elements The Choice of the Computational Elements

Reconfigurable Reconfigurable Logic Logic Reconfigurable Reconfigurable Datapaths Datapaths

adder buffer reg0 reg1 mux

CLB CLB CLB CLB

Data Memory Instruction Decoder & Controller Data Memory Program Memory Datapath MAC In AddrGen Memory AddrGen Memory

Reconfigurable Reconfigurable Arithmetic Arithmetic Reconfigurable Reconfigurable Processors Processors

Bit-Level Operations e.g. encoding

Dedicated data paths e.g. MAC Arithmetic kernels e.g. Convolution, Hash decoding engine Processing elements

18

The Choice of the Communication Fabric The Choice of the Communication Fabric

N Inputs B Buses M Outputs

Multi-Bus

cluster cluster cluster

Hierarchical Mesh Mesh

Module

slide-10
SLIDE 10

Page 10

19

A 3D Design Space A 3D Design Space

Computation Abstraction Level Reconfigurable Feature Binding Rate

20

Binding Rate Binding Rate

  • The binding-rate is about how is the device supports the configurability
  • ver time
  • ``Configurable’’:

– Binding occurs at fabrication time – Similar to ASIC except that the model used to create the devices and the model used to program them is much different » ARC, Tensilica, Improv, Actel

  • ``Re-configurable’’:

– Binding occurs in field, but typically only at ``power-up’’ – Xilinx, Altera, Triscend

  • ``Dynamically reconfigurable’’

– Binding occurs in field, and may occur every 1000’s of cycles – Principally explored in academia – GARP, but also Chameleon

slide-11
SLIDE 11

Page 11

21

So you want to be a reconfigurable architect … So you want to be a reconfigurable architect …

  • Think about the applications that you want to

support: – WCDMA, UMTS, packet forwarding, etc.

  • Think about the programming model you want to

provide: – Ptolemy/Models-of-computation, MATLAB, Click, C, assembler, assembly + Verilog

  • Think about the micro-architecture of your device

and the role that reconfigurable fabric plays in it – 80% PE’s and 20% reconfigurable …

  • Do you want to provide configurability,

reconfigurability, dynamic reconfigurability …

22

Don’t Forget to Think About This Don’t Forget to Think About This

Flexibility Performance Power Cost

  • Components of Cost

– Area of die / yield – Code density (memory is the major part of die size) – Packaging – Design effort – Programming cost – Time-to-market – Reusability

slide-12
SLIDE 12

Page 12

23

Outline Outline

  • Motivation for *configurable* platforms
  • Taxonomy of *configurable* platforms
  • Projects in *configurable* platforms
  • Examples of *configurable* platforms

24

*configurable* related 252 Project Ideas *configurable* related 252 Project Ideas - 1

  • Processor/reconfigurable-fabric interface

– utility of a tight link between a processor and reconfigurable fabric depends largely on management of time to: » Reconfigure fabric » Communication overhead – Problem can be addressed by: » Tricks in fabric (caching configurations etc.) » Or … how about learning to fill configuration time much as we learn to fill delay slots in a branch …

slide-13
SLIDE 13

Page 13

25

*configurable* related 252 Project Ideas *configurable* related 252 Project Ideas - 2

  • What’s the right fabric?

– Chameleon uses a coarse granularity datapath

  • riented fabric

– Triscend uses a fine-grained fabric – What’s right for your favorite application ….?

26

*configurable* related 252 Project Ideas *configurable* related 252 Project Ideas - 3

  • Programming model

– Ultimate success or failure of all these gadgets depends on developing of a programming model for these devices – Develop banana curve for one application for a device that has C-language support try: » Assembly programming the application » C-coding the application » Click, Matlab (details provided), Teja to the device » Compare results – how much do we give up for higher-level programmability –

slide-14
SLIDE 14

Page 14

27

Outline Outline

  • Motivation for *configurable* platforms
  • Taxonomy of *configurable* platforms
  • Projects in *configurable* platforms
  • Examples of *configurable* platforms

28

Variety of Platforms Variety of Platforms

FPGA Processor

Specialized Micro-Architectures Specialized Instruction-Set Architectures

Domain-Specialization

Chameleon Systems Morphics Frontier Design Tensilica ARC Improv Systems PMC Sierra Xilinx Altera Atmel Triscend Actel Adaptive Silicon Proceler Network Processors

slide-15
SLIDE 15

Page 15

29

Here’s the Deal … We can Talk about any of: Here’s the Deal … We can Talk about any of:

  • Actel
  • Adaptive silicon
  • Altera
  • Xilinx
  • Chameleon
  • Morphics
  • Network processors – takes

a whole lecture

  • ARC
  • Improv Systems
  • Tensilica