increasing design changeability using dynamical partial reconfiguration kip heidelberg norbert abel,...

39
Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Upload: hortense-arabella-day

Post on 13-Dec-2015

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Increasing Design Changeability using Dynamical Partial Reconfiguration

KIP HeidelbergNorbert Abel, Udo Kebschull

Page 2: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

General DAQ Setup

Page 2Norbert Abel & Udo Kebschull, KIP Heidelberg

DAQ (Cluster)

Beam

Collision Detectors

DAQ (FPGAs)

FEE (ADC)

Page 3: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

DAQ Setup

Page 3Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1

(Communication & Filtering)

Board F1

(Communication & Filtering)

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

FPGA

Page 4: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Reconfiguration

Page 4Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1

(Communication & Filtering)

Board F1

(Communication & Filtering)

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

FPGA

Functionality:Filter 2.4

Page 5: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Reconfiguration

Page 5Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1

(Communication & Filtering)

Board F1

(Communication & Filtering)

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

FPGA

ReconfigurationProcess

X

X

X

X

X

Page 6: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Reconfiguration

Page 6Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1

(Communication & Filtering)

Board F1

(Communication & Filtering)

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

FPGA

Functionality:Filter 2.5

Page 7: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Reconfiguration

Page 7Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1

(Communication & Filtering)

Board F1

(Communication & Filtering)

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

FPGA

ReconfigurationProcess

X

X

X

X

X

Due to these interruptions it is not possible, to use this setup

for online reconfiguration!

Due to these interruptions it is not possible, to use this setup

for online reconfiguration!

Page 8: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Online Reconfiguration

Page 8Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1

(Communication & Filtering)

Board F1

(Communication & Filtering)

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

FPGA

Page 9: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Online Reconfiguration

Page 9Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1Board F1

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

FPGA / ASICBridge

FPGAWorker

Communication Filtering

Page 10: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Online Reconfiguration

Page 10Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1Board F1

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

FPGA / ASICBridge

FPGAWorker

Communication

X X

ReconfigurationProcess

Page 11: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Online Reconfiguration

Page 11Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1Board F1

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

FPGA / ASICBridge

FPGAWorker

Communication Filtering

This connection is part of the fixed Board logic and therefore

unchangeable.

Page 12: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Dynamic Partial Reconfiguration

Page 12Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1

(Communication & Filtering)

Board F1

(Communication & Filtering)

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

FPGA

Page 13: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Dynamic Partial Reconfiguration

Page 13Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1

(Communication & Filtering)

Board F1

(Communication & Filtering)

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

FPGABridge Worker

Page 14: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Dynamic Partial Reconfiguration

Page 14Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1

(Communication & Filtering)

Board F1

(Communication & Filtering)

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

ReconfigurationProcess

FPGABridge Worker

X X

Page 15: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Dynamic Partial Reconfiguration

Page 15Norbert Abel & Udo Kebschull, KIP Heidelberg

FEE 1(Analog -> Digital)

FEE 1(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 2(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 3(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 4(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 5(Analog -> Digital)

FEE 6(Analog -> Digital)

FEE 6(Analog -> Digital)

Board F1

(Communication & Filtering)

Board F1

(Communication & Filtering)

Board C1

(Communication & Combining)

Board C1

(Communication & Combining)

This is the maximumpossible changeability!

FPGABridge Worker

The worker is online reconfigurable.

The complete FPGA is offline reconfigurable.

Page 16: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Dynamic Partial Reconfiguration

Page 16Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGABridge Worker

Page 17: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Dynamic Partial Reconfiguration

Page 17Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

WorkerBridge

Page 18: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Dynamic Partial Reconfiguration

Page 18Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

Bridge Worker 2Worker 1

Page 19: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Dynamic Partial Reconfiguration

Page 19Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

Bridge Worker 2Worker 1

X

Page 20: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Dynamic Partial Reconfiguration

Page 20Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

Bridge Worker 2Worker 1

Page 21: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

DPR Framework

Page 21Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

Bridge Worker 2Worker 1

Worker 3 Worker 4

Page 22: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

DPR Framework

Page 22Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In Worker 2Worker 1

Worker 3 Worker 4

Out

Page 23: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Scheduling - Update

Page 23Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In

Track Finder 2.3Track Finder 2.3

Worker 2

Track Finder 2.3Track Finder 2.3

Worker 1

Zero Suppression 3.2Zero Suppression 3.2

Worker 3

Data Compression 1.7Data Compression 1.7

Worker 4

Out

Page 24: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Scheduling - Update

Page 24Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In

Track Finder 2.3Track Finder 2.3

Worker 2

Track Finder 2.3Track Finder 2.3

Worker 1

Worker 4

Out

XZero Suppression 3.2Zero Suppression 3.2

Worker 3

Page 25: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Scheduling - Update

Page 25Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In

Track Finder 2.3Track Finder 2.3

Worker 2

Track Finder 2.3Track Finder 2.3

Worker 1

Data Compression 1.8Data Compression 1.8

Worker 4

Out

Zero Suppression 3.2Zero Suppression 3.2

Worker 3

Page 26: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Scenario-Based Scheduling

Page 26Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In

Track Finder 2.3Track Finder 2.3

Worker 2

Track Finder 2.3Track Finder 2.3

Worker 1

Track Finder 2.3Track Finder 2.3

Worker 3

Data Compression 1.8Data Compression 1.8

Worker 4

Out

New Scenario!

Page 27: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Scenario-Based Scheduling

Page 27Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In Worker 2Worker 1 Out

XX

Data Compression 1.8Data Compression 1.8

Worker 4

Track Finder 2.3Track Finder 2.3

Worker 3

Page 28: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Scenario-Based Scheduling

Page 28Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In

Track Fitter 3.2Track Fitter 3.2

Worker 2

Track Fitter 3.2Track Fitter 3.2

Worker 1 Out

Data Compression 1.8Data Compression 1.8

Worker 4

Track Finder 2.3Track Finder 2.3

Worker 3

Page 29: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Runtime Scheduling

Page 29Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In Worker 2Worker 1

Worker 3

Out

Worker 4

TrackFinder

3.7

DataComp

1.8

TrackFinder

3.7

VertexFinder

2.4

TrackFinder

3.7

Page 30: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Runtime Scheduling

Page 30Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In Worker 2Worker 1

Worker 3

Out

Worker 4

TrackFinder

3.7

TrackFinder

3.7

TrackFinder

3.7

DataComp

1.8

VertexFinder

2.4

Page 31: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Runtime Scheduling

Page 31Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In Worker 2Worker 1

Worker 3

Out

Worker 4

TrackFinder

3.7

DataComp

1.8

TrackFinder

3.7

TrackFinder

3.7

VertexFinder

2.4

Page 32: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Runtime Scheduling

Page 32Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In Worker 2Worker 1

Worker 3

Out

Worker 4TrackFinder

3.7

TrackFinder

3.7

TrackFinder

3.7

DataComp

1.8

VertexFinder

2.4

Page 33: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Runtime Scheduling

Page 33Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In Worker 2Worker 1

Worker 3

Out

Worker 4TrackFinder

3.7

VertexFinder

2.4

TrackFinder

3.7

TrackFinder

3.7

DataComp

1.8

Page 34: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Runtime Scheduling

Page 34Norbert Abel & Udo Kebschull, KIP Heidelberg

FPGA

In Out

DataComp

1.8

TrackFinder

3.7

VertexFinder

2.4

TrackFinder

3.7

TrackFinder

3.7

Requirements:- Data of absent workers has to be buffered- Scheduler has to be responsive to changing conditions- Reconfiguration overhead has to be as low as possible- Worker interconnections have to be very flexible- Throughput should stay as high as possible

This leads to the need of a Reconfiguration Framework

Page 35: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Reconfiguration Framework

Page 35Norbert Abel & Udo Kebschull, KIP Heidelberg

VHDL

Development of the workers and the In & Out modules in VHDL

Partitioning of the design in VHDL

Implementation of the scheduler

Logical implementation of the inter module communication (IMC)

Partitioning of the Chip

Physical implementation of the IMC

Timing

Using the conventional tools...

Developers have to care about:

Page 36: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Reconfiguration Framework

Page 36Norbert Abel & Udo Kebschull, KIP Heidelberg

OO & VHDL

Development of the workers and the static In & Out modules

Predefined scheduler, partitioning and

communication matrix

Developers just have to care about:Encapsulated

Using our DPR-Framework...

Framework

Page 37: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Reconfiguration Framework

Page 37Norbert Abel & Udo Kebschull, KIP Heidelberg

Functionality:- Data of absent workers is buffered- Scheduler is triggered by the buffer levels- The separation of long and short reconfiguration based on object orientation leads to a minimal reconfiguration overhead- Worker interconnections are free programmable- Runtime Scheduling covers Scenario-Based Scheduling as well as Update Scheduling

T1 = new TrackFinder3_7();T2 = new TrackFinder3_7();T3 = new TrackFinder3_4();

T1.s.connect(T3.a);T2.s.connect(T1.b);

while (1) { ... if (scn_ch == 1) T1.finish();

V = new VertexFinder(); ...}

FPGA

In Out

DataComp

1.8

TrackFinder

3.7

VertexFinder

2.4

TrackFinder

3.7

TrackFinder

3.7

Page 38: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

Reconfiguration Framework

Page 38Norbert Abel & Udo Kebschull, KIP Heidelberg

Throughput:22 MB/s with 16 Bit Databus44 MB/s with 32 Bit Databus88 MB/s with 64 Bit Databus

176 MB/s with 128 Bit Databus

Example:Worker-Size: 534 CLBs <=> 212 kBWorker-Context: 4 BRAMs <=> 10 kB

=> Delay:Short Reconfiguration: 26µsLong Reconfiguration: 530µs

FPGA

In Out

DataComp

1.8

TrackFinder

3.7

VertexFinder

2.4

TrackFinder

3.7

TrackFinder

3.7

Page 39: Increasing Design Changeability using Dynamical Partial Reconfiguration KIP Heidelberg Norbert Abel, Udo Kebschull

ReconfigurationProcess

FPGABridge Worker

X X

Summary

Page 39Norbert Abel & Udo Kebschull, KIP Heidelberg

High Energy Physic Experiments produce very high data rates => DAQ has to be very performant

High Energy Physic Experiments have a very long lifetime => DAQ has to be very flexible

====> Usually reconfigurable FPGAs are used for DAQ

There are two kinds of Reconfiguration:- Offline Reconfiguration- Online Reconfiguration

Online Reconfiguration often depends on the separation in Bridge & Worker

FPGAIn Out

DataComp

1.8

TrackFinder

3.7

VertexFinder

2.4

TrackFinder

3.7

TrackFinder

3.7

DPR makes it possible to place Bridge and (even multiple) Workers on one FPGA

But DPR requires a complex toolflow and much know-how

Our DPR Framework encapsulates the DPR specific tools and methods =>Developers can use DPR without going in detail with it