Next Article in Journal
Influence of Lateral Multistage Unloading Intensity on Mechanical Properties of Reconstituted Coastal Soils Containing Silty Particles
Previous Article in Journal
The Effect of Conductive Alginate Capsules Encapsulating Rejuvenator (HealRoad Capsules) on the Healing Properties of 10 mm Stone Mastic Asphalt Mix
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A 19 ps Precision and 170 M Samples/s Time-to-Digital Converter Implemented in FPGA with Online Calibration

1
Institute of Microelectronics of the Chinese Academy of Sciences, Beijing 100029, China
2
University of Chinese Academy of Sciences, Beijing 100049, China
3
Key Laboratory of Science and Technology on Silicon Devices, Chinese Academy of Sciences, Beijing 100029, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2022, 12(7), 3649; https://doi.org/10.3390/app12073649
Submission received: 10 March 2022 / Revised: 29 March 2022 / Accepted: 3 April 2022 / Published: 5 April 2022

Abstract

:
This paper presents a 19 ps precision and 170 M samples/s time-to-digital converter (TDC) in FPGA. Through the direct count method and tapped delay line method, the coarse count and fine count can be extracted, respectively. The direct count is realized by the 350 M clock and the tapped delay line is constructed by the CARRY4 block. The ones-counter encoder is used to convert the thermometer code with bubble errors into binary code, which is applicable to all the FPGA chips. This work not only explains the schematic of the ones-counter encoder, but also shows how to configure it. Owing to the inconsistency of delay elements caused by process, bin-by-bin calibration is utilized to improve the differential nonlinearities (DNL) and integral nonlinearities (INL) of the TDC. A novel method was developed to compensate the influence of voltage and temperature. As the delay elements vary with voltage and temperature, a frequency counter is used to extrapolate and compensate its effect on the delay line. All of the above strategies use online calibration and improve the precision and sampling rate of TDC. The experimental results show the least significant bit (LSB) achieves 17.4 ps, the DNL is within [−0.90, 1.67] LSB, and the INL is in the range of [−1.90, 3.31] LSB.

1. Introduction

Time-to-digital converters (TDCs) are applied to various areas of research such as laser distance meters, high energy physics, and medical application [1,2,3,4,5]. In positron emission tomography (PET), TDCs are indirectly used to reduce the position of positron emissions [6]. To meet the particle identification requirements of high counting rate and high time resolution in the PET, TDCs must provide high measurement speeds and high measurement precision [7].
For decades, compared with TDCs based on Application Specific Integrated Circuits (ASICs), TDCs based on Field Programmability Gate Arrays (FPGAs) have been developed rapidly due to the advantages of shorter development time and higher flexibility. The common technique in an FPGA-based TDC consists of the coarse counter and the time interpolator [8,9]. Generally, the coarse counter is obtained by the direct count of a system clock. Recent studies have demonstrated that there are three main methods to implement the time interpolator, such as Vernier delay line (VDL) [10,11], multiple clock phases (MCPs) [12,13], and a tapped delay line (TDL) [14,15,16]. The VDL-TDC utilizes two similar clock frequencies to measure the time interval. However, it is not suitable for high speed measurements to be used with a long dead time. In 2019, a VDL-TDC achieved 28 ps precision and 602 ns dead time through two ring oscillators [10]. The guideline of the MCP-TDC is that the hit is sampled by N channels of clocks with different phase shifts. Nevertheless, it is hard to obtain a higher resolution because the number of clock phase shifts does not exceed 16. An MCP-TDC structure with 256 channels, 56.2 ps precision, and 4.3 ns dead time was designed in the paper [17]. VDL-TDCs and MCP-TDCs are not suitable for high speed and high precision measurements because of their long dead time and poor precision measurements. The TDL employs the delay elements of the FPGA as a time interpolator. With the advancement of FPGA manufacturing technology, the intrinsic propagation delay becomes smaller and the TDL-TDC becomes the best choice for a high-speed and high-precision time interpolator. The critical issue in the TDL-TDC is the severe bubble errors on the FPGA fabricated with advanced process technology [18]. To solve this problem, one technology that can be used is to reorder the taps according to the static timing analysis (STA) [19]. The real sequence is not consistent with the STA due to the clock slew, thus the bubble problem is not completely solved by reordering the taps. Another improvement is using bin realignment to reorder the taps [20], but it is quite complicated because it requires at least two cycles for the FPGA synthesis. The non-uniformity of delay elements caused by process variation and mismatch in the TDL-TDC is another considerable problem. The scale and linearity of the delay elements in the TDL determine the time precision. The intrinsic propagation delay reflects scale, whereas the differential nonlinearities (DNL) and integral nonlinearities (INL) represent the linearity. The average delay method [21] and the bin-by-bin calibration methodology [22,23,24] were proposed to improve linearity. Recent studies have found that the bin-by-bin calibration is the most suitable approach for a TDL-TDC. In 2021, a 26.04 ps precision and 125 M samples/s TDC was design by using bin-by-bin calibration [25]. However, that manuscript did not introduce many details about the calibration, and it was not clear that the bin-by-bin calibration was carried out using software or hardware. Moreover, it was not verified by experiments that the sample rate reached 125 M. To improve the precision and sample rate, the bin-by-bin calibration needs to be online and automatic in the hardware.
In this work, the thermometer code with bubble errors is converted to the binary code through the ones-counter encoder, as it could be naturally used for global bubbling error correction. The ones-counter encoder can work at 350 MHz while maintaining 170 M samples/s, owing to the pipelined adder tree structure. Furthermore, due to the inconsistency of delay elements caused by the process, the bin-by-bin calibration is used to increase their linearity. There are two calibration tables (histogram/lookup table) in this design, which are used to calibrate automatically and online in the hardware. As the delay elements vary with voltage and temperature, a frequency counter is used to extrapolate their effects on the delay line and compensate them. The contribution of this work makes the TDL-TDC accessible to time measurement with high precision and speed related applications easily. For example, if the bandwidth of a silicon photomultiplier (sipm) detector is 7 M, it is expected that such a TDC can be utilized for a PET.
This paper is organized as follows: Section 2 describes the architecture of the TDC design, which employs a ones-counter encoder and online calibration. Section 3 contains the assessment platform, characterization of the TDC performance, and comparison to state-of-the-art studies. Finally, Section 4 comprises the summary and conclusion.

2. TDC Architecture

Figure 1 shows the architecture of the proposed TDL-TDC. The single-channel consists of a mixed-mode clock manager (MMCM), a coarse counter, a filter stage, a tapped delay line, a ring oscillator, a frequency counter, a ones-counter encoder, a histogram and a look up table (made by dual port RAM). The MMCM creates a 350 MHz clock from the 100 MHz system clock. The coarse counter is 24 bits at the time range of 47.9 ms. The tapped delay line is implemented with a cascading CARRY4 block. The ones-counter encoder module converts the thermometer code with bubble errors into binary code. The AXI BRAM controller module is used to calibrate the influence of the process and temperature on the tapped delay line. The main abbreviations applied in this paper are shown in Table 1.
The TDL self-regulates and requires no additional reset logic. By utilizing the filter stage to filter the hit, the width of the hit becomes the time interval between the rising edge of the signal and the next rising edge of the clock, as shown in Figure 1. In the “FF1” stage, if the input of “D” is 1 and “CLR” is 0, the rising edge of the hit propagates along the TDL. When the hit transmitters conduct the first tap of the TDL, the “FF2” stage clears the “FF1” stage at the rising edge of the next clock and prevents the hit from entering the TDL. Once the entire TDL is cleared, the ”CLR” is set to 0 again and the TDL is ready to receive a new pulse [25].

2.1. Tapped Delay Line

The tapped delay line is the main module of the TDL-TDC in charge of the fine count. In fact, it can be formed by cascading any logic gates. For the purpose of high precision measurement, it is necessary to select a gate with the smallest delay to build a delay line in the FPGA. Previous research has shown that the CARRY4 block can be used as a delay element [26,27]. As shown in Figure 2, there are four multiplexers (MUXCYs) in the CARRY4 block, which can be perfectly used as the delay element. The hit signal propagates from the bottom to the top, which means that adjacent slices can be connected into carry chains in the vertical direction. In this paper, each CARRY4 module leads out CO0-CO3 as four taps. The TDL states are logic zeros if there is no signal. When bringing a pulse to the input, the states of the TDL propagate from “0” to “1”. When the next clock comes, D flip-flops to capture the TDL states in the form of a thermometer code. This means that it can accurately measure the time interval between the rising edge of the input signal and the next rising edge of the clock. As the clock and signal are asynchronous, more pipelined registers are created to eliminate metastability.
All delay elements of the TDL must be modified and located in the same clock region to avoid additional mismatch. The STA shows the delay of a CARRY4 block in the ZYNQ-7020 is 100 ps. Considering the ones-counter encoder in this paper, the number of taps should be a multiple of 6. In this work, 48 CARRY4 blocks are used to ensure the total delay is longer than 2.857 ns (350 MHz clock).

2.2. One-Counter Encoder

Normally, the TDL state changes from “0” to “1” in the order of taps, as shown in Figure 3a. However, Figure 3b shows that there are bubble errors in the TDL when simulating the timing of the delay line. It attributes to process, skew and jitters of the clock, or metastability of the D flip-flops. For example, under normal conditions, the D flip-flops will capture “111100”, whereas under the conditions of a bubble problem, the D flip-flops will capture “111010”.
The ones-counter encoder has been proposed as a remedy for bubble errors in the flash ADC [28]. The example illustrated in Figure 3 demonstrates the principle of the ones-counter encoder to solve this problem, with the state of each tap indicated as T0, T1, …, and T5. The TDL output is a perfect thermometer code when the tap sequence matches the actual delay sequence, as shown in Figure 3a. In Figure 3b, the TDL output has bubbles (if the tap sequence does not match the sequence). In fact, the output codes of the two situations have the same number of ones. The output “1” indicates the number of taps covered by the hit. It is not difficult to predict the ones-counter encoder will generate the same binary code no matter if there is a bubble error or not. It simplifies and clarifies the TDC design. Unlike the flash ADC design, this paper focuses on which encoder can best balance resources, power consumption, and operating speed to accomplish high speed measurement in a reasonable manner.
Figure 4 shows the ones-counter encoder used in this experiment. In stage 1, three 6 look up tables (6-LUT is an FPGA primitive) connect to six taps in parallel, encoding the six thermometer codes into a 3-bit binary code. The other stages are inputted into the pipelined adder tree structure, which accepts the 3-bit binary array as input and creates the 8-bit output. Due to the dynamic range of the final result being 8-bit (192 taps in total), only the 8-bit binary code is fed into the following calibration.
The initialization parameter for the 6-LUT primitive is what gives the LUT its logical value. By default, this value is zero, thus driving the output to a zero regardless of the input values. However, a new initialization value needs to be determined in order to specify the logic function. In this paper, the initialization contents of three 6-LUTs are configured to x“6996966996696996”, x“8117177E177E7EE8”, and x“FEE8E880E8808000”. These three Hex numbers give the configuration of the 6-LUT initialization contents, which is applicable to all different Xilinx devices. The function of the three 6-LUTs is to convert the six thermometer codes with bubble errors into binary codes. For example, as shown in Table 2, the six taps inputted are “111010”, which corresponds to the 59-th bit of initialization value (made with green), therefore, the three 6-LUTs output are “100”.

2.3. Online Calibration

Online calibration is performed to track and compensate PVT variations. Due to process, the delay element is not as uniform as the dedicated delay line in the ASIC. Some delay elements may have a small delay, whereas some delay elements may have a large delay. If the delay of each delay element is consistent, the bin width of each tap is uniform. The bin width of each tap is obtained by a code density test [16,20,29,30]. To balance resources and a correction effect, 1,024,000 is chosen as the number of test N in this design. The bin width of each delay element is determined using the following equation:
W i = N i N T c l k
where Wi is the bin width of i-th tap, Ni is the hit number of each tap, and Tclk is the clock period. The DNL and INL are usually used to represent the linearity of the TDC. The DNL is the difference between the actual bin width and ideal bin width. The INL is the cumulative value, which indicates the deviation from the ideal value. The DNL and INL of the i-th tap are defined as follows:
D N L i = W i W L S B W L S B
I N L i = k = 1 i D N L k
To make the TDC more linear, Wu explained the bin-by-bin calibration structure [31]. The DNL and INL are derived from the histogram in this method and the bin-by-bin calibration using the DNL values. Instead of the edge of the bins, Wu proposed that the center of the bins should be corrected. Therefore, the INL after this correction is determined from the following:
I N L ( k ) = i = 1 k 1 D N L ( i ) + D N L ( k ) 2
Figure 5 shows the timing diagram of the online calibration. To improve precision and reduce power consumption, the calibration signal uses the hit instead of the ring oscillator. Firstly, the fine count associated with each binary code is retrieved and stored in the histogram through N hit events, which estimates the width of each bin. This step is also known as a code density test. After the histogram is established, the data are sent to the lookup table for bin-by-bin calibration. After the lookup table is built completely, the system starts measuring the hit events and the following hit events are corrected with the lookup table.
When the temperature changes, some parameters of the transistor will change, such as leakage current and carrier migration speed. The threshold voltage of the transistor decreases linearly with the temperature. The influence of power fluctuation can be ignored due to the low dropout regulator (LDO) providing low noise power for the FPGA core. Therefore, in the actual circuit, the voltage has little impact on the delay time. However, it is difficult to reduce the impact of temperature on the FPGA in many applications. It is necessary to calibrate the TDC online without affecting normal operation. A novel method, which consists in using a frequency counter to measure the ring oscillator frequency, is adopted to extrapolate and compensate its effect on the delay line. In this work, a ring oscillator based on 31 NOT gates and an AND gate is placed adjacent to the tapped delay line as shown in Figure 6. While the system is working, the ring oscillator frequency is measured and compared with that acquired at the beginning of the measurements. In practice, the compensation can be performed by scaling the lookup table coefficients T(i)on-line evaluated in the bin-by-bin calibration phase as follows:
T ( i ) o n l i n e = f b y b l i n e f o n l i n e × T ( i ) b y b l i n e
where fbybline is the frequency counter of bin-by-bin calibration and fonline is the frequency counter of online calibration.

3. Results

The proposed TDC was synthesized, implemented, and generated bitstream using Xilinx Vivado 2018.3, implemented on the ZYNQ-7020 FPGA (xc7z020clg400-2) as Figure 7 shows. The controllable time intervals between channel 1 and channel 2 were generated by utilizing the IDELAYCTRL and IDELAY2 primitive. Owing to the two signals generated inside the ZYNQ-7020, measurement errors were minimized. The performances of the DNL, the INL, and the precision of the TDC and sample rate are evaluated in this section.
Subsequently, the code density test was performed with 1,024,000 hit signals, which was clear from the histogram that the delay elements were not uniform (Figure 8a). The bin width of some elements was almost zero, whereas others were very large (even close to 90 ps), but most were below 40 ps. However, the bin width is more uniform after bin-by-bin calibration, with the max value of bin width of 46 ps, and with many around 17 ps as shown in Figure 8b. Only 165 elements were valid; therefore, 165 elements correspond to a clock cycle. Therefore, the least significant bit (LSB) = 2.857 ns/165 = 17.4 ps.
The DNL reached [−0.97, 4.12] LSB before calibration, and reached [−0.90, 1.67] LSB after bin-by-bin calibration (see Figure 9a). The INL reached [−2.45, 9.54] LSB before calibration, and reached [−1.90, 3.31] LSB after bin-by-bin calibration (see Figure 9b).
To further evaluate the performance of the TDC precision, the FPGA is used for testing standard deviation of the repeated 102,400 measurements. Figure 10a shows that the precision is 58 ps before bin-by-bin calibration when choosing the time interval of 0 ns. The precision is 18 ps after calibration when choosing the time interval of 0 ns, as shown in Figure 10b. Given the different time intervals ranging from 0 to 4.8 ns, the precision is below 19 ps, as shown in Figure 11.
Figure 12 shows the change of frequency count with temperature. It can be seen that the frequency count value decreases linearly with the increase of temperature, about 4 °C. In order to estimate the change of RMS precision with temperature, the TDC online temperature compensation circuit is tested from 30 °C to 70 °C, as shown in Figure 13. Figure 13 shows that the TDC RMS precision without calibration increases linearly with the increase of temperature (about 0.6 ps/°C), whereas the TDC with calibration circuit remains below 19 ps.
Dead time is also an important parameter influencing the sample rate. Different frequency signals entered into the TDC for testing the dead time. The precision is greatly reduced once the frequency is greater than 170 MHz as shown in Figure 14. The safest time interval is 5.882 ns, meaning the dead time is less than 3 clock cycles. More than one clock cycle is utilized to propagate the signal along the delay line, and then another clock cycle is used to sample the fine count by the D flip-flops.
Table 3 shows the timing of the TDC system. These data are obtained from the implementation timing report. The worst negative slack of setup is 0.348 ns and the worst negative slack of hold is 0.068 ns. The slack of both the hold and setup is positive, which means that the TDC meets the timing requirements.
Table 4 shows the resource utilization of the TDC system. These data are obtained from the implementation utilization report. The total numbers of LUTs are 53,200, FFs are 106,400, and BRAMs are 140 in the ZYNQ-7020 chip. The TDC core requires 522 LUTs, 1080 FFs, and 4 BRAMs. This TDC core needs many resources because it works at 350 MHz.
Table 5 shows the power of the TDC system. These data are obtained from the implementation power report. The total dynamic power is 1.601 W and the main dynamic power comes from the PS; therefore, the dynamic power of the TDC is 0.202 W. The total static power is 0.138 W, which comes from the TDC. In other words, the total power consumption of the TDC is 0.340 W.
Table 6 provides a comparison with other TDCs based on similar principles. In terms of the precision, this paper is better than reference 22 and 25. For the sample rate, this paper is better than all references: a 19 ps precision and 170 M samples/s TDC implemented and evaluated in Zynq-7000 (programmable logic is equivalent to a 28 nm Artix-7 FPGA). The proposed TDC offers higher precision and a higher sample rate than that TDC from reference 25. In addition, the sample rate is verified by the experiment.

4. Conclusions

In summary, a high precision and high speed TDC implemented with online calibration based on the ZYNQ-7020 was designed and tested. A ones-counter encoder was employed to convert the thermometer code with bubble errors into binary code. The dead time was further decreased by taking advantage of the pipelined adder tree structure. Bin-by-bin calibration was implemented in the FPGA to minimize the DNL values. In addition, an innovative online calibration based on a frequency counter for temperature compensation is proposed. Experimental results demonstrated the sampling rate was 170 M and the LSB was 17.4 ps. The DNL reached [−0.97, 4.12] LSB before calibration, and reached [−0.90, 1.67] LSB after bin-by-bin calibration. The INL reached [−2.45, 9.54] LSB before calibration, and reached [−1.90, 3.31] LSB after bin-by-bin calibration. Finally, the online calibration based on a ring oscillator is tested at different temperatures, showing the precision of the TDC can still be maintained at 19 ps from 30 °C to 70 °C. Compared with previously published works, the sample rate and precision has been significantly improved thanks to our ones-counter encoder circuit and online calibration circuit (shown in Table 6). These outstanding performances demonstrate the potential for application in a high counting rate and a high time resolution detector.

Author Contributions

Conceptualization, M.Z. and Y.Z.; data collection, M.Z.; data analysis, M.Z.; data interpretation M.Z.; methodology, M.Z.; software, M.Z.; writing—original draft, M.Z.; writing—review and editing, Z.H. and F.Z.; final approval, M.Z., Y.Z., Z.H. and F.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the corresponding author. The data are not publicly available due to privacy.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Russo, S.; Petra, N.; De Caro, D.; Barbarino, G.; Strollo, A.G. A 41 ps ASIC time-to-digital converter for physics experiments. Nucl. Instrum. Methods Phys. Res. Sect. A Accel. Spectrom. Detect. Assoc. Equip. 2011, 659, 422–427. [Google Scholar] [CrossRef]
  2. Tang, Y.; Townsend, T.; Deng, H.; Liu, Y.; Zhang, R.; Chen, J. A Highly Linear FPGA-Based TDC and a Low-Power Multichannel Readout ASIC With a Shared SAR ADC for SiPM Detectors. IEEE Trans. Nucl. Sci. 2021, 68, 2286–2293. [Google Scholar] [CrossRef]
  3. Kuang, J.; Wang, Y.; Cao, Q.; Liu, C. Implementation of a high precision multi-measurement time-to-digital convertor on a Kintex-7 FPGA. Nucl. Instrum. Methods Phys. Res. Sect. A Accel. Spectrom. Detect. Assoc. Equip. 2018, 891, 37–41. [Google Scholar] [CrossRef]
  4. Hong, K.J.; Kim, E.; Yeom, J.Y.; Olcott, P.D.; Levin, C.S. FPGA-based time-to-digital converter for time-of-flight PET detector. In Proceedings of the 2012 IEEE Nuclear Science Symposium and Medical Imaging Conference Record (NSS/MIC), Anaheim, CA, USA, 27 October–3 November 2012; pp. 2463–2465. [Google Scholar]
  5. Vornicu, I.; Carmona-Galán, R.; Rodríguez-Vázquez, Á. Arrayable voltage-controlled ring-oscillator for direct time-of-flight image sensors. IEEE Trans. Circuits Syst. I Regul. Pap. 2017, 64, 2821–2834. [Google Scholar] [CrossRef]
  6. Marino, N.; Baronti, F.; Fanucci, L.; Saponara, S.; Roncella, R.; Bisogni, M.G.; Del Guerra, A. A multichannel and compact time to digital converter for time of flight positron emission tomography. IEEE Trans. Nucl. Sci. 2015, 62, 814–823. [Google Scholar] [CrossRef]
  7. Moses, W.; Buckley, S.; Vu, C.; Peng, Q.; Pavlov, N.; Choong, W.-S.; Wu, J.; Jackson, C. OpenPET: A flexible electronics system for radiotracer imaging. IEEE Trans. Nucl. Sci. 2010, 57, 2532–2537. [Google Scholar] [CrossRef] [Green Version]
  8. Hervé, C.; Cerrai, J.; Le Caër, T. High resolution time-to-digital converter (TDC) implemented in field programmable gate array (FPGA) with compensated process voltage and temperature (PVT) variations. Nucl. Instrum. Methods Phys. Res. Sect. A Accel. Spectrom. Detect. Assoc. Equip. 2012, 682, 16–25. [Google Scholar] [CrossRef]
  9. Garzetti, F.; Corna, N.; Lusardi, N.; Geraci, A. Time-to-Digital Converter IP-Core for FPGA at State of the Art. IEEE Access 2021, 9, 85515–85528. [Google Scholar] [CrossRef]
  10. Cui, K.; Li, X. A high-linearity Vernier time-to-digital converter on FPGAs with improved resolution using bidirectional-operating Vernier delay lines. IEEE Trans. Instrum. Meas. 2019, 69, 5941–5949. [Google Scholar] [CrossRef]
  11. Cui, K.; Ren, Z.; Li, X.; Liu, Z.; Zhu, R. A high-linearity, ring-oscillator-based, Vernier time-to-digital converter utilizing carry chains in FPGAs. IEEE Trans. Nucl. Sci. 2016, 64, 697–704. [Google Scholar] [CrossRef]
  12. Balla, A.; Beretta, M.M.; Ciambrone, P.; Gatta, M.; Gonnella, F.; Iafolla, L.; Mascolo, M.; Messi, R.; Moricciani, D.; Riondino, D. The characterization and application of a low resource FPGA-based time to digital converter. Nucl. Instrum. Methods Phys. Res. Sect. A Accel. Spectrom. Detect. Assoc. Equip. 2014, 739, 75–82. [Google Scholar] [CrossRef]
  13. Büchele, M.; Fischer, H.; Gorzellik, M.; Herrmann, F.; Königsmann, K.; Schill, C.; Schopferer, S. A 128-channel Time-to-Digital Converter (TDC) inside a Virtex-5 FPGA on the GANDALF module. J. Instrum. 2012, 7, C03008. [Google Scholar] [CrossRef]
  14. Chen, H.; Zhang, Y.; Li, D.D.-U. A low nonlinearity, missing-code free time-to-digital converter based on 28-nm FPGAs with embedded bin-width calibrations. IEEE Trans. Instrum. Meas. 2017, 66, 1912–1921. [Google Scholar] [CrossRef] [Green Version]
  15. Won, J.Y.; Lee, J.S. Time-to-Digital Converter Using a Tuned-Delay Line Evaluated in 28-, 40-, and 45-nm FPGAs. IEEE Trans. Instrum. Meas. 2016, 65, 1678–1689. [Google Scholar] [CrossRef]
  16. Wang, Y.; Xie, W.; Chen, H.; Li, D.D.U. Multichannel time-to-digital converters with automatic calibration in Xilinx Zynq-7000 FPGA devices. IEEE Trans. Ind. Electron. 2021. [Google Scholar] [CrossRef]
  17. Wang, Y.; Kuang, P.; Liu, C. A 256-channel multi-phase clock sampling-based time-to-digital converter implemented in a Kintex-7 FPGA. In Proceedings of the 2016 IEEE International Instrumentation and Measurement Technology Conference Proceedings, Taipei, Taiwan, 23–26 May 2016; pp. 1–5. [Google Scholar]
  18. Wu, J. Several Key Issues on Implementing Delay Line Based TDCs Using FPGAs. IEEE Trans. Nucl. Sci. 2010, 57, 1543–1548. [Google Scholar] [CrossRef]
  19. Fishburn, M.; Menninga, L.H.; Favi, C.; Charbon, E. A 19.6 ps, FPGA-Based TDC With Multiple Channels for Open Source Applications. IEEE Trans. Nucl. Sci. 2013, 60, 2203–2208. [Google Scholar] [CrossRef]
  20. Wang, Y.; Kuang, J.; Liu, C.; Cao, Q. A 3.9-ps RMS Precision Time-to-Digital Converter Using Ones-Counter Encoding Scheme in a Kintex-7 FPGA. IEEE Trans. Nucl. Sci. 2017, 64, 2713–2718. [Google Scholar] [CrossRef]
  21. Wang, J.; Liu, S.; Shen, Q.; Li, H.; An, Q. A fully fledged TDC implemented in field-programmable gate arrays. IEEE Trans. Nucl. Sci. 2010, 57, 446–450. [Google Scholar] [CrossRef]
  22. Tontini, A.; Gasparini, L.; Pancheri, L.; Passerone, R. Design and characterization of a low-cost FPGA-based TDC. IEEE Trans. Nucl. Sci. 2018, 65, 680–690. [Google Scholar] [CrossRef]
  23. Chen, Y.-H. Time resolution improvement using dual delay lines for field-programmable-gate-array-based time-to-digital converters with real-time calibration. Appl. Sci. 2019, 9, 20. [Google Scholar] [CrossRef] [Green Version]
  24. Lusardi, N.; Garzetti, F.; Corna, N.; Marco, R.D.; Geraci, A. Very High-Performance 24-Channels Time-to-Digital Converter in Xilinx 20-nm Kintex UltraScale FPGA. In Proceedings of the 2019 IEEE Nuclear Science Symposium and Medical Imaging Conference (NSS/MIC), Manchester, UK, 26 October–2 November 2019; pp. 1–4. [Google Scholar]
  25. Parsakordasiabi, M.; Vornicu, I.; Rodríguez-Vázquez, Á.; Carmona-Galán, R. A Low-Resources TDC for Multi-Channel Direct ToF Readout Based on a 28-nm FPGA. Sensors 2021, 21, 308. [Google Scholar] [CrossRef] [PubMed]
  26. Lusardi, N.; Garzetti, F.; Corna, N.; Salgaro, S.; Bachetti, N.; Geraci, A. Plug-and-Play Tunable and High-Performance Time-to-Digital Converter as IP-Core for Xilinx FPGAs. In Proceedings of the 2020 IEEE Nuclear Science Symposium and Medical Imaging Conference (NSS/MIC), Boston, MA, USA, 31 October–7 November 2020; pp. 1–3. [Google Scholar]
  27. Chen, Z.; Shi, W.; Xiong, G.; Yang, J.; Xu, Y. A 63.3 ps TDC Measurement System Based on FPGA for Pulsed Laser Ranging. In Proceedings of the 2019 IEEE 13th International Conference on ASIC (ASICON), Chongqing, China, 29 October–1 November 2019; pp. 1–4. [Google Scholar]
  28. Sail, E.; Vesterbacka, M. A multiplexer based decoder for flash analog-to-digital converters. In Proceedings of the 2004 IEEE Region 10 Conference TENCON 2004, Chiang Mai, Thailand, 24 November 2004; Volume 254, pp. 250–253. [Google Scholar]
  29. Zheng, J.; Cao, P.; Jiang, D.; An, Q. Low-Cost FPGA TDC With High Resolution and Density. IEEE Trans. Nucl. Sci. 2017, 64, 1401–1408. [Google Scholar] [CrossRef]
  30. Cao, G.; Xia, H.; Dong, N. An 18-ps TDC using timing adjustment and bin realignment methods in a Cyclone-IV FPGA. Rev. Sci. Instrum. 2018, 89, 054707. [Google Scholar] [CrossRef]
  31. Wu, J.; Shi, Z. The 10-ps wave union TDC: Improving FPGA TDC resolution beyond its cell delay. In Proceedings of the 2008 IEEE Nuclear Science Symposium Conference Record, Dresden, Germany, 19–25 October 2008; pp. 3440–3446. [Google Scholar]
Figure 1. Block diagram of the proposed TDC. The programmable logic (in orange) and processing system (in purple).
Figure 1. Block diagram of the proposed TDC. The programmable logic (in orange) and processing system (in purple).
Applsci 12 03649 g001
Figure 2. Architecture of a CARRY4 block.
Figure 2. Architecture of a CARRY4 block.
Applsci 12 03649 g002
Figure 3. Timing diagram of a tapped delay line: (a) the tap sequence is consistent with the order of taps; (b) the tap sequence is not consistent with the order of taps.
Figure 3. Timing diagram of a tapped delay line: (a) the tap sequence is consistent with the order of taps; (b) the tap sequence is not consistent with the order of taps.
Applsci 12 03649 g003
Figure 4. The proposed ones-counter encoder.
Figure 4. The proposed ones-counter encoder.
Applsci 12 03649 g004
Figure 5. A timing diagram of the online calibration.
Figure 5. A timing diagram of the online calibration.
Applsci 12 03649 g005
Figure 6. Layout view of the delay line and the ring oscillator in the proposed on-line calibration.
Figure 6. Layout view of the delay line and the ring oscillator in the proposed on-line calibration.
Applsci 12 03649 g006
Figure 7. Experimental setup of the proposed FPGA-TDC measure system.
Figure 7. Experimental setup of the proposed FPGA-TDC measure system.
Applsci 12 03649 g007
Figure 8. Measured TDC bin widths: (a) before bin-by-bin calibration; (b) after bin-by-bin calibration.
Figure 8. Measured TDC bin widths: (a) before bin-by-bin calibration; (b) after bin-by-bin calibration.
Applsci 12 03649 g008
Figure 9. (a) Comparison of the DNL before and after calibration; (b) comparison of the INL before and after calibration.
Figure 9. (a) Comparison of the DNL before and after calibration; (b) comparison of the INL before and after calibration.
Applsci 12 03649 g009
Figure 10. Measurement value of time interval (a) before calibration; (b) after calibration.
Figure 10. Measurement value of time interval (a) before calibration; (b) after calibration.
Applsci 12 03649 g010
Figure 11. RMS precision of difference time intervals.
Figure 11. RMS precision of difference time intervals.
Applsci 12 03649 g011
Figure 12. Dependence of ring oscillator frequencies on temperature.
Figure 12. Dependence of ring oscillator frequencies on temperature.
Applsci 12 03649 g012
Figure 13. The TDC RMS precision under different temperatures with and without temperature calibration.
Figure 13. The TDC RMS precision under different temperatures with and without temperature calibration.
Applsci 12 03649 g013
Figure 14. RMS precision of difference frequencies.
Figure 14. RMS precision of difference frequencies.
Applsci 12 03649 g014
Table 1. Description of abbreviations.
Table 1. Description of abbreviations.
AbbreviationsDescription
TDCTime-to-digital converter
FPGAField Programmable Gate Array
CARRY4Slice primitive: Fast Carry Logic with Look Ahead
LSBleast significant bit
PETpositron emission tomograph
ASICApplication Specific Integrated Circuit
VDLVernier delay line
MCPmultiple clock phases
TDLtapped delay line
STAstatic timing analysis
DNLdifferential nonlinearities
INLintegral nonlinearities
MMCMmixed-mode clock manager
LDOlow dropout regulator
IDELAYCTRLXilinx primitive: IDELAYE2/ODELAYE2 Tap Delay Value Control
IDELAYE2Xilinx primitive: Input Fixed or Variable Delay Element
Table 2. The initialization contents of three 6-LUTs.
Table 2. The initialization contents of three 6-LUTs.
Hex NumbersBinary Numbers
699696699669699601101001100101101001011001101001
10010110011010010110100110010110
8117177E177E7EE810000001000101110001011101111110 00010111011111100111111011101000
FEE8E880E880800011111110111010001110100010000000 11101000100000001000000000000000
Table 3. The timing of the TDC system.
Table 3. The timing of the TDC system.
ComponentWorst Negative Slack
Setup0.348 ns
Hold0.068 ns
Table 4. The resource utilization of the TDC system.
Table 4. The resource utilization of the TDC system.
ModuleLUTs
(53200)
FFs
(106400)
BRAMs
(140)
TDC core52210804
One channel TDC system155123134
Two channel TDC system251340958
Table 5. The power of the TDC system.
Table 5. The power of the TDC system.
ComponentPower
Total dynamic1.601 W
Clocks dynamic1.399 W
Logic dynamic0.015 W
BRAM dynamic0.014 W
MMCM dynamic0.123 W
PS1.399 W
Total static0.138 W
Table 6. Comparison with the FPGA-based TDL-TDCs.
Table 6. Comparison with the FPGA-based TDL-TDCs.
RefUsed MethodFPGALSB
[ps]
Precision
[ps]
DNL
[LSB]
INL
[LSB]
Sample Rate
[Ms/s]
ResourcesPower
2018 [30]TDLCyclone-IV4518[−0.5, 0.13][−0.48, 0.37]75--
2018 [3]TDLKintex-735.76-[−9, 9]45.5--
2018 [22]TDLSpartan-625.637[−0.90, 1.23][−0.0.43, 2.96]115415 Slices0.131 W
2021 [25]TDLArtix-722.226.04[−0.95, 1.19][−2.75, 1.24]125216 LUTs0.164 W
This workTDLZYNQ-702017.419[−0.90, 1.67][−1.90, 3.31]170522 LUTs0.340 W
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhang, M.; Zhao, Y.; Han, Z.; Zhao, F. A 19 ps Precision and 170 M Samples/s Time-to-Digital Converter Implemented in FPGA with Online Calibration. Appl. Sci. 2022, 12, 3649. https://doi.org/10.3390/app12073649

AMA Style

Zhang M, Zhao Y, Han Z, Zhao F. A 19 ps Precision and 170 M Samples/s Time-to-Digital Converter Implemented in FPGA with Online Calibration. Applied Sciences. 2022; 12(7):3649. https://doi.org/10.3390/app12073649

Chicago/Turabian Style

Zhang, Mengdi, Ye Zhao, Zhengsheng Han, and Fazhan Zhao. 2022. "A 19 ps Precision and 170 M Samples/s Time-to-Digital Converter Implemented in FPGA with Online Calibration" Applied Sciences 12, no. 7: 3649. https://doi.org/10.3390/app12073649

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop