Commit 222e55cc authored by Theodor-Adrian Stana's avatar Theodor-Adrian Stana

Basic functionality with immunity to no input channel while in INV-TTL mode and…

Basic functionality with immunity to no input channel while in INV-TTL mode and documentation update.
parent 224a9757
ug/
old-ug-conv-ttl-blo.pdf
userGuide.pdf
@misc{StandardBlocking,
author= "C. Gil Soriano",
title= {{Standard Blocking Output Signal Definition for CTDAH board}},
month= sep,
year= 2011,
note = "{\url{http://www.ohwr.org/documents/109}}"
}
\ No newline at end of file
\relax
\ifx\hyper@anchor\@undefined
\global \let \oldcontentsline\contentsline
\gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global \let \oldnewlabel\newlabel
\gdef \newlabel#1#2{\newlabelxx{#1}#2}
\gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\let \contentsline\oldcontentsline
\let \newlabel\oldnewlabel}
\else
\global \let \hyper@last\relax
\fi
\citation{StandardBlocking}
\@writefile{toc}{\contentsline {paragraph}{Acknowledgements}{ii}{section*.1}}
\@writefile{toc}{\contentsline {paragraph}{System Description and Purpose}{ii}{section*.2}}
\@writefile{toc}{\contentsline {section}{\numberline {1}General schema}{1}{section.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}CERN Repetitors needs}{1}{subsection.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Front and Rear boards}{1}{subsection.1.2}}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Functional block schema}}{2}{figure.1}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Panels}{3}{section.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Front Panel: CONT-TTL-BLO}{3}{subsection.2.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Rear Panel: CONV-TTL-RTM-BLO}{3}{subsection.2.2}}
\@writefile{toc}{\contentsline {section}{\numberline {3}Power-up and System Monitoring}{4}{section.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Power Supplies}{4}{subsection.3.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Board Temperature}{4}{subsection.3.2}}
\citation{StandardBlocking}
\@writefile{toc}{\contentsline {section}{\numberline {4}FPGA Control and Pulse Converter Unit}{5}{section.4}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Board ID}{5}{subsection.4.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}HDL control}{5}{subsection.4.2}}
\citation{StandardBlocking}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Pulse Converter Unit}{6}{subsection.4.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.1}Input}{6}{subsubsection.4.3.1}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.2}Output}{6}{subsubsection.4.3.2}}
\@writefile{toc}{\contentsline {section}{\numberline {5}On board memory and FPGA reprogramming}{7}{section.5}}
\@writefile{toc}{\contentsline {section}{\numberline {6}Testing methodologies}{8}{section.6}}
\bibstyle{unsrt}
\bibdata{Functional}
\bibcite{StandardBlocking}{1}
%%This is a very basic article template.
%%There is just one section and two subsections.
\documentclass[a4paper,11pt]{article}
\usepackage[pdfborder= 0 0 0 1]{hyperref}
\usepackage{graphicx}
\begin{document}
\title{\textbf{{\LARGE CONV-TTL-BLO\\\textit{Standard Blocking Repeater in
VME64x Format}\\\Large
Functional Specifications}}}
\author{Carlos Gil Soriano\\BE-CO-HT\\
\href{mailto:carlos.gil.soriano@cern.ch}{\textbf{\textit{carlos.gil.soriano@cern.ch}}}}
\date{\today}
\maketitle
\thispagestyle{empty}
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.25, keepaspectratio]{Figures/CERN-Logo.png}
\end{center}
\end{figure}
\begin{abstract}
The present document gathers the functional specifications of the CONV-TTL-BLO
project, EDA-02446.\\
\textbf{History of changes}\\
This document version has been checked by:\\
This document version has been approved by:\\
\begin{center}
\begin{tabular}{|p{3.5cm}|p{2.5cm}|p{5cm}|}
\hline
\textbf{Date} & \textbf{Pages} & \textbf{Changes}\\
\hline
\hline
September 14, 2011 & All & Initial submission.\\
\hline
September 21, 2011 & All & Added references to Standard Blocking.\\
\hline
August 21, 2012 & All & Specifications up-to-date.\\
& & Namings corrected.\\
\hline
\end{tabular}
\end{center}
\end{abstract}
\pagebreak
\pagenumbering{roman}
\maketitle{}
\pagebreak
\setcounter{page}{2}
\pagestyle{empty}
\paragraph{Acknowledgements}
This document agregates the functional specifications of the
TTL, inverted-TTL and Standard Blocking \cite{StandardBlocking} to Standard
Blocking output repeater, \textbf{CONV-TTL-BLO}, for the substitution of the following boards: 8 and 16 Channel Repeaters, Level
Converter and LASB-TTL-BLO.
\paragraph{System Description and Purpose}
The Standard Blocking Pulse Converter is a set of two VME64x boards which has
6 channel repeaters. Each channel repeater is a device able to translate TTL and inverted-TTL signals
into Standard Blocking pulses and regenerate Standard Blocking ones. Differing
from previous versions, a FPGA is included in the Pulse Converter to add control to the
repeater and communication through a serial interface in the VME64x connector.
The aim of this document is setting the specifications needed for the
renovation of these devices due to the difficulties faced when it comes to maintenance and
repairing.
\pagebreak
\setcounter{tocdepth}{3}
\tableofcontents
\pagebreak
\pagenumbering{arabic}
\pagestyle{plain}
\setcounter{page}{1}
\section{General schema}
\subsection{CERN Repetitors needs}
The main goal in the design of the Standard Blocking Repeater is fulfulling the
needs of replacing Blocking Repetitors in CERN. According to the documentation
provided by Emmanuel Said, the following number of repetitors are currently installed at
CERN:\\
\begin{center}
\begin{tabular}{|c|c|}
\hline
\textbf{input} & \textbf{amount}\\
\hline
\hline
\multicolumn{2}{|c|}{\textbf{8 Channel Repeaters}}\\
\hline
TTL & 19\\
\hline
inverted-TTL & 202\\
\hline
Blocking $t_P = 1 \mu{}s $ & 7\\
\hline
Blocking $t_P = 1.2 \mu{}s $ & 141\\
\hline
LA-GATE & 11\\
\hline
\multicolumn{2}{|c|}{\textbf{16 Chanel Repeaters}}\\
\hline
Blocking & 60\\
\hline
\end{tabular}
\end{center}
\subsection{Front and Rear boards}
The Standard Blocking Pulse Converter consists of three boards: CONV-TTL-BLO,
CONV-TTL-RTM and CONV-TTL-RTM-BLO . The decision of splitting up the Pulse
Converter lies in easing substition and repairing of damaged parts and help the
operator in interconnecting the inputs and the outputs.\\
A Pulse Converter can host a maximum of 6 channel repeaters due to the size
limitations of the Rear Panel dimensions.\\
The Front Board, CONV-TTL-BLO is the board that holds the major part of active
components, such as the FPGA and the Pulse Converter Units. This board is
responsible of controlling and monitoring the Pulse Converter activity.\\
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.57, keepaspectratio]{Figures/BLOschema.png}
\caption{Functional block schema}
\end{center}
\end{figure}
\pagebreak
The Rear Board system is composed of a Rear Transistion Module (CONV-TTL-RTM)
which acts as a completely passive motherboard to the mezzanine for the Rear Panel
(CONV-TTL-RTM-BLO) which holds all the inputs and outputs.\\
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
\textbf{Board} & \textbf{Location} & \textbf{Parts} &
\textbf{Connectivity}\\
\hline
\hline
\textbf{CONV-TTL-} &&&\\
\textbf{BLO} & FRONT & Active & VME64x Serial Control Lines\\
\hline
\textbf{CONV-TTL-} &&&\\
\textbf{RTM} & REAR & Passive & Motherboard\\
\hline
\textbf{CONV-TTL-} &&&\\
\textbf{RTM-BLO}& ubindexEAR & Passive & Input\textbackslash Output Connectors\\
\hline
\end{tabular}
\end{center}
\section{Panels}
\subsection{Front Panel: CONT-TTL-BLO}
The front board, CONV-TTL-BLO, offers in the Front Panel:
\begin{itemize}
\item Power OK, System Fail LEDs and input signal (TTL or TTL\_N) indicator.
\item An SFP connector to allow precise timestamping via White Rabbit.
\item Three White Rabbit Status LEDs.
\item For every channel: a pulse activity indicator and TTL level input/output
connectors.
\end{itemize}
\subsection{Rear Panel: CONV-TTL-RTM-BLO}
The Rear Board, CONV-TTL-RTM-BLO, offers in the Rear Panel:
\begin{itemize}
\item The Rear Panel must hold six channels. Each channel has four
connectors: one input, three outputs.
\item Every channels has a LED indicator, in the fashion as in the front
panel.
\end{itemize}
\pagebreak
\section{Power-up and System Monitoring}
The System Monitor Unit consists on a HDL core that control critical parts of
both the front and rear boards.
\subsection{Power Supplies}
The power supply domains must be monitored by the FPGA trough a DAC and a
power-up sequence must be specified so as to improve reliability. Reports must
be available through VME64x serial lines.
\subsection{Board Temperature}
The board temperature must be monitored by the FPGA. Reports must
be available through VME64x serial lines.
\pagebreak
\section{FPGA Control and Pulse Converter Unit}
FPGA control will handle all the system logs of the input pulses and parameters
of the output ones: pulse width and time between pulses.
The configuration of this two paramters is important in two aspects:
\begin{description}
\item[Pulse width] Initially the output pulse width is set to 1.2 $\mu$$s$,
following the Standard Blocking definition \cite{StandardBlocking}. Input pulses
wider than 1.2 $\mu$$s$ will be cropped to 1.2 $\mu$$s$ output ones. However, as
different applications could require different pulse width, a configuration
register in the FPGA will be used to add this functionality.\\In electrical
terms, changing the pulse width out of bounds will produce that the current in
the transformer will be higher than the saturation current. In this case,
irreversible damage will be produced. HDL control must take care of this issue.
\item[Time between pulses] Initially the time between pulses is set to
2 $\mu$$s$. Any pulse received within this time frame after a pulse was
outputted will not be regenerated and registered as "Time between pulses violation" in the HDL control.\\It is
important to monitor this parameter because it can produce physical damage to
the transformer. Due to the remaining magnetizing current built up during the
pulse on state, the circuit needs time to draining it off thanks
to a snubber circuit. Subsequently, time between pulses is dependent of the
pulse width and must be set so as to not leave too much remaining current in the
transformer. If the remaining current is not low and input pulses are received
too often, the transformer current can build above the saturation one producing
irreversible damage.
\end{description}
\subsection{Board ID}
A Board ID must be specified to distinguish between different hardware versions
of the Front and Read Board. By reading the value of the board ID, different
approaches can be taken in the HDL control. For instance, if we consider that a
manufacturer is not able to dispatch a 1m$H$ primary inductance transformer so
that it must be replaced for a 470 $\mu$$H$ one, both the \textit{pulse width}
and \textit{time between pulses} parameters must be adapted to this different
part.
\subsection{HDL control}
The FPGA control is governed by a HDL core which must calculate the bounds of
the \textit{pulse width} and \textit{time between pulses} parameters
depending on the Board ID.\\ Then, as previously stated, it must monitor
the \textit{input pulse width} and eventually correct the \textit{time between
pulses} so as to avoid damage to the output pulse transformer due to the
remaining magnetizing current.\\
Furthermore, an event log should be carried out so that it can be reported back
through either serial VME64x P1 lines or front USB connector.
\subsection{Pulse Converter Unit}
The Pulse Converter Unit is the part of the circuit that receives and
adapt the input signal to the FPGA and converts a control signal from the FPGA
to Standard Blocking output -it goes to the Rear Panel- and TTL --it goes to the
Front Panel.
\subsubsection{Input}
TTL, inverter-TTL and Standard Blocking levels must be translated to pass the
signal to the FPGA. \emph{Due to attenuation produced for the long distance
connections made, signals that were outputted as Standard Blocking levels will
be accepted if the received high level is above 10V}. Protection
Circuitry must be used. External line termination should be placed.
\subsubsection{Output}
The output circuity must generate a Standard Blocking signal
\cite{StandardBlocking} compliant:
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
\textbf{Pulse Width} & \textbf{Pulse Height} & \textbf{Rise Time} & \textbf{Fall
Time}\\
\hline
1.2 $\mu{}s$ & 24V & 150 $\pm$ 75 $ns$ & 150 $\pm$ 75 $ns$\\
\hline
\end{tabular}
\end{center}
it should be noted that the \textit{Pulse Width} can be configured within the
Standard Blocking pulse width range.
\pagebreak
\section{On board memory and FPGA reprogramming}
A PROM memory must be installed to hold the FPGA bitstream. The size of the PROM
memory should be at least the required to install two uncompressed FPGA
bitstreams.\\
FPGA can be reprogrammed through the external JTAG interface or by means of the
VME64x serial connection.
\pagebreak
\section{Testing methodologies}
The testing process of the FPGA should cover the following areas:
\begin{itemize}
\item Testbench of the HDL power-up related code --power domains, daisy-chain
configuration.
\item Testbench of the HDL control circuit.
\item Verification of the input reflection.
\item Verification of the output pulse shape.
\end{itemize}
\pagebreak
\pagebreak
\bibliographystyle{unsrt}
\bibliography{Functional}
\end{document}
\relax
\ifx\hyper@anchor\@undefined
\global \let \oldcontentsline\contentsline
\gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global \let \oldnewlabel\newlabel
\gdef \newlabel#1#2{\newlabelxx{#1}#2}
\gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\let \contentsline\oldcontentsline
\let \newlabel\oldnewlabel}
\else
\global \let \hyper@last\relax
\fi
\citation{HeinzeReport}
\@writefile{toc}{\contentsline {section}{\numberline {1}Boards and compatibility}{1}{section.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Repetitors and Blocking Generators}{1}{subsection.1.1}}
\citation{HeinzeLAPF}
\citation{ClaudeDoc}
\citation{CTDACSchematics}
\citation{2222AFairchild}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Receivers}{2}{subsection.1.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Uses of boards}{2}{subsection.1.3}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Standard Blocking Output Signal Definition}{3}{section.2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Criteria}{3}{subsection.2.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Target use}{3}{subsection.2.2}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}Repetitor Boards}{3}{subsubsection.2.2.1}}
\bibstyle{unsrt}
\bibdata{BlockingSpecification.bib}
\bibcite{HeinzeReport}{1}
\bibcite{HeinzeLAPF}{2}
\bibcite{ClaudeDoc}{3}
\bibcite{CTDACSchematics}{4}
\bibcite{2222AFairchild}{5}
@misc{HeinzeReport,
author= "W. Heinze",
title= {{Adapting TTL to Blocking Level with 3U Cards}},
month= nov,
year= 1994,
howpublished = "CERN, PS-CO, Note 94-83",
note = "{\url{https://edms.cern.ch/file/817779/1/TTL_BLO_cards.pdf}}"
}
@misc{HeinzeLAPF,
title= {{LAPF: A TTL to Blocking Converter in Euroformat with Pulse Former}},
howpublished= "CERN, PS-CO",
author= "W. Heinze",
month= mar,
year= 1993,
note = "{\url{https://edms.cern.ch/file/817773/1/LAPF_TTL_BLO_Note.pdf}}"
}
@UNPUBLISHED{ClaudeDoc,
title= {{Distributeur de Timing en Chasis Europe Notice Descriptive}},
note= "CERN, PS-CO-WP, Note 87-028",
author= "C. Dehavay",
month= feb,
year= 1987
}
@misc{CTDACSchematics,
title= {{CTDAC schematics}},
howpublished= "CERN, TS-DEM",
author= "P. Nouchi",
month= may,
year= 2007,
note = "{\url{https://edms.cern.ch/file/842138/1/EDA-01632-V1-0_sch.pdf}}"
}
@misc{2222AFairchild,
title= {{2222A Fairchild Semiconductors Datasheet}},
author= "Fairchild Semiconductors",
month= aug,
year= 2010,
note = "{\url{www.fairchildsemi.com/ds/PN/PN2222A.pdf}}"
}
%%This is a very basic article template.
%%There is just one section and two subsections.
\documentclass[a4paper,11pt]{article}
\usepackage[pdfborder= 0 0 0 1]{hyperref}
\usepackage{graphicx}
\usepackage{colortbl}
\begin{document}
\title{\textbf{{\LARGE Standard Blocking Output Signal Definition for CTDAH board}}}
\author{Carlos Gil Soriano\\BE-CO-HT\\
\href{mailto:carlos.gil.soriano@cern.ch}{\textbf{\textit{carlos.gil.soriano@cern.ch}}}}
\date{February 23, 2012}
\maketitle
\thispagestyle{empty}
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.25, keepaspectratio]{Figures/CERN-Logo.png}
\end{center}
\end{figure}
\begin{abstract}
The aim of this document is defining the Standard Blocking Output Signal of the Pulse
Converter Unit. This shape is compatible with previous versions, depending
upon its use.\\
\textbf{History of changes}\\
This document version has been checked by:\\
This document version has been approved by:\\
\begin{center}
\begin{tabular}{|p{3cm}|p{1.5cm}|p{5cm}|}
\hline
\textbf{Date} & \textbf{Pages} & \textbf{Changes}\\
\hline
\hline
September 19, 2011& All & Initial submission\\
\hline
September 21, 2011& All& Scope reduced to Standard Blocking Output Signal
definition\\
\hline
\end{tabular}
\end{center}
\end{abstract}
\pagebreak
\pagenumbering{roman}
\setcounter{page}{2}
\pagestyle{empty}
\setcounter{tocdepth}{3}
\tableofcontents
\pagebreak
\pagenumbering{arabic}
\pagestyle{plain}
\setcounter{page}{1}
\section{Boards and compatibility}
\subsection{Repetitors and Blocking Generators}
Five Pulse Conversion boards outputting the so-called ''Blocking'' pulse
are known to be working at CERN. Three of them were reported and studied by W.
Heinze \cite{HeinzeReport}:
\begin{itemize}
\item \textbf{Level Converter -LA boards-}\\
Due to the VAC transformer ZKB 407/115, the output level is 35 V or 18 V
depending on the applied voltage to the A30 pin in the 96 pin DIN connector
--either 24 V for the 35 V output or 12 V for the 18 V one. The length of the
pulse is 1 $\mu{}s$.
\item \textbf{LAPF-TTL-BLO}\\
This board was used to provide 4 $\mu{}s$ pulses to SAC and LAF boards. For
these boards, a longer pulse width is required due to the input low pass
filter applied in SAC and LAF boards to avoid LINAC noisy environment. It uses
the same transformer as Level Converter and the output level is reported to be the same.
\item \textbf{LASB-TTL-BLO}\\
It uses a VAC 409/27 transformer. It outputs a pulse with a high level of
either 23V or 11V depending upon the voltage supplied to the A30 pin in the 96
pin DIN connector --24 V or 12 V, respectivelly.
\end{itemize}
Apart from these three boards, two more are
actually running in CERN facilities: an 8 Channel Repeater and a 16 channel one.
Both Channel Repeater boards use the same subcircuit in every channel to
output the signal. The main differences between them lie in the power supply
they use and the daisy-chain connector included in the 8 channel version. Thanks
to the daisy-channel two boards can copy the same input by means of a short
interconnecting cable.\\
The output level is 24V for the 8 Channel Repeater and
30V for the 16 channel version. This is due to the use of different power
supplies because of different stocks when they were made. The length of the
pulses ranges from 1.2 $\mu{}s$ to 1.4 $\mu{}s$.
The table below summarizes the information of the repetitors systems:
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
\textbf{Board} & \textbf{Input Level} & \multicolumn{2}{|c|}{\textbf{Output
Signal}}\\
\hline
&&Level&Pulse width\\
\hline
& TTL & & \\
8 Channel Repeater & inverted-TTL & 24V & [1.2 $\mu${}$s$,
1.4 $\mu${}$s$]\\ & 10V to 30V & & \\
\hline
\hline
& TTL &&\\
16 Channel Repeater & inverted-TTL & 30V & [1.2 $\mu{}s$, 1.4
$\mu{}s$]\\ & 10V to 30V& & \\
\hline
\hline
LASB -TTL-BLO & TTL & 11V or 23V & 1.5 $\mu{}s$\\
& inverted-TTL & & \\
\hline
\hline
LAPF-TTL-BLO & TTL & 18V or 35V&4 $\mu{}s$\\
& inverted-TTL & &\\
\hline
\hline
Level Adapter & TTL & 18V or 35V & 1$\mu{}s$\\
& inverted-TTL & &\\
\hline
\end{tabular}
\end{center}
None of the boards specify the design value of the rise time. Only the trailing
edge is reported for LAPF when the circuit is unloaded \cite{HeinzeLAPF}: 0.3
$ms$. Measurements on both 8 and 16 Channel Repeater show a worst-case rise time
of 100 $\mu{}s$ and a fall time of 400 $\mu{}s$ when the outputs are loaded with
50 $\Omega$.
\subsection{Receivers}
Three boards are reported to be Blocking pulse receivers in CERN facilities:
\begin{itemize}
\item \textbf{LA-BLO-TTL, LAF-BLO-TTL, CTDAC}\\
By reading the schematics \cite{ClaudeDoc} \cite{CTDACSchematics}, an input
threshold detection around 4.5 V can be inferred from the input net consisting of the 10
$K\Omega$, 1.5 $K\Omega$ and the 2N2222A NPN switching transistor --$V_{BE}$
should be around 0.6 V by \cite{2222AFairchild}.\\It is not documented the
reason why this input value threshold is set.
\end{itemize}
\subsection{Uses of boards}
The boards are used as:
\begin{itemize}
\item \textbf{Repetitors}
The 8 and 16 Channel Repeaters, LASB and Level Adapter are used as repetitors.
\item \textbf{Control signal}
LAPF is intended to interface VME SAC/LAF boards.
\end{itemize}
\pagebreak
\section{Standard Blocking Output Signal Definition}
As it was shown in the previous section, a wide variety of output shapes are
running together. One common type of output shape will be defined to set a
reference for the design of the new CTDAH board.\\
\subsection{Criteria}
The criteria employed to define the output shape is as follows:
\begin{center}
\textit{A board designed for a specific use should be backwards compatible with
existing boards so as to avoid interoperability failure.}
\end{center}
\subsection{Target use}
\begin{center}
\textit{Standard Blocking signals are intended to be used in repetitors.}
\end{center}
\begin{tabular}{p{12cm}}
\rowcolor{yellow}{ \textbf{NOTE}: Due to the fact that just a few boards -5
or less- need a LAPF-TTL-BLO-like shaped pulse, the Standard Blocking signal is
not compatible with wide pulses from LAPF-TTL-BLO boards.}
\end{tabular}
\subsubsection{Repetitor Boards}
To comply with previous designs, the definition for this kind of boards,
\textbf{loaded with 50 $\Omega{}$}, is as follows:
\begin{center}
\begin{tabular}{|c|c|c|}
\hline
\textbf{Parameter} & \textbf{Name} &\textbf{Value} \\
\hline
\hline
$v_{i,H}$ & High level & 24V $\pm$ 1V\\
\hline
\hline
$t_{P_{min}}$&\textit{Minimum pulse width} & 1 $\mu{}s$\\
\hline
$t_{P}$&\textit{Typical pulse width} & 1.2 $\mu{}s$\\
\hline
$t_{P_{max}}$&\textit{Maximum pulse width} & 2 $\mu{}s$\\
\hline
\hline
$t_{r}$&\textit{Rise time} & 150 $ns$ $\pm$ 75 $ns$\\
\hline
\hline
$t_{f}$&\textit{Fall time} & 150 $ns$ $\pm$ 75 $ns$\\
\hline
\end{tabular}
\end{center}
\pagebreak
\bibliographystyle{unsrt}
\bibliography{BlockingSpecification.bib}
\end{document}
\relax
\ifx\hyper@anchor\@undefined
\global \let \oldcontentsline\contentsline
\gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global \let \oldnewlabel\newlabel
\gdef \newlabel#1#2{\newlabelxx{#1}#2}
\gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\let \contentsline\oldcontentsline
\let \newlabel\oldnewlabel}
\else
\global \let \hyper@last\relax
\fi
\citation{StandardBlocking}
\@writefile{toc}{\contentsline {paragraph}{System Description and Purpose}{ii}{section*.1}}
\citation{StantonBook}
\citation{MillmanBook}
\citation{LinvillBook}
\citation{LinvillIREPaper}
\citation{McDonaldIEEEPaper}
\citation{NormanIEEPaper}
\citation{LinvillIREPaper}
\citation{LinvillIREPaper}
\@writefile{toc}{\contentsline {section}{\numberline {1}Triggered Monostable Blocking Oscillator}{1}{section.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}References and tips}{1}{subsection.1.1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Topologies evaluated}{1}{subsection.1.2}}
\citation{NormanIEEPaper}
\citation{MillmanBook}
\citation{NormanIEEPaper}
\citation{LinvillBook}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Linvill's circuit, taken from \cite {LinvillIREPaper}}}{2}{figure.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Norman's circuit, taken from \cite {NormanIEEPaper}}}{2}{figure.2}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Millman's circuit, taken from \cite {MillmanBook}}}{3}{figure.3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Analysis of the chosen topology}{3}{subsection.1.3}}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces States and equivalent circuits}}{3}{figure.4}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.1}Switching on}{3}{subsubsection.1.3.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Eq. circuit B: switching}}{4}{figure.5}}
\citation{NormanIEEPaper}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.2}On state}{5}{subsubsection.1.3.2}}
\citation{NormanIEEPaper}
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Eq. circuit A: on-state}}{6}{figure.6}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.3}Switch of{}f}{6}{subsubsection.1.3.3}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.3.4}Of{}f state: \textit {Recovery time}}{6}{subsubsection.1.3.4}}
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Eq. circuit C: of{}f-state}}{7}{figure.7}}
\citation{NormanIEEPaper}
\bibstyle{unsrt}
\bibdata{BlockingGuidelines}
\bibcite{StandardBlocking}{1}
\bibcite{StantonBook}{2}
\bibcite{MillmanBook}{3}
\bibcite{LinvillBook}{4}
\bibcite{LinvillIREPaper}{5}
\bibcite{McDonaldIEEEPaper}{6}
\bibcite{NormanIEEPaper}{7}
@ARTICLE{IEEEStandard,
journal={ANSI/IEEE Std 390-1987},
title={{IEEE} Standard for Pulse Transformers},
year={1987},
keywords={IEEE standards;bipolar pulses;blocking oscillators;coupling devices;electronic circuits;positive feedback;pulse transformers;unipolar pulses;equivalent circuits;pulse transformers;standards;testing;},
doi={10.1109/IEEESTD.1987.79640},
}
@book{StantonBook,
title={Pulse technology},
author={Stanton, W.A.},
isbn={9780471820802},
lccn={64017153},
year={1964},
publisher={Wiley}
}
@book{MillmanBook,
title={Pulse, digital, and switching waveforms: devices and circuits for their generation and processing},
author={Millman, J. and Taub, H.},
isbn={9780070855120},
year={1981},
publisher={McGraw-Hill}
}
@book{LinvillBook,
title={Transistors and active circuits},
author={Linvill, J.G. and Gibbons, J.F.},
lccn={60015759},
series={McGraw-Hill electrical and electronic engineering series},
year={1961},
publisher={McGraw-Hill}
}
@ARTICLE{LinvillIREPaper,
author={Linvill, J.G. and Mattson, R.H.},
journal={Proceedings of the IRE}, title={Junction Transistor Blocking Oscillators},
year={1955},
month={nov. },
volume={43},
number={11},
pages={1632 -1639},
keywords={},
doi={10.1109/JRPROC.1955.277989},
ISSN={0096-8390},}
@ARTICLE{KorzekwaIREPaper,
author={ Korzekwa, S.},
journal={Circuit Theory, IRE Transactions on}, title={Transistor Blocking Oscillator Analysis},
year={1961},
month={dec},
volume={8},
number={4},
pages={ 473 - 479},
keywords={ Solid-state circuits;},
doi={10.1109/TCT.1961.1086851},
ISSN={0096-2007},}
@ARTICLE{NormanIEEPaper,
author={Norman, P. and Smith, E.J.E.},
journal={Proceedings of the IEE - Part B: Electronic and Communication Engineering}, title={The design of transistor blocking oscillators},
year={1959},
month={may },
volume={106},
number={18},
pages={1251 -1259},
keywords={oscillators;oscillators;oscillators;},
doi={10.1049/pi-b-2.1959.0229},
ISSN={0369-8890},}
@ARTICLE{McDonaldIEEEPaper,
author={ McDonald, J.},
journal={Circuit Theory, IEEE Transactions on}, title={Circuit Models to Predict Switching Performance of Nanosecond Blocking Oscillators},
year={1964},
month={dec},
volume={11},
number={4},
pages={ 442 - 448},
keywords={},
doi={10.1109/TCT.1964.1082353},
ISSN={0018-9324},}
@misc{StandardBlocking,
author= "C. Gil Soriano",
title= {{Standard Blocking Output Signal Definition for CTDAH board}},
month= sep,
year= 2011,
note = "{\url{http://www.ohwr.org/documents/109}}"
}
\ No newline at end of file
\documentclass[a4paper,11pt]{article}
\usepackage[pdfborder= 0 0 0 1]{hyperref}
\usepackage{graphicx}
\begin{document}
\title{\textbf{{\LARGE A Triggered Monostable Blocking Oscillator\\\Large Used in
legacy \textit{Channel Repeaters}}}}
\author{Carlos Gil Soriano\\BE-CO-HT\\
\href{mailto:carlos.gil.soriano@cern.ch}{\textbf{\textit{carlos.gil.soriano@cern.ch}}}}
\date{August 21, 2012}
\maketitle
\thispagestyle{empty}
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.25, keepaspectratio]{Figures/CERN-Logo.png}
\end{center}
\end{figure}
\begin{abstract}
Along this document, a complete description of the previous generation of
repetitors is offered. It allows the designer to better understand the
requirementes for good interoperability between the different types of
repetitors.\\
\textbf{History of changes}\\
This document version has been checked by:\\
This document version has been approved by:\\
\begin{center}
\begin{tabular}{|p{3cm}|p{1.5cm}|p{5cm}|}
\hline
\textbf{Date} & \textbf{Pages} & \textbf{Changes}\\
\hline
\hline
August 30, 2011 & All & Initial submission\\
\hline
September 21, 2011 & All & Deleted pulse definition chapter.\\
& & Moved to Standard Blocking Definition Document \cite{StandardBlocking}\\
\hline
August 21, 2012 & All & Minor changes in the title page.\\
\hline
\end{tabular}
\end{center}
\end{abstract}
\pagenumbering{roman}
\maketitle{}
\pagebreak
\setcounter{page}{2}
\pagestyle{empty}
\paragraph{System Description and Purpose}
This documents exposes how to design a Monostable Blocking Oscillator used in
old \textit{Channel Repetitor} boards.
A blocking oscillator offers an easy, and low-cost way of obtaining a sharp
pulse of fixed width.\\
By following the instructions given here, an \textit{optimal} Monostable
Blocking Oscillator can be built.
\pagebreak
\setcounter{tocdepth}{3}
\tableofcontents
\pagebreak
\pagenumbering{arabic}
\pagestyle{plain}
\setcounter{page}{1}
\section{Triggered Monostable Blocking Oscillator}
\subsection{References and tips}
A blocking oscillator is usually employed in synchronization applications due to
its simplicity, the little number of elements required -one BJT, a transformer,
few diodes, resistances and capacitors- and the sharp slope of the rising edge it provides. Because of these reasons, a monostable blocking oscillator is selected for the pulse conversion over other possibilities --such as flyback converters, for instance.\\ An intuitive introduction to pulse converters can be found in
\cite{StantonBook}, where the blocking oscillator is sketched pretty
simplisticly. Millman's book, \cite{MillmanBook}, of{}fers an easy and
straightforward view on the pulse top state of the circuit.\\
The more mathematical insight of the switching state is found in Linvill's
classical literature \cite{LinvillBook} and \cite{LinvillIREPaper}, which warns the reader of the aproximations taken out for
the sake of simplicity. It should be noted that, for a proper switching
analysis, some values of the model -such as base resistance- are usually
difficult to find in the datasheet of the manufacturers, and must be inferred
--a Ning-Tang method for the base resistance, i.e. Apart from this, it is a
good advice to carefully checking these values in the SPICE models
provided by the manufacturers. Some manufacturer's base
resistance parameter model corresponds to the intrinsic value of it and not to the intrinsic plus extrinsic one, as it is requiered for a good matching with
the mathematical analysis. This will produce a misleading simulation which will
turn out into an unexpected outcome for the designer. Thus, we encourage not to
give 100\% confidence to the simulation results due to this innacuracies with
respect to the aproximate model used in the analysis.\\ A comprehensive study of the
switching state based on an extension of Linvill's aproximation is done in \cite{McDonaldIEEEPaper}. However, we have considered it as overcomplicated compared to the more reasonable original Linvill's aproximation.\\
Last but not least, Norman's guide for the design of monostable blocking oscillator \cite{NormanIEEPaper} constituted the invaluable help which serves as
the reference of this design.
\subsection{Topologies evaluated}
Three blocking oscillators circuits were considered for the Pulse Converter
Units in CTDAH. The first two are positively collector-emitter feedbacked and
the later has a base-collector feedback.
\begin{description}
\item \textbf{Circuit 1}\\
This circuit can be found in \cite{LinvillIREPaper}. The main drawbacks it
presents lay on the charge it produces the output load and a worse triggering
option compared to Circuit 2.\\
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.3, keepaspectratio]{Figures/LinvillCircuit.png}
\caption{Linvill's circuit, taken from \cite{LinvillIREPaper}}
\end{center}
\end{figure}
\item \textbf{Circuit 2}\\
It is the circuit chosen for the design. With the inclusion of a resistance in
the positive feedback loop it is really simple to accomodate the pulse width
to the designer needs.
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.25, keepaspectratio]{Figures/NormanCircuit.png}
\caption{Norman's circuit, taken from \cite{NormanIEEPaper}}
\end{center}
\end{figure}
\item \textbf{Circuit 3}\\
However it is the most intuitive among all the designs, the triggering is not
as independent from the input as Circuit 2.
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.25, keepaspectratio]{Figures/MillmanCircuit.png}
\caption{Millman's circuit, taken from \cite{MillmanBook}}
\end{center}
\end{figure}
\end{description}
\subsection{Analysis of the chosen topology}
The analysis follows the flow pointed out in \cite{NormanIEEPaper}. The complete
mathematical resolution of the switching state from \cite{LinvillBook} is
included. Furthermore, the fixed-point methond algorithm is added to clarify
how the normalized natural frequency of the circuit is gotten.
\\
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.6, keepaspectratio]{Figures/blockingStates.png}
\caption{States and equivalent circuits}
\end{center}
\end{figure}
\vspace{-20pt}
\subsubsection{Switching on}
When it is switching both on and of{}f, an equivalent circuit is shown in
the figure below. Emitter resistance and capacitance are omitted for
simplicity.
The critical value while switching lies on obtaining the \textit{natural
frequency} of the circuit. This value is closely related with the
\textit{transformer turns-ratio} and, given the aproximations of the model, an
optimun turns-ratio can be calculated. If this turns-ratio is used, the fastest
rise time will be achived an no ringing will be obtained, ideally.
\\
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.3, keepaspectratio]{Figures/swCircuit.png}
\caption{Eq. circuit B: switching}
\end{center}
\end{figure}
\vspace{-20pt}
\begin{description}
\item \textbf{Kirchoff's equations}\\
The electrical relationship of the circuit are:
\begin{equation}
\frac{E_1}{R_L} + I_E - ni_L = 0
\end{equation}
\begin{equation}
\frac{E_1}{r_b} + \frac{I_E}{1+\frac{s}{w_o}} - I_E - (n-1)E_1C_ss = 0
\end{equation}
\begin{equation}
i_L - \frac{I_E}{1 + \frac{s}{w_o}} + (n-1)E_1C_ss = 0
\end{equation}
\item \textbf{Fundamental equation}\\
Operating the previous equations yields:
\begin{equation}
(\frac{s}{w_0})^2 + \frac{s}{w_0}\cdot\frac{G_L + g_b}{(n-1)^2 C_c w_0} -
\frac{g_b}{C_c w_0 (n-1)} = 0
\end{equation}
That can be greatly simplified by normalizing the natural frequency and
performing the following changes of variable:
\begin{equation}
x=\frac{s}{w_0} \hspace{25pt} n-1 = \Delta \hspace{25pt} \frac{g_b}{C_c w_0} = k
\hspace{25pt} \frac{g_b + G_L}{C_c w_0} = k
\end{equation}
\begin{equation}
x^2+x(1+\frac{l}{\Delta^2})-\frac{k}{\Delta} = 0
\end{equation}
However, as $\Delta$ is a design parameter we can rewrite the equation to:
\begin{equation}
\Delta^2(x^2+x) - k\Delta + xl = 0
\end{equation}
If a value of the normalized natural frequency of the circuit, $x$, is lower
than $x_{max}$ two possible optimal \textit{turns-ratios} will exist. If it is
higher than $x_{max}$ no real \textit{turns-ratios} exist. We can find an
optimal value of $\Delta$ that corresponds to $x_{max}$, by obtaining a double
root of the previous equation. Hence:
\begin{equation}
k^2 - 4(x_{max}^3 + x_{max}^2)l = 0
\end{equation}
We can get the \textit{normalized natural frequency} by applying
iterations by a fixed-point method, given that it converges --because we expect
a value close to 1
\begin{equation}
x_{max_i} = \frac{k}{2\sqrt{l(x_{max_{i-1}} +1 )}} \hspace{25pt} i = 1,2,3\ldots
\end{equation}
\item \textbf{Results}\\
The expected \textit{rise-time} is:
\begin{equation}
t_{rise}=\frac{2.3}{x_{max}w_0}
\end{equation}
for an optimal \textit{turns-ratio} is:
\begin{equation}
\Delta_{opt} = \frac{k}{2(x_{max}^2+x_{max})} \hspace{25pt} n_{opt} =
\Delta_{opt} +1
\end{equation}
Subsequently, getting a good rise-time depends mainly on choosing the optimal
\textit{turns-ratio} value and using a fast switching bipolar transistor in the
design.\\
\textbf{TIP}: as stated in \cite{NormanIEEPaper}, the triggering signal must be
active for $3t_{rise}$, so as to effectively switching the cirucit state.
\end{description}
\subsubsection{On state}
The on-state is related with the value of the \textit{magnetizing inductance} in
the collector and the \textit{positive feedback resistor}. With this two parameters
the designer is able to chose the \textit{pulse width}.
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.33, keepaspectratio]{Figures/ONstate}
\caption{Eq. circuit A: on-state}
\end{center}
\end{figure}
\begin{description}
\item \textbf{Kirchoff's equations}\\
From the collector we can get the following equation:
\begin{equation}
i_c = \frac{V_p}{n^2(R_L+r_{EBt})} + \frac{V_p}{n^2R_L} + \frac{V_pt}{L}
\end{equation}
During the on-state we can define $h_{FB_t} = \frac{i_c}{i_E}$, thus the
previous equations can be rewritten as:
\begin{equation}
\frac{V_ph_{FB_t}}{n(R_L + r_{EBt})} = \frac{V_p}{n^2(R_L + r_{EBt})} +
\frac{V_p}{n^2R_L} +
\frac{V_pt}{L}
\end{equation}
\item \textbf{Results}\\
When the transistor is close to leave its saturation state, we can change all
its parameters for the large signal model ones. This yields to obtaining the
\textit{width} of the pulse:
\begin{equation}
T_p = \frac{L (h_{FB} - 1)}{n^2[R_E + r_E + (1+h_{FB}r_B)]} - \frac{L}{n^2R_L}
\end{equation}
As it is noted in \cite{NormanIEEPaper}, adding $R_E$ helps to desensitizing
the circuit from $r_E$
\end{description}
\subsubsection{Switch of{}f}
The switch-of{}f state is governed by the same equations of the switch-on state.
\subsubsection{Of{}f state: \textit{Recovery time}}
Of{}f-state is reached when the circuit completely removes all the current from
the \textit{magnetizing inductor} through the snubber consisting of the
\textit{diode} and \textit{discharge resistor}. Once the current is completely
removed, a new triggering can be faced by the monostable oscillator.
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.33, keepaspectratio]{Figures/OFFstate}
\caption{Eq. circuit C: of{}f-state}
\end{center}
\end{figure}
\begin{description}
\item \textbf{Kirchoff's equations}\\
At the end of the on state, the magnetizing current is:
\begin{equation}
I_L = \frac{V_PT_P}{L}
\end{equation}
The magnetizing inductance current must equal the current flowing out of the two
multipoles formed by the diode and the resistor and the diode and the zenner diode. The multipole consisting of the diode and the resistor helps to avoid
overdamping while switching off. In the second case, the current decreases
linearly until the diode acts as an open circuit. From this time on, the only
multipole draining current from the inductor is the one with the resistor. The
discharge equation is:
\begin{equation}
i_L = \frac{V_2}{R_c}[1+ \frac{R_c}{L}(t-t_3)]e^{-\frac{t-t_3}{L/(2R_c)}}
\hspace{25pt} t\geq{t_3}
\end{equation}
The critical damping happens with a snubber resistor value of:
\begin{equation}
R_{c} = \frac{1}{2} \sqrt{\frac{L}{C_s}}
\end{equation}
where $C_s$ is the \textbf{shunt capacitance} formed by the addition of the
\textit{collector capacitance of the bipolar transistor}, the
\textit{transformer self capacitance} and the \textit{wiring capacitance}.\\The
resistance of $R_{snubber}$ should be less than $R_c$, so as to avoid overdamping:
\begin{equation}
R_{snubber} < R_c
\end{equation}
\item \textbf{Implicit equation}\\
The residual current in the inductance, $I_R$, will be:
\begin{equation}
I_R = \frac{V_2}{R_c}[1+ \frac{R_c}{L}(t_4-t_3)]e^{-\frac{t_4-t_3}{L/(2R_c)}}
\hspace{25pt} t=t_4
\end{equation}
that cannot be resolved, but it is bounded by:
\begin{equation}
I_R < \frac{V_2}{R_{snubber}}e^{-\frac{t_4-t_3}{L/R_{snubber}}}
\end{equation}
Thus, operating along the two recovery stages as in \cite{NormanIEEPaper}:
\begin{equation}
T_R = \frac{V_1T_p}{V_2} + \frac{L}{R_{snubber}}(log{\frac{V_2}{R_{snubber}I_R}-1)}
\end{equation}
\item \textbf{Results}\\
First, we must set a threshold for $I_R$.\\
Then, the resistance of $R_{snubber}$ that makes $T_{R_{min}}$ is:
\begin{equation}
R_{snubber} = \frac{V_2}{I_R}
\end{equation}
but must comply with:
\begin{equation}
R_{snubber} < R_{c}
\end{equation}
for avoid overdamping.
\end{description}
\pagebreak
\bibliographystyle{unsrt}
\bibliography{BlockingGuidelines}
\end{document}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
id="svg2"
version="1.1"
inkscape:version="0.48.1 r9760"
sodipodi:docname="BlockDiagram.svg"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/HDLSpecifications/BlockDiagram.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270">
<defs
id="defs4">
<marker
inkscape:stockid="Arrow2Mstart"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mstart"
style="overflow:visible">
<path
id="path3971"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mend"
style="overflow:visible;">
<path
id="path3974"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) rotate(180) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-4"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-7"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-2"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-6"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-8"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-4"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-9"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-0"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-0"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-60"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-85"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-3"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4142136"
inkscape:cx="311.59232"
inkscape:cy="703.72163"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="991"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:none;stroke:#000000;stroke-width:0.70564538;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985"
width="99.585335"
height="49.294353"
x="320.43967"
y="136.90738" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.70564538;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985-0"
width="99.585335"
height="49.294353"
x="380.43967"
y="215.90739" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="111.78571"
y="79.862183"
id="text3773"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3775"
x="111.78571"
y="79.862183" /></text>
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="370.31049"
y="151.40808"
id="text3777"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3779"
x="370.31049"
y="151.40808">ANTIGLITCH</tspan><tspan
sodipodi:role="line"
x="370.31049"
y="166.40808"
id="tspan3891">+</tspan><tspan
sodipodi:role="line"
x="370.31049"
y="181.40808"
id="tspan3893">TRIGGER</tspan></text>
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="404.20792"
y="246.7157"
id="text3781"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3783"
x="404.20792"
y="246.7157">LOGGER</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.70564538;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985-6"
width="99.585335"
height="49.294353"
x="380.43967"
y="291.90738" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="391.14346"
y="314.2157"
id="text3777-0"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3779-9"
x="391.14346"
y="314.2157">UTC TIMMING</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.21138738;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985-6-2"
width="29.788612"
height="14.788612"
x="380.19254"
y="326.66025" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.21138738;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985-6-2-4"
width="29.788612"
height="14.788612"
x="450.19254"
y="326.66028" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="385.94034"
y="338.55457"
id="text3864"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3866"
x="385.94034"
y="338.55457">WR</tspan></text>
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="457.94034"
y="338.55457"
id="text3864-5"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3866-2"
x="457.94034"
y="338.55457">I<tspan
style="font-size:65.00091553%;baseline-shift:super"
id="tspan3889">2</tspan>C</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:1.87602377;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.87602386, 5.6280716;stroke-dashoffset:0"
id="rect3895"
width="248.12398"
height="248.12398"
x="244.73912"
y="112.49258" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.70564538;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985-6-5"
width="99.585335"
height="49.294353"
x="260.43967"
y="215.90738" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="277.14346"
y="244.47742"
id="text3777-0-4"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3779-9-2"
x="277.14346"
y="244.47742">REG_CTRL</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 171.58683,161.75252 c 145.46197,0 145.46197,0 145.46197,0"
id="path3942"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 420.08683,161.75252 c 145.46197,0 145.46197,0 145.46197,0"
id="path3942-6"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.71882296;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 351.81274,186.50746 c 0,28.47012 0,28.47012 0,28.47012"
id="path3942-4"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.71882296;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 389.31274,186.50746 c 0,28.47012 0,28.47012 0,28.47012"
id="path3942-4-7"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 431.58636,292.16428 c 0,-25.36378 0,-25.36378 0,-25.36378"
id="path3942-4-7-4"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.99648672;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 359.68114,238.16198 c 19.13957,0 19.13957,0 19.13957,0"
id="path3942-4-1"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:none"
d="m 365.20195,389.35543 c 0,-28.72764 0,-28.72764 0,-28.72764"
id="path3942-2"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 354.202,387.20694 c 21.56675,-21.56676 21.38998,-21.38998 21.38998,-21.38998 l 0.53033,0.53033"
id="path5354"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="317.62268"
y="405.59171"
id="text5356"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan5358"
x="317.62268"
y="405.59171">WISHBONE BUS</tspan></text>
<text
xml:space="preserve"
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="245"
y="98.862183"
id="text5360"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan5362"
x="245"
y="98.862183">TimeTagger module</tspan></text>
<text
xml:space="preserve"
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="176.44629"
y="154.0741"
id="text3034"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3036"
x="176.44629"
y="154.0741">input</tspan><tspan
sodipodi:role="line"
x="176.44629"
y="176.5741"
id="tspan3038">signal</tspan></text>
<text
xml:space="preserve"
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="501.32324"
y="154.0741"
id="text3034-0"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3036-3"
x="501.32324"
y="154.0741">output</tspan><tspan
sodipodi:role="line"
x="501.32324"
y="176.5741"
id="tspan3038-4">signal</tspan></text>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="2104.7244"
height="1488.189"
id="svg3040"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="HDLspecs.svg"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/HDLSpecifications/Figures/HDLspecs.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs3">
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Send"
style="overflow:visible;">
<path
id="path4534"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.3) rotate(180) translate(-2.3,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Sstart"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Sstart"
style="overflow:visible">
<path
id="path4531"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.3) translate(-2.3,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Send"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Send"
style="overflow:visible;">
<path
id="path4516"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
transform="scale(0.2) rotate(180) translate(6,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mstart"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mstart"
style="overflow:visible">
<path
id="path3932"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Lend"
style="overflow:visible;">
<path
id="path4859"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(1.1) rotate(180) translate(1,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Mend"
style="overflow:visible;">
<path
id="path4847"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
transform="scale(0.4) rotate(180) translate(10,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mend"
style="overflow:visible;">
<path
id="path4865"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) rotate(180) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-3"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4865-0"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
</defs>
<sodipodi:namedview
inkscape:document-units="mm"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="1255.7539"
inkscape:cy="698.54688"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1100"
inkscape:window-x="1920"
inkscape:window-y="33"
inkscape:window-maximized="1"
units="mm" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,435.8269)">
<rect
style="fill:none;stroke:#808080;stroke-width:5.97933054;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:17.93799213, 17.93799213;stroke-dashoffset:0"
id="rect3048-53"
width="590.77509"
height="184.98447"
x="810.4021"
y="-53.252056" />
<g
id="g5908"
transform="matrix(0.5625,0,0,0.5625,447.68368,105.87157)">
<path
inkscape:connector-curvature="0"
id="path5289"
d="m 1368.0104,433.89759 c 0,-372.155966 0,-372.155966 0,-372.155966"
style="fill:#dbebf1;fill-opacity:1;stroke:#d5dd00;stroke-width:17.3731842;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" />
<path
inkscape:transform-center-y="-6.823672"
transform="translate(37,-438.3269)"
d="m 1354.6379,499.83631 -23.6379,0 -23.6379,0 11.819,-20.47102 11.8189,-20.47101 11.8189,20.47101 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="1.5707963"
sodipodi:arg1="0.52359878"
sodipodi:r2="13.647343"
sodipodi:r1="27.294687"
sodipodi:cy="486.18896"
sodipodi:cx="1331"
sodipodi:sides="3"
id="path5867"
style="fill:#d3dc00;fill-opacity:1;fill-rule:nonzero;stroke:#d5dd00;stroke-width:3.54330707;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:5.97933054;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 1014.2977,180.17434 c -88.0016,0 -88.89654,0 -88.89654,0"
id="path4823"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:5.97933054;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 1166.3102,213.3687 c 138.8139,0 138.8139,0 138.8139,0 l 0,-33.01306 35.3995,0 0,0.79551"
id="path4783"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:5.97933054;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 1166.3102,247.15967 c 138.8139,0 138.8139,0 138.8139,0 l 0,33.01306 35.3995,0 0,-0.7955"
id="path4783-7"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:5.97933054;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 1166.708,280.81769 c 104.6075,0 105.8008,0 105.8008,0 l 0,69.20808 0.3977,0"
id="path4741-7"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:5.97933054;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 1166.7079,179.9579 c 104.6076,0 105.8009,0 105.8009,0 l 0,-69.20807 0.3977,0"
id="path4741"
inkscape:connector-curvature="0" />
<rect
style="fill:none;stroke:#000000;stroke-width:5.97933054;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="rect3048"
width="295.38754"
height="143.40393"
x="1016.2447"
y="-29.823259" />
<text
xml:space="preserve"
style="font-size:11.25px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
x="1028.2679"
y="-7.3858132"
id="text3818"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3820"
x="1028.2679"
y="-7.3858132">Trigger</tspan></text>
<g
id="g6171"
transform="matrix(0.5625,0,0,0.5625,469.05868,105.87157)">
<rect
y="-183.73241"
x="1009.6368"
height="84.980103"
width="175.04448"
id="rect3048-1"
style="fill:none;stroke:#000000;stroke-width:3.60257483;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3894"
y="-135.03526"
x="1035.0613"
style="font-size:24px;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.03526"
x="1035.0613"
id="tspan3896"
sodipodi:role="line">debouncer</tspan></text>
</g>
<g
id="g6166"
transform="matrix(0.5625,0,0,0.5625,469.05868,105.87157)">
<rect
y="-88.980103"
x="1008.4507"
height="84.980103"
width="175.04448"
id="rect3048-1-4"
style="fill:none;stroke:#000000;stroke-width:3.60257483;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3898"
y="-39.596664"
x="1026.5759"
style="font-size:24px;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="-39.596664"
x="1026.5759"
id="tspan3900"
sodipodi:role="line">monostable</tspan></text>
</g>
<g
id="g6152"
transform="matrix(0.5625,0,0,0.5625,469.05868,105.87157)">
<g
transform="translate(22,-44)"
id="g4100">
<rect
style="fill:none;stroke:#000000;stroke-width:2.54055119;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="rect3048-1-2"
width="86.041199"
height="86.041199"
x="1264.3323"
y="-140.26295" />
<text
xml:space="preserve"
style="font-size:24px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="1306.698"
y="-103.70128"
id="text3902"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3904"
x="1306.698"
y="-103.70128">RAM</tspan><tspan
sodipodi:role="line"
x="1306.698"
y="-73.701279"
id="tspan3906">ID</tspan></text>
</g>
</g>
<g
id="g6159"
transform="matrix(0.5625,0,0,0.5625,469.05868,105.87157)">
<g
transform="translate(-79.16172,50.752305)"
id="g4106">
<rect
style="fill:none;stroke:#000000;stroke-width:2.54147959;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="rect3048-1-2-8"
width="86.041199"
height="86.041199"
x="1365.4935"
y="-140.26295" />
<text
xml:space="preserve"
style="font-size:24px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="1406.9464"
y="-103.70128"
id="text3908"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3910"
x="1406.9464"
y="-103.70128">RAM</tspan><tspan
sodipodi:role="line"
x="1406.9464"
y="-73.701279"
id="tspan3912">TT</tspan></text>
</g>
</g>
<g
id="g3964"
transform="matrix(0.5625,0,0,0.5625,979.93756,-141.57063)">
<path
transform="matrix(0.53116496,0,0,0.61333649,291.93404,256.75161)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(1.0623299,0,0,1.226673,63.001955,63.503243)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
<rect
style="fill:none;stroke:#000000;stroke-width:5.67535973;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="rect3048-0"
width="265.55484"
height="143.70789"
x="656.85498"
y="159.85172" />
<text
xml:space="preserve"
style="font-size:11.25px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
x="670.15509"
y="182.44115"
id="text3818-1"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3820-5"
x="670.15509"
y="182.44115">i2c_slave_top</tspan><tspan
sodipodi:role="line"
x="670.15509"
y="196.50365"
id="tspan4829" /></text>
<g
id="g6142"
transform="matrix(0.5625,0,0,0.5625,469.05868,105.87157)">
<rect
transform="matrix(0,1,-1,0,0,0)"
y="-721.49677"
x="152.28696"
height="83.002853"
width="169.50935"
id="rect3048-1-2-8-5"
style="fill:none;stroke:#000000;stroke-width:2.54055119;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
transform="matrix(0,1,-1,0,0,0)"
sodipodi:linespacing="125%"
id="text3908-0"
y="-673.58978"
x="236.49167"
style="font-size:28px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
id="tspan4309"
y="-673.58978"
x="236.49167"
sodipodi:role="line">i2c_regs</tspan></text>
</g>
<g
id="g6147"
transform="matrix(0.5625,0,0,0.5625,469.05868,105.87157)">
<rect
transform="matrix(0,1,-1,0,0,0)"
y="-612.69574"
x="153.573"
height="253.44395"
width="166.93723"
id="rect3048-1-2-8-5-3"
style="fill:none;stroke:#000000;stroke-width:2.54055119;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3908-0-2"
y="243.60225"
x="487.04919"
style="font-size:28px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
id="tspan4309-8"
y="243.60225"
x="487.04919"
sodipodi:role="line">i2c_slave_core</tspan></text>
</g>
<g
id="g6185"
transform="matrix(0.5625,0,0,0.5625,469.05868,105.87157)">
<rect
y="247.05212"
x="1553.0756"
height="127.47015"
width="262.56671"
id="rect3048-5-0"
style="fill:none;stroke:#000000;stroke-width:10.62992096;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3818-4-1"
y="302.16412"
x="1628.8198"
style="font-size:30px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
xml:space="preserve"><tspan
y="302.16412"
x="1628.8198"
id="tspan3820-0-5"
sodipodi:role="line">EEPROM</tspan><tspan
id="tspan4060"
y="339.66412"
x="1628.8198"
sodipodi:role="line">manager</tspan></text>
<g
transform="matrix(0,1,-1,0,2007.1968,-210.07894)"
id="g3964-0-9-7">
<path
sodipodi:type="star"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-8-7"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0.53116496,0,0,0.61333649,291.93404,256.75161)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-0-4"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(1.0623299,0,0,1.226673,63.001955,63.503243)" />
</g>
</g>
<g
id="g6176"
transform="matrix(0.5625,0,0,0.5625,469.05868,105.87157)">
<rect
y="70.234917"
x="1553.0756"
height="127.47015"
width="262.56671"
id="rect3048-5-01"
style="fill:none;stroke:#000000;stroke-width:10.62992096;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3818-4-6"
y="125.34688"
x="1628.8198"
style="font-size:30px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
xml:space="preserve"><tspan
y="125.34688"
x="1628.8198"
id="tspan3820-0-59"
sodipodi:role="line">Multiboot</tspan><tspan
id="tspan4062"
y="162.84688"
x="1628.8198"
sodipodi:role="line">manager</tspan></text>
<g
transform="matrix(0,1,-1,0,2007.1968,-386.89615)"
id="g3964-0-9-7-8">
<path
sodipodi:type="star"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-8-7-6"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0.53116496,0,0,0.61333649,291.93404,256.75161)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-0-4-8"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(1.0623299,0,0,1.226673,63.001955,63.503243)" />
</g>
</g>
<rect
style="fill:none;stroke:#000000;stroke-width:5.97933054;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="rect3048-0-8"
width="146.44778"
height="145.14758"
x="1016.2447"
y="156.12643" />
<g
id="g4667-7"
transform="matrix(-0.5625,0,0,-0.5625,1702.4727,267.15199)">
<path
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7-1-89-0"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-2-5-7"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
<g
id="g4667-7-0"
transform="matrix(-0.5625,0,0,-0.5625,1702.4727,300.76478)">
<path
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7-1-89-0-9"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-2-5-7-9"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
<g
id="g4667-7-8"
transform="matrix(-0.5625,0,0,-0.5625,1702.4727,334.37759)">
<path
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7-1-89-0-1"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-2-5-7-1"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
<g
id="g4667-7-2"
transform="matrix(-0.5625,0,0,-0.5625,1702.4727,367.99038)">
<path
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7-1-89-0-6"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-2-5-7-8"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
<text
xml:space="preserve"
style="font-size:11.25px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
x="1088.7058"
y="219.27635"
id="text4825"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4827"
x="1088.7058"
y="219.27635"
style="font-size:20.25px;font-weight:normal;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans">WISHBONE</tspan><tspan
id="tspan3119"
sodipodi:role="line"
x="1088.7058"
y="244.58885"
style="font-size:20.25px;font-weight:normal;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans">address</tspan><tspan
id="tspan3121"
sodipodi:role="line"
x="1088.7058"
y="269.90134"
style="font-size:20.25px;font-weight:normal;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans">decoder</tspan></text>
<g
id="g6293"
transform="matrix(0.5625,0,0,0.5625,469.05868,105.87157)">
<rect
y="434.36206"
x="1296.25"
height="37.5"
width="66.75"
id="rect5916"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<rect
y="436.21521"
x="1235.3419"
height="127.47015"
width="262.56671"
id="rect3048-5"
style="fill:none;stroke:#000000;stroke-width:10.62992096;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3818-4"
y="523.32721"
x="1257.0862"
style="font-size:30px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
xml:space="preserve"><tspan
y="523.32721"
x="1257.0862"
id="tspan3820-0"
sodipodi:role="line">White Rabbit</tspan></text>
<path
transform="matrix(-0.53116496,0,0,-0.61333649,1658.0274,632.93125)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7-1-8"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(-1.0623299,0,0,-1.226673,1886.9594,826.17962)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-2-0"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<text
sodipodi:linespacing="125%"
id="text5912"
y="460.5137"
x="1306.7334"
style="font-size:20px;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;fill:#d4dc00;fill-opacity:1;-inkscape-font-specification:Sans Bold"
y="460.5137"
x="1306.7334"
id="tspan5914"
sodipodi:role="line">UTC</tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:7.97244072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 654.90737,23.574864 c 348.42683,0 348.42683,0 348.42683,0"
id="path5922"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:7.97244072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 1014.0249,74.195346 c -348.42684,0 -348.42684,0 -348.42684,0"
id="path5922-0"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:11.25px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
x="693.47961"
y="14.692391"
id="text3090"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3092"
x="693.47961"
y="14.692391"
style="font-size:27px;font-weight:bold;-inkscape-font-specification:Sans Bold">PULSE IN</tspan></text>
<text
xml:space="preserve"
style="font-size:11.25px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
x="693.47961"
y="56.538685"
id="text3094"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3096"
x="693.47961"
y="56.538685"
style="font-size:27px;font-weight:bold;-inkscape-font-specification:Sans Bold">PULSE OUT</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:7.97244072;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Sstart);marker-end:url(#Arrow2Send)"
d="m 795.58993,317.85647 c 0,98.4375 0,98.4375 0,98.4375"
id="path3111"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:23.625px;font-style:normal;font-weight:bold;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
x="798.62195"
y="449.27786"
id="text4547"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4549"
x="798.62195"
y="449.27786"
style="font-size:27px">i2c</tspan><tspan
sodipodi:role="line"
x="798.62195"
y="483.02786"
id="tspan4551"
style="font-size:27px">FROM VME64x BUS</tspan></text>
<g
id="g6270"
transform="matrix(0.5625,0,0,0.5625,469.05868,105.87157)">
<g
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/HDLSpecifications/Figures/text4601-9.png"
transform="matrix(0,1,-1,0,1589.6269,-259.37406)"
id="g4667-7-8-1">
<path
sodipodi:type="star"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-89-0-1-1"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-5-7-1-4"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)" />
</g>
<g
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/HDLSpecifications/Figures/text4601-9.png"
transform="translate(914.13382,322.16525)"
id="g3964-0-9-4">
<path
sodipodi:type="star"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-8-1"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0.53116496,0,0,0.61333649,291.93404,256.75161)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-0-7"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(1.0623299,0,0,1.226673,63.001955,63.503243)" />
</g>
<text
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
sodipodi:linespacing="125%"
id="text4601"
y="682.29175"
x="1501.5"
style="font-size:42px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
xml:space="preserve"><tspan
style="font-size:32px;font-weight:bold;-inkscape-font-specification:Sans Bold"
y="682.29175"
x="1501.5"
id="tspan4603"
sodipodi:role="line">Wishbone master</tspan></text>
<text
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
sodipodi:linespacing="125%"
id="text4601-9"
y="759.29175"
x="1501.5"
style="font-size:42px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
xml:space="preserve"><tspan
style="font-size:32px;font-weight:bold;-inkscape-font-specification:Sans Bold"
y="759.29175"
x="1501.5"
id="tspan4603-9"
sodipodi:role="line">Wishbone slave</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:23.625px;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="1419.5389"
y="-30.052805"
id="text4081"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4083"
x="1419.5389"
y="-30.052805"
style="font-size:32.625px;font-weight:bold;fill:#808080;fill-opacity:1;-inkscape-font-specification:Sans Bold">x6</tspan></text>
<g
id="g3964-0"
transform="matrix(0,-0.5625,-0.5625,0,1271.538,473.16155)">
<path
transform="matrix(0.53116496,0,0,0.61333649,291.93404,256.75161)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7-1"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(1.0623299,0,0,1.226673,63.001955,63.503243)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-2"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
<g
id="g4667-3"
transform="matrix(-0.5625,0,0,0.5625,1461.7227,93.19669)">
<path
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7-1-89-8"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-2-5-1"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:5.97933054;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 925.01353,281.01272 c 88.00167,0 88.89657,0 88.89657,0"
id="path4823-9"
inkscape:connector-curvature="0" />
<g
id="g3964-0-5"
transform="matrix(0,-0.5625,0.5625,0,667.77321,573.99993)">
<path
transform="matrix(0.53116496,0,0,0.61333649,291.93404,256.75161)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7-1-5"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(1.0623299,0,0,1.226673,63.001955,63.503243)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-2-9"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
<g
id="g4667-3-8"
transform="matrix(0.5625,0,0,0.5625,477.58854,194.03507)">
<path
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7-1-89-8-3"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-2-5-1-2"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
</g>
</svg>
%%This is a very basic article template.
%%There is just one section and two subsections.
\documentclass[a4paper,11pt]{article}
\usepackage[pdfborder= 0 0 0 1]{hyperref}
\usepackage{graphicx}
\begin{document}
\title{CONV-TTL-BLO HDL specifications}
\author{Carlos Gil Soriano\\BE-CO-HT\\
\href{mailto:carlos.gil.soriano@cern.ch}{\textbf{\textit{carlos.gil.soriano@cern.ch}}}}
\date{\today}
\maketitle
\begin{abstract}
This document tackles with:
\begin{itemize}
\item HDL development priorities
\item Memory mapping
\end{itemize}
\end{abstract}
\\
\tableofcontents
\pagebreak
\section{HDL schema}
The following schema is used as a reference for the HDL development:\\
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.3, keepaspectratio]{Figures/HDLspecs.png}
\caption{CONV-TTL-BLO HDL structure}
\end{center}
\end{figure}
\subsection{Control}
It is the part that bridges the I2C frames to the correct wishbone module. The
tasks it is responsible of are:
\begin{itemize}
\item Correctly power-up the rest of the modules.
\item Provide connectivity of all the wishbone registers via
I2C. It manages control access to the registers.
\end{itemize}
\subsection{I2C slave}
An I2C slave is needed to receive the frames from the VME64x SERA and SERB pins
in P1 connector. This module will communicates with \textit{control hdl module}
in the following fashion:
\begin{itemize}
\item It connects as a wishbone \textbf{slave} to control hdl core and
provides interrupt lines for data reception and transmission.
\end{itemize}
The main reason of implementing a wishbone slave is that by dividing data
reception -\textit{i2c slave}- from control access -\textit{control}- the
development is more reliable and clear.\\ This module offers configuration
registers to ease the task of data assembly --for instance, the communication
schema in ELMA crate.
\subsection{Trigger}
The trigger manages the pulse repetition. The parameters handled that affect the
pulse repetition are:
\begin{itemize}
\item \textbf{Debouncing} stages of the input pulse.
\item \textbf{Pulse length} of the output pulse according to Standard
Blocking definition.
\item \textbf{Minimun spacing between pulses} to let the magnetizing current
of the transformer be drained off. It is also refered in other documents as
\textit{Inactivity timeout upon output pulse is outputted}.
\end{itemize}
The pulses must be time-tagged. It can be achieved either by a
lossy time-tagging via i2c, or with a precise one via White Rabbit. Every
time-tag has appended event identifiers (metadata).
\subsubsection{Time-tagging Format}
The format of the time-tags should be defined. At this moment, an implementation
with 96 bits for timestamping with 32 bits of metadata is the default. A record
of the last 256 time-tags per channel is hold in the FPGA.
\subsection{Multiboot manager}
The task of the \textit{Multiboot manager} is to manage a golden bitstream and
another one to update the FPGA from. From within this module a FPGA
reprogramming command is issued.
\subsection{EEPROM manager}
The module responsible to write into the EEPROM, read it back and reprogramming
the memory module. It should be targeted to interface directly with a MICRON
M25P32-VMF6P memory. It will be able to write the MAC address that will be used
by White Rabbit and block memory parts of the EEPROM.
\subsection{White Rabbit core}
Provides precise timestamping.
\pagebreak
\section{HDL development milestones}
The HDL development is scheduled to tackle with several milestones:
\begin{enumerate}
\item \textit{i2c slave} module: verification
\item \textit{Control} module: reset the rest of HDL cores. Bypassing
i2c instrucctions to wishbone interface.
\item \textit{Multiboot manager} module: multiboot between different
precharged bitstreams.
\item \textit{EEPROM manager} module: write a bitstream through the i2c interface.
\item Integration of White Rabbit core: fine timestamping
\end{enumerate}
\section{Wishbone memory map}
So as to access the devices thanks to \textit{CTDAH control} the
following memory map is proposed:
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
&& \textbf{FIRST} & \textbf{LAST}\\
\textbf{NUMBER}&\textbf{DEVICE} & \textbf{WISHBONE} & \textbf{WISHBONE}\\
&& \textbf{ADDRESS} & \textbf{ADDRESS}\\
\hline
\hline
0 & Control & 0x0100 & 0x01FF \\
\hline
1 & I2C slave & 0x0200 & 0x02FF \\
\hline
2 & Trigger 1 & 0x0300 & 0x03FF \\
\hline
3 & Trigger 2 & 0x0400 & 0x04FF \\
\hline
4 & Trigger 3 & 0x0500 & 0x05FF \\
\hline
5 & Trigger 4 & 0x0600 & 0x06FF \\
\hline
6 & Trigger 5 & 0x0700 & 0x07FF \\
\hline
7 & Trigger 6 & 0x0800 & 0x08FF \\
\hline
8 & Multiboot manager & 0x0900 & 0x09FF \\
\hline
9 & EEPROM manager & 0x0A00 & 0x0AFF \\
\hline
10 & White Rabbit core & 0x0B00 & 0x0BFF \\
\hline
\hline
11 & EEPROM memory & 0x1000 & 0x1FFF \\
\hline
\end{tabular}
\end{center}
%\section{HDL modules}
%\subsection{i2c slave}
%w\subsection{trigger}
%$\section{Functional specifications}
%CTDAH board holds the logic that controls pulse conversion and forwarding.
%Three input and output signal levels can be handled: TTL, inverted-TTL and
%%Standard Blocking.
%The behaviour of the HDL is as follows:
%\begin{itemize}
% \item Everytime an input pulse is detected, the pulse is converted to the
% output level and time-tagged. Glitches are not forwarded.
% \item The input events are detected and logged.
% \item CTDAH communicates with a monitor board via I$^2$C through VME64x
% connector. The monitor board can set CTDAH control parameters, receive
% notifications from it, report problems affecting the backplane and reprogram
% CTDAH FPGA.
%\end{itemize}
%
%A block diagram for the HDL core is shown below:\\
%
%\begin{figure}[htb]
% \begin{center}
% \includegraphics[scale=1, keepaspectratio]{BlockDiagram.png}
% \caption{CTDAH HDL structure}
% \end{center}
%\end{figure}
%
%
%
%\pagebreak
%\section{Technical specifications}
%
%
%
%\subsection{Memory mapping}
%
%
%\subsection{Time tagger register}
%Each time an input event is detected, it is time-tagged in the internal FPGA
%memory.\\
%A time-tag consist of six words. The first two words form the PULSE\_ID field
%and the later four ones, the UTC time-tag:
%
%\begin{center}
%\begin{tabular}{|c|c|}
%\hline
%0 & PULSE\_ID_U\\
%\hline
%1 & PULSE\_ID_L\\
%\hline
%2 & UTC_{UU}\\
%\hline
%3 & UTC_{UL}\\
%\hline
%4 & UTC_{LU}\\
%\hline
%5 & UTC_{LL}\\
%\hline
%\end{tabular}
%\end{center}
%\subsubsection{PULSE\_ID field}
%The PULSE\_ID$_L$ contains the length of the output pulse, in clock cycles. The
%PULSE\_ID$_U$ field is defined as follows:
%\begin{center}
%\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
%\hline
%15 & 14 & 13 & 12 & 11 & 10 & 9 & 8 & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0\\
%\hline
%& & & & & & \tiny{OM1} & \tiny{OM0} & & & & \tiny{IOK} & \tiny{IFL} &
%\tiny{IFS} & \tiny{IM1} &\tiny{IM0}\\
%\hline
%\end{tabular}
%\end{center}
%\\
%\subsubsection{UTC field}
\end{document}
\relax
\@writefile{toc}{\contentsline {section}{\numberline {1}Title}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Subtitle}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Another subtitle}{1}}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
id="svg2"
version="1.1"
inkscape:version="0.48.1 r9760"
sodipodi:docname="BlockDiagram.svg"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/HDLSpecifications/BlockDiagram.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270">
<defs
id="defs4">
<marker
inkscape:stockid="Arrow2Mstart"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mstart"
style="overflow:visible">
<path
id="path3971"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mend"
style="overflow:visible;">
<path
id="path3974"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) rotate(180) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-4"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-7"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-2"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-6"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-8"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-4"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-9"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-0"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-0"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-60"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-85"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3974-3"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4142136"
inkscape:cx="311.59232"
inkscape:cy="703.72163"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="991"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:none;stroke:#000000;stroke-width:0.70564538;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985"
width="99.585335"
height="49.294353"
x="320.43967"
y="136.90738" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.70564538;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985-0"
width="99.585335"
height="49.294353"
x="380.43967"
y="215.90739" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="111.78571"
y="79.862183"
id="text3773"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3775"
x="111.78571"
y="79.862183" /></text>
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="370.31049"
y="151.40808"
id="text3777"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3779"
x="370.31049"
y="151.40808">ANTIGLITCH</tspan><tspan
sodipodi:role="line"
x="370.31049"
y="166.40808"
id="tspan3891">+</tspan><tspan
sodipodi:role="line"
x="370.31049"
y="181.40808"
id="tspan3893">TRIGGER</tspan></text>
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="404.20792"
y="246.7157"
id="text3781"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3783"
x="404.20792"
y="246.7157">LOGGER</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.70564538;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985-6"
width="99.585335"
height="49.294353"
x="380.43967"
y="291.90738" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="391.14346"
y="314.2157"
id="text3777-0"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3779-9"
x="391.14346"
y="314.2157">UTC TIMMING</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.21138738;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985-6-2"
width="29.788612"
height="14.788612"
x="380.19254"
y="326.66025" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.21138738;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985-6-2-4"
width="29.788612"
height="14.788612"
x="450.19254"
y="326.66028" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="385.94034"
y="338.55457"
id="text3864"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3866"
x="385.94034"
y="338.55457">WR</tspan></text>
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="457.94034"
y="338.55457"
id="text3864-5"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3866-2"
x="457.94034"
y="338.55457">I<tspan
style="font-size:65.00091553%;baseline-shift:super"
id="tspan3889">2</tspan>C</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:1.87602377;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.87602386, 5.6280716;stroke-dashoffset:0"
id="rect3895"
width="248.12398"
height="248.12398"
x="244.73912"
y="112.49258" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.70564538;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect2985-6-5"
width="99.585335"
height="49.294353"
x="260.43967"
y="215.90738" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="277.14346"
y="244.47742"
id="text3777-0-4"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3779-9-2"
x="277.14346"
y="244.47742">REG_CTRL</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 171.58683,161.75252 c 145.46197,0 145.46197,0 145.46197,0"
id="path3942"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 420.08683,161.75252 c 145.46197,0 145.46197,0 145.46197,0"
id="path3942-6"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.71882296;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 351.81274,186.50746 c 0,28.47012 0,28.47012 0,28.47012"
id="path3942-4"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.71882296;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 389.31274,186.50746 c 0,28.47012 0,28.47012 0,28.47012"
id="path3942-4-7"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 431.58636,292.16428 c 0,-25.36378 0,-25.36378 0,-25.36378"
id="path3942-4-7-4"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.99648672;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 359.68114,238.16198 c 19.13957,0 19.13957,0 19.13957,0"
id="path3942-4-1"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:none"
d="m 365.20195,389.35543 c 0,-28.72764 0,-28.72764 0,-28.72764"
id="path3942-2"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 354.202,387.20694 c 21.56675,-21.56676 21.38998,-21.38998 21.38998,-21.38998 l 0.53033,0.53033"
id="path5354"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="317.62268"
y="405.59171"
id="text5356"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan5358"
x="317.62268"
y="405.59171">WISHBONE BUS</tspan></text>
<text
xml:space="preserve"
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="245"
y="98.862183"
id="text5360"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan5362"
x="245"
y="98.862183">TimeTagger module</tspan></text>
<text
xml:space="preserve"
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="176.44629"
y="154.0741"
id="text3034"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3036"
x="176.44629"
y="154.0741">input</tspan><tspan
sodipodi:role="line"
x="176.44629"
y="176.5741"
id="tspan3038">signal</tspan></text>
<text
xml:space="preserve"
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:aRIAL;-inkscape-font-specification:aRIAL"
x="501.32324"
y="154.0741"
id="text3034-0"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3036-3"
x="501.32324"
y="154.0741">output</tspan><tspan
sodipodi:role="line"
x="501.32324"
y="176.5741"
id="tspan3038-4">signal</tspan></text>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="2104.7244"
height="1488.189"
id="svg3040"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="HDLspecs.svg"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/HDLSpecifications/Figures/HDLspecs.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs3">
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Send"
style="overflow:visible;">
<path
id="path4534"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.3) rotate(180) translate(-2.3,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Sstart"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Sstart"
style="overflow:visible">
<path
id="path4531"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.3) translate(-2.3,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Send"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Send"
style="overflow:visible;">
<path
id="path4516"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
transform="scale(0.2) rotate(180) translate(6,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mstart"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mstart"
style="overflow:visible">
<path
id="path3932"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Lend"
style="overflow:visible;">
<path
id="path4859"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(1.1) rotate(180) translate(1,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Mend"
style="overflow:visible;">
<path
id="path4847"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
transform="scale(0.4) rotate(180) translate(10,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mend"
style="overflow:visible;">
<path
id="path4865"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) rotate(180) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend-3"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4865-0"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6,-0.6)" />
</marker>
</defs>
<sodipodi:namedview
inkscape:document-units="mm"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.5"
inkscape:cx="785.8838"
inkscape:cy="836.02818"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="993"
inkscape:window-x="0"
inkscape:window-y="30"
inkscape:window-maximized="1"
units="mm" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,435.8269)">
<rect
style="fill:none;stroke:#808080;stroke-width:10.62992096;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:31.88976379, 31.88976379;stroke-dashoffset:0"
id="rect3048-53"
width="1050.2668"
height="328.86127"
x="606.83276"
y="-282.88644" />
<g
id="g5908"
transform="translate(-38,0)">
<path
inkscape:connector-curvature="0"
id="path5289"
d="m 1368.0104,433.89759 c 0,-372.155966 0,-372.155966 0,-372.155966"
style="fill:#dbebf1;fill-opacity:1;stroke:#d5dd00;stroke-width:17.3731842;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" />
<path
inkscape:transform-center-y="-6.823672"
transform="translate(37,-438.3269)"
d="m 1354.6379,499.83631 -23.6379,0 -23.6379,0 11.819,-20.47102 11.8189,-20.47101 11.8189,20.47101 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="1.5707963"
sodipodi:arg1="0.52359878"
sodipodi:r2="13.647343"
sodipodi:r1="27.294687"
sodipodi:cy="486.18896"
sodipodi:cx="1331"
sodipodi:sides="3"
id="path5867"
style="fill:#d3dc00;fill-opacity:1;fill-rule:nonzero;stroke:#d5dd00;stroke-width:3.54330707;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:10.62992126;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 967.31388,131.74488 c -156.44737,0 -158.03836,0 -158.03836,0"
id="path4823"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:10.62992126;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 1239.5582,191.10601 c 246.7803,0 246.7803,0 246.7803,0 l 0,-58.68987 62.9325,0 0,1.41422"
id="path4783"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:10.62992126;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 1239.5582,251.17886 c 246.7803,0 246.7803,0 246.7803,0 l 0,58.68987 62.9325,0 0,-1.41422"
id="path4783-7"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:10.62992126;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 1240.2654,311.01534 c 185.969,0 188.0903,0 188.0903,0 l 0,123.03658 0.7071,0"
id="path4741-7"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:10.62992126;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 1240.2653,567.53594 c 185.9691,0 188.0904,0 188.0904,0 l 0,-123.03658 0.7071,0"
id="path4741"
inkscape:connector-curvature="0"
transform="translate(0,-435.8269)" />
<rect
style="fill:none;stroke:#000000;stroke-width:10.62992096;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="rect3048"
width="525.13342"
height="254.94031"
x="972.77515"
y="-241.23524" />
<text
xml:space="preserve"
style="font-size:20px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
x="994.1496"
y="-201.34645"
id="text3818"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3820"
x="994.1496"
y="-201.34645">Trigger</tspan></text>
<g
id="g6171">
<rect
y="-183.73241"
x="1009.6368"
height="84.980103"
width="175.04448"
id="rect3048-1"
style="fill:none;stroke:#000000;stroke-width:3.60257483;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3894"
y="-135.03526"
x="1035.0613"
style="font-size:24px;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.03526"
x="1035.0613"
id="tspan3896"
sodipodi:role="line">debouncer</tspan></text>
</g>
<g
id="g6166">
<rect
y="-88.980103"
x="1008.4507"
height="84.980103"
width="175.04448"
id="rect3048-1-4"
style="fill:none;stroke:#000000;stroke-width:3.60257483;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3898"
y="-39.596664"
x="1026.5759"
style="font-size:24px;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="-39.596664"
x="1026.5759"
id="tspan3900"
sodipodi:role="line">monostable</tspan></text>
</g>
<g
id="g6152">
<g
transform="translate(22,-44)"
id="g4100">
<rect
style="fill:none;stroke:#000000;stroke-width:2.54055119;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="rect3048-1-2"
width="86.041199"
height="86.041199"
x="1264.3323"
y="-140.26295" />
<text
xml:space="preserve"
style="font-size:24px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="1306.698"
y="-103.70128"
id="text3902"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3904"
x="1306.698"
y="-103.70128">RAM</tspan><tspan
sodipodi:role="line"
x="1306.698"
y="-73.701279"
id="tspan3906">ID</tspan></text>
</g>
</g>
<g
id="g6159">
<g
transform="translate(-79.16172,50.752305)"
id="g4106">
<rect
style="fill:none;stroke:#000000;stroke-width:2.54147959;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="rect3048-1-2-8"
width="86.041199"
height="86.041199"
x="1365.4935"
y="-140.26295" />
<text
xml:space="preserve"
style="font-size:24px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="1406.9464"
y="-103.70128"
id="text3908"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3910"
x="1406.9464"
y="-103.70128">RAM</tspan><tspan
sodipodi:role="line"
x="1406.9464"
y="-73.701279"
id="tspan3912">TT</tspan></text>
</g>
</g>
<g
id="g3964"
transform="translate(908.22912,-439.89724)">
<path
transform="matrix(0.53116496,0,0,0.61333649,291.93404,256.75161)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(1.0623299,0,0,1.226673,63.001955,63.503243)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
</g>
<g
id="g6225">
<rect
y="95.964722"
x="333.86011"
height="255.4807"
width="472.09747"
id="rect3048-0"
style="fill:none;stroke:#000000;stroke-width:10.08952808;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3818-1"
y="136.1237"
x="357.50476"
style="font-size:20px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
xml:space="preserve"><tspan
y="136.1237"
x="357.50476"
id="tspan3820-5"
sodipodi:role="line">i2c_slave_top</tspan><tspan
id="tspan4829"
y="161.1237"
x="357.50476"
sodipodi:role="line" /></text>
<g
id="g6142">
<rect
style="fill:none;stroke:#000000;stroke-width:2.54055119;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="rect3048-1-2-8-5"
width="169.50935"
height="83.002853"
x="152.28696"
y="-721.49677"
transform="matrix(0,1,-1,0,0,0)" />
<text
xml:space="preserve"
style="font-size:28px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="236.49167"
y="-673.58978"
id="text3908-0"
sodipodi:linespacing="125%"
transform="matrix(0,1,-1,0,0,0)"><tspan
sodipodi:role="line"
x="236.49167"
y="-673.58978"
id="tspan4309">i2c_regs</tspan></text>
</g>
<g
transform="matrix(0,-1,1,0,351.23635,652.95996)"
id="g3964-0">
<path
sodipodi:type="star"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0.53116496,0,0,0.61333649,291.93404,256.75161)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(1.0623299,0,0,1.226673,63.001955,63.503243)" />
</g>
<g
id="g6147">
<rect
style="fill:none;stroke:#000000;stroke-width:2.54055119;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="rect3048-1-2-8-5-3"
width="166.93723"
height="253.44395"
x="153.573"
y="-612.69574"
transform="matrix(0,1,-1,0,0,0)" />
<text
xml:space="preserve"
style="font-size:28px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="487.04919"
y="243.60225"
id="text3908-0-2"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="487.04919"
y="243.60225"
id="tspan4309-8">i2c_slave_core</tspan></text>
</g>
</g>
<g
id="g6185">
<rect
y="247.05212"
x="1553.0756"
height="127.47015"
width="262.56671"
id="rect3048-5-0"
style="fill:none;stroke:#000000;stroke-width:10.62992096;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3818-4-1"
y="302.16412"
x="1628.8198"
style="font-size:30px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
xml:space="preserve"><tspan
y="302.16412"
x="1628.8198"
id="tspan3820-0-5"
sodipodi:role="line">EEPROM</tspan><tspan
id="tspan4060"
y="339.66412"
x="1628.8198"
sodipodi:role="line">manager</tspan></text>
<g
transform="matrix(0,1,-1,0,2007.1968,-210.07894)"
id="g3964-0-9-7">
<path
sodipodi:type="star"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-8-7"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0.53116496,0,0,0.61333649,291.93404,256.75161)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-0-4"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(1.0623299,0,0,1.226673,63.001955,63.503243)" />
</g>
</g>
<g
id="g6176">
<rect
y="70.234917"
x="1553.0756"
height="127.47015"
width="262.56671"
id="rect3048-5-01"
style="fill:none;stroke:#000000;stroke-width:10.62992096;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3818-4-6"
y="125.34688"
x="1628.8198"
style="font-size:30px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
xml:space="preserve"><tspan
y="125.34688"
x="1628.8198"
id="tspan3820-0-59"
sodipodi:role="line">Multiboot</tspan><tspan
id="tspan4062"
y="162.84688"
x="1628.8198"
sodipodi:role="line">manager</tspan></text>
<g
transform="matrix(0,1,-1,0,2007.1968,-386.89615)"
id="g3964-0-9-7-8">
<path
sodipodi:type="star"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-8-7-6"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0.53116496,0,0,0.61333649,291.93404,256.75161)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-0-4-8"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(1.0623299,0,0,1.226673,63.001955,63.503243)" />
</g>
</g>
<g
id="g6205">
<rect
y="89.341988"
x="972.77515"
height="258.04016"
width="260.35159"
id="rect3048-0-8"
style="fill:none;stroke:#000000;stroke-width:10.62992096;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<g
transform="translate(14,-22.533117)"
id="g4667">
<path
sodipodi:type="star"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-89"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-5"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)" />
</g>
<g
transform="matrix(-1,0,0,-1,2192.7361,286.72075)"
id="g4667-7">
<path
sodipodi:type="star"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-89-0"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-5-7"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)" />
</g>
<g
transform="matrix(-1,0,0,-1,2192.7361,346.47683)"
id="g4667-7-0">
<path
sodipodi:type="star"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-89-0-9"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-5-7-9"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)" />
</g>
<g
transform="matrix(-1,0,0,-1,2192.7361,406.23292)"
id="g4667-7-8">
<path
sodipodi:type="star"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-89-0-1"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-5-7-1"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)" />
</g>
<g
transform="matrix(-1,0,0,-1,2192.7361,465.989)"
id="g4667-7-2">
<path
sodipodi:type="star"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-89-0-6"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-5-7-8"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)" />
</g>
<text
sodipodi:linespacing="125%"
id="text4825"
y="230.37805"
x="1005.1627"
style="font-size:20px;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:36px;font-weight:bold;-inkscape-font-specification:Sans Bold"
y="230.37805"
x="1005.1627"
id="tspan4827"
sodipodi:role="line">CONTROL</tspan></text>
</g>
<g
id="g6293">
<rect
y="434.36206"
x="1296.25"
height="37.5"
width="66.75"
id="rect5916"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
<rect
y="436.21521"
x="1235.3419"
height="127.47015"
width="262.56671"
id="rect3048-5"
style="fill:none;stroke:#000000;stroke-width:10.62992096;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16" />
<text
sodipodi:linespacing="125%"
id="text3818-4"
y="523.32721"
x="1257.0862"
style="font-size:30px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
xml:space="preserve"><tspan
y="523.32721"
x="1257.0862"
id="tspan3820-0"
sodipodi:role="line">White Rabbit</tspan></text>
<path
transform="matrix(-0.53116496,0,0,-0.61333649,1658.0274,632.93125)"
inkscape:transform-center-y="-3.9896244"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-7-1-8"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<path
transform="matrix(-1.0623299,0,0,-1.226673,1886.9594,826.17962)"
inkscape:transform-center-y="-7.9792412"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="-0.52359878"
sodipodi:arg1="-1.5707963"
sodipodi:r2="13.009611"
sodipodi:r1="26.019224"
sodipodi:cy="301.36218"
sodipodi:cx="431"
sodipodi:sides="3"
id="path3933-2-0"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
sodipodi:type="star" />
<text
sodipodi:linespacing="125%"
id="text5912"
y="460.5137"
x="1306.7334"
style="font-size:20px;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;fill:#d4dc00;fill-opacity:1;-inkscape-font-specification:Sans Bold"
y="460.5137"
x="1306.7334"
id="tspan5914"
sodipodi:role="line">UTC</tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:14.17322826;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 330.39766,-146.30525 c 619.42554,0 619.42554,0 619.42554,0"
id="path5922"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:14.17322826;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 968.82891,-56.313282 c -619.42558,0 -619.42558,0 -619.42558,0"
id="path5922-0"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:20px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
x="398.97055"
y="-162.09631"
id="text3090"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3092"
x="398.97055"
y="-162.09631"
style="font-size:48px;font-weight:bold;-inkscape-font-specification:Sans Bold">PULSE IN</tspan></text>
<text
xml:space="preserve"
style="font-size:20px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
x="398.97055"
y="-87.702904"
id="text3094"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3096"
x="398.97055"
y="-87.702904"
style="font-size:48px;font-weight:bold;-inkscape-font-specification:Sans Bold">PULSE OUT</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:14.17322826;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Sstart);marker-end:url(#Arrow2Send)"
d="m 580.5,376.86206 c 0,175 0,175 0,175"
id="path3111"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:42px;font-style:normal;font-weight:bold;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
x="585.89026"
y="610.50006"
id="text4547"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4549"
x="585.89026"
y="610.50006"
style="font-size:48px">i2c</tspan><tspan
sodipodi:role="line"
x="585.89026"
y="670.50006"
id="tspan4551"
style="font-size:48px">FROM VME64x BUS</tspan></text>
<g
id="g6270">
<g
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/HDLSpecifications/Figures/text4601-9.png"
transform="matrix(0,1,-1,0,1589.6269,-259.37406)"
id="g4667-7-8-1">
<path
sodipodi:type="star"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-89-0-1-1"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0,-0.53116496,0.61333649,0,761.2909,383.55904)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-5-7-1-4"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(0,-1.0623299,1.226673,0,568.04254,612.49112)" />
</g>
<g
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/HDLSpecifications/Figures/text4601-9.png"
transform="translate(914.13382,322.16525)"
id="g3964-0-9-4">
<path
sodipodi:type="star"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-7-1-8-1"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-3.9896244"
transform="matrix(0.53116496,0,0,0.61333649,291.93404,256.75161)" />
<path
sodipodi:type="star"
style="fill:none;stroke:#000000;stroke-width:1.55197489;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:16"
id="path3933-2-0-7"
sodipodi:sides="3"
sodipodi:cx="431"
sodipodi:cy="301.36218"
sodipodi:r1="26.019224"
sodipodi:r2="13.009611"
sodipodi:arg1="-1.5707963"
sodipodi:arg2="-0.52359878"
inkscape:flatsided="false"
inkscape:rounded="0"
inkscape:randomized="0"
d="m 431,275.34296 11.26665,19.51442 11.26666,19.51442 -22.53331,-1e-5 -22.53331,0 11.26666,-19.51441 z"
inkscape:transform-center-y="-7.9792412"
transform="matrix(1.0623299,0,0,1.226673,63.001955,63.503243)" />
</g>
<text
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
sodipodi:linespacing="125%"
id="text4601"
y="682.29175"
x="1501.5"
style="font-size:42px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
xml:space="preserve"><tspan
style="font-size:32px;font-weight:bold;-inkscape-font-specification:Sans Bold"
y="682.29175"
x="1501.5"
id="tspan4603"
sodipodi:role="line">Wishbone master</tspan></text>
<text
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
sodipodi:linespacing="125%"
id="text4601-9"
y="759.29175"
x="1501.5"
style="font-size:42px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
xml:space="preserve"><tspan
style="font-size:32px;font-weight:bold;-inkscape-font-specification:Sans Bold"
y="759.29175"
x="1501.5"
id="tspan4603-9"
sodipodi:role="line">Wishbone slave</tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:10.62992126;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 809.84625,288.68674 c 146.60225,0 148.09312,0 148.09312,0"
id="path4823-0"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:42px;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="824"
y="271.36206"
id="text3126"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3128"
x="824"
y="271.36206"
style="font-size:26px">interrupts</tspan></text>
<text
xml:space="preserve"
style="font-size:42px;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="1689.7427"
y="-241.64333"
id="text4081"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4083"
x="1689.7427"
y="-241.64333"
style="font-size:58px;font-weight:bold;fill:#808080;fill-opacity:1;-inkscape-font-specification:Sans Bold">x6</tspan></text>
</g>
</svg>
@TECHREPORT{UG380,
institution= "Xilinx Inc.",
title= {{Spartan-6 FPGA Configuration User Guide}},
month= jul,
year= 2011,
number = "UG380 v2.3",
note = "{\url{http://www.xilinx.com/support/documentation/user_guides/ug380.pdf}}"
}
\ No newline at end of file
%%This is a very basic article template.
%%There is just one section and two subsections.
\documentclass[a4paper,11pt]{article}
\usepackage[pdfborder= 0 0 0 1]{hyperref}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{draftwatermark}
\SetWatermarkLightness{0.85}
\SetWatermarkScale{5}
\begin{document}
\title{\textbf{CONV-TTL-BLO \\ User Guide}}
\author{Carlos Gil Soriano\\BE-CO-HT\\
\href{mailto:carlos.gil.soriano@cern.ch}{\textbf{\textit{carlos.gil.soriano@cern.ch}}}}
\date{\today}
\maketitle
\begin{abstract}
This \textit{User's Guide} covers the following topics:
\begin{itemize}
\item HDL global structure.
\item Golden image memory mapping.
\item Register mapping of all the HDL cores.
\item Instructions for accesing to the functionalities.
\end{itemize}
\end{abstract}
\pagebreak
\tableofcontents
\pagebreak
\section{HDL global structure}
The following schema is used as a reference for the HDL development:\\
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.3, keepaspectratio]{Figures/HDLspecs.png}
\caption{CONV-TTL-BLO HDL structure}
\end{center}
\end{figure}
\subsection{Control}
It is the part that bridges the I2C frames to the correct wishbone module. The
tasks it is responsible of are:
\begin{itemize}
\item Correctly power-up the rest of the modules.
\item Provide connectivity of all the wishbone registers via
I2C. It manages control access to the registers.
\end{itemize}
\subsection{I2C slave}
An I2C slave is needed to receive the frames from the VME64x SERA and SERB pins
in P1 connector. This module will communicates with \textit{control hdl module}
in the following fashion:
\begin{itemize}
\item It connects as a wishbone \textbf{slave} to control hdl core and
provides interrupt lines for data reception and transmission.
\end{itemize}
The main reason of implementing a wishbone slave is that by dividing data
reception -\textit{i2c slave}- from control access -\textit{control}- the
development is more reliable and clear.\\ This module offers configuration
registers to ease the task of data assembly --for instance, the communication
schema in ELMA crate.
\subsection{Trigger}
The trigger manages the pulse repetition. The parameters handled that affect the
pulse repetition are:
\begin{itemize}
\item \textbf{Debouncing} stages of the input pulse.
\item \textbf{Pulse length} of the output pulse according to Standard
Blocking definition.
\item \textbf{Minimun spacing between pulses} to let the magnetizing current
of the transformer be drained off. It is also refered in other documents as
\textit{Inactivity timeout upon output pulse is outputted}.
\end{itemize}
The pulses must be time-tagged. It can be achieved either by a
lossy time-tagging via i2c, or with a precise one via White Rabbit. Every
time-tag has appended event identifiers (metadata).
\subsubsection{Time-tagging Format}
The format of the time-tags should be defined. At this moment, an implementation
with 96 bits for timestamping with 32 bits of metadata is the default. A record
of the last 256 time-tags per channel is hold in the FPGA.
\subsection{Multiboot manager}
The task of the \textit{Multiboot manager} is to manage a golden bitstream
and another one to update the FPGA from. From within this module a FPGA
reprogramming command is issued.
\subsection{EEPROM manager}
The module responsible to write into the EEPROM, read it back and reprogramming
the memory module. It should be targeted to interface directly with a MICRON
M25P32-VMF6P memory. It will be able to write the MAC address that will be used
by White Rabbit and block memory parts of the EEPROM.
\subsection{White Rabbit core}
Provides precise timestamping.
\pagebreak
\section{Golden image memory mapping}
To access the devices thanks to \textit{control module} the
following memory map applies:
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
&& \textbf{FIRST} & \textbf{LAST}\\
\textbf{NUMBER}&\textbf{DEVICE} & \textbf{WISHBONE} & \textbf{WISHBONE}\\
&& \textbf{ADDRESS} & \textbf{ADDRESS}\\
\hline
\hline
0 & \hyperref[sec:control]{Control} & 0x0100 & 0x01FF \\
\hline
1 & \hyperref[sec:I2C]{I2C slave} & 0x0200 & 0x02FF \\
\hline
2 & \hyperref[sec:trigger]{Trigger 1} & 0x0300 & 0x03FF \\
\hline
3 & \hyperref[sec:trigger]{Trigger 2} & 0x0400 & 0x04FF \\
\hline
4 & \hyperref[sec:trigger]{Trigger 3} & 0x0500 & 0x05FF \\
\hline
5 & \hyperref[sec:trigger]{Trigger 4} & 0x0600 & 0x06FF \\
\hline
6 & \hyperref[sec:trigger]{Trigger 5} & 0x0700 & 0x07FF \\
\hline
7 & \hyperref[sec:trigger]{Trigger 6} & 0x0800 & 0x08FF \\
\hline
8 & \hyperref[sec:multiboot]{Multiboot manager} & 0x0900 & 0x09FF \\
\hline
9 & \hyperref[sec:EEPROM]{EEPROM manager} & 0x0A00 & 0x0AFF \\
\hline
10 & White Rabbit core & 0x0B00 & 0x0BFF \\
\hline
\hline
11 & EEPROM memory & 0x1000 & 0x1FFF \\
\hline
\end{tabular}
\end{center}
\pagebreak
\section{Control module}
\label{sec:control}
\pagebreak
\section{I2C slave module}
\label{sec:I2C}
\subsection{Structure}
The i2c module contains several blocks related the following way:\\
-- i2c\_slave\_top.vhd
----- i2c\_regs.vhd
----- i2c\_slave\_core.vhd
--------- FIFO\_dispatcher.vhd
--------- FIFO\_stack.vhd
--------- gc\_counter.vhd
--------- gc\_ff.vhd
--------- i2c\_bit.vhd
\subsection{Interrupting lines offered}
\subsubsection{ind\_wb\_addr}
This interrupting signal issues when a \textit{indirect wishbone address} has
been received. It is notified right after the first CTR0[BIA] + 1 bytes upon the
reception of the I2C byte address packet.
This signal is vital for correctly prefetching when a I2C read operation is
requested.
\subsubsection{inst\_rd}
This signal is issued when a read operation directed by an external master over
the HDL slave core is finished. That means it will be generated after the last
data byte has been sent by the HDL core.
\subsubsection{inst\_wr}
This signal is issued when a write operation directed by an external master over
the HDL slave core is finished. That means it will be generated after the last
data byte has been received.
\subsection{Registers}
\subsubsection{STA}
The STA register is a read-only register. It control the general enable and
reset of the module. It also contains the current value of the finite state
machine of the i2c modue (useful for easy debugging).\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
0 & EN & General ENable\\
\hline
1 & RST & General ReSeT\\
\hline
2 & RD\_WRN\_INST & Reserved\\
\hline
3 & A\_RX &\\
\hline
4 & A\_TX &\\
\hline
8-5 & x & Reserved\\
\hline
15-9 & i2c\_sla\_fsm & i2c fsm\\
\hline
31-16 & Not used\\
\hline
\end{tabular}
\subsubsection{PRE}
The PRE register is a write-read register. Right now it is not used.\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
15-0 & PRE & PREscaler value\\
\hline
31-16 & - & Not used\\
\hline
\end{tabular}
\subsubsection{CTR0}
The CTR0 register is a write-read register. It controls the indirect addres
and holds the I2C address (which in the case of \textit{CONV-TTL-BLO} will be
connected to VME64x geographical address pins).\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
0 & EN & general ENable\\
\hline
1 & RST & general ReSeT\\
\hline
2 & PEN & Prescaler ENable\\
\hline
5-3 & x & Reserved\\
\hline
7-6 & BIA & Bytes Indirect Addressing\\
\hline
14-8 & A[6:0] & I2C address\\
\hline
15 & x & Reserved\\
\hline
31-16 & - & Not used\\
\hline
\end{tabular}
\subsubsection{CTR1}
The CTR1 register is a write-read register. It shows the fsm of the separate
\textit{read} and \textit{write} fsms.\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
7-0 & RDS & fsm status: ReaD Status\\
\hline
15-8 & WDS & fsm status: WRite Status\\
\hline
31-16 & - & Not used\\
\hline
\end{tabular}
\subsubsection{DRXA}
The DRXA register is a read-only register. It holds the last four received
bytes through the I2C. DRX0 has the most recent byte received from the serial
interface. DRX3 has the oldest byte received.\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
7-0 & DRX0 & Data RX register 0\\
\hline
15-8 & DRX1 & Data RX register 1\\
\hline
23-16 & DRX2 & Data RX register 2\\
\hline
31-24 & DRX3 & Data RX register 3\\
\hline
\end{tabular}
\subsubsection{DRXB}
The DRXB register is a read-only register. It holds the fifth and sixth latest
received bytes, respectively.
\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
7-0 & DRX4 & Data RX register 0\\
\hline
15-8 & DRX5 & Data RX register 1\\
\hline
31-16 & - & Not used\\
\hline
\end{tabular}
\subsubsection{DTX}
The DTX register is a write-read register. It shows the fsm of the separate
\textit{read} and \textit{write} fsms.\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
7-0 & RDS & fsm status: ReaD Status\\
\hline
15-8 & WDS & fsm status: WRite Status\\
\hline
31-16 & - & Not used\\
\hline
\end{tabular}
\subsection{Internal Memory Mapping}
The internal registers map is as follow:\\
\begin{tabular}{| c | c | c |}
\hline
\textbf{Address} & \textbf{Register} & \textbf{Access} \\
\hline
\hline
\textbf{0x0} & \textit{STA} & Read-only\\
\hline
\textbf{0x1} & \textit{PRE} & Write-read\\
\hline
\textbf{0x2} & \textit{CTR0} & Write-read\\
\hline
\textbf{0x3} & \textit{CTR1} & Write-read\\
\hline
\textbf{0x4} & \textit{DRXA} & Read-only\\
\hline
\textbf{0x5} & \textit{DRXB} & Read-only\\
\hline
\textbf{0x6} & \textit{DTX} & Write-read\\
\hline
\end{tabular}
\subsection{How to use it}
\subsubsection{Initialization}
\begin{enumerate}
\item Perform a reset of the module while module is not enabled:\\
\textit{CTR0: write 0 to EN and 1 to RST.}
\item Load the prescaler:\\
\textit{PRE: set a new value.}
\item Set the I2C address of the slave module:\\
\textit{CTR0[A]: set the I2C address.}
\item Set the rest of bits of CTR0, including EN:\\
\textit{CTR0: set rest of bits.}
\end{enumerate}
\subsubsection{Indirect Write from Master to Slave}
It is a one-phase transaction: one indirect writing is achieved
by signaling only one I2C start condition by the master.
\begin{enumerate}
\item The Master I2C device starts an I2C transaction. In the first byte it
specifies the type of transaction issued as a write.
\item Then, two bytes are received in the slave. At the end of the reception
of the last bit of this second byte (third since the I2C start condition), the
finite state machine in \textit{i2c\_slave\_core.vhd} launches the interrupt
\textit{inst\_wb\_addr}.
\textbf{Address prefetching}: at this point, the Wishbone Address can be
stored.
It is found in \textit{DRX0} and \textit{DRX1} registers:
\begin{itemize}
\item \textit{DRX0}: holds the Wishbone Address Lowest Byte
\item \textit{DRX1}: holds the Wishbone Address Highest Byte
\end{itemize}
\item Following the reception of the two bytes corresponding to the Wishbone
Address, four more bytes will be received. They are the data bytes. Once the
last bit of this fourth byte is received (seventh byte since the I2C start
condition), the finite state machine in \textit{i2c\_slave\_core.vhd} launches
the interrupt \textit{inst\_wr}.
\textbf{Address and Data fetching}: at this point, the \textit{Wishbone
Address} and the \textit{Data} to be written in that address can be both
fetched through the \textit{DRX} registers:
\begin{itemize}
\item \textit{DRX0}: holds the Data Lowest Byte
\item \textit{DRX1}: holds the Data 2$^{nd}$ Lowest Byte
\item \textit{DRX2}: holds the Data 2$^{nd}$ Highest Byte
\item \textit{DRX3}: holds the Data Highest Byte
\item \textit{DRX4}: holds the Wishbone Address Lowest Byte
\item \textit{DRX5}: holds the Wishbone Address Highest Byte
\end{itemize}
\item The Master I2C device stops the I2C transaction.
\end{enumerate}
\subsubsection{Indirect Read from Master to Slave}
It is a two-phases transaction: one indirect read is achieved
by signaling only two I2C start conditions by the master.\\
\textbf{FIRST PHASE}
\begin{enumerate}
\item The Master I2C device starts an I2C transaction. In the first byte it
specifies the type of transaction issued as a write.
\item Then, two bytes are received in the slave. At the end of the reception
of the last bit of this second byte (third since the I2C start condition), the
finite state machine in \textit{i2c\_slave\_core.vhd} launches the interrupt
\textit{inst\_wb\_addr}.
\textbf{Address Prefetching}: at this point, the Wishbone Address can be
stored.
It is found in \textit{DRX0} and \textit{DRX1} registers:
\begin{itemize}
\item \textit{DRX0}: holds the Wishbone Address Lowest Byte
\item \textit{DRX1}: holds the Wishbone Address Highest Byte
\end{itemize}
\textbf{Data Prefetching}: it is a good practice to do the \textit{data
prefetching} of the Wishbone Address (in case this is accessible). The control
logic attached to the \textit{i2c\_slave\_wb} module should perform a
wishbone write to the four \textit{DTX[X]} registers:
\begin{itemize}
\item \textit{DTX0}: holds the Data Lowest Byte
\item \textit{DTX1}: holds the Data 2$^{nd}$ Lowest Byte
\item \textit{DTX2}: holds the Data 2$^{nd}$ Highest Byte
\item \textit{DTX3}: holds the Data Highest Byte
\end{itemize}
so that the data in the transmission registers is up-to-date, in order to be
sent through I2C.
\end{enumerate}\\
\pagebreak
\textbf{SECOND PHASE}
\begin{enumerate}
\item The Master I2C device (re)starts an I2C transaction. In the first byte
it specifies the type of transaction issued as a read. At the end of the
reception of the last bit on the first byte of this \textit{second phase}
(third byte sinc the I2C start condition from the \textit{first phase}), the
finite state machine in \textit{i2c\_slave\_core.vhd} launches the interrupt
\textit{inst\_wb\_addr}.
\item The \textit{i2c\_slave\_wb} module sends the four data bytes in the
following order:
\begin{enumerate}
\item Data Lowest Byte
\item Data 2$^{nd}$ Lowest Byte
\item Data 2$^{nd}$ Highest Byte
\item Data Highest Byte
\end{enumerate}
\item Once the last byte has been already send, the finite state machine in
\textit{i2c\_slave\_core.vhd} launches the interrupt \textit{inst\_rd\_addr}.
\end{enumerate}
\pagebreak
\section{Trigger module}
\label{sec:trigger}
\subsection{Structure}
The trigger module contains several blocks related the following way:\\
-- \textbf{\textit{trigger\_top.vhd}}
----- \textbf{trigger\_regs.vhd}
----- \textbf{trigger\_core.vhd}
--------- debouncer.vhd
--------- monostable.vhd
----- \textbf{TT\_RAMhandler.vhd}
--------- gc\_RAM.vhd (for IDs)
--------- gc\_RAM.vhd (for TTs)
\subsubsection{\textit{trigger\_top.vhd}}
The top module interconnects the three basic building blocks: registers, core
and generic RAM. Each \textit{trigger\_top.vhd} module will control
one output Blocking driver.
Inside \textit{trigger\_top.vhd} there are some constant that are used as
\textit{generic} in both the registers and generic RAMs. The constants are
explained later in the section 'Parameters' and are the following:
\begin{itemize}
\item \textit{c\_RAM\_SIZE }
\item \textit{c\_MAX\_GLITCH\_STAGES }
\item \textit{c\_DEFAULT\_GLITCH\_MASK }
\item \textit{c\_MIN\_PULSE\_LENGTH }
\item \textit{c\_MAX\_PULSE\_LENGTH }
\item \textit{c\_DEFAULT\_PULSE\_LENGTH }
\item \textit{c\_TAGS\_DATA\_WIDTH }
\end{itemize}
\subsubsection{trigger\_regs.vhd}\\
It consist of a core that can be accessed via Wishbone and that contains all the
registers which control this trigger core. The minimum and maximum values and
proceeding for configuring them will be explained in the two next following
sections.
\subsubsection{TT\_RAMhandler.vhd}\\
The TT\_RAMhandler is the component that control reads and writes into the RAM
space used for time-tagging pulses. It is subdivided into two separated blocks
of RAM: one for identification of the input and output pulse shape (so called
''ID Block'') and the other one for time-tagging (''TT Block'').
The idea behind seperating the block memories lies in ease the task of updating
the code in case different widths for the ID and TT fields are decided.
\item[]
\subsection{Behaviour}
Once a pulse has been deglitched, which translates into a delay of
\textit{wb\_clk * cycles to match c\_DEFAULT\_GLITCH\_MASK }, a monostable
will reproduce a pulse with a length determined by the CPL field in CTR0
register. The duration of the output pulse will be hence, \textit{CTR0[CPL] *
wb\_clk}. After this time, a preventive action has been taken to not damage the
coupled inductors in \textbf{CONV-TTL-BLO}. A timeout will be run in which no
input pulse will be replicated. The value of this timeout corresponds to
\textit{CTR0[CPL] * wb\_clk}, which is the same as the outputted pulse.
\begin{description}
\item[Min. Deglitch Mask delay] \textit{wb\_clk * 1}
\item[Max. Deglitch Mask delay] \textit{wb\_clk * bits of
c\_DEFAULT\_GLITCH\_MASK }
\item[Min. input pulse length] \textit{c\_DEFAULT\_GLITCH\_MASK * wb\_clk}
\item[Output pulse length] \textit{CTR0[CPL] * wb\_clk}
\item[Inactivity timeout upon output pulse is done] \textit{CTR0[CPL] * wb\_clk}
\end{description}
\subsection{Parameters}
\subsubsection{ \textit{g\_MAX\_GLITCH\_STAGES} }
It specifies the maximum stages used for debouncing an input signal. The input
signal is validated by bit 0 in CTR0. If CRT0[0] is set to 0. Inputs won't be
replicated (it won't even be deglitched).
The value of this parameters express the length in bits of the parameter that
holds the deglitching mask. The value of the Current deGlitching Mask can be
found in CGM in CTR0 register.
\subsubsection{ \textit{g\_DEFAULT\_GLITCH\_MASK} }
It specifies the default value that it is used for the Current deGlitching Mask
for the CGM field in CTR0 register. Only the lower CGM bits specified by the
values of \textit{g\_MAX\_GLITCH\_STAGES} will be used as deglitching mask. It
should be remarked that the input will be validated against a mask, so values
not monotonical can be accepted. Examples are shown at the end of this document.
\subsubsection{ \textit{g\_MIN\_PULSE\_LENGTH} }
It specifies the default value that it is used for the Minimum Pulse Length
for the MinPL field in CTR1 register.
This field overrides the value of CPL in CTR0 in case the user tries to
configure an output pulse with a width lower than MinPL. Therefore CTR0 will be
MinPL.\\
\textbf {\textit {BOUNDING MUST BE IMPLEMENTED}}
\subsubsection{ \textit{g\_MAX\_PULSE\_LENGTH} }
It specifies the default value that it is used for the Maximum Pulse Length
for the MaxPL field in CTR1 register.
This field overrides the value of CPL in CTR0 in case the user tries to
configure an output pulse with a width longer than MaxPL. Therefore CTR0 will be
MaxPL.\\
\textbf {\textit {BOUNDING MUST BE IMPLEMENTED}}
\subsection{ \textit{g\_DEFAULT\_PULSE\_LENGTH} }
It specifies the default value that it is used for the Current Pulse Length
for the CPL field in CTR0 register.
It should be noted that its value is bounded by MinPL and MaxPL fields of CTR1
register.\\
\textbf {\textit {BOUNDING MUST BE IMPLEMENTED}}
\subsection{Registers}
\subsubsection{STATUS}
The STATUS register is a read-only register. It shows the basic configuration of
the trigger HDL core and the status of the trigger core RAM blocks.\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
0 & EN & General ENable\\
\hline
1 & CLR & General CLeaR\\
\hline
3-2 & x & Reserved\\
\hline
4 & EN\_TT & Enable Time-Tagging\\
\hline
5 & CLR\_TT & CLeaR Time-Tagging\\
\hline
7-6 & x & Reserved\\
\hline
8 & EMPTY & RAM empty flag\\
\hline
9 & FULL & RAM full flag\\
\hline
10 & WA & RAM wrapped around\\
\hline
15-11 & x & Reserved\\
\hline
31-16 & CPL & Current Pulse Length\\
\hline
\end{tabular}
\subsubsection{CTR0}
The CTR0 register is a read-write register. It allows setting up the basic
configuration of the trigger HDL core, its RAM blocks and both the deglitching
mask and output pulse length to be used.\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
0 & EN & General ENable\\
\hline
1 & CLR & General CLeaR\\
\hline
3-2 & x & Reserved\\
\hline
4 & EN\_TT & Enable Time-Tagging\\
\hline
5 & CLR\_TT & Clear Time-Tagging\\
\hline
7-6 & RDM & time-tagging ReaD Mode\\
\hline
15-8 & CGM & Current Glitch Mask\\
\hline
31-16 & CPL & Current Pulse Length\\
\hline
\end{tabular}
\subsubsection{CTR1}
The CTR1 register is a read-write register. It allows setting up the boundaries
that override invalid values of CPL field in CTR0.\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
15-0 & MinPL & Minimum Pulse Length\\
\hline
31-16 & MaxPL & Maximum Pulse Length\\
\hline
\end{tabular}
\subsubsection{RAM0}
The RAM0 register is a read-write register. It allows setting up the RAM
and the read request to it.\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
0 & EN\_TT & Enable Time-Tagging \\
\hline
1 & CLR\_TT & Clear Time-Tagging \\
\hline
3-2 & RDM & time-tagging ReaD mode\\
\hline
4 & EMPTY & RAM empty\\
\hline
5 & FULL & RAM full\\
\hline
6 & WA & RAM Wrapped Around\\
\hline
7 & RQT & ReQuesT read\\
\hline
31-8 & x & Reserved\\
\hline
\end{tabular}
\subsubsection{RAM1}
The RAM1 register is a read-only register. It shows the current read and write
address configured to be accessed.\\
\begin{tabular}{| l | c | c |}
\hline
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
15-0 & CRA & Current Read Address\\
\hline
31-16& CWA & Current Write Address\\
\hline
\end{tabular}
\subsubsection{RAM2}
The RAM2 register is a read-write register. It allows setting up the RAM adress
range to be read.\\
\begin{tabular}{| l | c | c |}
\hline
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
15-0 & SA & Starting read Address\\
\hline
31-16 & EA & Ending read Address\\
\hline
\end{tabular}
\pagebreak
\subsection{Internal Memory Mapping}
The internal registers map is as follow:\\
\begin{tabular}{| c | c | c |}
\hline
\textbf{Address} & \textbf{Register} & \textbf{Access} \\
\hline
\hline
\textbf{0x0} & \textit{STATUS} & Read-only\\
\hline
\textbf{0x1} & \textit{CTR0} & Read-write\\
\hline
\textbf{0x2} & \textit{CTR1} & Read-write\\
\hline
\textbf{0x3} & \multicolumn{2}{l|}{Not used}\\
\hline
\textbf{0x4} & \multicolumn{2}{l|}{Not used}\\
\hline
\textbf{0x5} & \textit{RAM0} & Read-write\\
\hline
\textbf{0x6} & \textit{RAM1} & Read-only\\
\hline
\textbf{0x7} & \textit{RAM2} & Read-write\\
\hline
\end{tabular}
\subsection{How to use it}
\subsubsection{Initialization}
\begin{enumerate}
\item Disable trigger core before configuring:
\textit{CTR0: write 0 to EN and EN\_TT}\\
\item Set the minimum and maximum pulse lengths:
\textit{CTR1: writes into MinPL and MaxPL}\\
\item Set the deglitching mask and pulse length to be used:
\textit{CTR0: set CGM and CPL}\\
\item Clearing RAM block up before starting:
\textit{RAM0: write 1 to CLR\_TT}\\
\item Disable RAM clearup and enable module:
\textit{CTR0: write 1 to EN and EN\_TT, write 0 to CLR\_TT}\\
\end{enumerate}
\subsubsection{Changing the deglitch mask and stages length}
Three examples are given.\\
\begin {enumerate}
\item[\textbf{Example A}]\\
\begin{itemize}
\item \textbf{ \textit{g\_MAX\_GLITCH\_STAGES} }: 6
\item \textbf{ CTR0[CGM] }: 0x0BAA
\end{itemize}
In this case, only the six less significant bits of CGM field will be used as
mask: ''11 1010''. This mask signal is checked against the sampled input signal.
If it matches, it is considered as a pulse and it will be replicated.\\
\item[\textbf{Example B}]\
The common use will be in the form:
\begin{itemize}
\item \textbf{ \textit{g\_MAX\_GLITCH\_STAGES} }: 6
\item \textbf{ CTR0[CGM] }: 0xFFFF
\end{itemize}
Which translates into \textit{pulses of length \textbf{6 * wb\_clk } or greater should
be replicated}.\\
\item[\textbf{Example C}]\
Reducing the Deglitch Mask delay is achieved by configuring CGM
properly:
\begin{itemize}
\item \textbf{ \textit{g\_MAX\_GLITCH\_STAGES} }: 6
\item \textbf{ CTR0[CGM] }: 0x0007
\end{itemize}
which means \textit{pulses of length \textbf{3 * wb\_clk} or greater should be
replicated}.
\end{enumerate}
\subsubsection{Register writes step-by-step}
\begin{enumerate}
\item Disable trigger core before configuring:
\textit{CTR0: write 0 to EN and EN\_TT}\\
\item Set the minimum and maximum pulse lengths:
\textit{CTR1: writes into MinPL and MaxPL}\\
\item Set the deglitching mask and pulse length to be used:
\textit{CTR0: set CGM and CPL}\\
\item Reenable module:
\textit{CTR0: write 1 to EN and EN\_TT}\\
\end{enumerate}
\subsubsection{Changing the pulse width}
\begin{enumerate}
\item Disable trigger core before configuring:
\textit{CTR0: write 0 to EN and EN\_TT}\\
\item Check/set the minimum and maximum pulse lengths:
\textit{CTR1: read/write into MinPL and MaxPL}\\
\item Set the pulse length to be used:
\textit{CTR0: set CPL}\\
\item Reenable module:
\textit{CTR0: write 1 to EN and EN\_TT}\\
\end{enumerate}
\pagebreak
\section{Multiboot manager}
\label{sec:multiboot}
\subsection{Structure}
\begin{tabular}{|l|}
\hline
\textit{NOTE1:} this module is platform specific. It only works with Spartan
6\\
\hline
\textit{NOTE2:} in case the EEPROM memory is replaced, SPI opcode will\\ change.
User should notice this issue.\\
\hline
\end{tabular}\\
The trigger module contains sever
blocks related the following way:\\
-- \textbf{\textit{multiboot\_top.vhd}}
----- \textbf{multiboot\_regs.vhd}
----- \textbf{multiboot\_core.vhd}
--------- ICAP\_SPARTAN6 (\textit{Xilinx primitive})
\subsubsection{\textit{multiboot\_top.vhd}}
The top file of the module. It interconnects the Wishbone to internal register
module, \textit{multiboot\_regs.vhd}, to the core logic in
\textit{multiboot\_core.vhd}.
No \textit{generics} are implemented in this HDL module.
\subsubsection{multiboot\_regs.vhd}
In this module the registers neeeded for specifiying the memory addresses in
which the FPGA must boot to are defined.
An internal register is defined for selectively controlling operations to be
performed by this module (full ICAP reprogramming process, issuing ICAP
commands, refreshing ICAP registers). The set of operations that can be issued
is restricted for security reasons. The allowed operations are further listed in
the \textit{Register subsection}.
\subsubsection{multiboot\_core.vhd}
It is responsible of accessing ICAP port through the internal
\textit{ICAP\_SPARTAN6 Xilinx primitive}. A finite state machine is implemented
in accordance to Chapter 7 of \cite{UG380}.
\subsubsection{Behaviour}
Following the instructions of \cite{UG380} strictly leads to correct multiboot
of the FPGA. Firstly, registers \textit{GENERAL1}, \textit{GENERAL2},
\textit{GENERAL3} and \textit{GENERAL4} must be programmed with valid values. It
should be keept in mind that the \textit{SPI opcode} in \textit{GENERAL4}
register depends on the \textit{EEPROM chip} mounted on the board.\\
Then, a \textit{full multiboot} command must be performed via ICAP interface
through a write in \textit{CTRL} register in \textit{multiboot module}.
\subsection{Parameters}
No \textit{generic} parameters are offered in this module.
\subsection{Registers}
\subsubsection{CTRL}
The \textit{CTRL} register is a read-write register for \textit{OP} field and a
read-only for \textit{PEND} bit.
It specifies the operations that can be controlled by an user.\\
\begin{tabular}{| l | c | c |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
3-0 & OP & OPeration to be performed \\
\hline
4 & PEND & operation PENDing \\
\hline
\end{tabular}\\
Whenever an operation is specified by the user, it is passed to ICAP Xilinx
primitive through \textit{multiboot\_core.vhd} and the bit flag \textit{PEND} is
set to '1' until it is completely finished.\\
\textbf{Operations}\\
The valid operations that can be requested are the following:\\
\begin{tabular}{| c | l |}
\hline
\textbf{OP byte} & \textbf{Operation}\\
\hline
\hline
0x0 & \textbf{Full multiboot process} as specified in \cite{UG380}\\
\hline
0x1 & \textbf{Write GENERAL1} register from \\
& \textit{multiboot\_regs.vhd} into FPGA\\
\hline
0x2 & \textbf{Write GENERAL2} register from \\
& \textit{multiboot\_regs.vhd} into FPGA\\
\hline
0x3 & \textbf{Write GENERAL3} register from \\
& \textit{multiboot\_regs.vhd} into FPGA\\
\hline
0x4 & \textbf{Write GENERAL4} register from \\
& \textit{multiboot\_regs.vhd} into FPGA\\
\hline
0x7 & Perform \textbf{IPROG command}\\
\hline
0xD & \textbf{Refresh STAT} register\\
& into \textit{multiboot\_regs.vhd} \\
\hline
\end{tabular}\\
Full multiboot process, \textit{OP} = 0x0, comprises commamnds:
\begin{enumerate}
\item \textit{OP} = 0x1
\item \textit{OP} = 0x2
\item \textit{OP} = 0x3
\item \textit{OP} = 0x4
\item \textit{OP} = 0x7
\end{enumerate}
\subsubsection{STAT}
The \textit{STAT} register is a read-only register. A \textit{refresh operation}
should be completed before retrieving correct \textit{STAT} information.\\
\begin{tabular}{| l | c | l |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
\hline
0 & CRC\_ERROR & CRC ERROR detected in bitstream\\
\hline
1 & ID\_ERROR & IDCODE not validated\\
\hline
2 & DCM\_LOCK & DCMs and PLL are locked \\
\hline
3 & GTS\_CFG\_B & Global tristate\\
\hline
4 & GWE & Global Write Enable\\
\hline
5 & GHIGH\_B & GHIGH\\
\hline
6 & DEC\_ERROR & DEC\_ERROR\\
\hline
7 & PART\_SECURED & Decryption is set\\
\hline
8 & HSWAPEN & HWSAPEN\\
\hline
11-9 & MODE & MODE pins\\
\hline
12 & INIT\_B & INIT\_B\\
\hline
13 & DONE & DONE input pins\\
\hline
14 & IN\_PWRDWN & suspend status\\
\hline
15 & SWWD\_STRIKEOUT & config error because of invalid sync\\
\hline
\end{tabular}\\
\subsubsection{GENERAL1}
Bit scrambling is done in VHDL code. Bit order must be as specified below:\\
\begin{tabular}{| l | c | l |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
15-0 & MBT\_ADDR\_L & MultiBoot image ADDRess Lower half\\
\hline
\end{tabular}\\
\subsubsection{GENERAL2}
Bit scrambling is done in VHDL code. Bit order must be as specified below:\\
\begin{tabular}{| l | c | l |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
7-0 & MBT\_ADDR\_L & Multiboot image ADDRess Lower Half\\
\hline
15-8 & SPIO & SPI Opcode\\
\hline
\end{tabular}\\
\subsubsection{GENERAL3}
Bit scrambling is done in VHDL code. Bit order must be as specified below:\\
\begin{tabular}{| l | c | l |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
15-0 & GLD\_ADDR\_L & GolDen image ADDRess Lower half\\
\hline
\end{tabular}\\
\subsubsection{GENERAL4}
Bit scrambling is done in VHDL code. Bit order must be as specified below:\\
\begin{tabular}{| l | c | l |}
\hline
\textbf{Bits} & \textbf{Field} & \textbf{Meaning}\\
\hline
7-0 & GLD\_ADDR\_H & GoLDen image ADDRess Higher Half\\
\hline
15-8 & SPIO & SPI Opcode\\
\hline
\end{tabular}\\
\subsection{Internal Memory Mapping}
The Internal Memory Mapping is as follows:\\
\begin{tabular}{| c | c | c |}
\hline
\textbf{Address} & \textbf{Register} & \textbf{Access} \\
\hline
\hline
\textbf{0x0} & \textit{CTRL} & Read-only\\
\hline
\textbf{0x1} & \textit{STAT} & See \textit{STAT} description\\
\hline
\textbf{0x2} & \multicolumn{2}{l|}{Not used}\\
\hline
\textbf{0x3} & \multicolumn{2}{l|}{Not used}\\
\hline
\textbf{0x4} & \textit{GENERAL1} & Read-write\\
\hline
\textbf{0x5} & \textit{GENERAL2} & Read-write\\
\hline
\textbf{0x6} & \textit{GENERAL3} & Read-only\\
\hline
\textbf{0x7} & \textit{GENERAL4} & Read-write\\
\hline
\end{tabular}
\subsection{How to use it}
It requieres three parameters to be specified:
\begin{itemize}
\item Address of the Golden Image
\item Address of the Multiboot Image
\item SPI Opcode of the EEPROM serial interface
\end{itemize}
Bad specifications of addresses will not reprogram the FPGA.
\subsubsection{Submitting ICAP instructions}
It can be either a two-step or a single-step process. Two-step processes are
related with changes in \textit{GENERAL[X]} register. Submitting an ICAP
command is a single-step-process (\textit{IPROG} instruction, for instance).
\begin {itemize}
\item[\textbf{Example A:}]\\
\textbf{Full Multiboot Configuration}\\
This is a scenario is useful when the EEPROM memory map has changed for
the allocation of the two FPGA bitstreams.
\begin {enumerate}
\item Write \textit{GENERAL1} register.
\item Write \textit{GENERAL2} register.
\item Write \textit{GENERAL3} register.
\item Write \textit{GENERAL4} register.
\item Write \textit{CTRL} register.\\
\textit{CTRL} should issue a \textbf{Full multiboot process} operation code
(0x0).
\end {enumerate}
\item[\textbf{Example B:}]\\
\textbf{Change an individual Boot Look Up Address}\\
This is a scenario is useful when the EEPROM memory map has changed for
the allocation of only one of the FPGA bitstreams.
\begin {enumerate}
\item Write \textit{GENERAL[X]} register. Where X={1,3}
\item Write \textit{GENERAL[X+1]} register.
\item Write \textit{CTRL} register.\\
\textit{CTRL} should issue a \textbf{Write GENERAL[X]} operation code.
\item Write \textit{CTRL} register.\\
\textit{CTRL} should issue a \textbf{Write GENERAL[X+1]} operation code.
\end {enumerate}
\item[\textbf{Example C:}]\\
\textbf{Reprogram FPGA without change in Bitstream Location}\\
If the EEPROM memory map has not changed but we want to reload one of the
images, we just issue an \textit{IPROG} instruction through the \textit{ICAP}
interface.
\begin {enumerate}
\item Write \textit{CTRL} register.\\
\textit{CTRL} should issue an \textbf{IPROG} operation code(0x7).
\end {enumerate}
\end {itemize}
\pagebreak
\section{EEPROM manager}
\label{sec:EEPROM}
\pagebreak
\bibliographystyle{unsrt}
\bibliography{UserGuide}
\end{document}
\ No newline at end of file
____ ____
/ /\/ /
/___/ \ / VENDOR : Xilinx Inc.
\ \ \/ VERSION : 14.2 (P.28xd)
\ \ APPLICATION : /opt/Xilinx/14.2/ISE_DS/ISE/bin/lin/unwrapped/compxlib
/ / CONTENTS : Compilation Log
/___/ /\ FILENAME : compxlib.log
\ \ / \
\___\/\___\
Release 14.2 - /opt/Xilinx/14.2/ISE_DS/ISE/bin/lin/unwrapped/compxlib 14.2 (lin)
Copyright (c) 1995-2012 Xilinx, Inc. All rights reserved.
ERROR:Portability:90 - Command line error: Switch "--help" is not allowed.
Usage: compxlib {-arch <arch_name>} [-cfg [<cfg_file>]] [-dir <output_dir>] [-e <dir_parh>] [-exclude_sublib] [-exclude_superseded] [-info <dir_path>] [-intstyle ise|xflow|silent] [-l <language>] {-lib <lib_name>} [-log <log_file>] [-p <dir_path>] {-s
<simulator>} [-source_lib <dir_path>] [-verbose] [-w] [-64bit] {-cfgopt <opt_string>}
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
id="svg2"
version="1.1"
inkscape:version="0.48.1 r9760"
sodipodi:docname="New document 1">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="580.67771"
inkscape:cy="393.01508"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1280"
inkscape:window-height="989"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="color:#000000;fill:#808080;fill-opacity:0.50196078;stroke:#000000;stroke-width:5.73682308;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect2985"
width="144.26318"
height="71.118683"
x="480.29697"
y="566.8028"
inkscape:export-filename="/home/carlos/Desktop/HDLstatusIcon.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<text
xml:space="preserve"
style="font-size:28.68411636px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="551.7373"
y="594.98627"
id="text3755"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/Desktop/HDLstatusIcon.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"><tspan
sodipodi:role="line"
id="tspan3757"
x="551.7373"
y="594.98627"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">HDL</tspan><tspan
sodipodi:role="line"
x="551.7373"
y="630.84143"
id="tspan3759"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">STATUS</tspan></text>
<rect
style="color:#000000;fill:#808080;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;fill-opacity:0.50196081"
id="rect2985-3"
width="201.175"
height="99.175003"
x="448.69821"
y="712.06042" />
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="548.32178"
y="775.36224"
id="text3755-1"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
x="548.32178"
y="775.36224"
id="tspan3759-7">REVIEWS</tspan></text>
<g
id="g3863"
transform="matrix(0.6666666,0,0,0.6666666,196.32232,218.13506)"
inkscape:export-filename="/home/carlos/Desktop/HDLstatusIcon.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<path
inkscape:transform-center-y="-11.743001"
transform="matrix(-1,0,0,-1,833.88095,1048.1048)"
d="m 407.09149,566.98387 -20.33951,-35.22907 -20.33951,-35.22906 40.67902,-10e-6 40.67903,0 -20.33951,35.22907 z"
inkscape:randomized="0"
inkscape:rounded="0"
inkscape:flatsided="false"
sodipodi:arg2="2.6179939"
sodipodi:arg1="1.5707963"
sodipodi:r2="23.486048"
sodipodi:r1="46.972092"
sodipodi:cy="520.01178"
sodipodi:cx="407.09149"
sodipodi:sides="3"
id="path3861"
style="color:#000000;fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="star" />
<text
sodipodi:linespacing="125%"
id="text3857"
y="542.74017"
x="415.38809"
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:50px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1;font-family:ori1Uni;-inkscape-font-specification:ori1Uni Bold"
y="542.74017"
x="415.38809"
id="tspan3859"
sodipodi:role="line">!</tspan></text>
</g>
</g>
</svg>
-------------------------------------------------------------------------------
-- LIST OF ISSUES
-------------------------------------------------------------------------------
ISSUE COMMENT
464 A MOSFET got broken. Some captures to detect a broken MOSFET.
523 Problem with the I2C because of unwanted clock stretching and poor
pulling-up of the SCL and SDA lines.
K 25
svn:wc:ra_dav:version-url
V 63
/conv-ttl-blo/!svn/ver/175/doc/OHWR/issues/issue_523/26-07-2012
END
unwantedCS_Beagle_pullup_yes_1_glitches.PNG
K 25
svn:wc:ra_dav:version-url
V 107
/conv-ttl-blo/!svn/ver/175/doc/OHWR/issues/issue_523/26-07-2012/unwantedCS_Beagle_pullup_yes_1_glitches.PNG
END
unwantedCS_Beagle_pullup_yes_1_glitches_detail.PNG
K 25
svn:wc:ra_dav:version-url
V 114
/conv-ttl-blo/!svn/ver/175/doc/OHWR/issues/issue_523/26-07-2012/unwantedCS_Beagle_pullup_yes_1_glitches_detail.PNG
END
unwantedCS_bare_WaveJet_RCdetail.PNG
K 25
svn:wc:ra_dav:version-url
V 100
/conv-ttl-blo/!svn/ver/175/doc/OHWR/issues/issue_523/26-07-2012/unwantedCS_bare_WaveJet_RCdetail.PNG
END
unwantedCS_Saleae.png
K 25
svn:wc:ra_dav:version-url
V 85
/conv-ttl-blo/!svn/ver/175/doc/OHWR/issues/issue_523/26-07-2012/unwantedCS_Saleae.png
END
unwantedCS_Beagle_pullup_no_0.PNG
K 25
svn:wc:ra_dav:version-url
V 97
/conv-ttl-blo/!svn/ver/175/doc/OHWR/issues/issue_523/26-07-2012/unwantedCS_Beagle_pullup_no_0.PNG
END
unwantedCS_Beagle_pullup_no_0_detail.PNG
K 25
svn:wc:ra_dav:version-url
V 104
/conv-ttl-blo/!svn/ver/175/doc/OHWR/issues/issue_523/26-07-2012/unwantedCS_Beagle_pullup_no_0_detail.PNG
END
unwantedCS_Saleae_WaveJet_0.PNG
K 25
svn:wc:ra_dav:version-url
V 95
/conv-ttl-blo/!svn/ver/175/doc/OHWR/issues/issue_523/26-07-2012/unwantedCS_Saleae_WaveJet_0.PNG
END
unwantedCS_bare_WaveJet.PNG
K 25
svn:wc:ra_dav:version-url
V 91
/conv-ttl-blo/!svn/ver/175/doc/OHWR/issues/issue_523/26-07-2012/unwantedCS_bare_WaveJet.PNG
END
unwantedCS_Beagle_pullup_yes_0.PNG
K 25
svn:wc:ra_dav:version-url
V 98
/conv-ttl-blo/!svn/ver/175/doc/OHWR/issues/issue_523/26-07-2012/unwantedCS_Beagle_pullup_yes_0.PNG
END
unwantedCS_Saleae_WaveJet_1.PNG
K 25
svn:wc:ra_dav:version-url
V 95
/conv-ttl-blo/!svn/ver/175/doc/OHWR/issues/issue_523/26-07-2012/unwantedCS_Saleae_WaveJet_1.PNG
END
10
dir
180
http://svn.ohwr.org/conv-ttl-blo/doc/OHWR/issues/issue_523/26-07-2012
http://svn.ohwr.org/conv-ttl-blo
delete
2012-08-21T14:01:58.504401Z
175
gilsoriano
ef60e46c-7920-46b7-b259-e24da27a2bf9
unwantedCS_Beagle_pullup_yes_1_glitches.PNG
file
delete
2012-08-22T19:57:02.916411Z
4cfc60dadc6442bd9a6847a709080563
2012-08-21T14:01:58.504401Z
175
gilsoriano
has-props
19272
unwantedCS_Beagle_pullup_yes_1_glitches_detail.PNG
file
delete
2012-08-22T19:57:02.920387Z
53d6d5dd72d24dd99775c676c3d1d9ed
2012-08-21T14:01:58.504401Z
175
gilsoriano
has-props
19315
unwantedCS_bare_WaveJet_RCdetail.PNG
file
delete
2012-08-22T19:57:02.923584Z
a4a9b22c7bd57a9830ccaa7925d35cdf
2012-08-21T14:01:58.504401Z
175
gilsoriano
has-props
17905
unwantedCS_Saleae.png
file
delete
2012-08-22T19:57:02.927113Z
fba0960794842cc0a8870f7e3de36e84
2012-08-21T14:01:58.504401Z
175
gilsoriano
has-props
32469
unwantedCS_Beagle_pullup_no_0.PNG
file
delete
2012-08-22T19:57:02.931208Z
c6d4683ab2501a508128713310a97da3
2012-08-21T14:01:58.504401Z
175
gilsoriano
has-props
24037
unwantedCS_Beagle_pullup_no_0_detail.PNG
file
delete
2012-08-22T19:57:02.935001Z
f14086dbd3ddd9903424443cf47e8533
2012-08-21T14:01:58.504401Z
175
gilsoriano
has-props
20834
unwantedCS_Saleae_WaveJet_0.PNG
file
delete
2012-08-22T19:57:02.938594Z
f0b47c52278ff2e0dc0252d84c49f141
2012-08-21T14:01:58.504401Z
175
gilsoriano
has-props
21538
unwantedCS_bare_WaveJet.PNG
file
delete
2012-08-22T19:57:02.941823Z
3f05569ce960e91b95562ebb2d01c93b
2012-08-21T14:01:58.504401Z
175
gilsoriano
has-props
21113
unwantedCS_Beagle_pullup_yes_0.PNG
file
delete
2012-08-22T19:57:02.945845Z
b0ec976071c10cdbeba1db09a873021a
2012-08-21T14:01:58.504401Z
175
gilsoriano
has-props
19090
unwantedCS_Saleae_WaveJet_1.PNG
file
delete
2012-08-22T19:57:02.949319Z
96a8986b0bc68341948e0017196e73dd
2012-08-21T14:01:58.504401Z
175
gilsoriano
has-props
20194
K 14
svn:executable
V 1
*
K 13
svn:mime-type
V 24
application/octet-stream
END
K 14
svn:executable
V 1
*
K 13
svn:mime-type
V 24
application/octet-stream
END
K 14
svn:executable
V 1
*
K 13
svn:mime-type
V 24
application/octet-stream
END
K 14
svn:executable
V 1
*
K 13
svn:mime-type
V 24
application/octet-stream
END
K 14
svn:executable
V 1
*
K 13
svn:mime-type
V 24
application/octet-stream
END
K 14
svn:executable
V 1
*
K 13
svn:mime-type
V 24
application/octet-stream
END
K 14
svn:executable
V 1
*
K 13
svn:mime-type
V 24
application/octet-stream
END
K 14
svn:executable
V 1
*
K 13
svn:mime-type
V 24
application/octet-stream
END
K 14
svn:executable
V 1
*
K 13
svn:mime-type
V 24
application/octet-stream
END
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="New document 1">
<defs
id="defs4">
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Send"
style="overflow:visible;">
<path
id="path3928"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.3) rotate(180) translate(-2.3,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Mend"
style="overflow:visible;">
<path
id="path3922"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(0.6) rotate(180) translate(0,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Lend"
style="overflow:visible;">
<path
id="path3898"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
transform="scale(0.8) rotate(180) translate(12.5,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Lstart"
style="overflow:visible">
<path
id="path3895"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
transform="scale(0.8) translate(12.5,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send-9"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928-6"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send-8"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928-7"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send-92"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928-8"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.4313595"
inkscape:cx="188.07568"
inkscape:cy="855.2176"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:snap-global="true"
showguides="false"
inkscape:window-width="1920"
inkscape:window-height="1112"
inkscape:window-x="1920"
inkscape:window-y="30"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2987" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="color:#000000;fill:#c0c0c0;fill-opacity:1;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88-5"
width="160"
height="100"
x="125"
y="127.36218" />
<rect
style="color:#000000;fill:#ffffff;fill-opacity:0.50196081;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88"
width="155"
height="85.000008"
x="120"
y="122.36218" />
<g
id="g3789">
<rect
y="147.36218"
x="135"
height="50"
width="50"
id="rect3767"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
sodipodi:linespacing="125%"
id="text3772"
y="176.00232"
x="144.93408"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-weight:bold;-inkscape-font-specification:Sans Bold"
y="176.00232"
x="144.93408"
id="tspan3774"
sodipodi:role="line">CORE</tspan></text>
</g>
<g
transform="translate(75,0)"
id="g3789-4">
<rect
y="147.36218"
x="135"
height="50"
width="50"
id="rect3767-8"
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
sodipodi:linespacing="125%"
id="text3772-1"
y="176.00232"
x="144.93408"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
xml:space="preserve"><tspan
style="font-weight:bold;-inkscape-font-specification:Sans Bold"
y="176.00232"
x="144.93408"
id="tspan3774-0"
sodipodi:role="line">REGS</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="135"
y="137.36218"
id="text3772-9"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3774-6"
x="135"
y="137.36218"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">TOP</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;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="255"
y="221.36218"
id="text3772-9-5"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3774-6-7"
x="255"
y="221.36218"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">PKG</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 136,172.36218 c -56.031827,0 -56.031827,0 -56.031827,0"
id="path3890"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 321.03183,172.36218 c -56.03183,0 -56.03183,0 -56.03183,0"
id="path3890-8"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 210,167.36218 c -22,0 -22,0 -22,0"
id="path3890-8-7"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 185,177.36218 c 22,0 22,0 22,0"
id="path3890-8-7-0"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 290,177.36218 c 10,-10 10,-10 10,-10"
id="path4981"
inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="296.06265"
y="159.52103"
id="text4983"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4985"
x="296.06265"
y="159.52103">Wishbone</tspan></text>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
id="svg5051"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="testStruct.svg"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300">
<defs
id="defs5053">
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="marker5018"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path5020"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="marker5022"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path5024"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="marker5026"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path5028"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send-6"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928-9"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Send"
orient="auto"
refY="0"
refX="0"
id="Arrow2Send-6-7"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3928-9-3"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="378.26494"
inkscape:cy="510.08878"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
showguides="false"
inkscape:snap-global="true"
inkscape:window-width="1920"
inkscape:window-height="1112"
inkscape:window-x="1920"
inkscape:window-y="30"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid5122" />
</sodipodi:namedview>
<metadata
id="metadata5056">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="color:#000000;fill:#c0c0c0;fill-opacity:1;stroke:#000000;stroke-width:1.10490656;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88-5-1-6"
width="54.999992"
height="60"
x="465"
y="537.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<rect
style="color:#000000;fill:#c0c0c0;fill-opacity:1;stroke:#000000;stroke-width:1.10490668;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88-5-1"
width="55"
height="60"
x="275"
y="537.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"
ry="0" />
<g
id="g5173"
transform="translate(324.99998,384.99865)"
style="stroke-width:2.50000000000000000;stroke-miterlimit:4;stroke-dasharray:5, 2.50000000000000000;stroke-dashoffset:0;fill:#ffffff;fill-opacity:0.50196081"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300">
<rect
y="147.36218"
x="135"
height="50"
width="50"
id="rect3767-8"
style="color:#000000;fill:#ffffff;fill-opacity:0.50196081;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:5, 2.50000000000000000;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</g>
<rect
style="color:#000000;fill:#c0c0c0;fill-opacity:1;stroke:#000000;stroke-width:1.34295022;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88-5"
width="95"
height="135"
x="355"
y="477.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<rect
style="color:#000000;fill:#ffffff;fill-opacity:0.50196078;stroke:#000000;stroke-width:2.31015396;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-88"
width="90"
height="125.00001"
x="350"
y="467.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<rect
style="color:#000000;fill:#ffffff;fill-opacity:0.50196081;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:5, 2.50000000000000000;stroke-dashoffset:0.75000000000000000;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767"
width="50"
height="50"
x="285"
y="532.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="309.93677"
y="555.58484"
id="text3772"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774"
x="309.93677"
y="555.58484"
style="font-size:7px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold">INTERFACE</tspan><tspan
id="tspan5186"
sodipodi:role="line"
x="309.93677"
y="564.33484"
style="font-size:7px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold">DRIVER</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="485.15378"
y="555.5835"
id="text3772-4"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-9"
x="485.15378"
y="555.5835"
style="font-size:7px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold">WISHBONE</tspan><tspan
id="tspan5186-0"
sodipodi:role="line"
x="485.15378"
y="564.3335"
style="font-size:7px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold">DRIVER</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;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="420"
y="606.36218"
id="text3772-9-5"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-6-7"
x="420"
y="606.36218"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">PKG</tspan></text>
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767-3"
width="50"
height="50"
x="370"
y="532.36218"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="383.85986"
y="561.00232"
id="text3772-9"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-6"
x="383.85986"
y="561.00232"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">TOP</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 460,557.36218 c -37.03184,0 -37.03184,0 -37.03184,0"
id="path3890-8"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<path
style="fill:none;stroke:#000000;stroke-width:0.57167214px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 437.25996,560.22054 c 5.71673,-5.71672 5.71673,-5.71672 5.71673,-5.71672"
id="path4981"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<text
xml:space="preserve"
style="font-size:5.71672153px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="425.82651"
y="551.64545"
id="text4983"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan4985"
x="425.82651"
y="551.64545">Wishbone</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send)"
d="m 335,557.36218 c 32.03184,0 32.03184,0 32.03184,0"
id="path3890-8-7"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<path
style="fill:none;stroke:#000000;stroke-width:0.57167214px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 347.02331,560.22054 c 5.71673,-5.71672 5.71673,-5.71672 5.71673,-5.71672"
id="path4981-6"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<text
xml:space="preserve"
style="font-size:5.71672153px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="339.07626"
y="551.64545"
id="text4983-8"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan4985-8"
x="339.07626"
y="551.64545">Interface</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;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="360"
y="487.36218"
id="text3772-9-9"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-6-2"
x="360"
y="487.36218"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">TESTBENCH</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send-6)"
d="m 370,502.36218 c -20,0 -60,0 -60,0 l 0,25"
id="path5977"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<path
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Send-6)"
d="m 420,502.36218 c 20,0 65,0 65,0 l 0,25"
id="path5977-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300" />
<text
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="280"
y="592.36218"
id="text3772-9-5-6"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-6-7-4"
x="280"
y="592.36218"
style="font-size:8px;font-weight:bold;-inkscape-font-specification:Sans Bold">PKG</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;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="497"
y="592.36218"
id="text3772-9-5-6-9"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/carlos/blo/doc/TransferKnowledge/Figures/testStruct.png"
inkscape:export-xdpi="300"
inkscape:export-ydpi="300"><tspan
sodipodi:role="line"
id="tspan3774-6-7-4-1"
x="497"
y="592.36218"
style="font-size:8px;font-weight:bold;-inkscape-font-specification:Sans Bold">PKG</tspan></text>
</g>
</svg>
@misc{StdBlocking,
author = "C. Gil Soriano",
title = {{Standard Blocking Output Signal Definition for CTDAH board}},
month = sep,
year = 2011,
note = "{\url{http://www.ohwr.org/documents/109}}"
}
@misc{FunSpecs,
author = "C. Gil Soriano",
title = {{Standard Blocking Repeater in VME64x Format, Functional Specifications}},
month = aug,
year = 2012,
note = "{\url{http://www.ohwr.org/documents/104}}"
}
@misc{TechFlyback,
author = "C. Gil Soriano",
title = {{Flyback circuit outputting Standard Blocking for CTDAH}},
month = sep,
year = 2011,
note = "{\url{http://www.ohwr.org/documents/110}}"
}
@misc{BlockingMono,
author = "C. Gil Soriano",
title = {{A Triggered Monostable Blocking Oscillator Used in legacy Channel
Repeaters}},
month = aug,
year = 2012,
note = "{\url{http://www.ohwr.org/documents/94}}"
}
@misc{issuesReportV1,
author = "C. Gil Soriano",
title = {{Report of issues in CONV-TTL-BLO v1.0 EDA-02446-V1-0}},
month = oct,
year = 2012,
note =
"{\url{http://www.ohwr.org/projects/conv-ttl-blo/repository/show/pcb/doc/issues/conv-ttl-blo?rev=basic_trigger_addingGenerics}}"
}
@TECHREPORT{I2Cdoc,
author = "C. Gil Soriano",
institution = "CERN, BE-CO-HT",
title = "{I2C Slave to Wishbone Master module}",
month = nov,
year = 2012,
number = "v0.9",
note =
"{\url{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/changes/hdl/i2c_slave_wb_master/doc/i2cSpecs.pdf}}"
}
@TECHREPORT{SPIdoc,
author = "C. Gil Soriano",
institution = "CERN, BE-CO-HT",
title = "{SPI master multifield HDL core}",
month = oct,
year = 2012,
number = "v0.9",
note =
"{\url{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/changes/hdl/spi_master_multifield/doc/spiSpecs.pdf}}"
}
@TECHREPORT{M25P32doc,
author = "C. Gil Soriano",
institution = "CERN, BE-CO-HT",
title = "{m25p32 manager HDL core}",
month = oct,
year = 2012,
number = "v0.9",
note =
"{\url{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/changes/hdl/m25p32/doc/m25p32.pdf}}"
}
@TECHREPORT{multibootDoc,
author = "C. Gil Soriano",
institution = "CERN, BE-CO-HT",
title = "{Multiboot HDL module}",
month = jan,
year = 2013,
number = "v0.9",
note =
"{\url{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/changes/hdl/multiboot/doc/multiboot.pdf}}"
}
@TECHREPORT{ELMAspecI2C,
author = "S. Iglesias Gonsalvez",
institution = "CERN, BE-CO-HT",
title = "{ELMA Crates Specification, Access to board data using
SNMP and I2C}",
month = feb,
year = 2011,
note = "{\url{http://www.ohwr.org/documents/227}}"
}
@TECHREPORT{ELMAsysMonDoc,
institution = "ELMA",
title = "{NEW Sysmon Manual}",
number = "v1.11",
note = "{\url{http://www.ohwr.org/documents/226}}"
}
@TECHREPORT{UG380,
institution = "Xilinx Inc.",
title = {{Spartan-6 FPGA Configuration User Guide}},
month = jul,
year = 2011,
number = "UG380 v2.3",
note = "{\url{http://www.xilinx.com/support/documentation/user_guides/ug380.pdf}}"
}
@TECHREPORT{UG381,
institution = "Xilinx Inc.",
title = "{Spartan-6 FPGA SelectIO Resources}",
month = dec,
year = 2010,
number = "v1.4",
note =
"{\url{http://www.xilinx.com/support/documentation/user_guides/ug381.pdf}}"
}
@TECHREPORT{,
institution = "Xilinx Inc.",
title = "{}",
month = jan,
year = 2012,
number = "v0.9",
note =
"{\url{}}"
}
@TECHREPORT{,
institution = "Xilinx Inc.",
title = "{}",
month = jan,
year = 2012,
number = "v0.9",
note =
"{\url{}}"
}
\documentclass[a4paper,11pt]{article}
\usepackage[pdfborder= 0 0 0 1]{hyperref}
\usepackage{graphicx}
\usepackage[table]{xcolor}
\usepackage{tabularx}
%%\usepackage{draftwatermark}
%%\SetWatermarkLightness{0.9}
%%\SetWatermarkScale{5}
\begin{document}
\title{\textbf{Level Conversion Circuits}\\Transfer Knowledge}
\author{Carlos Gil Soriano\\BE-CO-HT\\
\href{mailto:carlos.gil.soriano@cern.ch}{
\textbf{\textit{carlos.gil.soriano@cern.ch}}}}
\date{January 22, 2012}
\hypersetup{
colorlinks = true,
urlcolor = blue
pdftitle = {Level Conversion Circuits Transfer Knowledge},
pdfauthor = {Carlos Gil Soriano},
pdfsubject = {Transfer Knowledge for the CONV-TTL-BLO, CONV-TTL-RS485
and CONV-TTL-RTM-[X] boards},
pdfkeywords = {Blocking, Pulse repetition, legacy systems, basic
functionality, extended functionality, ELMA SPI, VHDL}
}
\pagenumbering{roman}
\maketitle
\thispagestyle{empty}
\begin{figure}[htb]
\begin{center}
\includegraphics[scale=0.25,
keepaspectratio]{../OHWR/Pictures/Figures/CERN-Logo.png}
\end{center}
\end{figure}
\begin{abstract}
\href{http://www.ohwr.org/projects/level-conversion}
{Level Conversion Circuits project} aims to replace old legacy systems
targeted for pulse repetition, either in Blocking or RS485 format.\\
A complete list of legacy boards to be superseded can be found in the
wiki page:
\begin{center}
\href{http://www.ohwr.org/projects/level-conversion}
{\textbf{http://www.ohwr.org/projects/level-conversion/wiki}}
\end{center}
\end{abstract}
\vspace{2cm}
\begin{center}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\begin{tabularx}{10cm}{|l|l|R|}
\hline
\multicolumn{3}{|c|}{\textbf{Revision history}}\\
\hline
\hline
\textbf{HDL version} & \textbf{Module} & \textbf{Date}\\
\hline
0.1 & Preliminary version & January 10, 2012\\
\hline
1.0 & Final version & January 22, 2012\\
\hline
\end{tabularx}
\end{center}
\pagebreak
\pagestyle{plain}
\setcounter{page}{1}
\tableofcontents
\pagebreak
\listoftables
\pagebreak
\listoffigures
\pagebreak
\pagenumbering{arabic}
\pagestyle{plain}
\setcounter{page}{1}
\section{Level Conversion Circuit project structure}
The project aims to substitute old boards by newer ones which will be able to
cope with old functionalities and provide extra features.
Two sets of boards will be replaced, depending upon the pulse shape to be
replaced:
\begin{itemize}
\item \textbf{Blocking pulse}\\
The Blocking pulse is defined in the document \cite{StdBlocking}.
\item \textbf{RS485 pulse}\\
The RS485 pulse has to be defined.
\end{itemize}
\subsection{CONV-TTL-BLO replacement table}
\begin{table}[!htb]
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
\textbf{Board} & \textbf{EDMS ID} & \textbf{Functionality} & \textbf{}\\
\hline
\hline
\href{http://wikis.cern.ch/display/HT/8+Channel+Repeater+-+8+channel+pulse+repeater}
{8 channel repeater} & EDA-01490 & TTL/$\overline{TTL}$/Blocking to Blocking &\\
\hline
16 channel repeater & & TTL/$\overline{TTL}$/Blocking to Blocking &\\
\hline
\href{http://wikis.cern.ch/display/HT/CTDAC+-+Level+adapter+blocking+to+TTL}
{CTDAC} & EDA-01632 & Blocking to TTL/$\overline{TTL}$ &\\
\hline
\href{http://wikis.cern.ch/display/HT/LA-BLO-TTL+-+Level+adapter+BLO+to+TTL}
{LA-BLO-TTL} & AB-001870 & Blocking to TTL/$\overline{TTL}$ &\\
\hline
\href{http://wikis.cern.ch/display/HT/LAF-BLO-TTL+-+Level+adapter+BLO+to+TTL+bar+filtered}
{LAF-BLO-TTL} & AB-001871 & Blocking to TTL/$\overline{TTL}$ &\\
\hline
\href{http://wikis.cern.ch/display/HT/LASB-TTL-BLO+-+Level+adapter+TTL+to+BLO+standard+blocking+level}
{LASB-TTL-BLO} & AB-001873 & TTL/$\overline{TTL}$ to Blocking &\\
\hline
\href{http://wikis.cern.ch/display/HT/LA-GATE+-+High+amplitude+pulse+transmitter}
{LA-GATE} & AB-001876 & TTL/$\overline{TTL}$ to Blocking &\\
\hline
\href{http://wikis.cern.ch/display/HT/LA-TTL-BLO+-+Level+adapter+TTL+to+BLO}
{LA-TTL-BLO} & AB-001874 & TTL/$\overline{TTL}$ to Blocking &\\
\hline
\href{http://wikis.cern.ch/display/HT/LAPF-TTL-BLO+-+Level+adapter+TTL+to+BLO+pulse+former}
{LAPF-TTL-BLO} & AB-001872 & TTL/$\overline{TTL}$ to Blocking
& 4$\mu$s pulse\\
\hline
\end{tabular}
\caption{CONV-TTL-BLO replacement table}
\end{center}
\end{table}
\subsection{CONV-TTL-RS485 replacement table}
\begin{table}[!htb]
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
\textbf{Board} & \textbf{EDMS ID} & \textbf{Functionality} \\
\hline
\hline
\href{http://wikis.cern.ch/display/HT/CTDAD+-+RS485+long+distance+pulse+driver}
{CTDAD} & EDA-01600 & TTL to RS485 transmitter \\
\hline
\href{http://wikis.cern.ch/display/HT/CTDCD+-+Timing+cable+driver}
{CTDCD} & EDA-00925 & TTL to RS485 transmitter \\
\hline
\href{http://wikis.cern.ch/display/HT/CTDCD+-+Timing+cable+driver}
{CTDCR} & EDA-00948 & RS422/RS485 receiver \\
\hline
\href{https://edms.cern.ch/nav/I:EDA-00917:V0/I:EDA-00917:V0/TAB4}
{CTDAR} & EDA-00917 & Optical E2000 to RS422 \\
\hline
\href{https://edms.cern.ch/nav/I:AB-001063:V0/I:AB-001063:V0/TAB4}
{CTDLT} & EDA-00916 & TTL to Optical E2000 or RS422 \\
\hline
\end{tabular}
\caption{CONV-TTL-RS485 replacement table}
\end{center}
\end{table}
\subsection{Front and rear panel boards}
Both CONV-TTL-BLO and CONV-TTL-RS485 projects consist on the same set of
boards: a front board and a rear subsystem.
\subsubsection{Front: ACTIVE}
The front board contains all the active components. Is the only one
receiving power from the crate. Consequently, it holds all the communication
with the crate.\\
It offers I/O to front panel that are TTL compatible, and a SFP
connector used for White Rabbit.\\
Status LEDs are offered, as well.
\subsubsection{Rear: PASSIVE}
The passive subsystem consist of two boards:
\begin{itemize}
\item \textbf{Motherboard}\\
The moherboard connects the VME64x P2 interface with the piggyback
connector. It is shared between Blocking and RS485 projects so as
to reduce global BOM.
\item \textbf{Piggyback board}\\
The piggyback board is different in Blocking and RS485 projects.
It offers I/O in the rear panels. The goal of the piggyback is to
offer an easy-to-plug interface to operators.
\end{itemize}
\pagebreak
\section{Repositories structure}
Both \textit{CONV-TTL-BLO} and \textit{CONV-TTL-RS485} share the same
global structure:
\begin{itemize}
\item \textbf{doc}
\item \textbf{hdl}
\item \textbf{pcb}
\end{itemize}
\subsection{CONV-TTL-BLO}
\begin{itemize}
\item \textbf{doc}\\
It holds all the generic design documentation of the board and files
used in OHWR repo:
\begin{itemize}
\item \textbf{OHWR}\\
This subfolder contains pictures used both in the wiki pages of the
issues section.
\end{itemize}
Some extra subfolders are used: Blocking, HDL and HDLguide. The first
contains the source files and output of the documentation for
\cite{FunSpecs}, \cite{StdBlocking} and \cite{BlockingMono}.\\
\item \textbf{hdl}\\
As \textit{CONV-TTL-BLO} and \textit{CONV-TTL-RS485} will share a lot
of IP cores for either basic or extended functionality, all of the IP
cores are located in \textit{CONV-TTL-BLO}. This repository is depicted
below:\\
\begin{itemize}
\item \textbf{IMAGES}
It contains the top files for basic repetition in
\textit{CONV-TTL-BLO}:
\begin{itemize}
\item \textbf{image0}\\
This is the first bitstream with a very coarse basic repetition.
\item \textbf{image1}\\
It corresponds to the image loaded into the \textit{CONV-TTL-BLO
V1} installed in PS facilities. The logic runs at 200 MHz and the
outputs are glitch-free.
\end{itemize}
\item \textbf{basic\_trigger}\\
It contains the IP core with clocked repetition. It is the core
used in image1 bitstream.\\
\item \textbf{basic\_trigger\_async}\\
It contains the IP core with lowest achievable jitter. No profiling
in the place and route (it can lower the jitter value inyected by
the FPGA).\\
\item \textbf{ctdah\_lib}\\
This is the library that contains generic modules used along the
rest of IP cores within this project.\\
\item \textbf{i2c\_slave\_wb\_master}\\
The I2C slave IP core is located here.\\
\item \textbf{m25p32}\\
The M25P32 IP core is located here. It manages access to the Flash
Memory thanks to the SPI core developed for this project.\\
\item \textbf{multiboot}\\
The multiboot IP core is able to access Xilinx's ICAP primitive to
allow SPI Flash Memory reprogramming from a given set of
locations.\\
\item \textbf{rtm\_detector}\\
Just some files to check for proper RTM detection.\\
\item \textbf{spi\_master\_multifield}\\
The SPI master IP core can be found in this folder. It allows
SPI communication to perform writes and read-backs. It is developed
to be used together with M25P32 module.\\
\item \textbf{trigger}\\
This is the folder to work on the extended trigger functionality.\\
\item \textbf{wr\_core\_demo}\\
Some White Rabbit files to perform a test.\\
\end{itemize}
\item \textbf{pcb}\\
\begin{itemize}
\item \textbf{conv-ttl-blo}\\
Files of \textit{CONV-TTL-BLO V1}.\\
\item \textbf{conv-ttl-blo-v2}\\
Files of \textit{CONV-TTL-BLO V2}.\\
\item \textbf{conv-ttl-rtm}\\
Files of \textit{CONV-TTL-RTM V1}.\\
\item \textbf{conv-ttl-rtm-blo}\\
Files of \textit{CONV-TTL-RTM-BLO V1}.\\
\item \textbf{doc}\\
It contains all the reports of the V2 board reviews and a report
with all the issues found in V1 \cite{issuesReportV1}.\\
\end{itemize}
\end{itemize}
\subsubsection{IP core structure}
Every IP core developed (\textit{i2c\_slave\_wb\_master},
\textit{m25p32}, \textit{multiboot},\textit{spi\_master\_multifield}
and \textit{trigger}) follow the same structure:
\begin{itemize}
\item \textbf{doc}\\
It holds the source files for generating beautiful, LaTeXed
documentation, like this document.\\
\item \textbf{project}\\
It holds all the .xise, .gise files and all the temporary ones.
Inside this folder it can be found a \textit{wave.do} file
(typically inside the \textit{waveform} subfolder).\\
\item \textbf{rtl}\\
It holds all the RTL files. All the IP cores follows the following
design schema:\\
\begin{figure}[!htb]
\begin{center}
\includegraphics[scale=1,keepaspectratio]
{./Figures/IPcoreStruct.png}
\end{center}
\caption{IP core structure}
\end{figure}
The \textit{top} files interconnects the \textit{core} (which has
all the logic, controls the FSMs and the outputs) with the
\textit{regs}, responsible for controlling access to internal
registers via \textit{core} or a \textit{wishbone} interface.\\
Additionally the \textit{package} provides the definition of
constants, register structures (defined as records) and translation
functions for them to/from \textit{std\_logic\_vector}.\\
All the cores follow the ESA and CERN@BE-CO-HT good VHDL practices,
Alessandro Rubini's advices on how to write mantainable code and
the comments are \href{http://www.stack.nl/~dimitri/doxygen/}
{doxygenized}.\\
\item \textbf{test}\\
It holds all the test files but the \textit{wishbone\_driver},
which is located in ctdah\_lib folder. The test is written in VHDL
as is as structured as follows:\\
\begin{figure}[!htb]
\begin{center}
\includegraphics[scale=1,keepaspectratio]
{./Figures/testStruct.png}
\end{center}
\caption{IP core testbench structure}
\end{figure}
The dashed lines of both drivers means that the cores are not
intended to be synthesizable.\\
Some of the testbench generates a log file to quickly check the
result of the test. Some others testbenches make use of
\textit{ModelSim SignalSpy} library to be able to read and check
internal signals of given subcomponents, without the need of
modifying files (either definition of VHDL ports or adding
precompiler lines to the code).\\
\end{itemize}
\subsection{CONV-TTL-RS485}
It follows the same structure as \textit{CONV-TTL-BLO}. The IP cores to be
used in this board correspond to the ones developed for
\textit{CONV-TTL-BLO}.
\pagebreak
\section{Blocking boards replacement: CONV-TTL-BLO}
\subsection{Legacy boards}
\subsubsection{Problems faced}
Old Blocking modules employed \textbf{three magnetically coupled inductors
difficult to replace}. Because of this fact, the design of CONV-TTL-BLO
started. Hence, been able to easily replace the components was of paramount
importance since the very beginning of the designing stage.\\
Apart from this point, the need of \textbf{remote control and management} of the
boards had an increased importance. Including a FPGA copes with this
problem.
\subsubsection{Jitter}
Due the simplistic way for controlling the replication of the pulses, these
modules have a low figure of jitter.
\subsection{CONV-TTL-BLO design}
The functional specifications of CONV-TTL-BLO can be found in
\cite{FunSpecs}.
We can divide between basic and extended functionalities.
\subsubsection{Basic functionalities}
Aimed to be fully compliant with legacy systems:
\begin{itemize}
\item Replicate Blocking pulses.
\item Translate to/from TTL and $\overline{TTL}$ from/to Blocking.
\item Provide galvanic isolation in the links.
\item To be glitch-free.
\end{itemize}
The design of the Blocking driver follows a Flyback topology
\cite{TechFlyback}, which inherently provides galvanic isolation. So as to
properly drain up the remaining built-up magnetic current in the inductor,
a snubber circuit was added. The snubber circuit can be found in
\cite{BlockingMono}.\\
Because of the Flyback topology, the three-widing coupled inductor was
replaced by a 1:1 coupled inductor. The selection of this coupled inductor
follows the premise of minizing the chances of being out of stock in the
future.\\
\begin{table}[!htb]
\begin{center}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\begin{tabularx}{8cm}{|l|R|}
\hline
\textbf{Manufacturer} & \textbf{Series}\\
\hline
\hline
Pulse Electronics & PF0552 and PF0553\\
\hline
Coilcraft & MSD1278\\
\hline
Coiltronics & DR74 and DR125\\
\hline
\end{tabularx}
\caption{Coupled inductor series replacements}
\end{center}
\end{table}
In the event of having to choose a different coupled inductor please
check the correct values and margins for:
\begin{itemize}
\item \textit{Saturation current}
\item \textit{Primary inductance}
\item \textit{Coupling ratio}
\item \textit{Footprint}
\end{itemize}
\subsubsection{Extended functionalities}
They provide increased control thanks to the FPGA and the use I2C line of
the VME64x interface by means of \textit{SERA} and \textit{SERB} pins.
\begin{itemize}
\item Selectable pulse length.
\item Time-tagging of repeated pulses via White Rabbit.
\item Log of inputs and repetitions.
\item Remote reprogramming of flash-stored FPGA bitstreams via I2C
interface.
\end{itemize}
\subsubsection{V1 schematics overview}
CONV-TTL-BLO, namely CERN
\href{https://edms.cern.ch/nav/EDA-02446}{EDMS-02446 project}, is
described below.
\begin{itemize}
\item \textbf{TOP page}\\
The top page shows the main blocks in which the project is divided
into.\\
Conceptually, the left part of the schematic corresponds to the front
panel and some clocking resources, used in White Rabbit.\\
In the center we can found the FPGA, a Spartan 6 LX45T, which is the
logic core of the design. This model of Spartan is used is many
others within OWHR and BE-CO-HT, making portability of IP cores
seamless. Due to the fact of being a 6 series, SerDes functionality
will be later on used in V2 to improve sampling jitter of repeated
pulses.\\
All the blocks corresponding to the connections with VME64x
backplane and rear transistion module are over the right part of the
top schematic page.\\
\item \textbf{Power supplies}\\
Power supplies are covered in the next two pages.\\
In the first one, the rails for all the logic ICs and FPGA power is
provided. Decoupling capacitors for the FPGA are found in it. Values
and sizes of the FPGA decoupling network are consistent with the
recommendations of the vendor. All the I/O banks in the FPGA are tied
to 3.3 volts.\\
The second page corresponds the power supply needed for the
generation of the 24 volts amplitude blocking pulses. Correct
dimensioning for impulsive responses, gain and margin budgets were
calculated and verified with Texas Instruments Switcher Pro. It
should be noted here that the Power MOSFET in V1 was changed by a
similar performance one, due to soon obsolescency of the part.\\
Just as a reminder for new designers, the selection of critical
capacitors was taken with the view of a long-lasting worklife of the
boards. Hence, the use of conductive polymer capacitors is
recommended. In this design, OS-CON capacitors are used instead in
electrolitic ones. In designs in which tantalum capacitors are of
expected use, a close look to POSCAP is recommended. In either case,
improved conductance and better temperature behaviour is expected
over electrolitic and tantalum, respectively.
\item \textbf{FPGA}\\
FPGA connections are splitted in two pages: \textit{FPGA BANK} and
\textit{MGTX}.
With regard to \textit{FPGA BANK}, all I/O banks are powered to 3.3
volts, as previously indicated. Banks 0 and 1 hold clocking
resources, VME64x I2C connections, LEDs and some extra features.
Banks 2 and 3 plug all the pulses connections with no particular care
in the connections of the pins. This was a limitation in the
performance of V1, solved in V2. So as to much improve perfomance in
the clocked pulse repetition, \textbf{SerDes functionality} should be
used. By reading the advanced I/O resources guidelines from Xilinx,
connections should be done as in V2: \textbf{two non differential
input sources must not belong to \_P and \_N pins of a same
differential FPGA input.}\\
Obviously, clockless pulse repetition will have the lowest possible
jitter figure.\\
\item \textbf{White Rabbit clocking resources}\\
Just copied from SPEC project, V2 indepently configurable DAC
capability. All the decouplings are exactly the same as in SPEC.
\item \textbf{JTAG}\\
In this page the JATG connection, switches and external Flash memory is
depicted. External reset circuitry is added in V2.
\item \textbf{VME64X}\\
VME64X has two connectors P1 and P2. P1 is used for I2C communication
and P2 serves as a connection from front to rear: Blocking I/O
signals, rear LEDs, motherboard and piggyback IDs.\\
When attaching a V1 into a crate it can produce VME64x conflicts in
other VME64x boards, due to not daisy-chaining \textit{bus grant} and
\textit{interrupt ack} lines. This problem is solved in V2.
\item \textbf{INPUT UNIT}\\
The input unit uses an optocoupler preceeded by a DC rejection filter
(a differentiator). The line is terminated and protected via a TVS.
In V2 a Schimtt trigger is added right after the optocoupling to
sharpen the change of the signal.
\item \textbf{OUTPUT BLO}\\
BCT25244 is used because of two reasons:
\begin{itemize}
\item Powerful drive.
\item Reduce stocks cause it is already used in CTRs.
\end{itemize}
A net is misconnected in V1. Issue solved in V2.\\
An important feature implemented in the design is being
glitches-free. This is achived in different ways:
\begin{itemize}
\item Careful startup of the FPGA.
\item Placing of pull-ups or pull-downs in open enable pins.
\end{itemize}
\item \textbf{OUTPUT UNIT}
The output unit consist of a flyback
\end{itemize}
\subsubsection{Changes from V1 to V2}
While debugging V1, issues appeared.
\begin{itemize}
\item \textbf{Power Supplies}
\begin{itemize}
\item Changes to better adjust the voltage for outputting Blocking 24 volts:\\
Issues \textbf{452, 455, 458}\\
\item Remove some noise and adding better protection:\\
Issues \textbf{504, 517}\\
\item Change of MOSFET due to be obsolete soon:\\
Issue \textbf{638}
\end{itemize}
\item \textbf{Pins misconnections}
\begin{itemize}
\item A floating BCT25244 pin:\\
Issue \textbf{463}\\
\item VME64x Daisy chain misconnected:\\
Issue \textbf{502}
\end{itemize}
\item \textbf{Blocking stage}
\begin{itemize}
\item Removal of speed-up diode (causes increased temperature dependency),
use of 5V plane and including an output resistor to improve RC when no
termination is used in a device:\\
Issue \textbf{462}
\end{itemize}
\item \textbf{Front panel}
\begin{itemize}
\item Replacement of status LEDs for a bicolour LED array.
\end{itemize}
\end{itemize}
\subsubsection{Modification to do on V2}
\begin{itemize}
\item \textbf{Power Supplies}\\
Change the Blocking power supply low resistor feedback to produce
Blocking pulses at 24V and not 21V:\\
Issues \textbf{679}
\end{itemize}
\subsection{Piggyback design}
CONV-TTL-RTM-BLO, namely CERN
\href{https://edms.cern.ch/nav/EDA-02453}{EDMS-02453 project}, is described
below.
\begin{itemize}
\item \textbf{TOP page}\\
It connects the VME64X P2 connector with the double row, one hundred
Semtech connector for the piggyback.\\
\item \textbf{Panel and Leds}\\
Just the connectors and nothing else. The TVSs are already in the
motherboard.
\end{itemize}
\pagebreak
\subsection{VHDL design}
The VHDL design has to achieve two milestones:
\begin{itemize}
\item \textbf{Basic functionality}\\
It covers the repetition of the pulse as in the previous legacy boards.\\
\item \textbf{Extended functionality}\\
It improves the basic functionality by time-tagging via White Rabbit the
pulses, allowing remote monitoring and reprogramming of the device.\\
\end{itemize}
\subsubsection{Basic functionality}
The basic functionality is covered in the design used for the
\textit{CONV-TTL-BLO V1} card installed in the test loop in PS
facilities.\\
The IP core has to:
\begin{enumerate}
\item Detect and replicated received pulses once they are not considered
as glitches.
\item Provide a safe and reliable working life. Not producing glitches at
startup.
\end{enumerate}
The IP core sampling frequency for the inputs is 200MHz. The internal
200MHz system clock is generated from the 125MHz clock. Then the induced
sampled jitter will have a maximum value of 5 ns.\\
The following table shows the configuration of the \textit{CONV-TTL-BLO V1}
board installed in the test sage loop in PS facilities:\\
\begin{table}[!htb]
\begin{center}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\begin{tabularx}{10cm}{|l|R|}
\hline
\textbf{Parameter} & \textbf{Value}\\
\hline
\hline
Pulse height & 24 volts\\
\hline
Pulse length & 1 $\mu$s\\
\hline
Pulse rise time & 80 ns\\
\hline
Pulse fall time & 100 ns\\
\hline
Minimum worst-case repetition jitter & 5 ns\\
\hline
Channel LEDs blinking length & 250 ms\\
\hline
\end{tabularx}
\caption{Configuration for \textit{CONV-TTL-BLO V1} in PS safe loop test}
\end{center}
\end{table}
\subsubsection{Extended functionality}
As said before, extended functionality consist of three main blocks:
\begin{enumerate}
\item Pulse time-tagging
\item I2C communication: access and monitoring
\item FPGA reprogramming functionality
\end{enumerate}
As points 2 and 3 represented bottlenecks for starting with the PTS,
design priority was given to them.\\
\begin{itemize}
\item \textbf{I2C communication}\\
I2C module is of paramount importance for the development of the rest of
functionalities. Being the link between FPGA and outside world, makes I2C
the first module to develop before PTS can be carried out.\\
\begin{table}[!htb]
\begin{center}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\begin{tabularx}{10cm}{|l|R|R|R|}
\hline
\textbf{IP core} & \textbf{Core} & \textbf{Test} &
\textbf{Guide}\\
\hline
\hline
\textit{I2C\_slave\_wb\_master} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/show/hdl/i2c_slave_wb_master/rtl?rev=master}{Link} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/show/hdl/i2c_slave_wb_master/test?rev=master}{Link} &
\cite{I2Cdoc}\\
\hline
\end{tabularx}
\caption{\textit{I2C\_slave\_wb\_master} IP core files and documents}
\end{center}
\end{table}
The \textit{I2C\_slave\_wb\_master} is an I2C slave core which provides
wishbone master and slave interfaces. The former one serves a bridge from
I2C to internal wishbone modules. The second one lets the
\textit{I2C\_slave\_wb\_master} core registers to be easilly accessed from
the I2C interface by by-passing the I2C wishbone master interface to the
slave. Providing these two interface lets the IP core be consistent and
homogeneous with the rest of cores designed for \textit{CONV-TTL-BLO} and
\textit{CONV-TTL-RS485}.\\
More information about the IP core can be found in its guide \cite{I2Cdoc}.\\
\item \textbf{SPI Flash Memory reprogramming}\\
In order to reprogram the SPI Flash memory different IP cores are
needed.\\
To start off, a SPI master core is needed to place SPI
transactions into the memory. It should be noted that the core developed
for that has taken into account parametric settings to meet timing.\\
Secondly a M25P32 memory handler was designed to write and read from
memory in an easy and optimal way. Memories from the same family can be
used upon some modifications in the package file. Flash pages will be
written from an internal buffer. Thus, the way to program the Flash
memory consist of writing the internal page buffer of the memory handler
and acknowledge a write into a certain page. By doing this,
in all the pages required by the raw bitstream, the new bitstream will
be loaded correctly.\\
The last of the modules corresponds with the ICAP controller, called
multiboot core. This core instanciates the Xilinx's ICAP primitive
according the Xilinx's recommendation and let the user start a load
bitstream process from the I2C via wishbone bridging.\\
\begin{table}[!htb]
\begin{center}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\begin{tabularx}{10cm}{|l|R|R|R|}
\hline
\textbf{IP core} & \textbf{Core} & \textbf{Test} &
\textbf{Guide}\\
\hline
\hline
\textit{spi\_master\_multifield} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/spi_master_multifield/rtl}{Link} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/spi_master_multifield/test}{Link} &
\cite{SPIdoc}\\
\hline
\textit{m25p32} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/m25p32/rtl}{Link} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/m25p32/test}{Link} &
\cite{M25P32doc}\\
\hline
\textit{multiboot} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/multiboot/rtl}{Link} &
\href{http://www.ohwr.org/projects/conv-ttl-blo/repository/revisions/master/show/hdl/multiboot/test}{Link} &
\cite{multibootDoc}\\
\hline
\end{tabularx}
\caption{SPI Flash Memory reprogramming IP cores}
\end{center}
\end{table}
\end{itemize}
\pagebreak
\section{RS485 boards replacement: CONV-TTL-RS485}
\subsection{Legacy boards}
\subsubsection{Use}
CONV-TTL-RS485 will be use as a more advance card that CONV-TTL-BLO. It
will be able to replicate pulses as in its Blocking counterpart and
redistribute GMT and timing information.\\
\subsubsection{Additional features}
With regard to legacy designs, CONV-TTL-RS485 will be able to detect
insuficient differential level in the reception lines. Thus, defective
and broken links can be detected.\\
\subsection{CONV-TTL-RS485 design}
\begin{itemize}
\item \textbf{TOP page}\\
The division of this project is the same as CONV-TTL-BLO. The driver
stage for outputting to the rear module has changed from Blocking to
RS485.\\
\item \textbf{Power Supply}\\
In this project the Blocking power supply has been removed. The line
filters added in CONV-TTL-BLO V2 have been added to CONV-TTL-RS485
V1.\\
The decoupling FPGA capacitors are the same and the external reset is
included in this page.\\
It should be remarked that all FPGA I/O banks are powered at 3.3
volts.\\
\item \textbf{FPGA BANK}\\
When CONV-TTL-RS485 was designed, the sampling jitter problem was not
found. Subsequently, a change in the I/O trigger FPGA pins for the pulse
repetition should be carried out in the same fashion as it was from
CONV-TTL-BLO V1 to V2.\\
\item \textbf{CLOCKS}\\
Two changes from CONV-TTL-BLO V1 have been done.\\
The first corresponds to let individual configuration of DACs from
the FPGA. The second is the use of cleaner power supply for the DACs.
Voltage drop in ferrites was measured and it is negligible.\\
\item \textbf{VME64X}\\
All the issues of bad daisy chaining in CONV-TTL-BLO V1 have been
addressed.\\
\item \textbf{MGTX}\\
A four position microswitch to enable network identification (which
accelerator/timing domain the card is attached to) is added to the
board.\\
\item \textbf{FRONT TTL}\\
The problems of missconnections and bad power supplying from
CONV-TTL-BLO V1 has been corrected in RS485. Same antiglitch features
applies for the pull-ups and pull-downs.\\
\item \textbf{FRONT PANEL}\\
In this page the new bicolour LED array was introduced, it works
together with Matthieu's IP core.\\
\item \textbf{INPUT UNIT}\\
By using same signed thresholds in the RS485 receivers, an bad/dead
link detection can be carried out.\\
\item \textbf{OUTPUT UNIT}\\
Same transceivers as in reception are used. They are compliant with
speed link for GMT replication.\\
\item \textbf{JTAG}\\
Changes needed in CONV-TTL-BLO V1 have been carried out here.\\
\end{itemize}
\pagebreak
\section{CONV-TTL-RTM: RTM Motherboard}
The motherboard is shared between both the CONV-TTL-BLO and the
CONV-TTL-RS485. It provides connection to piggybacks from the VME64X P2
connector.
\subsection{CONV-TTL-RTM design}
The RTM motherboard consist of a VME64X P2 connector and a two rows 100 pin
male connector. The signals are bypassed from the P2 connector to the 100
pin connector and, for protection measures, TVS are included.
\pagebreak
\section{ELMA crate}
An updated documentation of the ELMA crate System Monitor card can be found
in
\href{https://edms.cern.ch/file/1160628/1/NewSysmon_Usermanual_Rev_1.11_16.02.2012.pdf}{[EDMS].}
\subsection{How to communicate}
The way ELMA crate System Monitor communicate follows the instruction
specified to Mihai Savu in \cite{ELMAspecI2C}.
Hence, to communicate effectively with both the CONV-TTL-BLO and
CONV-TTL-RS485 will consist of:
\begin{enumerate}
\item A byte for I2C address and operation.
\item Two bytes for Wishbone Addressing.
\item Four bytes of data.
\end{enumerate}
To send the I2C commands from ELMA crate, firstly it should be accessed via
telnet. It should be noted that the crate must be connected to the CERN
socket in which the SysMon is registered to, otherwise the device will
not have access to the network. Once accessed via telnet, two commands
can be issued \textit{writereg} and \textit{readreg}, both specified in
\cite{ELMAsysMonDoc}.\\
A comprehensive explanation of the comunication is found in the
documentation of I2C VHDL core specifically done for this project
\cite{I2Cdoc}.
\subsection{Problems}
\begin{itemize}
\item I2C communication
I2C in ELMA crates runs at low speed 400KHz to 100KHz depending on the
capacitive load attached to the SERA, SERB pins. A better pull-up
strategy could have been carried out to solve these problem.\\
Issues \textbf{497, 500, 523}\\
It should be kept in mind that in \textbf{high capacity crates, this
problem can be more serious.}
\item Chasis not so well-built
1U ELMA crate lacks of the robustness of other crates. When a crate lies
on a table with a card plugged in, some badly cut through hole pins can
touch the chasis, producing shortcircuits.\\
Issue \textbf{537}
\end{itemize}
\pagebreak
\section{People involved in Level Conversion Circuits}
Success in a project is due to the joint work of a team. A list of all the
people involved in the project can be found in the table below. I would like
to take advantage of this line to thank them all again for their help and
work.\\
\begin{table}[!htb]
\begin{center}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\begin{tabularx}{10cm}{|l|R|}
\hline
\multicolumn{2}{|c|}{\cellcolor{black}\textcolor{white}{\textbf{Design team}}}\\
\hline
\textbf{Erik Van der Bij} & Manager\\
\hline
\textbf{Matthieu Cattin } & Technical supervision - Installation\\
\hline
\textbf{Tomasz Wlostowski} & Technical help\\
\hline
\hline
\multicolumn{2}{|c|}{\cellcolor{black}\textcolor{white}{\textbf{Installation
- operators}}}\\
\hline
\textbf{Claude Dehavay } & Installations manager\\
\hline
\textbf{Emmanuel Said } & Main Blocking/RS485 installator - cabling -
front/rear panel\\
\hline
\textbf{Olivier Barriere} & Installation - front/rear panel\\
\hline
\hline
\multicolumn{2}{|c|}{\cellcolor{black}\textcolor{white}{\textbf{ELMA
crate}}}\\
\hline
\textbf{Magnus Bjork } & ELMA crate CERN's responsible\\
\hline
\textbf{Boehr Timo } & ELMA crate links\\
\hline
\textbf{Frank Weiser } & ELMA crate links\\
\hline
\textbf{Silviu Bodeanu } & ELMA System Monitor responsible\\
\hline
\textbf{Mihai Savu } & ELMA I2C C developer\\
\hline
\hline
\multicolumn{2}{|c|}{\cellcolor{black}\textcolor{white}{\textbf{DEM}}}\\
\hline
\textbf{Betty Magnin } & Manager for PCB design and manufacturing\\
\hline
\textbf{William Billereau} & Manager for PCB design and manufacturing\\
\hline
\textbf{Benoit Civel } & Responsible for layout in
\textit{CONV-TTL-BLO V1}\\
\hline
\textbf{Claude Andouillet} & Responsible for layout in
\textit{CONV-TTL-RTM},\textit{CONV-TTL-RTM-BLO}
and \textit{CONV-TTL-RTM-RS485}\\
\hline
\textbf{Bruno Recoldon } & Responsible for layout in
\textit{CONV-TTL-BLO V2} and
\textit{CONV-TTL-RS485}\\
\hline
\end{tabularx}
\caption{People involved in the project}
\end{center}
\end{table}
\appendix
\section{Development roadmap}
\subsection{CONV-TTL-BLO}
\begin{enumerate}
\item \textbf{Remote reprogramming}\\
Remote reprogramming is the key to wind up the development of the IP core
chain needed to perform the PTS in the boards.\\
To achieve this, the \textit{i2c\_slave\_wb\_master}, \textit{m25p32} and
\textit{multiboot} cores should be put together and thoroughly tested. An
image has been provided and can be found in:
\begin{itemize}
\item \textbf{CONV-TTL-BLO/hdl/IMAGES/image1}
\end{itemize}
It should be noted that \textit{image1\_core.vhd} has been splitted from
\textit{image1\_top.vhd} to allow \textit{image1\_core.vhd} be reused in
RS485.\\
Most of the work to be done in the VHDL will be testing that a new raw
bitstream has been loaded into the FPGA. It should be noted that good
understanding of Xilinx's ICAP is needed \cite{UG380}.\\
\item \textbf{PTS}\\
After having a stable bitstream with the basic repetition plus the IP
core chain indicated above, PTS will be "easilly" carried out. That will
involve quite a lot of work.\\
Unlike other projects, such as \textit{SPEC}, in which the PTS could
send commads directly from the host computer, now the commands should be
by-passed over telnet to the SysMon.\\
\item \textbf{Pulse time-tagging}\\
To precisely time-tagging a White Rabbit core must be included in the
FPGA, then all the pulses will be logged and they will be accessible via
I2C. \textit{trigger} core should be worked on to finally meet the
requirements.\\
\item \textbf{Reduce jitter}\\
Reducing jitter means using either the asynchronous solutions in
\textit{basic\_trigger\_async} or writing an IP core using the SerDes
functionality in Xilinx's Spartan 6. A good look on \cite{UG381} is
recommended.
\end{enumerate}
\subsection{CONV-TTL-RS485}
\begin{enumerate}
\item \textbf{Strongly discuss about datagrams parsing}\\
\textit{CONV-TTL-RS485} will offer more functionalities than
\textit{CONV-TTL-BLO}. Correct dimensioning of the
application memory should be taken into account. The memory
requirements will depend upon Jean-Claude's need for parsing
datagrams and place orders into the accelerators. External
memories could be used to improve performance.\\
\item \textbf{Producing a V2}\\
It should be kept in mind that, in order to improve jitter perfomance,
same changes in FPGA I/Os as in \textit{CONV-TTL-BLO V2} apply.\\
\end{enumerate}
\pagebreak
\bibliography{report}{}
\bibliographystyle{unsrt}
\end{document}
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="543.56464"
height="1008"
id="svg5146"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="EDA-02446-V1-0_fp.svg">
<defs
id="defs5148" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="605.36464"
inkscape:cy="488.67189"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1855"
inkscape:window-height="1176"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5151">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-76.789139,-31.21929)">
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="547.73383"
y="241.57036"
id="text20731"
sodipodi:linespacing="125%"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270"><tspan
sodipodi:role="line"
id="tspan20733"
x="547.73383"
y="241.57036"
style="font-size:16px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold">SFP connector</tspan><tspan
sodipodi:role="line"
x="547.73383"
y="261.57037"
id="tspan20735"
style="font-size:16px;text-align:center;text-anchor:middle">for White Rabbit</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="548.6897"
y="522.74042"
id="text20731-9"
sodipodi:linespacing="125%"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270"><tspan
sodipodi:role="line"
x="548.6897"
y="522.74042"
id="tspan20735-0"
style="font-size:16px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold">OUTPUTS</tspan><tspan
sodipodi:role="line"
x="548.6897"
y="542.74042"
style="font-size:16px;text-align:center;text-anchor:middle"
id="tspan21602">TTL-level replica</tspan><tspan
sodipodi:role="line"
x="548.6897"
y="562.74042"
style="font-size:16px;text-align:center;text-anchor:middle"
id="tspan21608">of Blocking pulses</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="150.5157"
y="520.45709"
id="text20731-9-4"
sodipodi:linespacing="125%"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270"><tspan
sodipodi:role="line"
x="150.5157"
y="520.45709"
style="font-size:16px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold"
id="tspan21612">INPUTS</tspan><tspan
sodipodi:role="line"
x="150.5157"
y="540.45709"
style="font-size:16px;text-align:center;text-anchor:middle"
id="tspan21600">TTL-triggers for</tspan><tspan
sodipodi:role="line"
x="150.5157"
y="560.45709"
style="font-size:16px;text-align:center;text-anchor:middle"
id="tspan21618">Blocking repetition</tspan></text>
<text
xml:space="preserve"
style="font-size:104.93813324px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:1.17282104;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Sans"
x="488.87698"
y="461.42328"
id="text20786"
sodipodi:linespacing="125%"
transform="scale(0.73577913,1.3591035)"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270"><tspan
sodipodi:role="line"
id="tspan20788"
x="488.87698"
y="461.42328"
style="font-size:317.19317627px;fill:none;stroke:#000000;stroke-width:1.17282104;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">}</tspan></text>
<text
xml:space="preserve"
style="font-size:89.47497559px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Sans"
x="569.42139"
y="199.90863"
id="text20786-5"
sodipodi:linespacing="125%"
transform="scale(0.73577913,1.3591035)"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270"><tspan
sodipodi:role="line"
id="tspan20788-9"
x="569.42139"
y="199.90863"
style="font-size:64px;fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">}</tspan></text>
<text
xml:space="preserve"
style="font-size:104.93813324px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:1.17282104;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Sans"
x="-474.21793"
y="-272.16052"
id="text20786-3"
sodipodi:linespacing="125%"
transform="scale(-0.73577913,-1.3591035)"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270"><tspan
sodipodi:role="line"
id="tspan20788-5"
x="-474.21793"
y="-272.16052"
style="font-size:317.19317627px;fill:none;stroke:#000000;stroke-width:1.17282104;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">}</tspan></text>
<text
xml:space="preserve"
style="font-size:87.52331543px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:0.97818768;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Sans"
x="538.88245"
y="673.55035"
id="text20786-7"
sodipodi:linespacing="125%"
transform="scale(0.73577913,1.3591035)"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270"><tspan
sodipodi:role="line"
id="tspan20788-1"
x="538.88245"
y="673.55035"
style="font-size:160px;fill:none;stroke:#000000;stroke-width:0.97818768;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">}</tspan></text>
<text
xml:space="preserve"
style="font-size:87.52331543px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:0.97818768;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Sans"
x="-424.21243"
y="-578.0816"
id="text20786-7-4"
sodipodi:linespacing="125%"
transform="scale(-0.73577913,-1.3591035)"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270"><tspan
sodipodi:role="line"
id="tspan20788-1-1"
x="-424.21243"
y="-578.0816"
style="font-size:160px;fill:none;stroke:#000000;stroke-width:0.97818768;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">}</tspan></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="520.35376"
y="824.71674"
id="text20731-9-6"
sodipodi:linespacing="125%"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270"><tspan
sodipodi:role="line"
x="520.35376"
y="824.71674"
id="tspan20735-0-1"
style="font-size:16px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold">INVERTED</tspan><tspan
sodipodi:role="line"
x="520.35376"
y="844.71674"
style="font-size:16px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold"
id="tspan21608-3">OUTPUTS</tspan><tspan
id="tspan28659"
sodipodi:role="line"
x="520.35376"
y="864.71674"
style="font-size:16px;font-weight:normal;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans">General</tspan><tspan
id="tspan28661"
sodipodi:role="line"
x="520.35376"
y="884.71674"
style="font-size:16px;font-weight:normal;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans">purpose</tspan><tspan
id="tspan28657"
sodipodi:role="line"
x="520.35376"
y="904.71674"
style="font-size:16px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold" /></text>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
x="192.35164"
y="834.82208"
id="text20731-9-4-3"
sodipodi:linespacing="125%"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
inkscape:export-xdpi="270"
inkscape:export-ydpi="270"><tspan
sodipodi:role="line"
x="192.35164"
y="834.82208"
style="font-size:16px;font-weight:bold;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Bold"
id="tspan21618-4">INPUTS</tspan><tspan
id="tspan28653"
sodipodi:role="line"
x="192.35164"
y="854.82208"
style="font-size:16px;font-weight:normal;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans">General</tspan><tspan
id="tspan28655"
sodipodi:role="line"
x="192.35164"
y="874.82208"
style="font-size:16px;font-weight:normal;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans">purpose</tspan></text>
<text
inkscape:export-ydpi="270"
inkscape:export-xdpi="270"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
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="530.91742"
y="200.82341"
id="text21742"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan21744"
x="530.91742"
y="200.82341"
style="font-size:20px;font-weight:bold;-inkscape-font-specification:Sans Bold">[A]</tspan></text>
<text
inkscape:export-ydpi="270"
inkscape:export-xdpi="270"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
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="133.85555"
y="473.59973"
id="text21742-0"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan21744-6"
x="133.85555"
y="473.59973"
style="font-size:20px;font-weight:bold;-inkscape-font-specification:Sans Bold">[B]</tspan></text>
<text
inkscape:export-ydpi="270"
inkscape:export-xdpi="270"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
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="532.2522"
y="475.88306"
id="text21742-2"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan21744-3"
x="532.2522"
y="475.88306"
style="font-size:20px;font-weight:bold;-inkscape-font-specification:Sans Bold">[C]</tspan></text>
<text
inkscape:export-ydpi="270"
inkscape:export-xdpi="270"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
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="175.05476"
y="781.68945"
id="text21742-5"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan21744-2"
x="175.05476"
y="781.68945"
style="font-size:20px;font-weight:bold;-inkscape-font-specification:Sans Bold">[D]</tspan></text>
<text
inkscape:export-ydpi="270"
inkscape:export-xdpi="270"
inkscape:export-filename="/media/BACKUP/CERN/contrib/ohwr/conv-ttl-blo/doc/UsersGuide/Figures/FrontPanel.png"
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="504.6936"
y="781.68945"
id="text21742-9"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan21744-20"
x="504.6936"
y="781.68945"
style="font-size:20px;font-weight:bold;-inkscape-font-specification:Sans Bold">[E]</tspan></text>
<image
width="96"
height="1008"
xlink:href="data:image/png;base64,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 "
id="image8503"
x="310.48663"
y="31.21929" />
</g>
</svg>
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
......@@ -25,3 +25,8 @@
title = {{RTM detection}},
howpublished = {\url{http://www.ohwr.org/projects/conv-ttl-blo/wiki/RTM_board_detection}}
}
@misc{flyback,
title = {{Under the Hood of Flyback SMPS Designs}},
howpublished = {\url{http://focus.ti.com/asia/download/Topic_1_Picard_42pages.pdf}}
}
......@@ -10,8 +10,10 @@
% \SetWatermarkLightness{0.90}
% \SetWatermarkScale{5}
\usepackage{float}
\restylefloat{table}
%\usepackage{float}
%\restylefloat{table}
\usepackage{color}
\begin{document}
......@@ -19,8 +21,6 @@
\title{\textbf{CONV-TTL-BLO \\ User Guide}}
\author{Theodor-Adrian Stana\\
% \href{mailto:t.stana@cern.ch}{\textbf{\textit{t.stana@cern.ch}}}\\
Carlos Gil Soriano\\
% \href{mailto:carlos.gil.soriano@cern.ch}{\textbf{\textit{carlos.gil.soriano@cern.ch}}}
BE-CO-HT\\
}
\date{\today}
......@@ -44,8 +44,7 @@ board in double height VME format. It replaces all the following boards:
\item LASB-TTL-BLO
\item LA-GATE
\item LA-TTL-BLO
\item LAPF-TTL-BLO\footnote{For replacing this board a pulse width of 4us
must be set.}
\item LAPF-TTL-BLO \footnote{These boards have a 4~$\mu$s pulse width.}
\end{itemize}
\end{abstract}
......@@ -62,25 +61,31 @@ board in double height VME format. It replaces all the following boards:
\pagebreak
\section*{List of abbreviations}
\begin{itemize}
\item RTM -- Rear Transition Module
\item RTMM -- RTM Motherboard
\item RTMP -- RTM Piggiback
\end{itemize}
\begin{tabular}{l l}
\textit{FPGA} & Field-Programmable Gate Array \\
\textit{RTM} & Rear Transition Module \\
\textit{RTMM} & RTM Motherboard \\
\textit{RTMP} & RTM Piggyback \\
\textit{SFP} & Small form-factor pluggable (in the context of SFP connectors) \\
\end{tabular}
\pagenumbering{arabic}
\setcounter{page}{1}
%======================================================================================
% SEC: Intro
%======================================================================================
\pagebreak
\section{Introduction}
\label{sec:intro}
CONV-TTL-BLO is a board intended for replicating Blocking Pulses, offering six
CONV-TTL-BLO is a board intended for replicating blocking and TTL pulses, offering six
totally independent replication channels. The shape of the pulses is defined in
\cite{StandardBlocking}. CONV-TTL-BLO works together with two more boards:
Sec.~\ref{sec:pulse-def}. CONV-TTL-BLO works together with two more boards:
CONV-TTL-RTM and CONV-TTL-RTM-BLO.\\
\begin{figure}[!htdp]
\begin{figure}[!h]
\begin{center}
\includegraphics[scale=0.55, keepaspectratio]{Figures/BLOschema.png}
\caption{Pulse Repetition system}
......@@ -88,17 +93,17 @@ CONV-TTL-RTM and CONV-TTL-RTM-BLO.\\
\end{center}
\end{figure}
CONV-TTL-BLO contains all the active circuitry and it is connected as a Front Module
to a VME64 backplane. CONV-TTL-RTM and CONV-TTL-RTM-BLO are both connected to the rear
part of the crate and provide, in the rear panel, the connectivity of the I/O Blocking
lines. Every channel offers, in the rear panel, three Blocking Pulse outputs and one
Blocking Pulse input.
CONV-TTL-BLO contains all the active circuitry and is connected as a front module
to a VME64x backplane. CONV-TTL-RTM and CONV-TTL-RTM-BLO are both connected to the rear
part of the crate and provide, in the rear panel, the connectivity of the I/O blocking
lines. Every channel offers, in the rear panel, three blocking pulse outputs and one
blocking pulse input.
CONV-TTL-RTM is a motherboard attached to the Rear Transition Module (RTM) of the P2
VME64 connector. It connects CONV-TTL-BLO to CONV-TTL-RTM-BLO and
provides overvoltage protection for all the I/Os of all the channels.\\
CONV-TTL-RTM is a motherboard attached to the rear transition module (RTM) of the P2
VME64x connector. It connects CONV-TTL-BLO to CONV-TTL-RTM-BLO and
provides overvoltage protection for all the I/Os of all the channels.
CONV-TTL-RTM-BLO is a piggyback board mounted on CONV-TTL-RTM. It contains all the
CONV-TTL-RTM-BLO is an RTM piggyback (RTMP) board mounted on CONV-TTL-RTM. It contains all the
LEMO 00 connectors and channel LEDs that are offered in the rear panel.
\begin{table}[htdp]
......@@ -109,7 +114,7 @@ LEMO 00 connectors and channel LEDs that are offered in the rear panel.
%\begin{turn}{90}
\begin{tabular}{l l l}
\hline
\multicolumn{1}{c}{\textbf{Board}} & \multicolumn{1}{c}{\textbf{Connection}} & \multicolumn{1}{c}{\textbf{Ports}} \\
\multicolumn{1}{c}{\textbf{Board}} & \multicolumn{1}{c}{\textbf{Connection}} & \multicolumn{1}{c}{\textbf{Front panel ports}} \\
\hline
\textit{CONV-TTL-BLO} & Front & SFP \\
& & TTL Blocking triggers \\
......@@ -124,33 +129,137 @@ LEMO 00 connectors and channel LEDs that are offered in the rear panel.
%\end{turn}
\end{table}
\pagebreak
\section{Main Board Front Panel}
\label{sec:mainboard-front-panel}
The front panel of CONV-TTL-BLO boards is shown in Figure~\ref{fp}. It consists
of status LEDs and several ports, divided in three sections from top to bottom:
%======================================================================================
% SEC: Panels
%======================================================================================
%\pagebreak
\section{Getting Started}
\label{sec:getting-started}
This section provides a description on testing CONV-TTL-BLO boards for basic functionality. The following steps should
be followed in order to test the board.
%The steps listed below were run on a Linux Ubuntu 12.04 unit connected to the wired Ethernet interface on the
%CERN network. The steps to follow should be similar on any Linux or Windows machine; some details
%such as ELMA crate IP or TELNET client escape characters may differ in the reader's case.
\begin{enumerate}
\item Plug in a front module card to the ELMA crate. Turn on power to the crate and program
the Spartan-6 FPGA.
\item Check that the \textit{PW} LED lights \textit{green} and the \textit{ERR} LED lights \textit{red}. %and \textit{I2C} LEDs light \textit{red}.
The \textit{TTL\_N} LED may also be lit. If it is and the LED is \textit{green}, then the LEVEL
switch is set for INV-TTL pulses.
\item Make sure the LEVEL switch is set for TTL pulses (see Sec.~\ref{sec:ttl-inp}).
% \item Connect to an ELMA crate via TELNET, using the following command on the command line:
%
% \begin{verbatim}
%$ telnet 137.138.192.90
%Trying 137.138.192.90...
%Connected to 137.138.192.90.
%Escape character is '^]'.
%login:user
%password USER
%%>
% \end{verbatim}
%
% \item If the TELNET access is successful, the user should now be presented with a command line
% to the SysMon board. To test basic SysMon functionality, run a \verb=voltage= command on the
% SysMon, which should output the following:
%
% \begin{verbatim}
%%>voltage
%
%
%----------------------------Sensor List---------------------------
%
%--no--Name-------------Type----Value--Unit---State------------------
%
%* 2 +3.3V Thr 3.31 V Ok
%* 3 +5V Thr 5.01 V Ok
%* 4 +12V Thr 12.09 V Ok
%* 5 -12V Thr -12.38 V Ok
% \end{verbatim}
%
% \item It can now be proceeded to reading a register from the CONV-TTL-BLO boards. The \verb=readreg=
% command can be used for this purpose. Assuming a CONV-TTL-BLO board in VME slot 1, reading register
% I2C\_CTR0 at address 0x40 (see Sec. \ref{sec:internal-regs}) is done as follows:
%
% \begin{verbatim}
%%>readreg 1 17
% Read Data: 004042BC
% \end{verbatim}
%
% \item The output of the command should be as above, yielding the default value of the I2C\_CTR0 register.
% The \textit{I2C} LED on the front panel should also be lit \textit{green} now. It can now be proceeded to checking
% the pulse repetition mechanisms.
\item \label{item:pulse-first} First, connect one end of a cable with LEMO 00 connectors at both ends to the TTL input port of channel 1
on the front panel.
\item Configure a pulse generator to output TTL level pulses (\textit{max. 5V}) at a frequency of about 1~Hz
with a pulse length of approx. 1~$\mu$s and connect the other end of the cable to the pulse generator.
The LED of the corresponding channel should light for 96~ms when a pulse arrives. A TTL pulse should be
replicated at the TTL output of channel 1. Check (using e.g., an oscilloscope) that the TTL pulse has a width of
1~$\mu$s and a 3.3~V amplitude.
\item Connect a CONV-TTL-RTM board (with attached CONV-TTL-BLO-RTM) to the back-plane of the ELMA,
on the same VME slot as the front module. The \textit{ERR} LED should turn off. The rear panel pulse status LED
on channel 1 should be lit for 96~ms to signal pulses are being output on the channel. Check that the pulse width
on the output connectors of the rear panel is approx. 1~$\mu$s and the amplitude 24~V.
\item Disconnect the LEMO cable from the front panel and configure the pulse generator for 15~V pulse amplitude, keeping
the pulse width to approx. 1~$\mu$s.
\item Connect the LEMO cable to the input port of channel 1 on the rear panel. Measure that the output pulse on
channel 1 is a blocking level pulse with approx. 1~${\mu}$s pulse width and 24~V in amplitude.
\item \label{item:pulse-last}Finally, measure on the front panel of the front module that on channel 1 the output pulse is 1~${\mu}$s long and 3.3~V.
\item Repeat steps~\ref{item:pulse-first}-\ref{item:pulse-last} for all remaining five channels.
\end{enumerate}
%======================================================================================
% SEC: Panels
%======================================================================================
\section{Front and Rear Panels}
\label{sec:front-panel}
Two panels exist in the context of the pulse repeater boards. The first of these is the
\textit{front panel}, which corresponds to CONV-TTL-BLO boards and offers various status
LEDs, as well as various connectors for TTL and INV-TTL pulses and White Rabbit.
The second is the \textit{rear panel}, located on the other side of the backplane and
corresponding to CONV-TTL-RTM-BLO boards. The rear panel offers blocking pulse connectors
and status LEDs for pulse arrival confirmation.
\subsection{Front panel}
The front panel of CONV-TTL-BLO boards is shown in Fig.~\ref{fp}. It consists
of status LEDs and several ports, divided in four sections from top to bottom:
\begin{itemize}
\item SFP connector: \textbf{[A]}.
\item Blocking connectors: \textbf{[B]} and \textbf{[C]}.
\item General Purpose connectors: \textbf{[D]} and \textbf{[E]}.
\item System status LEDs;
\item Small form-factor pluggable (SFP) connector;
\item TTL pulse connectors;
\item INV-TTL pulse connectors.
\end{itemize}
\begin{figure}[!htdp]
\begin{center}
\includegraphics[scale=.5, keepaspectratio]{Figures/FrontPanel.png}
\caption{CONV-TTL-BLO Front Panel}
\includegraphics[scale=.5, keepaspectratio]{Figures/front-panel}
\caption{CONV-TTL-BLO panel (front panel)}
\label{fp}
\end{center}
\end{figure}
\subsection{Status LEDs}
In the current version of the CONV-TTL-BLO boards, only several of the status LEDs
\subsubsection{System status LEDs}
In the current version of the CONV-TTL-BLO boards, only several of the system status LEDs
present on the board are used, due to limited firmware support in the FPGA.
The implemented status LEDs are presented in Table \ref{tbl:status-leds}. Unimplemented
status LEDs are off by default.
The implemented LEDs are presented in Table \ref{tbl:status-leds}. Unimplemented
system status LEDs are off by default.
\begin{table}
\caption{Status LEDs on CONV-TTL-BLO front panels}
\caption{System status LEDs on CONV-TTL-BLO front panels}
\label{tbl:status-leds}
\centerline
{
......@@ -163,385 +272,422 @@ status LEDs are off by default.
\textit{ERR} & Error LED. Lights \textit{red} when no rear transition module board is present. \\
\textit{TTL\_N} & Negated-TTL status LED. Lights \textit{green} when negated TTL logic is selected
via the 8$^{th}$ position of the on-board selection switch. \\
\textit{I2C} & I$^2$C status LED. Lights \textit{red} until an I$^2$C transfer has taken place. Once
either a read or a write is successfully completed, the I$^2$C status LED lights \textit{green}
to signal the communication is up. \\
% \textit{I2C} & I$^2$C status LED. Lights \textit{red} until an I$^2$C transfer has taken place. Once
% either a read or a write is successfully completed, the I$^2$C status LED lights \textit{green}
% to signal the communication is up. \\
\hline
\end{tabular}
}
\end{table}
\subsection{SFP connector}
\subsubsection{SFP connector}
This connector is used to add White Rabbit support to the CONV-TTL-BLO boards.
If an optic fibre cable is connected to this socket, White Rabbit precise
time-stamping can be added to CONV-TTL-BLO. Three LEDs above the connector are provisioned to
time-stamping can be added to CONV-TTL-BLO. Four status LEDs above the connector are provisioned to
show the status of the White Rabbit link.
White Rabbit is currently not supported in the CONV-TTL-BLO firmware.
\subsection{TTL triggers}
The TTL triggers correspond to block \textbf{[B]} in Figure~\ref{fp}. The connectors are
LEMO 00 (type EPY). By connecting an external trigger source to one of the connectors a pulse
is replicated in a Blocking Pulse level in the Rear Panel and in a TTL panel
in the Front Panel. All input channels are 50$\Omega$-terminated.
\subsection{Repeated TTL pulses}
These correspond to block \textbf{[C]} in Figure~\ref{fp}. The connectors are
LEMO 00 (type EPA). From these connectors a TTL level Blocking Pulse replica of the Rear Panel
outputs if offered to the Front Panel. The pulse width of this output is
similar to the pulse outputted in the Rear Panel; the rise time and top
pulse level are however different from the Blocking output.
When the pulse is output, the LED of the corresponding channel blinks for 125 ms.
The TTL output lines are not internally terminated.
\subsection{General pupose}
Four dedicated inverters can be found in the lower part of the Front Panel (\textbf{[D]} and \textbf{[E]} in
Figure~\ref{fp}). The output is a TTL inverted version of the TTL input. The inverted-TTL outputs are not internally
terminated.
\pagebreak
\section{Getting Started}
\label{sec:getting-started}
This section provides a reference to testing the CONV-TTL-BLO boards for basic functionality. The steps
listed below were run on a Linux Ubuntu 12.04 unit connected to the wired Ethernet interface on the
CERN network. The steps to follow should be similar on any Linux or Windows machine; some details
such as ELMA crate IP or TELNET client escape characters may differ in the reader's case.
The following steps should be performed for testing board functionality:
\begin{enumerate}
\item Plug in a front module card to the ELMA crate. Turn on power to the crate and program
the Spartan-6 FPGA.
\item Check that the \textit{PW} LED lights \textit{green} and the \textit{ERR} and \textit{I2C} LEDs light \textit{red}.
The \textit{TTL\_N} LED may also be lit. If it is and the LED is \textit{green}, this is not an issue.
\item Connect to an ELMA crate via TELNET, using the following command on the command line:
\subsubsection{TTL triggers}
One side of the dual LEMO 00 (type EPY) connector on the CONV-TTL-BLO boards
are used for the TTL trigger inputs. By connecting an external trigger source to
one of these connectors, a Blocking pulse is generated at the rear panel and
a TTL-level pulse is generated at the front panel. The triggers can be either
TTL, or INV-TTL level.
\begin{verbatim}
$ telnet 137.138.192.90
Trying 137.138.192.90...
Connected to 137.138.192.90.
Escape character is '^]'.
login:user
password USER
%>
\end{verbatim}
All input channels are line-terminated with 50$\Omega$ resistors.
\item If the TELNET access is successful, the user should now be presented with a command line
to the SysMon board. To test basic SysMon functionality, run a \verb=voltage= command on the
SysMon, which should output the following:
\subsubsection{Repeated TTL pulses}
The other side of the dual LEMO 00 connector is used to output a TTL-level replica of the blocking
pulse received at the rear panel, or of the trigger signal arrived on the front panel.
The pulse width of this output is similar to the pulse output in the rear panel;
the rise time and top pulse level are however different from the Blocking output.
\begin{verbatim}
%>voltage
When the pulse is output, the LED of the corresponding channel blinks for 96~ms.
TTL output lines are not internally terminated.
----------------------------Sensor List---------------------------
\subsubsection{General purpose}
Four dedicated inverted-TTL connectors can be found in the lower part of the front panel.
Inverted-TTL outputs are not internally terminated.
--no--Name-------------Type----Value--Unit---State------------------
* 2 +3.3V Thr 3.31 V Ok
* 3 +5V Thr 5.01 V Ok
* 4 +12V Thr 12.09 V Ok
* 5 -12V Thr -12.38 V Ok
\end{verbatim}
\subsection{Rear panel}
\item It can now be proceeded to reading a register from the CONV-TTL-BLO boards. The \verb=readreg=
command can be used for this purpose. Assuming a CONV-TTL-BLO board in VME slot 1, reading register
I2C\_CTR0 at address 0x40 (see Sec. \ref{sec:internal-regs}) is done as follows:
The rear panel on CONV-TTL-BLO-RTM boards is shown in Fig.~\ref{fig:rear-panel}. It contains the
input and output connectors, as well as pulse status LEDs for six blocking-level pulse channels. A blocking-level
pulse at the input connector of a channel is repeated at the three outputs of the same channel in
blocking level and TTL level at the output connector of the corresponding channel on the front panel.
\begin{verbatim}
%>readreg 1 17
Read Data: 004042BC
\end{verbatim}
When a pulse is repeated on the output connector of a channel, the pulse status LED is lit for 96~ms.
\item The output of the command should be as above, yielding the default value of the I2C\_CTR0 register.
The \textit{I2C} LED on the front panel should also be lit \textit{green} now. It can now be proceeded to checking
the pulse repetition mechanisms.
\item First, connect one end of a cable with LEMO 00 connectors at both ends to the front module front panel
TTL input ports.
\item Configure a pulse generator to output TTL level pulses (\textit{max. 5V}) at a frequency of about 3~Hz
with a pulse length of $\geq$1~$\mu$s.
\item Connect the other end of the cable to the pulse generator. The LED of the corresponding channel should
light for 125~ms when a pulse arrives.
\item Connect the corresponding channel output port to an oscilloscope and measure the signal level of the pulse
and that the pulse width is 1~${\mu}$s long.
\item Repeat the operation with the other front channels.
\item Connect a rear transition module (RTM) board to the back-plane of the ELMA, on the same VME slot as the front module.
The \textit{ERR} LED should turn off.
\item Connect the LEMO cable to each channel on the front module front panel in turn to each of the channels.
As with the front module front panel, the LED corresponding to the connected channel on the rear transition module piggyback
(RTMP) front panel should be lit for about 125~ms when a pulse arrives. Measure that the output pulse on the blocking
channels is 1~${\mu}$s long and 24~V in amplitude.
\item Disconnect the LEMO cable from the front module front panel and configure the pulse generator for 15~V pulse amplitude.
\item Connect the LEMO cable to channel 1 the front panel of the RTMP board. Measure the output pulse on the corresponding channel of the
RTMP front panel; it should be 1~${\mu}$s long and 24~V in amplitude.
\item Finally, measure on the front panel of the front module that on channel 1 the output pulse is 1~${\mu}$s long and 3.3~V.
\item Repeat for all other channels.
\end{enumerate}
\begin{figure}
\begin{center}
\includegraphics[scale=.55, keepaspectratio]{Figures/rear-panel}
\caption{CONV-TTL-BLO-RTM panel (rear panel)}
\label{fig:rear-panel}
\end{center}
\end{figure}
\pagebreak
\section{Functional Description}
%======================================================================================
% SEC: Pulse signals
%======================================================================================
\section{Output Pulse Signal}
\label{sec:pulse-def}
The task of CONV-TTL-BLO is to output a Blocking Pulse upon a reception of a
trigger is received. As stated before, CONV-TTL-BLO works together with
CONV-TTL-RTM and CONV-TTL-RTM-BLO in the rear part of the crate.
The system formed by these three boards offers three independent channels for
outputting Blocking Pulses. Refer to Figure~\ref{prs} for a visual,
whole-system, description.
In order for CONV-TTL-BLO boards to work as repeaters, logic is implemented in the
on-board FPGA that reacts to a trigger at either rear or front panel and generates a
pulse at the output.
There are two sources for triggering in every channel: one coming from the
Front Panel (CONV-TTL-BLO) and other coming from the Rear Panel
(CONV-TTL-RTM through CONV-TTL-RTM-BLO).
Extensive work was made by Carlos Gil-Soriano to research existing boards at CERN and
define a standard for pulse levels in repeater boards \cite{StandardBlocking}. Based on
this document and on further tests with two of the existing repeater boards at CERN, output
pulse widths and amplitudes were selected for the converter boards.
The trigger policy is that a Blocking pulse will be outputted whenever
either a trigger in the Front Panel or the Rear Panel is detected.
Three types of pulses are defined in the context of CONV-TTL-BLO boards. They
differ only in signal amplitude and signal rise and fall times, due to the circuitry
used to generate them; pulse widths are the same for all three types. Table~\ref{tbl:pulse-levels}
presents the different types of pulses and Fig.~\ref{fig:pulse-def} shows a graphic representation of
the pulse signal.
\begin{table}[htdp]
\begin{table}[h]
\caption{Trigger sources}
\begin{center}
\begin{tabular}{c c c}
\hline
\textbf{Trigger} & \textbf{Board} & \textbf{Connection} \\
\hline
TTL & CONV-TTL-BLO & Front Panel\\
Blocking & CONV-TTL-RTM-BLO & Rear Panel\\
\label{tbl:pulse-levels}
\centerline
{
\begin{tabular}{l c p{.3\textwidth}}
\hline
\end{tabular}
\vspace{0.5cm}
\begin{tabular}{|c|}
\multicolumn{1}{c}{\textbf{Type}} & \textbf{Pk-pk amplitude} & \multicolumn{1}{c}{\textbf{Comments}} \\
\hline
\textbf{Global trigger is OR function of the two sources above} \\
TTL & 3.3~V & \\
INV-TTL & 3.3~V & Inverted version of TTL pulse \\
Blocking & 24~V & \\
\hline
\end{tabular}
\end{center}
\end{table}
All the control logic of the system is implemented in a Xilinx Spartan-6 FPGA. Apart from
pulse repetition, an I$^2$C to Wishbone bridge is also implemented. This module translates I$^2$C
accesses as presented in accesses to internal memory-mapped registers. The status of the various
components in the system can in this way be checked and controlled.
%CONV-TTL-BLO allows the user to set properties for the pulse replication
%and receive information above the latest events logged in the board.
\pagebreak
\section{Accessing internal registers}
\label{sec:internal-regs}
\subsection{ELMA crates}
CONV-TTL-BLO boards have been designed to operate in ELMA crates. These crates provide a
back plane with VME64x connectors which boards can be plugged into. A dedicated board inside the
ELMA crates called the SysMon (System Monitor) monitors overall system status and provides access
to boards plugged into the VME back plane.
The user can connect to SysMon boards either through a simple RS-232 interface, or through Telnet.
In order to send commands to a board plugged into an ELMA crate, the user would connect to the SysMon
over one of these two interfaces and send \verb=readreg= and \verb=writereg= commands to
board-specific registers, as exemplified in Section \ref{sec:getting-started} to control their functioning.
%Since it is the interface most experimented with up to the point of writing of this document,
%only the Telnet interface is used throughout this document.
\subsection{Board Addressing}
\label{sec:brd-addressing}
Communication with the CONV-TTL-BLO FPGA is done via I$^2$C interface through the SERA and SERB pins
in P1 VME64x connectors. In order to access a CONV-TTL-BLO board, it is necessary to send:
\begin{itemize}
\item The board's 7-bit I$^2$C address. Every CONV-TTL-BLO has an address that prepends two bits
of value \textit{10} to the Geographical Address of the slot according to VME64x specifications.
\item An internal CONV-TTL-BLO register address. It is a 16-bit integer in \textit{little endian} format
(most significant byte is sent first).
\end{itemize}
After this, four bytes of data are read/written from/to the internal CONV-TTL-BLO register. These
four bytes of data are written in \textit{big endian} format (least significant byte is sent first).
The addressing protocol is thoroughly described in \cite{sysmon-i2c}. The SysMon acts as a master on the
I$^2$C interface and has the protocol implemented as software on the on-board processor. The FPGAs on
CONV-TTL-BLO boards implement an I$^2$C slave and decode the data streams sent by the SysMon.
\subsection{CONV-TTL-BLO memory map}
\label{sec:memmap}
Table \ref{tbl:memmap} summarizes the registers mapping in the current version of the CONV-TTL-BLO firmware.
The first column represents the Wishbone address internal to the FPGA firmware and the second column represents
the ELMA register address (in \verb=readreg= and \verb=writereg= commands).
\begin{table}[!hbtp]
\caption{Memory map of the CONV-TTL-BLO design}
\label{tbl:memmap}
\centerline
{
\begin{tabular}{ r r l c p{.5\textwidth} }
\hline
\multicolumn{1}{c}{Address} & \multicolumn{1}{c}{ELMA} & \multicolumn{1}{c}{Name} & \multicolumn{1}{c}{Access} & \multicolumn{1}{c}{Description} \\
\hline
0x00 & 1 & STAT\_L & R & Lower 32 bits of system status register \\
0x04 & 2 & STAT\_H & R & Upper 32 bits of system status register \\
0x40 & 17 & I2C\_CTR0 & R & I$^2$C control register \\
0x44 & 18 & I2C\_LT & R & I$^2$C line timing register, provides the current I$^2$C line speed \\
0x48 & 19 & I2C\_DTX & R/W & Data to transmit through the I$^2$C interface \\
0x4C & 20 & I2C\_DRXA & R & Lower 32 bits of data received through the I$^2$C interface \\
0x50 & 21 & I2C\_DRXB & R & Upper 32 bits of data received through the I$^2$C interface \\
\hline
\end{tabular}
}
\end{table}
\subsection{Register description}
\begin{figure}[h]
\begin{center}
\includegraphics{Figures/pulse-def}
\caption{Pulse signal shape}
\label{fig:pulse-def}
\end{center}
\end{figure}
%\begin{table}[h]
%\caption{Pulse signal characteristics}
%\label{tbl:pulse-def}
%\centerline
%{
% \begin{tabular}{c c p{.5\textwidth}}
% \hline
% \textbf{Symbol} & \textbf{Value} & \multicolumn{1}{c}{\textbf{Description}} \\
% \hline
% $t_w$ & 1~$\mu$s & Pulse width \\
% $t_{p,min}$ & \textcolor{red}{\textbf{!!!}} & Minimum period of pulse signal \\
% \hline
% \end{tabular}
%}
%\end{table}
%======================================================================================
% SEC: Boards
%======================================================================================
\section{Converter Boards}
\label{sec:boards}
This section gives further information about the three boards which when coupled together
can be used to replicate blocking-level pulses.
\subsection{CONV-TTL-BLO}
\label{sec:conv-ttl-blo}
A picture of the CONV-TTL-BLO mainboard is presented in Fig.~\ref{fig:conv-ttl-blo}.
This board represents the main part of the converter system; all of the active circuitry
involved in pulse repetition is present on this board. The Spartan-6 FPGA is the core part
of the board, reacting to pulses at either the TTL inputs arriving on front panels, or
blocking pulses arriving on rear panels through the RTM system, and generating pulses for
the output channels, both blocking and TTL.
\textcolor{red}{\textbf{board picture}}
\subsubsection{TTL and INV-TTL inputs}
\label{sec:ttl-inp}
TTL and INV-TTL level pulses arrive through the LEMO connectors. The pulses are passed
through a Schmitt trigger buffer circuit to smooth out transitions and then passed to the FPGA.
The buffer circuit is shown in Fig.~\ref{fig:ttl-inp} and is common to the six TTL input channels
and the four INV-TTL input channels.
\begin{figure}[h]
\begin{center}
\includegraphics[width=.85\textwidth]{Figures/ttl-inp.png}
\caption{TTL and INV-TTL input circuit}
\label{fig:ttl-inp}
\end{center}
\end{figure}
\subsubsection{STAT\_L}
Since a signal at the input can be both TTL and INV-TTL, a switch (called the \textit{LEVEL} switch)
is provided on the board to select between the two. The switch (shown in Fig.~\ref{fig:level-switch})
is checked in the FPGA logic and the output pulse per each channel is adjusted according to its status.
\begin{table}[H]
%\caption{STAT\_L register}
%\label{tbl:reg-statl}
\centerline
{
\begin{tabular}{r c c p{.6\textwidth}}
\hline
\multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Reset} & \multicolumn{1}{c}{Description} \\
\hline
31..0 & IDENT\_L & 0x00000000 & Lower 32 bits of board identity, as provided by Maxim DS18B20U+ thermometer \\
\hline
\end{tabular}
}
\end{table}
As can be seen in Fig.~\ref{fig:level-switch}, when the switch is in the upper position, it indicates
that the signal on TTL and INV-TTL inputs is TTL level. When the switch is in the lower position,
this indicates an INV-TTL level at TTL and INV-TTL inputs.
\textcolor{red}{\textbf{LEVEL switch pic}}
A board can only have TTL \textit{or} INV-TTL inputs at one time on \textit{any} channel, not both.
The LEVEL switch indicates which of the two it is. Since there is only one LEVEL switch on CONV-TTL-BLO
boards, it is not possible to set the type of signal per each channel.
\subsubsection{STAT\_H}
\subsubsection{Blocking inputs}
\label{sec:blo-inp}
\begin{table}[H]
%\caption{STAT\_H register}
%\label{tbl:reg-stath}
\centerline
{
\begin{tabular}{r c c p{.6\textwidth}}
\hline
\multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Reset} & \multicolumn{1}{c}{Description} \\
\hline
15..0 & IDENT\_H & 0x0000 & Upper 32 bits of board identity, as provided by Maxim DS18B20U+ thermometer \\
18..16 & RTMM & "000" & Rear transition module mainboard (RTMM) identification \cite{rtm-ident} \\
21..19 & RTMP & "000" & Rear transition module piggyback (RTMP) identification \cite{rtm-ident} \\
31..22 & \textit{unimplemented} & -- & Unimplemented bits, read undefined, write as '0' \\
\hline
\end{tabular}
}
\end{table}
After their arrival in the rear panel through the RTMP LEMO connectors, blocking pulses pass through an
input circuit, shown in Fig.~\ref{fig:blo-inp}. This circuit's function is to adjust the voltage level
of the blocking pulse to a level more suitable for input to the FPGA. A transient voltage suppressing
diode at the input offers protection against any voltage spikes at the input, while the optocoupler
provides the voltage adjustment.
\begin{figure}[h]
\begin{center}
\includegraphics[width=\textwidth]{Figures/blo-inp.png}
\caption{Blocking input circuit}
\label{fig:blo-inp}
\end{center}
\end{figure}
\subsubsection{I2C\_CTR0}
\begin{table}[H]
%\caption{I2C\_CTR0 register}
%\label{tbl:reg-i2c-ctr0}
\centerline
{
\begin{tabular}{r c c p{.5\textwidth}}
\hline
\multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Default} & \multicolumn{1}{c}{Description} \\
\hline
0 & I2C\_OP & '0' & I$^2$C operation, unused bit \\
7..1 & I2C\_ADDR & see Sec. \ref{sec:brd-addressing} & I$^2$C address of the CONV-TTL-BLO board \\
11..8 & BIA & 0x2 & Bytes of Indirect Addressing \\
19..12 & BRD & 0x4 & Bytes to be read from FPGA \\
27..20 & BWR & 0x4 & Bytes to be written to FPGA \\
31..28 & \textit{unimplemented} & -- & Unimplemented bits, read undefined, write as '0' \\
\hline
\end{tabular}
}
\end{table}
Signal levels expected at the input match those of the blocking standard definition \cite{StandardBlocking}.
\textcolor{red}{\textbf{The minimum signal level that the optocoupler is sensitive to is 5~V.}}
\subsubsection{I2C\_LT}
\begin{table}[H]
%\caption{I2C\_LT register}
%\label{tbl:reg-i2c-ctr0}
\centerline
{
\begin{tabular}{r c c p{.5\textwidth}}
\hline
\multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Default} & \multicolumn{1}{c}{Description} \\
\hline
7..0 & WBCP & 20 & WishBone Clock Period, in ns \\
31..8 & SCLP & 0x000000 & SCL Period \\
\hline
\end{tabular}
}
\end{table}
The output of this circuit is further passed through a Schmitt-trigger buffer to smooth out transitions.
Since the buffer is the same inverting buffer present in the TTL input circuits, the inverted pulse signal
coming out of the circuit in Fig.~\ref{fig:blo-inp} is once again inverted, and the FPGA receives the
recovered pulse signal in normal polarity.
\subsubsection{I2C\_DTX}
\begin{table}[H]
\centerline
{
\begin{tabular}{r c c p{.5\textwidth}}
\hline
\multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Default} & \multicolumn{1}{c}{Description} \\
\hline
31..0 & DTX & 0x00000000 & DTX register bits \\
\hline
\end{tabular}
}
\end{table}
\subsubsection{Blocking outputs}
\label{sec:blo-outp}
The blocking output circuit is shown in Fig.~\ref{fig:blo-outp}. The circuit is a typical flyback topology \cite{flyback},
with the Coilcraft inductor providing a galvanically isolated pulse at the output. Rise and fall times of
the pulse signals are controlled mainly by the resistors at the gate of the MOSFET transistor.
\subsubsection{I2C\_DRXA}
\textcolor{red}{\textbf{operation}}
\begin{table}[H]
\centerline
{
\begin{tabular}{r c c p{.5\textwidth}}
\hline
\multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Default} & \multicolumn{1}{c}{Description} \\
\hline
31..0 & DRXA & 0x00000000 & DRXA register bits \\
\hline
\end{tabular}
}
\end{table}
\textcolor{red}{\textbf{snubber circuit design}}
\subsubsection{I2C\_DRXB}
\textcolor{red}{\textbf{max pulse length on the circuit}}
\begin{table}[H]
\centerline
{
\begin{tabular}{r c c p{.5\textwidth}}
\hline
\multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Default} & \multicolumn{1}{c}{Description} \\
\hline
31..0 & DRXB & 0x00000000 & DRXB register bits \\
\hline
\end{tabular}
}
\end{table}
\begin{figure}[h]
\begin{center}
\includegraphics[width=\textwidth]{Figures/blo-outp.png}
\caption{Blocking output circuit}
\label{fig:blo-outp}
\end{center}
\end{figure}
%======================================================================================
% SEC: FPGA Logic
%======================================================================================
\section{FPGA Logic}
\label{sec:fpga-logic}
%======================================================================================
% SEC: Internal regs
%======================================================================================
%\pagebreak
%\section{Accessing internal registers}
%\label{sec:internal-regs}
%
%\subsection{ELMA crates}
%CONV-TTL-BLO boards have been designed to operate in ELMA crates. These crates provide a
%back plane with VME64x connectors which boards can be plugged into. A dedicated board inside the
%ELMA crates called the SysMon (System Monitor) monitors overall system status and provides access
%to boards plugged into the VME back plane.
%
%The user can connect to SysMon boards either through a simple RS-232 interface, or through Telnet.
%In order to send commands to a board plugged into an ELMA crate, the user would connect to the SysMon
%over one of these two interfaces and send \verb=readreg= and \verb=writereg= commands to
%board-specific registers, as exemplified in Section \ref{sec:getting-started} to control their functioning.
%
%%Since it is the interface most experimented with up to the point of writing of this document,
%%only the Telnet interface is used throughout this document.
%
%\subsection{Board Addressing}
%\label{sec:brd-addressing}
%
%Communication with the CONV-TTL-BLO FPGA is done via I$^2$C interface through the SERA and SERB pins
%in P1 VME64x connectors. In order to access a CONV-TTL-BLO board, it is necessary to send:
%
%\begin{itemize}
% \item The board's 7-bit I$^2$C address. Every CONV-TTL-BLO has an address that prepends two bits
% of value \textit{10} to the Geographical Address of the slot according to VME64x specifications.
% \item An internal CONV-TTL-BLO register address. It is a 16-bit integer in \textit{little endian} format
% (most significant byte is sent first).
%\end{itemize}
%
%After this, four bytes of data are read/written from/to the internal CONV-TTL-BLO register. These
%four bytes of data are written in \textit{big endian} format (least significant byte is sent first).
%
%The addressing protocol is thoroughly described in \cite{sysmon-i2c}. The SysMon acts as a master on the
%I$^2$C interface and has the protocol implemented as software on the on-board processor. The FPGAs on
%CONV-TTL-BLO boards implement an I$^2$C slave and decode the data streams sent by the SysMon.
%
%
%\subsection{CONV-TTL-BLO memory map}
%\label{sec:memmap}
%
%Table \ref{tbl:memmap} summarizes the registers mapping in the current version of the CONV-TTL-BLO firmware.
%The first column represents the Wishbone address internal to the FPGA firmware and the second column represents
%the ELMA register address (in \verb=readreg= and \verb=writereg= commands).
%
%\begin{table}[!hbtp]
%\caption{Memory map of the CONV-TTL-BLO design}
%\label{tbl:memmap}
%\centerline
%{
% \begin{tabular}{ r r l c p{.5\textwidth} }
% \hline
% \multicolumn{1}{c}{Address} & \multicolumn{1}{c}{ELMA} & \multicolumn{1}{c}{Name} & \multicolumn{1}{c}{Access} & \multicolumn{1}{c}{Description} \\
% \hline
% 0x00 & 1 & STAT\_L & R & Lower 32 bits of system status register \\
% 0x04 & 2 & STAT\_H & R & Upper 32 bits of system status register \\
% 0x40 & 17 & I2C\_CTR0 & R & I$^2$C control register \\
% 0x44 & 18 & I2C\_LT & R & I$^2$C line timing register, provides the current I$^2$C line speed \\
% 0x48 & 19 & I2C\_DTX & R/W & Data to transmit through the I$^2$C interface \\
% 0x4C & 20 & I2C\_DRXA & R & Lower 32 bits of data received through the I$^2$C interface \\
% 0x50 & 21 & I2C\_DRXB & R & Upper 32 bits of data received through the I$^2$C interface \\
% \hline
% \end{tabular}
%}
%\end{table}
%
%\subsection{Register description}
%
%
%\subsubsection{STAT\_L}
%
%\begin{table}[H]
%%\caption{STAT\_L register}
%%\label{tbl:reg-statl}
%\centerline
%{
% \begin{tabular}{r c c p{.6\textwidth}}
% \hline
% \multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Reset} & \multicolumn{1}{c}{Description} \\
% \hline
% 31..0 & IDENT\_L & 0x00000000 & Lower 32 bits of board identity, as provided by Maxim DS18B20U+ thermometer \\
% \hline
% \end{tabular}
%}
%\end{table}
%
%
%
%\subsubsection{STAT\_H}
%
%\begin{table}[H]
%%\caption{STAT\_H register}
%%\label{tbl:reg-stath}
%\centerline
%{
% \begin{tabular}{r c c p{.6\textwidth}}
% \hline
% \multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Reset} & \multicolumn{1}{c}{Description} \\
% \hline
% 15..0 & IDENT\_H & 0x0000 & Upper 32 bits of board identity, as provided by Maxim DS18B20U+ thermometer \\
% 18..16 & RTMM & "000" & Rear transition module mainboard (RTMM) identification \cite{rtm-ident} \\
% 21..19 & RTMP & "000" & Rear transition module piggyback (RTMP) identification \cite{rtm-ident} \\
% 31..22 & \textit{unimplemented} & -- & Unimplemented bits, read undefined, write as '0' \\
% \hline
% \end{tabular}
%}
%\end{table}
%
%
%\subsubsection{I2C\_CTR0}
%\begin{table}[H]
%%\caption{I2C\_CTR0 register}
%%\label{tbl:reg-i2c-ctr0}
%\centerline
%{
% \begin{tabular}{r c c p{.5\textwidth}}
% \hline
% \multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Default} & \multicolumn{1}{c}{Description} \\
% \hline
% 0 & I2C\_OP & '0' & I$^2$C operation, unused bit \\
% 7..1 & I2C\_ADDR & see Sec. \ref{sec:brd-addressing} & I$^2$C address of the CONV-TTL-BLO board \\
% 11..8 & BIA & 0x2 & Bytes of Indirect Addressing \\
% 19..12 & BRD & 0x4 & Bytes to be read from FPGA \\
% 27..20 & BWR & 0x4 & Bytes to be written to FPGA \\
% 31..28 & \textit{unimplemented} & -- & Unimplemented bits, read undefined, write as '0' \\
% \hline
% \end{tabular}
%}
%\end{table}
%
%\subsubsection{I2C\_LT}
%\begin{table}[H]
%%\caption{I2C\_LT register}
%%\label{tbl:reg-i2c-ctr0}
%\centerline
%{
% \begin{tabular}{r c c p{.5\textwidth}}
% \hline
% \multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Default} & \multicolumn{1}{c}{Description} \\
% \hline
% 7..0 & WBCP & 20 & WishBone Clock Period, in ns \\
% 31..8 & SCLP & 0x000000 & SCL Period \\
% \hline
% \end{tabular}
%}
%\end{table}
%
%\subsubsection{I2C\_DTX}
%\begin{table}[H]
%\centerline
%{
% \begin{tabular}{r c c p{.5\textwidth}}
% \hline
% \multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Default} & \multicolumn{1}{c}{Description} \\
% \hline
% 31..0 & DTX & 0x00000000 & DTX register bits \\
% \hline
% \end{tabular}
%}
%\end{table}
%
%\subsubsection{I2C\_DRXA}
%
%\begin{table}[H]
%\centerline
%{
% \begin{tabular}{r c c p{.5\textwidth}}
% \hline
% \multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Default} & \multicolumn{1}{c}{Description} \\
% \hline
% 31..0 & DRXA & 0x00000000 & DRXA register bits \\
% \hline
% \end{tabular}
%}
%\end{table}
%
%\subsubsection{I2C\_DRXB}
%
%\begin{table}[H]
%\centerline
%{
% \begin{tabular}{r c c p{.5\textwidth}}
% \hline
% \multicolumn{1}{c}{Bit} & \multicolumn{1}{c}{Field} & \multicolumn{1}{c}{Default} & \multicolumn{1}{c}{Description} \\
% \hline
% 31..0 & DRXB & 0x00000000 & DRXB register bits \\
% \hline
% \end{tabular}
%}
%\end{table}
......
......@@ -75,8 +75,9 @@ architecture behav of pulse_generator is
-- Pulse length counter
signal width_cnt : unsigned(f_log2_size(g_pulse_width)-1 downto 0);
-- Pulse and trigger
-- Pulse-specific signals
signal pulse : std_logic;
signal pulse_reject : std_logic;
-- Glitch filter
signal glitch_filt : std_logic_vector(g_glitch_filt_len downto 0);
......@@ -90,7 +91,8 @@ begin
--============================================================================
-- Output logic
--============================================================================
pulse_o <= pulse or trig_i;
pulse_o <= trig_i when (pulse_reject = '0') else
pulse;
--============================================================================
-- Glitch filtration logic
......@@ -131,7 +133,6 @@ begin
if (pulse = '1') then
width_cnt <= width_cnt + 1;
-- Reset pulse length counter and clear output pulse when reached max
-- length. The max length is given by the module input, minus the
-- glitch filter length (due to the flip-flops the pulse goes through).
......@@ -150,6 +151,32 @@ begin
end if;
end process p_gen_pulse;
-- This process is used to reject pulses longer than the pulse width defined
-- via the generic. This safeguards the blocking output transformers from
-- reaching saturation current when an INV-TTL signal is applied at the TTL
-- input without setting the LEVEL switch appropriately. It also guards the
-- transformers when no signal is present at the TTL input and the LEVEL switch
-- is set to INV-TTL.
--
-- When the pulse signal is set, the pulse_reject signal is also set. The
-- pulse_reject signal is cleared when the pulse input has settled back to '0'.
--
-- By using the pulse_reject signal as an enable for the output, the pulse output
-- width is cut to the desired size.
p_pulse_reject: process(clk_i)
begin
if rising_edge(clk_i) then
if (rst_n_i = '0') then
pulse_reject <= '1';
elsif (pulse = '1') then
pulse_reject <= '1';
elsif (trig_i = '0') then
pulse_reject <= '0';
end if;
end if;
end process p_pulse_reject;
end architecture behav;
--==============================================================================
-- architecture end
......
......@@ -150,8 +150,8 @@ begin
rst_n_i => rst_n,
pulse_o => trig
);
actual_trig <= trig; -- when lvl = '0' else not trig;
actual_pulse <= pulse; -- when lvl = '0' else not pulse;
actual_trig <= '1'; --trig;
actual_pulse <= pulse;
lvl_n <= not lvl;
......
......@@ -65,15 +65,500 @@ do run.do
# Loading work.pulse_generator(behav)#1
# Loading work.pulse_gen(behav)#1
# hexadecimal
# ** Error: (vish-4014) No objects found matching '/testbench/DUT/pulse_len_i'.
# Executing ONERROR command at macro ./wave.do line 10
# ** Error: (vish-4014) No objects found matching '/testbench/DUT/len_cnt'.
# Executing ONERROR command at macro ./wave.do line 11
# ** Error: (vish-4014) No objects found matching '/testbench/DUT/pulse_len'.
# Executing ONERROR command at macro ./wave.do line 12
# ** Error: (vish-4014) No objects found matching '/testbench/DUT/trig'.
# Executing ONERROR command at macro ./wave.do line 15
# ** Error: (vish-4014) No objects found matching '/testbench/DUT/level_i'.
# Executing ONERROR command at macro ./wave.do line 16
# 0 ps
# 105 us
add wave \
sim:/testbench/DUT/pulse_reject
restart; run 100 us
# ** Note: (vsim-3813) Design is being optimized due to module recompilation...
# Loading std.standard
# Loading std.textio(body)
# Loading ieee.std_logic_1164(body)
# Loading ieee.numeric_std(body)
# Loading work.testbench(behav)#1
# Loading work.pulse_generator(behav)#1
# Loading work.pulse_gen(behav)#1
do run.do
# ** Warning: (vlib-34) Library already exists at "work".
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling package genram_pkg
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# -- Compiling package body genram_pkg
# -- Loading package genram_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Loading package genram_pkg
# -- Compiling package gencores_pkg
# -- Compiling package body gencores_pkg
# -- Loading package gencores_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling entity gc_sync_ffs
# -- Compiling architecture behavioral of gc_sync_ffs
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_gen
# -- Compiling architecture behav of pulse_gen
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_generator
# -- Compiling architecture behav of pulse_generator
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity testbench
# -- Compiling architecture behav of testbench
# vsim -lib work -voptargs=\"+acc\" -t 1ps work.testbench
# ** Note: (vsim-3813) Design is being optimized due to module recompilation...
# Loading std.standard
# Loading std.textio(body)
# Loading ieee.std_logic_1164(body)
# Loading ieee.numeric_std(body)
# Loading work.testbench(behav)#1
# Loading work.pulse_generator(behav)#1
# Loading work.pulse_gen(behav)#1
# hexadecimal
# 0 ps
# 105 us
do run.do
# ** Warning: (vlib-34) Library already exists at "work".
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling package genram_pkg
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# -- Compiling package body genram_pkg
# -- Loading package genram_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Loading package genram_pkg
# -- Compiling package gencores_pkg
# -- Compiling package body gencores_pkg
# -- Loading package gencores_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling entity gc_sync_ffs
# -- Compiling architecture behavioral of gc_sync_ffs
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_gen
# -- Compiling architecture behav of pulse_gen
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_generator
# -- Compiling architecture behav of pulse_generator
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity testbench
# -- Compiling architecture behav of testbench
# vsim -lib work -voptargs=\"+acc\" -t 1ps work.testbench
# ** Note: (vsim-3813) Design is being optimized due to module recompilation...
# Loading std.standard
# Loading std.textio(body)
# Loading ieee.std_logic_1164(body)
# Loading ieee.numeric_std(body)
# Loading work.testbench(behav)#1
# Loading work.pulse_generator(behav)#1
# Loading work.pulse_gen(behav)#1
# hexadecimal
# 0 ps
# 105 us
do run.do
# ** Warning: (vlib-34) Library already exists at "work".
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling package genram_pkg
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# -- Compiling package body genram_pkg
# -- Loading package genram_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Loading package genram_pkg
# -- Compiling package gencores_pkg
# -- Compiling package body gencores_pkg
# -- Loading package gencores_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling entity gc_sync_ffs
# -- Compiling architecture behavioral of gc_sync_ffs
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_gen
# -- Compiling architecture behav of pulse_gen
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_generator
# -- Compiling architecture behav of pulse_generator
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity testbench
# -- Compiling architecture behav of testbench
# vsim -lib work -voptargs=\"+acc\" -t 1ps work.testbench
# ** Note: (vsim-3813) Design is being optimized due to module recompilation...
# Loading std.standard
# Loading std.textio(body)
# Loading ieee.std_logic_1164(body)
# Loading ieee.numeric_std(body)
# Loading work.testbench(behav)#1
# Loading work.pulse_generator(behav)#1
# Loading work.pulse_gen(behav)#1
# hexadecimal
# 0 ps
# 105 us
do run.do
# ** Warning: (vlib-34) Library already exists at "work".
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling package genram_pkg
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# -- Compiling package body genram_pkg
# -- Loading package genram_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Loading package genram_pkg
# -- Compiling package gencores_pkg
# -- Compiling package body gencores_pkg
# -- Loading package gencores_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling entity gc_sync_ffs
# -- Compiling architecture behavioral of gc_sync_ffs
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_gen
# -- Compiling architecture behav of pulse_gen
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_generator
# -- Compiling architecture behav of pulse_generator
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity testbench
# -- Compiling architecture behav of testbench
# vsim -lib work -voptargs=\"+acc\" -t 1ps work.testbench
# ** Note: (vsim-3813) Design is being optimized due to module recompilation...
# Loading std.standard
# Loading std.textio(body)
# Loading ieee.std_logic_1164(body)
# Loading ieee.numeric_std(body)
# Loading work.testbench(behav)#1
# Loading work.pulse_generator(behav)#1
# Loading work.pulse_gen(behav)#1
# hexadecimal
# 0 ps
# 105 us
do run.do
# ** Warning: (vlib-34) Library already exists at "work".
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling package genram_pkg
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# -- Compiling package body genram_pkg
# -- Loading package genram_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Loading package genram_pkg
# -- Compiling package gencores_pkg
# -- Compiling package body gencores_pkg
# -- Loading package gencores_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling entity gc_sync_ffs
# -- Compiling architecture behavioral of gc_sync_ffs
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_gen
# -- Compiling architecture behav of pulse_gen
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_generator
# -- Compiling architecture behav of pulse_generator
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity testbench
# -- Compiling architecture behav of testbench
# vsim -lib work -voptargs=\"+acc\" -t 1ps work.testbench
# ** Note: (vsim-3813) Design is being optimized due to module recompilation...
# Loading std.standard
# Loading std.textio(body)
# Loading ieee.std_logic_1164(body)
# Loading ieee.numeric_std(body)
# Loading work.testbench(behav)#1
# Loading work.pulse_generator(behav)#1
# Loading work.pulse_gen(behav)#1
# hexadecimal
# 0 ps
# 105 us
add wave \
sim:/testbench/DUT/pulse_reject
write format wave -window .main_pane.wave.interior.cs.body.pw.wf /home/tstana/Projects/conv-ttl-blo/hdl/pulse_generator/sim/wave.do
restart; run 100 us
# ** Note: (vsim-3813) Design is being optimized due to module recompilation...
# Loading std.standard
# Loading std.textio(body)
# Loading ieee.std_logic_1164(body)
# Loading ieee.numeric_std(body)
# Loading work.testbench(behav)#1
# Loading work.pulse_generator(behav)#1
# Loading work.pulse_gen(behav)#1
do run.do
# ** Warning: (vlib-34) Library already exists at "work".
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling package genram_pkg
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# -- Compiling package body genram_pkg
# -- Loading package genram_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Loading package genram_pkg
# -- Compiling package gencores_pkg
# -- Compiling package body gencores_pkg
# -- Loading package gencores_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling entity gc_sync_ffs
# -- Compiling architecture behavioral of gc_sync_ffs
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_gen
# -- Compiling architecture behav of pulse_gen
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_generator
# -- Compiling architecture behav of pulse_generator
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity testbench
# -- Compiling architecture behav of testbench
# vsim -lib work -voptargs=\"+acc\" -t 1ps work.testbench
# ** Note: (vsim-3813) Design is being optimized due to module recompilation...
# Loading std.standard
# Loading std.textio(body)
# Loading ieee.std_logic_1164(body)
# Loading ieee.numeric_std(body)
# Loading work.testbench(behav)#1
# Loading work.pulse_generator(behav)#1
# Loading work.pulse_gen(behav)#1
# hexadecimal
# 0 ps
# 105 us
do run.do
# ** Warning: (vlib-34) Library already exists at "work".
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling package genram_pkg
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# -- Compiling package body genram_pkg
# -- Loading package genram_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Loading package genram_pkg
# -- Compiling package gencores_pkg
# -- Compiling package body gencores_pkg
# -- Loading package gencores_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling entity gc_sync_ffs
# -- Compiling architecture behavioral of gc_sync_ffs
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_gen
# -- Compiling architecture behav of pulse_gen
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_generator
# -- Compiling architecture behav of pulse_generator
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity testbench
# -- Compiling architecture behav of testbench
# vsim -lib work -voptargs=\"+acc\" -t 1ps work.testbench
# ** Note: (vsim-3813) Design is being optimized due to module recompilation...
# Loading std.standard
# Loading std.textio(body)
# Loading ieee.std_logic_1164(body)
# Loading ieee.numeric_std(body)
# Loading work.testbench(behav)#1
# Loading work.pulse_generator(behav)#1
# Loading work.pulse_gen(behav)#1
# hexadecimal
# 0 ps
# 105 us
do run.do
# ** Warning: (vlib-34) Library already exists at "work".
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling package genram_pkg
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# ** Warning: [3] /home/tstana/Projects/ip_cores/general-cores/modules/genrams/genram_pkg.vhd(50): (vcom-1246) Range -1 downto 0 is null.
# -- Compiling package body genram_pkg
# -- Loading package genram_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Loading package genram_pkg
# -- Compiling package gencores_pkg
# -- Compiling package body gencores_pkg
# -- Loading package gencores_pkg
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Compiling entity gc_sync_ffs
# -- Compiling architecture behavioral of gc_sync_ffs
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_gen
# -- Compiling architecture behav of pulse_gen
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity pulse_generator
# -- Compiling architecture behav of pulse_generator
# Model Technology ModelSim SE vcom 10.1 Compiler 2011.12 Dec 5 2011
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling entity testbench
# -- Compiling architecture behav of testbench
# vsim -lib work -voptargs=\"+acc\" -t 1ps work.testbench
# ** Note: (vsim-3813) Design is being optimized due to module recompilation...
# Loading std.standard
# Loading std.textio(body)
# Loading ieee.std_logic_1164(body)
# Loading ieee.numeric_std(body)
# Loading work.testbench(behav)#1
# Loading work.pulse_generator(behav)#1
# Loading work.pulse_gen(behav)#1
# hexadecimal
# 0 ps
# 105 us
......@@ -5,15 +5,10 @@ add wave -noupdate /testbench/rst_n
add wave -noupdate /testbench/trig
add wave -noupdate /testbench/actual_trig
add wave -noupdate /testbench/pulse
add wave -noupdate /testbench/actual_pulse
add wave -noupdate -divider internal
add wave -noupdate /testbench/DUT/pulse_len_i
add wave -noupdate /testbench/DUT/len_cnt
add wave -noupdate /testbench/DUT/pulse_len
add wave -noupdate /testbench/DUT/pulse
add wave -noupdate /testbench/DUT/glitch_filt
add wave -noupdate /testbench/DUT/trig
add wave -noupdate /testbench/DUT/level_i
add wave -noupdate /testbench/DUT/pulse
add wave -noupdate /testbench/DUT/pulse_reject
TreeUpdate [SetDefaultTree]
WaveRestoreCursors {{Cursor 2} {12112676 ps} 0}
configure wave -namecolwidth 233
......
......@@ -104,11 +104,13 @@
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1362654810" xil_pn:in_ck="-4590833482063591864" xil_pn:name="TRANEXT_xstsynthesize_spartan6" xil_pn:prop_ck="-5659100974288834190" xil_pn:start_ts="1362654798">
<transform xil_pn:end_ts="1362750559" xil_pn:in_ck="-4590833482063591864" xil_pn:name="TRANEXT_xstsynthesize_spartan6" xil_pn:prop_ck="-5659100974288834190" xil_pn:start_ts="1362750547">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="WarningsGenerated"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForInputs"/>
<status xil_pn:value="OutOfDateForOutputs"/>
<status xil_pn:value="InputChanged"/>
<status xil_pn:value="OutputChanged"/>
<outfile xil_pn:name="_xmsgs/xst.xmsgs"/>
<outfile xil_pn:name="conv_ttl_blo_v2.lso"/>
......@@ -126,18 +128,20 @@
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1362654831" xil_pn:in_ck="-3184428132143472969" xil_pn:name="TRANEXT_ngdbuild_FPGA" xil_pn:prop_ck="7619738475395271108" xil_pn:start_ts="1362654825">
<transform xil_pn:end_ts="1362750565" xil_pn:in_ck="-3184428132143472969" xil_pn:name="TRANEXT_ngdbuild_FPGA" xil_pn:prop_ck="7619738475395271108" xil_pn:start_ts="1362750559">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<outfile xil_pn:name="_ngo"/>
<outfile xil_pn:name="_xmsgs/ngdbuild.xmsgs"/>
<outfile xil_pn:name="conv_ttl_blo_v2.bld"/>
<outfile xil_pn:name="conv_ttl_blo_v2.ngd"/>
<outfile xil_pn:name="conv_ttl_blo_v2_ngdbuild.xrpt"/>
</transform>
<transform xil_pn:end_ts="1362654860" xil_pn:in_ck="-3184428132143472968" xil_pn:name="TRANEXT_map_spartan6" xil_pn:prop_ck="2503688751298223818" xil_pn:start_ts="1362654831">
<transform xil_pn:end_ts="1362750592" xil_pn:in_ck="-3184428132143472968" xil_pn:name="TRANEXT_map_spartan6" xil_pn:prop_ck="2503688751298223818" xil_pn:start_ts="1362750565">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<status xil_pn:value="OutOfDateForOutputs"/>
<status xil_pn:value="OutputChanged"/>
<outfile xil_pn:name="_xmsgs/map.xmsgs"/>
......@@ -150,9 +154,10 @@
<outfile xil_pn:name="conv_ttl_blo_v2_summary.xml"/>
<outfile xil_pn:name="conv_ttl_blo_v2_usage.xml"/>
</transform>
<transform xil_pn:end_ts="1362654888" xil_pn:in_ck="-7407895592276768303" xil_pn:name="TRANEXT_par_spartan6" xil_pn:prop_ck="3214117756270688487" xil_pn:start_ts="1362654860">
<transform xil_pn:end_ts="1362750623" xil_pn:in_ck="-7407895592276768303" xil_pn:name="TRANEXT_par_spartan6" xil_pn:prop_ck="3214117756270688487" xil_pn:start_ts="1362750592">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<outfile xil_pn:name="_xmsgs/par.xmsgs"/>
<outfile xil_pn:name="conv_ttl_blo_v2.ncd"/>
<outfile xil_pn:name="conv_ttl_blo_v2.pad"/>
......@@ -164,9 +169,10 @@
<outfile xil_pn:name="conv_ttl_blo_v2_pad.txt"/>
<outfile xil_pn:name="conv_ttl_blo_v2_par.xrpt"/>
</transform>
<transform xil_pn:end_ts="1362654907" xil_pn:in_ck="-7071212854459536945" xil_pn:name="TRANEXT_bitFile_spartan6" xil_pn:prop_ck="396117104113915555" xil_pn:start_ts="1362654888">
<transform xil_pn:end_ts="1362750641" xil_pn:in_ck="-7071212854459536945" xil_pn:name="TRANEXT_bitFile_spartan6" xil_pn:prop_ck="396117104113915555" xil_pn:start_ts="1362750623">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<outfile xil_pn:name="_xmsgs/bitgen.xmsgs"/>
<outfile xil_pn:name="conv_ttl_blo_v2.bgn"/>
<outfile xil_pn:name="conv_ttl_blo_v2.bit"/>
......@@ -175,15 +181,26 @@
<outfile xil_pn:name="webtalk.log"/>
<outfile xil_pn:name="webtalk_pn.xml"/>
</transform>
<transform xil_pn:end_ts="1362654919" xil_pn:in_ck="-7071212854459549799" xil_pn:name="TRAN_configureTargetDevice" xil_pn:prop_ck="4629081730735892968" xil_pn:start_ts="1362654919">
<transform xil_pn:end_ts="1362751327" xil_pn:in_ck="-7071212854459549799" xil_pn:name="TRAN_impactProgrammingTool" xil_pn:prop_ck="-4173336264699367391" xil_pn:start_ts="1362751327">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<outfile xil_pn:name="_impactbatch.log"/>
<outfile xil_pn:name="ise_impact.cmd"/>
</transform>
<transform xil_pn:end_ts="1362654888" xil_pn:in_ck="-3184428132143473100" xil_pn:name="TRAN_postRouteTrce" xil_pn:prop_ck="445577401284416185" xil_pn:start_ts="1362654881">
<transform xil_pn:end_ts="1362750641" xil_pn:in_ck="-7071212854459549799" xil_pn:name="TRAN_configureTargetDevice" xil_pn:prop_ck="4629081730735892968" xil_pn:start_ts="1362750641">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<status xil_pn:value="OutOfDateForOutputs"/>
<status xil_pn:value="OutputChanged"/>
<outfile xil_pn:name="_impactbatch.log"/>
<outfile xil_pn:name="ise_impact.cmd"/>
</transform>
<transform xil_pn:end_ts="1362750623" xil_pn:in_ck="-3184428132143473100" xil_pn:name="TRAN_postRouteTrce" xil_pn:prop_ck="445577401284416185" xil_pn:start_ts="1362750614">
<status xil_pn:value="FailedRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<outfile xil_pn:name="_xmsgs/trce.xmsgs"/>
<outfile xil_pn:name="conv_ttl_blo_v2.twr"/>
<outfile xil_pn:name="conv_ttl_blo_v2.twx"/>
......
......@@ -323,22 +323,9 @@ begin
);
end generate gen_ttl_pulse_generators;
cmp_tmp_pulse_gen: pulse_gen
generic map
(
g_pwidth => 125,
g_freq => 125*(10**6)
)
port map
(
clk_i => clk_125,
rst_n_i => rst_n,
pulse_o => tmp_pulse
);
-- Pulse outputs assignment
FPGA_OUT_TTL <= pulse_outputs;
FPGA_TRIG_BLO <= (others => '0'); -- pulse_outputs;
FPGA_TRIG_BLO <= pulse_outputs;
-- Pulse status LEDs assignments
PULSE_FRONT_LED_N <= (not pulse_leds) when (ttl_oe = '1') else
......@@ -373,6 +360,19 @@ begin
-- Output assignment
INV_OUT <= not inv_outputs;
cmp_tmp_pulse_gen: pulse_gen
generic map
(
g_pwidth => 100,
g_freq => 125*(10**6)
)
port map
(
clk_i => clk_125,
rst_n_i => rst_n,
pulse_o => tmp_pulse
);
--============================================================================
-- Bicolor LED matrix logic
--============================================================================
......
......@@ -22,167 +22,9 @@
<sourceproject xmlns="http://www.xilinx.com/XMLSchema" xil_pn:fileType="FILE_XISE" xil_pn:name="basic_trigger_v2.xise"/>
<files xmlns="http://www.xilinx.com/XMLSchema">
<file xil_pn:fileType="FILE_DIRECTORY" xil_pn:name="_ngo"/>
<file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/bitgen.xmsgs"/>
<file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/map.xmsgs"/>
<file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/ngdbuild.xmsgs"/>
<file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/par.xmsgs"/>
<file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/trce.xmsgs"/>
<file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/xst.xmsgs"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_BITGEN_REPORT" xil_pn:name="basic_trigger_v2_top.bgn" xil_pn:subbranch="FPGAConfiguration"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_BIT" xil_pn:name="basic_trigger_v2_top.bit" xil_pn:subbranch="FPGAConfiguration"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGDBUILD_LOG" xil_pn:name="basic_trigger_v2_top.bld"/>
<file xil_pn:fileType="FILE_CMD_LOG" xil_pn:name="basic_trigger_v2_top.cmd_log"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_BITGEN_DRC" xil_pn:name="basic_trigger_v2_top.drc" xil_pn:subbranch="FPGAConfiguration"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_LSO" xil_pn:name="basic_trigger_v2_top.lso"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NCD" xil_pn:name="basic_trigger_v2_top.ncd" xil_pn:subbranch="Par"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGC" xil_pn:name="basic_trigger_v2_top.ngc"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGD" xil_pn:name="basic_trigger_v2_top.ngd"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGR" xil_pn:name="basic_trigger_v2_top.ngr"/>
<file xil_pn:fileType="FILE_PAD_MISC" xil_pn:name="basic_trigger_v2_top.pad"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PAR_REPORT" xil_pn:name="basic_trigger_v2_top.par" xil_pn:subbranch="Par"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PCF" xil_pn:name="basic_trigger_v2_top.pcf" xil_pn:subbranch="Map"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_PROJECT" xil_pn:name="basic_trigger_v2_top.prj"/>
<file xil_pn:fileType="FILE_TRCE_MISC" xil_pn:name="basic_trigger_v2_top.ptwx"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_STX" xil_pn:name="basic_trigger_v2_top.stx"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_REPORT" xil_pn:name="basic_trigger_v2_top.syr"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_TIMING_TXT_REPORT" xil_pn:name="basic_trigger_v2_top.twr" xil_pn:subbranch="Par"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_TIMING_XML_REPORT" xil_pn:name="basic_trigger_v2_top.twx" xil_pn:subbranch="Par"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_UNROUTES" xil_pn:name="basic_trigger_v2_top.unroutes" xil_pn:subbranch="Par"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_BITGEN_REPORT" xil_pn:name="basic_trigger_v2_top.ut" xil_pn:subbranch="FPGAConfiguration"/>
<file xil_pn:fileType="FILE_XPI" xil_pn:name="basic_trigger_v2_top.xpi"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST" xil_pn:name="basic_trigger_v2_top.xst"/>
<file xil_pn:fileType="FILE_NCD" xil_pn:name="basic_trigger_v2_top_guide.ncd" xil_pn:origination="imported"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_MAP_REPORT" xil_pn:name="basic_trigger_v2_top_map.map" xil_pn:subbranch="Map"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_MAP_REPORT" xil_pn:name="basic_trigger_v2_top_map.mrp" xil_pn:subbranch="Map"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NCD" xil_pn:name="basic_trigger_v2_top_map.ncd" xil_pn:subbranch="Map"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGM" xil_pn:name="basic_trigger_v2_top_map.ngm" xil_pn:subbranch="Map"/>
<file xil_pn:fileType="FILE_XRPT" xil_pn:name="basic_trigger_v2_top_map.xrpt"/>
<file xil_pn:fileType="FILE_XRPT" xil_pn:name="basic_trigger_v2_top_ngdbuild.xrpt"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PAD_EXCEL_REPORT" xil_pn:name="basic_trigger_v2_top_pad.csv" xil_pn:subbranch="Par"/>
<file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PAD_TXT_REPORT" xil_pn:name="basic_trigger_v2_top_pad.txt" xil_pn:subbranch="Par"/>
<file xil_pn:fileType="FILE_XRPT" xil_pn:name="basic_trigger_v2_top_par.xrpt"/>
<file xil_pn:fileType="FILE_HTML" xil_pn:name="basic_trigger_v2_top_summary.html"/>
<file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="basic_trigger_v2_top_summary.xml"/>
<file xil_pn:fileType="FILE_WEBTALK" xil_pn:name="basic_trigger_v2_top_usage.xml"/>
<file xil_pn:fileType="FILE_XRPT" xil_pn:name="basic_trigger_v2_top_xst.xrpt"/>
<file xil_pn:fileType="FILE_LOG" xil_pn:name="webtalk.log"/>
<file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="webtalk_pn.xml"/>
<file xil_pn:fileType="FILE_DIRECTORY" xil_pn:name="xlnx_auto_0_xdb"/>
<file xil_pn:fileType="FILE_DIRECTORY" xil_pn:name="xst"/>
</files>
<transforms xmlns="http://www.xilinx.com/XMLSchema">
<transform xil_pn:end_ts="1360141423" xil_pn:name="TRAN_copyInitialToXSTAbstractSynthesis" xil_pn:start_ts="1360141423">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1360141423" xil_pn:name="TRAN_schematicsToHdl" xil_pn:prop_ck="-7895709709481434801" xil_pn:start_ts="1360141423">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1360141423" xil_pn:name="TRAN_regenerateCores" xil_pn:prop_ck="8972120530457669778" xil_pn:start_ts="1360141423">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1360141423" xil_pn:name="TRAN_SubProjectAbstractToPreProxy" xil_pn:start_ts="1360141423">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1360141424" xil_pn:name="TRAN_xawsTohdl" xil_pn:prop_ck="5704612350412403153" xil_pn:start_ts="1360141423">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1360141424" xil_pn:name="TRAN_SubProjectPreToStructuralProxy" xil_pn:prop_ck="-3972139311098429560" xil_pn:start_ts="1360141424">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1360141424" xil_pn:name="TRAN_platgen" xil_pn:prop_ck="6783398257276168028" xil_pn:start_ts="1360141424">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1360141437" xil_pn:in_ck="6098982732614823937" xil_pn:name="TRANEXT_xstsynthesize_spartan6" xil_pn:prop_ck="-4211731198264108437" xil_pn:start_ts="1360141424">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="WarningsGenerated"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForOutputs"/>
<status xil_pn:value="OutputChanged"/>
<outfile xil_pn:name="_xmsgs/xst.xmsgs"/>
<outfile xil_pn:name="basic_trigger_v2_top.lso"/>
<outfile xil_pn:name="basic_trigger_v2_top.ngc"/>
<outfile xil_pn:name="basic_trigger_v2_top.ngr"/>
<outfile xil_pn:name="basic_trigger_v2_top.prj"/>
<outfile xil_pn:name="basic_trigger_v2_top.stx"/>
<outfile xil_pn:name="basic_trigger_v2_top.syr"/>
<outfile xil_pn:name="basic_trigger_v2_top.xst"/>
<outfile xil_pn:name="basic_trigger_v2_top_xst.xrpt"/>
<outfile xil_pn:name="webtalk_pn.xml"/>
<outfile xil_pn:name="xst"/>
</transform>
<transform xil_pn:end_ts="1360141438" xil_pn:in_ck="5140566070660021827" xil_pn:name="TRAN_compileBCD2" xil_pn:prop_ck="-728847470322808602" xil_pn:start_ts="1360141437">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1360170609" xil_pn:in_ck="-3080205394084705193" xil_pn:name="TRANEXT_ngdbuild_FPGA" xil_pn:prop_ck="-6904032522156638627" xil_pn:start_ts="1360170604">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_ngo"/>
<outfile xil_pn:name="_xmsgs/ngdbuild.xmsgs"/>
<outfile xil_pn:name="basic_trigger_v2_top.bld"/>
<outfile xil_pn:name="basic_trigger_v2_top.ngd"/>
<outfile xil_pn:name="basic_trigger_v2_top_ngdbuild.xrpt"/>
</transform>
<transform xil_pn:end_ts="1360170635" xil_pn:in_ck="-3080205394084705192" xil_pn:name="TRANEXT_map_spartan6" xil_pn:prop_ck="4807565132092422995" xil_pn:start_ts="1360170609">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_xmsgs/map.xmsgs"/>
<outfile xil_pn:name="basic_trigger_v2_top.pcf"/>
<outfile xil_pn:name="basic_trigger_v2_top_map.map"/>
<outfile xil_pn:name="basic_trigger_v2_top_map.mrp"/>
<outfile xil_pn:name="basic_trigger_v2_top_map.ncd"/>
<outfile xil_pn:name="basic_trigger_v2_top_map.ngm"/>
<outfile xil_pn:name="basic_trigger_v2_top_map.xrpt"/>
<outfile xil_pn:name="basic_trigger_v2_top_summary.xml"/>
<outfile xil_pn:name="basic_trigger_v2_top_usage.xml"/>
</transform>
<transform xil_pn:end_ts="1360170665" xil_pn:in_ck="-659448054332913807" xil_pn:name="TRANEXT_par_spartan6" xil_pn:prop_ck="3214117756270688487" xil_pn:start_ts="1360170635">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_xmsgs/par.xmsgs"/>
<outfile xil_pn:name="basic_trigger_v2_top.ncd"/>
<outfile xil_pn:name="basic_trigger_v2_top.pad"/>
<outfile xil_pn:name="basic_trigger_v2_top.par"/>
<outfile xil_pn:name="basic_trigger_v2_top.ptwx"/>
<outfile xil_pn:name="basic_trigger_v2_top.unroutes"/>
<outfile xil_pn:name="basic_trigger_v2_top.xpi"/>
<outfile xil_pn:name="basic_trigger_v2_top_pad.csv"/>
<outfile xil_pn:name="basic_trigger_v2_top_pad.txt"/>
<outfile xil_pn:name="basic_trigger_v2_top_par.xrpt"/>
</transform>
<transform xil_pn:end_ts="1360170683" xil_pn:in_ck="529183904242947217" xil_pn:name="TRANEXT_bitFile_spartan6" xil_pn:prop_ck="396117104113915555" xil_pn:start_ts="1360170665">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_xmsgs/bitgen.xmsgs"/>
<outfile xil_pn:name="basic_trigger_v2_top.bgn"/>
<outfile xil_pn:name="basic_trigger_v2_top.bit"/>
<outfile xil_pn:name="basic_trigger_v2_top.drc"/>
<outfile xil_pn:name="basic_trigger_v2_top.ut"/>
<outfile xil_pn:name="webtalk.log"/>
<outfile xil_pn:name="webtalk_pn.xml"/>
</transform>
<transform xil_pn:end_ts="1360141523" xil_pn:in_ck="529183904242934363" xil_pn:name="TRAN_configureTargetDevice" xil_pn:prop_ck="8482462020707587906" xil_pn:start_ts="1360141521">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForInputs"/>
<status xil_pn:value="InputChanged"/>
</transform>
<transform xil_pn:end_ts="1360170665" xil_pn:in_ck="-3080205394084705324" xil_pn:name="TRAN_postRouteTrce" xil_pn:prop_ck="445577401284416185" xil_pn:start_ts="1360170658">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_xmsgs/trce.xmsgs"/>
<outfile xil_pn:name="basic_trigger_v2_top.twr"/>
<outfile xil_pn:name="basic_trigger_v2_top.twx"/>
</transform>
</transforms>
<transforms xmlns="http://www.xilinx.com/XMLSchema"/>
</generated_project>
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2,436 +2,57 @@
<BODY TEXT='#000000' BGCOLOR='#FFFFFF' LINK='#0000EE' VLINK='#551A8B' ALINK='#FF0000'>
<TABLE BORDER CELLSPACING=0 CELLPADDING=3 WIDTH='100%'>
<TR ALIGN=CENTER BGCOLOR='#99CCFF'>
<TD ALIGN=CENTER COLSPAN='4'><B>basic_trigger_v2_top Project Status (02/06/2013 - 18:11:23)</B></TD></TR>
<TD ALIGN=CENTER COLSPAN='4'><B>basic_trigger_v2_top Project Status</B></TD></TR>
<TR ALIGN=LEFT>
<TD BGCOLOR='#FFFF99'><B>Project File:</B></TD>
<TD>basic_trigger_v2.xise</TD>
<TD BGCOLOR='#FFFF99'><b>Parser Errors:</b></TD>
<TD> No Errors </TD>
</TR>
<TR ALIGN=LEFT>
<TD BGCOLOR='#FFFF99'><B>Module Name:</B></TD>
<TD>basic_trigger_v2_top</TD>
<TD BGCOLOR='#FFFF99'><B>Implementation State:</B></TD>
<TD>Programming File Generated</TD>
<TD>New (Stopped)</TD>
</TR>
<TR ALIGN=LEFT>
<TD BGCOLOR='#FFFF99'><B>Target Device:</B></TD>
<TD>xc6slx45t-3fgg484</TD>
<TD BGCOLOR='#FFFF99'><UL><LI><B>Errors:</B></LI></UL></TD>
<TD>
No Errors</TD>
<TD>&nbsp;</TD>
</TR>
<TR ALIGN=LEFT>
<TD BGCOLOR='#FFFF99'><B>Product Version:</B></TD><TD>ISE 14.2</TD>
<TD BGCOLOR='#FFFF99'><UL><LI><B>Warnings:</B></LI></UL></TD>
<TD ALIGN=LEFT><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/_xmsgs/*.xmsgs?&DataKey=Warning'>616 Warnings (616 new, 0 filtered)</A></TD>
<TD>&nbsp;</TD>
</TR>
<TR ALIGN=LEFT>
<TD BGCOLOR='#FFFF99'><B>Design Goal:</B></dif></TD>
<TD>Balanced</TD>
<TD BGCOLOR='#FFFF99'><UL><LI><B>Routing Results:</B></LI></UL></TD>
<TD>
<A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top.unroutes'>All Signals Completely Routed</A></TD>
&nbsp;</TD>
</TR>
<TR ALIGN=LEFT>
<TD BGCOLOR='#FFFF99'><B>Design Strategy:</B></dif></TD>
<TD><A HREF_DISABLED='Xilinx Default (unlocked)?&DataKey=Strategy'>Xilinx Default (unlocked)</A></TD>
<TD BGCOLOR='#FFFF99'><UL><LI><B>Timing Constraints:</B></LI></UL></TD>
<TD>
<A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top.ptwx?&DataKey=ConstraintsData'>All Constraints Met</A></TD>
<TD>&nbsp;</TD>
</TR>
<TR ALIGN=LEFT>
<TD BGCOLOR='#FFFF99'><B>Environment:</B></dif></TD>
<TD>
<A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top_envsettings.html'>
System Settings</A>
</TD>
<TD>&nbsp;</TD>
<TD BGCOLOR='#FFFF99'><UL><LI><B>Final Timing Score:</B></LI></UL></TD>
<TD>0 &nbsp;<A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top.twx?&DataKey=XmlTimingReport'>(Timing Report)</A></TD>
<TD>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<BR><TABLE BORDER CELLSPACING=0 CELLPADDING=3 WIDTH='100%'>
<TR ALIGN=CENTER BGCOLOR='#99CCFF'><TD ALIGN=CENTER COLSPAN='5'><B>Device Utilization Summary</B></TD><TD ALIGN=RIGHT WIDTH='10%'COLSPAN=1> <A HREF_DISABLED="?&ExpandedTable=DeviceUtilizationSummary"><B>[-]</B></a></TD></TR>
<TR ALIGN=CENTER BGCOLOR='#FFFF99'>
<TD ALIGN=LEFT><B>Slice Logic Utilization</B></TD><TD><B>Used</B></TD><TD><B>Available</B></TD><TD><B>Utilization</B></TD><TD COLSPAN='2'><B>Note(s)</B></TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of Slice Registers</TD>
<TD ALIGN=RIGHT>283</TD>
<TD ALIGN=RIGHT>54,576</TD>
<TD ALIGN=RIGHT>1%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number used as Flip Flops</TD>
<TD ALIGN=RIGHT>283</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number used as Latches</TD>
<TD ALIGN=RIGHT>0</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number used as Latch-thrus</TD>
<TD ALIGN=RIGHT>0</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number used as AND/OR logics</TD>
<TD ALIGN=RIGHT>0</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of Slice LUTs</TD>
<TD ALIGN=RIGHT>648</TD>
<TD ALIGN=RIGHT>27,288</TD>
<TD ALIGN=RIGHT>2%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number used as logic</TD>
<TD ALIGN=RIGHT>625</TD>
<TD ALIGN=RIGHT>27,288</TD>
<TD ALIGN=RIGHT>2%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number using O6 output only</TD>
<TD ALIGN=RIGHT>341</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number using O5 output only</TD>
<TD ALIGN=RIGHT>181</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number using O5 and O6</TD>
<TD ALIGN=RIGHT>103</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number used as ROM</TD>
<TD ALIGN=RIGHT>0</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number used as Memory</TD>
<TD ALIGN=RIGHT>8</TD>
<TD ALIGN=RIGHT>6,408</TD>
<TD ALIGN=RIGHT>1%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number used as Dual Port RAM</TD>
<TD ALIGN=RIGHT>0</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number used as Single Port RAM</TD>
<TD ALIGN=RIGHT>0</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number used as Shift Register</TD>
<TD ALIGN=RIGHT>8</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number using O6 output only</TD>
<TD ALIGN=RIGHT>8</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number using O5 output only</TD>
<TD ALIGN=RIGHT>0</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number using O5 and O6</TD>
<TD ALIGN=RIGHT>0</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number used exclusively as route-thrus</TD>
<TD ALIGN=RIGHT>15</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number with same-slice register load</TD>
<TD ALIGN=RIGHT>3</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number with same-slice carry load</TD>
<TD ALIGN=RIGHT>12</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number with other load</TD>
<TD ALIGN=RIGHT>0</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of occupied Slices</TD>
<TD ALIGN=RIGHT>220</TD>
<TD ALIGN=RIGHT>6,822</TD>
<TD ALIGN=RIGHT>3%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Nummber of MUXCYs used</TD>
<TD ALIGN=RIGHT>416</TD>
<TD ALIGN=RIGHT>13,644</TD>
<TD ALIGN=RIGHT>3%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of LUT Flip Flop pairs used</TD>
<TD ALIGN=RIGHT>678</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number with an unused Flip Flop</TD>
<TD ALIGN=RIGHT>402</TD>
<TD ALIGN=RIGHT>678</TD>
<TD ALIGN=RIGHT>59%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number with an unused LUT</TD>
<TD ALIGN=RIGHT>30</TD>
<TD ALIGN=RIGHT>678</TD>
<TD ALIGN=RIGHT>4%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number of fully used LUT-FF pairs</TD>
<TD ALIGN=RIGHT>246</TD>
<TD ALIGN=RIGHT>678</TD>
<TD ALIGN=RIGHT>36%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number of unique control sets</TD>
<TD ALIGN=RIGHT>19</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number of slice register sites lost<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to control set restrictions</TD>
<TD ALIGN=RIGHT>29</TD>
<TD ALIGN=RIGHT>54,576</TD>
<TD ALIGN=RIGHT>1%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of bonded <A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top_map.xrpt?&DataKey=IOBProperties'>IOBs</A></TD>
<TD ALIGN=RIGHT>65</TD>
<TD ALIGN=RIGHT>296</TD>
<TD ALIGN=RIGHT>21%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number of LOCed IOBs</TD>
<TD ALIGN=RIGHT>65</TD>
<TD ALIGN=RIGHT>65</TD>
<TD ALIGN=RIGHT>100%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of RAMB16BWERs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>116</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of RAMB8BWERs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>232</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of BUFIO2/BUFIO2_2CLKs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>32</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of BUFIO2FB/BUFIO2FB_2CLKs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>32</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of BUFG/BUFGMUXs</TD>
<TD ALIGN=RIGHT>4</TD>
<TD ALIGN=RIGHT>16</TD>
<TD ALIGN=RIGHT>25%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number used as BUFGs</TD>
<TD ALIGN=RIGHT>4</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>&nbsp;&nbsp;&nbsp;&nbsp;Number used as BUFGMUX</TD>
<TD ALIGN=RIGHT>0</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of DCM/DCM_CLKGENs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>8</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of ILOGIC2/ISERDES2s</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>376</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of IODELAY2/IODRP2/IODRP2_MCBs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>376</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of OLOGIC2/OSERDES2s</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>376</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of BSCANs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>4</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of BUFHs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>256</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of BUFPLLs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>8</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of BUFPLL_MCBs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>4</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of DSP48A1s</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>58</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of GTPA1_DUALs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>2</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of ICAPs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>1</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of MCBs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>2</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of PCIE_A1s</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>1</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of PCILOGICSEs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>2</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of PLL_ADVs</TD>
<TD ALIGN=RIGHT>1</TD>
<TD ALIGN=RIGHT>4</TD>
<TD ALIGN=RIGHT>25%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of PMVs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>1</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of STARTUPs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>1</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Number of SUSPEND_SYNCs</TD>
<TD ALIGN=RIGHT>0</TD>
<TD ALIGN=RIGHT>1</TD>
<TD ALIGN=RIGHT>0%</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
<TR ALIGN=RIGHT><TD ALIGN=LEFT>Average Fanout of Non-Clock Nets</TD>
<TD ALIGN=RIGHT>2.83</TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<BR><TABLE BORDER CELLSPACING=0 CELLPADDING=3 WIDTH='100%'>
<TR ALIGN=CENTER BGCOLOR='#99CCFF'><TD ALIGN=CENTER COLSPAN='4'><B>Performance Summary</B></TD><TD ALIGN=RIGHT WIDTH='10%'COLSPAN=1> <A HREF_DISABLED="?&ExpandedTable=PerformanceSummary"><B>[-]</B></a></TD></TR>
<TR ALIGN=LEFT>
<TD BGCOLOR='#FFFF99'><B>Final Timing Score:</B></TD>
<TD>0 (Setup: 0, Hold: 0, Component Switching Limit: 0)</TD>
<TD BGCOLOR='#FFFF99'><B>Pinout Data:</B></TD>
<TD COLSPAN='2'><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top_par.xrpt?&DataKey=PinoutData'>Pinout Report</A></TD>
</TR>
<TR ALIGN=LEFT>
<TD BGCOLOR='#FFFF99'><B>Routing Results:</B></TD><TD>
<A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top.unroutes'>All Signals Completely Routed</A></TD>
<TD BGCOLOR='#FFFF99'><B>Clock Data:</B></TD>
<TD COLSPAN='2'><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top_par.xrpt?&DataKey=ClocksData'>Clock Report</A></TD>
</TR>
<TR ALIGN=LEFT>
<TD BGCOLOR='#FFFF99'><B>Timing Constraints:</B></TD>
<TD>
<A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top.ptwx?&DataKey=ConstraintsData'>All Constraints Met</A></TD>
<TD BGCOLOR='#FFFF99'><B>&nbsp;</B></TD>
<TD COLSPAN='2'>&nbsp;</TD>
</TABLE>
......@@ -439,20 +60,19 @@ System Settings</A>
<TR ALIGN=CENTER BGCOLOR='#99CCFF'><TD ALIGN=CENTER COLSPAN='6'><B>Detailed Reports</B></TD><TD ALIGN=RIGHT WIDTH='10%'COLSPAN=1> <A HREF_DISABLED="?&ExpandedTable=DetailedReports"><B>[-]</B></a></TD></TR>
<TR BGCOLOR='#FFFF99'><TD><B>Report Name</B></TD><TD><B>Status</B></TD><TD><B>Generated</B></TD>
<TD ALIGN=LEFT><B>Errors</B></TD><TD ALIGN=LEFT><B>Warnings</B></TD><TD ALIGN=LEFT COLSPAN='2'><B>Infos</B></TD></TR>
<TR ALIGN=LEFT><TD><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top.syr'>Synthesis Report</A></TD><TD>Current</TD><TD>Wed Feb 6 10:03:57 2013</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/_xmsgs/xst.xmsgs?&DataKey=Warning'>616 Warnings (616 new, 0 filtered)</A></TD><TD ALIGN=LEFT COLSPAN='2'><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/_xmsgs/xst.xmsgs?&DataKey=Info'>22 Infos (22 new, 0 filtered)</A></TD></TR>
<TR ALIGN=LEFT><TD><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top.bld'>Translation Report</A></TD><TD>Current</TD><TD>Wed Feb 6 18:10:09 2013</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT COLSPAN='2'>0</TD></TR>
<TR ALIGN=LEFT><TD><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top_map.mrp'>Map Report</A></TD><TD>Current</TD><TD>Wed Feb 6 18:10:34 2013</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT COLSPAN='2'><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/_xmsgs/map.xmsgs?&DataKey=Info'>6 Infos (0 new, 0 filtered)</A></TD></TR>
<TR ALIGN=LEFT><TD><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top.par'>Place and Route Report</A></TD><TD>Current</TD><TD>Wed Feb 6 18:10:58 2013</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT COLSPAN='2'>0</TD></TR>
<TR ALIGN=LEFT><TD>Synthesis Report</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
<TR ALIGN=LEFT><TD>Translation Report</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
<TR ALIGN=LEFT><TD>Map Report</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
<TR ALIGN=LEFT><TD>Place and Route Report</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
<TR ALIGN=LEFT><TD>Power Report</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
<TR ALIGN=LEFT><TD><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top.twr'>Post-PAR Static Timing Report</A></TD><TD>Current</TD><TD>Wed Feb 6 18:11:05 2013</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT COLSPAN='2'><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/_xmsgs/trce.xmsgs?&DataKey=Info'>3 Infos (0 new, 0 filtered)</A></TD></TR>
<TR ALIGN=LEFT><TD><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/basic_trigger_v2_top.bgn'>Bitgen Report</A></TD><TD>Current</TD><TD>Wed Feb 6 18:11:22 2013</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT>0</TD><TD ALIGN=LEFT COLSPAN='2'>0</TD></TR>
<TR ALIGN=LEFT><TD>Post-PAR Static Timing Report</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
<TR ALIGN=LEFT><TD>Bitgen Report</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD COLSPAN='2'>&nbsp;</TD></TR>
</TABLE>
&nbsp;<BR><TABLE BORDER CELLSPACING=0 CELLPADDING=3 WIDTH='100%'>
<TR ALIGN=CENTER BGCOLOR='#99CCFF'><TD ALIGN=CENTER COLSPAN='3'><B>Secondary Reports</B></TD><TD ALIGN=RIGHT WIDTH='10%'COLSPAN=1> <A HREF_DISABLED="?&ExpandedTable=SecondaryReports"><B>[-]</B></a></TD></TR>
<TR BGCOLOR='#FFFF99'><TD><B>Report Name</B></TD><TD><B>Status</B></TD><TD COLSPAN='2'><B>Generated</B></TD></TR>
<TR ALIGN=LEFT><TD><A HREF_DISABLED='/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/webtalk.log'>WebTalk Log File</A></TD><TD>Current</TD><TD COLSPAN='2'>Wed Feb 6 18:11:23 2013</TD></TR>
</TABLE>
<br><center><b>Date Generated:</b> 02/06/2013 - 18:11:23</center>
<br><center><b>Date Generated:</b> 03/08/2013 - 15:04:10</center>
</BODY></HTML>
\ No newline at end of file
......@@ -30,13 +30,13 @@
<ClosedNode>Design Utilities</ClosedNode>
</ClosedNodes>
<SelectedItems>
<SelectedItem></SelectedItem>
<SelectedItem/>
</SelectedItems>
<ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
<ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
<ViewHeaderState orientation="horizontal" >000000ff000000000000000100000001000000000000000000000000000000000000000000000001a6000000010000000100000000000000000000000064ffffffff000000810000000000000001000001a60000000100000000</ViewHeaderState>
<UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
<CurrentItem></CurrentItem>
<CurrentItem/>
</ItemView>
<ItemView guiview="File" >
<ClosedNodes>
......@@ -77,7 +77,6 @@
<ItemView engineview="SynthesisOnly" sourcetype="DESUT_VHDL_ARCHITECTURE" guiview="Process" >
<ClosedNodes>
<ClosedNodesVersion>1</ClosedNodesVersion>
<ClosedNode>Configure Target Device</ClosedNode>
<ClosedNode>Design Utilities</ClosedNode>
<ClosedNode>Implement Design</ClosedNode>
<ClosedNode>Implement Design/Map/Generate Post-Map Static Timing</ClosedNode>
......@@ -89,13 +88,13 @@
<ClosedNode>User Constraints</ClosedNode>
</ClosedNodes>
<SelectedItems>
<SelectedItem></SelectedItem>
<SelectedItem>Configure Target Device</SelectedItem>
</SelectedItems>
<ScrollbarPosition orientation="vertical" >0</ScrollbarPosition>
<ScrollbarPosition orientation="horizontal" >0</ScrollbarPosition>
<ViewHeaderState orientation="horizontal" >000000ff000000000000000100000001000000000000000000000000000000000000000000000001a6000000010000000100000000000000000000000064ffffffff000000810000000000000001000001a60000000100000000</ViewHeaderState>
<ViewHeaderState orientation="horizontal" >000000ff00000000000000010000000100000000000000000000000000000000000000000000000288000000010000000100000000000000000000000064ffffffff000000810000000000000001000002880000000100000000</ViewHeaderState>
<UserChangedColumnWidths orientation="horizontal" >false</UserChangedColumnWidths>
<CurrentItem></CurrentItem>
<CurrentItem>Configure Target Device</CurrentItem>
</ItemView>
<SourceProcessView>000000ff00000000000000020000018e0000011d01000000060100000002</SourceProcessView>
<CurrentView>Implementation</CurrentView>
......
<?xml version='1.0' encoding='UTF-8'?>
<report-views version="2.0" >
<header>
<DateModified>2013-02-06T18:10:02</DateModified>
<DateModified>2013-03-08T15:04:10</DateModified>
<ModuleName>basic_trigger_v2_top</ModuleName>
<SummaryTimeStamp>2013-01-18T14:24:50</SummaryTimeStamp>
<SummaryTimeStamp>2013-03-08T15:04:04</SummaryTimeStamp>
<SavedFilePath>/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/iseconfig/basic_trigger_v2_top.xreport</SavedFilePath>
<ImplementationReportsDirectory>/home/tstana/Projects/conv-ttl-blo/installation/V2/basic_trigger/project/</ImplementationReportsDirectory>
<DateInitialized>2013-01-16T17:50:04</DateInitialized>
......
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