Data Acquisition in Particle Physics Igor Konorov Institute for - - PowerPoint PPT Presentation

data acquisition in particle physics
SMART_READER_LITE
LIVE PREVIEW

Data Acquisition in Particle Physics Igor Konorov Institute for - - PowerPoint PPT Presentation

Data Acquisition in Particle Physics Igor Konorov Institute for Hadronic Structure and Fundamental Symmetries (E18) TUM Department of Physics Technical University of Munich Advanced Workshop on FPGA based System-on-Chip for Scientific


slide-1
SLIDE 1

Igor Konorov Institute for Hadronic Structure and Fundamental Symmetries (E18) TUM Department of Physics Technical University of Munich Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation and Reconfigurable Computing ICTP Trieste

Data Acquisition in Particle Physics

slide-2
SLIDE 2

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

CERN Accelerator and Experiments

slide-3
SLIDE 3

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

CERN Accelerators

LHC Experiments

  • CMS
  • ATLAS
  • LHCb
  • ALICE
  • TOTEM, LHCf, MeEDAL

Fixed Target Experiments

  • COMPASS
  • NA61/SHINE
  • NA62
  • DIRAC
  • LOUD
slide-4
SLIDE 4

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

LHC CMS Experiment

slide-5
SLIDE 5

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

CERN Accelerators

slide-6
SLIDE 6

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

CMS Experiment

3 other LHC experiments

  • ATLAS
  • LHCb
  • ALICE
slide-7
SLIDE 7

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

COMPASS Experiment

slide-8
SLIDE 8

 The process of sampling detector signals  Conversion to digital form  Data processing  Transmission to PC for further processing

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Data Acquisition System

Transducer

Volt ltage Curr rrent

Digitizer

Digital Logic

Amplifier

slide-9
SLIDE 9

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Electron Energy Measurement

Curr rrent

Digitizer FPGA Scintillation Counter 1

e‾

Scintillation Counter 2 Electromagnetic Calorimeter TRIGGER

TRIGGER – define time when amplitude value to be copied Data path delay should be equal to trigger delay with correction for time of flight !

slide-10
SLIDE 10

Triggered DAQ

At certain time

– when something interesting happened

Take time measurement => TRIGGERED DAQ Photo shooting => TRIGGERED DAQ

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-11
SLIDE 11

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Electron Energy Measurement

Curr rrent

Digitizer FPGA Scintillation Counter 1

e‾

Scintillation Counter 2 Electromagnetic Calorimeter TRIGGER

TRIGGER – define time when amplitude value to be copied Data path delay should be equal to trigger delay with correction for time of flight ! Why Triggered and not continuous ?

slide-12
SLIDE 12

Trigger-less DAQ

Take everything A time when something interesting happen is not easy to define Taking video => TRIGGERLESS DAQ

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-13
SLIDE 13

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Electron Energy Measurement

Curr rrent

Digitizer FPGA Scintillation Counter 1

e‾

Scintillation Counter 2 Electromagnetic Calorimeter TRIGGER

TRIGGER – define time when amplitude value to be copied Data path delay should be equal to trigger delay with correction for time of flight ! Why Triggered and not continuous ?

  • Feasibility to handle continuous stream
  • No need to collect all data
slide-14
SLIDE 14

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Electron Energy Measurement

Curr rrent

Digitizer FPGA Scintillation Counter 1

e‾

Scintillation Counter 2 Electromagnetic Calorimeter TRIGGER

TRIGGER – define time to measure a value Data path delay should be equal to trigger delay with correction for time of flight ! How much data the system should be able to take? Probability mass function for Poisson distribution: Where 𝜇 – average number of events, k – number of occurred events The system should take as often as maximum trigger frequency

P(k) =

𝜇𝑙𝑓−𝜇 𝑙!

slide-15
SLIDE 15

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Electron Energy Measurement

Curr rrent

Digitizer FPGA Scintillation Counter 1

e‾

Scintillation Counter 2 Electromagnetic Calorimeter TRIGGER

TRIGGER – define time to measure a value Data path delay should be equal to trigger delay with correction for time of flight ! How much data the system should be able to take? Probability mass function for Poisson distribution: Where 𝜇 – average number of events, k – number of occurred events The system should take as often as maximum trigger frequency

P(k) =

𝜇𝑙𝑓−𝜇 𝑙!

slide-16
SLIDE 16

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

DAQ Architecture in Particle Physics

Thr

Delay ay cable bles

Trigger igger

LEMO O cabl ble netwo twork rk CAMAC VME

Inhibit

ADC ADC ADC

Trigger Readout

slide-17
SLIDE 17

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

DAQ Architecture in Particle Physics

Thr

Delay ay cable bles

Trigger igger Logic gic

CAMAC VME

Inhibit

ADC ADC ADC

Trigger Readout

Front-End Acquisition Slow Control

Twait

Tdead = Tread Twait + Tread

Tread

slide-18
SLIDE 18

Efficiency of data taking

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

RO Sequence : Trigger –> Busy – Read Out -> Release Busy (Ready for next event) = T busy Probability of events described by Poisson distribution J – number of triggers and r – trigger rate A rule of thumb:

Dead Time =

𝑈𝑐𝑣𝑡𝑧 λ

Tbusy – DAQ busy time λ – average time between triggers Tav >> Tbusy

Example: 1kHz => λ = 1ms Tbusy = 50 useconds DeadTime = 0.05/1 = 0.05 or 5% Tbusy

slide-19
SLIDE 19

Pipe Line Front Ends

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

FIFO

FIFO for N events

FIFO

ADC

100MHz CLK CLK

FIFO Logic

Trigger

FIFO

FIFO for N events

FIFO

ADC

100MHz CLK CLK

FIFO Logic

Trigger

Multi Event buffer: de-randomization buffer Input : Poisson distribution Output : more like a Gaussian centered around average value

slide-20
SLIDE 20

DAQ efficiency vs FIFO Depth

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

DAQ Efficiency Trigger rate/DAQ rate capability

slide-21
SLIDE 21

Data Flow DAQ Architecture

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Front-End

Trigger Logic

Event Builder PC Data Concentrator PC

slide-22
SLIDE 22

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

DAQ Architectures

Front-End

Trigger Logic

Event Builder

PC

Data Concentrator

PC

Front-End

Trigger Logic

Event Builder

PC

Data Concentrator

PC

Trigger Logic

Front-End

Trigger Logic

Event Builder

PC

Data Concentrator

PC

Trigger Logic Trigger Logic Storage/CDR Storage/CDR Storage/CDR

slide-23
SLIDE 23

 Front-end electronics, detector specific

  • Conversion of detector analog signal to digital form
  • Derandomization
  • Data processing: signal detection, extraction of signals’ parameters Time and/or Amp…

 Trigger Logic

  • reduce amount of stored data
  • define time when of interesting event

 Trigger Distribution system => Time Distribution System  Slow Control System

  • Control and monitoring of PS, Gas system, Temperature, Humidity,…
  • Programming of Front-ends

 Acquisition System => Event builder

  • Data acquisition – moving data from FE to PCs
  • Data flow control
  • Real time Software
  • Run control

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

DAQ Elements

slide-24
SLIDE 24

DAQ Architectures

Front-End

Trigger Logic Storage

MUX Event Builder

FPGA WORLD PC WORLD Belle2 HLT LHC IFDAQ

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Future LHC

slide-25
SLIDE 25

Time Distribution and Time Measurement

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-26
SLIDE 26

Time measurement

Classical method:

– TRIGGER is a reference – SIGNAL time is measured respectively to TRIGGER signal

Alternative method for big experiments:

– Distribute CLOCK , why clock?

  • Easier to distribute with very low jitter

– Measure absolute time respectively to CLOCK phase

Tsig = Ns Tclk+ tsig Ttrg = Nt Tclk+ ttrg Clock and Data are encoded and transmitted from single source to multiple destinations

NA48, LHC->TTC, COMPASS->TCS

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Detector Signals Trigger Signal

∆T ∆T

Trigger Signal

Common CLOCK

tsig tsig ttrg

Detector Signals

Encoding Data

Ns T0

slide-27
SLIDE 27

TDC types

  • Tim

ime stre retching tching :

– Time measurement between START and STOP – Fast charging of capacitor with reference current => slow discharging

  • Tim

ime to amplit plitude ude conver nverters ters :

– charging capacitor with reference current => ADC to measure amplitude

  • ASIC TDC: Delay

lay Locked cked Loop

  • p bas

ased ed TDC

  • FPGA Count

unter er as a s sim imple ple TDC

  • FPGA TDC

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-28
SLIDE 28

Counter as TDC

Counter based Fclock = 400MHz COUNTER

CLOCK Stop Start

RESET EN

REGISTER Tbin = Tclock

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-29
SLIDE 29

Delay Lock Loop TDC, HPTDC

Transistor parameters vary from chip to chip and even within

  • ne chip

DLL compensates variation of transistor parameters from chip to chip and due to voltage and temperature

  • Resolution 25ps
  • 32channels/chip

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-30
SLIDE 30

FPGA based TDC1

c0 c90 c180 c270 c0 Data In Multiple Sampling Clock Domain Changing

  • Trans. Detection

& Encode Q0 Q1 Q2 Q3 QF QE QD c90 Coarse Time Counter DV T0 T1 TS 4x Sampling: 250 MHz: 1ns(LSB), 288ps(RMS) 400 MHz: 625ps(LSB), 180ps(RMS)

Wu, Jinyuan, Fermilab

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-31
SLIDE 31

Tapped Delay TDCs

Fermilab

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Min Zhang et all Xidian University

Xilinx Virtex-5 XC5VLX110T FPGA

7.6 ps TDC resolution

Jinyuan Wu and Zonghan Shi Fermilab

ALTERA Cyclone II EP2C8T144C6 Tap delay: 60 ps Main clock : 400 MHz TDC resolution : 12 ps

Xidian University

slide-32
SLIDE 32

Tapped TDC

Time Resolution is 0 ps using Virtex 4 chip

Differential nonlinearity

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-33
SLIDE 33

FPGA based TDC, next step

Jinyuan Wu and Zonghan Shi Fermilab

ALTERA Cyclone II EP2C8T144C6 Tap delay: 60 ps Ultra-wide bin: 165 ps Main clock : 400 MHz

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-34
SLIDE 34

FPGA based TDC next step

Wavelet launcher:

  • Input pulse unleash bit pattern
  • Multiple measurement

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-35
SLIDE 35

FPGA based TDC next step

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-36
SLIDE 36

Tapped TDC Resource Utilization

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-37
SLIDE 37

Problems of Tapped FPGA TDC

  • Detailed analysis of FPGA circuit layout
  • Advanced usage of placement constrains
  • Variation of bin sizes due to differences in propagations

through logic elements

  • Consumes quite a lot of FPGA fabric resources

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

References : 1. Jinyuan Wu et all. The 10-ps wave union TDC: Improving FPGA TDC resolution beyond its cell delay. November 2008 IEEE Nuclear Science Symposium conference record. Nuclear Science Symposium. DOI: 10.1109/NSSMIC.2008.4775079 2. Min Zhang et all. A 7.4 ps FPGA-based TDC with a 1024-unit measurement matrix April 2017. Sensors 17(4):865. DOI: 10.3390/s17040865

slide-38
SLIDE 38

DeSerializer as TDC

Features:

  • LVDS input
  • 64 taps for delay adjusting, one tap 75ps
  • Delay controlled by Reference Clock

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-39
SLIDE 39

Clustering

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-40
SLIDE 40

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

DEPFET PXD Detector for Belle2 Experiment

256 6 x 250 0 pixels ls 55 x 50 μm (L1) 70 x 50 μm (L2) 512 x 250 pixels ls 60 x 50 μm (L1) 85 x 50 μm (L2)

PXD

  • Two layers :
  • L1 : 8 inner layers, 1.4 cm from IP, 44.8 x 12.5 mm²
  • L2 : 12 outer layers, 2.2 cm from IP, 61.44 x 12.5 mm²
  • 40 half ladders => Half ladder 250x768 pixels => 7.68 Mpixels
  • 75 um thick

Total material budget 0.2% 𝐘0

slide-41
SLIDE 41

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Detector Readout

Read/Clear Rolling Shutter

Switcher :

HV, controls DEPFET transistors and asserts Read/Clear signals

DCD ( Drain Current Digitizer ):

256 x PreAmp 256 x 8 bit ADC at 10 MHz MUX 1024 : 256 to DHPT running at 320Mbps each => 81.92Gbps

DHPT (Data Handling Processor)

Common mode correction Zero suppression Serial Link 1.6Gbps to DHE

Rolling shutter readout :

4 rows(1000 pixels) are readout and then cleared at once Speed 100ns for 4 rows => 19 us for full sensor or 2 KEKB revolution cycles

slide-42
SLIDE 42

Clustering algorithm for FPGA

Simp mple le re requireme irements: ts:

  • Merging direct neighbors : or
  • Pixel array 768x250
  • Real time processing

– 4 streams 50 10^6 pixel/second = 2 10^8 pixel/s

  • Latency is not important
  • Cluster data processing :

– Center of gravity for ROI – Marking clusters created by low momentum particles

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-43
SLIDE 43

Literature

  • Most

t commo mon n case: : Clustering for calorimeters with predefined shape 2x2,3x3, 5x5…

  • General

l purpose

  • se real

l tim ime DCE3 clu lusterin ring algo lgorit ithm

– Parallel clustering

  • General

l purpose

  • se clu

lusterin ring(A.Annov A.Annovi, , M.Ber eret etta ta) ) for ATLAS S pix ixel l detector tor

Algorithm:

Each detector pixel is presented as FSM(Finite State Machine) Detector of NxM pixels requires NxM FSMs

Clustering procedure:

Initialization , loading FSMs by hit information : EMPTY, HIT Readout :

  • external FSM selects first not empty Pixel and reads it
  • SELECT signal propagates to neighboring FSMs for further readout
  • this procedure is repeated till all neighboring pixels are readout

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-44
SLIDE 44

Literature

Problem: amount of hardware scales linearly

with number of pixels and very fast uses up all FPGA resources: Solution to the problem : “Sliding Window”. Window is bigger than any cluster

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

FPGA : XC5VLX155 Window : 328x8 30 % FPGA resources Speed : >20 Mhits/s

slide-45
SLIDE 45

New clustering algorithm for FPGA

Alg lgor

  • rith

ithm m take kes s advant antag age of det etect ctor

  • r rea

eado dout ut fe featu ature re:

– sequential data transmission – limited data rate: not more than 4 x 76 MPix/s – Ordered hits readout sequence, almost row wise: data mixed within 4 consecutive rows – no latency requirements

Clu luster stering ng alg lgori rithm thm feat eatur ures: s:

– Hit information is analyzed once and cluster number assigned – Following processing steps shuffle hits using cluster number information – Clustering algorithm reconstructs any cluster shape within half ladder – Pipeline design – real time operation

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-46
SLIDE 46

Clustering FSMs

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

column row

FSMs(32)

Hit

Active RIGHT Active LEFT

Active Left

CLUSTER # CLUSTER # CLUSTER # CLUSTER # Right Reg Active RIGHT

Next xt Clu luster ster # coun unter ter

Cluster # LOGIC Cluster # changed

Left Reg

slide-47
SLIDE 47

FSM behavior

What FSMs Ms do?

  • Each FSM responsible for hits of two columns
  • Process one hit in one clock cycle
  • Evaluate hit

it clu luster ster num umbe ber

  • Write hit together with cluster number to hit memory
  • Store cluster number in clu

lust ster r mem emory ry

  • When two clusters touch each other the lowest cluster number

is taken over FSM M beh ehavi avior

  • r is

is described escribed for r all ll case ses

  • 1. FSM is not active, hit arrives
  • 2. FSM is active, no hit
  • 3. FSM is active and new hit arrives
  • 4. FSM is active, there was no hit belonging to any of these two rows

within this column and current hit is a first belonging to new column

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-48
SLIDE 48

Examples of FSMs actions 1

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . X . . . . . . . . . . . . . X . . . . . . . . . . . X . X X . . . . . . . . . . . . . X . . X . . . . X . X . . . . . X . .

Addr. Valu lue 1

  • 2
  • 3
  • 4
  • 5
  • Cluster memory

1 Next cluster counter

slide-49
SLIDE 49

Examples of FSMs actions 1

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . 1 . . . . . . . . . . . . . X . . . . . . . . . . . X . X X . . . . . . . . . . . . . X . . X . . . . X . X . . . . . X . .

Addr. Valu lue 1 1 2

  • 3
  • 4
  • 5
  • Cluster memory

2 Next cluster counter

slide-50
SLIDE 50

Examples of FSMs actions 1

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . 1 . . . . . . . . . . . . . 2 . . . . . . . . . . . X . X X . . . . . . . . . . . . . X . . X . . . . X . X . . . . . X . .

Addr. Valu lue 1 1 2 2 3

  • 4
  • 5
  • Cluster memory

3 Next cluster counter

slide-51
SLIDE 51

Examples of FSMs actions 1

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . 1 . . . . . . . . . . . . . 2 . . . . . . . . . . . 3 X . . . . . . . . . . . . . X . . X . . . . X . X . . . . . X . .

Addr. Valu lue 1 1 2 2 3 3 4

  • 5
  • Cluster memory

4 Next cluster counter

slide-52
SLIDE 52

Examples of FSMs actions 1

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . 1 . . . . . . . . . . . . . 2 . . . . . . . . . . . 3 3 . . . . . . . . . . . . . X . . X . . . . X . X . . . . . X . .

Addr. Valu lue 1 1 2 2 3 3 4

  • 5
  • Cluster memory

4 Next cluster counter

slide-53
SLIDE 53

Examples of FSMs actions 1

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . 1 . . . . . . . . . . . . . 2 . . . . . . . . . . . 3 3 . . . . . . . . . . . . . 4 . . X . . . . X . X . . . . . X . .

Addr. Valu lue 1 1 2 2 3 3 4 4 5

  • Cluster memory

5 Next cluster counter

slide-54
SLIDE 54

Examples of FSMs actions 1

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . 1 . . . . . . . . . . . . . 2 . . . . . . . . . . . 3 3 . . . . . . . . . . . . . 4 . . 5 . . . . X . X . . . . . X . .

Addr. Valu lue 1 1 2 2 3 3 4 4 5 5

Cluster memory 6 Next cluster counter

slide-55
SLIDE 55

Examples of FSMs actions 1

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . 1 . . . . . . . . . . . . . 2 . . . . . . . . . . . 3 3 . . . . . . . . . . . . . 4 . . 5 . . . . 4 . 5 . . . . . X . .

Addr. Valu lue 1 1 2 2 3 3 4 4 5 5

Cluster memory 6 Next cluster counter

slide-56
SLIDE 56

Examples of FSMs actions 1

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . 1 . . . . . . . . . . . . . 2 . . . . . . . . . . . 3 3 . . . . . . . . . . . . . 4 . . 5 . . . . 4 . 5 . . . . . 4 . .

Addr. Valu lue 1 1 2 2 3 3 4 4 5 4

Cluster memory 6 Next cluster counter

slide-57
SLIDE 57

Examples of FSMs actions 1

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . 1 . . . . . . . . . . . . . 2 . . . . . . . . . . . 3 3 . . . . . . . . . . . . . 4 . . 4 . . . . 4 . 4 . . . . . 4 . .

Addr. Valu lue 1 1 2 2 3 3 4 4 5 4

Cluster memory 6 Next cluster counter

Cluster numbers are updated using cluster memory during hit readout.

slide-58
SLIDE 58

Examples of FSMs actions

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . 1 . . . . . . . . . . . . . 2 . . . . . . . . . . . 3 3 . . . . . . . . . . . . . 4 . . 5 . . . . 4 . 5 . . . . . X . .

Addr. Valu lue 1 1 2 2 3 3 4 4 5 5

Cluster memory 6 Next cluster counter

slide-59
SLIDE 59

Extreme case

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. X . X . X . X . X . X . X . X . X . . . . . . X . X . X . X . X . X . X . X . X X . . . . . . . X . X . X . X . X . X . X X . . . . . . . . . X . X . X . X . X . X X . . . . . . . . . . . X . X . X . X . X X . . . . . . . . . . . . . X . X . X . X X . . . . . . . . . . . . . . . X . X . X X . . . . . . . . . . . . . . . . . X . X X . . . . . . . . . . . . . . . . . . . . X . . . . . . . . . . . . . . . . . . . .

Addr. Valu lue 1

  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • Cluster memory

1 Next cluster counter

slide-60
SLIDE 60

Extreme case

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . . . . . . 1 . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 8 . . . . . . . 1 . 2 . 3 . 4 . 5 . 6 . 7 7 . . . . . . . . . 1 . 2 . 3 . 4 . 5 . 6 6 . . . . . . . . . . . 1 . 2 . 3 . 4 . 5 5 . . . . . . . . . . . . . 1 . 2 . 3 . 4 4 . . . . . . . . . . . . . . . 1 . 2 . 3 3 . . . . . . . . . . . . . . . . . 1 . 2 2 . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . .

Addr. Valu lue 1 1 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 8

Cluster memory 10 Next cluster counter

Cluster memory content has to be updated to map all cluster numbers to smallest number

slide-61
SLIDE 61

Cluster memory update

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Addr. Valu lue 1 1 2 1 3 2 4 3 5 4 6 5 7 6 8 7 9 8

Cluster memory

Update starts from cluster #3 to maximum cluster # Maximum look down length is 1 clusters

Addr. Valu lue 1 1 2 1 3 1 4 3 5 4 6 5 7 6 8 7 9 8

Cluster memory

Addr. Valu lue 1 1 2 1 3 1 4 1 5 4 6 5 7 6 8 7 9 8

Cluster memory

Addr. Valu lue 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1

Cluster memory

One update takes 3 clock cycles Using DP memory allows to reach 2 clock cycles per update

slide-62
SLIDE 62

Broadcast Cluster Number change (1)

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. X . . . . . . . . . . . . . . X . . . . . . . . X . . . . . X . . X . . . . X . . . . . . X . X X . . X . . . . . . . . X . X . X . . . . . . . . . . . X X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Hit

Active RIGHT Active LEFT

Active Left

CLUSTER # CLUSTER # CLUSTER # CLUSTER # Right Reg Active RIGHT

Next xt Clu luster ster # counter unter

Cluster # LOGIC Cluster # changed

Left Reg

Addr. Valu lue 1

  • 2
  • 3
  • 4
  • 5
  • Cluster memory

When FSM changes Cluster# from B to A it broadcast change to all FSMs. Active FSMs with cluster number B also change its’ cluster number to A.

slide-63
SLIDE 63

Broadcast Cluster Number change (2)

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. 1 . . . . . . . . . . . . . . 1 . . . . . . . . 2 . . . . . 1 . . 3 . . . . 2 . . . . . . 1 . 3 3 . . 2 . . . . . . . . 1 . 3 . 2 . . . . . . . . . . . X X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Hit

Active RIGHT Active LEFT

Active Left

CLUSTER # CLUSTER # CLUSTER # CLUSTER # Right Reg Active RIGHT

Next xt Clu luster ster # counter unter

Cluster # LOGIC Cluster # changed

Left Reg

Addr. Valu lue 1 1 2 2 3 1 4

  • 5
  • Cluster memory

When FSM changes Cluster# from B to A it broadcast change to all FSMs. Active FSMs with cluster number B also change its’ cluster number to A.

No Broadcast

slide-64
SLIDE 64

Broadcast Cluster Number change (3)

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. 1 . . . . . . . . . . . . . . 1 . . . . . . . . 2 . . . . . 1 . . 3 . . . . 2 . . . . . . 1 . 3 3 . . 2 . . . . . . . . 1 . 3 . 2 . . . . . . . . . . . 2 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Hit

Active RIGHT Active LEFT

Active Left

CLUSTER # CLUSTER # CLUSTER # CLUSTER # Right Reg Active RIGHT

Next xt Clu luster ster # counter unter

Cluster # LOGIC Cluster # changed

Left Reg

Addr. Valu lue 1 1 2 2 3 2 4

  • 5
  • Cluster memory

When FSM changes Cluster# from B to A it broadcast change to all FSMs. Active FSMs with cluster number B also change its’ cluster number to A.

No Broadcast

slide-65
SLIDE 65

Broadcast Cluster Number change (4)

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. 1 . . . . . . . . . . . . . . 1 . . . . . . . . 2 . . . . . 1 . . 2 . . . . 2 . . . . . . 1 . 2 2 . . 2 . . . . . . . . 1 . 2 . 2 . . . . . . . . . . . 2 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Hit

Active RIGHT Active LEFT

Active Left

CLUSTER # CLUSTER # CLUSTER # CLUSTER # Right Reg Active RIGHT

Next xt Clu luster ster # counter unter

Cluster # LOGIC Cluster # changed

Left Reg

Addr. Valu lue 1 1 2 2 3 2 4

  • 5
  • Cluster memory

When FSM changes Cluster# from B to A it broadcast change to all FSMs. Active FSMs with cluster number B also change its’ cluster number to A.

No Broadcast

slide-66
SLIDE 66

Broadcast Cluster Number change (5)

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. 1 . . . . . . . . . . . . . . 1 . . . . . . . . 2 . . . . . 1 . . 3 . . . . 2 . . . . . . 1 . 3 3 . . 2 . . . . . . . . 1 . 1 1 . 2 . . . . . . . . . . . X X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Hit

Active RIGHT Active LEFT

Active Left

CLUSTER # CLUSTER # CLUSTER # CLUSTER # Right Reg Active RIGHT

Next xt Clu luster ster # counter unter

Cluster # LOGIC Cluster # changed

Left Reg

Addr. Valu lue 1 1 2 2 3 1 4

  • 5
  • Cluster memory

When FSM changes Cluster# from B to A it broadcast change to all FSMs. Active FSMs with cluster number B also change its’ cluster number to A.

With Broadcast

slide-67
SLIDE 67

Broadcast Cluster Number change (6)

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. 1 . . . . . . . . . . . . . . 1 . . . . . . . . 2 . . . . . 1 . . 3 . . . . 2 . . . . . . 1 . 3 3 . . 2 . . . . . . . . 1 . 1 1 . 2 . . . . . . . . . . . 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Hit

Active RIGHT Active LEFT

Active Left

CLUSTER # CLUSTER # CLUSTER # CLUSTER # Right Reg Active RIGHT

Next xt Clu luster ster # counter unter

Cluster # LOGIC Cluster # changed

Left Reg

Addr. Valu lue 1 1 2 1 3 1 4

  • 5
  • Cluster memory

When FSM changes Cluster# from B to A it broadcast change to all FSMs. Active FSMs with cluster number B also change its’ cluster number to A.

With Broadcast

slide-68
SLIDE 68

Broadcast Cluster Number change (6)

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. 1 . . . . . . . . . . . . . . 1 . . . . . . . . 1 . . . . . 1 . . 1 . . . . 1 . . . . . . 1 . 1 1 . . 1 . . . . . . . . 1 . 1 1 . 1 . . . . . . . . . . . 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Hit

Active RIGHT Active LEFT

Active Left

CLUSTER # CLUSTER # CLUSTER # CLUSTER # Right Reg Active RIGHT

Next xt Clu luster ster # counter unter

Cluster # LOGIC Cluster # changed

Left Reg

Addr. Valu lue 1 1 2 1 3 1 4

  • 5
  • Cluster memory

When FSM changes Cluster# from B to A it broadcast change to all FSMs. Active FSMs with cluster number B also change its’ cluster number to A.

With Broadcast

slide-69
SLIDE 69

Resources and speed

Clustering FSMs 64 columns and 4k clusters:

7% of Slices of XC6VLX130T 1% of Memory blocks (6 out of 264) 100 Mhits/s clock

Clustering FSMs 128 columns and 4k clusters:

13% of Slices 1% of Memory 80 Mhits/s

Clustering for 250 columns and 8k clusters: 30% of slices 30% memory blocks 100 Mhits/s

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

slide-70
SLIDE 70

Test in hardware

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

Compare hardware and software results Test of algorithm

slide-71
SLIDE 71

Clustering FSMs

Advanced Workshop on FPGA based System-on-Chip for Scientific Instrumentation

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

column row

FSMs(32)

Hit

Active RIGHT Active LEFT

Active Left

CLUSTER # CLUSTER # CLUSTER # CLUSTER # Right Reg Active RIGHT

Next xt Clu luster ster # coun unter ter

Cluster # LOGIC Cluster # changed

Left Reg