global trigger processor emulator

29
Athens University Paris Sphicas Vassilis Karageorgos (Diploma) NCSR Demokritos Theo Geralis Christos Markou Isidoros Michailakis (Electronics Engineer) Katerina Zachariadou Global Trigger Processor Emulator Dr. Katerina Zachariadou

Upload: others

Post on 13-Jan-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Global Trigger Processor Emulator

Athens University Paris Sphicas

Vassilis Karageorgos (Diploma)

NCSR Demokritos Theo Geralis

Christos Markou

Isidoros Michailakis (Electronics Engineer)

Katerina Zachariadou

Global Trigger Processor Emulator

Dr. Katerina Zachariadou

Page 2: Global Trigger Processor Emulator

RTP TPG FES

LV1 TTC FED

GTP TTS FRL

RCN RU

EVM BCN BDN

GTP

LV

1A

BackPressure

BackPressure

BU

Global Trigger Processor

Timing, Trigger & Control optical network

Page 3: Global Trigger Processor Emulator

Generate Level-1 triggers (according to trigger rules).

Sent triggers to TimingTriggerControl system

Generate Event Number, BX counts and Trigger record data to be sent to the Event Manager (via S-Link64)

Receive Trigger Throttling System levels (Ready, Busy, Error)

Global Trigger Emulator

Tasks:

TTC

GTP TTS

EVM

Page 4: Global Trigger Processor Emulator

Global Trigger ProcessorRunning on PC#1

Event ManagerRunning on PC#2

Trigger Throttling SystemRunning on PC#3

Intercommunication between programsvia sockets over TCP/IP

Vassilis KarageorgosUniversity of AthensDiploma work

GTP-EVM-TTS simulation

Page 5: Global Trigger Processor Emulator

Hardware components (final)

Quartus + DK1:FPGA code

TTC-ex TTC-vi

VME

FEDs

PCIbus

GTP emulation

G3

PCI-MXI2-VME

LV1A

cc

EVM emulation

G3S-LINK64

TTS

PCIbusPC#2: Linux OS

PIII 512MB,550MHz

PC#1:Linux OSControl VMEControl G3

PC#3: Wind. 2000

1GB, 2.6GHz

Page 6: Global Trigger Processor Emulator

GENERIC-III , S-LIN64

A

D EB

CF

A. FPGA (APEX –Altera 200K usable logic gates)B. 32 MB SDRAM (133Mhz)C. 1 MB FlashD. S_Link64 connectors (data transmission)E. User connectorsF. PCI interface for 32b/64b @33/66MHz

S-LINK64

Page 7: Global Trigger Processor Emulator

S-LIN64

Data link to connect front-end to readout at any stage in a dataflow environment

Data movement,error detection, return channel for flow control

CMC transmitter card:

Converts S-LINK64 signals to LVDS format

CMC receiver card:

Converts LVDS signals to S-LINK64 signals

On-board FIFO(32Kbytes) buffers incoming data

Page 8: Global Trigger Processor Emulator

FEDs

PCIbus

GTP emulation

G3

PCI-MXI2-VME

LV1Acc

EVM emulation

S-LINK64

TTS

PCIbus

TTC-ex TTC-vi

VME

Hardware components (Actual)

PC#1: Linux OSLabview 6.1/RUlibControl PCI busControl G3

Quartus + DK1:FPGA code

G3

Dig. OscilloscopeHP54615BFor hardware tests

LV1Acc

PC#2:

Linux OS

PC#3: Wind. 2000

PIV 250MB, 800MHZ

Page 9: Global Trigger Processor Emulator

VHDL, AHDL

Quartus 2.2-Altera software

PCI control

SLINK-64 control

SDRAM controlGTP emulation

GTP emulator schematic

DK1.1 Celoxica design software In Handel-C

PCI bus

PC Parallel port with a byte-blaster

OS:WindowsXX

OS:Linux

Page 10: Global Trigger Processor Emulator

PCI Controller: •PCI communication (Dominique Gigi-CERN) •Registers for Control, Status, Error, Reset operations (Isidoros Michailakis)

PCI control

Page 11: Global Trigger Processor Emulator

GTP Local FIFO

MEM_FULL

S-LINK64

(Back_Pressure)

MEM_FULL

S-LINK64

CONTROL

S-LINK64DATA[63..0]

PCI control

GTP- transmitter

DATA[63..0]

WRITE_MEM

CommandGTP -transmitter

Page 12: Global Trigger Processor Emulator

DATA[63..0]

EVM-receiver

S-LINK64

CONTROLPCI control Command

Local FIFO

S-LINK64DATA[63..0]

Page 13: Global Trigger Processor Emulator

S-LINK64 Controller (by Isidoros)Read local fifoTransfer data

S-LINK64 control

BackPressure

PCI

transmitter

Page 14: Global Trigger Processor Emulator

Lemo Output

BX_gen BX Bx_Rndm

LV1A

bxnevn

Write_evm

GTP_to_EVM_data (evn[31:12]+bxn[11:0])

FIFO_full (Backpressure)

S-LINK64 BackPressure

GTP- part

Local FIFO

DATA[63..0]

Page 15: Global Trigger Processor Emulator

DK1 module that generates the LHC proton beam structure (40.8MHz)

3564 bunches = {[(72b +8e)x3+30e]x2+[(72b+8e)x4+31e]}x3 +

{[(72b+8e)x3+30e]x3+81e}

Clock = 80 MHz (for tests used the PCI clock @33MHz )

• BX is created as in LHC• LV1Acc occurs only on full bunches

BX generator module

Simulator output:

Page 16: Global Trigger Processor Emulator

Lemo Output

BX_gen BX Bx_Rndm

LV1A

bxnevn

Write_evm

GTP_to_EVM_data (evn[31:12]+bxn[11:0])

FIFO_full (Backpressure)

S-LINK64 BackPressure

Local FIFO

DATA[63..0]

BX_Rndm module

Page 17: Global Trigger Processor Emulator

Random number generator (22 bits long Period = 4x106 events)

At non empty BXs generates LV1Accept signals randomly at a frequency of 100KHz (or at any frequency [4Hz, 100KHz])

Associates a BX Number [0,3563] and an Event Number

BX_rndm module

BX_rndm module tasks:

Page 18: Global Trigger Processor Emulator

DK1 Handel-C code Edif file

Symbol for BX_rndm in Quartus

CLK

BX

BXN

EVN

BX_rndm module

LV1-A

rate

LV1A

Page 19: Global Trigger Processor Emulator

For this test LV1A @ 50KHz

LV1A on the scope

Page 20: Global Trigger Processor Emulator

Lemo Output

BX_gen BX Bx_Rndm

LV1A

bxnevn

Write_Evm

GTP_to_EVM_data (evn[31:12]+bxn[11:0])

FIFO_full (Backpressure)

S-LINK64 BackPressure

Local FIFO

DATA[63..0]

Write_Evm module

Page 21: Global Trigger Processor Emulator

1. Prepares data to be sent to the local FIFO

2. Checks the FIFO full flag (BackPressure)

3. Writes data in FIFO if not full.If the local FIFO is full the data are lost.

BX

number

FIFO full

event

number

Write_Evm module

WEN

DATA[63..0]

Page 22: Global Trigger Processor Emulator

Write_Evm module timing

Page 23: Global Trigger Processor Emulator

Local FIFO

Lemo Output

BX_gen BX Bx_Rndm

LV1A

bxnevn

Write_evm

GTP_to_EVM_data (evn[31:12]+bxn[11:0])

FIFO_full (Backpressure)

S-LINK64 BackPressure

Local FIFO

DATA[63..0]

Page 24: Global Trigger Processor Emulator

Local FIFO

LOCAL FIFO (by Isidoros)FIFO : 1024 x 64 bits words, rw MUX for accessing the Control, Status etc registers

Page 25: Global Trigger Processor Emulator

Receiver vi running on PC#2: Get data

GTP EVM via SLINK-64 tests

GTP vi running on PC#1: Generate Level1 Accept triggers at user defined frequencySend data to the Event Manager

Page 26: Global Trigger Processor Emulator

GTP emulator conceptual design LHC beam structure, LV1A signal , EVN, BXN

SLINK-64 control

GTP EVM via SLINK-64

Summary

EVM

Quartus + DK1:FPGA code

GTP

LV1A

Dig. Oscill

Control G3+VME

SLINK-64

TTC

GTP TTS

EVM

Page 27: Global Trigger Processor Emulator

Ready

Busy inhibit

Synchr. failure inhibit + synchr command via TTC to FED’s (reset counters)

Overflow reduction of trigger rate

Future Plans

set of Trigger Rules :

“No more than N Level-1 Triggers in

a given time interval”.

TTS signals

TTC

GTP

LV1A

TTS

EVM

FED

BackPressure

Further tests of the design+integration tests of all components in a complete GTP emulator :

BackPressure signals from TTS & EVM

Generate Level-1 triggers according to trigger rules

Implement Trigger Summary Block

Standard (FEDkit) receiver

Page 28: Global Trigger Processor Emulator
Page 29: Global Trigger Processor Emulator

RECEIVER GTP emulator

SLINKByteblaster

to the scope

G3