ALICE Alpide Test Software.

Slides:



Advertisements
Similar presentations
Pixel Chip Testing S. Easo, RAL Current Status of the Pixel Chip Testing. Plans for an LHCb Test Setup at CERN.
Advertisements

Device Drivers. Linux Device Drivers Linux supports three types of hardware device: character, block and network –character devices: R/W without buffering.
Ch-11 Project Execution and Termination. System Testing This involves two different phases with two different outputs First phase is system test planning.
Chapter 2Test Specification Process. n Device Specification Sheet – Purpose n Design Specification – Determine functionality of design n Test List Generation.
Debouncing Switches Mechanical switches are one of the most common interfaces to a uC. Switch inputs are asynchronous to the uC and are not electrically.
Firmware implementation of Integer Array Sorter Characterization presentation Dec, 2010 Elad Barzilay Uri Natanzon Supervisor: Moshe Porian.
Laboratory 5: Introduction to LabVIEW. Overview Objectives Background Materials Procedure Report / Presentation Closing.
1 QED In Vivo USB Input Output Box configuration This tutorial contains a number of instructions embedded in a great deal of explanation. Procedures that.
DEMONSTRATION FOR SIGMA DATA ACQUISITION MODULES Tempatron Ltd Data Measurements Division Darwin Close Reading RG2 0TB UK T : +44 (0) F :
PROBE CARD INTEGRATION IN pALPIDEfs TEST SYSTEM ALICE | ITS-MFT Mini-Week | | Markus Keil.
Ranga Rodrigo. Class is central to object oriented programming.
DATA ACQUISITION Today’s Topics Define DAQ and DAQ systems Signals (digital and analogue types) Transducers Signal Conditioning - Importance of grounding.
1 Applied Control Systems Technology. 2 Pin configuration Applied Control Systems.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
8254 Programmable Interval Timer
Data Acquisition Data acquisition (DAQ) basics Connecting Signals Simple DAQ application Computer DAQ Device Terminal Block Cable Sensors.
FINAL MPX DELIVERABLE Due when you schedule your interview and presentation.
15th Dec, 2007DAE-SNP07 S.S.Upadhya1 Electronics and Data Acquisition system for prototype INO-ICAL detector A.Behere1, V.B.Chandratre1, S.D.Kalmani2,
All rights reserved, property and © CAD Computer GmbH & Co.KG 2009 Cover page.
All rights reserved, property and © CAD Computer GmbH & Co.KG 2009 Cover page.
Specview 32 Release 2.5 Enhancements
AHCAL – DIF Interface EUDET annual meeting – Paris Oct M. Reinecke.
Device Drivers CPU I/O Interface Device Driver DEVICECONTROL OPERATIONSDATA TRANSFER OPERATIONS Disk Seek to Sector, Track, Cyl. Seek Home Position.
Pre-OTS Testing in Penticton Sonja Vrcic Socorro, December 11, 2007.
Coupling Cohesion Chandan R. Rupakheti Steve Chenoweth (Chapter 18)
Introduction to SM (Special Measure in Matlab) Outline PART I: Command line based package Basic idea and features Motivation and advantages Comparison.
Design of DSP testing environment Performed By: Safovich Yevgeny Instructors: Eli Shoshan Yevgeni Rifkin הטכניון - מכון טכנולוגי לישראל הפקולטה.
Thanushan Kugathasan, CERN Plans on ALPIDE development 02/12/2014, CERN.
Chapter 5 - Interrupts.
1 Calorimeters LED control LHCb CALO meeting Anatoli Konoplyannikov /ITEP/ Status of the calorimeters LV power supply and ECS control Status of.
1 Advanced Digital Design Reconfigurable Logic by A. Steininger and M. Delvai Vienna University of Technology.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
October Test Beam DAQ. Framework sketch Only DAQs subprograms works during spills Each subprogram produces an output each spill Each dependant subprogram.
Swing Threading Nested Classes COMP 401 Fall 2014 Lecture 23 11/25/2014.
CS-280 Dr. Mark L. Hornick 1 Sequential Execution Normally, CPU sequentially executes instructions in a program Subroutine calls are synchronous to the.
Software Requirements for the Testing of Prototype Correlator Sonja Vrcic Socorro, December 11, 2007.
Chapter 10 Interrupts. Basic Concepts in Interrupts  An interrupt is a communication process set up in a microprocessor or microcontroller in which:
USBPix Readout System using FE-I4/A Chip Status Update: ToT calibration and Finalization of Tuning Procedure Jimin Kim and Austin Piehl Department of Physics.
Further studies of the FEI3 TDAC Tuning
LCLS Commissioning & Operations High Level Software
Slow Control and Run Initialization Byte-wise Environment
Slow Control and Run Initialization Byte-wise Environment
Timers and Event Counters
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
HCS12 Exceptions Maskable Interrupts
Interrupts and signals
Exception and Event Handling
Refer to Chapter 5 in the reference book
ABC130 Testability and SEU Protection Reset eFUSE
96-channel, 10-bit, 20 MSPS ADC board with Gb Ethernet optical output
Anton Burtsev February, 2017
DAQ for ATLAS SCT macro-assembly
Jimin Kim Thinh Nguyen Sen Mao
AVR Addressing Modes Subject: Microcontoller & Interfacing
Rich Occupancies and Bandwidth in Minimal Upgrade Layout
HIC testing software
USBPix Readout System using FE-I4/A chip Status Update: Finalization of Threshold Tuning and Minor updates Jimin Kim and Austin Piehl Department of Physics.
Chapter 8 Input/Output I/O basics Keyboard input Monitor output
Chapter 10 The Stack.
Latches and Flip-flops
Lecture 4B More Repetition Richard Gesick
LCLS Commissioning & Operations High Level Software
Cover page.
Instructor & Todd Lammle
Instructor & Todd Lammle
CTP offline meeting 16/03/2009 A.Jusko and R.Lietava
CSE 1020:Software Development
Multi Chip Module (MCM) The ALICE Silicon Pixel Detector (SPD)
Chapter 13: I/O Systems.
Preliminary design of the behavior level model of the chip
Presentation transcript:

ALICE Alpide Test Software

Software Structure & Status

Structure Basic Software Structure Basic classes TAlpide and TReadoutBoard (DAQ Board or MOSAIC) Setup is contained in one vectors of TAlpides and one vector of TReadoutBoards Each Alpide “knows” its readout board Each readout board knows control interface and receiver number for each of its Alpides Relations can be set manually for each device, but pre-defined setups exist (Single chip, IB HIC, OB HIC) Scalable to arbitrarily large structures, test routines independent of structure Tests typically loop over complete vector of chips

Software Structure Helper Classes In principle all functionality is available via basic functions (e.g. Read/WriteRegister) But several helper functions help to perform standard procedures: SetupHelpers.cpp: initialisaton of standard setups AlpideConfig.cpp: standard configuration methods (Masking, standard configurations of complete blocks: DTU, CMU…) AlpideDecoder.cpp: Decoding of Alpide event data Needs a bit of cleanup, but in principle OK to use with GUI where needed

Software Structure Test Applications Set of independent test programs, one for each test type Output written to text files for further analysis Advantage: flexible and fast to prepare new tests But: not suitable for GUI -> Scan class

Todo / Next Steps

Known issues Encapsulate output in messaging class (Xiaoming) Use exceptions throughout basic classes (tbc) Move configuration settings to config file (Markus) Prepare setup for half-stave (Yasser) Prepare scan class to be used by GUI (Markus)

Tscan class

Tscan class General considerations Generic base class containing all possible steps of a loop-based scan as virtual methods Implementation of specific actions in derived classes for the concrete scans 3-nested-loop scan should satisfy all present and future scans (e.g. threshold scan: inner loop pulse height, outer loop mask staging; 3 loops would add possibility to scan over ITHR)

Scan Steps Methods needed for the different phases of the scan Tscan::Init() Prepare setup for scan, e.g. set voltages, save module configuration for later restoration Tscan::LoopStart(int loopIndex) Settings to be performed once at the beginning of the loop Tscan::PrepareStep(int loopIndex) Prepare the individual scan step, mainly setting of the loop scan variable Tscan::Execute() Execute a step of the scan Tscan::LoopEnd(int loopIndex) End-of-loop actions; typically histogram related actions or calculations needed for execution of next step Tscan::Terminate() End-of-scan actions, e.g. restoring of initial configuration

Loop Control Methods needed for the control of the scan loops Bool Tscan::Loop(int loopIndex) Returns whether the given loop is currently active; check for scan range and abort flag Tscan::Next(int loopIndex) Moves to next loop step

Scan Execution, 3-Loop Scan TScan *scn = new TScan (TScanType type, TScanConfig *cfg, std::vector<TAlpide> chips, std::vector<TReadoutBoard> boards); scn->Reset(); scn->Init(); scn->LoopStart (2); While (scn->Loop(2)) { scn->prepareStep(2); scn->LoopStart(1); while (scn->Loop(1)) { scn->PrepareStep(1); scn->LoopStart(0); while (scn->Loop(0)) { scn->PrepareStep(0); scn->Execute(); scn->Next(0); } scn->LoopEnd(0); scn->Next(1); scn->LoopEnd(1); scn->Next(2); scn->LoopEnd(2); scn->Terminate();

Parameters Scan parameters Chip vector Board vector Scan type Trigger configuration Scan-specific chip settings (analogue or digital injection etc. ) … Loop parameters Loop parameter (parameter that is changed in loop; note that mask staging is used as a special loop parameter) List of values for parameter or min, max, step size End-of-loop actions Later: information whether loop is performed in RU?