### doc: explain extra histogram bits

parent b6307a27
 ... @@ -148,9 +148,9 @@ The timestamp is the sum of the widths of the traversed bins: ... @@ -148,9 +148,9 @@ The timestamp is the sum of the widths of the traversed bins: R_{0}(n) = \displaystyle\sum\limits_{i=n}^{N-1}{W_{0}(i)} = \frac{T_{sys}}{C} \cdot \displaystyle\sum\limits_{i=n}^{N-1}{H(i)} R_{0}(n) = \displaystyle\sum\limits_{i=n}^{N-1}{W_{0}(i)} = \frac{T_{sys}}{C} \cdot \displaystyle\sum\limits_{i=n}^{N-1}{H(i)} \end{equation} \end{equation} In the TDC core, the unit is the clock period, and the output has $F$ base 2 digits after the radix points. The controller also chooses\footnote{This choice was made for design simplicity reasons, and the precision can be improved by increasing C.} $C=2^F$. Expressed in units of $2^{-F}$ clock periods (which is the weight of the least significant bit of the fixed-point output), we have: In the TDC core, the unit is the clock period, and the output has $F$ base 2 digits after the radix points. The controller also chooses $C=2^{F+P}$, where $P$ is the number of \textit{extra histogram bits}. Expressed in units of $2^{-F}$ clock periods (which is the weight of the least significant bit of the fixed-point output), we have: \begin{equation} \begin{equation} \frac{T_{sys}}{C}=1 \frac{T_{sys}}{C}=2^{-P} \end{equation} \end{equation} \subsubsection{Online calibration} \subsubsection{Online calibration} ... @@ -170,6 +170,7 @@ The top-level entity \verb!tdc! has the following generics: ... @@ -170,6 +170,7 @@ The top-level entity \verb!tdc! has the following generics: \item \verb!g_CARRY4_COUNT! is the number of \verb!CARRY4! elements in the delay line of each channel. Each \verb!CARRY4! has 4 outputs, so the number of taps of the delay line is $4 \cdot \verb!g_CARRY4_COUNT!$. \item \verb!g_CARRY4_COUNT! is the number of \verb!CARRY4! elements in the delay line of each channel. Each \verb!CARRY4! has 4 outputs, so the number of taps of the delay line is $4 \cdot \verb!g_CARRY4_COUNT!$. \item \verb!g_RAW_COUNT! represents the number of bits at the output of the encoder. It should be set to the smallest value that verifies $4\cdot \verb!g_CARRY4_COUNT! \le 2^{\verb!g_RAW_COUNT!}-1$. \item \verb!g_RAW_COUNT! represents the number of bits at the output of the encoder. It should be set to the smallest value that verifies $4\cdot \verb!g_CARRY4_COUNT! \le 2^{\verb!g_RAW_COUNT!}-1$. \item \verb!g_FP_COUNT! defines the number of desired digits after the radix point. \item \verb!g_FP_COUNT! defines the number of desired digits after the radix point. \item \verb!g_EXHIS_COUNT! defines the number of desired extra histogram bits. Extra histogram bits improve precision by increasing $C$ and averaging statistical errors out. \item \verb!g_COARSE_COUNT! is the size, in bits, of the coarse counter which is incremented at each cycle. \item \verb!g_COARSE_COUNT! is the size, in bits, of the coarse counter which is incremented at each cycle. \item \verb!g_RO_LENGTH! defines how many \verb!LUT! primitives used as inverters are chained in the ring oscillator of each channel. For the ring oscillators to operate, this number must be odd. \item \verb!g_RO_LENGTH! defines how many \verb!LUT! primitives used as inverters are chained in the ring oscillator of each channel. For the ring oscillators to operate, this number must be odd. \item \verb!g_FCOUNTER_WIDTH! is the width, in bits, of the counter used to measure the frequency of the ring oscillator. Increasing this width allows for a more precise frequency measurement. \item \verb!g_FCOUNTER_WIDTH! is the width, in bits, of the counter used to measure the frequency of the ring oscillator. Increasing this width allows for a more precise frequency measurement. ... ...
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!