Commit 72ab2f7e authored by Theodor-Adrian Stana's avatar Theodor-Adrian Stana

doc: Updated HDL guide for new v0.0 release

parent dade03a5
......@@ -9,7 +9,7 @@
\noindent \rule{\textwidth}{.1cm}
\hfill August 12, 2014
\hfill January 5, 2015
\vspace*{3cm}
......
\subsection{Converter board registers}
\label{app:conv-regs}
Base address: 0x000
{
\rowcolors{2}{white}{gray!25}
\begin{longtable}{l l l p{.5\textwidth}}
\hline
\textbf{Offset} & \textbf{Reset} & \textbf{Name}
& \textbf{Description} \\
\hline
\endfirsthead
\hline
\textbf{Offset} & \textbf{Reset} & \textbf{Name}
& \textbf{Description} \\
\hline
\endhead
\hline
\endfoot
0x0 & 0x54343835 & BIDR & Board ID Register\\
0x4 & (1) & SR & Status Register\\
0x8 & 0x00000000 & CR & Control Register\\
0x88 & (2) & LSR & Line Status Register\\
0x8c & 0x00000000 & OSWR & Other Switches 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.
\noindent Note (2): The reset value of the LSR cannot be specified, since it depends on whether a cable
is plugged into the channel or not.
\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}BIDR[31:24]}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BIDR[23:16]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BIDR[15:8]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{8}{|c|}{\cellcolor{gray!25}BIDR[7:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
BIDR
} [\emph{read-only}]: ID register bits
\\
Reset value: 0x54343835
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\pagebreak
\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|}{\cellcolor{gray!25}I2C\_ERR}\\
\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 \\ 0x2e -- v2.14
\end{small}
\item \begin{small}
{\bf
SWITCHES
} [\emph{read-only}]: Status of on-board general-purpose switches
\\
1 -- switch is ON \\ 0 -- switch is OFF
\end{small}
\item \begin{small}
{\bf
RTM
} [\emph{read-only}]: RTM detection lines~\cite{rtm-det}
\\
1 -- line active \\ 0 -- line inactive
\end{small}
\item \begin{small}
{\bf
I2C\_WDTO
} [\emph{read/write}]: I2C communication watchdog timeout error
\\
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}
{\bf
I2C\_ERR
} [\emph{read/write}]: I2C communication error
\\
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}
\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{1}{c|}{-}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{1}{|c}{-} & - & - & - & - & - & \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}
\end{itemize}
\subsubsection{LSR -- Line Status Register}
\label{app:conv-regs-lsr}
\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{6}{|c|}{\cellcolor{gray!25}REARFS[5:0]} & - & \multicolumn{1}{c|}{-}\\
\hline
23 & 22 & 21 & 20 & 19 & 18 & 17 & 16\\
\hline
\multicolumn{1}{|c}{-} & - & \multicolumn{6}{|c|}{\cellcolor{gray!25}FRONTFS[5:0]}\\
\hline
15 & 14 & 13 & 12 & 11 & 10 & 9 & 8\\
\hline
\multicolumn{6}{|c|}{\cellcolor{gray!25}REAR[5:0]} & \multicolumn{2}{|c|}{\cellcolor{gray!25}FRONTINV[3:2]}\\
\hline
7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
\hline
\multicolumn{2}{|c|}{\cellcolor{gray!25}FRONTINV[1:0]} & \multicolumn{6}{|c|}{\cellcolor{gray!25}FRONT[5:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
FRONT
} [\emph{read-only}]: Front panel channel input state
\\
Line state at board input\\ Bit 0 -- channel 1\\ Bit 1 -- channel 2\\ etc.
\end{small}
\item \begin{small}
{\bf
FRONTINV
} [\emph{read-only}]: Front panel INV-TTL input state
\\
Line state at board input\\ Bit 0 -- channel A\\ Bit 1 -- channel B\\ Bit 2 -- channel C\\ Bit 3 -- channel D
\end{small}
\item \begin{small}
{\bf
REAR
} [\emph{read-only}]: Rear panel input state
\\
Line state at board input\\ Bit 0 -- channel 1\\ Bit 1 -- channel 2\\ etc.
\end{small}
\item \begin{small}
{\bf
FRONTFS
} [\emph{read-only}]: TTL-BAR no signal detect state
\\
High if no cable is plugged in while in TTL-BAR mode \\
Unused in TTL mode \\ Bit 0 -- channel 1\\ Bit 1 -- channel 2\\ etc.
\end{small}
\item \begin{small}
{\bf
REARFS
} [\emph{read-only}]: Rear panel input failsafe state
\\
High if line is in failsafe mode (e.g., no cable plugged in)\\ Bit 0 -- channel 1\\ Bit 1 -- channel 2\\ etc.
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
\vspace{11pt}
\subsubsection{OSWR -- Other Switches Register}
\label{app:conv-regs-oswr}
\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{1}{|c}{-} & - & - & - & \multicolumn{4}{|c|}{\cellcolor{gray!25}SWITCHES[3:0]}\\
\hline
\end{tabular}
}
\begin{itemize}
\item \begin{small}
{\bf
SWITCHES
} [\emph{read-only}]: State of on-board Multicast switches
\\
1 -- switch is ON \\ 0 -- switch is OFF
\end{small}
\item \begin{small}
\textbf{Unimplemented bits}: write as '0', read undefined
\end{small}
\end{itemize}
......@@ -67,9 +67,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="208.93153"
inkscape:cy="118.66757"
inkscape:zoom="2.8"
inkscape:cx="385.1354"
inkscape:cy="136.57954"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
......@@ -475,16 +475,6 @@
id="path3894"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.25;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.25;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path5607"
sodipodi:cx="12.60742"
sodipodi:cy="57.279011"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 13.60742,57.279011 c 0,0.552285 -0.447715,1 -1,1 -0.552285,0 -1,-0.447715 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
transform="matrix(2,0,0,2,574.78516,92.804161)" />
<path
transform="matrix(2,0,0,2,574.78516,67.804161)"
d="m 13.60742,57.279011 c 0,0.552285 -0.447715,1 -1,1 -0.552285,0 -1,-0.447715 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
......
......@@ -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="331.05316"
height="96"
width="351.05316"
height="91"
id="svg3876"
version="1.1"
inkscape:version="0.48.3.1 r9886"
......@@ -54,8 +54,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="145.76561"
inkscape:cy="-2.0634765"
inkscape:cx="229.50438"
inkscape:cy="18.79113"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
......@@ -77,8 +77,8 @@
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
originx="-23.94685px"
originy="-899.5px" />
originx="-3.9468502px"
originy="-904.5px" />
</sodipodi:namedview>
<metadata
id="metadata3881">
......@@ -88,7 +88,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
......@@ -96,18 +96,13 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-23.94685,-56.862183)">
transform="translate(-3.9468502,-56.862183)">
<path
style="fill:none;stroke:#000000;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 140.86614,83.93695 -44.29133,0 0,-17.71653 -26.57481,0"
id="path16881"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 96.57481,66.22042 141.73228,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"
d="m 50,66.22042 188,0"
id="path16883"
inkscape:connector-curvature="0" />
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 238.30709,60.90547 c 0,8.85825 0,8.85825 0,17.71652 12.04146,0 17.71654,-3.5433 17.71654,-8.85827 0,-5.31496 -5.67508,-8.85825 -17.71654,-8.85825 z"
......@@ -115,48 +110,38 @@
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 140.86615,133.54325 -26.57481,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"
d="m 107.79529,127.39274 -26.574812,0"
id="path4566"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
transform="translate(-13.408429,82.93692)"
d="m 111.75489,-16.716501 a 1.7716535,1.7716535 0 1 1 -3.54331,0 1.7716535,1.7716535 0 1 1 3.54331,0 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.56;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:type="arc" />
<text
sodipodi:linespacing="125%"
id="text4622"
y="135.36218"
x="113"
y="129.21167"
x="79.929138"
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="135.36218"
x="113"
y="129.21167"
x="79.929138"
sodipodi:role="line"
id="tspan3013"
style="font-size:6px;text-align:end;text-anchor:end">20 MHz</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 202.87402,83.93695 17.71653,0 0,-10.62992 17.71654,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"
d="m 202.87402,84.362183 17.71653,0 0,-11.055153 17.71654,0"
id="path16971"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
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 256.02362,69.76372 8.85827,0"
id="path16973"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
transform="translate(29.111253,116.59834)"
d="m 111.75489,-16.716501 a 1.7716535,1.7716535 0 1 1 -3.54331,0 1.7716535,1.7716535 0 1 1 3.54331,0 z"
transform="translate(-3.9596088,100.53538)"
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"
......@@ -168,125 +153,114 @@
style="opacity:0.98999999;fill:#000000;fill-opacity:0.1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect16159"
width="62.007866"
height="70.866119"
x="140.86615"
y="75.07869" />
height="62"
x="107.79529"
y="75.362183" />
<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 140.86614,128.22829 7.92662,5.2844 -7.92662,5.34552"
d="m 107.79528,122.07778 7.92662,5.2844 -7.92662,5.34552"
id="path4425"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<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="142.6378"
y="87.480263"
id="text16885"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan16887"
x="142.6378"
y="87.480263">cnt</tspan></text>
<text
sodipodi:linespacing="125%"
id="text16889"
y="87.480263"
x="178.07086"
x="145"
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="87.480263"
x="178.07086"
x="145"
id="tspan16891"
sodipodi:role="line">en_o</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3010"
y="119.37003"
x="170.98425"
y="112.36218"
x="137.91339"
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="119.37003"
x="170.98425"
y="112.36218"
x="137.91339"
id="tspan3012"
sodipodi:role="line"
style="font-size:12px;font-weight:bold;text-align:center;text-anchor:middle">&lt;1999</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3012"
y="103.42514"
x="142.6378"
y="87.362183"
x="109.56694"
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="103.42514"
x="142.6378"
y="87.362183"
x="109.56694"
id="tspan3014"
sodipodi:role="line">rst</tspan></text>
<path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
id="path3936-1"
d="m 24.19685,57.761133 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 4.1968502,57.761133 c 5.16063,6.88084 5.16063,10.32125 0,17.20209 12.0414598,0 20.6425098,0 25.8031498,-8.60104 -5.16064,-8.60105 -13.76169,-8.60105 -25.8031498,-8.60105 z"
style="opacity:0.3;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" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3838"
d="m 55,66.362183 10.000001,0"
d="m 35,66.362183 10.000001,0"
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker3062)" />
<rect
y="57.362183"
x="295"
height="95"
height="90"
width="60"
id="rect4950"
style="opacity:0.3;fill:#e5e5e5;fill-opacity:1;stroke-width:0.56;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<path
inkscape:connector-curvature="0"
id="path4952"
d="m 295,57.362183 0,94.999997"
d="m 295,57.362183 0,89.999997"
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 115,99.88183 22.32284,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"
d="m 81.929138,83.818873 22.322842,0"
id="path3790"
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="206.41733"
y="92.795258"
x="175"
y="112.36218"
id="text3017"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3019"
x="206.41733"
y="92.795258"
x="175"
y="112.36218"
style="font-size:6px">en_o = '0'</tspan><tspan
sodipodi:role="line"
x="206.41733"
y="100.29526"
x="175"
y="119.86218"
id="tspan3025"
style="font-size:6px"><tspan
style="font-size:6px;font-weight:bold"
id="tspan3027">if</tspan> cnt &lt; 1999</tspan><tspan
sodipodi:role="line"
x="206.41733"
y="107.79526"
x="175"
y="127.36218"
style="font-size:6px"
id="tspan3825">(line low for</tspan><tspan
sodipodi:role="line"
x="206.41733"
y="115.29526"
x="175"
y="134.86218"
style="font-size:6px"
id="tspan3827">100 us)</tspan></text>
<rect
y="57.362183"
x="70"
height="93.897598"
width="194.8819"
x="50"
height="90"
width="214.88177"
id="rect3779"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:6, 2;stroke-dashoffset:0"
rx="8.858223"
......@@ -300,21 +274,21 @@
<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="113"
y="101.36218"
x="79.929138"
y="85.299225"
id="text4465"
sodipodi:linespacing="125%"><tspan
style="font-size:6px;text-align:end;text-anchor:end"
id="tspan4467"
sodipodi:role="line"
x="113"
y="101.36218">rst_n</tspan></text>
x="79.929138"
y="85.299225">rst_n</tspan></text>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4914"
d="m 270,69.76374 21.4567,0"
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#TriangleOutM)" />
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#TriangleOutM)" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
......@@ -329,24 +303,66 @@
<text
sodipodi:linespacing="125%"
id="text4973"
y="122.36218"
y="112.36218"
x="300"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
y="122.36218"
y="112.36218"
x="300"
id="tspan4975"
sodipodi:role="line"
style="font-weight:bold">Conv.</tspan><tspan
y="134.86218"
y="124.86218"
x="300"
sodipodi:role="line"
id="tspan4977"
style="font-weight:bold">common</tspan><tspan
y="147.36218"
y="137.36218"
x="300"
sodipodi:role="line"
id="tspan4979"
style="font-weight:bold">gateware</tspan></text>
<rect
y="75.362183"
x="190"
height="22"
width="12.999971"
id="rect3029"
style="opacity:0.98999999;fill:#000000;fill-opacity:0.1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<path
sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
id="path3031"
d="m 190,91.362183 2,2 -2,2"
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:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 145.96704,27.49903 20.08611,0"
id="path3033"
inkscape:connector-curvature="0"
transform="translate(23.94685,56.862183)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3062)"
d="m 230,95.362183 -23,-3"
id="path3815"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<text
sodipodi:linespacing="125%"
id="text4001"
y="97.362183"
x="232"
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="tspan4011"
style="font-size:6px"
y="97.362183"
x="232"
sodipodi:role="line">one cycle</tspan><tspan
style="font-size:6px"
y="104.86218"
x="232"
sodipodi:role="line"
id="tspan4024">delay</tspan></text>
</g>
</svg>
......@@ -9,14 +9,43 @@
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="298.41779"
height="139.18898"
width="310.81934"
height="130.3307"
id="svg16149"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="no-sig-detect.svg">
<defs
id="defs16151" />
id="defs16151">
<marker
inkscape:stockid="TriangleOutL"
orient="auto"
refY="0"
refX="0"
id="TriangleOutL"
style="overflow:visible">
<path
id="path4002"
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="path4005"
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"
......@@ -25,8 +54,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="90.634225"
inkscape:cy="40.077438"
inkscape:cx="250.07998"
inkscape:cy="-51.040384"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
......@@ -51,11 +80,11 @@
units="mm"
spacingx="0.5mm"
spacingy="0.5mm"
originx="-22.358889mm"
originx="-22.420978mm"
originy="-243.35889mm" />
<sodipodi:guide
orientation="0,1"
position="177.66535,174.12206"
position="177.44535,174.12206"
id="guide3808" />
</sodipodi:namedview>
<metadata
......@@ -74,7 +103,7 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-79.224409,-50.877898)">
transform="translate(-79.444409,-59.736178)">
<path
style="fill:none;stroke:#000000;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 177.16535,122.24407 -44.29133,0 0,-17.71653 -26.57481,0"
......@@ -151,7 +180,7 @@
style="text-align:end;text-anchor:end">20 MHz</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 239.17323,122.24407 17.71653,0 0,-10.62992 17.71654,0"
d="m 242.71653,122.24405 14.17323,0 0,-10.6299 17.71654,0"
id="path16971"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
......@@ -191,8 +220,9 @@
<path
inkscape:connector-curvature="0"
id="path17016"
d="m 377.3622,95.669269 -35.43307,0"
style="fill:none;stroke:#b2b2b2;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
d="m 389.76378,95.669269 -47.83465,0"
style="fill:none;stroke:#b2b2b2;stroke-width:0.56;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
sodipodi:nodetypes="cc" />
<path
sodipodi:type="arc"
style="fill:#b2b2b2;fill-opacity:1;fill-rule:nonzero;stroke:#b2b2b2;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
......@@ -209,77 +239,74 @@
id="path17022"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<g
id="g3810">
<path
sodipodi:type="arc"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="path3020"
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(65.410462,154.90546)" />
<rect
y="113.3858"
x="177.16536"
height="70.866119"
width="62.007866"
id="rect16159"
style="opacity:0.98999999;fill:#000000;fill-opacity:0.1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
<path
sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
id="path4425"
d="m 177.16535,166.53541 7.92662,5.2844 -7.92662,5.34552"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<text
sodipodi:linespacing="125%"
id="text16885"
y="125.78738"
<path
transform="translate(65.410462,154.90546)"
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="path3020"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:type="arc" />
<rect
style="opacity:0.98999999;fill:#000000;fill-opacity:0.1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
id="rect16159"
width="62.007866"
height="70.866119"
x="177.16536"
y="113.3858" />
<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 177.16535,166.53541 7.92662,5.2844 -7.92662,5.34552"
id="path4425"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<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="178.93701"
y="125.78738"
id="text16885"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan16887"
x="178.93701"
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="125.78738"
x="178.93701"
id="tspan16887"
sodipodi:role="line">cnt</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"
y="125.78738">cnt</tspan></text>
<text
sodipodi:linespacing="125%"
id="text16889"
y="125.78735"
x="214.37007"
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="125.78735"
x="214.37007"
y="125.78738"
id="text16889"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan16891"
x="214.37007"
y="125.78738">en_o</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="207.28346"
id="tspan16891"
sodipodi:role="line">en_o</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3010"
y="157.67714"
x="207.28346"
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="157.67714"
id="text3010"
sodipodi:linespacing="125%"><tspan
style="font-size:12px;font-weight:bold;text-align:center;text-anchor:middle"
sodipodi:role="line"
id="tspan3012"
x="207.28346"
y="157.67714">&lt;1999</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="178.93701"
x="207.28346"
id="tspan3012"
sodipodi:role="line"
style="font-size:12px;font-weight:bold;text-align:center;text-anchor:middle">&lt;1999</tspan></text>
<text
sodipodi:linespacing="125%"
id="text3012"
y="141.73225"
x="178.93701"
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="141.73225"
id="text3012"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3014"
x="178.93701"
y="141.73225">rst</tspan></text>
</g>
x="178.93701"
id="tspan3014"
sodipodi:role="line">rst</tspan></text>
<path
sodipodi:type="arc"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.56;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
......@@ -299,31 +326,31 @@
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="242.71654"
y="131.10236"
y="131.10233"
id="text3017"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3019"
x="242.71654"
y="131.10236"
style="font-size:6px">en_o = '1'</tspan><tspan
y="131.10233"
style="font-size:6px">en_o = '0'</tspan><tspan
sodipodi:role="line"
x="242.71654"
y="138.60236"
y="138.60233"
id="tspan3025"
style="font-size:6px"><tspan
style="font-size:6px;font-weight:bold"
id="tspan3027">if</tspan> cnt &lt; 1999</tspan><tspan
sodipodi:role="line"
x="242.71654"
y="146.10236"
y="146.10233"
style="font-size:6px"
id="tspan3825">(line high for</tspan><tspan
id="tspan3825">(line disabled if</tspan><tspan
sodipodi:role="line"
x="242.71654"
y="153.60236"
y="153.60233"
style="font-size:6px"
id="tspan3827">&lt;100 us)</tspan></text>
id="tspan3827">high for &gt;100 us)</tspan></text>
<rect
y="95.669281"
x="106.29921"
......@@ -339,5 +366,91 @@
id="path3036"
inkscape:connector-curvature="0"
transform="translate(79.224409,50.87793)" />
<path
transform="translate(146.90652,138.96055)"
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="path3038"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.56;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:type="arc" />
<rect
y="127.55901"
x="327.75589"
height="62.00787"
width="62.007866"
id="rect4950"
style="opacity:0.3;fill:#e5e5e5;fill-opacity:1;stroke-width:0.56;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
sodipodi:linespacing="125%"
id="text4973"
y="166.53539"
x="331.29919"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
y="166.53539"
x="331.29919"
id="tspan4975"
sodipodi:role="line"
style="font-size:8px;font-weight:bold">Conv.</tspan><tspan
y="176.53539"
x="331.29919"
sodipodi:role="line"
id="tspan4977"
style="font-size:8px;font-weight:bold">common</tspan><tspan
y="186.53539"
x="331.29919"
sodipodi:role="line"
id="tspan4979"
style="font-size:8px;font-weight:bold">gateware</tspan></text>
<rect
y="139.96059"
x="331.29919"
height="9.9999847"
width="52.830513"
id="rect3959"
style="fill:#ffffff;fill-opacity:1;stroke:#b2b2b2;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#b2b2b2;fill-opacity:1;stroke:none;font-family:Sans"
x="334.8425"
y="147.14465"
id="text3961"
sodipodi:linespacing="125%"><tspan
style="font-size:6px;font-weight:bold;fill:#b2b2b2;fill-opacity:1"
sodipodi:role="line"
id="tspan3963"
x="334.8425"
y="147.14465">LSR.FRONTFS</tspan></text>
<path
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 327.75589,189.56688 0,-62.00787 62.00787,0"
id="path3082"
inkscape:connector-curvature="0" />
<path
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#TriangleOutL)"
d="m 221.95669,71.366149 8.85827,0 0,23.031496 12.40158,0"
id="path3854"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc"
transform="translate(79.224409,50.877898)" />
<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 221.95669,71.366149 -44.29134,0"
id="path4486"
inkscape:connector-curvature="0"
transform="translate(79.224409,50.877898)" />
<path
transform="translate(130.96164,138.96055)"
d="m 111.75489,-16.716501 a 1.7716535,1.7716535 0 1 1 -3.54331,0 1.7716535,1.7716535 0 1 1 3.54331,0 z"
sodipodi:ry="1.7716535"
sodipodi:rx="1.7716535"
sodipodi:cy="-16.716501"
sodipodi:cx="109.98324"
id="path3044"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
sodipodi:type="arc" />
</g>
</svg>
......@@ -10,7 +10,7 @@
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="290.5"
height="148"
height="198"
id="svg3211"
version="1.1"
inkscape:version="0.48.3.1 r9886"
......@@ -67,9 +67,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8284271"
inkscape:cx="209.7957"
inkscape:cy="9.6507271"
inkscape:zoom="2"
inkscape:cx="112.55832"
inkscape:cy="41.384317"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
......@@ -94,7 +94,7 @@
spacingx="1px"
spacingy="1px"
originx="40px"
originy="-744px" />
originy="-693px" />
</sodipodi:namedview>
<metadata
id="metadata3216">
......@@ -104,7 +104,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
......@@ -112,19 +112,10 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(40,-160.36218)">
<rect
y="227.36218"
x="60"
height="44.999996"
width="75"
id="rect3779"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 1;stroke-dashoffset:0"
rx="5"
ry="5" />
transform="translate(40,-161.36218)">
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker-start:none"
d="m 147.81815,161.36218 0,146"
d="m 148,162.36218 0,196"
id="path4728"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
......@@ -152,31 +143,21 @@
x="152.5"
sodipodi:role="line"
id="tspan4953">Board</tspan></text>
<path
transform="matrix(2,0,0,2,122.78516,142.80416)"
d="m 13.60742,57.279011 c 0,0.552285 -0.447715,1 -1,1 -0.552285,0 -1,-0.447715 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
sodipodi:ry="1"
sodipodi:rx="1"
sodipodi:cy="57.279011"
sodipodi:cx="12.60742"
id="path5613"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.25;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
sodipodi:type="arc" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 102.16535,242.36218 5.62991,0 0,5.37004 8.85827,0 0,-5.37004 10.51182,0"
d="m 102.16535,295.36218 5.62991,0 0,5.37004 8.85827,0 0,-5.37004 10.51182,0"
id="path5345"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
inkscape:connector-curvature="0"
id="path5357"
d="m 60,257.36218 75,0"
d="m 55,310.36218 93,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" />
<g
id="g5367"
transform="translate(-524.68504,108.54325)">
transform="translate(-524.68504,161.54325)">
<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 602.36221,141.73229 0,17.71654 17.71654,-10.62992 -17.71654,-10.62992 z"
......@@ -193,36 +174,30 @@
d="m 166.53544,116.92912 c 0,3.91383 -3.17279,7.08662 -7.08662,7.08662 -3.91383,0 -7.08661,-3.17279 -7.08661,-7.08662 0,-3.91383 3.17278,-7.08661 7.08661,-7.08661 3.91383,0 7.08662,3.17278 7.08662,7.08661 z"
transform="matrix(0.24999996,0,0,0.24999996,581.98819,119.58663)" />
</g>
<path
sodipodi:nodetypes="cc"
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker3062)"
d="m 30,257.36218 25,0"
id="path4313"
inkscape:connector-curvature="0" />
<rect
y="162.36218"
y="162.40637"
x="-40"
height="145"
height="194.95581"
width="65"
id="rect4950"
style="opacity:0.3;fill:#e5e5e5;fill-opacity:1;stroke-width:0.56;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<path
inkscape:connector-curvature="0"
id="path4952"
d="m 25,162.36218 0,145"
d="m 25,162.36218 0,195"
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
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;opacity:0.3;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="20"
y="260.36218"
y="242.36218"
id="text4969"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4971"
x="20"
y="260.36218"
y="242.36218"
style="text-align:end;text-anchor:end">led_pulse_o</tspan></text>
<text
sodipodi:linespacing="125%"
......@@ -279,30 +254,16 @@
sodipodi:ry="1"
d="m 13.60742,57.279011 c 0,0.552285 -0.447715,1 -1,1 -0.552285,0 -1,-0.447715 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
transform="matrix(2,0,0,2,122.78516,87.804158)" />
<text
sodipodi:linespacing="125%"
id="text3769"
y="236.36218"
x="83"
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="236.36218"
x="83"
sodipodi:role="line"
id="tspan4961"><tspan
style="font-size:6px;font-weight:bold;text-align:center;text-anchor:middle"
id="tspan4965">6x</tspan> LED logic</tspan></text>
<path
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 30.511816,247.73222 5.629914,0 0,-5.37004 8.85827,0 0,5.37004 10.511816,0"
d="m 30,232.73222 5.629914,0 0,-5.37004 8.85827,0 0,5.37004 10.511816,0"
id="path4424"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<g
id="g4554"
style="opacity:0.3"
transform="translate(-0.57153918,-0.62987445)">
transform="translate(-0.57153918,52.370117)">
<path
inkscape:connector-curvature="0"
id="path3757"
......@@ -332,26 +293,23 @@
</g>
<path
style="opacity:0.3;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 225.5,97 39,0"
d="m 148,310.36218 31,0"
id="path4562"
inkscape:connector-curvature="0"
transform="translate(-85.5,160.36218)"
sodipodi:nodetypes="cc" />
<path
style="opacity:0.3;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 325.5,97 5,0 0,15"
d="m 240,310.36218 5,0 0,15"
id="path4566"
inkscape:connector-curvature="0"
transform="translate(-85.5,160.36218)"
sodipodi:nodetypes="ccc" />
<path
style="opacity:0.3;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 286.5,97 13,0 2,-3 3,6 3,-6 3,6 3,-6 3,6 3,-6 3,6 2,-3 1,0"
d="m 201,310.36218 13,0 2,-3 3,6 3,-6 3,6 3,-6 3,6 3,-6 3,6 2,-3 1,0"
id="path4570"
inkscape:connector-curvature="0"
transform="translate(-85.5,160.36218)" />
inkscape:connector-curvature="0" />
<g
transform="matrix(0,-1,1,0,28.858298,338.07121)"
transform="matrix(0,-1,1,0,28.858298,391.07121)"
id="g4128"
style="opacity:0.3">
<g
......@@ -402,5 +360,153 @@
d="m 49.6063,212.59842 0,7.08662"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
<path
sodipodi:nodetypes="cccccc"
inkscape:connector-curvature="0"
id="path3036"
d="m 199.37009,300.73222 5.62991,0 0,-5.37004 8.85827,0 0,5.37004 10.51182,0"
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
sodipodi:nodetypes="ccc"
inkscape:connector-curvature="0"
id="path3038"
d="m 240,242.36218 5,0 0,15"
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
inkscape:connector-curvature="0"
id="path3040"
d="m 140,242.36218 74,0 2,-3 3,6 3,-6 3,6 3,-6 3,6 3,-6 3,6 2,-3 1,0"
style="opacity:0.3;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="cccccccccccc" />
<g
style="opacity:0.3"
id="g3042"
transform="matrix(0,-1,1,0,28.858298,323.07121)">
<g
transform="matrix(0,-1.0577593,1.0577593,0,-192.41869,279.87711)"
id="g3044"
style="stroke-width:0.23634885;stroke-miterlimit:4;stroke-dasharray:none">
<path
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.23634885;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 60.283363,228.95835 -5.052989,8.23731 10.049478,0 z"
id="path3046"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 67.322842,216.20147 -14.173236,0"
id="path3048"
inkscape:connector-curvature="0"
transform="matrix(0,0.47269769,-0.47269769,0,162.45305,212.20922)"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.47269768px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 60.255113,232.15897 0,-11.76127"
id="path3050"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
transform="matrix(-0.94539467,0,0,-0.94539467,372.70805,349.91677)"
inkscape:connector-curvature="0"
id="path3052"
d="m 325.5,137 10,0"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.50000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
d="m 56.850744,210.82674 -3.543309,-3.60447"
id="path3054"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.50000036px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#TriangleOutM)"
d="m 51.53578,210.82674 -3.533467,-3.63435"
id="path3056"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 49.6063,212.59842 0,7.08662"
id="path3058"
inkscape:connector-curvature="0" />
</g>
<path
style="opacity:0.3;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 199.37009,232.73222 5.62991,0 0,-5.37004 8.85827,0 0,5.37004 10.51182,0"
id="path3060"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
transform="matrix(2,0,0,2,122.78516,195.80416)"
d="m 13.60742,57.279011 c 0,0.552285 -0.447715,1 -1,1 -0.552285,0 -1,-0.447715 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
sodipodi:ry="1"
sodipodi:rx="1"
sodipodi:cy="57.279011"
sodipodi:cx="12.60742"
id="path5613"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.25;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
sodipodi:type="arc" />
<path
style="opacity:0.3;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 95,82 70,82"
id="path3848"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
transform="translate(-40,160.36218)" />
<path
sodipodi:type="arc"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.25;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3850"
sodipodi:cx="12.60742"
sodipodi:cy="57.279011"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 13.60742,57.279011 c 0,0.552285 -0.447715,1 -1,1 -0.552285,0 -1,-0.447715 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
transform="matrix(2,0,0,2,122.78516,127.80416)" />
<path
style="opacity:0.3;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 45,242.36218 0,68 10,0"
id="path3852"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<text
sodipodi:linespacing="125%"
id="text3854"
y="257.36218"
x="100"
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="tspan3858"
style="font-size:6px;font-weight:normal;text-align:center;text-anchor:middle"
y="257.36218"
x="100"
sodipodi:role="line">Front panel LEDs</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="100"
y="332.36218"
id="text3862"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="100"
y="332.36218"
style="font-size:6px;font-weight:normal;text-align:center;text-anchor:middle"
id="tspan3864">Rear panel LEDs</tspan></text>
<rect
y="237.36218"
x="55"
height="105"
width="85"
id="rect3779"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 1;stroke-dashoffset:0"
rx="5"
ry="5" />
<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 180,81.999999 -84.999999,0 L 180,82"
id="path4617"
inkscape:connector-curvature="0"
transform="translate(-40,160.36218)" />
</g>
</svg>
......@@ -137,11 +137,11 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6"
inkscape:cx="120.05079"
inkscape:cy="53.256621"
inkscape:zoom="2.8"
inkscape:cx="214.57803"
inkscape:cy="4.4190344"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:current-layer="g4603"
showgrid="true"
inkscape:window-width="1855"
inkscape:window-height="1176"
......@@ -172,7 +172,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
......@@ -432,7 +432,7 @@
y="172.50232"
x="292.74756"
id="tspan4609"
sodipodi:role="line">MSWR</tspan></text>
sodipodi:role="line">OSWR</tspan></text>
</g>
<path
sodipodi:type="arc"
......
......@@ -36,3 +36,22 @@
title = {{Converter board common gateware specification on OHWR}},
howpublished = {\url{http://www.ohwr.org/documents/352}}
}
@misc{rtm-det,
title = {{Rear Transition Module detection}},
howpublished = {\url{http://www.ohwr.org/projects/conv-ttl-blo/wiki/RTM_board_detection}}
}
@misc{sdb,
title = {{SDB specification v1.1}},
howpublished = {\url{http://www.ohwr.org/documents/256}}
}
@misc{ug380,
title = {{UG380 - Spartan-6 Configuration Guide}},
author = {Xilinx},
month = jan,
year = {2013},
note = {v2.5},
howpublished = {\url{http://www.xilinx.com/support/documentation/user_guides/ug380.pdf}}
}
......@@ -9,8 +9,8 @@
% Hyperrefs
\usepackage[
colorlinks = true,
linkcolor = Mahogany,
citecolor = Mahogany,
linkcolor = black,
citecolor = black,
urlcolor = blue,
]{hyperref}
......@@ -46,11 +46,26 @@
\include{cern-title}
%------------------------------------------------------------------------------
% Revision history
% Licensing info
%------------------------------------------------------------------------------
\pagebreak
\addcontentsline{toc}{section}{Revision history}
\thispagestyle{empty}
\addcontentsline{toc}{section}{Licensing information}
\section*{Licensing information}
\noindent
This document is licensed under a Creative Commons Attribution-ShareAlike 4.0
International License. If you have not received a copy of the license along with this
work, see \\
\url{http://creativecommons.org/licenses/by-sa/4.0/}
%------------------------------------------------------------------------------
% Revision history
%------------------------------------------------------------------------------
\section*{Revision history}
\addcontentsline{toc}{section}{Revision history}
\centerline
{
......@@ -60,7 +75,7 @@
\multicolumn{1}{c}{\textbf{Date}} & \multicolumn{1}{c}{\textbf{Version}} & \multicolumn{1}{c}{\textbf{Change}} \\
\hline
06-08-2014 & 0.1 & First draft \\
12-08-2014 & 0.2 & Release for gateware v0.0 \\
05-01-2015 & 0.2 & Release for gateware v0.0 \\
\hline
\end{tabular}
}
......@@ -82,7 +97,7 @@
\begin{tabular}{l l}
FPGA & Field-Programmable Gate Array \\
LSR & Line Status Register \\
MSWR & Multicast Switch Register \\
OSWR & Other Switches Register \\
SR & Status Register \\
\end{tabular}
\addcontentsline{toc}{section}{List of abbreviations}
......@@ -97,7 +112,8 @@ SR & Status Register \\
This document is the HDL guide for the CONV-TTL-RS485 project~\cite{conv-ttl-rs485-ohwr}.
The HDL for the CONV-TTL-RS485 board uses the converter board common gateware~\cite{conv-common-gw}
as a subproject and adds some external logic to it to adapt for peculiarities on the CONV-TTL-RS485.
This short HDL guide explains these peculiarities and the corresponding logic implemented.
This short HDL guide explains these peculiarities and the corresponding logic implemented, and lists
the memory map for the gateware in Appendix~\ref{app:memmap}.
\subsection{Additional documentation}
......@@ -123,8 +139,10 @@ general look at the pulse repetition logic, refer to the CONV-TTL-RS485 User Gui
\caption{\label{fig:block-diagram} Block diagram of CONV-TTL-RS485 gateware}
\end{figure}
%==============================================================================
\pagebreak
\section{Input logic}
%==============================================================================
%==============================================================================
% SEC: TTL input logic
......@@ -140,11 +158,16 @@ on.
In addition, because in TTL-BAR mode a lack of signal on the line is high (due
to the on-board Schmitt-trigger buffer), the \textit{no signal detect} block
(Figure~\ref{fig:no-sig-detect}) disables this line if it is high for 100~${\mu}s$,
to allow propagation of RS-485 pulses arriving on the rear panel while the channel
to allow propagation of blocking pulses arriving on the rear panel while the channel
has no cable plugged in while in TTL-BAR mode.
When in TTL-BAR mode, the FRONTFS bits of the lines status register
(LSR -- see Appendix~\ref{app:conv-regs-lsr}) contain the state of the no signal detect
block for each channel and can be used to check if no cable is plugged into the channel.
When in TTL mode, the FRONTFS bits are unused.
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{fig/ttl-inp}}
\centerline{\includegraphics[width=.9\textwidth]{fig/ttl-inp}}
\caption{\label{fig:ttl-inp} TTL/TTL-BAR input logic}
\centerline{\includegraphics[width=.8\textwidth]{fig/no-sig-detect}}
......@@ -184,13 +207,11 @@ line. It is implemented because in TTL-BAR mode, until an inactive line is disab
the TTL line is high and this may lead to a pulse triggered on the channel, due to reset
of modules within the \textit{conv\_common\_gw} component.
\begin{figure}[h]
\centerline{\includegraphics[width=.9\textwidth]{fig/first-pulse-inhibit}}
\caption{\label{fig:first-pulse-inhibit} First pulse inhibit mechanism}
\end{figure}
By keeping the line disabled until the no signal detect block in the TTL input logic
(Section~\ref{sec:ttl-input}) disables the line, no pulse is triggered on the channel.
As seen in Figure~\ref{fig:first-pulse-inhibit}, an extra clock cycle delay is needed before
the channel is enabled, to make sure that all reset states inside the \textit{conv\_common\_gw}
block have been finished and no pulses are generated.
To keep the logic simple, the pulse inhibit logic disables the line even when the board is in
TTL repetition mode. Since in practice the effect it has on the input to the
......@@ -198,6 +219,11 @@ TTL repetition mode. Since in practice the effect it has on the input to the
0.1\% delay from reset to full pulse replication capabilities is deemed insignificant
in comparison to logic simplification.
\begin{figure}[h]
\centerline{\includegraphics[width=.9\textwidth]{fig/first-pulse-inhibit}}
\caption{\label{fig:first-pulse-inhibit} First pulse inhibit mechanism}
\end{figure}
%==============================================================================
% SEC: Line input logic
%==============================================================================
......@@ -221,17 +247,18 @@ the Schmitt trigger) is reflected in the LSR.
\subsection{Switch input logic}
\label{sec:sw-input}
Similar to the line input logic (Section~\ref{sec:line-input}), the switch
lines must be negated for their active-high reflection in the SR and MSWR, as
shown in Figure~\ref{fig:switches}.
The switch lines must also be negated for their active-high reflection in the SR and
OSWR (see Appendix~\ref{app:memmap}), as shown in Figure~\ref{fig:switches}.
\begin{figure}[h]
\centerline{\includegraphics[width=.6\textwidth]{fig/switches}}
\caption{\label{fig:switches} Switch input logic}
\end{figure}
%==============================================================================
\pagebreak
\section{Output logic}
%==============================================================================
%==============================================================================
% SEC: TTL/TTL-BAR output logic
......@@ -245,7 +272,7 @@ the FPGA output when the TTL switch is ON, or that TTL-BAR pulses are propagated
when it is OFF.
\begin{figure}[h]
\centerline{\includegraphics[width=.7\textwidth]{fig/ttl-outp}}
\centerline{\includegraphics[width=.6\textwidth]{fig/ttl-outp}}
\caption{\label{fig:ttl-outp} TTL output logic}
\end{figure}
......@@ -255,15 +282,17 @@ when it is OFF.
\subsection{Pulse LED output logic}
\label{sec:pulse-led}
Since in the CONV-TTL-RS485 schematics the pulse LEDs are driven from inverting
Since in the CONV-TTL-RS485 schematics the rear-panel pulse LEDs are driven from inverting
Schmitt triggers to ground, the active-high pulse LED output from \textit{conv\_common\_gw}
must be inverted prior to driving the Schmitt trigger. This is done via the pulse
LED logic (Figure~\ref{fig:pulse-led}).
must be inverted prior to driving the Schmitt trigger. This is done in the pulse
LED logic (Figure~\ref{fig:pulse-led}). As can be seen in the figure, since the front-panel
LED lines are not inverted on-board, they are driven directly from the FPGA.
\begin{figure}[h]
\centerline{\includegraphics[width=.7\textwidth]{fig/pulse-led}}
\centerline{\includegraphics[width=.6\textwidth]{fig/pulse-led}}
\caption{\label{fig:pulse-led} Pulse LED logic}
\end{figure}
%==============================================================================
% SEC: Bicolor LED logic
%==============================================================================
......@@ -278,6 +307,60 @@ and color of the LED.
The way in which each LED is turned on is described in the CONV-TTL-RS485 User Guide~\cite{conv-ttl-rs485-ug}.
%======================================================================================
% Appendices
%======================================================================================
\pagebreak
\begin{appendices}
%==============================================================================
% APP: Memmap
%==============================================================================
\section{Memory map}
\label{app:memmap}
Table~\ref{tbl:memmap} shows the complete memory map of the gateware. The
following sections list the memory map of each peripheral.
In order to convert address values to register index values for SNMP access,
the following formula should be used:
\begin{center}
$reg. index = \frac{addr}{4} + 1$
\end{center}
\begin{table}[h]
\caption{\textit{conv\_common\_gw} memory map}
\label{tbl:memmap}
\centerline
{
\rowcolors{2}{white}{gray!25}
\begin{tabular}{l l l p{.4\textwidth}}
\hline
\multicolumn{1}{c}{\textbf{Peripheral}} & \multicolumn{2}{c}{\textbf{Address range}} & \multicolumn{1}{c}{\textbf{Description}} \\
\hline
Board registers & 0x000 & 0x0{}f{}f & Coverter board registers \\
MultiBoot & 0x100 & 0x11f & MultiBoot module \\
SDB descriptor & 0xf00 & 0xf{}f{}f & SDB descriptor (see~\cite{sdb}) \\
\hline
\end{tabular}
}
\end{table}
%%------------------------------------------------------------------------------
%% SUBSEC: conv-regs
%%------------------------------------------------------------------------------
\include{conv-regs}
%------------------------------------------------------------------------------
% SUBSEC: MultiBoot
%------------------------------------------------------------------------------
\include{multiboot-regs}
%==============================================================================
\end{appendices}
%==============================================================================
%==============================================================================
% Bibliography
%==============================================================================
......
\subsection{MultiBoot controller}
\label{app:multiboot-regs}
Base address: 0x100
{
\rowcolors{2}{white}{gray!25}
\begin{longtable}{l l l p{.5\textwidth}}
\hline
\textbf{Offset} & \textbf{Reset} & \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}
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