]> jspc29.x-matter.uni-frankfurt.de Git - daqdocu.git/commitdiff
Doc for CTS AddOn and multiple EB support
authorManuel Penschuck <manuel.penschuck@stud.uni-frankfurt.de>
Tue, 5 Nov 2013 08:06:39 +0000 (09:06 +0100)
committerManuel Penschuck <manuel.penschuck@stud.uni-frankfurt.de>
Tue, 5 Nov 2013 08:06:39 +0000 (09:06 +0100)
trb3/CtsBuildingBlocks.tex
trb3/CtsSlowControl.tex

index 563a94f25aa269bec7252181ac8327ebdf40f3fd..e362011d0c751d66e720b1c20430a2295e264022 100644 (file)
       \label{ref:cts_subsubevent_example}
    \end{table}   
 
+\subsubsection{Multiple Event Builders}
+   The CTS supports multiple event builders using a simple \emph{round-robing} scheme. If 
+   
 \newpage
    
 \subsection{Trigger Logic}   
    input module, a delay line is built from a 15~bit shift register and a multiplexer used to select the required
    delay.
 
+\subsubsection{AddOn Input module}
+\label{sec:cts_addon_input_module}
+   As the number of ITCs is limited to 16, it is not possible to map each input of the CTS AddOn directly to an dedicated
+   trigger channel. Thus, a number of multiplexer modules can be used to select inputs from the CTS AddOn:
+   \begin{itemize*}
+      \item \texttt{JECLIN}: Four differential ECL inputs, all connected via a RJ45 jack
+      \item \texttt{JIN1}, \texttt{JIN2}: Two times four differential LVDS inputs connected via two RJ45 jacks
+      \item \texttt{NIMIN1}, \texttt{NIMIN2}: Two NIM inputs
+   \end{itemize*}
+   
+   The output of each multiplexer is connected to an input module (see section \ref{sec:cts_bb_input_module}), which offers
+   statistics and filter capabilities. In fact, the AddOn inputs are processed by the CTS as ordinary input channels: 
+   If synthesised with $N=~$\texttt{TRIGGER\_INPUT\_COUNT} input channels and $M=$~\texttt{TRIGGER\_ADDON\_COUNT} AddOn inputs,
+   the enumeration processes yields $N+M$ input modules. The same goes for the data sent to the event builders. The AddOn inputs
+   are always mapped into the upper $M$ slots.
+   
+   The multiplexer introduces an deterministic delay of two system clock cycles, i.e. 20~ns. 
+   
 \subsubsection{Coincidence detection}
 \label{sec:cts_bb_trigger_logic_coin}
    \begin{figure}[h]
index 69c592a3e4b624fcb6d394bc73fda4b639862fff..ea544a1965433f0df4a692c218d0b275103b6aae 100644 (file)
@@ -45,7 +45,7 @@
 
    \begin{table}
       \begin{center}\small
-         \begin{spacing}{1.1}
+         %\begin{spacing}{1.1}
             \begin{tabularx}{\textwidth}{|l|r@{}@{}c@{}@{}l|lX|} \hline
                \multicolumn{1}{|c|}{\textbf{Address}} &
                \multicolumn{3}{c|}{\textbf{Bit(s)}} &
                &  \addr{~9} & : & \addr{~0} & &{Maximal number of events accepted per millisecond}\\
                & \multicolumn{3}{c|}{\addr{10}} & &{Throttle enabled}\\
                & \multicolumn{3}{c|}{\addr{31}} & &{Stop Trigger}\\ \hline
+               \addr{0xa00d}
+               & &&& \multicolumn{2}{X|}{Event Builder selection} \\
+               & \addr{15} &:& \addr{~0} & &   Event Builder mask (default: 0x1) \\
+               & \addr{23} &:& \addr{16} & &   Number of events before selecting next builder (useful to aggregate events to support large data packets) \\
+               & \addr{27} &:& \addr{24} & &   Event Builder number of calibration trigger \\
+               & \multicolumn{3}{c|}{\addr{28}} & &  Use special event builder for \addr{0xe} trigger, otherwise use ordinary round robin selection. \\\hline
             \end{tabularx}
-         \end{spacing}
+         %\end{spacing}
          \caption[CTS Register with fixed address]{Registers with fixed addresses, i.e. controlled by the network logic domain}
          \label{tab:cts_register_block}
       \end{center}
       multiple registers. Thus, you should not compare two absolute figures obtained from a single memory dump. 
       The later source of uncertainty does not occur when using the counters sent to the event builders.
 
+      \item \textbf{\addr{0x12} AddOn Input Multiplexer}. This block is only present, when the CTS was synthesised with
+      atleast one AddOn Input Multiplexer. It contains one word per module, which is interpreted as an unsigned index for
+      the multiplexer. The mapping is defined in table \ref{tab:cts_addon_input_mapping}.
+      
       \item \textbf{\addr{0x20} Coincidence Configuration}. Each coincidence detection module (see
 ~\ref{sec:cts_bb_trigger_logic_coin}) has one configuration register. Thus, the number of registers
       inside this block matches the number of \texttt{COIN}s.
       The MSB holds the error flag.
   
    \end{itemize}
+
+   \begin{table}
+      \begin{center}\small
+         \begin{tabular}{|r|l|}\hline
+            \textbf{Input Number} & \textbf{Input Description} \\\hline\hline
+            0 & \texttt{jeclin[0]}\\
+            1 & \texttt{jeclin[1]}\\
+            2 & \texttt{jeclin[2]}\\
+            3 & \texttt{jeclin[3]}\\\hline
+
+            4 & \texttt{jin1[0]}\\
+            5 & \texttt{jin1[1]}\\
+            6 & \texttt{jin1[2]}\\
+            7 & \texttt{jin1[3]}\\\hline
+
+            8 & \texttt{jin2[0]}\\
+            9 & \texttt{jin2[1]}\\
+            10 & \texttt{jin2[2]}\\
+            11 & \texttt{jin2[3]}\\\hline
+
+            12 & \texttt{nimin1}\\
+            13 & \texttt{nimin2}\\\hline
+         \end{tabular}
+         \caption{CTS AddOn Input Mapping}
+         \label{tab:cts_addon_input_mapping}
+      \end{center}
+   \end{table}       
+   
    
 %%% Local Variables: 
 %%% mode: latex