Commit f604eada authored by Theodor-Adrian Stana's avatar Theodor-Adrian Stana

doc: Updated user guide

- added pulse time-tagging
- moved glitch filter to outside the PG block in the pulse-rep figure
- updated the memory map and made it prettier
Signed-off-by: Theodor-Adrian Stana's avatarTheodor Stana <t.stana@cern.ch>
parent 43b0af13
......@@ -9,7 +9,7 @@
\noindent \rule{\textwidth}{.1cm}
\hfill February 5, 2013
\hfill February 14, 2013
\vspace*{3cm}
......
\subsection{Converter board registers}
\label{app:conv-regs}
Base address: 0x000
{
\rowcolors{2}{white}{gray!25}
\begin{longtable}{l l l p{.45\textwidth}}
\hline
\textbf{Offset} & \textbf{Default} & \textbf{Name}
& \textbf{Description} \\
\hline
\endfirsthead
\hline
\hline
\endhead
\hline
\endfoot
0x0 & 0x54424c4f & BIDR & Board ID Register\\
0x4 & Undefined (1) & SR & Status Register\\
0x8 & 0x00000000 & CR & Control Register\\
0xc & 0x00000000 & CH1PCR & Channel 1 Pulse Counter Register\\
0x10 & 0x00000000 & CH2PCR & Channel 2 Pulse Counter Register\\
0x14 & 0x00000000 & CH3PCR & Channel 3 Pulse Counter Register\\
0x18 & 0x00000000 & CH4PCR & Channel 4 Pulse Counter Register\\
0x1c & 0x00000000 & CH5PCR & Channel 5 Pulse Counter Register\\
0x20 & 0x00000000 & CH6PCR & Channel 6 Pulse Counter Register\\
0x24 & 0x00000000 & TVLR & Time Value Low Register\\
0x28 & 0x00000000 & TVHR & Time Value High Register\\
0x2c & 0x00000000 & TFMR & Tag FIFO Meta Register\\
0x30 & 0x00000000 & TFCYR & Tag FIFO Cycles Register \\
0x34 & 0x00000000 & TFTLR & Tag FIFO TAI Low Register \\
0x38 & 0x00000000 & TFTHR & Tag FIFO TAI High Register \\
0x3c & 0x00020000 & TFCSR & Tag FIFO Control and Status Register \\
\end{longtable}
}
\noindent Note 1: The SR is undefined on startup due to the fact that the
gateware version, switches and RTM fields may have different values.
\vspace{11pt}
\subsubsection{BIDR -- Board ID Register}
\label{app:conv-regs-bidr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
BITS
} [\emph{read-only}]: ID register bits
\\
Reset value: 0x54424c4f
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{SR -- Status Register}
\label{app:conv-regs-sr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{1}{|c|}{\cellcolor{gray!25}WRPRES} & \multicolumn{1}{|c|}{\cellcolor{gray!25}I2C\_WDTO} & \multicolumn{6}{|c|}{\cellcolor{gray!25}RTM[5:0]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}SWITCHES[7:0]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}GWVERS[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
GWVERS
} [\emph{read-only}]: Gateware version
\\
Leftmost nibble hex value is major release decimal value \\ Rightmost nibble hex value is minor release decimal value \\ e.g. \\ 0x11 -- v1.1 \\ 0x1e -- v1.14 \\ 0x20 -- v2.0
\end{small}
\item \begin{small}
{\bf
SWITCHES
} [\emph{read-only}]: Status of on-board switches
\\
0 -- switch is ON \\ 1 -- switch is OFF \\ bit 0 -- SW1.1 \\ bit 1 -- SW1.2 \\ ... \\ bit 4 -- SW2.1 \\ ... \\ bit 7 -- SW2.4
\end{small}
\item \begin{small}
{\bf
RTM
} [\emph{read-only}]: RTM detection lines~\cite{rtm-det}
\\
0 -- line active \\ 1 -- line inactive
\end{small}
\item \begin{small}
{\bf
I2C\_WDTO
} [\emph{read/write}]: Communication watchdog timer status
\\
1 -- timeout occured \\ 0 -- no timeout \\ This bit can be cleared by writing a '1' to it
\end{small}
\item \begin{small}
{\bf
WRPRES
} [\emph{read-only}]: White Rabbit present
\\
1 -- White Rabbit present \\ 0 -- White Rabbit not present
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{CR -- Control Register}
\label{app:conv-regs-cr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & \multicolumn{2}{|c|}{\cellcolor{gray!25}MPT[7:6]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{6}{|c|}{\cellcolor{gray!25}MPT[5:0]} & \multicolumn{1}{|c|}{\cellcolor{gray!25}RST} & \multicolumn{1}{|c|}{\cellcolor{gray!25}RST\_UNLOCK}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
RST\_UNLOCK
} [\emph{read/write}]: Reset unlock bit
\\
1 - Reset bit unlocked \\ 0 - Reset bit locked
\end{small}
\item \begin{small}
{\bf
RST
} [\emph{read/write}]: Reset bit
\\
1 - initiate logic reset \\ 0 - no reset
\end{small}
\item \begin{small}
{\bf
MPT
} [\emph{write-only}]: Manual Pulse Trigger
\\
Write the following sequence to trigger a pulse: \\ 0xde -- Byte 1 of magic sequence \\ 0xad -- Byte 2 of magic sequence \\ 0xbe -- Byte 3 of magic sequence \\ 0xef -- Byte 4 of magic sequence \\ Number in range 1..6 -- trigger a pulse
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{CH1PCR -- Channel 1 Pulse Counter Register}
\label{app:conv-regs-ch1pcr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH1PCR[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH1PCR[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH1PCR[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH1PCR[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
CH1PCR
} [\emph{read/write}]: Pulse counter value
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{CH2PCR -- Channel 2 Pulse Counter Register}
\label{app:conv-regs-ch2pcr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH2PCR[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH2PCR[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH2PCR[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH2PCR[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
CH2PCR
} [\emph{read/write}]: Pulse counter value
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{CH3PCR -- Channel 3 Pulse Counter Register}
\label{app:conv-regs-ch3pcr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH3PCR[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH3PCR[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH3PCR[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH3PCR[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
CH3PCR
} [\emph{read/write}]: Pulse counter value
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{CH4PCR -- Channel 4 Pulse Counter Register}
\label{app:conv-regs-ch4pcr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH4PCR[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH4PCR[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH4PCR[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH4PCR[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
CH4PCR
} [\emph{read/write}]: Pulse counter value
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{CH5PCR -- Channel 5 Pulse Counter Register}
\label{app:conv-regs-ch5pcr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH5PCR[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH5PCR[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH5PCR[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH5PCR[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
CH5PCR
} [\emph{read/write}]: Pulse counter value
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{CH6PCR -- Channel 6 Pulse Counter Register}
\label{app:conv-regs-ch6pcr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH6PCR[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH6PCR[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH6PCR[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CH6PCR[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
CH6PCR
} [\emph{read/write}]: Pulse counter value
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{TVLR -- Time Value Low Register}
\label{app:conv-regs-tvlr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TVLR[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TVLR[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TVLR[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TVLR[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
TVLR
} [\emph{read/write}]: TAI seconds counter bits 31..0
\\
Writing this field resets the internal cycles counter.
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{TVHR -- Time Value High Register}
\label{app:conv-regs-tvhr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TVHR[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
TVHR
} [\emph{read/write}]: TAI seconds counter bits 39..32
\\
Writing this field resets the internal cycles counter.
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\subsubsection{TFMR -- Tag FIFO Meta Register}
\label{app:conv-regs-tfmr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{1}{|c|}{\cellcolor{gray!25}WRTAG} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{1}{|c}{-} & - & \multicolumn{6}{|c|}{\cellcolor{gray!25}CHAN[5:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
CHAN
} [\emph{read-only}]: Channel mask
\\
Mask for the channel(s) that triggered time-tag storage: \\ bit 0 -- channel 1 \\ bit 1 -- channel 2 \\ ... \\ bit 5 -- channel 6
\end{small}
\item \begin{small}
{\bf
WRTAG
} [\emph{read-only}]: White Rabbit present
\\
1 - Current time tag generated with White Rabbit \\ 0 - Current time tag generated with internal counter
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\subsubsection{TFCYR -- Tag FIFO Cycles Register}
\label{app:conv-regs-tfcyr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & \multicolumn{4}{|c|}{\cellcolor{gray!25}CYC[27:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CYC[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CYC[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CYC[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
CYC
} [\emph{read-only}]: Cycles counter
\\
Value of the 8-ns cycles counter when time tag was taken.
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\subsubsection{TFTLR -- Tag FIFO TAI Low Register }
\label{app:conv-regs-tftlr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TAI\_L[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TAI\_L[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TAI\_L[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TAI\_L[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
TAI\_L
} [\emph{read-only}]: Lower part of TAI seconds counter
\\
Value of the TAI seconds counter bits 31..0 when time tag was taken.
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\subsubsection{TFTHR -- Tag FIFO TAI High Register}
\label{app:conv-regs-tfthr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}TAI\_H[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
TAI\_H
} [\emph{read-only}]: Upper part of TAI seconds counter
\\
Value of the TAI seconds counter bits 39..32 when time tag was taken.
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\subsubsection{TFCSR -- Tag FIFO Control and Status Register }
\label{app:conv-regs-tfcsr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\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}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{1}{|c}{-} & \multicolumn{7}{|c|}{\cellcolor{gray!25}USEDW[6:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
FULL
} [\emph{read-only}]: FIFO full flag
\\
1: FIFO is full\\0: FIFO is not full
\end{small}
\item \begin{small}
{\bf
EMPTY
} [\emph{read-only}]: FIFO empty flag
\\
1: FIFO is empty\\0: FIFO is not empty
\end{small}
\item \begin{small}
{\bf
CLEAR\_BUS
} [\emph{write-only}]: FIFO clear
\\
write 1: clears FIFO \\write 0: no effect\\
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}
\item \begin{small}
{\bf
USEDW
} [\emph{read-only}]: FIFO counter
\\
Number of data records currently being stored in FIFO.
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
<?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="510.67554"
height="270.0524"
id="svg3599"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="pulse-gen.svg">
<defs
id="defs3601" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="130.35037"
inkscape:cy="146.77337"
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"
showguides="true"
inkscape:guide-bbox="true">
<inkscape:grid
type="xygrid"
id="grid3607"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
units="mm"
spacingx="0.5mm"
spacingy="0.5mm"
originx="-46.933192mm"
originy="-204.42944mm" />
</sodipodi:namedview>
<metadata
id="metadata3604">
<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(-166.29871,-57.953476)">
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 230.31496,134.64565 -35.43308,0"
id="path4381"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:10px;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="193.11023"
y="138.18895"
id="text4395"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4397"
x="193.11023"
y="138.18895"
style="text-align:end;text-anchor:end">trig_i</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 212.59843,134.64565 0,85.03937 106.29921,0"
id="path4399"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 372.04724,219.68502 35.43307,0"
id="path4401"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path4403"
d="m 460.62992,219.68502 26.5748,-3e-5"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<g
id="g4413">
<rect
style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect4383"
width="53.149605"
height="88.58268"
x="318.89764"
y="201.96848" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 318.89765,269.29132 10.62992,7.08661 -10.62992,7.08662"
id="path4385"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:10px;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="322.44095"
y="223.22832"
id="text4405"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4407"
x="322.44095"
y="223.22832">Q</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4409"
y="223.22832"
x="361.41733"
style="font-size:10px;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
y="223.22832"
x="361.41733"
id="tspan4411"
sodipodi:role="line">D</tspan></text>
</g>
<rect
style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect4423"
width="53.149605"
height="88.58268"
x="230.31496"
y="60.236187" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 230.31496,127.55903 10.62992,7.08661 -10.62992,7.08662"
id="path4425"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:10px;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="233.85826"
y="81.496025"
id="text4427"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4429"
x="233.85826"
y="81.496025">Q</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4431"
y="81.49604"
x="272.83466"
style="font-size:10px;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
y="81.49604"
x="272.83466"
id="tspan4433"
sodipodi:role="line">D</tspan></text>
<g
transform="translate(88.582672,3.9048082e-6)"
id="g4435">
<rect
style="opacity:0.98999999;fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect4437"
width="53.149605"
height="88.58268"
x="318.89764"
y="201.96848" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 318.89765,269.29132 10.62992,7.08661 -10.62992,7.08662"
id="path4439"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:10px;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="322.44095"
y="223.22832"
id="text4441"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4443"
x="322.44095"
y="223.22832">Q</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4445"
y="223.22832"
x="361.41733"
style="font-size:10px;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
y="223.22832"
x="361.41733"
id="tspan4447"
sodipodi:role="line">D</tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 230.31496,77.952734 -17.71653,0 -17.71655,0"
id="path4463"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<text
sodipodi:linespacing="125%"
id="text4465"
y="81.49604"
x="193.11023"
style="font-size:10px;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
y="81.49604"
x="193.11023"
id="tspan4467"
sodipodi:role="line"
style="text-align:end;text-anchor:end">'1'</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 283.46457,77.952734 310.03936,-2.9e-5"
id="path4469"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<g
transform="translate(310.03936,-180.70866)"
id="g5327">
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 283.46457,248.03147 0,46.063 14.17323,-7.08662 0,-31.88976 -14.17323,-7.08662"
id="path5329"
inkscape:connector-curvature="0" />
<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="287.00787"
y="287.00784"
id="text5331"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan5333"
x="287.00787"
y="287.00784"
style="font-size:10px">1</tspan></text>
<text
sodipodi:linespacing="125%"
id="text5335"
y="262.20471"
x="287.00787"
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:10px"
y="262.20471"
x="287.00787"
id="tspan5337"
sodipodi:role="line">0</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:10px;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="246.99962"
y="146.81888"
id="text4523"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4525"
x="246.99962"
y="146.81888">CLR</tspan></text>
<rect
style="opacity:0.98999999;fill:#000000;fill-opacity:0.1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect4527"
width="79.724419"
height="115.15749"
x="487.20471"
y="175.39365" />
<text
sodipodi:linespacing="125%"
id="text4529"
y="223.2283"
x="565.15747"
style="font-size:10px;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
y="223.2283"
x="565.15747"
id="tspan4531"
sodipodi:role="line"
style="text-align:end;text-anchor:end">OGF1</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;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="565.15747"
y="187.79521"
id="text4533"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4535"
x="565.15747"
y="187.79521"
style="text-align:end;text-anchor:end">OGF0</tspan></text>
<path
transform="translate(102.61519,151.36215)"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
sodipodi:ry="1.7716535"
sodipodi:rx="1.7716535"
sodipodi:cy="-16.716501"
sodipodi:cx="109.98324"
id="path5193"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:type="arc" />
<path
inkscape:connector-curvature="0"
id="path4564"
d="m 487.20467,269.29129 10.62992,7.08661 -10.62992,7.08662"
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
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 318.89764,276.37793 -124.01576,0"
id="path4566"
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"
d="m 310.03937,276.37793 0,49.6063 168.30708,0 0,-49.6063 8.85827,0"
id="path4568"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 398.62205,325.98423 0,-49.6063 8.85826,0"
id="path4608"
inkscape:connector-curvature="0" />
<path
transform="translate(288.63881,342.70073)"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
sodipodi:ry="1.7716535"
sodipodi:rx="1.7716535"
sodipodi:cy="-16.716501"
sodipodi:cx="109.98324"
id="path4614"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:type="arc" />
<path
transform="translate(200.05613,293.09443)"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
sodipodi:ry="1.7716535"
sodipodi:rx="1.7716535"
sodipodi:cy="-16.716501"
sodipodi:cx="109.98324"
id="path4618"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:type="arc" />
<text
sodipodi:linespacing="125%"
id="text4622"
y="279.92123"
x="193.11023"
style="font-size:10px;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
y="279.92123"
x="193.11023"
id="tspan4624"
sodipodi:role="line"
style="text-align:end;text-anchor:end">clk_i</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;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="488.97638"
y="223.2283"
id="text4626"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4628"
x="488.97638"
y="223.2283">SGF0</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 607.67716,90.354309 30.11811,0"
id="path4720"
inkscape:connector-curvature="0" />
<text
sodipodi:linespacing="125%"
id="text4722"
y="93.897614"
x="639.56702"
style="font-size:10px;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
y="93.897614"
x="639.56702"
id="tspan4724"
sodipodi:role="line">pulse_o</tspan></text>
<text
sodipodi:linespacing="125%"
id="text15558"
y="171.85033"
x="516.43378"
style="font-size:10.340312px;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
y="171.85033"
x="516.43378"
id="tspan15560"
sodipodi:role="line">FSM</tspan></text>
<text
sodipodi:linespacing="125%"
id="text16076"
y="187.79521"
x="488.97638"
style="font-size:10px;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
y="187.79521"
x="488.97638"
id="tspan16078"
sodipodi:role="line">SGF1</tspan></text>
<rect
style="opacity:0.98999999;fill:#000000;fill-opacity:0.1;fill-rule:nonzero;stroke:#323333;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect16082"
width="62.007778"
height="17.716543"
x="363.18896"
y="175.39365" />
<text
xml:space="preserve"
style="font-size:10.340312px;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="365.92108"
y="171.85033"
id="text16084"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan16086"
x="365.92108"
y="171.85033">glitch filter</tspan></text>
<path
sodipodi:type="arc"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="path16088"
sodipodi:cx="109.98324"
sodipodi:cy="-16.716501"
sodipodi:rx="1.7716535"
sodipodi:ry="1.7716535"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
transform="translate(200.05613,236.40149)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 165.98368,159.6988 0,-35.43307 53.1496,0"
id="path16090"
inkscape:connector-curvature="0"
transform="translate(144.05569,59.986187)"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 425.19685,184.25192 62.00787,0"
id="path16092"
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"
d="m 422.87344,124.26573 8.85827,0 0,-26.574802 -318.89764,0 0,-8.858268"
id="path16094"
inkscape:connector-curvature="0"
transform="translate(144.05569,59.986187)"
sodipodi:nodetypes="ccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 566.92912,219.68499 17.71654,0 0,-115.15748 8.85827,0"
id="path16096"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 456.53485,10.879904 0,-8.8582674 -31.88976,0"
id="path16100"
inkscape:connector-curvature="0"
transform="translate(144.05569,59.986187)" />
<text
xml:space="preserve"
style="font-size:10px;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="564.45178"
y="65.551132"
id="text16102"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan16104"
x="564.45178"
y="65.551132"
style="text-align:end;text-anchor:end">gf_en</tspan></text>
<text
style="font-size:15px"
id="text424"
x="487.20471"
y="308.26767">
<tspan
id="tspan426"
sodipodi:role="line"
y="308.26767"
x="487.20471 492.96472 499.52469 504.98871"
style="font-size:8px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans Bold;-inkscape-font-specification:DejaVuSans-Bold">SGF1</tspan>
</text>
<text
style="font-size:15px"
id="text428"
x="513.08478"
y="308.26767">
<tspan
id="tspan430"
sodipodi:role="line"
y="308.26767"
x="513.08478 515.97278 518.50879 523.58075 526.72473 531.62079 534.91675 538.06079 540.59674 547.14075 552.21277 557.13275 562.20477 564.74078 569.81274 572.02875 574.23676 577.3808 581.78076 586.85278 589.38873 594.42877 596.64478 599.78076 604.70074 607.99677 610.54077 612.74878 616.91675 619.45276 624.37274 629.44476 634.34875 639.42072 641.62872 646.54871"
style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans">- Start when glitch filter is enabled</tspan>
</text>
<text
style="font-size:15px"
id="text432"
x="487.20471"
y="299.40939">
<tspan
id="tspan434"
sodipodi:role="line"
y="299.40939"
x="487.20471 492.96472 499.52469 504.98871"
style="font-size:8px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans Bold;-inkscape-font-specification:DejaVuSans-Bold">SGF0</tspan>
</text>
<text
style="font-size:15px"
id="text436"
x="513.08478"
y="299.40939">
<tspan
id="tspan438"
sodipodi:role="line"
y="299.40939"
x="513.08478 515.97278 518.50879 523.58075 526.72473 531.62079 534.91675 538.06079 540.59674 547.14075 552.21277 557.13275 562.20477 564.74078 569.81274 572.02875 574.23676 577.3808 581.78076 586.85278 589.38873 594.42877 596.64478 599.78076 604.70074 607.99677 610.54077 612.74878 616.91675 619.45276 624.52472 626.74072 630.90076 635.80475 640.87671 643.08478 648.0047"
style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans">- Start when glitch filter is disabled</tspan>
</text>
<text
style="font-size:15px"
id="text440"
x="487.20471"
y="325.98419">
<tspan
id="tspan442"
sodipodi:role="line"
y="325.98419"
x="487.20471 494.00473 500.5647 506.02872"
style="font-size:8px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans Bold;-inkscape-font-specification:DejaVuSans-Bold">OGF1</tspan>
</text>
<text
style="font-size:15px"
id="text444"
x="514.12476"
y="325.98419">
<tspan
id="tspan446"
sodipodi:role="line"
y="325.98419"
x="514.12476 517.00476 519.54077 525.83679 530.90875 534.05273 539.12476 544.19678 547.33276 549.87677 556.41278 561.4848 566.40479 571.47675 574.02075 579.09277 581.30078 583.51672 586.65277 591.05273 596.12476 598.66876 603.70874 605.91675 609.06079 613.98077 617.27673 619.81274 622.02875 626.18872 628.73279 633.65271 638.72473 643.62079 648.69275 650.90875 655.82874"
style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans">- Output when glitch filter is enabled</tspan>
</text>
<text
style="font-size:15px"
id="text448"
x="487.20471"
y="317.12592">
<tspan
id="tspan450"
sodipodi:role="line"
y="317.12592"
x="487.20471 494.00473 500.5647 506.02872"
style="font-size:8px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans Bold;-inkscape-font-specification:DejaVuSans-Bold">OGF0</tspan>
</text>
<text
style="font-size:15px"
id="text452"
x="514.12476"
y="317.12592">
<tspan
id="tspan454"
sodipodi:role="line"
y="317.12592"
x="514.12476 517.00476 519.54077 525.83679 530.90875 534.05273 539.12476 544.19678 547.33276 549.87677 556.41278 561.4848 566.40479 571.47675 574.02075 579.09277 581.30078 583.51672 586.65277 591.05273 596.12476 598.66876 603.70874 605.91675 609.06079 613.98077 617.27673 619.81274 622.02875 626.18872 628.73279 633.80475 636.01276 640.18073 645.07678 650.14874 652.36475 657.28473"
style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans">- Output when glitch filter is disabled</tspan>
</text>
<text
sodipodi:linespacing="125%"
id="text3071"
y="108.07082"
x="233.85826"
style="font-size:10px;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
y="108.07082"
x="233.85826"
id="tspan3073"
sodipodi:role="line">EN</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 52.729603,46.574036 35.433068,0"
id="path3075"
inkscape:connector-curvature="0"
transform="translate(142.15228,57.953476)"
sodipodi:nodetypes="cc" />
<text
sodipodi:linespacing="125%"
id="text3077"
y="108.07082"
x="193.11023"
style="font-size:10px;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
y="108.07082"
x="193.11023"
id="tspan3079"
sodipodi:role="line"
style="text-align:end;text-anchor:end">gf_en</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;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="322.44092"
y="249.80312"
id="text3081"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3083"
x="322.44092"
y="249.80312">EN</tspan></text>
<path
inkscape:connector-curvature="0"
id="path3085"
d="m 292.32283,246.2598 26.5748,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<text
xml:space="preserve"
style="font-size:10px;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="290.55115"
y="249.80312"
id="text3087"
sodipodi:linespacing="125%"><tspan
style="text-align:end;text-anchor:end"
sodipodi:role="line"
id="tspan3089"
x="290.55115"
y="249.80312">gf_en</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3091"
y="249.80312"
x="411.02362"
style="font-size:10px;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
y="249.80312"
x="411.02362"
id="tspan3093"
sodipodi:role="line">EN</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 372.04723,246.2598 35.43308,0"
id="path3101"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
</svg>
......@@ -53,9 +53,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.9899495"
inkscape:cx="336.5785"
inkscape:cy="-24.823563"
inkscape:zoom="3.959798"
inkscape:cx="370.43736"
inkscape:cy="148.05837"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
......@@ -102,10 +102,28 @@
transform="translate(1.9123726,-32.161435)">
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 396.99111,104.75592 28.34646,0 0,19.48819 12.40157,0"
id="path9412"
d="m 425.33757,98.940954 -7.08662,0"
id="path3978"
inkscape:connector-curvature="0"
transform="translate(-1.9123726,33.433089)" />
transform="translate(-1.9123726,32.161435)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 373.8189,138.189 33.66141,0"
id="path3193"
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"
d="m 402.16535,92.126011 9.62957,0 0,23.031499"
id="path4013"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
inkscape:connector-curvature="0"
id="path9972"
d="m 434.05512,155.90554 -10.62992,0 0,-56.692915 49.6063,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 407.48031,178.93704 15.94489,0 0,-14.17323 12.40157,0"
......@@ -190,7 +208,7 @@
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 380.90551,141.73231 -26.5748,0 0,157.67718 -341.929136,-1e-5"
d="m 354.33071,141.73231 -8.85827,0 0,157.67718 -333.070866,-1e-5"
id="path3872"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
......@@ -366,14 +384,14 @@
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 328.2559,93.126037 -42.51968,0"
d="m 301.6811,93.126037 -15.94488,0"
id="path4059"
inkscape:connector-curvature="0"
transform="translate(52.649606,41.519663)"
sodipodi:nodetypes="cc" />
<path
style="fill:#ffffff;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 376.3622,129.58796 c 5.16063,6.88084 5.16063,10.32125 0,17.20209 12.04146,0 20.64251,0 25.80315,-8.60104 -5.16064,-8.60105 -13.76169,-8.60105 -25.80315,-8.60105 z"
d="m 349.01575,129.58796 c 5.16063,6.88084 5.16063,10.32125 0,17.20209 12.04146,0 20.64251,0 25.80315,-8.60104 -5.16064,-8.60105 -13.76169,-8.60105 -25.80315,-8.60105 z"
id="path3936"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
......@@ -751,8 +769,8 @@
d="m 584.78639,137.41736 33.66141,0"
id="path5373"
inkscape:connector-curvature="0"
transform="translate(28.205738,41.519663)"
sodipodi:nodetypes="cc" />
sodipodi:nodetypes="cc"
transform="translate(28.205738,41.519663)" />
<path
transform="translate(405.56794,206.28344)"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
......@@ -866,101 +884,217 @@
d="m 431.28346,152.61945 c 5.16063,6.88084 5.16063,10.32125 0,17.20209 12.04146,0 20.64251,0 25.80315,-8.60104 -5.16064,-8.60105 -13.76169,-8.60105 -25.80315,-8.60105 z"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<g
transform="translate(-84.064396,-138.28575)"
id="g9393">
id="g9940"
transform="translate(-78.773869,-3.6401177)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.55000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect9395"
width="45.062992"
height="40.747997"
x="440.87186"
y="161.31731" />
<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="463.22269"
y="171.94724"
id="text9397"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan9399"
x="463.22269"
y="171.94724"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle">Manual</tspan><tspan
id="tspan9416"
sodipodi:role="line"
x="463.22269"
y="184.44724"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle">pulse</tspan><tspan
sodipodi:role="line"
x="463.22269"
y="196.94724"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle"
id="tspan9403">trigger</tspan></text>
</g>
<g
transform="translate(32.159639,-74.506256)"
id="g9966">
<rect
y="161.31731"
x="440.87186"
height="26.57481"
width="47.15398"
id="rect9949"
style="fill:none;stroke:#000000;stroke-width:0.55000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<text
sodipodi:linespacing="125%"
id="text9951"
y="172.08273"
x="464.25354"
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="tspan9957"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle"
y="172.08273"
x="464.25354"
sodipodi:role="line">Pulse</tspan><tspan
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle"
y="184.58273"
x="464.25354"
sodipodi:role="line"
id="tspan9964">counter</tspan></text>
</g>
<rect
style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:18, 18;stroke-dashoffset:10.2"
id="rect9974"
width="434.05524"
height="283.4646"
x="196.79427"
y="0.22834618"
transform="translate(-1.9123726,33.433089)" />
<path
transform="translate(313.44196,115.92913)"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
sodipodi:ry="1.7716535"
sodipodi:rx="1.7716535"
sodipodi:cy="-16.716501"
sodipodi:cx="109.98324"
id="path3169"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:type="arc" />
<g
id="g3171"
transform="translate(32.159639,-111.84649)">
<g
id="g9405"
transform="translate(9.9248237,134.64567)">
<g
id="g9940"
transform="translate(-4.6342965,-3.7735205e-5)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.55000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect9395"
width="45.062992"
height="40.747997"
x="440.87186"
y="161.31731" />
<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="463.22269"
y="171.94724"
id="text9397"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan9399"
x="463.22269"
y="171.94724"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle">Manual</tspan><tspan
id="tspan9416"
sodipodi:role="line"
x="463.22269"
y="184.44724"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle">pulse</tspan><tspan
sodipodi:role="line"
x="463.22269"
y="196.94724"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle"
id="tspan9403">trigger</tspan></text>
</g>
<g
transform="translate(71.546806,-90.354368)"
id="g9947">
<g
id="g9966"
transform="translate(34.752405,-3.5433002)">
<rect
style="fill:none;stroke:#000000;stroke-width:0.55000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect9949"
width="47.15398"
height="26.57481"
x="440.87186"
y="161.31731" />
<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="464.25354"
y="172.08273"
id="text9951"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="464.25354"
y="172.08273"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle"
id="tspan9957">Pulse</tspan><tspan
id="tspan9964"
sodipodi:role="line"
x="464.25354"
y="184.58273"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle">counter</tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 425.33757,104.75592 0,-62.007876 49.6063,0"
id="path9972"
inkscape:connector-curvature="0"
transform="translate(0.6803937,127.42754)" />
</g>
id="g3181">
<rect
y="161.31731"
x="437.32855"
height="26.57481"
width="53.149593"
id="rect3173"
style="fill:none;stroke:#000000;stroke-width:0.55000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<text
sodipodi:linespacing="125%"
id="text3175"
y="172.08273"
x="464.25354"
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="tspan3177"
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle"
y="172.08273"
x="464.25354"
sodipodi:role="line">Pulse</tspan><tspan
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle"
y="184.58273"
x="464.25354"
sodipodi:role="line"
id="tspan3179">time-tag</tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 425.33757,67.05119 0,-37.204724 46.06299,0"
id="path3187"
inkscape:connector-curvature="0"
transform="translate(-34.072012,144.00792)" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 379.13386,138.189 0,-17.71653 28.34645,0"
id="path3195"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
sodipodi:type="arc"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="path9414"
id="path3197"
sodipodi:cx="109.98324"
sodipodi:cy="-16.716501"
sodipodi:rx="1.7716535"
sodipodi:ry="1.7716535"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
transform="translate(313.44196,154.90551)" />
<rect
style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:18, 18;stroke-dashoffset:10.2"
id="rect9974"
width="434.05524"
height="283.4646"
x="196.79427"
y="0.22834618"
transform="translate(-1.9123726,33.433089)" />
transform="translate(269.15062,154.9055)" />
<text
xml:space="preserve"
style="font-size:10px;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="379.13385"
y="95.669319"
id="text3217"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3219"
x="379.13385"
y="95.669319">gfen</tspan></text>
<g
transform="translate(-56.808929,-49.703114)"
id="g4020">
<g
id="g4028"
transform="translate(35.433084,35.433068)">
<rect
y="127.6559"
x="404.05301"
height="14.173236"
width="17.716549"
id="rect4022"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<text
sodipodi:linespacing="125%"
id="text4024"
y="138.28583"
x="405.82468"
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:10px;font-weight:bold"
y="138.28583"
x="405.82468"
id="tspan4026"
sodipodi:role="line">GF</tspan></text>
</g>
</g>
<path
sodipodi:type="arc"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="path4047"
sodipodi:cx="109.98324"
sodipodi:cy="-16.716501"
sodipodi:rx="1.7716535"
sodipodi:ry="1.7716535"
d="m 111.75489,-16.716501 c 0,0.978457 -0.79319,1.771653 -1.77165,1.771653 -0.97846,0 -1.77166,-0.793196 -1.77166,-1.771653 0,-0.978457 0.7932,-1.771654 1.77166,-1.771654 0.97846,0 1.77165,0.793197 1.77165,1.771654 z"
transform="translate(313.44196,147.81889)" />
<g
id="g3985">
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path3176"
d="m 406.47996,109.84255 0,42.51968 10.62993,-5.31497 0,-31.88976 -10.62993,-5.31495"
style="fill:#ffffff;fill-opacity:1;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="text3178"
y="141.73232"
x="409.17969"
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:8px"
y="141.73232"
x="409.17969"
id="tspan3180"
sodipodi:role="line">1</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="409.25195"
y="124.01578"
id="text3182"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3184"
x="409.25195"
y="124.01578"
style="font-size:8px">0</tspan></text>
</g>
</g>
</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="280.03534"
height="118.4444"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="timetag-arch.svg">
<defs
id="defs4">
<marker
inkscape:stockid="TriangleInM"
orient="auto"
refY="0"
refX="0"
id="TriangleInM"
style="overflow:visible">
<path
id="path4202"
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="TriangleOutL"
orient="auto"
refY="0"
refX="0"
id="TriangleOutL"
style="overflow:visible">
<path
id="path4208"
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.8,0.8)"
inkscape:connector-curvature="0" />
</marker>
<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>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="4"
inkscape:cx="111.14235"
inkscape:cy="40.54635"
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"
showguides="true"
inkscape:guide-bbox="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0">
<inkscape:grid
type="xygrid"
id="grid3004"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
units="mm"
spacingx="0.25mm"
spacingy="0.25mm"
originx="-76.108888mm"
originy="-202.60889mm" />
</sodipodi:namedview>
<metadata
id="metadata7">
<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(-269.67716,-216.01222)">
<path
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"
id="path8077"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<rect
y="232.97237"
x="509.35034"
height="53.14962"
width="13.287388"
id="rect5794"
style="fill:none;fill-opacity:1;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;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<rect
style="fill:none;fill-opacity:1;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;fill-opacity:1;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
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"
width="62.007874"
height="66.437027"
x="349.90155"
y="232.97237" />
<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="270.17715"
y="250.6889"
id="text4797"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4799"
x="270.17715"
y="250.6889"
style="font-size:6px;text-align:start;text-anchor:start">White Rabbit time</tspan></text>
<text
sodipodi:linespacing="125%"
id="text5171"
y="259.54715"
x="270.17715"
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="259.54715"
x="270.17715"
id="tspan5173"
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="270.17715"
y="268.40543"
id="text5175"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan5177"
x="270.17715"
y="268.40543"
style="font-size:6px;text-align:start;text-anchor:start">Local time</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
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="416.33856"
y="241.83063"
id="text5992"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan5994"
x="416.33856"
y="241.83063"
style="font-size:6px;text-align:start;text-anchor:start">Trigger channel</tspan></text>
<text
sodipodi:linespacing="125%"
id="text6033"
y="250.6889"
x="416.33856"
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="250.6889"
x="416.33856"
id="tspan6035"
sodipodi:role="line">TAI time</tspan></text>
<g
id="g6292"
transform="translate(-68.888121,-63.644077)">
<g
id="g6739"
transform="translate(-19.931093,21.508793)">
<text
sodipodi:linespacing="125%"
id="text6284"
y="303.58963"
x="470.12509"
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:10px;font-weight:bold;text-align:center;text-anchor:middle"
y="303.58963"
x="470.12509"
sodipodi:role="line"
id="tspan6746">Timetag</tspan><tspan
style="font-size:10px;font-weight:bold;text-align:center;text-anchor:middle"
y="316.08963"
x="470.12509"
sodipodi:role="line"
id="tspan6750">controller</tspan></text>
</g>
</g>
<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="416.33856"
y="259.54715"
id="text7512"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan7514"
x="416.33856"
y="259.54715"
style="font-size:6px;text-align:start;text-anchor:start">Cycles time</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="363.18896"
y="360.63318"
id="text7981"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan7983"
x="363.18896"
y="360.63318"
style="font-size:10px;text-align:center;text-anchor:middle" /></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="113.76843"
y="117.42808"
id="text8001"
sodipodi:linespacing="125%"
transform="translate(220.57693,239.53561)"><tspan
sodipodi:role="line"
id="tspan8003"
x="113.76843"
y="117.42808" /></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#TriangleInM)"
d="m 346.35825,286.12197 -23.03149,0 0,35.43307 44.29135,0"
id="path8057"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<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="279.03543"
y="283.46451"
id="text8079"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="279.03543"
y="283.46451"
style="font-size:6px;text-align:start;text-anchor:start"
id="tspan4898">TAI time from register</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4207"
y="241.83066"
x="270.17715"
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="241.83066"
x="270.17715"
sodipodi:role="line"
id="tspan4211">Pulse inputs</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 270.17716,253.34638 76.1811,0"
id="path4215"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
id="path4217"
d="m 270.17716,262.20464 76.1811,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
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 270.17716,271.06291 76.1811,0"
id="path4219"
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-start:none;marker-end:url(#TriangleOutM)"
d="m 411.90943,244.48811 80.61024,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 215.56687,13.810763 80.61024,0"
id="path5155"
inkscape:connector-curvature="0"
transform="translate(196.34256,239.53561)"
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 411.90943,262.20464 80.61024,0"
id="path5157"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
sodipodi:linespacing="125%"
id="text5159"
y="268.40543"
x="416.33856"
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="268.40543"
x="416.33856"
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 215.56687,31.527298 80.61024,0"
id="path5163"
inkscape:connector-curvature="0"
transform="translate(196.34256,239.53561)"
sodipodi:nodetypes="cc" />
<g
id="g3857"
transform="translate(4.4291352,35.433072)">
<rect
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect5578"
width="10.623631"
height="9.7082977"
x="463.29367"
y="281.69284" />
<text
sodipodi:linespacing="125%"
id="text5574"
y="288.73108"
x="468.49564"
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="tspan3212"
style="font-size:6px;text-align:center;text-anchor:middle"
y="288.73108"
x="468.49564"
sodipodi:role="line">SR</tspan></text>
</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
y="312.69678"
x="367.6181"
height="17.716564"
width="26.57486"
id="rect4408"
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<text
sodipodi:linespacing="125%"
id="text4431"
y="319.78339"
x="381.07394"
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="319.78339"
x="381.07394"
sodipodi:role="line"
id="tspan4825">TFLR</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 456.20079,271.06292 0,50.49213 7.97244,0"
id="path4445"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
d="m 412.00671,286.12197 26.47753,0 0,35.49132 -40.74802,0"
id="path4633"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<text
inkscape:transform-center-y="5.4426047"
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="416.33856"
y="284.35031"
id="text4821"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4823"
x="416.33856"
y="284.35031"
style="font-size:6px;text-align:start;text-anchor:start">TAI time</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect4827"
width="35.433067"
height="31.003952"
x="501.37796"
y="302.95267" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4844"
d="m 516.43701,286.12198 0,13.28739"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 501.37796,310.0393 35.43307,0"
id="path4858"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 501.37796,318.01174 35.43307,0"
id="path4864"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 501.37796,325.98418 35.43307,0"
id="path4868"
inkscape:connector-curvature="0" />
<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="309.15347"
id="text4870"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4872"
x="519.19116"
y="309.15347"
style="font-size:6px;text-align:center;text-anchor:middle">TFMR</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4874"
y="316.24008"
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="316.24008"
x="519.19116"
id="tspan4876"
sodipodi:role="line">TFCYR</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="324.21252"
id="text4878"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4880"
x="519.19116"
y="324.21252"
style="font-size:6px;text-align:center;text-anchor:middle">TFTLR</tspan></text>
<text
sodipodi:linespacing="125%"
id="text4882"
y="332.18497"
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="332.18497"
x="519.19116"
id="tspan4884"
sodipodi:role="line">TFTHR</tspan></text>
<path
inkscape:connector-curvature="0"
id="path4890"
d="m 367.61811,321.55505 26.5748,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"
sodipodi:nodetypes="cc" />
<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="381.07394"
y="328.64166"
id="text4894"
sodipodi:linespacing="125%"><tspan
id="tspan4896"
sodipodi:role="line"
x="381.07394"
y="328.64166"
style="font-size:6px;text-align:center;text-anchor:middle">TFHR</tspan></text>
</g>
</svg>
\subsection{MultiBoot controller}
\label{app:multiboot-regs}
Base address: 0x040
{
\rowcolors{2}{white}{gray!25}
\begin{longtable}{l l l p{.5\textwidth}}
\hline
\textbf{Offset} & \textbf{Default} & \textbf{Name}
& \textbf{Description} \\
\hline
\endfirsthead
\hline
\hline
\endhead
\hline
\endfoot
0x0 & 0x00000000 & CR & Control Register\\
0x4 & 0x00000000 & SR & Status Register\\
0x8 & 0x00000000 & GBBAR & Golden Bitstream Base Address Register\\
0xc & 0x00000000 & MBBAR & MultiBoot Bitstream Base Address Register\\
0x10 & 0x10000000 & FAR & Flash Access Register\\
\end{longtable}
}
\vspace{11pt}
\subsubsection{CR -- Control Register}
\label{app:multiboot-regs-cr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & \multicolumn{1}{|c|}{\cellcolor{gray!25}IPROG} & \multicolumn{1}{|c|}{\cellcolor{gray!25}IPROG\_UNLOCK}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{1}{|c}{-} & \multicolumn{1}{|c|}{\cellcolor{gray!25}RDCFGREG} & \multicolumn{6}{|c|}{\cellcolor{gray!25}CFGREGADR[5:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
CFGREGADR
} [\emph{read/write}]: Configuration register address
\\
Address of FPGA configuration register to read.
\end{small}
\item \begin{small}
{\bf
RDCFGREG
} [\emph{write-only}]: Read FPGA configuration register
\\
1 -- Start FPGA configuration register sequence. \\ 0 -- No effect.
\end{small}
\item \begin{small}
{\bf
IPROG\_UNLOCK
} [\emph{read/write}]: Unlock bit for the IPROG command
\\
1 -- Unlock IPROG bit. \\ 0 -- No effect.
\end{small}
\item \begin{small}
{\bf
IPROG
} [\emph{read/write}]: Start IPROG sequence
\\
1 -- Start IPROG configuration sequence \\ 0 -- No effect \\ This bit needs to be unlocked by writing the IPROG\_UNLOCK bit first. \\ A write to this bit with IPROG\_UNLOCK cleared has no effect.
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{SR -- Status Register}
\label{app:multiboot-regs-sr}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & - & \multicolumn{1}{c|}{-}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & \multicolumn{1}{|c|}{\cellcolor{gray!25}WDTO} & \multicolumn{1}{|c|}{\cellcolor{gray!25}IMGVALID}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CFGREGIMG[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}CFGREGIMG[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
CFGREGIMG
} [\emph{read-only}]: Configuration register image
\\
Image of the FPGA configuration register at address CFGREGADR (see Configuration Registers section in Xilinx UG380~\cite{ug380}); validated by IMGVALID bit
\end{small}
\item \begin{small}
{\bf
IMGVALID
} [\emph{read-only}]: Configuration register image valid
\\
1 -- CFGREGIMG valid \\ 0 -- CFGREGIMG not valid;
\end{small}
\item \begin{small}
{\bf
WDTO
} [\emph{read/write}]: MultiBoot FSM stalled at one point and was reset by FSM watchdog
\\
1 -- FSM watchdog fired \\ 0 -- FSM watchdog has not fired
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{GBBAR -- Golden Bitstream Base Address Register}
\label{app:multiboot-regs-gbbar}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
BITS
} [\emph{read/write}]: Bits of GBBAR register
\\
31..24 -- Read or fast-read OPCODE of the flash chip (obtain it from the flash chip datasheet) \\ 23..0 -- Golden bitstream address in flash
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{MBBAR -- MultiBoot Bitstream Base Address Register}
\label{app:multiboot-regs-mbbar}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BITS[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
BITS
} [\emph{read/write}]: Bits of MBBAR register
\\
31..24 -- Read or fast-read OPCODE of the flash chip (obtain it from the flash chip datasheet) \\ 23..0 -- MultiBoot bitstream start address in flash
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{FAR -- Flash Access Register}
\label{app:multiboot-regs-far}
\vspace{11pt}
\noindent
\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} }
31 & 30 & 29 & 28 & 27 & 26 & 25 & 24\\
\hline
\multicolumn{1}{|c}{-} & - & - & \multicolumn{1}{|c|}{\cellcolor{gray!25}READY} & \multicolumn{1}{|c|}{\cellcolor{gray!25}CS} & \multicolumn{1}{|c|}{\cellcolor{gray!25}XFER} & \multicolumn{2}{|c|}{\cellcolor{gray!25}NBYTES[1:0]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}DATA[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}DATA[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}DATA[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
DATA
} [\emph{read/write}]: Flash data field
\\
23..16 -- DATA[2]; after an SPI transfer, this register contains the value of data byte 2 read from the flash \\ 15..8 -- DATA[1]; after an SPI transfer, this register contains the value of data byte 1 read from the flash \\ 7..0 -- DATA[0]; after an SPI transfer, this register contains the value of data byte 0 read from the flash
\end{small}
\item \begin{small}
{\bf
NBYTES
} [\emph{read/write}]: Number of DATA fields to send and receive in one transfer:
\\
0x0 -- Send 1 byte (DATA[0]) \\ 0x1 -- Send 2 bytes (DATA[0], DATA[1]) \\ 0x2 -- Send 3 bytes (DATA[0], DATA[1], DATA[2])
\end{small}
\item \begin{small}
{\bf
XFER
} [\emph{write-only}]: Start transfer to and from flash
\\
1 -- Start transfer \\ 0 -- Idle
\end{small}
\item \begin{small}
{\bf
CS
} [\emph{read/write}]: Chip select bit
\\
1 - Flash chip selected (CS pin low) \\ 0 - Flash chip not selected (CS pin is high)
\end{small}
\item \begin{small}
{\bf
READY
} [\emph{read-only}]: Flash access ready
\\
1 - Flash access completed \\ 0 - Flash access in progress
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
......@@ -4,7 +4,7 @@
\documentclass[a4paper,11pt]{article}
% Color package
\usepackage[usenames,dvipsnames]{color}
\usepackage[usenames,dvipsnames,table]{xcolor}
% Hyperrefs
\usepackage[
......@@ -14,9 +14,14 @@
urlcolor = blue,
]{hyperref}
% Longtable
\usepackage{longtable}
% Graphics, multirow
\usepackage{graphicx}
\usepackage{multirow}
% Appendix package
\usepackage[toc,page]{appendix}
\usepackage{fancyhdr}
......@@ -48,6 +53,7 @@
\centerline
{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l c p{.6\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Date}} & \multicolumn{1}{c}{\textbf{Version}} & \multicolumn{1}{c}{\textbf{Change}} \\
......@@ -59,9 +65,7 @@
05-08-2013 & 1.04 & Memory map is now appendix \\
23-12-2013 & 1.05 & Added remote reprogramming support \\
10-01-2014 & 1.06 & Added SNMP access sub-section \\
28-01-2014 & 1.07 & Added Diagnostics section and moved remote resetting subsection to this section \\
31-01-2014 & 1.08 & Added manual pulse triggering sub-section \\
05-02-2014 & 1.09 & Added temperature and unique ID readout support \\
14-02-2014 & 2.00 & Added diagnostics section \\
\hline
\end{tabular}
}
......@@ -77,8 +81,10 @@
\listoffigures
\listoftables
\pagebreak
\section*{List of Abbreviations}
\begin{tabular}{l l}
FIFO & First-In-First-Out (memory) \\
FPGA & Field-Programmable Gate Array \\
I$^2$C & Inter-Integrated Circuit \\
MIB & Management Information Base \\
......@@ -87,7 +93,9 @@
RTM & Rear Transition Module \\
SFP & Small Form-factor Pluggable (connector) \\
SNMP & Simple Network Management Protocol \\
TAI & International Atomic Time (French abbreviation) \\
VME & VERSAmodule Eurocard \\
WR & White Rabbit \\
\end{tabular}
%======================================================================================
......@@ -126,6 +134,7 @@ pulses (see Section~\ref{sec:pulse-def}). The main features of the board are:
\item unique board ID and temperature readout
\item state of on-board switches and RTM detection lines
\item input pulse counters
\item input pulse time-tagging
\item manual pulse triggering
\end{itemize}
\item Remote reprogramming over I$^2$C lines on VME P1 connector
......@@ -211,6 +220,7 @@ LEDs are \textit{off}.
\label{tbl:status-leds}
\centerline
{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l p{.75\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{LED}} & \multicolumn{1}{c}{\textbf{Description}} \\
......@@ -233,12 +243,12 @@ LEDs are \textit{off}.
%--------------------------------------------------------------------------------------
\subsubsection{SFP connector}
This connector is used to add White Rabbit support to the CONV-TTL-BLO boards.
If an optic fibre cable is connected to this socket, White Rabbit precise
This connector is used to add White Rabbit (WR) support to the CONV-TTL-BLO boards.
If an optic fibre cable is connected to this socket, WR precise
time-stamping can be added to CONV-TTL-BLO. Four status LEDs above the connector are provide
to show the status of the White Rabbit link.
to show the status of the WR link.
White Rabbit is currently not supported by the FPGA gateware.
WR is currently not supported by the FPGA gateware.
%--------------------------------------------------------------------------------------
\subsubsection{TTL inputs and outputs}
......@@ -326,6 +336,7 @@ the used switches are also listed in Table~\ref{tbl:switches}.
\label{tbl:switches}
\centerline
{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l p{.85\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Switch}} & \multicolumn{1}{c}{\textbf{Description}} \\
......@@ -384,6 +395,7 @@ pulses.
\label{tbl:pulse-def-ttl}
\centerline
{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l l c c c c}
\hline
\multicolumn{1}{c}{\textbf{Symbol}} & \multicolumn{1}{c}{\textbf{Parameter}} &
......@@ -393,7 +405,7 @@ pulses.
$V_{IL}$ & Input pulse low-level amplitude (2) & 0.7 & & 1.6 & V \\
$V_{OH}$ & Output pulse high-level amplitude & 2.4 & 3.3 & 5 & V \\
$V_{OL}$ & Output pulse low-level amplitude & & 0 & 0.7 & V \\
$t_{p,i}$& Input pulse width & 50 & & & ns \\
$t_{p,i}$& Input pulse width & 100 & & & ns \\
$t_{p,o}$& Output pulse width & & 1.2 & & ${\mu}s$ \\
$T_{min}$& Period of pulse signal (3) & 6 & & & ${\mu}s$ \\
$t_r$ & Rise time & 1 & 3.2 & 4.9 & ns \\
......@@ -414,6 +426,7 @@ by the FPGA gateware. \\
\label{tbl:pulse-def-blo}
\centerline
{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l l c c c c}
\hline
\multicolumn{1}{c}{\textbf{Symbol}} & \multicolumn{1}{c}{\textbf{Parameter}} &
......@@ -423,7 +436,7 @@ by the FPGA gateware. \\
$V_{IL}$ & Input pulse low-level amplitude & -5 & & & V \\
$V_{OH}$ & Output pulse high-level amplitude (2)& 23 & 24 & 25 & V \\
$V_{OL}$ & Output pulse low-level amplitude (2) & & 0 & & V \\
$t_{p,i}$& Input pulse width & 50 & & 3900& ns \\
$t_{p,i}$& Input pulse width & 100 & & 3900& ns \\
$t_{p,o}$& Output pulse width & & 1.2 & & ${\mu}s$ \\
$T_{min}$& Period of pulse signal (3) & 6 & & & ${\mu}s$ \\
$t_r$ & Rise time & 75 & 140 & 225 & ns \\
......@@ -485,17 +498,18 @@ pass through a part of the circuit. The grey DC signals are the signals when no
plugged into a channel.
\begin{figure}[htbp]
\centerline{\includegraphics[width=\textwidth]{fig/pulse-rep}}
\centerline{\includegraphics[width=.95\textwidth]{fig/pulse-rep}}
\caption{Pulse repetition mechanism}
\label{fig:pulse-rep}
\end{figure}
The pulse generator (PG) block in the FPGA generates $t_{p,o}$ wide (Table~\ref{tbl:pulse-def-ttl})
TTL pulses at its output on the rising edge of its input. It therefore expects TTL pulses at
its input. The rest of the logic external to this block is used to accommodate for TTL-BAR
and blocking pulses.
its input. For more information about the implementation of the PG block, refer to the
CONV-TTL-BLO HDL Guide~\cite{ctb-hdlguide}.
First, the OR gates at the PG input indicate the condition for a pulse to
The rest of the logic external to the PG block is used to accommodate for TTL-BAR
and blocking pulses. First, the OR gates at the PG input indicate the condition for a pulse to
be regenerated. The conditions for pulse generation are either that pulse is manually triggered
as described in Section~\ref{sec:diag-man-trig}, or that a pulse arrives on either of the inputs of a channel
(TTL or TTL-BAR on the front panel, or blocking on the rear panel).
......@@ -522,16 +536,26 @@ checks if the line is high for more than 100~$\mu$s when the TTL selection switc
set for TTL-BAR signals and disables the TTL input line to the PG, thus allowing for
blocking pulses arriving on the rear panel to be detected by the PG.
After the two types of signals are ORed together to form a trigger to the PG block,
they can optionally be passed through a glitch filter (the GF block in Figure~\ref{fig:pulse-rep}).
More details about this glitch filter can be found in Section~\ref{sec:pulse-jit}.
One pulse counter is implemented for each channel. This pulse counter increments when a
rising edge is detected on the output of the OR gate between the two inputs types. More
details about the pulse counters can be found in Section~\ref{sec:diag-pulse-cnt}.
A rising edge on a pulse also triggers storing the value of a user-settable time tag to
a first-in-first-out (FIFO) memory. More details about the time-tagging of pulses
can be found in Section~\ref{sec:diag-pulse-timetag}.
The PG block can also be triggered by a "manual" pulse. More details about this feature
can be found in Section~\ref{sec:diag-man-trig}.
\textbf{\textit{Note that due to the nature of TTL-BAR signals (high when idle), when the cable is removed
from the connector, or when the pulse sending device upstream of the CONV-TTL-BLO is turned off,
the channel line goes high due to the Schmitt trigger at the input of the CONV-TTL-BLO, and
a pulse will be generated on the output.}}
One pulse counter is implemented for each channel. As can be seen in Figure~\ref{fig:pulse-rep},
this pulse counter increments when a rising edge is detected on the output of the OR gate
between the two inputs types. More details about the pulse counters can be found in
Section~\ref{sec:diag-pulse-cnt}.
%--------------------------------------------------------------------------------------
% SUBSEC: Pulse jitter and delay
%--------------------------------------------------------------------------------------
......@@ -559,6 +583,26 @@ glitch filter which rejects any pulses narrower than 50~ns, but introduces a 50~
on the leading edge of the output signal. Jitter appears in the form of an uncertainty on when
a pulse is output.
Since an input pulse is asynchronous to the sampling clock, it may arrive
before or after the sampling clock's rising edge. If it arrives before the sampling clock rising
edge, it is sampled on the current cycle. However, if the input pulse arrives after the rising edge,
it will get sampled on the next clock rising edge. The output pulse may therefore present
an uncertainty on when its leading edge arrives; this uncertainty (shown in Figure~\ref{fig:tpd-jit}),
which is the output jitter, is based on the 50~ns sampling clock.
When SW1.1 is in the \textbf{OFF} (default) position, the glitch filter is disabled and the
pulse signal is regenerated at the output without being sampled with an on-board clock. This
yields jitter-free pulses at the output, but a glitch on the input will lead to a pulse being
generated at the output.
The glitch filter internal to the PG block may be enabled when the environment where the
board operates is noisy. A noisy environment may lead to glitches induced on the
signal lines and thus unwanted pulses on the output of the CONV-TTL-BLO. When the
environment is not so noisy, or when the 50~ns jitter is deemed to be an issue, SW1.1
can be left in the \textbf{OFF} position.
\pagebreak
\begin{figure}[h]
\centerline{\includegraphics[width=.6\textwidth,keepaspectratio]{fig/tpd-jit}}
\caption{Output pulse delay and jitter}
......@@ -570,6 +614,7 @@ a pulse is output.
\label{tbl:pulse-tpd-jit}
\centerline
{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l l c c}
\hline
\multicolumn{1}{c}{\textbf{Symbol}} & \multicolumn{1}{c}{\textbf{Parameter}} &
......@@ -594,26 +639,6 @@ a pulse is output.
\noindent Note 1: If the glitch filter is enabled, it adds an extra 350~ns delay to $t_{PD}$.
\vspace*{11pt}
Since an input pulse is asynchronous to the sampling clock, it may arrive
before or after the sampling clock's rising edge. If it arrives before the sampling clock rising
edge, it is sampled on the current cycle. However, if the input pulse arrives after the rising edge,
it will get sampled on the next clock rising edge. The output pulse may therefore present
an uncertainty on when its leading edge arrives; this uncertainty (shown in Figure~\ref{fig:tpd-jit}),
which is the output jitter, is based on the 50~ns sampling clock.
When SW1.1 is in the \textbf{OFF} (default) position, the glitch filter is disabled and the
pulse signal is regenerated at the output without being sampled with an on-board clock. This
yields jitter-free pulses at the output, but a glitch on the input will lead to a pulse being
generated at the output.
The glitch filter internal to the PG block may be enabled when the environment where the
board operates is noisy. A noisy environment may lead to glitches induced on the
signal lines and thus unwanted pulses on the output of the CONV-TTL-BLO. When the
environment is not so noisy, or when the 50~ns jitter is deemed to be an issue, SW1.1
can be left in the \textbf{OFF} position.
%======================================================================================
% SEC: Communicating to the CONV-TTL-BLO
%======================================================================================
......@@ -661,6 +686,7 @@ data to the board. As names suggest, \textit{readreg} reads a board register, w
\label{tbl:cmds}
\centerline
{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l p{.6\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Command}} & \multicolumn{1}{c}{\textbf{Description}} \\
......@@ -678,7 +704,8 @@ data to the board. As names suggest, \textit{readreg} reads a board register, w
\end{table}
An example of retrieving the CONV-TTL-BLO ID of a CONV-TTL-BLO plugged into VME slot 2 of the crate
\textit{some-crate} is given below. Since the ID can be retrieved from address 0x0 (see Appendix~\ref{app:memmap-conv-regs}),
\textit{some-crate} is given below. The converter board ID can be retrieved from the board ID
register at address 0x000 (BIDR -- see Appendix~\ref{app:conv-regs-bidr}),
if the board is present in slot 2, the command should yield the ASCII string \textbf{TBLO}.
\begin{verbatim}
......@@ -731,7 +758,6 @@ password:**********
%------------------------------------------------------------------------------
% SUBSEC: SNMP
%------------------------------------------------------------------------------
\pagebreak
\subsection{SNMP}
\label{sec:comm-snmp}
......@@ -828,7 +854,7 @@ The following diagnostics features are implemented on the CONV-TTL-BLO:
\label{sec:diag-bid}
All converter boards have a board identification register (BIDR -- see
Appendix~\ref{app:memmap-bidr}) at address \textbf{0x000}. This register is
Appendix~\ref{app:conv-regs-bidr}) at address \textbf{0x000}. This register is
a read-only 32-bit register containing the hex values for the ASCII code
describing the functionality of the converter board.
......@@ -842,7 +868,7 @@ for TTL-to-blocking converter.
\label{sec:diag-gwvers}
The gateware version can be read from the least significant eight bits of the
status register (SR -- see Appendix~\ref{app:memmap-sr}). The gateware version
status register (SR -- see Appendix~\ref{app:conv-regs-sr}). The gateware version
is split into major and minor version numbers. Both numbers are decimal numbers.
The major version number increments on major changes in the gateware, such as
the implementation of new blocks. The minor version increments on bug fixes.
......@@ -876,10 +902,11 @@ details about this data and how to obtain it can be found in the device's
datasheet~\cite{ds18b20}.
\begin{table}[h]
\caption{Data from thermometer (see~\cite{ds18b20})}
\caption{Data from thermometer}
\label{tbl:thermo-data}
\centerline
{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l l p{.7\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Data}} & \multicolumn{1}{c}{\textbf{Length}} &
......@@ -902,6 +929,7 @@ can be found in Table~\ref{tbl:thermo-scripts}.
\caption{Scripts needed for remote reprogramming}
\label{tbl:thermo-scripts}
\centerline {
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l p{.6\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Script}} & \multicolumn{1}{c}{\textbf{Description}} \\
......@@ -925,7 +953,7 @@ can be found in Table~\ref{tbl:thermo-scripts}.
\label{sec:diag-sw-rtmdet}
The state of the on-board switches and that of the RTM detection lines can
also be read from the SR (see Appendix~\ref{app:memmap-sr}).
also be read from the SR (see Appendix~\ref{app:conv-regs-sr}).
In the case of the switches, the raw state of the FPGA inputs is reflected on
the SR bits. Since an ON switch pulls the line to GND, a '0' value on one
......@@ -961,9 +989,98 @@ is shown in Figure~\ref{fig:pulse-cnt}.
On a rising edge of a pulse from either a TTL or a blocking input, the pulse
counter is incremented and stored to the channel's pulse counter register
(CHxPCR -- see Appendix~\ref{app:memmap-chpcr}). The CHxPCR is a read-write register
(CHxPCR -- see Appendix~\ref{app:conv-regs}). The CHxPCR is a read-write register
that can be written at any time via I$^2$C with a user-defined value.
%------------------------------------------------------------------------------
% SUBSEC: Pulse counters
%------------------------------------------------------------------------------
\subsection{Pulse time-tagging}
\label{sec:diag-pulse-timetag}
The architecture of the time-tagging mechanism is shown in Figure~\ref{fig:timetag-arch}.
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{fig/timetag-arch}}
\caption{Time-tag architecture}
\label{fig:timetag-arch}
\end{figure}
Every time a pulse arrives on a channel, a time-tag sample is stored to a 128-deep
FIFO memory and the head of the FIFO advances. The head of the FIFO always points to the
last received pulse, as long as the FIFO is not full. When the FIFO is full, no more
time-tag samples are stored until the FIFO is read.
Two time-tags are available on the CONV-TTL-BLO. These time-tags are listed in
Table~\ref{tbl:timetags}. When White-Rabbit (WR) is present, the precise centralized
and synchronized timing from the WR network is used. When WR is not present, the local
time tag is used. Note that due to the fact that this time-tag is unsynchronized,
it will differ slightly between two different boards in a crate.
Each time-tag sample consists of a cycles value, which counts 8~ns cycles, and a TAI seconds
value.
\begin{table}[h]
\caption{Time tag types}
\label{tbl:timetags}
\centerline
{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l c p{.65\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Type}} & \multicolumn{1}{c}{\textbf{Resolution}}
& \multicolumn{1}{c}{\textbf{Description}} \\
\hline
WR & 8~ns & \textbf{\textit{Currently not implemented}} \newline
Precise, centralized and synchronized time-tag \newline
Obtained and configurable via WR \newline
Resolution: \textbf{8~ns} \\
Local & 8~ns & Local, unsynchronized time-tag \newline
Obtained by counting the ticks of a 125~MHz clock signal \newline
Can be set remotely by writing the TAI value registers (TVL/HR) \newline
Resolution: \textbf{8~ns} \\
\hline
\end{tabular}
}
\end{table}
The FIFO memory is not entirely accessible in the addressing space,
instead the head of the FIFO is always accessible via the meta, cycle and TAI tag
FIFO registers in the converter board registers (TFMR, TFCYR, TFTL/HR -- see
Appendix~\ref{app:conv-regs}).
The tag FIFO cycle and TAI registers (TFCYR, TFTL/HR) contain the actual time tag
values. The tag FIFO meta register (TFMR) completes these registers with information
about the current FIFO time-tag sample, such as the channel number that triggered
the storing of the current time tag and whether this time-tag was obtained via WR
or not.
The control and status register (TFCSR -- see Appendix~\ref{app:conv-regs-tfcsr}) can
be used to check the status of the FIFO and clearing it. Note that clearing the FIFO
will not erase the memory, but simply bring the read and write pointers of the FIFO
to the same position.
Also note that in order to properly read a time tag value in the FIFO and advance
the read pointer, a read from the TFMR is needed. If the user only reads one of the
other registers without reading the TFMR, the read pointer of the FIFO will not
advance. A full read cycle of a FIFO sample should look like this:
\begin{itemize}
\item read TFMR to obtain meta data about the tag FIFO sample and advance
the FIFO read pointer
\item read TFCYR to obtain the number of 8~ns cycles when the sample was stored
\item read TFTLR to obtain the lower part of the TAI counter
\item read TFTHR to obtain the upper part of the TAI counter
\end{itemize}
The E (empty) or F (full) bits of the TFCSR can be used to know when to stop reading
the FIFO. Of the two, it is recommended to use the E bit and read the FIFO while
this bit is cleared ('0').
When the FIFO is full of samples, the FPGA will not store any more samples
and the F bit will be set. Note that the USED field will indicate 0 samples stored
at this time.
%------------------------------------------------------------------------------
% SUBSEC: Remote reset
%------------------------------------------------------------------------------
......@@ -971,7 +1088,7 @@ that can be written at any time via I$^2$C with a user-defined value.
\label{sec:diag-remote-reset}
The user can remotely reset the FPGA logic inside the CONV-TTL-BLO by writing to
the board's control register at address \textbf{0x008} (see Appendix~\ref{app:memmap-cr})
the board's control register at address \textbf{0x008} (see Appendix~\ref{app:conv-regs-cr})
to first unlock the RST bit and then write it high to initiate the reset. When the
reset is initiated, a 100~ms reset pulse is applied to the logic.
......@@ -1018,7 +1135,7 @@ triggering is "password" protected.
In order to manually trigger a pulse, a user should write a four-byte "magic sequence"
(the "password") to the MPT (manual pulse trigger) field in the board's control
register at address 0x004 (CR -- see Appendix~\ref{app:memmap-cr}). The MPT
register at address 0x004 (CR -- see Appendix~\ref{app:conv-regs-cr}). The MPT
field is dual-purpose, as shown in Figure~\ref{fig:cr-mpt}. As shown in
Table~\ref{tbl:man-trig-magic}, prior to sending a pulse, the MPT field should be written
with the magic sequence, followed by a channel number in the range \textbf{1..6}.
......@@ -1034,6 +1151,7 @@ with the magic sequence, followed by a channel number in the range \textbf{1..6}
\label{tbl:man-trig-magic}
\centerline
{
%\rowcolors{2}{white}{gray!25}
\begin{tabular}{c c c c c}
\hline
\textbf{Byte 0} & \textbf{Byte 1} & \textbf{Byte 2} & \textbf{Byte 3} & \textbf{Byte 4}\\
......@@ -1057,7 +1175,7 @@ sequence is not as expected, the logic returns to waiting for the first byte
of the magic sequence.
\begin{figure}[h]
\centerline{\includegraphics[width=.49\textwidth]{fig/man-trig-fsm}}
\centerline{\includegraphics[width=.6\textwidth]{fig/man-trig-fsm}}
\caption{Manual pulse triggering logic}
\label{fig:man-trig-fsm}
\end{figure}
......@@ -1133,6 +1251,7 @@ The workflow for remote reprogramming is shown in Table~\ref{tbl:reprog-workflow
\caption{MultiBoot workflow}
\label{tbl:reprog-workflow}
\centerline {
\rowcolors{2}{white}{gray!25}
\begin{tabular}{c p{.7\textwidth}}
\hline
\textbf{Step} & \multicolumn{1}{c}{\textbf{Action}} \\
......@@ -1189,6 +1308,7 @@ Table~\ref{tbl:reprog-flash-memmap}.
\caption{Flash memory map}
\label{tbl:reprog-flash-memmap}
\centerline{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l l l l}
\hline
\multicolumn{3}{c}{\textbf{Address}} & \multicolumn{1}{c}{\textbf{Description}} \\
......@@ -1227,6 +1347,7 @@ needed to run the script.
\caption{Scripts needed for remote reprogramming}
\label{tbl:reprog-scripts}
\centerline {
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l p{.6\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Script}} & \multicolumn{1}{c}{\textbf{Description}} \\
......@@ -1319,7 +1440,7 @@ programmed into the flash.
% APP: Getting started
%======================================================================================
\section{Getting started with the CONV-TTL-BLO}
\label{sec:app-get-started}
\label{app:get-started}
\begin{enumerate}
\item Plug in the CONV-TTL-RTM board into the rear part of the VME crate.
......@@ -1359,7 +1480,7 @@ programmed into the flash.
% APP: Typical use cases
%======================================================================================
\section{Typical use cases}
\label{sec:app-use-cases}
\label{app:use-cases}
%--------------------------------------------------------------------------------------
% SUBSEC: 1 to 12 blocking pulses
......@@ -1425,360 +1546,28 @@ $reg. index = \frac{addr}{4} + 1$
\label{tbl:memmap}
\centerline
{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l l l p{.4\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Periph.}} & \multicolumn{2}{c}{\textbf{Address}} & \multicolumn{1}{c}{\textbf{Description}} \\
& \multicolumn{1}{c}{\textbf{Base}} & \multicolumn{1}{c}{\textbf{End}} & \\
\multicolumn{1}{c}{\textbf{Peripheral}} & \multicolumn{2}{c}{\textbf{Address range}} & \multicolumn{1}{c}{\textbf{Description}} \\
\hline
Board regs & 0x000 & 0x020 & Coverter board registers \\
MultiBoot & 0x040 & 0x050 & MultiBoot module \\
Thermo & 0x080 & 0x084 & Thermometer chip \\
Board registers & 0x000 & 0x020 & Coverter board registers \\
MultiBoot & 0x040 & 0x050 & MultiBoot module \\
Thermometer & 0x080 & 0x084 & Thermometer chip \\
\hline
\end{tabular}
}
\end{table}
%------------------------------------------------------------------------------
% SUBSEC: conv_regs
%------------------------------------------------------------------------------
\subsection{Converter board registers}
\label{app:memmap-conv-regs}
\indent Base address: 0x000
\begin{table}[h]
\begin{tabular}{l l p{.6\textwidth}}
\textbf{Offset} & \textbf{Name} & \textbf{Description} \\
0x00 & BIDR & Board ID register \\
0x04 & SR & Status register \\
0x08 & CR & Control register \\
0x0c & CH1PCR & Channel 1 Pulse Counter Register \\
0x10 & CH2PCR & Channel 2 Pulse Counter Register \\
0x14 & CH3PCR & Channel 3 Pulse Counter Register \\
0x18 & CH4PCR & Channel 4 Pulse Counter Register \\
0x1c & CH5PCR & Channel 5 Pulse Counter Register \\
0x20 & CH6PCR & Channel 6 Pulse Counter Register \\
\end{tabular}
\end{table}
%------------------------------------------------------------------------------
\subsubsection{Board ID Register}
\label{app:memmap-bidr}
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
31..0 & ID & R/O & 0x54424c4f & Board ID \\
\end{tabular}
\vspace*{11pt}
\noindent
{
\begin{tabular}{l l}
\textbf{Field} & \textbf{Description} \\
ID & Board ID (ASCII string \textbf{TBLO}) \\
\end{tabular}
}
%------------------------------------------------------------------------------
\subsubsection{Status Register}
\label{app:memmap-sr}
\begin{tabular}{l l c c p{.35\textwidth}}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
7..0 & GWVERS & R/O & X & Gateware version \\
15..8 & SWITCHES & R/O & X & Switch status \\
21..16 & RTM & R/O & X & RTM detection lines \\
22 & CWDTO & R/W & 0 & Communication watchdog timeout \\
31..23 & \textit{Reserved} & -- & X & \\
\end{tabular}
\noindent
{
\begin{tabular}{l p{.8\textwidth}}
\textbf{Field} & \textbf{Description} \\
GWVERS & Gateware version \newline
-- leftmost nibble \textit{hex value} is major release \textit{decimal value} \newline
-- rightmost nibble \textit{hex value} is minor release \textit{decimal value} \newline
e.g. \newline
0x11 -- v1.1\newline
0x1e -- v1.14 \newline
0x20 -- v2.0 \newline
etc. \\
SWITCHES & Current switch status \newline
bit 0 -- SW1.1 \newline
bit 1 -- SW1.2 \newline
... \newline
bit 7 -- SW2.4 \newline
\textbf{1} -- switch is \textbf{OFF} \newline
\textbf{0} -- switch is \textbf{ON} \\
RTM & RTM detection lines status~\cite{rtm-det} \newline
\textbf{0} -- line active \newline
\textbf{1} -- line inactive \\
CWDTO & Communication watchdog timeout status \newline
\textbf{0} -- watchdog idle \newline
\textbf{1} -- communication error has occured and watchdog timer fired \newline
This bit is cleared by writing a '1' to it \\
\textit{Reserved} & Write as '0'; read undefined \\
\end{tabular}
}
%------------------------------------------------------------------------------
\subsubsection{Control Register}
\label{app:memmap-cr}
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
0 & RST\_UNLOCK & R/W & 0 & Reset bit unlock \\
1 & RST & R/W & 0 & Reset bit \\
9..2 & MPT & W/O & 0 & Manual Pulse Trigger \\
31..10 & \textit{Reserved} & -- & X & \\
\end{tabular}
\noindent
{
\begin{tabular}{l p{.7\textwidth}}
\textbf{Field} & \textbf{Description} \\
RST\_UNLOCK & Reset bit unlock \newline
\textbf{0} -- RST bit locked, cannot be written \newline
\textbf{1} -- RST bit unlocked, can be written \\
RST & Reset bit \newline
\textbf{0} -- Idle \newline
\textbf{1} -- Initiate a system reset \newline
This bit needs to be unlocked by writing a '1' to the RST\_UNLOCK bit in a
previous cycle. A write to this bit while RST\_UNLOCK = '0' has no effect. \newline
Writing this bit to 1 with RST\_UNLOCK = '1' will issue a system reset and
the communication to the board will be lost for approx. 100~ms \\
MPT & Control bits for manual pulse trigger sequence \newline
To trigger a pulse, write this sequence to the field: \newline
\textbf{0xde} -- Passbyte 1 \newline
\textbf{0xad} -- Passbyte 2 \newline
\textbf{0xbe} -- Passbyte 3 \newline
\textbf{0xef} -- Passbyte 4 \newline
Channel number in range 1..6 \\
\textit{Reserved} & Write as '0'; read undefined \\
\end{tabular}
}
%------------------------------------------------------------------------------
\subsubsection{Channel Pulse Counter Registers}
\label{app:memmap-chpcr}
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
31..0 & CHxPC & R/W & 0 & Pulse counter register value\\
\end{tabular}
%%------------------------------------------------------------------------------
%% SUBSEC: conv_regs
%%------------------------------------------------------------------------------
\include{conv-regs}
%------------------------------------------------------------------------------
% SUBSEC: MultiBoot
%------------------------------------------------------------------------------
\subsection{MultiBoot module}
\label{app:memmap-multiboot}
\indent Base address: 0x040
\vspace*{11pt}
\centerline
{
\begin{tabular}{l l p{.6\textwidth}}
\textbf{Offset} & \textbf{Name} & \textbf{Description} \\
0x00 & CR & Control Register \\
0x04 & SR & Status Register \\
0x08 & GBBAR & Golden Bitstream Base Address Register \\
0x0c & MBBAR & Multiboot Bitstream Base Address Register \\
0x10 & FAR & Flash Access Register \\
\end{tabular}
}
%------------------------------------------------------------------------------
\subsubsection{CR -- Control Register}
\label{app:memmap-multiboot-cr}
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
31..18 & \textit{Reserved} & -- & X & \\
17 & IPROG & R/W & 0 & IPROG bit \\
16 & IPROG\_UNLOCK & R/W & 0 & IPROG unlock bit \\
15..7 & \textit{Reserved} & -- & X & \\
6 & RDCFGREG & R/W & 0 & Read config register \\
5..0 & CFGREGADR & R/W & 0 & Config register address \\
\end{tabular}
\vspace*{11pt}
\noindent
{
\begin{tabular}{l p{.7\textwidth}}
\textbf{Field} & \textbf{Description} \\
\textit{Reserved} & Write as '0'; read undefined. \\
IPROG & Start IPROG sequence \newline
\textbf{0} -- Idle \newline
\textbf{1} -- Start the IPROG sequence \newline
This bit needs to be unlocked by setting the IPROG\_UNLOCK bit in a previous cycle. Any
write to this bit with IPROG\_UNLOCK = '0' has no effect. \newline
Writing this bit to '1' with IPROG\_UNLOCK = '1' will issue the IPROG sequence and
communication to the board will be lost until reprogramming is completed \\
IPROG\_UNLOCK & Unlock bit for the IPROG command \newline
\textbf{0} -- IPROG bit locked, cannot be written \newline
\textbf{1} -- IPROG bit unlocked, can be written \\
RDCFGREG & Read FPGA configuration register \newline
\textbf{0} -- Idle \newline
\textbf{1} -- Initiate read from configuration register at address CFGREGADR \newline
This bit is automatically cleared by hardware. \\
CFGREGADR & The address of the FPGA configuration register to read (see Configuration Registers
section in~\cite{ug380}) \\
\end{tabular}
}
%------------------------------------------------------------------------------
\subsubsection{SR -- Status Register}
\label{app:memmap-multiboot-sr}
\begin{tabular}{l l c c p{.3\textwidth}}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
31..18 & \textit{Reserved} & -- & X & \\
17 & MWDTO & R/W & 0 & Multiboot watchdog timeout \\
16 & IMGVALID & R/O & 0 & Image register is valid \\
15..0 & CFGREGIMG & R/O & 0 & Config. register image \\
\end{tabular}
\vspace*{11pt}
\noindent
{
\begin{tabular}{l p{.7\textwidth}}
\textbf{Field} & \textbf{Description} \\
\textit{Reserved} & Write as '0'; read undefined. \\
MWDTO & The watchdog of the MultiBoot FSM has timed out \newline
This bit is cleared by writing a '1' to it \\
IMGVALID & A read has been performed from the FPGA configuration
register at address CR.CFGREGADR, and its value is
present in CFGREGIMG \\
CFGREGIMG & Contains the value of the FPGA configuration register
(see Configuration Registers section in~\cite{ug380});
validated by the IMGVALID bit \\
\end{tabular}
}
%------------------------------------------------------------------------------
\subsubsection{GBBAR -- Golden Bitstream Base Address Register}
\label{app:memmap-multiboot-gbbar}
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
31..24 & OPCODE & R/W & 0 & Flash chip read op-code \\
23..0 & GBA & R/W & 0 & Golden Bitstream Address \\
\end{tabular}
\vspace*{11pt}
\noindent
{
\begin{tabular}{l p{.7\textwidth}}
\textbf{Field} & \textbf{Description} \\
OPCODE & Op-code for the flash chip read (or fast-read) command. Get
this value from the flash chip datasheet \\
GBA & Start address of the Golden bitstream on the flash chip \\
\end{tabular}
}
\vspace*{11pt}
%Guidelines on selecting a GBBAR:
%
%\begin{itemize}
% \item When generating the Header image via Xilinx ISE, the GBA is (normally)
% automatically set by the software to 0x44
% \item If different than the default, the starting address of the Golden
% bitstream should be set to a flash sector boundary
%\end{itemize}
%------------------------------------------------------------------------------
\subsubsection{MBBAR -- MultiBoot Bitstream Base Address Register}
\label{app:memmap-multiboot-mbbar}
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
31..24 & OPCODE & R/W & 0 & Flash chip read op-code \\
23..0 & MBA & R/W & 0 & MultiBoot Bitstream Address \\
\end{tabular}
\vspace*{11pt}
\noindent
{
\begin{tabular}{l p{.7\textwidth}}
\textbf{Field} & \textbf{Description} \\
OPCODE & Op-code for the flash chip read (or fast-read) command. Get
this value from the flash chip datasheet \\
MBA & Start address of the MultiBoot bitstream on the flash chip \\
\end{tabular}
}
\vspace*{11pt}
%Guidelines on selecting an MBBAR:
%
%\begin{itemize}
% \item The MultiBoot bitstream should start on a flash sector boundary.
%\end{itemize}
%------------------------------------------------------------------------------
\subsubsection{FAR -- Flash Access Register}
\label{app:memmap-multiboot-far}
\begin{tabular}{l l c c l}
\textbf{Bits} & \textbf{Field} & \textbf{Access} & \textbf{Default} & \textbf{Description} \\
31..29 & \textit{Reserved} & -- & 0 & Flash chip read op-code \\
28 & READY & R & 1 & SPI access status \\
27 & CS & R/W & 0 & SPI chip select \\
26 & XFER & R/W & 0 & Start SPI transfer \\
25..24 & NBYTES & R/W & 0 & Number of bytes to send \\
23..16 & DATA[2] & R/W & 0 & Data at offset 2 \\
15..8 & DATA[1] & R/W & 0 & Data at offset 1 \\
7..0 & DATA[0] & R/W & 0 & Data at offset 0 \\
\end{tabular}
\vspace*{11pt}
\noindent
{
\begin{tabular}{l p{.7\textwidth}}
\textbf{Field} & \textbf{Description} \\
\textit{Reserved} & Write as '0'; read undefined \\
READY & SPI transfer ready; NBYTES have been sent to the flash chip,
and NBYTES read from the chip present in DATA fields \\
CS & SPI chip select. Note that this pin has opposite polarity
than the normal SPI chip select pin: \newline
\textbf{0} -- Flash chip is not selected (CS pin = 1) \newline
\textbf{1} -- Flash chip is selected (CS pin = 0) \\
XFER & Start SPI transfer \newline
\textbf{1} -- Idle \newline
\textbf{1} -- Start SPI transfer \newline
This bit is automatically cleared by hardware \\
NBYTES & Number of DATA fields to send in one transfer \newline
\textbf{0} -- Send 1 byte (DATA[0]) \newline
\textbf{1} -- Send 2 bytes (DATA[0], DATA[1]) \newline
\textbf{2} -- Send 3 bytes (DATA[0], DATA[1], DATA[2]) \newline
\textbf{3} -- \textit{Reserved} \\
DATA[2] & Write this register with the value of data byte 2 \newline
After an SPI transfer, this register contains the value of
data byte 2 read from the flash \\
DATA[1] & Write this register with the value of data byte 1 \newline
After an SPI transfer, this register contains the value of
data byte 1 read from the flash \\
DATA[0] & Write this register with the value of data byte 0 \newline
After an SPI transfer, this register contains the value of
data byte 0 read from the flash \\
\end{tabular}
}
\include{multiboot-regs}
%------------------------------------------------------------------------------
% SUBSEC: Thermo
......@@ -1792,11 +1581,15 @@ $reg. index = \frac{addr}{4} + 1$
\centerline
{
\begin{tabular}{l l p{.6\textwidth}}
\textbf{Offset} & \textbf{Name} & \textbf{Description} \\
0x00 & OWCSR & One-Wire Control and Status Register \\
0x04 & OWCDR & One-Wire Clock Divider Registers \\
\end{tabular}
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l l l p{.5\textwidth}}
\hline
\textbf{Offset} & \textbf{Default} & \textbf{Name} & \textbf{Description} \\
\hline
0x00 & 0x00000000 & OWCSR & One-Wire Control and Status Register \\
0x04 & 0x00000004 & OWCDR & One-Wire Clock Divider Registers \\
\hline
\end{tabular}
}
\vspace*{11pt}
......@@ -1804,6 +1597,10 @@ $reg. index = \frac{addr}{4} + 1$
For details on the bits of the thermometer module access registers, see the
OneWire Master module's documentation~\cite{onewire-core}.
Note that the OWCDR should be set accordingly for proper functioning of the
one-wire timings. The value for the current version of the gateware is
\verb-OWCDR = 0x00130063-.
%------------------------------------------------------------------------------
\end{appendices}
......
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