From 04b71be4f22dd0639d79ea676ae2c0421d3ece97 Mon Sep 17 00:00:00 2001 From: hadaq Date: Sun, 24 Jun 2012 13:37:08 +0000 Subject: [PATCH] Minor editing. --- trb3/TdcBuildingBlocks.tex | 19 +++++++++---------- trb3/biblio.bib | 10 ++++++---- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/trb3/TdcBuildingBlocks.tex b/trb3/TdcBuildingBlocks.tex index 96ff3df..60736c9 100644 --- a/trb3/TdcBuildingBlocks.tex +++ b/trb3/TdcBuildingBlocks.tex @@ -8,7 +8,7 @@ \label{fig:tdc_channel_block} \end{wrapfigure} -The architecture of the designed TDC consists of a fine time measurement block, a coarse counter with granularity of 5~ns, an encoder for the conversion of the result to binary number and a First-In-First-Out (FIFO) memory block for data storage. A block diagram of the designed TDC is shown in Figure~\ref{fig:tdc_channel_block}. +The architecture of the TDC consists of a fine time measurement block, a coarse counter with granularity of 5~ns, an encoder for the conversion of the result to binary number and a First-In-First-Out (FIFO) memory block for data storage. A block diagram of the designed TDC is shown in Figure~\ref{fig:tdc_channel_block}. In each TDC channel the measurement result of the fine time measurement block is converted to a binary number in the encoder and saved in the FIFO with a coarse time flag. The time interval between different signals measured at different channels can be calculated by simply taking the difference of the relevant measurement results. In Figure~\ref{fig:tdc_delta_time} an example of two signals, their coarse and fine time values and the calculation of the time interval between these signals are shown. @@ -38,7 +38,7 @@ In each TDC channel the measurement result of the fine time measurement block is \subsubsection{Fine Time Measurement} \label{sec:fine_time} -For fine time measurements the Tapped Delay Line (TDL) method is used. This method is based on a delay path with delay elements, which have similar propagation delays. With the start signal the propagation along the delay line starts and with the stop signal the output of the each delay element is latched (Figure~\ref{fig:tdc_tdl}). The location of the propagating signal along the delay line defines the fine time measurement between start and stop signals. +For fine time measurements the Tapped Delay Line (TDL) method is used. This method is based on a delay path with delay elements, which have similar propagation delays. With the start signal the propagation along the delay line starts and with the stop signal the output of the each delay element is latched (Figure~\ref{fig:tdc_tdl}). The location of the propagating signal along the delay line defines the fine time between start and stop signals. The delay line is realised on the dedicated carry chain structure of the Lattice FPGA using the 4-bit Look Up Tables (LUT) and the registers, as delay elements and as latches respectively. In Figure~\ref{fig:tdc_slice} the diagram of a slice with 2 LUTs and 2 registers is shown. @@ -65,22 +65,21 @@ The delay line is realised on the dedicated carry chain structure of the Lattice \label{fig:tdc_tdl_slice} \end{figure} -In our design each LUT is programmed as a 1-bit full adder and a N~delay element chain is created as a N~bit adder (Figure~\ref{fig:tdc_adder}). All bits of one of the operands are set as '1' and the other operand as '0' except the first bit. The start (hit) signal is assigned to the first bit. As soon as the hit signal arrives to the TDC, starting from the first full adder, the result bits change to '0' and a carry signal is sent to the adjacent full adder. When the stop signal is sent, the outputs of the full adders are latched and the number of zeros defines the location of the propagating carry signal. In our design, the stop signal is defined as the next rising edge of the system clock after the start signal. As the maximum time interval to be measured by the fine time counter is one clock cycle, the total propagation time of the carry signal, along the delay line, has to be longer than a clock period. Manual placement of the delay elements and the corresponding registers are done in order to achieve a uniform delay along the line. +In the designed TDC the stop signal is defined as the next rising edge of the system clock after the start signal. As the maximum time interval to be measured by the fine time counter is one clock cycle, the total propagation time of the carry signal, along the delay line, has to be longer than a clock period. Manual placement of the delay elements and the corresponding registers are done in order to achieve a uniform delay along the line. -\subsection{Calibration} \label{sec:calibration} The propagation delay of a delay cell depends on temperature and the consistency of the power supply. This dependency effects the resolution of the TDC. In order to overcome this problem, the output data of the TDC has to be calibrated. -For an FPGA TDC, digital calibration has to be applied to the raw data. The digital calibration method used in this study was bin-by-bin calibration\cite{tdc_bin_calibration}. In this method a DNL histogram is created for a given number of hits. The number of hits used to generate the DNL histogram varied between 50000 and 500000 and the bin width of each bin was calculated. Assuming the time intervals are completely random and not correlated with the clock signal, the hits should be equally distributed over the time interval of the fine interpolator, which is the clock period. Then the bin width can be calculated from, +For an FPGA TDC, digital calibration has to be applied to the raw data. Bin-by-bin calibration\cite{tdc_bin_calibration} is suitable for this purpose. In this method a DNL histogram is created for a given number of hits. Assuming the hit signals are completely random and not correlated with the clock signal, the hits should be equally distributed over the time interval of the fine interpolator, which is the clock period. Then the bin width can be calculated from, \begin{equation} BW=n\times\frac{T_o}{N} \end{equation} -where $n$ is the actual number of hits of the bin and $N$ is the total number of hits. Using this calculation and the DNL histogram, which is already calculated, a \textit{Look-Up Table} (LUT)\footnote{A lookup table is used to display information, which is recorded previously, corresponding to an individual input.} is created to store the time values of each bin. The corresponding time value for each bin is the middle point of the bin width values. The time value of the first bin is the half of the bin width of the first bin. For the second bin, it is the summation of the bin width value of the first bin and half of the bin width value of the second bin, and so on. After creating the LUT this is used for subsequent measurements. An example of calibrated and uncalibrated time values are shown in \autoref{fig:calibration}. As may be seen from the graph, the quantisation levels of the calibrated data are distributed along the time more evenly than the uncalibrated data quantisation steps. As these quantisation steps effect the non-linearities of the TDC, calibration has lowered the non-linearity values. +where $n$ is the actual number of hits of the bin and $N$ is the total number of hits. Using this calculation and the DNL histogram, which is already calculated, a \textit{Look-Up Table} (LUT)\footnote{A lookup table is used to display information, which is recorded previously, corresponding to an individual input.} is created to store the time values of each bin. The corresponding time value for each bin is the middle point of the bin width values. The time value of the first bin is the half of the bin width of the first bin. For the second bin, it is the summation of the bin width value of the first bin and half of the bin width value of the second bin, and so on. After creating the LUT this is used for subsequent measurements. An example of calibrated and uncalibrated time values are shown in \autoref{fig:calibration}. As may be seen from the graph, the quantisation levels of the calibrated data are distributed along the time more evenly than the uncalibrated data quantisation steps. As these quantisation steps effect the non-linearities of the TDC, calibration has lowers the non-linearity values. \begin{figure}[htp] - \centering - \includegraphics[width=0.8\textwidth]{figures/Calibration_2.pdf} - \caption[An example of a LUT created by the bin-by-bin calibration method]{An example of a LUT created by the bin-by-bin calibration method (Adapted from \cite{tdc_Wu_waveunion})} - \label{fig:calibration} + \centering + \includegraphics[width=0.8\textwidth]{figures/Calibration_2.pdf} + \caption[An example of a LUT created by the bin-by-bin calibration method]{An example of a LUT created by the bin-by-bin calibration method (Adapted from \cite{tdc_Wu_waveunion})} + \label{fig:calibration} \end{figure} This calibration method is correct for a given temperature and supply voltage values, and the calibration LUT has to be updated regularly during the offline analysis. \ No newline at end of file diff --git a/trb3/biblio.bib b/trb3/biblio.bib index ec66e27..4029aae 100644 --- a/trb3/biblio.bib +++ b/trb3/biblio.bib @@ -10,7 +10,7 @@ @article{tdc_Wu_waveunion, author = "J. Wu and Z. Shi", - title = "The 10-ps Wave Union TDC: Improving FPGA TDC Resolution beyond Its Cell Delay", + title = "The 10-ps wave union TDC: Improving FPGA TDC resolution beyond its cell delay", year = "2008", journal = "Nuclear Science Symposium Conference Record, 2008 IEEE", month = "19-25 October", @@ -24,7 +24,7 @@ volume = "41", number = "1", pages = "17--32", - url = "http://stacks.iop.org/0026-1394/41/i=1/a=004", + url = "http://iopscience.iop.org/0026-1394/41/1/004", year = "2004" } @@ -36,7 +36,8 @@ volume = "53", number = "1", month = "February", - pages = "236--241" + pages = "236--241", + url = "http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5738332" } @manual{tdc_fpga_hb, @@ -44,5 +45,6 @@ organization = "Lattice Semiconductor Corporation", note = "HB1003 Version 04.3", month = "March", - year = "2009" + year = "2009", + url = "http://www.latticesemi.com/documents/HB1003.pdf" } -- 2.43.0