\documentclass{beamer}
\usetheme{Madrid} % My favorite!
%\usepackage[latin1]{inputenc}
%\usepackage[T1]{fontenc}
%\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage[utf8]{inputenc}
%\usepackage[spanish]{babel}
\usepackage[english]{babel}
\usepackage{tabularx}   % Erweiterte Tabellen Optionen
\usepackage{booktabs}
\usepackage{multicol}
%\usepackage{txfonts}
\usepackage{listliketab}
\usepackage{graphicx} 
\usepackage{graphics} 

%% Display code in beamer
\usepackage{listings}

% Uncomment the following line if you want %
% page numbers and using Warsaw theme%
%\setbeamertemplate{footline}[page number]
%\setbeamercovered{transparent}
%\setbeamercovered{invisible}
% To remove the navigation symbols from
% the bottom of slides%
%\setbeamertemplate{navigation symbols}{}
%
\usepackage{graphicx}
\newcommand{\hsp}{\vspace{5pt}}
%\definecolor{verde}{RGB}{82,163,0}
%\definecolor{verde}{RGB}{0,163,0} %51 - -
\definecolor{verde}{RGB}{0,102,0}
\definecolor{lightLightBlue}{RGB}{238,245,240}
%usepackage{bm}         % For typesetting bold math (not \mathbold)
%\logo{\includegraphics[height=0.6cm]{yourlogo.eps}}
%
\title[White Rabbit Switch Testing]{White Rabbit Switch Testing}
\subtitle{Healthy Hardware}
\author{B.Rat, C.Prados}
\institute[Seven Solutions, GSI]
{
GSI \\
\medskip
{\emph{benoit@sevensols.com, c.prados@gsi.de}}}
\date{\today}
% \today will show current date.
% Alternatively, you can specify a date.
%



\begin{document}

\lstset{
language=bash,
basicstyle=\ttfamily\scriptsize,   % Code font, Examples: \footnotesize\ttfamily,
keywordstyle=\color{OliveGreen},        % Keywords font ('*' = uppercase)
commentstyle=\color{gray},              % Comments font
numbersep=5pt,                          % How far are line-numbers from code
backgroundcolor=\color{lightLightBlue}, % Choose background color
frame=none,                             % A frame around the code
tabsize=2,                              % Default tab size
captionpos=b,                           % Caption-position = bottom
breaklines=true,                        % Automatic line breaking?
breakatwhitespace=false,                % Automatic breaks only at whitespace?
showspaces=false,                       % Dont make spaces visible
showtabs=false,                         % Dont make tabls visible
columns=flexible,                       % Column format
morekeywords={>,__global__, __device__},  % CUDA specific keywords
}


\begin{frame}
\titlepage
\end{frame}


\begin{frame}
    \frametitle{Outline}
\tableofcontents[]
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{White Rabbit Switch Testing Project}
\section{White Rabbit Switch Testing Project}
The project gathers the methodology and methods for testing the White Rabbit
Switch.

\begin{block}
{WR Switch Production Tests}
    \begin{itemize}
        \item Manufacturing quality control of the WR Switch
        \item Avoid that hardware problems manifest themselves as software issues.
    \end{itemize}
\end{block}

\begin{block}
{Benchmark and Compliance Tests}
    \begin{itemize}
        \item Compliance with the protocol stack: GbE, PTP, WR PTP etc.. 
        \item Assessment of the performance: throughput, frame latency etc..
    \end{itemize}
\end{block}

\begin{block}
{Other Activities in the Project, Testing Hw Framework}
    \begin{itemize}
        \item Based on PTS
        \item Automatization of the production test procedure task. The tests
        are provided by the hw developers.
    \end{itemize}
\end{block}

\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{White Rabbit Switch Tests}

\subsection{Pre-Test}
\begin{frame}{\insertsubsectionhead}
The first steps for production test are:

\begin{itemize}
	\item FlyingProve done at the assembly company 
	\item Visual inspection of the PCBs (SCB \& Mini-BP)
	\item Electrical inspection of the PCBs
\end{itemize}

% CAN NOT ADD the FIGURE???
%
% \begin{figure}[h!]
% \centering
% \includegraphics[height=3cm,bb=0 0 1783 868]{./SCB-electrical_test.png}
% %SCB-electrical_test.png: 1783x868 pixel, 72dpi, 62.89x30.62 cm, bb=0 0 1783 868
% \caption{Electrical Inspection}
% \end{figure}


\end{frame}

\subsection{The Bootstrap Test Procedure}
\begin{frame}{\insertsubsectionhead}
\begin{block}{}
The test of the switch has been intended to be as flat as possible, 
this mean that we intend to test a component with the less dependency possible of other 
component. 
\end{block}

However we need to have at least the following working:
\begin{itemize}
	\item ARM (detected during the flashing stage)
	\item DDR (test during the flashing stage)
	\item Linux load using Ethernet (TFTP/NFS)\footnote{Can be load directly using DDR in case Ethernet fail}
\end{itemize}
\end{frame}


\subsection{Actual Testing}
\begin{frame}[allowframebreaks]{\insertsubsectionhead}
The testing procedure is a series of scripts:

\begin{itemize}
	\item 001-MD5 Checking.sh: Check MD5 of needed files
	\item 002-USB.sh: Check the USB (Not implemented)
	\item 003-FPGA Bridge.sh: CPU (EB1) <-> FPGA (WB)
	\item 004-LED Checking.sh: LED of CPU \& miniBP 
	\item 005-FAN Checking.sh: FAN on/off and PWM speed
	\item 006-FPGA QDRIIStress.sh: Stress the QDDR test.
	\item 007-NF MT29F4G16.sh: NAND flash read/write full on (About 15m )
	\item 008-DF AT45DB642.sh: Dataflash all position (6m).
	\item 009-FPGA TempRetrieving.sh: Retrieve the temperature 
	\item 010-Flashing.sh: Flash with the latest stable firmware
\end{itemize}  


\begin{block}{testing.sh}
	Main scripts called to generate proper log
    \begin{itemize}
        \item S/N of the board
        \item Timestamp of each steps
        \item Error failure codes
        \item Logging history
    \end{itemize}
\end{block}


\begin{block}{shw\_tool.c}
	Accessing to libswitchhw to test
    \begin{itemize}
        \item LEDs (GPIO, wishbone I2C)
        \item FANs (PWN fan, GPIO)
        \item Temperatures (wishbone I2C)
    \end{itemize}
\end{block}
\end{frame}


\begin{frame}[fragile]{\insertsubsectionhead \ - Report}

%The following is an example of the log history for board $014$ (v3.2)
Below an example of the log history for the board $014$ (v3.2)
\begin{verbatim}
/tftpboot/rootfs/alpha-pts/logs/output-032014_history.log
\end{verbatim}

\begin{lstlisting}
-----------------------------------------------
Fri Oct 12 12:24:08 CET 2012

001 > OK (00'02)
002 > OK (00'00)
003 > OK (00'10)
004 > OK (00'52)
005 > OK (00'52)
006 > OK (00'13)
007 > ERROR ( Sub0:OK Sub1:OK Sub2:OK Sub3:OK Sub4:50% Sub5:OK Sub6:OK) (22'40)
008 > OK (02'47)
009 > OK (00'14)
010 > OK (04'51)

-----------------------------------------------
Fri Oct 12 13:46:14 CET 2012

007 > OK (22'24)
\end{lstlisting}
\end{frame}

\begin{frame}
\begin{block}{Conclusion}
	By doing these tests we improve the quality of the product:
	\begin{itemize}
		\item Checking the components
		\item Checking the connection
		\item Debugging the code (API)
		\item Understanding better the sw/gw\\ $\Rightarrow$ {\bfseries Improve client support}
    \end{itemize}
\end{block}
\end{frame}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[allowframebreaks]
\frametitle{Hardware Testing Framework}
\section{Hardware Testing Framework}
\begin{block}
{Architecture}
Client/Server model, the server steers the tests and gather the log information
of one or several DUT clients.  
\end{block}

\begin{block}
{Feautures}
    \begin{itemize}
        \item Communication with freestanding or hosted hardware
        \item One-time configuration
        \item Guidance and test information during the procedure 
        \item Flexible order the execution of the tests
    \end{itemize}
\end{block}

\begin{block}
{Goal}
Be able to provide a HW Testing Framework not only for the WR Switch, but also
for all the WR Node form factors.
\end{block}

\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[allowframebreaks]
\frametitle{White Rabbit Compliance and Performance Tester}
\section{White Rabbit Compliance and Performance Tester}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{What's Next?}
\section{What's Next}
    \begin{block}
    {WR Production Test}
        \begin{itemize}
            \item Cosmetic changes
            \item Integration with Hw Testing Framework
            \item Development of more test??
        \end{itemize}
    \end{block}

    \begin{block}
    {WR Compliance and Test-Bencher}
        \begin{itemize}
            \item We should start working on it
            \item Who wants to "chip in"?
        \end{itemize}
    \end{block}

    \begin{block}
    {Hw Testing Framework} 
        \begin{itemize}
            \item Release by Februry a version for the WR Switch 
            \item Keep working! 
        \end{itemize}
    \end{block}

\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[allowframebreaks]
\frametitle{More Information, in the Wiki}
\section{More Information, in the Wiki}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document} 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
