Commit 43db528f authored by Theodor-Adrian Stana's avatar Theodor-Adrian Stana

doc: Change max. pulse frequency, substitute FIFO with ring buffer

Signed-off-by: Theodor-Adrian Stana's avatarTheodor Stana <t.stana@cern.ch>
parent cc71e6a0
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
\hfill Gateware v2.0 \hfill Gateware v2.0
\hfill February 14, 2014 \hfill March 26, 2014
\vspace*{3cm} \vspace*{3cm}
......
\subsection{Converter board registers} \subsection{Converter board registers}
\label{app:conv-regs} \label{app:conv-regs}
Base address: 0x000 Base address: 0xf{}f{}f{}f{}f{}f{}f{}f
{ {
\rowcolors{2}{white}{gray!25} \rowcolors{2}{white}{gray!25}
\begin{longtable}{l l l p{.45\textwidth}} \begin{longtable}{l l l p{.5\textwidth}}
\hline \hline
\textbf{Offset} & \textbf{Default} & \textbf{Name} \textbf{Offset} & \textbf{Reset} & \textbf{Name}
& \textbf{Description} \\ & \textbf{Description} \\
\hline \hline
\endfirsthead \endfirsthead
...@@ -15,27 +15,27 @@ Base address: 0x000 ...@@ -15,27 +15,27 @@ Base address: 0x000
\endhead \endhead
\hline \hline
\endfoot \endfoot
0x0 & 0x54424c4f & BIDR & Board ID Register\\ 0x0 & 0x54424c4f & BIDR & Board ID Register\\
0x4 & Undefined (1) & SR & Status Register\\ 0x4 & (1) & SR & Status Register\\
0x8 & 0x00000000 & CR & Control Register\\ 0x8 & 0x00000000 & CR & Control Register\\
0xc & 0x00000000 & CH1PCR & Channel 1 Pulse Counter Register\\ 0xc & 0x00000000 & CH1PCR & Channel 1 Pulse Counter Register\\
0x10 & 0x00000000 & CH2PCR & Channel 2 Pulse Counter Register\\ 0x10 & 0x00000000 & CH2PCR & Channel 2 Pulse Counter Register\\
0x14 & 0x00000000 & CH3PCR & Channel 3 Pulse Counter Register\\ 0x14 & 0x00000000 & CH3PCR & Channel 3 Pulse Counter Register\\
0x18 & 0x00000000 & CH4PCR & Channel 4 Pulse Counter Register\\ 0x18 & 0x00000000 & CH4PCR & Channel 4 Pulse Counter Register\\
0x1c & 0x00000000 & CH5PCR & Channel 5 Pulse Counter Register\\ 0x1c & 0x00000000 & CH5PCR & Channel 5 Pulse Counter Register\\
0x20 & 0x00000000 & CH6PCR & Channel 6 Pulse Counter Register\\ 0x20 & 0x00000000 & CH6PCR & Channel 6 Pulse Counter Register\\
0x24 & 0x00000000 & TVLR & Time Value Low Register\\ 0x24 & 0x00000000 & TVLR & Time Value Low Register\\
0x28 & 0x00000000 & TVHR & Time Value High Register\\ 0x28 & 0x00000000 & TVHR & Time Value High Register\\
0x2c & 0x00000000 & TFMR & Tag FIFO Meta Register\\ 0x2c & 0x00000000 & TBMR & Tag Buffer Meta Register\\
0x30 & 0x00000000 & TFCYR & Tag FIFO Cycles Register \\ 0x30 & 0x00000000 & TBCYR & Tag Buffer Cycles Register\\
0x34 & 0x00000000 & TFTLR & Tag FIFO TAI Low Register \\ 0x34 & 0x00000000 & TBTLR & Tag Buffer TAI Low Register\\
0x38 & 0x00000000 & TFTHR & Tag FIFO TAI High Register \\ 0x38 & 0x00000000 & TBTHR & Tag Buffer TAI High Register\\
0x3c & 0x00020000 & TFCSR & Tag FIFO Control and Status Register \\ 0x3c & 0x00020000 & TBCSR & Tag Buffer Control and Status Register\\
\end{longtable} \end{longtable}
} }
\noindent Note 1: The SR is undefined on startup due to the fact that the \noindent Note (1): The reset value of the SR cannot be specified, since it is based on the
gateware version, switches and RTM fields may have different values. gateware version, the state of the on-board switches and whether an RTM is plugged in or not.
\vspace{11pt} \vspace{11pt}
\subsubsection{BIDR -- Board ID Register} \subsubsection{BIDR -- Board ID Register}
...@@ -47,19 +47,19 @@ gateware version, switches and RTM fields may have different values. ...@@ -47,19 +47,19 @@ gateware version, switches and RTM fields may have different values.
\begin{tabular}{>{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} } \begin{tabular}{>{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\ 31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[31:24]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}BIDR[31:24]}\\
\hline \hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\ 23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[23:16]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}BIDR[23:16]}\\
\hline \hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\ 15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[15:8]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}BIDR[15:8]}\\
\hline \hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\ 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[7:0]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}BIDR[7:0]}\\
\hline \hline
\end{tabular} \end{tabular}
} }
...@@ -176,14 +176,14 @@ WRPRES ...@@ -176,14 +176,14 @@ WRPRES
RST\_UNLOCK RST\_UNLOCK
} [\emph{read/write}]: Reset unlock bit } [\emph{read/write}]: Reset unlock bit
\\ \\
1 - Reset bit unlocked \\ 0 - Reset bit locked 1 -- Reset bit unlocked \\ 0 -- Reset bit locked
\end{small} \end{small}
\item \begin{small} \item \begin{small}
{\bf {\bf
RST RST
} [\emph{read/write}]: Reset bit } [\emph{read/write}]: Reset bit
\\ \\
1 - initiate logic reset \\ 0 - no reset 1 -- initiate logic reset \\ 0 -- no reset
\end{small} \end{small}
\item \begin{small} \item \begin{small}
{\bf {\bf
...@@ -496,8 +496,9 @@ Writing this field resets the internal cycles counter. ...@@ -496,8 +496,9 @@ Writing this field resets the internal cycles counter.
\textbf{Unimplemented bits}: write as '0', read undefined \textbf{Unimplemented bits}: write as '0', read undefined
\end{small} \end{small}
\end{itemize} \end{itemize}
\subsubsection{TFMR -- Tag FIFO Meta Register} \vspace{11pt}
\label{app:conv-regs-tfmr} \subsubsection{TBMR -- Tag Buffer Meta Register}
\label{app:conv-regs-tbmr}
\vspace{11pt} \vspace{11pt}
\noindent \noindent
...@@ -540,9 +541,13 @@ WRTAG ...@@ -540,9 +541,13 @@ WRTAG
\item \begin{small} \item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined \textbf{Unimplemented bits}: write as '0', read undefined
\end{small} \end{small}
\item \begin{small}
\textbf{A read from this register advances the buffer read pointer, if the ring buffer is not empty}
\end{small}
\end{itemize} \end{itemize}
\subsubsection{TFCYR -- Tag FIFO Cycles Register} \vspace{11pt}
\label{app:conv-regs-tfcyr} \subsubsection{TBCYR -- Tag Buffer Cycles Register}
\label{app:conv-regs-tbcyr}
\vspace{11pt} \vspace{11pt}
\noindent \noindent
...@@ -550,19 +555,19 @@ WRTAG ...@@ -550,19 +555,19 @@ WRTAG
\begin{tabular}{>{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} } \begin{tabular}{>{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\ 31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline \hline
\multicolumn{1}{|c}{-} & - & - & - & \multicolumn{4}{|c|}{\cellcolor{gray!25}CYC[27:24]}\\ \multicolumn{1}{|c}{-} & - & - & - & \multicolumn{4}{|c|}{\cellcolor{gray!25}TBCYR[27:24]}\\
\hline \hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\ 23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CYC[23:16]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}TBCYR[23:16]}\\
\hline \hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\ 15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CYC[15:8]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}TBCYR[15:8]}\\
\hline \hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\ 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CYC[7:0]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}TBCYR[7:0]}\\
\hline \hline
\end{tabular} \end{tabular}
} }
...@@ -570,7 +575,7 @@ WRTAG ...@@ -570,7 +575,7 @@ WRTAG
\begin{itemize} \begin{itemize}
\item \begin{small} \item \begin{small}
{\bf {\bf
CYC TBCYR
} [\emph{read-only}]: Cycles counter } [\emph{read-only}]: Cycles counter
\\ \\
Value of the 8-ns cycles counter when time tag was taken. Value of the 8-ns cycles counter when time tag was taken.
...@@ -579,8 +584,9 @@ Value of the 8-ns cycles counter when time tag was taken. ...@@ -579,8 +584,9 @@ Value of the 8-ns cycles counter when time tag was taken.
\textbf{Unimplemented bits}: write as '0', read undefined \textbf{Unimplemented bits}: write as '0', read undefined
\end{small} \end{small}
\end{itemize} \end{itemize}
\subsubsection{TFTLR -- Tag FIFO TAI Low Register } \vspace{11pt}
\label{app:conv-regs-tftlr} \subsubsection{TBTLR -- Tag Buffer TAI Low Register}
\label{app:conv-regs-tbtlr}
\vspace{11pt} \vspace{11pt}
\noindent \noindent
...@@ -588,19 +594,19 @@ Value of the 8-ns cycles counter when time tag was taken. ...@@ -588,19 +594,19 @@ Value of the 8-ns cycles counter when time tag was taken.
\begin{tabular}{>{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} } \begin{tabular}{>{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\ 31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TAI\_L[31:24]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}TBTLR[31:24]}\\
\hline \hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\ 23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TAI\_L[23:16]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}TBTLR[23:16]}\\
\hline \hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\ 15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TAI\_L[15:8]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}TBTLR[15:8]}\\
\hline \hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\ 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TAI\_L[7:0]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}TBTLR[7:0]}\\
\hline \hline
\end{tabular} \end{tabular}
} }
...@@ -608,7 +614,7 @@ Value of the 8-ns cycles counter when time tag was taken. ...@@ -608,7 +614,7 @@ Value of the 8-ns cycles counter when time tag was taken.
\begin{itemize} \begin{itemize}
\item \begin{small} \item \begin{small}
{\bf {\bf
TAI\_L TBTLR
} [\emph{read-only}]: Lower part of TAI seconds counter } [\emph{read-only}]: Lower part of TAI seconds counter
\\ \\
Value of the TAI seconds counter bits 31..0 when time tag was taken. Value of the TAI seconds counter bits 31..0 when time tag was taken.
...@@ -617,10 +623,11 @@ Value of the TAI seconds counter bits 31..0 when time tag was taken. ...@@ -617,10 +623,11 @@ Value of the TAI seconds counter bits 31..0 when time tag was taken.
\textbf{Unimplemented bits}: write as '0', read undefined \textbf{Unimplemented bits}: write as '0', read undefined
\end{small} \end{small}
\end{itemize} \end{itemize}
\subsubsection{TFTHR -- Tag FIFO TAI High Register}
\label{app:conv-regs-tfthr}
\vspace{11pt} \vspace{11pt}
\subsubsection{TBTHR -- Tag Buffer TAI High Register}
\label{app:conv-regs-tbthr}
%\vspace{11pt}
\noindent \noindent
\resizebox{\textwidth}{!}{ \resizebox{\textwidth}{!}{
\begin{tabular}{>{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} } \begin{tabular}{>{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} >{\centering\arraybackslash}p{1.5cm} }
...@@ -638,7 +645,7 @@ Value of the TAI seconds counter bits 31..0 when time tag was taken. ...@@ -638,7 +645,7 @@ Value of the TAI seconds counter bits 31..0 when time tag was taken.
\hline \hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\ 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline \hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TAI\_H[7:0]}\\ \multicolumn{8}{|c|}{\cellcolor{gray!25}TBTHR[7:0]}\\
\hline \hline
\end{tabular} \end{tabular}
} }
...@@ -646,7 +653,7 @@ Value of the TAI seconds counter bits 31..0 when time tag was taken. ...@@ -646,7 +653,7 @@ Value of the TAI seconds counter bits 31..0 when time tag was taken.
\begin{itemize} \begin{itemize}
\item \begin{small} \item \begin{small}
{\bf {\bf
TAI\_H TBTHR
} [\emph{read-only}]: Upper part of TAI seconds counter } [\emph{read-only}]: Upper part of TAI seconds counter
\\ \\
Value of the TAI seconds counter bits 39..32 when time tag was taken. Value of the TAI seconds counter bits 39..32 when time tag was taken.
...@@ -655,8 +662,9 @@ Value of the TAI seconds counter bits 39..32 when time tag was taken. ...@@ -655,8 +662,9 @@ Value of the TAI seconds counter bits 39..32 when time tag was taken.
\textbf{Unimplemented bits}: write as '0', read undefined \textbf{Unimplemented bits}: write as '0', read undefined
\end{small} \end{small}
\end{itemize} \end{itemize}
\subsubsection{TFCSR -- Tag FIFO Control and Status Register } \vspace{11pt}
\label{app:conv-regs-tfcsr} \subsubsection{TBCSR -- Tag Buffer Control and Status Register}
\label{app:conv-regs-tbcsr}
\vspace{11pt} \vspace{11pt}
\noindent \noindent
...@@ -668,7 +676,7 @@ Value of the TAI seconds counter bits 39..32 when time tag was taken. ...@@ -668,7 +676,7 @@ Value of the TAI seconds counter bits 39..32 when time tag was taken.
\hline \hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\ 23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline \hline
\multicolumn{1}{|c}{-} & - & - & - & - & \multicolumn{1}{|c|}{\cellcolor{gray!25}CLEAR\_BUS} & \multicolumn{1}{|c|}{\cellcolor{gray!25}EMPTY} & \multicolumn{1}{|c|}{\cellcolor{gray!25}FULL}\\ \multicolumn{1}{|c}{-} & - & - & - & - & \multicolumn{1}{|c|}{\cellcolor{gray!25}CLR} & \multicolumn{1}{|c|}{\cellcolor{gray!25}EMPTY} & \multicolumn{1}{|c|}{\cellcolor{gray!25}FULL}\\
\hline \hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\ 15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline \hline
...@@ -684,33 +692,31 @@ Value of the TAI seconds counter bits 39..32 when time tag was taken. ...@@ -684,33 +692,31 @@ Value of the TAI seconds counter bits 39..32 when time tag was taken.
\begin{itemize} \begin{itemize}
\item \begin{small} \item \begin{small}
{\bf {\bf
FULL USEDW
} [\emph{read-only}]: FIFO full flag } [\emph{read-only}]: Buffer counter
\\ \\
1: FIFO is full\\0: FIFO is not full Number of samples in the ring buffer
\end{small} \end{small}
\item \begin{small} \item \begin{small}
{\bf {\bf
EMPTY FULL
} [\emph{read-only}]: FIFO empty flag } [\emph{read-only}]: Buffer full
\\ \\
1: FIFO is empty\\0: FIFO is not empty 1 -- buffer full \\ 0 -- buffer is not full
\end{small} \end{small}
\item \begin{small} \item \begin{small}
{\bf {\bf
CLEAR\_BUS EMPTY
} [\emph{write-only}]: FIFO clear } [\emph{read-only}]: Buffer empty
\\ \\
write 1: clears FIFO \\write 0: no effect\\ 1 -- buffer empty\\ 0 -- buffer is not empty
Note that a clear will not delete the data in the FIFO, just bring the
read and write pointers at the same position.\\
\end{small} \end{small}
\item \begin{small} \item \begin{small}
{\bf {\bf
USEDW CLR
} [\emph{read-only}]: FIFO counter } [\emph{write-only}]: Clear tag buffer
\\ \\
Number of data records currently being stored in FIFO. 1 -- clear\\ 0 -- no effect
\end{small} \end{small}
\item \begin{small} \item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined \textbf{Unimplemented bits}: write as '0', read undefined
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="316.84351" width="302.68109"
height="137.04678" height="130.83073"
id="svg2" id="svg2"
version="1.1" version="1.1"
inkscape:version="0.48.3.1 r9886" inkscape:version="0.48.3.1 r9886"
...@@ -67,9 +67,9 @@ ...@@ -67,9 +67,9 @@
borderopacity="1.0" borderopacity="1.0"
inkscape:pageopacity="0.0" inkscape:pageopacity="0.0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="2.8284271" inkscape:zoom="2"
inkscape:cx="254.17917" inkscape:cx="25.670243"
inkscape:cy="-5.5751353" inkscape:cy="-97.576783"
inkscape:document-units="px" inkscape:document-units="px"
inkscape:current-layer="layer1" inkscape:current-layer="layer1"
showgrid="true" showgrid="true"
...@@ -94,8 +94,8 @@ ...@@ -94,8 +94,8 @@
units="mm" units="mm"
spacingx="0.25mm" spacingx="0.25mm"
spacingy="0.25mm" spacingy="0.25mm"
originx="-65.967777mm" originx="-67.217779mm"
originy="-197.35888mm" /> originy="-199.60888mm" />
</sodipodi:namedview> </sodipodi:namedview>
<metadata <metadata
id="metadata7"> id="metadata7">
...@@ -113,47 +113,19 @@ ...@@ -113,47 +113,19 @@
inkscape:label="Layer 1" inkscape:label="Layer 1"
inkscape:groupmode="layer" inkscape:groupmode="layer"
id="layer1" id="layer1"
transform="translate(-233.74409,-216.01222)"> transform="translate(-238.17323,-214.25582)">
<path <path
style="fill:none;stroke:#cccccc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8, 4;stroke-dashoffset:1.8" style="fill:none;stroke:#cccccc;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8, 4;stroke-dashoffset:13"
d="m 234.74409,310.92512 314.84351,0" d="m 239.17323,310.92512 265.74803,1.77165 0,-97.44095"
id="path4226" id="path4226"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" /> sodipodi:nodetypes="ccc" />
<path <path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)" style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
d="m 270.17716,244.48812 76.1811,0" d="m 270.17716,244.48812 76.1811,0"
id="path8077" id="path8077"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" /> sodipodi:nodetypes="cc" />
<rect
y="232.97237"
x="509.35034"
height="53.14962"
width="13.287388"
id="rect5794"
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<rect
y="232.97237"
x="522.6377"
height="53.14962"
width="13.287388"
id="rect5796"
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<rect
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect5798"
width="13.287388"
height="53.14962"
x="535.92511"
y="232.97237" />
<rect
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect6253"
width="13.287388"
height="53.14962"
x="496.06299"
y="232.97237" />
<rect <rect
style="fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" style="fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect6758" id="rect6758"
...@@ -185,18 +157,6 @@ ...@@ -185,18 +157,6 @@
x="270.17715" x="270.17715"
id="tspan5173" id="tspan5173"
sodipodi:role="line">White Rabbit time valid</tspan></text> sodipodi:role="line">White Rabbit time valid</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="516.43695"
y="220.57082"
id="text5986"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="516.43695"
y="220.57082"
style="font-size:6px;text-align:center;text-anchor:middle"
id="tspan4215">Head</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
...@@ -389,68 +349,6 @@ ...@@ -389,68 +349,6 @@
x="468.49564" x="468.49564"
sodipodi:role="line">SR</tspan></text> sodipodi:role="line">SR</tspan></text>
</g> </g>
<text
sodipodi:linespacing="125%"
id="text3220"
y="261.31885"
x="502.70523"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"
inkscape:transform-center-x="10.430045"
inkscape:transform-center-y="5.4426046"><tspan
style="font-size:6px;font-weight:normal;text-align:center;text-anchor:middle"
y="261.31885"
x="502.70523"
id="tspan3222"
sodipodi:role="line">0</tspan></text>
<text
inkscape:transform-center-y="5.4426046"
inkscape:transform-center-x="10.430045"
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="515.86072"
y="261.31885"
id="text3224"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3226"
x="515.86072"
y="261.31885"
style="font-size:6px;font-weight:normal;text-align:center;text-anchor:middle">1</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3228"
y="261.31885"
x="542.41498"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"
inkscape:transform-center-x="10.430051"
inkscape:transform-center-y="5.4426046"><tspan
style="font-size:6px;font-weight:normal;text-align:center;text-anchor:middle"
y="261.31885"
x="542.41498"
id="tspan3230"
sodipodi:role="line">128</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3232"
y="261.31885"
x="529.2843"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"
inkscape:transform-center-x="10.430045"
inkscape:transform-center-y="5.4425989"><tspan
style="font-size:6px;font-weight:normal;text-align:center;text-anchor:middle"
y="261.31885"
x="529.2843"
id="tspan3234"
sodipodi:role="line">...</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
d="m 516.43701,221.45663 0,7.08661"
id="path4220"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<rect <rect
y="326.87" y="326.87"
x="367.6181" x="367.6181"
...@@ -469,7 +367,7 @@ ...@@ -469,7 +367,7 @@
y="333.9566" y="333.9566"
x="381.07394" x="381.07394"
sodipodi:role="line" sodipodi:role="line"
id="tspan4825">TFLR</tspan></text> id="tspan4825">TVLR</tspan></text>
<path <path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)" style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
d="m 451.77165,271.06292 0,64.66535 18.60236,0" d="m 451.77165,271.06292 0,64.66535 18.60236,0"
...@@ -496,86 +394,6 @@ ...@@ -496,86 +394,6 @@
x="416.33856" x="416.33856"
y="284.35031" y="284.35031"
style="font-size:6px;text-align:start;text-anchor:start">TAI time</tspan></text> style="font-size:6px;text-align:start;text-anchor:start">TAI time</tspan></text>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4844"
d="m 516.43701,286.12198 0,31.88976"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)" />
<g
id="g4197"
transform="translate(0,18.602379)">
<rect
y="302.95267"
x="501.37796"
height="31.003952"
width="35.433067"
id="rect4827"
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<path
inkscape:connector-curvature="0"
id="path4858"
d="m 501.37796,310.0393 35.43307,0"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
inkscape:connector-curvature="0"
id="path4864"
d="m 501.37796,318.01174 35.43307,0"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
inkscape:connector-curvature="0"
id="path4868"
d="m 501.37796,325.98418 35.43307,0"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<text
sodipodi:linespacing="125%"
id="text4870"
y="309.15347"
x="519.19116"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:6px;text-align:center;text-anchor:middle"
y="309.15347"
x="519.19116"
id="tspan4872"
sodipodi:role="line">TFMR</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="519.19116"
y="316.24008"
id="text4874"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4876"
x="519.19116"
y="316.24008"
style="font-size:6px;text-align:center;text-anchor:middle">TFCYR</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4878"
y="324.21252"
x="519.19116"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:6px;text-align:center;text-anchor:middle"
y="324.21252"
x="519.19116"
id="tspan4880"
sodipodi:role="line">TFTLR</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="519.19116"
y="332.18497"
id="text4882"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4884"
x="519.19116"
y="332.18497"
style="font-size:6px;text-align:center;text-anchor:middle">TFTHR</tspan></text>
</g>
<path <path
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
id="path4890" id="path4890"
...@@ -593,27 +411,31 @@ ...@@ -593,27 +411,31 @@
sodipodi:role="line" sodipodi:role="line"
x="381.07394" x="381.07394"
y="342.81488" y="342.81488"
style="font-size:6px;text-align:center;text-anchor:middle">TFHR</tspan></text> style="font-size:6px;text-align:center;text-anchor:middle">TVHR</tspan></text>
<rect <g
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" id="g3876"
id="rect5604" transform="translate(0,0.88579413)">
width="6.2007871" <rect
height="15.059055" transform="matrix(0,-1,1,0,0,0)"
x="-314.46844" y="443.79922"
y="443.79922" x="-314.46844"
transform="matrix(0,-1,1,0,0,0)" /> height="15.059055"
<text width="6.2007871"
sodipodi:linespacing="125%" id="rect5604"
id="text5606" style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
y="312.17776" <text
x="446.06168" xml:space="preserve"
style="font-size:20.85194778px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" style="font-size:20.85194778px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:4.5999999px"
y="312.17776"
x="446.06168" x="446.06168"
id="tspan5608" y="312.17776"
sodipodi:role="line">sync</tspan></text> id="text5606"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan5608"
x="446.06168"
y="312.17776"
style="font-size:4.5999999px">sync</tspan></text>
</g>
<text <text
sodipodi:linespacing="125%" sodipodi:linespacing="125%"
id="text4240" id="text4240"
...@@ -638,5 +460,37 @@ ...@@ -638,5 +460,37 @@
y="307.38181" y="307.38181"
style="font-size:16px;font-weight:bold;text-align:end;text-anchor:end;fill:#cccccc;fill-opacity:1" style="font-size:16px;font-weight:bold;text-align:end;text-anchor:end;fill:#cccccc;fill-opacity:1"
id="tspan4246">125 MHz</tspan></text> id="tspan4246">125 MHz</tspan></text>
<rect
y="232.97237"
x="496.06299"
height="66.437027"
width="44.29134"
id="rect3074"
style="fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<g
transform="translate(76.872936,-61.429516)"
id="g3076">
<g
transform="translate(-19.931093,21.508793)"
id="g3078">
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="460.86642"
y="303.58963"
id="text3080"
sodipodi:linespacing="125%"><tspan
id="tspan3084"
sodipodi:role="line"
x="460.86642"
y="303.58963"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle">Ring</tspan><tspan
sodipodi:role="line"
x="460.86642"
y="316.08963"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle"
id="tspan3088">buffer</tspan></text>
</g>
</g>
</g> </g>
</svg> </svg>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="515.67535" width="515.67535"
height="386.33466" height="342.0433"
id="svg3221" id="svg3221"
version="1.1" version="1.1"
inkscape:version="0.48.3.1 r9886" inkscape:version="0.48.3.1 r9886"
...@@ -67,9 +67,9 @@ ...@@ -67,9 +67,9 @@
borderopacity="1.0" borderopacity="1.0"
inkscape:pageopacity="0.0" inkscape:pageopacity="0.0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:zoom="3.959798" inkscape:zoom="2.8"
inkscape:cx="299.46018" inkscape:cx="341.71695"
inkscape:cy="100.84137" inkscape:cy="92.945084"
inkscape:document-units="px" inkscape:document-units="px"
inkscape:current-layer="layer1" inkscape:current-layer="layer1"
showgrid="true" showgrid="true"
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
spacingx="0.25mm" spacingx="0.25mm"
spacingy="0.25mm" spacingy="0.25mm"
originx="-43.042525mm" originx="-43.042525mm"
originy="-181.10889mm" /> originy="-193.60889mm" />
</sodipodi:namedview> </sodipodi:namedview>
<metadata <metadata
id="metadata3226"> id="metadata3226">
...@@ -113,13 +113,7 @@ ...@@ -113,13 +113,7 @@
inkscape:label="Layer 1" inkscape:label="Layer 1"
inkscape:groupmode="layer" inkscape:groupmode="layer"
id="layer1" id="layer1"
transform="translate(-152.51288,-24.303127)"> transform="translate(-152.51288,-24.303135)">
<path
sodipodi:nodetypes="cccc"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#TriangleOutM);marker-end:none"
d="m 285.23622,365.84643 228.5433,0 0,-16.83071 8.85827,0"
id="path4846"
inkscape:connector-curvature="0" />
<rect <rect
style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0.8" style="fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0.8"
id="rect3160" id="rect3160"
...@@ -142,11 +136,11 @@ ...@@ -142,11 +136,11 @@
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#TriangleOutM);marker-end:url(#TriangleOutS)" style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#TriangleOutM);marker-end:url(#TriangleOutS)"
sodipodi:nodetypes="cc" /> sodipodi:nodetypes="cc" />
<path <path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
d="m 456.20078,330.41336 23.69587,0 33.88287,0 0,12.40157 8.85827,0" d="m 456.20078,330.41336 94.78347,10e-6"
id="path4534" id="path4534"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" /> sodipodi:nodetypes="cc" />
<path <path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 290.4005,302.1811 -16.83071,0 0,4.42914 0,4.42913 12.40158,0" d="m 290.4005,302.1811 -16.83071,0 0,4.42914 0,4.42913 12.40158,0"
...@@ -281,20 +275,20 @@ ...@@ -281,20 +275,20 @@
id="tspan4075">counter</tspan></text> id="tspan4075">counter</tspan></text>
<path <path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 367.61811,131.10234 4.42913,0 0,51.37795 17.71654,0" d="m 367.61811,131.10234 8.85826,0 0,51.37795 13.28741,0"
id="path4077" id="path4077"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" /> sodipodi:nodetypes="cccc" />
<text <text
sodipodi:linespacing="125%" sodipodi:linespacing="125%"
id="text4106" id="text4106"
y="395.96457" y="347.24411"
x="260.43307" x="260.43307"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan xml:space="preserve"><tspan
id="tspan4110" id="tspan4110"
style="font-size:12px;font-weight:normal;text-align:end;line-height:125%;text-anchor:end" style="font-size:12px;font-weight:normal;text-align:end;line-height:125%;text-anchor:end"
y="395.96457" y="347.24411"
x="260.43307" x="260.43307"
sodipodi:role="line">clk125</tspan></text> sodipodi:role="line">clk125</tspan></text>
<path <path
...@@ -523,14 +517,14 @@ ...@@ -523,14 +517,14 @@
xml:space="preserve" xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans" style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="559.84253" x="559.84253"
y="349.90155" y="334.8425"
id="text4536" id="text4536"
sodipodi:linespacing="125%"><tspan sodipodi:linespacing="125%"><tspan
sodipodi:role="line" sodipodi:role="line"
x="559.84253" x="559.84253"
y="349.90155" y="334.8425"
style="font-size:12px;font-weight:normal;text-align:start;line-height:125%;text-anchor:start" style="font-size:12px;font-weight:normal;text-align:start;line-height:125%;text-anchor:start"
id="tspan4538">fifo_wr_req_p_o</tspan></text> id="tspan4538">buf_wr_req_p_o</tspan></text>
<text <text
sodipodi:linespacing="125%" sodipodi:linespacing="125%"
id="text4542" id="text4542"
...@@ -611,19 +605,19 @@ ...@@ -611,19 +605,19 @@
<rect <rect
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect4560" id="rect4560"
width="265.74802" width="265.30508"
height="385.33466" height="341.0433"
x="283.9075" x="283.9075"
y="24.803135" /> y="24.803135" />
<path <path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 283.90748,383.56297 14.17323,8.85827 -14.17323,8.85826" d="m 283.90748,334.84251 14.17323,8.85827 -14.17323,8.85826"
id="path5430" id="path5430"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" /> sodipodi:nodetypes="ccc" />
<path <path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 262.20472,392.42123 21.25984,0" d="m 262.20472,343.70077 21.25984,0"
id="path5432" id="path5432"
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<g <g
...@@ -918,38 +912,5 @@ ...@@ -918,38 +912,5 @@
x="330.29565" x="330.29565"
y="318.01178" y="318.01178"
style="font-size:12px;font-weight:normal;text-align:center;line-height:125%;text-anchor:middle;fill:#808080;fill-opacity:1">sync.</tspan></text> style="font-size:12px;font-weight:normal;text-align:center;line-height:125%;text-anchor:middle;fill:#808080;fill-opacity:1">sync.</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="278.1496"
y="370.27557"
id="text3126"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="278.1496"
y="370.27557"
style="font-size:12px;font-weight:normal;text-align:end;line-height:125%;text-anchor:end"
id="tspan3128">fifo_full_i</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
d="m 535.03937,345.93436 15.94488,0"
id="path5408"
inkscape:connector-curvature="0" />
<path
style="fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 520.86614,339.27163 0,13.32546 c 7.08661,-0.0381 14.17323,-0.0381 14.17323,-6.66273 0,-6.66273 -7.08662,-6.66273 -14.17323,-6.66273 z"
id="path5406"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
sodipodi:type="arc"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path5601"
sodipodi:cx="355.95169"
sodipodi:cy="320.28348"
sodipodi:rx="1.7716547"
sodipodi:ry="1.7716535"
d="m 357.72335,320.28348 a 1.7716547,1.7716535 0 1 1 -3.54331,0 1.7716547,1.7716535 0 1 1 3.54331,0 z"
transform="translate(163.14279,28.732262)" />
</g> </g>
</svg> </svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="197"
height="111"
id="svg3130"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="timetag-ring-buf.svg">
<defs
id="defs3132">
<marker
inkscape:stockid="TriangleOutM"
orient="auto"
refY="0"
refX="0"
id="TriangleOutM"
style="overflow:visible">
<path
id="path4211"
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="scale(0.4,0.4)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="TriangleOutM"
orient="auto"
refY="0"
refX="0"
id="marker3080"
style="overflow:visible">
<path
id="path3082"
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="scale(0.4,0.4)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="TriangleOutM"
orient="auto"
refY="0"
refX="0"
id="marker3084"
style="overflow:visible">
<path
id="path3086"
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="scale(0.4,0.4)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="TriangleOutM"
orient="auto"
refY="0"
refX="0"
id="marker3088"
style="overflow:visible">
<path
id="path3090"
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="scale(0.4,0.4)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="TriangleOutM"
orient="auto"
refY="0"
refX="0"
id="marker3092"
style="overflow:visible">
<path
id="path3094"
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="scale(0.4,0.4)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="TriangleOutM"
orient="auto"
refY="0"
refX="0"
id="marker3096"
style="overflow:visible">
<path
id="path3098"
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="scale(0.4,0.4)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="TriangleOutM"
orient="auto"
refY="0"
refX="0"
id="marker3100"
style="overflow:visible">
<path
id="path3102"
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="scale(0.4,0.4)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="135.67931"
inkscape:cy="82.820703"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1855"
inkscape:window-height="1176"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0">
<inkscape:grid
type="xygrid"
id="grid3138"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
originx="-248.5px"
originy="-709.5px" />
</sodipodi:namedview>
<metadata
id="metadata3135">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-248.5,-231.86218)">
<rect
style="fill:none;stroke:#cccccc;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:6, 6;stroke-dashoffset:0"
id="rect4119"
width="40"
height="75.000031"
x="327.5"
y="232.36218" />
<rect
y="232.36218"
x="377.5"
height="74.999992"
width="67.5"
id="rect4129"
style="fill:none;stroke:#cccccc;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:6, 6;stroke-dashoffset:0" />
<path
style="fill:none;stroke:#cccccc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:18, 6;stroke-dashoffset:25.8"
d="m 250,327.36218 97.5,0 0,-85"
id="path4226"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<rect
y="249.86218"
x="400.78735"
height="53.14962"
width="13.287388"
id="rect5794"
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<rect
y="249.86218"
x="414.07471"
height="53.14962"
width="13.287388"
id="rect5796"
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<rect
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect5798"
width="13.287388"
height="53.14962"
x="427.36212"
y="249.86218" />
<rect
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect6253"
width="13.287388"
height="53.14962"
x="387.5"
y="249.86218" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="250"
y="262.97513"
id="text5992"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan5994"
x="250"
y="262.97513"
style="font-size:6px;text-align:start;text-anchor:start">Trigger channel</tspan></text>
<text
sodipodi:linespacing="125%"
id="text6033"
y="271.8334"
x="250"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"
inkscape:transform-center-x="10.430045"
inkscape:transform-center-y="5.4426047"><tspan
style="font-size:6px;text-align:start;text-anchor:start"
y="271.8334"
x="250"
id="tspan6035"
sodipodi:role="line">TAI time</tspan></text>
<text
inkscape:transform-center-y="5.4426046"
inkscape:transform-center-x="10.430045"
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="250"
y="280.69165"
id="text7512"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan7514"
x="250"
y="280.69165"
style="font-size:6px;text-align:start;text-anchor:start">Cycles time</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#TriangleOutM)"
d="m 250,265.63264 132.5,0"
id="path4223"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
d="m 250,274.49091 132.5,0"
id="path5155"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
d="m 250,283.34917 132.5,0"
id="path5157"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
sodipodi:linespacing="125%"
id="text5159"
y="289.54993"
x="250"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:6px;text-align:start;text-anchor:start"
y="289.54993"
x="250"
id="tspan5161"
sodipodi:role="line">White Rabbit time valid</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
d="m 250,292.20744 132.5,0"
id="path5163"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
sodipodi:linespacing="125%"
id="text3220"
y="278.20865"
x="394.14224"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"
inkscape:transform-center-x="10.430045"
inkscape:transform-center-y="5.4426046"><tspan
style="font-size:6px;font-weight:normal;text-align:center;text-anchor:middle"
y="278.20865"
x="394.14224"
id="tspan3222"
sodipodi:role="line">0</tspan></text>
<text
inkscape:transform-center-y="5.4426046"
inkscape:transform-center-x="10.430045"
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="407.29773"
y="278.20865"
id="text3224"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3226"
x="407.29773"
y="278.20865"
style="font-size:6px;font-weight:normal;text-align:center;text-anchor:middle">1</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3228"
y="278.20865"
x="433.85199"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"
inkscape:transform-center-x="10.430051"
inkscape:transform-center-y="5.4426046"><tspan
style="font-size:6px;font-weight:normal;text-align:center;text-anchor:middle"
y="278.20865"
x="433.85199"
id="tspan3230"
sodipodi:role="line">128</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3232"
y="278.20865"
x="420.72131"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"
inkscape:transform-center-x="10.430045"
inkscape:transform-center-y="5.4425989"><tspan
style="font-size:6px;font-weight:normal;text-align:center;text-anchor:middle"
y="278.20865"
x="420.72131"
id="tspan3234"
sodipodi:role="line">...</tspan></text>
<g
id="g4113">
<rect
ry="0"
rx="0"
style="fill:#fcfcfc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect3293"
width="20.000011"
height="53.14962"
x="337.5"
y="249.86218" />
<path
inkscape:connector-curvature="0"
id="path4105"
d="m 342.5,249.86218 0,52.5"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 347.5,249.86218 0,52.5"
id="path4107"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path4109"
d="m 352.5,249.86218 0,52.5"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="347.5"
y="239.86218"
id="text4121"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="347.5"
y="239.86218"
id="tspan4125"
style="font-size:6px;font-weight:bold;text-align:center;text-anchor:middle;fill:#cccccc;fill-opacity:1">Sync. FIFO</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4131"
y="239.86218"
x="412.5"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-size:6px;font-weight:bold;text-align:center;text-anchor:middle;fill:#cccccc;fill-opacity:1"
id="tspan4133"
y="239.86218"
x="412.5"
sodipodi:role="line">Buffer RAM</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4240"
y="342.36218"
x="327.5"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
id="tspan4242"
style="font-size:16px;font-weight:bold;text-align:end;text-anchor:end;fill:#cccccc;fill-opacity:1"
y="342.36218"
x="327.5"
sodipodi:role="line">20 MHz</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="327.5"
y="322.36218"
id="text4244"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="327.5"
y="322.36218"
style="font-size:16px;font-weight:bold;text-align:end;text-anchor:end;fill:#cccccc;fill-opacity:1"
id="tspan4246">125 MHz</tspan></text>
<rect
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="rect3053"
width="52.5"
height="20"
x="387.5"
y="322.36218" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="413.85547"
y="330.24402"
id="text3865"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="413.85547"
y="330.24402"
id="tspan3867"
style="font-size:6px;font-weight:bold;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1">Control</tspan><tspan
sodipodi:role="line"
x="413.85547"
y="337.74402"
style="font-size:6px;font-weight:bold;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1"
id="tspan3869">logic</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="145.20943"
y="102.38651"
id="text4088"
sodipodi:linespacing="125%"
transform="translate(240.5,214.36218)"><tspan
sodipodi:role="line"
id="tspan4090"
x="145.20943"
y="102.38651" /></text>
<g
id="g4106"
transform="translate(1.25,0)">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3890"
d="m 405,322.36218 0,-10"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3100)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3100)"
d="m 420,322.36218 0,-10"
id="path4086"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3100)"
d="m 412.5,322.36218 0,-10"
id="path4104"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
</g>
</svg>
...@@ -66,6 +66,8 @@ ...@@ -66,6 +66,8 @@
14-02-2014 & 2.00 & Version 2.0 of gateware, with diagnostics support including: unique board ID 14-02-2014 & 2.00 & Version 2.0 of gateware, with diagnostics support including: unique board ID
and temperature readout, input pulse counters, pulse time-tagging and and temperature readout, input pulse counters, pulse time-tagging and
manual pulse triggering. \\ manual pulse triggering. \\
26-03-2014 & 2.10 & Version 2.1 of gateware, bringing down the max. allowed pulse frequency
to 1.6~kHz and changing the pulse timetag FIFO for a timetag buffer\\
\hline \hline
\end{tabular} \end{tabular}
} }
...@@ -91,6 +93,7 @@ IC & Integrated Circuit \\ ...@@ -91,6 +93,7 @@ IC & Integrated Circuit \\
I$^2$C & Inter-Integrated Circuit (bus) \\ I$^2$C & Inter-Integrated Circuit (bus) \\
PLL & Phase-Locked Loop \\ PLL & Phase-Locked Loop \\
RTM & Rear-Transition Module \\ RTM & Rear-Transition Module \\
RAM & Random-Access Memory \\
SPI & Serial Peripheral Interface \\ SPI & Serial Peripheral Interface \\
SysMon & (ELMA) System Montior \\ SysMon & (ELMA) System Montior \\
VCXO & Voltage-controlled oscillator \\ VCXO & Voltage-controlled oscillator \\
...@@ -482,8 +485,9 @@ selection signals to these multiplexers are set throughout the logic. ...@@ -482,8 +485,9 @@ selection signals to these multiplexers are set throughout the logic.
{ {
\begin{tabular}{l l l} \begin{tabular}{l l l}
\hline \hline
\textbf{Entity} & \textit{conv\_pulse\_gen} & \\ \textbf{Entity} & \textit{ctblo\_pulse\_gen} & \\
\textbf{Generics} & \textit{g\_pwidth} & Width of the output pulse in \textit{clk\_i} cycles \\ \textbf{Generics} & \textit{g\_pwidth} & Width of the output pulse in \textit{clk\_i} cycles \\
& \textit{g\_duty\_cycle\_div} & Duty cycle divider ratio \\
\textbf{Ports} & \textit{clk\_i} & Clock signal \\ \textbf{Ports} & \textit{clk\_i} & Clock signal \\
& \textit{rst\_n\_i} & Active-low reset signal \\ & \textit{rst\_n\_i} & Active-low reset signal \\
& \textit{en\_i} & Pulse generator enable \\ & \textit{en\_i} & Pulse generator enable \\
...@@ -567,7 +571,8 @@ state of the rising-edge detector on the FSM input. ...@@ -567,7 +571,8 @@ state of the rising-edge detector on the FSM input.
After the pulse generation period, the FSM goes into a pulse rejection state, After the pulse generation period, the FSM goes into a pulse rejection state,
where the pulse reset is kept high. If any pulses arrive on the input while the FSM where the pulse reset is kept high. If any pulses arrive on the input while the FSM
is in this rejection state, they are not replicated at the output. The pulse rejection is in this rejection state, they are not replicated at the output. The pulse rejection
phase lasts for 4*\textit{g\_pwidth}, yielding a maximum duty cycle of 1/5 for input pulses. phase lasts for \textit{g\_duty\_cycle\_div}*\textit{g\_pwidth}, yielding a maximum duty
cycle of 1/\textit{g\_duty\_cycle\_div} for input pulses.
Note that due to the fact that the counter starts counting up from zero and delays Note that due to the fact that the counter starts counting up from zero and delays
in the glitch filter when it is enabled, the maximum value of the internal counter is not in the glitch filter when it is enabled, the maximum value of the internal counter is not
...@@ -731,94 +736,103 @@ state (Figure~\ref{fig:man-trig-fsm}). ...@@ -731,94 +736,103 @@ state (Figure~\ref{fig:man-trig-fsm}).
\section{Pulse time-tagging} \section{Pulse time-tagging}
\label{sec:timetag} \label{sec:timetag}
\centerline The time-tagging architecture is shown in Figure~\ref{fig:timetag-arch}. There are two
{ clock domains in the design. The time-tag controller and the time from the WRPC are both
\begin{tabular}{l l p{.5\textwidth}} in the 125~MHz clock domain, while the ring buffer is in both the 20~MHz clock domain and
\hline the 125~MHz clock domain.
\textbf{Entity} & \textit{pulse\_timetag} & \\
\textbf{Generics} & \textit{g\_clk\_rate} & Frequency in Hz of \textit{clk\_i} signal \\
& \textit{g\_nr\_chan} & Pulse repeater number of channels \\
\textbf{Ports} & \textit{clk\_i} & Clock signal \\
& \textit{rst\_n\_i} & Active-low reset signal \\
& \textit{pulse\_a\_i} & Asynchronouse pulse input \\
& \textit{wr\_tm\_cycles\_i} & Cycles counter from WRPC \\
& \textit{wr\_tm\_tai\_i} & TAI seconds counter from WRPC \\
& \textit{wr\_tm\_valid\_i} & Time from WRPC is valid \\
& \textit{wb\_tm\_tai\_l\_i} & Lower bits of TAI time counter from register \\
& \textit{wb\_tm\_tai\_l\_ld\_i} & Lower bits register write \\
& \textit{wb\_tm\_tai\_h\_i} & Upper bits of TAI time counter from register \\
& \textit{wb\_tm\_tai\_h\_ld\_i} & Upper bits register write \\
& \textit{tm\_cycles\_o} & Cycles counter to FIFO \\
& \textit{tm\_tai\_o} & TAI seconds counter to FIFO \\
& \textit{tm\_wpres\_o} & Time from WRPC is valid \\
& \textit{chan\_o} & Trigger channel to FIFO \\
& \textit{fifo\_full\_i} & FIFO status input \\
& \textit{fifo\_wr\_req\_o} & FIFO write request output, max. four clock cycles
delay after pulse rising edge \\
\hline
\end{tabular}
}
\vspace*{11pt}
A simplified view of the time-tagging architecture is shown in Figure~\ref{fig:timetag-arch}.
There are two clock domains in the design. The time-tag controller and the time from the
WRPC are both in the 125~MHz clock domain, while the \textit{conv\_regs} component is in the
20~MHz clock domain. The FIFO is asynchronous and clocked by both the 125 and 20~MHz clocks.
\begin{figure}[h] \begin{figure}[h]
\centerline{\includegraphics[width=.9\textwidth]{fig/timetag-arch}} \centerline{\includegraphics[width=.9\textwidth]{fig/timetag-arch}}
\caption{Time-tag architecture} \caption{Pulse time-tagging architecture}
\label{fig:timetag-arch} \label{fig:timetag-arch}
\end{figure} \end{figure}
The time-tag controller in the figure is the \textit{pulse\_timetag} VHDL component. The timetag controller and ring buffer components are connected at the top-level. The outputs
It is designed to be connected directly to the FIFO as shown above.As opposed to what the of the ring buffer are connected directly to the \textit{conv\_regs} component at the top
simplified architecture above shows, the time-tag controller also implements the local time counters. level also.
The block's design is presented in Figure~\ref{fig:timetag-core}. This figure shows the functioning
when the \textit{pulse\_timetag} component is clocked from the 125~MHz clock, as is the case in the %======================================================================================
converter board designs. Note however that the component can work with any clock rate by changing % SUBSEC: Timetag controller
the \textit{g\_clk\_rate} generic. %======================================================================================
\subsection{Timetag controller}
\label{sec:timetag-ctrl}
The time-tag controller in Figure~\ref{fig:timetag-arch} is the \textit{conv\_pulse\_timetag}
VHDL component. It is designed to be connected directly to the ring buffer as shown above. As opposed
to what the simplified architecture above shows, the time-tag controller also implements the
local time counters.
\begin{figure}[h] \begin{figure}[h]
\centerline{\includegraphics[width=.9\textwidth]{fig/timetag-core}} \centerline{\includegraphics[width=\textwidth]{fig/timetag-core}}
\caption{Time-tag controller logic} \caption{Timetag controller logic}
\label{fig:timetag-core} \label{fig:timetag-core}
\end{figure} \end{figure}
The block's design is presented in Figure~\ref{fig:timetag-core}. This figure shows the functioning
when the \textit{conv\_pulse\_timetag} component is clocked from the 125~MHz clock, as is the case in the
converter board designs. Note however that the component can work with any clock rate by changing
the \textit{g\_clk\_rate} generic.
A free-running counter inside the block counts the ticks of the \textit{clk\_i} signal A free-running counter inside the block counts the ticks of the \textit{clk\_i} signal
to count the seconds. When it reaches the value \textit{g\_clk\_rate-1} (125~mega in to count the seconds. When it reaches the value \textit{g\_clk\_rate-1} (125~mega in
the figure), it resets and sends a "tick" to the TAI seconds counter, which then increments. the figure), it resets and sends a "tick" to the TAI seconds counter, which then increments.
As seen in Figure~\ref{fig:hdl-bd}, the pulse inputs are derived from the OR gate which As seen in Figure~\ref{fig:hdl-bd}, the pulse inputs are derived from the OR gate which
ORs together the TTL and blocking inputs. Since these pulses can be asynchronous, they ORs together the TTL and blocking inputs. Since these pulses can be asynchronous, they
are synchronized in the 125~MHz domain and passed through rising edge detectors. If the are synchronized in the 125~MHz domain and passed through rising edge detectors. A rising
FIFO is not full, a rising edge on any channel then triggers the edge on any pulse channel triggers the \textit{buf\_wr\_req\_p\_o} signal. As the port's
\textit{fifo\_wr\_req\_p\_o} output. As the port's name suggests, this signal is a one-cycle name suggests, the \textit{buf\_wr\_req\_p\_o} signal is a one-cycle pulse that triggers
pulse that triggers a write to the FIFO. a write to the ring buffer.
Note that due to the synchronization logic, rising edge detector and the latching of the All the output ports are connected externally directly to the ring buffer, therefore when the
ORed pulse rising edge detection signal, the \textit{fifo\_wr\_req\_p\_o} signal is \textit{buf\_wr\_req\_p\_o} output pulses, they are written to the ring buffer. As shown in
set between three and four cycles after the pulse signal actually arrives on the input.
All the output ports are connected externally directly to the FIFO, therefore when the
\textit{fifo\_wr\_req\_p\_o} output pulses, they are written to the FIFO. As shown in
Figure~\ref{fig:timetag-arch}, the \textit{tm\_wpres\_o} signal is also reflected in the Figure~\ref{fig:timetag-arch}, the \textit{tm\_wpres\_o} signal is also reflected in the
board status register (SR -- see Appendix~\ref{app:conv-regs-sr}). board status register (SR -- see Appendix~\ref{app:conv-regs-sr}).
The FIFO itself is generated using \textit{wbgen2}~\cite{wbgen2} and connected Note that due to the synchronization logic, rising edge detector and the latching of the
on the top-level to the \textit{pulse\_timetag} component. ORed pulse rising edge detection signal, the \textit{buf\_wr\_req\_p\_o} signal is
set between three and four cycles after the pulse signal actually arrives on the input.
Due to the two clock domains in the design, some synchronization logic is needed. This is Due to the two clock domains in the design, some synchronization logic is needed. This is
achieved via \textit{gc\_sync\_ffs} components from the \textit{general-cores} achieved via \textit{gc\_sync\_ffs} components from the \textit{general-cores}
library~\cite{gencores-ohwr} in the case of the WR time valid signals storage to the SR library~\cite{gencores-ohwr} in the case of the WR time valid signals storage to the SR
and in the case of the TAI time value load pulses from the \textit{conv\_regs} to the and in the case of the TAI time value load pulses from the \textit{conv\_regs} to the
\textit{pulse\_timetag} components. \textit{conv\_pulse\_timetag} components.
The TAI time signal is not synchronized before being connected to the \textit{conv\_regs} The TAI time signal is not synchronized before being connected to the \textit{conv\_regs}
component, since its rate of change of once per second is considered too slow to present component, since its rate of change of once per second is considered too slow to present
any problem of synchronization when read by the user. any problem of synchronization when read by the user.
%======================================================================================
% SUBSEC: Ring buffer
%======================================================================================
\subsection{Ring buffer}
\label{sec:timetag-ring-buf}
The mechanics of the ring buffer are presented in the \textbf{Ring buffer mechanics}
section of the CONV-TTL-BLO user guide~\cite{ctb-ug}. This section gives a few more details about the
implementation of the ring buffer, which can be found in the \textit{conv\_ring\_buf.vhd} file.
\begin{figure}
\centerline{\includegraphics[width=.8\textwidth]{fig/timetag-ring-buf}}
\caption{Ring buffer implementation}
\label{fig:timetag-ring-buf}
\end{figure}
A high-level view of the implementation is shown in Figure~\ref{fig:timetag-ring-buf}.
This figure is oriented towards the converter board designs, but the ring buffer is
generic and can be used in other designs by properly instantiating it.
The ring buffer is implemented via a dual-clock, asynchronous FIFO, whose purpose is to
synchronize data between the read and write clock domains, a dual-port RAM clocked
with the read clock, and control logic for the buffer RAM. In the case of the converter
board designs, the write clock is the 125~MHz clock and the read clock is the 20~MHz clock.
The buffer control logic controls when the read and write pointers get incremented and
when the empty and full signals are set. The setting of the empty and full signals are
based on a buffer count signal, which gets incremented when a write is performed and the
buffer is not full, and decremented when a read is performed and the buffer is not empty.
%====================================================================================== %======================================================================================
% SEC: Folder structure % SEC: Folder structure
%====================================================================================== %======================================================================================
...@@ -879,10 +893,10 @@ The folder structure for the project is presented below. ...@@ -879,10 +893,10 @@ The folder structure for the project is presented below.
\item Release/ \item Release/
\begin{itemize} \begin{itemize}
\item conv\_man\_trig.vhd \item conv\_man\_trig.vhd
\item conv\_pulse\_gen.vhd
\item conv\_regs.vhd \item conv\_regs.vhd
\item conv\_regs.wb \item conv\_regs.wb
\item pulse\_timetag.vhd \item conv\_pulse\_timetag.vhd
\item ctblo\_pulse\_gen.vhd
\end{itemize} \end{itemize}
\item pulsetest/ \item pulsetest/
\begin{itemize} \begin{itemize}
......
...@@ -6,7 +6,7 @@ Base address: 0x040 ...@@ -6,7 +6,7 @@ Base address: 0x040
\rowcolors{2}{white}{gray!25} \rowcolors{2}{white}{gray!25}
\begin{longtable}{l l l p{.5\textwidth}} \begin{longtable}{l l l p{.5\textwidth}}
\hline \hline
\textbf{Offset} & \textbf{Default} & \textbf{Name} \textbf{Offset} & \textbf{Reset} & \textbf{Name}
& \textbf{Description} \\ & \textbf{Description} \\
\hline \hline
\endfirsthead \endfirsthead
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment