Presentation is loading. Please wait.

Presentation is loading. Please wait.

ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 1 ROD Test Stand Lukas Tomasek LBL

Similar presentations


Presentation on theme: "ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 1 ROD Test Stand Lukas Tomasek LBL"— Presentation transcript:

1 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 1 ROD Test Stand Lukas Tomasek LBL LTomasek@lbl.gov http://www-wisconsin.cern.ch/~atsiod/shared.html

2 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 2 Overview Test stand requirements and description Software status Testing plans and time scale Discussion

3 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 3 Requirements Short term: - intitial testing and debugging the standalone ROD, - intitial running, system test, BOC and TIM setup. Long term: - production testing, - ROD maintenance.

4 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 4 Test Stand hardware and software tools RODs, (TIM,...), VME crate with NI VME-MXI-2 card, PC with NI PCI-MXI-2 interface card, MS Windows NT (2000) operating system, National Instruments LabWindows/CVI 5.5 development software, and the application program (Host software).

5 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 5 Test stand application program programming language ANSI C, programming style should follow “Coding rules” common for both the DSP and the Host side: http://www-wisconsin.cern.ch/~atsiod/shared.html the code is (=will be soon) shared in CVS repository (some parts common with DSP code). The software design should be relatively independent on the platform, so the main parts of the the code could be used in the future version of the RCC.

6 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 6 Main application tasks: ROD initialization and configuration (RRFPGA, load program for DSPs, …) -> S-link setup, TIM setup; ROD control and data exchange/communication - “fast” CommandRegister commands; - “primitive” commands -> sending PrimitiveLists, - reading reply data (ReplyLists). checking ROD status (->and the all parts in the chain) - StatusRegister, - reading error, info, diagnostic information The primitives, input and output data formats, comm. registers, communication scheme are described in the “Communication Protocol”: http://www-wisconsin.cern.ch/~atsiod/shared.html

7 7 - Main data path - Commands, control signals - Status/error info - Handshake/synchronization signals ROD[n] MASTER DSP HPI VME PRIMITIVE LIST BUFFER_host [n] REPLY LIST BUFFER_host [n] ERROR BUFFER INFO BUFFER DIAGNOSTIC BUFFER REPLY LIST PROCESSING THREAD [n] TEXT BUFFERS PROCESSING THREAD [n] HOST CONTROL THREAD [n] PRIMITIVE LIST BUILDING THREAD [n] PRIMITIVE LIST BUFFER_host [n] REPLY LIST BUFFER_host [n] ERROR BUFFER INFO BUFFER DIAGNOSTIC BUFFER REPLY LIST PROCESSING THREAD [n] TEXT BUFFERS PROCESSING THREAD [n] HOST COMMUNICATION ROUTINE [n] HOST CONTROL THREAD [n] PRIMITIVE LIST BUILDING THREAD [n] PRIMITIVE LIST BUFFER_host [n] REPLY LIST BUFFER_host [n] ERROR BUFFER INFO BUFFER DIAGNOSTIC BUFFER REPLY LIST PROCESSING THREAD [n] TEXT BUFFERS PROCESSING THREAD [n] HOST COMMUNICATION ROUTINE [n] HOST CONTROL THREAD [n] PRIMITIVE LIST BUILDING THREAD [n] PRIMITIVE LIST BUFFER_host [n] REPLY LIST BUFFER_host [n] ERROR BUFFER INFO BUFFER DIAGNOSTIC BUFFER REPLY LIST PROCESSING THREAD [n] TEXT BUFFERS PROCESSING THREAD [n] HOST COMMUNICATION ROUTINE [n] HOST CONTROL THREAD [n] PRIMITIVE LIST BUILDING THREAD [n] PRIMITIVE LIST BUFFER_host [n] REPLY LIST BUFFER_host [n] ERROR BUFFER INFO BUFFER DIAGNOSTIC BUFFER REPLY LIST PROCESSING THREAD [n] TEXT BUFFERS PROCESSING THREAD [n] HOST COMMUNICATION ROUTINE [n] HOST CONTROL THREAD [n] PRIMITIVE LIST BUILDING THREAD [n] PRIMITIVE LIST BUFFER_host [n] REPLY LIST BUFFER_host [n] ERROR BUFF-host[n] INFO BUFF-host[n DIAGNOSTIC BUFF-host[n TEXT BUFFERS PROCESSING THREAD[n] LIST HANDLER [n] HOST CONTROL THREAD[n] PRIMITIVE LIST BUILDING THREAD[n] COMMON COMMUNICATION LOOP THREAD HIGHER INTELLIGENCE ( USER ) VME CRATE (RODs) TEST STAND SOFTWARE (HOST) C S S, S[n] C, C[n] REPLY LIST PROCESSING THREAD[n] USER VMECommandReg RODStatusReg Legend: PRIMITIVE LIST BUFFER HOST PROGRAM LAYOUT REPLY LIST BUFFER ERROR BUFFER INFO BUFFER DIAGNOSTIC BUFF MAIN PROCESS THREAD: - GUI (LabWindows), - HOST[n] SUPERIOR CONTROL, - HOST[n] STATUS/ERROR INFO, - CRATE CONTROL - CRATE STATUS/ERROR INFO C[N], S[n]

8 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 8 Host - MasterDSP interface communication registers communication registers (direct VME access): VMECommand - host fast commands, communication handshake bits; write/read access from Host, only read from MasterDSP. RODStatus - status information, handshake bits; write/read from MasterDSP, read by Host. data buffers data buffers (VME-HPI access): PrimitiveListBuff - Host writes PrimLists, MasterDSP reads; ReplyListBuff - Master writes ReplyLists, Host reads.

9 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 9 Software design single process multithreading application. Thread hierarchy(from the top): User - superior to everything (human being!), MainProcessThread (highest, can control all threads), HostControlThread[n] (can control all threads with the same index, if it has a permission from MainThread), the rest are just “working” threads responsible for low level data transfers to and from ROD, driven by synchronization signals.

10 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 10 MainProcessThread main program thread - creates the other threads, main task - interaction with the User (LabWindows GUI), - controls and provides info about the process and RODs(etc.) state. HostControlThread HostControlThread[n] controls and coordinates the execution of all commands specific for ROD[n], if authorized by MainThread. executes time consuming control tasks and procedures, which cannot be done in MainThread (GUI must be responsive!!), for example ROD initialization, standard testing routines...

11 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 11 PrimitiveListBuildingThread[n] “builds” PrimitiveList in the Host local mirror of the PrimitiveListBuffer according to the commands issued by Main or Control thread. when done - sends signal next to:CommonCommunicationLoopThread grants and distributes access to shared VME bus between all RODs in the crate on the “round robin” basis, reads and check RODStatusRegister.

12 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 12 ListHandler[n] n = n + 1 n <= MaxN n = 1 Yes No ROD[n] enabled Yes No Start/Reset Read( RODStatusReg[n] ) VME ErrorBuffer Handler[n] InfoBuffer Handler[n] DiagnosticBuffer Handler[n] CommonCommunicationLoopThread

13 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 13 ListHandler[n] data transfer and handshaking between ROD[n] and Host[n], i.e. sending PrimitiveLists to MasterDSP and ReplyLists back, the Host state machine implementation of the“Communication protocol”: IDLE POLL DspAck_ CLEAR POLL DspAck_SET WRITE PRIM_LIST READ OUT_MESSAGE ERROR primListRdy==1 DspAck==0 DspAck==1 && outListRdy==1 listHandlGoToIdle==1 RepListProcessBusy==0 DspAck==1 && outListRdy==0 inListRdy=1

14 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 14 ReplyListProcessingThread[n] process ReplyList stored in the local buffer, i.e. checks the validity of the data (checksum, length, consistency with PrimitiveList etc.) and then sends out the data to the destinations (memory locations, files...). TextBuffersProcessingThread[n] process data (print to screen, save to file...) from the host local copies of error, info and diagnostic buffers. data transfer and handshaking between ROD[n] and Host[n], i.e. sending PrimitiveLists to MasterDSP and ReplyLists back, the Host state machine implementation of the“Communication protocol”:

15 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 15 Current software status Has been done: implemented Communication Protocol - PrimitiveList and ReplyList communication, text buffers communication evaluated with EVM DSP module running real Master DSP software, communication in "multirod" environment simulated on PC and successfuly tested. To do (for initial tests): tune up communication part, improve error handling, implement primitives, common database, testing algorithms, ROD initialization,...

16 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 16

17 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 17

18 ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 18 Testing plans initial ROD test (15 August 9am!), Debug path: http://design.lbl.gov/~mlnagel/CurrentHWDocs/ - internal connectivity, - external signals (control links, data links). system tests, TIM, BOC, DAQ ? production TestStand, ->RCC,...


Download ppt "ATLAS SCT/Pixel Off Detector Workshop, UCL, 15 June 2000 1 ROD Test Stand Lukas Tomasek LBL"

Similar presentations


Ads by Google