Commit 655fa773 authored by Theodor-Adrian Stana's avatar Theodor-Adrian Stana

doc: Add and change information for v2.1 gateware

parent 3b4a2796
......@@ -9,9 +9,9 @@
\noindent \rule{\textwidth}{.1cm}
\hfill Gateware v2.0
\hfill Gateware v2.1
\hfill March 26, 2014
\hfill April 8, 2014
\vspace*{3cm}
......
\subsection{Converter board registers}
\label{subsec:wbgen:reg}
\label{app:conv-regs}
Base address: 0xf{}f{}f{}f{}f{}f{}f{}f
Base address: 0x000
{
\rowcolors{2}{white}{gray!25}
\begin{longtable}{l l l p{.5\textwidth}}
......@@ -16,26 +16,30 @@ Base address: 0xf{}f{}f{}f{}f{}f{}f{}f
\hline
\endfoot
0x0 & 0x54424c4f & BIDR & Board ID Register\\
0x4 & 0xf{}f{}f{}f{}f{}f{}f{}f & SR & Status Register\\
0x8 & 0xf{}f{}f{}f{}f{}f{}f{}f & CR & Control Register\\
0xc & 0xf{}f{}f{}f{}f{}f{}f{}f & CH1PCR & Channel 1 Pulse Counter Register\\
0x10 & 0xf{}f{}f{}f{}f{}f{}f{}f & CH2PCR & Channel 2 Pulse Counter Register\\
0x14 & 0xf{}f{}f{}f{}f{}f{}f{}f & CH3PCR & Channel 3 Pulse Counter Register\\
0x18 & 0xf{}f{}f{}f{}f{}f{}f{}f & CH4PCR & Channel 4 Pulse Counter Register\\
0x1c & 0xf{}f{}f{}f{}f{}f{}f{}f & CH5PCR & Channel 5 Pulse Counter Register\\
0x20 & 0xf{}f{}f{}f{}f{}f{}f{}f & CH6PCR & Channel 6 Pulse Counter Register\\
0x24 & 0xf{}f{}f{}f{}f{}f{}f{}f & TVLR & Time Value Low Register\\
0x28 & 0xf{}f{}f{}f{}f{}f{}f{}f & TVHR & Time Value High Register\\
0x2c & 0xf{}f{}f{}f{}f{}f{}f{}f & TBMR & Tag Buffer Meta Register\\
0x30 & 0xf{}f{}f{}f{}f{}f{}f{}f & TBCYR & Tag Buffer Cycles Register\\
0x34 & 0xf{}f{}f{}f{}f{}f{}f{}f & TBTLR & Tag Buffer TAI Low Register\\
0x38 & 0xf{}f{}f{}f{}f{}f{}f{}f & TBTHR & Tag Buffer TAI High Register\\
0x3c & 0xf{}f{}f{}f{}f{}f{}f{}f & TBCSR & Tag Buffer Control and Status Register\\
0x4 & (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 & TBMR & Tag Buffer Meta Register\\
0x30 & 0x00000000 & TBCYR & Tag Buffer Cycles Register\\
0x34 & 0x00000000 & TBTLR & Tag Buffer TAI Low Register\\
0x38 & 0x00000000 & TBTHR & Tag Buffer TAI High Register\\
0x3c & 0x00020000 & TBCSR & Tag Buffer Control and Status Register\\
\end{longtable}
}
\noindent Note (1): The reset value of the SR cannot be specified, since it is based on the
gateware version, the state of the on-board switches and whether an RTM is plugged in or not.
\vspace{11pt}
\subsubsection{BIDR -- Board ID Register}
\label{app:conv-regs-bidr}
\vspace{11pt}
\noindent
......@@ -74,6 +78,7 @@ Reset value: 0x54424c4f
\end{itemize}
\vspace{11pt}
\subsubsection{SR -- Status Register}
\label{app:conv-regs-sr}
\vspace{11pt}
\noindent
......@@ -104,14 +109,14 @@ Reset value: 0x54424c4f
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
Leftmost nibble hex value is major release decimal value \\ Rightmost nibble hex value is minor release decimal value \\ e.g. \\ 0x11 -- v1.1 \\ 0x2e -- v2.14
\end{small}
\item \begin{small}
{\bf
SWITCHES
} [\emph{read-only}]: Status of on-board switches
} [\emph{read-only}]: Status of on-board switches (see Section~\ref{sec: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
0 -- switch is ON \\ 1 -- switch is OFF
\end{small}
\item \begin{small}
{\bf
......@@ -123,7 +128,7 @@ RTM
\item \begin{small}
{\bf
I2C\_WDTO
} [\emph{read/write}]: I2C communication watchdog timeout error
} [\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}
......@@ -139,14 +144,14 @@ WRPRES
I2C\_ERR
} [\emph{read/write}]: I2C communication error
\\
1 -- attempted to address non-existing address \\ 0 -- idle
1 -- attempted to address non-existing address \\ 0 -- idle \\ This bit can be cleared by writing a '1' to it
\end{small}
\item \begin{small}
{\bf
PMISSE
} [\emph{read/write}]: Pulse missed error
\\
1 -- pulse arrived during pulse rejection phase \\ 0 -- idle
1 -- input pulse rejected to safeguard blocking output stage \\ 0 -- idle \\ This bit can be cleared by writing a '1' to it
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
......@@ -154,6 +159,7 @@ PMISSE
\end{itemize}
\vspace{11pt}
\subsubsection{CR -- Control Register}
\label{app:conv-regs-cr}
\vspace{11pt}
\noindent
......@@ -206,6 +212,7 @@ Write the following sequence to trigger a pulse: \\ 0xde --
\end{itemize}
\vspace{11pt}
\subsubsection{CH1PCR -- Channel 1 Pulse Counter Register}
\label{app:conv-regs-ch1pcr}
\vspace{11pt}
\noindent
......@@ -242,6 +249,7 @@ CH1PCR
\end{itemize}
\vspace{11pt}
\subsubsection{CH2PCR -- Channel 2 Pulse Counter Register}
\label{app:conv-regs-ch2pcr}
\vspace{11pt}
\noindent
......@@ -278,6 +286,7 @@ CH2PCR
\end{itemize}
\vspace{11pt}
\subsubsection{CH3PCR -- Channel 3 Pulse Counter Register}
\label{app:conv-regs-ch3pcr}
\vspace{11pt}
\noindent
......@@ -314,6 +323,7 @@ CH3PCR
\end{itemize}
\vspace{11pt}
\subsubsection{CH4PCR -- Channel 4 Pulse Counter Register}
\label{app:conv-regs-ch4pcr}
\vspace{11pt}
\noindent
......@@ -350,6 +360,7 @@ CH4PCR
\end{itemize}
\vspace{11pt}
\subsubsection{CH5PCR -- Channel 5 Pulse Counter Register}
\label{app:conv-regs-ch5pcr}
\vspace{11pt}
\noindent
......@@ -386,6 +397,7 @@ CH5PCR
\end{itemize}
\vspace{11pt}
\subsubsection{CH6PCR -- Channel 6 Pulse Counter Register}
\label{app:conv-regs-ch6pcr}
\vspace{11pt}
\noindent
......@@ -422,6 +434,7 @@ CH6PCR
\end{itemize}
\vspace{11pt}
\subsubsection{TVLR -- Time Value Low Register}
\label{app:conv-regs-tvlr}
\vspace{11pt}
\noindent
......@@ -460,6 +473,7 @@ Writing this field resets the internal cycles counter.
\end{itemize}
\vspace{11pt}
\subsubsection{TVHR -- Time Value High Register}
\label{app:conv-regs-tvhr}
\vspace{11pt}
\noindent
......@@ -498,6 +512,7 @@ Writing this field resets the internal cycles counter.
\end{itemize}
\vspace{11pt}
\subsubsection{TBMR -- Tag Buffer Meta Register}
\label{app:conv-regs-tbmr}
\vspace{11pt}
\noindent
......@@ -540,9 +555,13 @@ WRTAG
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\item \begin{small}
\textbf{A read from this register advances the buffer read pointer, if the ring buffer is not empty}
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{TBCYR -- Tag Buffer Cycles Register}
\label{app:conv-regs-tbcyr}
\vspace{11pt}
\noindent
......@@ -581,6 +600,7 @@ Value of the 8-ns cycles counter when time tag was taken.
\end{itemize}
\vspace{11pt}
\subsubsection{TBTLR -- Tag Buffer TAI Low Register}
\label{app:conv-regs-tbtlr}
\vspace{11pt}
\noindent
......@@ -619,8 +639,9 @@ Value of the TAI seconds counter bits 31..0 when time tag was taken.
\end{itemize}
\vspace{11pt}
\subsubsection{TBTHR -- Tag Buffer TAI High Register}
\label{app:conv-regs-tbthr}
\vspace{11pt}
%\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} }
......@@ -657,6 +678,7 @@ Value of the TAI seconds counter bits 39..32 when time tag was taken.
\end{itemize}
\vspace{11pt}
\subsubsection{TBCSR -- Tag Buffer Control and Status Register}
\label{app:conv-regs-tbcsr}
\vspace{11pt}
\noindent
......@@ -706,7 +728,7 @@ EMPTY
\item \begin{small}
{\bf
CLR
} [\emph{read/write}]: Clear tag buffer
} [\emph{write-only}]: Clear tag buffer
\\
1 -- clear\\ 0 -- no effect
\end{small}
......
......@@ -9,8 +9,8 @@
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="407.12796"
height="430.57178"
width="400.09671"
height="378.54895"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
......@@ -139,7 +139,7 @@
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="114.59102"
inkscape:cy="261.43892"
inkscape:cy="229.57576"
inkscape:document-units="px"
inkscape:current-layer="g3109"
showgrid="true"
......@@ -278,23 +278,23 @@
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="212.3093"
y="597.9649"
y="545.94208"
id="text3218"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3220"
x="212.3093"
y="597.9649"
y="545.94208"
style="font-size:14px;font-weight:bold">(a)</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3222"
y="597.9649"
y="545.94208"
x="433.26901"
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
style="font-size:14px;font-weight:bold"
y="597.9649"
y="545.94208"
x="433.26901"
id="tspan3224"
sodipodi:role="line">(b)</tspan></text>
......@@ -309,12 +309,12 @@
<text
sodipodi:linespacing="125%"
id="text4389-7"
y="560.02997"
y="508.00711"
x="363.52557"
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
style="font-weight:bold"
y="560.02997"
y="508.00711"
x="363.52557"
id="tspan4391-9"
sodipodi:role="line">end</tspan></text>
......@@ -411,23 +411,6 @@
x="389.97046"
sodipodi:role="line"
id="tspan4550">Status LEDs</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutL)"
d="m 371.04188,499.59413 0,45.66929"
id="path4554"
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="389.97046"
y="527.49554"
id="text4556"
sodipodi:linespacing="125%"><tspan
id="tspan4560"
sodipodi:role="line"
x="389.97046"
y="527.49554">RTM detection</tspan></text>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
......
......@@ -197,8 +197,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="317.41381"
inkscape:cy="40.155048"
inkscape:cx="235.59684"
inkscape:cy="21.651564"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
......@@ -527,18 +527,18 @@
<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="165.338"
y="361.04849"
x="162.95987"
y="366.73227"
id="text14796"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="165.338"
y="361.04849"
x="162.95987"
y="366.73227"
style="font-size:12px;font-weight:normal;text-align:end;text-anchor:end"
id="tspan4044">RTM det.</tspan><tspan
sodipodi:role="line"
x="165.338"
y="376.04849"
x="162.95987"
y="381.73227"
id="tspan14800"
style="font-size:12px;font-weight:normal;text-align:end;text-anchor:end">lines</tspan></text>
<g
......@@ -659,12 +659,6 @@
id="path3953"
d="m 165.26378,314.60064 22.5315,-0.0232"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker3106);marker-end:url(#marker3114)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#marker3114)"
d="m 165.26378,364.08584 22.5315,-0.0116"
id="path4037"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<g
id="g5729"
transform="translate(50.708936,-11.515724)">
......@@ -851,7 +845,7 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path5045"
d="m 246.25984,370.27556 38.97638,-10e-6"
d="m 164.76378,370.27556 120.47244,-10e-6"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3114)" />
<g
transform="translate(0,-97.440956)"
......@@ -881,34 +875,6 @@
x="404.66464"
sodipodi:role="line">module</tspan></text>
</g>
<g
id="g4090"
transform="translate(-2.8156828,55.421341)">
<rect
style="opacity:0.98999999;fill:#cccccc;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect4092"
width="54.921246"
height="23.031549"
x="194.15427"
y="297.13773" />
<text
sodipodi:linespacing="125%"
id="text4094"
y="306.51288"
x="221.45082"
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
id="tspan4096"
style="font-size:8px;font-weight:normal;text-align:center;text-anchor:middle"
y="306.51288"
x="221.45082"
sodipodi:role="line">RTM</tspan><tspan
id="tspan4098"
style="font-size:8px;font-weight:normal;text-align:center;text-anchor:middle"
y="316.51288"
x="221.45082"
sodipodi:role="line">detector</tspan></text>
</g>
<text
sodipodi:linespacing="125%"
id="text4102"
......
......@@ -9,8 +9,8 @@
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="512.58307"
height="223.97836"
width="543.14948"
height="244.25069"
id="svg3599"
version="1.1"
inkscape:version="0.48.3.1 r9886"
......@@ -24,9 +24,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="243.01672"
inkscape:cy="55.323408"
inkscape:zoom="1.979899"
inkscape:cx="150.92458"
inkscape:cy="86.306985"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
......@@ -51,8 +51,8 @@
units="mm"
spacingx="0.5mm"
spacingy="0.5mm"
originx="-46.894846mm"
originy="-204.42944mm" />
originx="-46.894847mm"
originy="-198.70814mm" />
</sodipodi:namedview>
<metadata
id="metadata3604">
......@@ -318,17 +318,18 @@
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"
d="m 310.03937,276.37793 0,31.88974 168.30708,0 0,-31.88974 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"
d="m 398.62205,308.26767 0,-31.88974 8.85826,0"
id="path4608"
inkscape:connector-curvature="0" />
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
transform="translate(288.63881,342.70073)"
transform="translate(288.63881,324.98417)"
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"
......@@ -447,13 +448,13 @@
<text
style="font-size:15px"
id="text428"
x="513.08478"
x="520.86615"
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"
x="520.86615 523.75415 526.29016 531.36212 534.5061 539.40216 542.69812 545.84216 548.37811 554.92212 559.99414 564.91412 569.98615 572.52216 577.59412 579.81012 582.01813 585.16217 589.56213 594.63416 597.1701 602.21014 604.42615 607.56213 612.48212 615.77814 618.32214 620.53015 624.69812 627.23413 632.15411 637.22614 642.13013 647.20209 649.4101 654.33008"
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
......@@ -471,13 +472,13 @@
<text
style="font-size:15px"
id="text436"
x="513.08478"
x="520.86615"
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"
x="520.86615 523.75415 526.29016 531.36212 534.5061 539.40216 542.69812 545.84216 548.37811 554.92212 559.99414 564.91412 569.98615 572.52216 577.59412 579.81012 582.01813 585.16217 589.56213 594.63416 597.1701 602.21014 604.42615 607.56213 612.48212 615.77814 618.32214 620.53015 624.69812 627.23413 632.30609 634.52209 638.68213 643.58612 648.65808 650.86615 655.78607"
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
......@@ -495,14 +496,20 @@
<text
style="font-size:15px"
id="text444"
x="514.12476"
x="520.86615"
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"
x="520.86615 523.74615 526.28217 532.57819 537.65015 540.79413 545.86615 550.93817 554.07416 556.61816 563.15417 568.2262 573.14618 578.21814 580.76215 585.83417 588.04218 590.25812 593.39417 597.79413 602.86615 605.41016 610.45013 612.65814 615.80219 620.72217 624.01813 626.55414 628.77014 632.93011 635.47418 640.3941 645.46613 650.36218 655.43414 657.65015 662.57013"
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>
<tspan
sodipodi:role="line"
y="325.98419"
x="520.86615 523.74615 526.28217 532.57819 537.65015 540.79413 545.86615 550.93817 554.07416 556.61816 563.15417 568.2262 573.14618 578.21814 580.76215 585.83417 588.04218 590.25812 593.39417 597.79413 602.86615 605.41016 610.45013 612.65814 615.80219 620.72217 624.01813 626.55414 628.77014 632.93011 635.47418 640.3941 645.46613 650.36218 655.43414 657.65015 662.57013"
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"
id="tspan3115" />
</text>
<text
style="font-size:15px"
......@@ -519,13 +526,13 @@
<text
style="font-size:15px"
id="text452"
x="514.12476"
x="520.86615"
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"
x="520.86615 523.74615 526.28217 532.57819 537.65015 540.79413 545.86615 550.93817 554.07416 556.61816 563.15417 568.2262 573.14618 578.21814 580.76215 585.83417 588.04218 590.25812 593.39417 597.79413 602.86615 605.41016 610.45013 612.65814 615.80219 620.72217 624.01813 626.55414 628.77014 632.93011 635.47418 640.54614 642.75415 646.92212 651.81818 656.89014 659.10614 664.02612"
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
......@@ -653,7 +660,7 @@
sodipodi:nodetypes="cc" />
<path
sodipodi:type="arc"
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3082"
sodipodi:cx="71.238731"
sodipodi:cy="64.279526"
......@@ -711,5 +718,74 @@
</g>
</g>
</g>
<text
sodipodi:linespacing="125%"
id="text3099"
y="249.8031"
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
style="text-align:end;text-anchor:end"
y="249.8031"
x="565.15747"
id="tspan3101"
sodipodi:role="line">ERROR</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="641.33868"
y="249.8031"
id="text3109"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3111"
x="641.33868"
y="249.8031">pulse_err_p_o</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 566.92913,246.25979 72.6378,0"
id="path3113"
inkscape:connector-curvature="0" />
<text
y="336.61414"
x="487.20471"
id="text3117"
style="font-size:15px">
<tspan
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"
sodipodi:role="line"
id="tspan3119"
x="487.20471"
y="336.61414">ERROR</tspan>
</text>
<text
y="336.61414"
x="520.86615"
id="text3137"
style="font-size:15px">
<tspan
id="tspan3141"
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"
x="520.86615 520.86615 520.86615 520.86615 523.74615 526.28217 532.57819 537.65015 540.79413 545.86615 550.93817 554.07416 556.61816 563.15417 568.2262 573.14618 578.21814 580.76215 585.83417 588.04218 590.25812 593.39417 597.79413 602.86615 605.41016 610.45013 612.65814 615.80219 620.72217 624.01813 626.55414 628.77014 632.93011 635.47418 640.3941 645.46613 650.36218 655.43414 657.65015 662.57013"
y="336.61414 336.61414 336.61414 336.61414"
sodipodi:role="line" />
</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="520.86615"
y="336.61414"
id="text3145"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3147"
x="520.86615"
y="336.61414"
style="font-size:8px">- Pulse arrived within one pulse period of</tspan><tspan
sodipodi:role="line"
x="520.86615"
y="346.61414"
style="font-size:8px"
id="tspan3149">a previous pulse</tspan></text>
</g>
</svg>
......@@ -66,8 +66,9 @@
14-02-2014 & 2.00 & Version 2.0 of gateware, with diagnostics support including: unique board ID
and temperature readout, input pulse counters, pulse time-tagging and
manual pulse triggering. \\
26-03-2014 & 2.10 & Version 2.1 of gateware, bringing down the max. allowed pulse frequency
to 1.6~kHz and changing the pulse timetag FIFO for a timetag buffer\\
08-04-2014 & 2.10 & Version 2.1 of gateware, bringing down the max. allowed input pulse frequency,
changing the ERR LED behaviour, adding system errors and changing the pulse
timetag FIFO for a timetag ring buffer \\
\hline
\end{tabular}
}
......@@ -314,46 +315,7 @@ FPGA architecture is not guaranteed to provide the same results. The \textit{res
module has an initial value set for the counter signal after power-up, which is guaranteed
by XST to be set after the FPGA's GSR signal is de-asserted.
By default, the reset time is set to 100~$ms$.
%==============================================================================
% SEC: RTM detection
%==============================================================================
\pagebreak
\section{RTM detection}
\label{sec:rtm-detect}
\centerline
{
\begin{tabular}{l l l}
\hline
\textbf{Entity} & \textit{rtm\_detector} & \\
\textbf{Ports} & \textit{rtmm\_i(2..0)} & RTM mainboard detection lines \\
& \textit{rtmp\_i(2..0)} & RTM piggyback detection lines \\
& \textit{rtmm\_ok\_o} & RTM mainboard present \\
& \textit{rtmp\_ok\_o} & RTM piggyback present \\
\textbf{Usage} & Light ERR status LED & \\
\hline
\end{tabular}
}
\vspace*{11pt}
RTM detection is described in \cite{rtm-det}. Since an RTMM/P missing would mean
all \textit{rtmm\_i}/\textit{rtmp\_i} lines are all-ones, the \textit{rtm\_detector}
module sets the \textit{rtmm\_ok} and \textit{rtmp\_ok} signals low if the
\textit{rtmm\_i} and \textit{rtmp\_i} input signals are respectively all-ones.
The \textit{rtmm\_ok} and \textit{rtmp\_ok} signals are NANDed together to light
the ERR status LED on the CONV-TTL-BLO. The status of the RTM detection lines
can also be read via their respective fields in the converter board status register
(SR -- see Appendix~\ref{app:conv-regs-sr}).
\begin{figure}[h]
\centerline{\includegraphics[width=.76\textwidth]{fig/rtm-detect}}
\caption{\textit{rtm\_detector} block in CONV-TTL-BLO gateware}
\label{fig:rtm-detect}
\end{figure}
By default, the reset time is set to 100~ms.
%==============================================================================
% SEC: Bicolor LEDs
......@@ -493,6 +455,7 @@ selection signals to these multiplexers are set throughout the logic.
& \textit{en\_i} & Pulse generator enable \\
& \textit{gf\_en\_n\_i} & Active-low glitch filter enable \\
& \textit{trig\_a\_i} & Pulse trigger \\
& \textit{pulse\_err\_p\_o} & Pulse error \\
& \textit{pulse\_o} & Pulse output \\
\textbf{Usage} & Output pulse & 1.2~$\mu$s pulses with min. period of 6~$\mu$s \\
& & and one-cycle wide glitch filter \\
......@@ -574,6 +537,13 @@ is in this rejection state, they are not replicated at the output. The pulse rej
phase lasts for \textit{g\_duty\_cycle\_div}*\textit{g\_pwidth}, yielding a maximum duty
cycle of 1/\textit{g\_duty\_cycle\_div} for input pulses.
Should a pulse rising-edge arrive anywhere within the generation or rejection phase
in the FSM, the \textit{pulse\_err\_p\_o} output is set high for one clock cycle. This
signal can be used to, e.g., count the number of pulses that were rejected on a board. In
the actual top-level design, however, missed pulse counting is not implemented, the
\textit{pulse\_err\_p\_o} output simply asserts the SR.PMISSE bit (see
Appendix~\ref{app:conv-regs-sr}).
Note that due to the fact that the counter starts counting up from zero and delays
in the glitch filter when it is enabled, the maximum value of the internal counter is not
\textit{g\_pwidth}. Instead, the counter counts up to a pair of VHDL constants defined
......@@ -905,7 +875,6 @@ The folder structure for the project is presented below.
\end{itemize}
\item conv\_pulse\_gen.vhd
\item reset\_gen.vhd
\item rtm\_detector.vhd
\end{itemize}
\item sim/
\item syn/
......@@ -1052,9 +1021,6 @@ top-level file.
Status LEDs & -- \textit{bicolor\_led\_ctrl} instantiation \newline
-- connecting the \textit{led\_state\_i} input of the
component to the relevant control signals \\
RTM detection & -- inverting the input signals from the RTM detection lines \newline
-- \textit{rtm\_detector} component instantiation \\
\end{longtable}
} % end rowcolors
......
......@@ -32,8 +32,7 @@ peripheral {
Rightmost nibble hex value is minor release decimal value \
e.g. \
0x11 -- v1.1 \
0x1e -- v1.14 \
0x20 -- v2.0";
0x2e -- v2.14";
prefix = "gwvers";
type = SLV;
size = 8;
......@@ -43,12 +42,7 @@ peripheral {
field {
name = "Status of on-board switches";
description = "0 -- switch is ON \
1 -- switch is OFF \
bit 0 -- SW1.1 \
... \
bit 4 -- SW2.1 \
... \
bit 7 -- SW2.4";
1 -- switch is OFF";
prefix = "switches";
type = SLV;
size = 8;
......@@ -89,7 +83,8 @@ peripheral {
field {
name = "I2C communication error";
description = "1 -- attempted to address non-existing address \
0 -- idle";
0 -- idle \
This bit can be cleared by writing a '1' to it";
prefix = "i2c_err";
type = BIT;
access_dev = READ_WRITE;
......@@ -99,7 +94,8 @@ peripheral {
field {
name = "Pulse missed error";
description = "1 -- pulse arrived during pulse rejection phase \
0 -- idle";
0 -- idle \
This bit can be cleared by writing a '1' to it";
prefix = "pmisse";
type = BIT;
access_dev = READ_WRITE;
......
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