PicoTDC architecture & Readout Jorgen Christiansen, PH-ESE 1.

Slides:



Advertisements
Similar presentations
TDC130: High performance Time to Digital Converter in 130 nm
Advertisements

FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
A Low-Power Wave Union TDC Implemented in FPGA
JLab High Resolution TDC Hall D Electronics Review (7/03) - Ed Jastrzembski.
Programmable Keyboard/ Display Interface: 8279
Tests of CAEN 1190 Multi-hit TDCs Simona Malace Brad Sawatzky and Brian Moffit JLab Hall C Summer Workshop Aug , JLab.
E-link IP for FE ASICs VFAT3/GdSP ASIC design meeting 19/07/2011.
1 MTD Readout Electronics J. Schambach University of Texas Hefei, March 2011.
TDC in ACTEL FPGA Tom Sluijk Wilco Vink Albert Zwart Fabian Jansen.
Large Area, High Speed Photo-detectors Readout Jean-Francois Genat + On behalf and with the help of Herve Grabas +, Samuel Meehan +, Eric Oberla +, Fukun.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
David Nelson STAVE Test Electronics July 1, ATLAS STAVE Test Electronics Preliminary V3 Presented by David Nelson.
NS Training Hardware. System Controller Module.
NIKHEF 27 Feb 2007RELAXd Serial Readout Status1 RELAXd Serial Readout - Status Motherboard MASTER RELAXd Chipboard – SLAVE ADCDACsFlashPower FPGA LatticeSC15.
TOF Electronics Qi An Fast Electronics Lab, USTC Sept. 16~17, 2002.
Hardware Design of High Speed Switch Fabric IC. Overall Architecture.
The GANDALF Multi-Channel Time-to-Digital Converter (TDC)  GANDALF module  TDC concepts  TDC implementation in the FPGA  measurements.
Lecture 20: Communications Lecturers: Professor John Devlin Mr Robert Ross.
TDC and ADC Implemented Using FPGA
PicoTDC Features of the picoTDC (operating at 1280 MHz with 64 delay cells) Focus of the unit on very small time bins, 12ps basic, 3ps interpolation Interpolation.
Leo Greiner IPHC meeting HFT PIXEL DAQ Prototype Testing.
September 8-14, th Workshop on Electronics for LHC1 Channel Control ASIC for the CMS Hadron Calorimeter Front End Readout Module Ray Yarema, Alan.
A multichannel Time-To-Digital Converter ASIC with better than 3ps RMS Time Resolution Lukas Perktold (GRAZ/CERN), Jorgen Christiansen (CERN)
G. Aglieri, P.Jarron, J. Kaplon, A. Kluge, M. Morel, M. Noy, L. Pertktold, K. Poltorak August 27, 2012.
Features of the new Alibava firmware: 1. Universal for laboratory use (readout of stand-alone detector via USB interface) and for the telescope readout.
Testing of Latch-TDC Da-Shung Su Jia-Ye Chen, Hsi-Hung Yao, Su-Yin Wang, Ting-Hua Chang, Wen-Chen Chang 2011/07/13.
The DRS2 Chip: A 4.5 GHz Waveform Digitizing Chip for the MEG Experiment Stefan Ritt Paul Scherrer Institute, Switzerland.
FPGA firmware of DC5 FEE. Outline List of issue Data loss issue Command error issue (DCM to FEM) Command lost issue (PC with USB connection to GANDALF)
LHCb front-end electronics and its interface to the DAQ.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
GBT SCA overview Slide 1-5 Work status Slide 6-10 Shuaib Ahmad Khan.
CERN, 18 december 2003Coincidence Matrix ASIC PRR Coincidence ASIC modifications E.Petrolo, R.Vari, S.Veneziano INFN-Rome.
NSYNC and Data Format S. Cadeddu – INFN Cagliari P. Ciambrone – INFN LNF.
09/02/20121 Delay Chip Prototype & SPI interface Joan Mauricio La Salle (URL) 15/02/2013.
09/02/20121 Delay Chip Prototype & Delay Chip Test Board Joan Mauricio – Xavier Ondoño La Salle (URL) 12/04/2013.
A Super-TFC for a Super-LHCb (II) 1. S-TFC on xTCA – Mapping TFC on Marseille hardware 2. ECS+TFC relay in FE Interface 3. Protocol and commands for FE/BE.
Level-1 Data Driver Card (L1DDC) HEP May 2014 Naxos 08/05/2014HEP 2014, NAXOS Panagiotis Gkountoumis National Technical University of Athens.
P ICO - SECOND TDC FOR HEP ( AND OTHER APPLICATIONS ) Jorgen Christiansen, Moritz Horstmann, Lukas Perktold (Now AMS), Jeffrey Prinzie (Leuven) CERN/PH-ESE.
FELIX Design FELIX Design Upgrades of detector readout meeting 9 June 2014 Lorne Levinson, for the FELIX group Upgrades of detector readout meeting, 9.
HCC Derived Clocks. Generated Clocks The HCC generates two clocks from the ePLL 160 MHz clocks and the chip 40 MHz clock, used as a reference: An 80 MHz.
MODULE 5 INTEL TODAY WE ARE GOING TO DISCUSS ABOUT, FEATURES OF 8086 LOGICAL PIN DIAGRAM INTERNAL ARCHITECTURE REGISTERS AND FLAGS OPERATING MODES.
.1PXL READOUT STAR PXL READOUT requirement and one solution Xiangming Sun.
18/05/2000Richard Jacobsson1 - Readout Supervisor - Outline Readout Supervisor role and design philosophy Trigger distribution Throttling and buffer control.
CBM-TOF-FEE Jochen Frühauf, GSI Picosecond-TDC-Meeting.
1.No mention is made about the ePLL. Figure 1 does not indicate which clocks are used by the various blocks. How does the VMM capture block guarantee that.
Low Power GBT CMS Tracker Oriented Preliminary Design Specification A. Marchioro, P. Moreira Nov 2011.
Pixel structure in Timepix2 : practical limitations June 15, Vladimir Gromov NIKHEF, Amsterdam, the Netherlands.
Status and Plans for Xilinx Development
C.Beigbeder, D.Breton, M.El Berni, J.Maalmi, V.Tocut – LAL/In2p3/CNRS L.Leterrier, S. Drouet - LPC/In2p3/CNRS P. Vallerand - GANIL/CNRS/CEA SuperB -Collaboration.
TDC and ADC Implemented Using FPGA
End OF Column Circuits – Design Review
OMEGA3 & COOP The New Pixel Detector of WA97
Beam Wire Scanner (BWS) serial link requirements and architecture
vXS fPGA-based Time to Digital Converter (vfTDC)
LHC1 & COOP September 1995 Report
Readout System of the CMS Pixel Detector
ABC130 Testability and SEU Protection Reset eFUSE
From SNATS to SCATS C. Beigbeder1, D. Breton1,F.Dulucq1, L. Leterrier2, J. Maalmi1, V. Tocut1, Ph. Vallerand3 1 : LAL Orsay, France (IN2P3 – CNRS) 2 :
PID meeting SCATS Status on front end design
The 8085 Microprocessor Architecture
Complex function block of processing and transferring asynchronous data for the IC of reading out the signals of multichannel detectors P. Ivanov, E.
Hellenic Open University
On Behalf of the GBT Project Collaboration
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 3)
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
The MDT TDC ASIC Development
Stefan Ritt Paul Scherrer Institute, Switzerland
The 8085 Microprocessor Architecture
New DCM, FEMDCM DCM jobs DCM upgrade path
DARE180U New Analog IPs Laurent Berti AMICSA 2018, LEUVEN.
Presentation transcript:

PicoTDC architecture & Readout Jorgen Christiansen, PH-ESE 1

PicoTDC architecture 2 64 channels, 3ps or 12ps time binning 64 channels, 3ps: ~1W 64 channels, 12ps: ~0.4W 32 channels, 12ps: ~0.2W

Readout 1 or 4 readout ports – 4 ports: High rate applications (e.g. non triggered) 16 TDC channels per port – 1 port: Low-medium rate 64 channels (or 32channels in 32 channel mode) Readout data: 32bit words – Headers, trailers, TDC data, status, etc. Readout ports interface – Byte wise: 40, 80, 160, 320 MHz Clock driver by data destination (FPGA or GBT): To Be Confirmed A.8bit data with data strobe, event strobe (driven by TDC) B.8B/10B encoded (way to block data flow ?: X-on – X-off) – Serial: 8B/10B or 64B/66B encoding Low speed: 40, 80, 160, 320 Mbits/s High speed: 2.56 Gbits/s TDC readout bandwidth: – Max: 320MHZ x 8 x 4 = 10Gbits/s ( ~4Mhits/s per channel without triggering) 2.56Gbits/s x 4 = 10Gbits/s – Min: 1 x 40Mbits/s=40Mbits/s 3

Framing Triggered: Event framing – Event header – TDC measurements (relative to trigger) Single edge Leading + TOT – (Errors, per event) – (Debugging, per event) – Event trailer Non triggered: Stream of individual channel TDC measurements – TDC measurements (absolute) Single edge Leading + TOT – (Errors, when they occur) – (Debugging, when ?) – (Counter overflow) Idle/empty frame/byte A.No date strobe B.Idle character in 8B/10B or 64B/66B encoding 4

Data Type identification “4” bit data type identifier in 32bit words. TDC measurements: Maximize number of bits (31) available for TDC data – Type: 0xxx (xxx part of channel ID) Header: Triggered – Type: 1000 – Event ID: 12bit – Bunch ID: 12 bit Trailer: Triggered – Type: 1001 – Event ID: 12 bit – Status/error flags: 8bits Buffer overflows encountered. ? – Number of hits or Check sum: 8bits Errors: Triggered or non triggered (can be enabled/disabled) – Type: 1010 – Status word with bit signalling what error Buffer overflows, Hit error (time decoding), PLL loss of lock, DLL loss of Lock, SEU detect ? – Error flags reset after having sent error status (error flags can also be read and reset via control/monitoring interface) Monitoring/debugging: Triggered (can be enabled/disabled), To be determined – Type: 1011 – Buffer occupancy full: 64 L1 buffers * 10bit + 4 Readout FIFOs * 10 bit = 720bits ! – Buffer occupancy short: 2bits per buffer: 144 !. (can also be read via control/monitoring interface) Counter overflow – Type: 1100 Other ? 5

32bit frames Event ID (12)Type (4)=1000Bx ID (12)Div(4) Event header Event ID (12)Type (4)=1001#Hits/check (8)Flags(8) Event trailer Type (4)=1010Error/status flags, TBC (28) Errors/status Type (4)=1011Monitoring data, TBC (20) Monitoring data, possibly with sub-types to read out all buffer occupancies Type (4)=1100TBC (28) Coarse count overflow TDC data (31)Type (1)=0 TDC measurement Sub-Type (8) 6

“Absolute” TDC data 4 readout ports, 16 channels 1 readout port, 32 channels 7 16/32 channel mode: FULL TDC data, DEFAULT FORMAT Channel (4+1)Coarse cnt (12)Fine cnt (6)DLL int (5)Res int (2)Edge (1)Type (1)

“Absolute” TDC data 1 readout port, 64 channels 8 (No type identifier: Exception, use of 8B/10B, 64B/66B to mark when no data ! ) No edge bit: If only measuring leading or trailing No resistive interpolation: Channel (6)Coarse cnt (12)Fine cnt (6)DLL int (5)Res int (2)Edge (1) Channel (6)Coarse cnt (12)Fine cnt (6)DLL int (5)Res int (2)Type (1) Channel (6)Coarse cnt (12)Fine cnt (6)DLL int (5)0Edge (1)Type (1) DEFAULT: One course count bit less: Channel (6)Coarse cnt (11)Fine cnt (6)DLL int (5)Res int (2)Edge (1)Type (1) POSSIBLE OPTIONS: To be define which ones to implement

Leading + TOT Packet Type: 1bit Channel ID:4 - 6 bits Leading: >16 bits – Large dynamic range 16bit 3ps resolution: 200ns 19bit 3ps resolution: 1600ns – Programmable part of full 25bits leading TDC – (Relative to trigger to be useable) TOT (Relative to leading): >8 bits – Short dynamic range: 8bit 3ps resolution: 780ps 11bit 3ps resolution: 6.1ns – Programmable part of full 25bits TOT difference TOT assumed to be used for offline time-walk correction of leading. Alternative: Readout of Individual Leading and Trailing edges with full range/resolution – 2x readout bandwidth Channel (6)Leading (16)TOT(9)Type (1) 1 readout port, 64/32 channels Channel (4)Leading (16)TOT(11)Type (1) 4 readout ports, 16 channels Channel (4)Leading (19)TOT(8)Type (1) 9

Relative to trigger A.Single edge B.Leading + TOT with prog. Resolution Channel (6)Coarse cnt (11)Fine cnt (6)DLL int (5)Res int (2)Edge (1)Type (1) A: Triggered with relative time: Same as absolute Channel (6)Leading (16)TOT(9)Type (1) B: Triggered with relative leading and TOT: Same as absolute Lead. + TOT Channel (5)Coarse cnt (12)Fine cnt (6)DLL int (5)Res int (2)Edge (1)Type (1) Channel (4)Leading (16)TOT(11)Type (1) Channel (4)Leading (19)TOT(8)Type (1) 1 readout port, 64 channels 4 readout ports, 16 channels or 1 readout port, 32 channels 4 readout ports, 16 channels 1 readout port, 64/32 channels 10

Configuration /monitoring Configuration Status and monitoring I2C or alike – I2C soft macro from Sandro / Ken ? E-link to GBT: Use same as GBT-SCA ? – Soft macro from GBT-SCA ? 11

Timing-Control interface Reference clock Timing control signals: – Global reset – Bunch count reset – Event count reset – Trigger A.Individual signals (4) B.Encoded on one signal at 160MHz ? 12

IO and Pins Differential SLVS (LVDS compliant on hit and clock inputs) – Low jitter ( Fast -> High power ! Max 2mW per input: 2mW x 64 = 128mW Common mode rejection and related jitter ? – LVDS and SLVS input: Above Vdd !, both NMOS and PMOS input stage – Synergy with LPGBT ? Hits:128 Clk:2 Trigger, resets:6 Readout:80 Control:6 – E-link: clk, Din, Dout – (I 2 C ? ) Single ended, Voltage Div test:8 Power, GND:40 – PLL:4 – TDC:8 – I/O16 – Core:8 Total:~270 (17 x 17 FPBGA) 13

OTHER - BACKUP 14

Combined config/control/readout ? Timing and config via E-link Monitoring/read-back via readout port NO 15

Encoding Byte lane using max 10 signals + clk. Encoding not required. Two options A.Data-valid strobe(s) Data valid First byte in 32bit frame B.8B/10B: Frames Idle Data lines NOT guaranteed to be DC balanced. Who drives Byte lane clock (40, 80, 160, 320M): TDC or GBT ? Normally GBT. Then we need to synchronize within the TDC TDC clock derived from ref clock normally coming from GBT Serial: Encoding required – DC balancing – Embedded clock – Byte, Frame alignment – Idle 8B/10B: – 25% overhead 64B/66B encoding ? – 2 bit preamble – 64bit scrambled data – 3% overhead We have 32B frames and no 32B/34B coding exists 16

Time measurement Full time measurement: – Course count (40MHz):12 (cover LHC machine cycle) – Fine count (2.56GHz):6 – DLL interpolation:5 – Resistive interpolation:2 – Total TDC:25 Edge lead/trail:1 Channel ID:4, 4 readout ports with 16 channels 6, 1 Readout port with 64 channels 5, 1 readout port with 32 channels Data type field (minimum):1 Total:31bits - 33bits Data packet: 32bits ! Channel (4-6)Coarse cnt (12)Fine cnt (6)DLL int (5)Res int (2)Edge (1)Type (1) bits 17

Internal buffering TDC time: 25bits Edge:1 bit Channel ID: – Latency buffer: 0bits, buffer per channel – Readout FIFO:4 Bits, buffer per 16 channels Max TOT:11bits SEU detect:1bit parity or Hamming – Hamming for 32bit data: 6bit = 38bits – Hamming for 26bits data: 5 bit = 31bits – Extra parity bit to detect double errors (but not correct), (fits well for 26 bit data) Latency buffer: Basic TDC measurements – Full TDC time + edge – Full Leading + TOT (or split across two words) – SEU detect/(correct) SEU errors can seriously confuse trigger matching as hits may look like being out of time order Readout FIFO: Data as it will be sent out on readout port – Full TDC time + edge – Required Leading + TOT – Event separator: Header, (Trailer) – Other:(error flags), (Monitoring) – Final readout formatting can be done before or after readout FIFO, or as a combination – SEU detect/(correct) SEU errors can corrupt/disturb readout data but not the TDC chip itself Buffers: 32 bit wide or larger if required – Latency buffer: 32 bit OK with 5+1 bit hamming if leading and trailing as separate words – Readout FIFO: 32bit with 1 bit parity or 38/39 with hamming 18

Latency buffer Coarse cnt (12)Fine cnt (6)DLL int (5)Res int (2)Edge (1) Required TDC data: Max_TOT(11) Coarse cnt (12)Fine cnt (6)DLL int (5)Res int (2)Edge (1)SEU (5+1) Full TDC data in 32bit with 5+1bit hamming (single bit correct and double bit detect) 26bits 11bits Coarse cnt (12)Fine cnt (6)DLL int (5)Res int (2)Max_TOT(11) 36bits Full Leading + max TOT: 36bits 32bits Coarse cnt (12)Fine cnt (6)DLL int (5)Res int (2)Max_TOT(11) 43bits SEU (6+1) Full Leading + max TOT + 6+1bit Hamming: 43bits Leading + TOT requires two consecutive memory locations Not interesting to protect only coarse count (requires 5+1bit hamming code) 19

Readout FIFO Full TDC: 16/32 channel mode: DEFAULT READOUT FORMAT Channel (5)Coarse cnt (12)Fine cnt (6)DLL int (5)Res int (2)Edge (1)Type (1) Only 4 bit channel ID needed within channel group of 16 Room for 1 parity bit Channel (4)Leading (16)TOT(11)Type (1) Leading + TOT: 4 readout ports, 16 channels Channel (4)Leading (19)TOT(8)Type (1) No Spare bit for Parity Full 6+1 bit Hamming on 32bit data: 39 bits 32bit readout data (32) 39bits SEU (6+1) Parity on 32bit data: 33 bits 32bit readout data (32) 33bits Parity(1) 20

SEU protection Configuration data: A.TMR (or on purpose NOT as not to be classified rad hard) B.Parity, simple SEU detect State machines, counters: A.TMR (or on purpose NOT as not to be classified rad hard) B.One-hot with error detect and self reset, Simple SEU detect as in HPTDC Data memories – Latency buffer: A.Full Hamming B.Hamming on course count (used for Trigger matching) C.Parity – Readout FIFO: Hamming Parity None Hit registers: – Fine time: No SEU protection but data verification as possible (bubbles) – Course, Fine count: Parity to the extent possible Data pipeline registers: – Parity PLL: To extent possible (e.g. phase detector) DLL: Not needed Must not be classified as 100% rad hard ! 21

Time offsets/parameters Coarse count offset: 12 bit – Loaded with external BX-reset signal – Not required every machine cycle as chip programmed to know LHC machine cycle. Machine cycle period: 12 bit (Only support for LHC period) – Must be taken into account: Coarse counter to zero Trigger counter to zero Channel offset TOT Comparison to trigger Relative to trigger Per channel offset:16 bit Trigger latency:12bit Other ? 22

Configuration Interface: E-port and/or I2C – E-port: Get E-port IP block (Sandro/Kostas) – (I 2 C: Get I 2 C block (Ken ?). Problem with IO and voltage levels) Configuration bits – PLL: 16 – DLL: 16 – Global clocking:16 – Channel enable: 64 – Leading/trailing/both: 2 – Channel dead time:8 – Coarse count offset: 12 – Machine cycle: 12 – Trigger latency:12 – Reject latency:12 – Trigger window:12 – Channel offsets: 16 x 64 =1024 – Data formatting: 32 – Readout:32 – Test selects:32 – Total:~1300 Must be possible to reload and read config while running. TMR or Parity 23

Monitoring PLL status DLL status Div. status/error flags SEU counts Triggers Buffer occupancies Slow readout via control/monitoring path ?. ? 24

Test features Access to raw data/inject specific hits ? Scan path ? Boundary scan path ? BIST of memories ? DLL ? PLL ? Other ? 25

Channel buffer: 1k Counters TDC channel 2.56GHz 320MHz 160MHz 80MHz 40MHz Ext ref. 2.56GHz x16 Readout buffer: 1k 1/8/10bit 40,80,160,320M Serial 2.56G x10 40MHz PD Res. int. 40,80,160,320MHz x10 Channel buffer: 1k TDC channel x16 Readout buffer: 1k 1/8/10bit 40,80,160,320M Serial 2.56G x10 Trigger matching PLL Trigger buffer 1k D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register D Interpolation decoder Hit register x16 Control, Programming, Monitoring Hits x64 Trigger, Resets E-port, (I 2 C) Readout 1-40 Trigger interface 26