Reconfigurable Radio with FPGA-Based Application-Specific ...

24
© 2004 Altera Corporation Reconfigurable Radio with FPGA-Based Application-Specific Processors Reconfigurable Radio with FPGA-Based Application-Specific Processors Rob Jackson Sam Hettiaratchi Mike Fitton Steve Perry Rob Jackson Sam Hettiaratchi Mike Fitton Steve Perry Altera European Technology Centre

Transcript of Reconfigurable Radio with FPGA-Based Application-Specific ...

Page 1: Reconfigurable Radio with FPGA-Based Application-Specific ...

© 2004 Altera Corporation

Reconfigurable Radio with FPGA-Based Application-Specific Processors

Reconfigurable Radio with FPGA-Based Application-Specific Processors

Rob Jackson Sam Hettiaratchi Mike Fitton Steve PerryRob Jackson Sam Hettiaratchi Mike Fitton Steve Perry

Altera European Technology Centre

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 2: Reconfigurable Radio with FPGA-Based Application-Specific ...

2© 2004 Altera Corporation - Confidential

AgendaAgendaMotivation− System-Level Design− Reaching Optimal Cost/Performance Point− Productivity

Application Specific Integrated Processors (ASIPs)ASIPs in Software Defined Radio− Programmability & Reconfiguration− An Example: FIR/FFT Implementation

Summary

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 3: Reconfigurable Radio with FPGA-Based Application-Specific ...

3© 2004 Altera Corporation - Confidential

Motivation: System ConceptMotivation: System Concept

Implement Algorithms Quickly & EfficientlyEnsure Desired Cost/Performance Trade-OffUsability: Present a Software-Like InterfaceTight Integration with Tools & System on a Programmable Chip Concept

Reconfigurable MIMO-OFDM Receiver

Ant 2 Signal

Ant 1 SignalFPGA

BasebandFECMIMO

STC AA

ChannelEstimationChannel

Estimation

FFT/PulseShaping

FFT/PulseShaping

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 4: Reconfigurable Radio with FPGA-Based Application-Specific ...

4© 2004 Altera Corporation - Confidential

System RequirementSystem Requirement

Slower than System

Requirem

ent

Accessing the Optimal PointAccessing the Optimal Point

Cost

Execution Time

Optimal Point

Hardware CostDesign Cost

Processor(Too Slow)

Flat RTL Design(Too Big)

with ASIP

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 5: Reconfigurable Radio with FPGA-Based Application-Specific ...

5© 2004 Altera Corporation - Confidential

Productivity MotivationProductivity MotivationDesign Effort is High for FPGAs Compared to other Programmable Platforms

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 6: Reconfigurable Radio with FPGA-Based Application-Specific ...

6© 2004 Altera Corporation - Confidential

AgendaAgendaMotivation− System-Level Design− Reaching Optimal Cost/Performance Point− Productivity

Application Specific Integrated Processors (ASIPs)ASIPs in Software Defined Radio− Programmability & Reconfiguration− An Example: FIR/FFT Implementation

Summary

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 7: Reconfigurable Radio with FPGA-Based Application-Specific ...

7© 2004 Altera Corporation - Confidential

ASIP ApproachASIP ApproachBuild Application-Specific Processors− Easy to Think of Them as Custom Processors

Application-Specific Integrated Processor Has − Flexible Number of Functional Units− Function Units Connections are Defined

by the Algorithm− Program to Allow Flexible (& Dynamic) Control− Software-Based Design Flow

Software Process brings Productivity vs. RTL

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 8: Reconfigurable Radio with FPGA-Based Application-Specific ...

8© 2004 Altera Corporation - Confidential

Example ASIPExample ASIP

ALU2

CORDIC

Prog CounterProg Counter

ALU1 RF2

Multiple Function UnitsPartitioned Register FilesSparse, Irregular ConnectivityTypically Very High fMAX

Control Complexity in Software

ProgramMicrocodeProgram

Microcode

RF1 *

*

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 9: Reconfigurable Radio with FPGA-Based Application-Specific ...

9© 2004 Altera Corporation - Confidential

CO

RD

IC

CO

RD

ICC

OR

DIC

CO

RD

ICC

OR

DIC

QRD Processor

ALUALU

uCodeuCode

Hierarchical CompositionHierarchical CompositionProcessors That Are Built Can Be Used As Functional Units Within Another ProcessorUsers Can Add Functional Units to Their Processors

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 10: Reconfigurable Radio with FPGA-Based Application-Specific ...

10© 2004 Altera Corporation - Confidential

AgendaAgendaMotivation− System Level Design− Reaching Optimal Cost/Performance Point− Productivity

Application Specific Integrated Processors (ASIPs)ASIPs in Software Defined Radio− Programmability & Reconfiguration− An Example: FIR/FFT Implementation

Summary

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 11: Reconfigurable Radio with FPGA-Based Application-Specific ...

11© 2004 Altera Corporation - Confidential

ASIPs in SDR: Programmability ASIPs in SDR: Programmability The ASIP Application is a Software Program − Sequential High Level Code− Instruction Level Parallelism

RTL is a Hardware Description Language− Behavior Encoded in a Number of Parallel

Processes

Software Can be:− Ported, Adapted, Updated, Enhanced

ASIPs Can Combine the Flexibility of DSPs With the Processing Power of FPGAs

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 12: Reconfigurable Radio with FPGA-Based Application-Specific ...

12© 2004 Altera Corporation - Confidential

ASIPs in SDR: ReconfigurationASIPs in SDR: ReconfigurationASIP Uses a Program − Can be Quickly & Easily Reprogrammed by

Changing the Contents of the Program Memory

Conventional Hardware Description − Reconfiguration Requires a New FPGA

Image - Literally Rewiring the Device

Migrate to Structured ASIC (e.g. Altera Hardcopy Structured ASIC) − Does Not Compromise the Reconfigurability

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 13: Reconfigurable Radio with FPGA-Based Application-Specific ...

13© 2004 Altera Corporation - Confidential

MethodologyMethodology

FFT Algorithm Requirements− Radix-2, Complex, 1,024-Point, Decimation in Time− 2 Data Read, 2 Data Write, 1 Coefficient Read, 6

Add/Sub, 4 Multiply Per Butterfly

FIR Algorithm Requirements− Simple 10-Tap Complex FIR − 1 Data Read, 1 Coefficient Read, 4 Add/Sub, 4 Multiply

Per Tap

1. Analyse Requirements2. REPEAT{3. Select & Parameterise Function Units, Choose Topology4. Assess Implementation Performance5. } UNTIL Solution Found

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 14: Reconfigurable Radio with FPGA-Based Application-Specific ...

14© 2004 Altera Corporation - Confidential

System Constraint− 1 18x18 Multiplier

ASIP Specification− Optimize for ~100% Multiplier Utilization (Efficiency)− 1 Dual Ported Data Memory & 1 Single Ported

Coefficient Memory− 5 Address Generators, 4 ALU (2 Used as Accumulators)

In Effect We have Built a Simple DSP Processor Capable of Performing FIR & FFT

1. Analyse Requirements2. REPEAT{3. Select & Parameterise Function Units, Choose Topology4. Assess Implementation Performance5. } UNTIL Solution Found

MethodologyMethodology

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 15: Reconfigurable Radio with FPGA-Based Application-Specific ...

15© 2004 Altera Corporation - Confidential

Simple Hardware– 322 Logic Elements (LEs)– 1 18x18 Multiplier

High Performance – 230 MHz in a

Stratix –5 FPGA– 1,024 Pt FFT Takes

21,850 Cycles (95 µs)

Less than 5% of Available Logic in Smallest Altera Stratix FPGA

Reconfigurable FFT/FIR Filter ModuleReconfigurable FFT/FIR Filter Module

INDEX1 INDEX2 INDEX3 INDEX4INDEX0

MOD 0 MOD 1 MOD 2

MEM1

ADD/SUB0 ADD/SUB1

ACCUMULATE 0 ACCUMULATE 1

MEM2

MULTIPLY

MEM1

REGISTERFILE 0

REGISTER 0

ADD/SUB2

REGISTERFILE 0

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 16: Reconfigurable Radio with FPGA-Based Application-Specific ...

16© 2004 Altera Corporation - Confidential

FFT/FIR Control ProcessorFFT/FIR Control Processor

Processors Implement Control Structures Very Cheaply & Densely

Complete ProcessorCan Perform Any Task52 Logic Elements (LEs) & 2 M4K Memories

+/-

RF

RF

8 Bit Data/Address/Register

Immediate

Sign, Carry+=1

progmem

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 17: Reconfigurable Radio with FPGA-Based Application-Specific ...

17© 2004 Altera Corporation - Confidential

Program: ControlProgram: Controlfor (row = 0; row < number_coefficients; row++) {

for (col = 0; col < number_coefficients; col++)

{mul = G[row] * PX[col];add18 = P[row][col] - mul;scale = add18 * scale_constant;P[row][col] = scale;

}}

High Level, Symbolic Control– Independent of the Final Hardware Implementation

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 18: Reconfigurable Radio with FPGA-Based Application-Specific ...

18© 2004 Altera Corporation - Confidential

Program: Data ProcessingProgram: Data Processingfor (row = 0; row < number_coefficients; row++) {

for (col = 0; col < number_coefficients; col++)

{mul = G[row] * PX[col];add18 = P[row][col] - mul;scale = add18 * scale_constant;P[row][col] = scale;

}}

Statements are Sequential & ‘Well Defined’– No Explicit Hardware Timing

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 19: Reconfigurable Radio with FPGA-Based Application-Specific ...

19© 2004 Altera Corporation - Confidential

for (row = 0; row < number_coefficients; row++) {

for (col = 0; col < number_coefficients; col++)

{mul = G[row] * PX[col];add18 = P[row][col] - mul;scale = add18 * scale_constant;P[row][col] = scale;

}}

Program: One InstructionProgram: One Instruction

First Instruction: 5 Cycles

G PX

row col

mul

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 20: Reconfigurable Radio with FPGA-Based Application-Specific ...

20© 2004 Altera Corporation - Confidential

P

P

mulindex

row

G PX

add18

col

scaleadd18

mulP

scaleP

index

row col

G PX

Program: Pipelined LoopProgram: Pipelined LoopBut if There Are 3 Mems, 2 Mults, 1 Adder…− …Loop Can Restart Every Cycle

8 Operations/Cycle4 Mem Ops/Cycle

Pipelined Hardware Performance

8 Operations/Cycle4 Mem Ops/Cycle

Pipelined Hardware Performance

G

mulP

index

scale

P

row col

add18

PX

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 21: Reconfigurable Radio with FPGA-Based Application-Specific ...

21© 2004 Altera Corporation - Confidential

FFT Performance ComparisonFFT Performance Comparison

1,024 Point Radix-2 FFT

DSP

ASIP-on-FPGA

Implementation

20,840 Cycles @300 MHz (69.5 µs)

TI C62

21,850 Cycles @230 MHz (95 µs)

<5% of SmallestStratix FPGA

SpeedSize

DSP is Faster than ASIPHowever, ASIP Only Requires Less than 5% of Stratix FPGA Device

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 22: Reconfigurable Radio with FPGA-Based Application-Specific ...

22© 2004 Altera Corporation - Confidential

FFT Performance ComparisonFFT Performance Comparison

1,024 Point Radix-4 FFT

RTLIP Core from Xilinx

ASIP-on-FPGA

Implementation

4,145 Cycles @100 MHz

(41.5 µs) [9]

1,869 Logic Slices (1 Logic Slice = Two

4-Input LUTs)

6,638 Cycles @256 MHz

(Under 25 µs)600 LEs (1 LE = One

4-Input LUT)

SpeedSize

ASIP-on-FPGA Gives a Denser Faster Implementation

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 23: Reconfigurable Radio with FPGA-Based Application-Specific ...

23© 2004 Altera Corporation - Confidential

AgendaAgendaMotivation− System-Level Design− Reaching Optimal Cost/Performance Point− Productivity

Application Specific Integrated Processors (ASIPs)ASIPs in Software Defined Radio− Programmability & Reconfiguration− An Example: FIR/FFT Implementation

Summary

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved

Page 24: Reconfigurable Radio with FPGA-Based Application-Specific ...

24© 2004 Altera Corporation - Confidential

SummarySummaryMethodology for Constructing Customized Application-Specific Processors on FPGA Efficient Algorithm Implementations in FPGA FPGA Implemented ASIPs are a Good Target for SDR− Performance of an FPGA − Can be Re-Programmed Without Completing a

Hardware Change CycleASIPs Remain Reprogrammable if the FPGA Design is Converted to ASIC (e.g., HardCopy Structured ASIC)

Proceeding of the SDR 04 Technical Conference and Product Exposition. Copyright © 2004 SDR Forum. All Rights Reserved