Title: TILECAL ReadOut System
1TILECAL 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
2Sumario
- Introducción al sistema de adquisición RoD del
calorÃmetro hadrónico tilecal
3ATLAS 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
4Sistema 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)
5Instalación Tilecal RoD LEVEL 1 of USA15
6Esquema de Particiones TTC
- Número de particiones TTC 4
- Organizados en f 0, 2p EB(hlt0), CB(hlt0),
CB(hgt0), EB(hgt0) - 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
7Mó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 10ms 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
2ms 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.
2 Prototipos disponibles en Septiembre de 2003
8Sumario
- Introducción al sistema de adquisición RoD del
calorÃmetro hadrónico tilecal - Estudio de algoritmos de reconstrucción on-line
9Introducció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
10 Algoritmo de Ajuste o FIT
Reconstrucción de la forma de onda para cada
canal y ganancia
452 conjuntos de 4 parámetros
CIS NTUPLE
Ajuste a una función analÃtica con 4 parámetros
como salida
Ganancia Canal
f(t)
E t
Ajuste evento a evento con 2 parámetros como
salida y un Chi2
?2
Si
Si
11Algoritmo de Optimal Filtering (OF)
CIS NTUPLE
452 conjuntos de pesos de Optimal Filtering.
f(t) f(t)
452 conjuntos de 4 parámetros
ai
bi
PEDESTAL EVENTS
45 conjuntos de matrices Rij
Ch g
Ch g
ai
E
Gain Channel
?2
Si
Si
bi
t
12Algoritmo de Flat Filtering (FF)
El algoritmo empleado actualmente en el testbeam.
Ganancia Canal
Si
No hay información del tiempo ni factor de
calidad de la reconstrucción
13Algoritmo de Máximo Sample (MS)
Extremadamente sencillo y rápido !!
Ganancia Canal
Si
No hay información del tiempo ni factor de
calidad de la reconstrucción
x
x
x
Pero demasiado sensible a la variación de fase
x
x
x
x
x
x
14CaracterÃ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 (70.1024 ns). - Amplitud y fase pueden ser fácilmente calculados
desde la NTUPLE.
15Resolución de la Amplitud vs. intervalo de fase
permitida
Desfase máximo esperado en ATLAS 3ns gt
OFFIT!!!
16Reconstrucción de fase (3pC)
17Reconstrucción Ruido (I)
Reconstruction carried on with empty events
Flat Filtering
Optimal Filtering
18Reconstrucción Ruido (II)
Reconstruction carried on with empty events
19Conclusiones 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 Filtering
20Sumario
- 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)
21Unidad 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.
22Arquitectura 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
23Operació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 ciclos Execute variable, 1-10 ciclos
24Implementación de Optimal Filtering
- Calculamos EnergÃa, t, y factor de calidad c2.
- 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.
MSB MSB MSB LSB
0 P Data ch 1 (10 bits) Data ch 2 (10 bits) Data ch 3 (10 bits)
25Perfilando compilación con Code Composer v2
- Dos formas rápidas de desarrollar código
- Ensamblador
- Programación en C/C
- Opción Code Composer v2PBC 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 gt
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.
26Gráfico de rendimiento en 'C'
Flags de compilación para "Maximum Speed -o3
-oi0
27Gráfico de rendimiento de Ensamblador
Para compilación de ensamblador todas las
configuraciones son idénticas como era de esperar
(982 cycles)
28C vs. Assembler
- Algoritmo Energy/t/c2 para 45 canales y 7
muestras de 10bit. Comparativa de de compilación
para la opción de best speed performance
profiling
29Conclusiones de la implementación del algotimo de
Filtrado Óptimo
- Podemos procesar en ensamblador un EB (32ch) y un
CB(45ch) en menos de 10ms (lvl1 100kHz rate) con
esta Unidad de proceso TMS320C6202_at_250MHz. - La unidad de proceso actual contiene 2 DSPs
TMS320C6414_at_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 10ms
30Sumario
- 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)