30
J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro hadrónico de ATLAS en LHC Jose Castelo, Esteban Fullana XXIX Reuniones Bienales de Física y Química Madrid, 9 de Julio 2003

J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

Embed Size (px)

Citation preview

Page 1: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E

.Fulla

na 9

/7/2

00

3

TILECAL ReadOut System

Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de

trigger para el calorímetro hadrónico de ATLAS en LHC

Jose Castelo, Esteban Fullana

XXIX Reuniones Bienales de Física y Química

Madrid, 9 de Julio 2003

Page 2: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Sumario

Introducción al sistema de adquisición RoD del calorímetro hadrónico tilecal

Page 3: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03

ATLAS TDAQ: Sistema de disparo y adquisición de datos

Decisión de LVL1 es tomada con los datos del calorímetro (basta granularidad) y los datos de trigger de las cámaras de muones. El “buffering” de eventos se hace en la electrónica dentro del detector (FEB).

Decisión de LVL2 se realiza teniendo en cuenta Regiones de Interés ROIs (hasta un 4% del evento completo) con granularidad total y combinando información de todos los detectores. El “buffering” se realiza en RoBs.

El EF refina la selección, puede realizar la reconstrucción de eventos con granularidad total. El “buffering” se hace en EB y EF.

RODs

Page 4: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03

PARTIONMASTER 4

PARTIONMASTER 3

PARTIONMASTER 2

PARTION MASTER 1

ROD CRATE 2

32 RODs/ 64ROBsROD/ROB Mapping

1:2

ROD Crate

RO

D C

rate C

ontroller

TB

M M

od

ule

RO

D 1

RO

D 2

RO

D 3

RO

D 8

TBM Bus (VME P3 backplane)

DAQ On-line software (network)

VME Bus (VME P1/P2 backplane)

BUSYTTC

TO/FROMCTP or TTCvi

ROD CRATE 2

S-Link Output:Dataflow to LVL2 ROB

ROD CRATE 1

ROD 1 ROD 8

S-Link Output:Dataflow to LVL2 ROB

ROD CRATE 4

ROD 32

S-Link Output:Dataflow to LVL2 ROB

TileCal Detector. 64 Modules

64 MODULES

FEB ROBFEB ROB8 8

2 2

DRAWER D32 channels

Extended Barrel

64 Drawers(2048ch )

DRAWER A45 channels

Barrel

64 Drawers(2880-ch )

DRAWER B45 channels

Barrel

64 Drawers(2880-ch )

DRAWER C32 channels

Extended Barrel

64 Drawers(2048ch )

Sistema de adquisición de datos RoD Flujo de datos y particiones de disparo (TTC)

9856 canales del calorímetro . (Dos fibras/drawer. 19712 ch con información redundante)

Usando la nueva tarjeta más integrada: sólo 8 RODs/partición. Total 32 RODs en vez de 64 (especificación de TDR)

Page 5: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Instalación Tilecal RoD: LEVEL 1 of USA15

USA15

Detector Cavern UX15

Level 1104 racks

Level 2134 racks

USA15

Level 1 Of USA 15

Tilecal2 rows: 19 and 16

7 x 52 U high racks/row

Row 19

Row 16

Page 6: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Esquema de Particiones TTC

Número de particiones TTC: 4

Organizados en [0, 2]: EB(<0), CB(<0), CB(0), EB(0)

Esta distribución nos permite trabajar con independencia en los barriles del calorímetro.

Cada RODcrate conforma una Partición TTC con un TBM (Trigger and Busy Module) cada una

RO

DC

TB

M

RO

D1

RO

D2

RO

D3

RO

D4

RO

D5

RO

D6

RO

D7

RO

D8

RO

D C

rate

39

U (

10

U)

Detector FEBs(Front panel fibres)

TTC and BUSY Bus

To ROBs(Rear transition module)

2

RO

DC

TB

M

RO

D1

RO

D2

RO

D3

RO

D4

RO

D5

RO

D6

RO

D7

RO

D8

RO

D C

rate

49

U (

10

U)

TTC and BUSY Bus

TT

CP

art

itio

n 1

&3

6U

(7

U)

CO

NT

RO

LL

ER

DC

TP

I

TT

Cvi

TT

Ce

x

RO

D B

usy

‘OR

LT

P

CTP

DataBase

Partition Master

4

2

LAN (e.g. ethernet)

DC

TP

I

TT

Cvi

TT

Ce

x

RO

D B

usy

‘OR

LT

P

TT

CP

art

itio

n 2

&4

6U

(7

U)

CO

NT

RO

LL

ER

DC

TP

I

TT

Cvi

TT

Ce

x

RO

D B

usy

‘OR

LT

P

DC

TP

I

TT

Cvi

TT

Ce

x

RO

D B

usy

‘OR

LT

P

2

RO

DC

TB

M

RO

D1

RO

D2

RO

D3

RO

D4

RO

D5

RO

D6

RO

D7

RO

D8

RO

D C

rate

29

U (

10

U)

TTC and BUSY Bus

RO

DC

TB

M

RO

D1

RO

D2

RO

D3

RO

D4

RO

D5

RO

D6

RO

D7

RO

D8

RO

D C

rate

19

U (

10

U)

TTC and BUSY Bus

To ROBs(Rear transition module)

To ROBs(Rear transition module)

To ROBs(Rear transition module)

Detector FEBs(Front panel fibres)

Detector FEBs(Front panel fibres)

Detector FEBs(Front panel fibres)

RO

DC

TB

M

RO

D1

RO

D2

RO

D3

RO

D4

RO

D5

RO

D6

RO

D7

RO

D8

RO

D C

rate

19U

(10

U)

TTC and BUSY Bus

To ROBs(Rear transition module)

Detector FEBs(Front panel fibres)

TT

CP

arti

tio

n 1

&2

CO

NT

RO

LLE

R

DC

TP

I

TT

Cvi

TT

Cex

RO

D B

usy

‘OR

LTP

DC

TP

I

TT

Cvi

TT

Cex

RO

D B

usy

‘OR

LTP

Page 7: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03

Módulo ROD final: Funcionalidades básicas

Flujo de datos: Procesado de datos: Envío y procesado de Raw Data desde FEB a los

ReadOut buffers (ROB) con una frecuencia de eventos de L1A de 100KHz. Es decir, se dispone de 10s para procesar un total ~10.000 canales (celdas) de datos digitalizados de un par PMT/centelleador.

Detección de Errores: Cada módulo debe chequear BCid y EvtID con los recibidos con los datos de FE. También se comprueban los datos para detectar alineación y consistencia (paridad, CRC).

Enlaces/links de datos: Entrada: Fibra óptica. Enlaces integrados basados en G-link como capa física. Salida: Fibra óptica. Basados en estandar s-link, y con formato de datos

estándar de atla (DAQ-1 req.) Interfase con Procesador central de trigger (CTP):

TRIGGER o DISPARO: Las señales de TTC serán recibidas por cada módulo con una latencia de ~2s para habilitar de sincronismo al sistema (EvtID, TType, BCx).

Generación de señal OCUPADO/BUSY: Retroalimentación al CTP para parar la generación de triggers de nivel 1. Cada unidad de proceso genera un Busy que es una función OR de todos los BUSY de una partición.

Control y Monitoreo de información: Provee acceso a la tarjeta sin introducir tiempos-muertos al flujo de datos. Cada

Placa madre ROD provee de acceso VME en modo esclavo comandado por el Controlador de la Crate ROD.

Configura y hace booting de firmware (FPGAs y DSPs) así como de constantes de calibración y otros parámetros.

9U ROD Motherboard (i+1)/2

PROCESSING UNIT 1

InputFPGA

InputFPGA

DSP

OutputFPGA

DSP

FIFO

FIFO

P3

(1

60p

in)

P2

(1

60p

in)

P1

(1

60p

in)

16@80MHz

16@80MHz

OutputController

FPGA

OutputController

FPGA

16@80MHz

16@80MHz

32@40MHz

32@40MHz

Se

rial

ize

r*

LVDSreceiver

SDRAM32

2

2

2

2

8

TTCFPGA+TTCrx

40MHz

VMEFPGA

128@40MHz

16@80MHz

16@80MHz

16@80MHz

16@80MHz

J3 (

16

0pi

n)J2

(1

60

pin)

9U Transition Module (i+1)/2

32@40MHz

32@40MHz

32@40MHz

32@40MHz

16

64

LV

DS D

rive

r

32

P0

De

Se

ria

lize

r*

64

FIF

O

32@40MHz

32@40MHz

32@40MHz

32@40MHz

LVDSdriver16

LinkControlFPGA

S-LINK MezzanineDUAL ODIN or HOLA

S-LINK MezzanineDUAL ODIN or HOLA

Link

Con

nect

or

32

32

32

32

CONTROLBus

128@40MHz

8 control

ROBi/4

*Serializers/Deserializers40MHz => 280MHz

Unipolar => Differential

1 Partition = 64

Drawers

i=1...64

16@40MHz

16@40MHz 16@40MHz

16@40MHz

16@40MHz

16@40MHz

StagingFPGA

16@40MHz

16@40MHz

16@40MHz 16@40MHz

16@40MHz

16@40MHz

16@40MHz

StagingFPGA

16@40MHz

5v

5v

5v

5v

5v

5v

5v

5v

G-LINKRX

HDMP1024

G-LINKRX

HDMP1024

G-LINKRX

HDMP1024

G-LINKRX

HDMP1024

G-LINKRX

HDMP1024

G-LINKRX

HDMP1024

G-LINKRX

HDMP1024

G-LINKRX

HDMP1024

80MHz 40MHz

16@40MHz 16@40MHz

16@40MHz

16@40MHz

16@40MHz

StagingFPGA

16@40MHz

16@40MHz

16@40MHz 16@40MHz

16@40MHz

16@40MHz

16@40MHz

StagingFPGA

16@40MHz

16@40MHzDra

wer

i+1

Dra

wer

i+2

Dra

wer

i+6

ROBi/4 -1

S-LINKControl

lines

Dra

wer

i+7

Dra

wer

i+5

Dra

wer

i+4

Dra

wer

i+3

Dra

wer

i SDRAM32

PROCESSING UNIT 4

InputFPGA

InputFPGA

DSP

OutputFPGA

DSP

FIFO

FIFO

Link

Con

nect

or

PROCESSING UNIT 2

InputFPGA

InputFPGA

DSP

OutputFPGA

DSP

FIFO

FIFO

OutputController

FPGA

SDRAM32

SDRAM32

OutputController

FPGA

PROCESSING UNIT 3

InputFPGA

InputFPGA

DSP

OutputFPGA

DSP

FIFO

FIFO

S-LINK MezzanineDUAL ODIN or HOLA

Link

Con

nect

or

S-LINK MezzanineDUAL ODIN or HOLA

Link

Con

nect

or

2 Prototipos

disponibles en

Septiembre de 2003

Page 8: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Sumario

Introducción al sistema de adquisición RoD del calorímetro hadrónico tilecal

Estudio de algoritmos de reconstrucción on-line

Page 9: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Introducción

4 Algoritmos han sido estudiados: Ajuste de la señal (FIT). Actualmente no

implementable debido al alto coste computacional iterativo.

Algoritmo de Filtrado Óptimo (Optimal Filtering OF).

Algoritmo de Filtrado Plano (Flat Filtering FF).

Algoritmo de Muestra Máxima (Maximum Sample MS).

Se han aplicado a datos reales del testbeam de Julio 2002

Page 10: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Algoritmo de Ajuste o FIT

CIS

NTUPLE

Reconstrucción de la forma de onda para cada

canal y ganancia

Ajuste a una función analítica con 4 parámetros como salida

45·2 conjuntos de 4 parámetros

Ganancia

Canal

{S’i} {S’i}

t

et

Atf )(

f(t) Ajuste evento a evento con 2

parámetros como salida y un Chi2

E & τ

χ2

0 20 40 60 80 100 120 140 160 180 2000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Eje X: n=kT

Eje

y:

Am

plitu

d

Señal Shaper de 200 muestras normalizada

x

xx

xx

x

xxx

Page 11: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Algoritmo de Optimal Filtering (OF)

n

i iiOF aSKE1

'

{S’i}

Gain

Channel

f(t) f’(t)

45 conjuntos de matrices Rij

CIS NTUPLE

PEDESTAL

EVENTS

45·2 conjuntos de

pesos de Optimal Filtering.

ai bi

Ch & g Ch & g

bi

{S’i}

ai

n

i ii bSE1

'

E

χ2

τ

samplesn

i ii EfSABS1

'2 )(

45·2 conjuntos de 4

parámetros

0 20 40 60 80 100 120 140 160 180 2000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Eje X: n=kT

Eje

y:

Am

plitu

d

Señal Shaper de 200 muestras normalizada

x

xx

xx

x

xxx

Page 12: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Algoritmo de Flat Filtering (FF)

{S’i}

Ganancia

Canal

'iFF SKE

El algoritmo empleado actualmente en el testbeam.

No hay información del tiempo ni factor de calidad de la reconstrucción

0 20 40 60 80 100 120 140 160 180 2000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Eje X: n=kT

Eje

y:

Am

plitu

d

Señal Shaper de 200 muestras normalizada

x

xx

xx

x

xxx

Page 13: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Algoritmo de Máximo Sample (MS)

{S’i}

Ganancia

Canal

})({ 'iMS SMaxKE

Extremadamente sencillo

y rápido !!

No hay información del tiempo ni factor de calidad de la reconstrucción

Pero demasiado sensible a la variación de fase0 20 40 60 80 100 120 140 160 180 200

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Eje X: n=kT

Eje

y:

Am

plitu

d

Señal Shaper de 200 muestras normalizada

x

xx

xx

x

xxx

Page 14: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Características de los datos de CIS

Amplia gama de cargas inyectadas Disponibilidad de muestras

(samples) para las dos ganancias. Para cada carga hay un barrido de

fases en pasos de (7*0.1024 ns). Amplitud y fase pueden ser

fácilmente calculados desde la NTUPLE.

Page 15: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03

Resolución de la Amplitud vs. intervalo de fase permitida Desfase máximo

esperado en ATLAS ~3ns => OF~FIT!!!

Page 16: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Reconstrucción de fase (3pC)

Page 17: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Reconstrucción: Ruido (I)

Reconstruction carried on with empty events

Flat Filtering Optimal Filtering

Page 18: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Reconstrucción: Ruido (II)

Reconstruction carried on with empty events

Page 19: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Conclusiones del estudio de algoritmos

OF y SM son muy sensibles con la fase pero pueden ser tan buenos como un ajuste dentro del intervalo adecuado de fases.

OF tiene una resolución en la reconstrucción temporal de menos de 1 ns.

OF reduce el ruido electrónico en un factor dos.

Algoritmo ONLINE

actual:

Optimal F

ilterin

g

Page 20: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Sumario

Introducción al sistema de adquisión RoD del calorímetro hadrónico tilecal

Estudio de algoritmos de reconstrucción on-line

Rendimiento e implementación de algoritmos de reconstrucción en procesadores digitales de señal (DSP)

Page 21: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03

Unidad de Proceso (PU): Texas C6202 DSP

DSP: 250 MHz TMS320C6202 DSP con 256K Bytes de memoria de programa interna y 128K Bytes de memoria de datos.

Input FPGA: recibe FEB data e información de TTC. Chequea la consistencia de los datos y los direcciona a la Memoria de doble-puerto.

Dual Port Memory: Los eventos son almacenados en esta memoria (128), disponible para el DSP como memoria externa asíncrona de sólo lectura. También se usa para inicializar el programa de la memoria interna del DSP (booting) después de un reset.

Output FPGA: Depués de procesar el evento se almacena en la memoria FIFO de salida con el formato de datos adecuado. También provee de una FIFO para almacenar histogramas en tiempo real y es responsable del “booting” VME de la Input FPGA y el DSP.

Page 22: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Arquitectura interna del DSP

Arquitectura Harvard: Memoria de Programa y Datos accessibles simultáneamente.

FCLK = 250Mhz . Cycle time = 4ns. 2000 MIPs

Data/Program Memory: 1Mbit (128kbyte)/ 2Mbit (64k 32bits)

Canales DMA : 4 EMIF & HPI: 32bits McBSP: 3 Timers: 2 (32 bit) VCORE: 1.8v / VI/O: 3.3v 8 ALUs

independientes. Arquitectura Load-Store con 32 registros de propósito general de 32-Bit (dos bancos de 16). Todas las instrucciones son condicionales

Page 23: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Operación de la PIPELINE

Característica VLIW (Very Long Instruction Word): Código de instrucción de 256 bits (8 instrucciones de 32 bits).

La Pipeline puede atender 8 intrucciones paralelas por ciclo. Las intrucciones paralelas, avanzan simultáneamente durante la misma fase pipeline.

El código en Ensamblador debe de ser optimizado en este punto para que todas las instrucciones parezcan ser ejecutadas en 1 ciclo máquina evitando “pipeline stalls” Se contruyen Gráficos de Interdependencia

Fases Pipeline:Fetch: fijo, 4 ciclos

Decode: fijo, 2 ciclosExecute: variable, 1-10

ciclos

Page 24: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03

Implementación de Optimal Filtering

Calculamos Energía, , y factor de calidad 2.

La implementación de hace considerando 7 Muestras de 10 bits y considerando el mismo set de coeficientes para todos los canales (misma tabla de constantesde calibración).

Los cálculos son realizados con operaciones sobre una ALU entera, siempre intentando sacar la máxima resolución/precisión en todas las operaciones (coeficientes en formato Q15, operaciones en 32bits, excepto multiplicación (16bits), etc...)

Código en C y en Ensamblador han sido desarrollados para comparar el rendimiento del compilador con estos dos lenguajes.

n

i iiOF aSKE1

'

n

i ii bSE1

' samplesn

i ii EfSABS1

'2 )(

Etc...

Data word, high/low gain sample 1

Header event i+1

Data word, high/low gain sample 7 Last W ord

Data word, high/low gain sample 6

Data word, high/low gain sample 5

Data word, high/low gain sample 4

Data word, high/low gain sample 3

Data word, high/low gain sample 2

Data word, high/low gain sample 1

Header event i First W ord

MSB LSB

0 PData ch 1 (10 bits)

Data ch 2 (10 bits)

Data ch 3 (10 bits)

Page 25: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Perfilando compilación con “Code Composer v2”

Dos formas rápidas de desarrollar código: Ensamblador Programación en C/C++

Opción Code Composer v2:PBC Option (Profile Based Compilation)

Nos ofrece la posibilidad de elegir entre el tamaño del código y el rendimiento para cada función de nuestra aplicación dentro de diferentes opciones de compilación.

Tamaño Programa (código máquina) aumenta => Velocidad de ejecución disminuye.

Disponibilidad de Memoria de programa vs. Velocidad de ejecución

Este programa permite compilar el código con diferentes opciones y comparar el resultado.

Page 26: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Gráfico de rendimiento en 'C'

Flags de compilación para "Maximum Speed“: -o3 -oi0

Page 27: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Gráfico de rendimiento de “Ensamblador”

Para compilación de ensamblador todas las configuraciones son idénticas como era de esperar (982 cycles)

Page 28: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 C vs. Assembler

Algoritmo Energy//2 para 45 canales y 7 muestras de 10bit. Comparativa de de compilación para la opción de “best speed performance profiling”

N u m b ercycles

C od e S ize

(b y te s )

T ota l tim e forE n erg y, tim e and 2

(C y c le = 4 n s )

T ota l tim e for D S Pp rog ra m : A lg o r i th m ,D M A s c h ed u le , B u sy

L o g ic , f i l te rh is to g ra m s ,...

M ain ta inab ilityS ou rce

C od e L in es

A ssem b ler 9 8 226976(2 7 k b ) 3 ,9 2 8s

5 ,4 2 8s

(~1,5s overhead)D iffic u lt 7 2 7 1

C co d e 3 5 2 42228

(2 ,1 7 k b ) ss

(~1,5s overhead)E a sy 1 6 0

Page 29: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03

Conclusiones de la implementación del algotimo de Filtrado Óptimo

Podemos procesar en ensamblador un EB (32ch) y un CB(45ch) en menos de 10s (lvl1 100kHz rate) con esta Unidad de proceso TMS320C6202@250MHz.

La unidad de proceso actual contiene 2 DSPs TMS320C6414@720MHz con lo que la capacidad de proceso se multiplica directamente por 3/DSP, a parte de una controladora de DMAs mejorada para una E/S más rápida y mejor set de instrucciones (ej: MPY2 multiplicación de 32bits).

Esto nos permite reducir el número de unidades de proceso, debido a una mejor relación de MIPs/€ o bien, probar algoritmos online con mayor carga computacional (ajustes, algoritmos adaptativos,...).

Estudio de resolución vs. Coste computacional: Usando 5 muestras en vez de 7 el alogoritmo sería 7/5 veces más rápido.

Procesar ~10.000

canales online en

menos de 10s

Page 30: J.Castelo, E.Fullana 9/7/2003 TILECAL ReadOut System Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de trigger para el calorímetro

J.C

ast

elo

, E.F

ulla

na

9/7

/20

03 Sumario

Introducción al sistema de adquisión RoD del calorímetro hadrónico tilecal

Estudio de algoritmos de reconstrucción on-line

Rendimiento e implementación de algoritmos de reconstrucción en procesadores digitales de señal (DSP)