the gandalf multi-channel time-to-digital converter (tdc)

19
The GANDALF Multi-Channel Time-to-Digital Converter (TDC) Sebastian Schopferer University of Freiburg TIPP 2011, Chicago June 13, 2011 GANDALF module TDC concepts TDC implementation in the FPGA measurements

Upload: tola

Post on 25-Feb-2016

53 views

Category:

Documents


1 download

DESCRIPTION

The GANDALF Multi-Channel Time-to-Digital Converter (TDC). Sebastian Schopferer University of Freiburg TIPP 2011, Chicago June 13, 2011. GANDALF module TDC concepts TDC implementation in the FPGA measurements. The GANDALF module. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

The GANDALF Multi-ChannelTime-to-Digital Converter (TDC)

Sebastian SchopfererUniversity of Freiburg

TIPP 2011, ChicagoJune 13, 2011

GANDALF module TDC concepts TDC implementation in the FPGA measurements

Page 2: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 2

The GANDALF module

June 13, 2011

VME64x Interface

USB 2.0

S-Link Interfaceto DAQ

VITA 41.0VXS Interface

TCS

Memory:144 Mbit QDRII+,

4 Gbit DDR2

Virtex-5 SX95T FPGA for Data Processing:

60k CLB flip-flops,8 Mbit Block RAM,640 DSP Slices,

500 MHz

mezzaninecard slot 1

Generic Advanced Numerical Device for Analog and Logic Functions

mezzaninecard slot 2

Virtex-5 LX30T FPGA for Memory Control

& Data Output:20k CLB flip-flops,

1.2 Mbit Block RAM,500 MHz

Page 3: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 3

The GANDALF module

June 13, 2011

GANDALF transient recorder• 16 analog inputs for A/D conversion (500 MS/s @ 12 bit)• optional time-interleaved mode: 8 channels with 1000 MS/s• real-time pulse shape analysis with online feature extraction (time resolution up to 10 ps)

GANDALF with digital inputs / outputs• 128 differential inputs or outputs• module functionality is free programmable in the FPGA• e.g. time-to-digital converter, scaler, mean-timer, coincidence matrix, pattern generator• combinations of these functionalities are possible for cost efficient design

Page 4: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 4

Digital Mezzanine Card (DMC)

June 13, 2011

• buffer card to convert signal levels and

protect FPGA from short circuits and ESD

• 2 x 32-channel VHDCI connectors

• 64 differential inputs (e.g. LVDS, LVPECL) or

64 differential outputs (LVDS)

• 1x NIM input, 2x NIM outputs

• jitter < 20 ps (including FPGA inputs)

Page 5: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 5

GANDALF TDC design objectives

June 13, 2011

more about the GANDALF module:http://hadron.physik.uni-freiburg.de/gandalf/

128 TDC channels per board time resolution better than 100 ps rms leading and/or trailing edge sensitivity multi-hit capability 10 ns double hit resolution 18 bit dynamic range 20 µs look-ahead / look-back hit buffer programmable trigger window dead-time free data readout

Page 6: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 6

TDC concepts

June 13, 2011

Shifted Clock Sampling

equidistant delay of data signal ∆tdelay = 1/(n*fclk )

same clock signal at all flip-flops

equidistant phase shift of clock signal φdelay = 2π/n

same data signal at all flip-flops

Delayed Data Sampling

sampling of data signal TDC bin width = 1/fmax ≈ 2 nsfmax : 500 MHz (Virtex-5)

reduce TDC bin width by:

Trivial concept of TDC

Page 7: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 7

Shifted Clock Sampling

June 13, 2011

bit pattern “11000000” hit detected!

time(TDC bin) = clk_counter * 8 + ‘bitswap’ position

Hit

8 phase shifted TDC clocks

8 TDC flip-flops

data signal

check for ‘bit pattern’ ≠ “00000000” or “11111111”

output register

Page 8: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 8

Partitions

June 13, 2011

eight different clock domains- register outputs are not stable simultaneously- readout not possible at a single point in time

“partitions” are introduced to merge the clock domains in a two-stage process

1

2

5

6

7

3part

ition

1

‘overlap’ avoids loss of hits!

part

ition

0

0

4

Setup & hold

Setup & hold readout

readout

012345670

Page 9: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 9

Implementation

June 13, 2011

Challenge accuracy of TDC bin width influenced by

clock „phase error“

„routing delay“ of data signal

8 TDC-flip-flops

rout

ing

reso

urce

sro

utin

g o

f dat

a si

gnal

to

TD

C f

lip-fl

ops

placement is user-controlled by scripts auto-router finds appropriate connections

Page 10: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 10

Implementation

June 13, 2011

clock 0ºclock 90ºclock 180ºclock 270º

clock 45ºclock 135ºclock 225ºclock 315º

PLL 1

PLL 2

Phase-shifted clocks produced by two PLLs

Page 11: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 11

Trigger Matching

June 13, 2011

time stamp measurements select only hits within a time window around a trigger signal trigger signal can be related to data in the past (“look-back”) or

in the future (“look-ahead”)

hit data storage inside FPGA needed

max. latency: 20

µs

HIT FIFO depth: 1k

Page 12: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 12

TDC overview

June 13, 2011

TDC register (8 flip-flops)

clk0 clk3clk1 clk4clk2 clk6clk5 clk7

partition 0 partition 1

Hit BufferRAM

TriggerTrigger Matching

Output FIFO

TDC

cha

nnel

Clock Counter

Data

merge 128 channels

DAQ

Page 13: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 13

FPGA resource usage

June 13, 2011

average resource usage per TDC channel

1 TDC channel

Page 14: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 14

Measurement Setup

June 13, 2011

Pattern Output(LVDS)

TDC Input(LVDS)

TCS in

TDC GANDALF(input)

Pattern Generator (output)

clock frequency 388.8 MHz

8 phase-shifted clocks

TDC bin width: 320 ps

Page 15: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 15

Measurements

June 13, 2011

not o

ptim

ized

:op

timiz

ed:

PLL1

PLL2

Differential Nonlinearity

Page 16: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 16

Extension to 16 TDC bins

June 13, 2011

part

ition

1

partition 0

12

5

67

3

0

4

12

5

67

3

0

4

rising-edge-triggeredfalli

ng-e

dge-

trigg

ered

clock frequency 388.8 MHz

2 flip-flops per slice

8 phase-shifted clocks

+ 8 inverted clocks

TDC bin width: 160 ps

Page 17: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 17

128 channels with 16 TDC bins

June 13, 2011

Differential Nonlinearity

Page 18: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 18

TDC time resolution

June 13, 2011

RMS of the time stamp difference between ‘channel n’ and the mean of all other channels:

TDC time resolution < 0.5 * LSB = 80 ps

for comparison:resolution of ideal TDC =1 / sqrt(12) * LSB = 46 ps

Page 19: The GANDALF  Multi-Channel Time-to-Digital  Converter (TDC)

Sebastian Schopferer 19

Conclusion

June 13, 2011

design objectives achieved: 128 TDC channels in the GANDALF Virtex-5 FPGA TDC bin width: 160 ps DNL < 0.2 LSB = 32 ps time resolution < 80 ps rms

under progress: integrate 128 scaler channels into the same design inter-board communication via VXS for fast trigger decisions design migration to Artix-7 or Kintex-7 (front-end solution)

more about the GANDALF module:http://hadron.physik.uni-freiburg.de/gandalf/