Pulsar Status Report



Similar documents
The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

CCS Hardware Test and Commissioning Plan

Open Flow Controller and Switch Datasheet

USB 3.0 Connectivity using the Cypress EZ-USB FX3 Controller

Instructions for Setting the T560 Digital Delay Generator for the Target Delay

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

PCIeBPMC (PCI/PCI-X Bus Compatible) Bridge based PCIe and PMC Compatible Adapter Carrier Front View shown with 1 installed fans model # PCIeBPMC-FAN2

Designing VM2 Application Boards

Electron-Muon Ranger (EMR)

Silicon Seminar. Optolinks and Off Detector Electronics in ATLAS Pixel Detector

RS-422/485 Multiport Serial PCI Card. RS-422/485 Multiport Serial PCI Card Installation Guide

7a. System-on-chip design and prototyping platforms

AMC13 T1 Rev 2 Preliminary Design Review. E. Hazen Boston University E. Hazen - AMC13 T1 V2 1

Silicon Lab Bonn. Physikalisches Institut Universität Bonn. DEPFET Test System Test DESY

Lab 1: Introduction to Xilinx ISE Tutorial

The 104 Duke_ACC Machine

Febex Data Acquisition System

Avoiding pitfalls in PROFINET RT and IRT Node Implementation

Module 5. Broadcast Communication Networks. Version 2 CSE IIT, Kharagpur

DS1104 R&D Controller Board

Development. Igor Sheviakov Manfred Zimmer Peter Göttlicher Qingqing Xia. AGIPD Meeting April, 2014

USB readout board for PEBS Performance test

The modular concept of the MPA-3 system is designed to enable easy accommodation to a huge variety of experimental requirements.

White Paper Utilizing Leveling Techniques in DDR3 SDRAM Memory Interfaces

Fondamenti su strumenti di sviluppo per microcontrollori PIC

AN LPC1700 timer triggered memory to GPIO data transfer. Document information. LPC1700, GPIO, DMA, Timer0, Sleep Mode

1. Memory technology & Hierarchy

WHQL Certification Approval...2 User Interface...3 SUNIX s COMLab..4

Welcome to the Introduction to Controller Area Network web seminar My name is William Stuart, and I am a Applications Engineer for the Automotive

Design and Verification of Nine port Network Router

VME Data Acquisition System: Fundamentals and Beyond. Abhinav Kumar Bhabha Atomic Research Centre, Mumbai March 2011

ATLAS Tile Calorimeter Readout Electronics Upgrade Program for the High Luminosity LHC

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

AGIPD Interface Electronic Prototyping

MANUAL FOR RX700 LR and NR

MACHINE ARCHITECTURE & LANGUAGE

LLRF. Digital RF Stabilization System

EZ DUPE DVD/CD Duplicator

High speed pattern streaming system based on AXIe s PCIe connectivity and synchronization mechanism

DS1621 Digital Thermometer and Thermostat

TECHNOLOGY BRIEF. Compaq RAID on a Chip Technology EXECUTIVE SUMMARY CONTENTS

Enhancing High-Speed Telecommunications Networks with FEC

MROD-X performance tests H. Boterenbrood, J. Vermeulen

Switch Fabric Implementation Using Shared Memory

Hello, and welcome to this presentation of the STM32 SDMMC controller module. It covers the main features of the controller which is used to connect

ServoPAL (#28824): Servo Pulser and Timer

USB - FPGA MODULE (PRELIMINARY)

PCMCIA 1 Port RS EDITION OCTOBER 1999

The data acquisition system of the XMASS experiment

How To Develop An Iterio Data Acquisition System For A Frustreo (Farc) (Iterio) (Fcfc) (For Aterio (Fpc) (Orterio).Org) (Ater

USBSPYDER08 Discovery Kit for Freescale MC9RS08KA, MC9S08QD and MC9S08QG Microcontrollers User s Manual

Application Note 132. Introduction. Voice Video and Data Communications using a 2-Port Switch and Generic Bus Interface KSZ MQL/MVL

What is LOG Storm and what is it useful for?

APPLICATION NOTE GaGe CompuScope based Lightning Monitoring System

The CP FO provides access to different communication services of the PROFIBUS bus system:

GETTING STARTED WITH STUDIO ONE ARTIST

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Lesson 10: Video-Out Interface

DS1621 Digital Thermometer and Thermostat

We will be covering the following topics in this document:

CMS Tracker module / hybrid tests and DAQ development for the HL-LHC

Using Altera MAX Series as Microcontroller I/O Expanders

Chapter 4 System Unit Components. Discovering Computers Your Interactive Guide to the Digital World

The Bus (PCI and PCI-Express)

Download the Design Files

OUTLINE SPECIFICATIONS FOR THE VME MOUNT MODULE AND TCM IN SLOTS 1 & 21.

How to build a high speed PCI Express bus expansion system using the Max Express product family 1

Displayport Extender via 2 multimode fibers LC Duplex Connector Extends Displayport Link up to 200 meters

Surveillance System Using Wireless Sensor Networks

TURBO PROGRAMMER USB, MMC, SIM DEVELOPMENT KIT

In-System Programming Design TM. Guidelines for ispjtag Devices. Introduction. Device-specific Connections. isplsi 1000EA Family.

Web Site: Forums: forums.parallax.com Sales: Technical:

Development of the electromagnetic calorimeter waveform digitizers for the Fermilab Muon g-2 experiment

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

RCC2 Test Proceedures

FPGA Synthesis Example: Counter

LAB #3 VHDL RECOGNITION AND GAL IC PROGRAMMING USING ALL-11 UNIVERSAL PROGRAMMER

EE482: Advanced Computer Organization Lecture #11 Processor Architecture Stanford University Wednesday, 31 May ILP Execution

Results of Benchmark Tests upon a Gigabit Ethernet Switch

In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM

Timer A (0 and 1) and PWM EE3376

Discovering Computers Living in a Digital World

What is a bus? A Bus is: Advantages of Buses. Disadvantage of Buses. Master versus Slave. The General Organization of a Bus

UMBC. ISA is the oldest of all these and today s computers still have a ISA bus interface. in form of an ISA slot (connection) on the main board.

PCI Express IO Virtualization Overview

MODULE BOUSSOLE ÉLECTRONIQUE CMPS03 Référence :

9/14/ :38

DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL

Semiconductor Device Technology for Implementing System Solutions: Memory Modules

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

Lab 1 Course Guideline and Review

A Scalable Large Format Display Based on Zero Client Processor

21152 PCI-to-PCI Bridge

Technical Information Manual

CSE2102 Digital Design II - Topics CSE Digital Design II

Transmission of High-Speed Serial Signals Over Common Cable Media

Live Recording with M7CL-48ES & AuviTran Network ASIO Streamer. Using Steinberg Cubase 5 or Nuendo 5.

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

Transcription:

Pulsar Status Report PULSAR: PULSer And Recorder Pulsar design overview: from L2 teststand tool to a general purpose tool Current status: schematics/layout, firmware, board level simulation etc. Possible applications for Pulsar Board level simulation and prototype testing plan Note: This talk ended up with ~ 40 slides, will only show ~20 at the meeting. Ted Liu Friday Trigger Meeting, May 10th. 02 Upcoming talks: Hotlink mezzanine cards design and prototype (Natalia Kuznetsova) Pulsar firmware in pulser mode: design and status (Peter Wittich)

From last meeting (Feb. 22rd) Now the Level 2 system is working, things are much less hectic, we can do what we should have done much earlier, which is to get together to talk about the test stand plans. this meeting should focus on the functionality requirements (or specifications) for the Level 2 test stand, once we agree on what we should build, then things can move very fast We will have more meetings on test stand issues as needed. Last meeting we focused on functional requirements. At this meeting, I will present Pulsar overall design and current status. A web page is being setup which will contain all the design (hardware and firmware) details for Pulsar, and will be available to everyone soon. Since now we have the actual design, we will have brief status report at every Friday meeting from now on. We will have a Design Review later to discuss all the details.

What has been done since Feb.? Pulsar design is optimized and almost finalized : schematics finished early April core firmware in place intensive board level simulation in progress detailed firmware design and VHDL coding in progress initial layout work started Pulsar web page is almost ready with all design details Hotlink mezzanine cards (Tx and Rx) schematics finished in March board level simulation finished in April (with both Tx and Rx) prototype boards (Tx and Rx) fully loaded end of April prototype debugging/testing in progress All firmware (VHDL code), compile setting files, simulation waveform, FPGA pin maps are in CVS

Basic hardware requirement: have all hardware interfaces L 1 Reces Pulsar is designed to have all the data interfaces that Level 2 decision crate has. It is a data source for all trigger C S X M inputs to Level 2 decision crate, L I a T U it can be used to record data from V I S R O upstream as well. T S O P N T PulsAR: Pulser And Recorder L2 decision crate Main difficulty for Pulsar design: Each subsystem data path was implemented differently, to design an universal tester board is not all that easy The only way is to use mezzanine cards CDFctrl VME Pulsar Hotlink IO Taxi IO SVT/XTRP L1 TS

Level 2 trigger input data paths were implemented differently Incoming data Clock rate SVT XTRP L1 CLIST ISO Muon 30Mhz 7.6Mhz 7.6Mhz 20Mhz 12Mhz 30Mhz cdfclk x 4 Reces 7.6 Mhz cdfclk Interface hardware SVT cable SVT cable L1 cable Hotlink+fiber Taxi+fiber Hotlink+fiber Taxi+fiber data size range 150bits/trk 21 bits/trk 96 bits/evt 46bits/clu 145bits/clu 11Kbits/evt 1.5Kb/evt Latency range* ~10-100us ~1us - 10us ~132 ns ~1-20us ~few us ~1-5 us ~ 6 us Fixed or variable data length? Data with Buffer#? EOE with data? (or from separate path?) B0 marker? Data gap within one event? Flow control? variable variable fixed fixed yes yes yes yes yes no yes yes yes - no no yes - BC# BC# no no no yes no yes yes no no yes no no Not used not used variable variable fixed no no no no no * Latency range also depends on L1A history

Level2_Pulsar design as test stand tool 9U VME (VME FPGA not shown) 3 Altera APEX 20K400 FPGAs T S T R K Optical IO Mezz card connectors CDF ctrl Control SRAM SRAM 128K x 36 L 1 T R K Optical IO VME and CDF Ctrl interfaces are visible to all three FPGAs Pulsar: Pulser and Recorder (as Level 2 test stand tool)

Pulsar interface to/from P1 and P2 backplane VME interface to all three FPGAs: based on UC VMEchip used on other UC boards the interface from UC VMEchip to three main FPGAs: VMEdata(31:0), VMEaddr(23:2), vmeas, vmeds and vmewrite CDF control (P2) signals to all three FPGAs: CDFCLK, BC, B0, L1A/R, L2B0/B1, Halt, Recover, Run, L2A/R, L2BD0/BD1, CDF_error, GLIVE, STOP, RL(2:0) -- this is the current map, can add more. Pulsar inter-communication control lines (P2 user defined pins): follows SVT implementation (can communicate with any SVT board) A1: Pulsar_init A2: Pulsar_error A3: Pulsar_freeze A4: Pulsar_lostlock A5: Pulsar_spare Any Pulsar board can drive and listen to these 5 lines from P2.

Some details on SVT/XTRP, L1 and TSI interfaces from alpha T S I T S I to TSI SVT/XTRP output connector T R K L1 input and output share the same IO pins, set by one enable bit Control FPGA FIFO external FIFO, follows SVT implementation L1 cable connectors L1 input L1 output T R K SVT/XTRP input connector

Front-panel (double width) PULSAR design as L2 teststand tool only T S L 1 Mezzanine Card Hotlink/ Taxi IO L 1 Ctrl S V T S V T IO component side Other connectors (2 L1 outputs, 1 TS) will stay inside the board. The mezzanine card connectors are used for optical I/O (hotlink and taxi)

FPGA choice: the 356-Pin BGA package only allows us to choose up to EP20K200 (with only 271 user I/O pins), while 652-pin BGA package (~500 user I/O pins) allows us to chose anything above EP20K200 prefer 5 V compatible which leaves EP20K400 the only choice. EP20K400 has 26KB internal RAM capability which should be big enough.

Custom Mezzanine cards (follow CMC standard) Hotlink: Tx and Rx (CLIST, Muon data paths) Taxi: Tx and Rx (Iso, Reces data paths) CMC: Common Mezzanine Card standard Altera EP1K30_144 FPGA hotlink mezzanine card prototype CMC Connectors (J1 and J3) Hotlink Optical Tx/Rx: HFBR-1119T/2119T Taxi Optical Tx/Rx: HFBR-1414T/2416T Hotlink or Taxi Tx/Rx chips Hotlink Tx/Rx: CY7B923JC/933JC Taxi Tx/Rx: AM7968/7969-175JC

Hotlink Rx mezzanine Hotlink Tx mezzanine Usually has 4 fiber connectors. add one LVDS connector for CLIST case: only two fiber connector (left side) will be loaded for one Mezzanine card, and one LVDS connector will be loaded on the right side instead of two fiber connectors

Hotlink mezzanine cards prototypes (Tx and Rx) Natalia will talk about the details next week

Pulsar design (cont.): From test stand tool to a general purpose tool Since there are some spare FPGA IO pins left, decided to use them to enhance Pulsar capability. A few simple modifications: (1) Add signal traces to P3 connector for SLINK IO, this allows Pulsar to interface directly with a PC via commercially available SLINK to PCI cards (2) Make L1 and SVT/XTRP inputs visible to all 3 FPGAs instead of just one FPGA Note: the mezzanine card connector is already compatible with SLINK mezzanine cards as both of them follow CMC standards. This allows us to test Pulsar prototype with SLINK test tools as well. Since the modification is simple enough at hardware level, it doesn t hurt to add them in, to make the board more general purpose. It provides the interface to a PC (via SLINK to PCI board) which could be very useful as a general purpose diagnostic tool. To learn more about SLINK, see CERN web page: http://hsi.web.cern.ch/hsi/s-link/

Level2_Pulsar design (as a tester only) 9U VME (VME FPGA not shown) 3 Altera APEX 20K400 FPGAs T S T R K Optical IO Mezz card connectors CDF ctrl Control L 1 T R K Optical IO With minor modifications: see next

Pulsar design (general purpose tool) 9U VME (VME FPGA not shown) 3 Altera APEX 20K400 FPGAs P1 T S S V T Data IO Mezz card connectors P2 user ctrl SLINK signal lines Control/ Merger P3 spare lines L 1 S V T Data IO With minor modifications

Front-panel (double width) LVDS connectors Mezzanine cards T S L 1 L 1 Mezzanine Card Hotlink/ Taxi/ S-LINK PULSAR design IO VME Ctrl optional user defined signal connection from P2/P3 S V T S V T IO SLINK S-LINK LDC or LSC S-LINK LDC or LSC component side Three FPGAs: Atlera APEX20K400 The mezzanine card connectors can be used either for user I/O or SLINK cards To/from Pulsar or a PC

Loaded with SLINK Mezzanine cards Can simply use CDF CAL backplane. CERN sent us two transition modules The transition module is very simple (just a few SLINK CMC connectors). It uses P2 type connector for P3. We will only use P3 for SLINK and spare (user defined) signals. (it doesn t have to be P2 type connector).

Examples of SLINK products LSC (Link Source Card), LDC (LINK Destination Card) Mezzanine card which can plug onto motherboard via CMC(Common Mezzanine Card) Connector (just like PMC). PCI to SLINK SLINK to PCI Proven technology, has been used by a few experiments to take hundreds of TB data in the past few years

New 32-bit SLINK to 64 bit PCI interface card: S32PCI64 highly autonomous data reception 32-bit SLINK, 64-bit PCI bus 33MHz and 66 MHz PCI clock speed up to 260MByte/s bandwidth High-speed follow up of the Simple SLINK to PCI interface card

SLINK format example: ATLAS SLINK data format

IO FPGA Control FPGA Pulsar Top Level schematics

MANY IO pins are assigned by hand to make the routing easier. Critical signals (clocks etc) are assigned by compiler with core working VHDL code. Pulsar components placement

Pulsar layout

Pulsar in pulser mode: hotlink examples: Optical IO Unit Muon case (only one mezzanine card shown) FIFO FIFO FIFO FIFO The latency is controlled by when the data is clocked out the FIFO Internal Test RAM controller SRAM L1A Buf #

load test pattern memory: use 36 bits data width, 32 will be for 4 fiber output (4 x 8), the highest 4 bits will be used as control bits to mark the content of data. For each event worth data, the first one will be the header, and the 32 bits data will contain the latency (&number of words etc) for this particular event and this particular path. The last one is the trailer, which can contain other info if needed (such as what L2 decision should be etc) (either use internal RAM or use 128K x 36 external SRAM, CY7C1350): 36bits Buffer0 data Buffer1 data Buffer2 data 4 Ctrl bits 8 bits data 8 bits data 8 bits data 8 bits data Buffer3 data The highest two address bits will be controlled by buffer number to divide automatically the memory for 4 buffers

How does it work: (1) after L1A, read the first word(header) and get the latency, at the same time start a counter; (2) continue to readout the rest of the data words from the memory and clock them into a FIFO, until the trailer is reached (can get the L2 decision information there) (3) once the counter reaches latency threshold, clock the data out from the FIFO at the speed which matches with the subsystem. this way the latency for each event and each data path can be individually controlled by user. Latency for this event, and other info header trailer data data data data 1 st event Other information (what L2 decision should be etc) One could have more control by inserting gaps in between data words etc using the 4 control bits, to better mimic the real situation for certain data paths. This approach seem to be quite flexible Buffer 0 data memory Ctrl bit 35: header Ctrl bit 34: trailer Ctrl bit 33: gap Ctrl bit 32: reserved

L1A Buf# RAM FIFO Initial thoughts on tester firmware design counter0 counter1 counter2 counter3 Buffer 0 data Latch L1A+buf# read 1 st word from RAM save latency&compare with counter continue reading data from RAM to FIFOs until last word once counter counts up to latency, enable FIFO output and ctrl signals for Tx chips ready for next L1A data ctrl FIFO FIFO FIFO FIFO ctrl VME Buffer 1 data Buffer 2 data 36bits addr Mezzanine Card side Buffer 3 data State machine

Comments: Pro: simple Con: not so elegant, as the state machine has to finish sending all data out of the FIFO before able to process next one. Maybe ok if run at higher clock rate. Will be some intrinsic delay between events. Possible implementation A: null L1A header Peter Wittich will talk about pulser mode firmware design detail and status soon. Good starting point, allow us to simulate the board soon. Would be better to separate the RAM to FIFO part from the actual data sending part output RAMtoFIFO Latency done

Possible implementation B: Comments: Pro: more elegant Con: somewhat more involved. null L1A counterq latency Output controller Implement this later for the real thing. header Data ready to be sent We decided to go for implementation A first. RAMtoFIFO FIFO done

hotlink examples: (only one mezzanine card shown) Pulsar in recorder mode (readout via VME) Optical IO Unit FIFO FIFO FIFO FIFO or controller L1A Buf # Configure the (S)RAM as a circular buffer for recording (for each L1A) and can be stopped and read out via VME. Internal Test RAM VME Each Optical IO FPGA looks at 8 fiber channels, SRAM has 32+4 bits. So need ping-ponging for recording (recording is at twice the incoming data rate, 60MHz) Natalia is working on this part of firmware SRAM

Pulsar in (general purpose) recorder mode (directly into a PC) Pulsar can convert any user data (via custom mezzanine cards) into SLINK format then transfer the data into a PC T S T R K Optical IO Mezzanine card connectors CDF ctrl Merger data PC SLINK to PCI SLINK L 1 T R K Optical IO ctrl Firmware: this mode exercises the whole board. The core firmware has been written in this mode and we have been simulating the whole board this way since April. Will talk about the details later. The firmware in this mode can be used initially to test the prototype board by using SLINK test tools.

L1A Buffer(2) Pulsar in recorder mode(into a PC): firmware design is similar to all three FPGAs L1A(x4) queue L1 trigger bits FIFO FIFO (pulls one event worth of data at a time) *Checks data consistence merges and stamp data SLINK Formatter 32-bit@40MHz FIFO SVT/XTRP data FIFO

Board Level simulation example

Pulsar firmware in CVS common: library for lower level VHDL code fpgapinmap: IO pin assignment files, compile setting files, VHDL templates etc Rx: VHDL code in various receiving modes Tx: VHDL code in various pulser modes crucial for team work and long term maintenance Pulsar is designed for long term maintenance for Level 2

Possible applications for Pulsar As Pulser for L2 decision crate: can source any data path as well as multiple paths at the same time As Recorder for L2: can record data from upstream for any data path (or multiple paths) As Pulser for Hit-Finder boards in SVT system: with a G-LINK mezzanine card, Pulsar can pulse SVT system by sending fiber data into Hit Finder boards: * can receive SVT cable input from Hit Finder output (for on-the-fly loop test) This could be important for long term maintenance for the system Can sink/source G-link/TAXI/HotLink/LVDS data for generic DAQ/trigger diagnostics. Other possible/potential applications: As a simple standalone DAQ system (in a test beam environment with custom mezz cards) can receive external trigger signals (NIM etc) via AUX card in the back maybe possible to use it as a general diagnostics tool for beams division? Future expansion is as cheap/fast/easy as designing a mezzanine card the rest are all commercially available The flexible design ( lego style ) makes it possible to use Pulsar as a general purpose tool within or outside CDF

Flexible design: Lego style philosophy The formation of Pulsar cluster

Board Level simulation and prototype testing plan Pulsar Mezzanine cards: hotlink Tx and Rx mezzanine cards have been simulated together, has a teststand setup at UC for prototype testing. Pulsar motherboard: Board Level simulation: intensive board level simulation in progress prepare for multi-board simulation: Pulsar + mezzanine cards schedule depends on board level simulation work the goal is to validate the design with INTENSIVE board level simulation by the end of June. Send out the prototype early July, and continue board level simulation a new visiting student (Sakari Pitkanen) from Finland just joined this effort Prototype testing plan: can use SLINK test tools first then test with custom mezzanine cards

Mezzanine cards board level simulation (1) 4 fiber case first (2) 2 fiber + LVDS case Natalia will talk about details later Transmitter Receiver This setup can test everything except CMC connectors

Mezzanine card Prototype/production test plan I (use the working teststand setup at UC): Pattern Generator (1) Use PG + LA; (2) Use FPGA internal RAM + LA (3) Use BIST + LA (hotlink) (run for long time and set limit on bit-error-rate to test for robustness) HP LA Transmitter Receiver This setup can test everything except CMC connectors

Pulsar + 4 hotlink mezzanine cards: prepare for multi-board simulation Mezzanine cards Pulsar

Initial test plan for Pulsar board prototype Pulsar board prototype can be first tested with SLINK test tools, then can be tested with custom mezzanine cards PULSAR IO M IO Slink out CPU Use SLINK source card to send data Use SLINK data sink to check data

SLIN data source test board SLINK data Drain test board (ideal for initial Pulsar prototype testing)

Prototype test plan II: use one Pulsar prototype board this would allow full tests (including the CMC connectors) Tx Rx I/O I/O M Mezzanine cards production can start ONLY AFTER the prototypes are tested with Pulsar prototype