Fig.2: Carry chain delay line: (a) logic block diagram;

(b) Layout obtained using a Xilinx Virtex 5 FPGA;

(c) simplified block diagram of the Virtex 5 slice.

Principle of operations

We have designed two types of TDC architectures in different Xilinx

FPGAs. Both approaches use the classic Nutt method based on the two stage interpolation. The timing acquisition process consists of three phases. First, the time interval (∆t1) between the rising edges of the START signal and the succeeding reference clock is measured. Secondly, a coarse counter is activated to measure the time interval (∆t12) between the two rising edges of the reference clock immediately following the START and the STOP signals. Finally, the same procedure for measuring the time interval (∆t2) between the rising edges of the STOP signal and the succeeding reference clock is also performed. The time interval between the START and STOP signals, ∆t, may be determined as (∆t1+ ∆t12- ∆t2). The dynamic range for fine conversion of ∆t1 and ∆t2 is limited to only one reference clock cycle .

aloisio@na.infn.it, branchini@roma3.it, cicalese@na.infn.it, rgiordano@na.infn.it, izzo@na.infn.it, loffredo@roma3.it

FPGA Implementation of High-Resolution Time-to-Digital Converter

FPGA Implementation of High-Resolution Time-to-Digital Converter

a Dipartimento Scienze Fisiche, Università di Napoli “Federico II” and I.N.F.N. Sezione di Napoli - Italy

b Dipartimento di Fisica, Università di Roma Tre and I.N.F.N. Sezione di Roma Tre - Italy

c Dipartimento Scienze Fisiche, Università di Napoli “Federico II” - Italy

Our designs

In the FPGA available today, there are chain structures that the vendors designed for general-purpose applications. A few well-known examples are carry chains, cascade chains, sum-of-products chains, etc. These chain structures provide short predefined routes between identical logic elements. They are ideal for TDC delay chain implementation.

In our works, the fine TDC for the measurement of the short intervals, (∆t1) and (∆t2), have been performed in two different methods:

1. The first architecture, shown in Fig.2 (a) uses carry chain delays, like the one present in the newest available Xilinx Virtex 5 FPGA. The START signal after each delay unit is sampled by the pertaining flip-flop on the rising edge of the STOP signal.

2. The second architecture, shown in Fig.3 (a), uses two rows of slightly different cell delays and it makes a differential delay line by using the Xilinx Virtex II’s slices. During the time-to-digital conversion process, the STOP pulse follows the START pulse along the line, and all latches from the first cell up to the cell where the START pulse overtakes the STOP pulse are consecutively set.

To implement the designs in FPGA, one must address one major problem: in the FPGA development software, a logic cell (LE) can be physically placed in nearly any place, depending on the optimization algorithm used. When left up to the program, routing between LEs may also be unpredictable to the user. If the logic cells used for the architectures are placed and routed in this fashion, the propagation delay of each delay step will not be uniform. To avoid this, the designer is forced to place and route the logical resources by hand. The two layouts are presented respectively in Fig.2 (b) and Fig.3 (b). In Fig.2 (c) and Fig.3 (c) simplified block diagrams of the two Virtex 5 and Virtex II are shown.

Alberto Aloisioa, Paolo Branchinib, Roberta Cicalesea, Raffaele Giordanoc,

Vincenzo Izzoa, Salvatore Loffredob

Fig.1: Measurement of time interval T with the Nutt method.

ASIC and FPGA devices. However, the design process of an ASIC device not only can be expensive, especially if produced in small quantities but also the design process is complex due to the long turn-around time and layout phase. On the other hand, low cost, fast development cycle and commercial availability are several driving motivations for using general purpose Field-Programmable Gate Arrays (FPGAs) to implement the TDC without using any external circuits.

Introduction

Time to Digital Converter (TDC) has been widely used in many applications such as particle detection in high energy physics, laser range finder, frequency counter and on-chip jitter measurement. For many years the main methods used to achieve the hundreds of pico-seconds resolution have been based on time-stretching, Vernier and tapped delay line. These technique were designed both in

Time interval measurement literature review

One of the first TDC realized on an FPGA-based approach was proposed by Kalisz, et al. [1] in 1995. They made use of the difference between a latch delay and a buffer delay of QuickLogic’s FPGA and achieved a time resolution of 100 ps. In 2003, a TDC was implemented in an ACEX 1 K FPGA from Altera by Wu, et al. [2]. This TDC used cascade chains of the FPGA and offered a time resolution of 400 ps. In the same year, Szymanowski, et al. implemented a high-resolution TDC with two stage interpolators in a QL12X16B from QuickLogic [3]. The TDC had 200 ps resolution and standard measurement uncertainty below 140 ps. In 2004, a TDC was implemented in a general purpose FPGA device by using dedicated carry lines in the FPGA to perform time interpolation by Qi An , et al [4].

[1] J. Kalisz, R. Szplet, and A. Poniecki, “Field programmable gate array based time-to-digital converter with 200-ps resolution,” IEEE Trans. Instrum. Meas., vol. 46, no. 1, pp. 51–55, Feb. 1997.

[2] J. Wu, Z. Shi, and I. Y. Wang, “Firmware-only implementation of time-to-digital converter in field programmable gate array,” in Proc. IEEE Conf. Rec. NSS., vol. 1, 2003, pp. 177–181.

[3] R. Szymanowski and J. Kalisz, “Field programmable gate array time counter with two-stage interpolation,” Rev. Sci. Instrum., vol. 76, 2005. 045 104.

[4] Jian Song, Qi An, and Shubin Liu, “A high-resolution Time-to-Digital Converter Implemented in field programmable gate array,” IEEE Trans. Instrum. Meas., vol. 53, no. 1, Feb. 2006.

Test bench results

Preliminary tests have been made on our delay lines using the first architecture on a Xilinx Virtex 5 demo board and the second one on the Xilinx Virtex 2 demo board. The two test boards are shown in Fig.4 respectively. Each TDC structure has 64 steps. The external clock frequency we used in the tests was 100MHz.

To execute our tests we have used an architecture based on an embedded microprocessor (Fig.5). PicoBlaze is a FPGA based microprocessor which has an 8-bit address and data port to access a wide range of peripherals. PicoBlaze allows the user to input a delay value via a RS232 link. The intermediate stage receives data bus, decodes it and establishes which is the value delay. Each signal is connected to the respective carry. In this way arrival time (STOP) is changed by using carry of various lengths. Carry chain has been used to generate the delays because for each step they can be considered fixed for the particular physical technology, rail voltage and temperature range. So the time interval between START and STOP has been determined and then it is measured by TDC.

Fig.4: On the right Xilinx Virtex 5 demo board; on the left Xilinx Virtex 2 demo board.

Fig. 6 and Fig. 7 show a test result of the two architecture TDC outputs as a function of the signal input time. More than 1000 measurements were made for each point and the average of each set of measurements was plotted. A simple linear fit shows that the least significant bit (LSB) bin size of the TDC structure in the VIRTEX 5 device was about 50 ps while in the VIRTEX 2 was about 0.5 ns. One would also expect some non-uniformity due to internal layout structure of the device.

Buffer to

buffer delay

Stop

Start

B

B

B

c

D

c

D

c

D

c

D

Start

Virtex5

slice

Stop

max clock skew between adjacent slices is 12ps

slice to

slice delay

COUT

FF

FF

MUXCY

LUT

MUXCY

LUT

1

1

FF

MUXCY

LUT

1

FF

MUXCY

LUT

1

CIN

CLK

(a)

(b)

(c)

(a)

cp

D Q

R

B

cp

D Q

R

B

cp

D Q

R

B

cp

D Q

R

B

Delay Cell

Stop

Start

Reset

Buffer to latch

delay

Buffer to buffer

delay

Latch to latch

delay

Figure3: Vernier delay line:

(a) logic block diagram;

(b) layout obtained using a

Xilinx Virtex II FPGA;

(c) simplified block

diagram of the Virtex

II slice.

Fig.5: Communication between PicoBlaze and

the TDC delay line.

8

START

PicoBlaze

DECISION

DELAY

TDC

D

e

l

a

y

L

i

n

e

MUX

carry

carry

carry

carry

carry

carry

∙∙∙∙∙∙∙∙∙

∙∙∙∙∙∙∙∙∙∙∙∙

STOP

START

64

8

Converter from

Termometric
to

Binary code

DELAY

DELAY

8

Intermediate stage

Clock

100MHz

(b)

Buffer to latch

delay

Buffer to buffer

delay

Latch to latch

delay

Delay

cell

Fig.7: TDC output as function of the input

time delay.

L

A

T

C

h

LUT

0 1

L

A

T

C

h

0 1

Cin

Clk

Cout

(c)

LUT

Fig.6: TDC output as function of the input

time delay.

PowerPoint Presentation

1601-01-01T01:00:00