%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Jacobs Landscape Poster
% LaTeX Template
% Version 1.0 (29/03/13)
%
%
% This template has been downloaded from:
% http://www.LaTeXTemplates.com
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%----------------------------------------------------------------------------------------
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------------------------
\documentclass[final]{beamer}
\usepackage[scale=1.24]{beamerposter} % Use the beamerposter package for laying out the poster
\usepackage{graphicx}
\usepackage{array}
\usepackage{tabu}
\usetheme{confposter} % Use the confposter theme supplied with this template
\setbeamercolor{block title}{fg=ngreen,bg=white} % Colors of the block titles
\setbeamercolor{block body}{fg=black,bg=white} % Colors of the body of blocks
\setbeamercolor{block alerted title}{fg=white,bg=dgreen!70} % Colors of the highlighted block titles
\setbeamercolor{block alerted body}{fg=black,bg=dblue!10} % Colors of the body of highlighted blocks
% Many more colors are available for use in beamerthemeconfposter.sty
%-----------------------------------------------------------
% Define the column widths and overall poster size
% To set effective sepwid, onecolwid and twocolwid values, first choose how many columns you want and how much separation you want between columns
% In this template, the separation width chosen is 0.024 of the paper width and a 4-column layout
% onecolwid should therefore be (1-(# of columns+1)*sepwid)/# of columns e.g. (1-(4+1)*0.024)/4 = 0.22
% Set twocolwid to be (2*onecolwid)+sepwid = 0.464
% Set threecolwid to be (3*onecolwid)+2*sepwid = 0.708
\newlength{\sepwid}
\newlength{\onecolwid}
\newlength{\twocolwid}
\newlength{\threecolwid}
\setlength{\paperwidth}{48in} % A0 width: 46.8in
\setlength{\paperheight}{36in} % A0 height: 33.1in
\setlength{\sepwid}{0.024\paperwidth} % Separation width (white space) between columns
\setlength{\onecolwid}{0.22\paperwidth} % Width of one column
\setlength{\twocolwid}{0.464\paperwidth} % Width of two columns
\setlength{\threecolwid}{0.708\paperwidth} % Width of three columns
\setlength{\topmargin}{-0.5in} % Reduce the top margin size
%-----------------------------------------------------------
\usepackage{graphicx} % Required for including images
\usepackage{booktabs} % Top and bottom rules for tables
%----------------------------------------------------------------------------------------
% TITLE SECTION
%----------------------------------------------------------------------------------------
\title{A Deep Learning Solution for an Optimized Testbench Regression Launcher} % Poster title
\author{{\huge Abhishek Roushan}} % Author(s)
\institute{{\huge GPU DV, Hardware Engineering}} % Institution(s)
%----------------------------------------------------------------------------------------
\begin{document}
\addtobeamertemplate{block end}{}{\vspace*{2ex}} % White space under blocks
\addtobeamertemplate{block alerted end}{}{\vspace*{2ex}} % White space under highlighted (alert) blocks
\setlength{\belowcaptionskip}{2ex} % White space under figures
\setlength\belowdisplayshortskip{2ex} % White space under equations
\begin{frame}[t] % The whole poster is enclosed in one beamer frame
\begin{columns}[t] % The whole poster consists of three major columns, the second of which is split into two columns twice - the [t] option aligns each column's content to the top
\begin{column}{\sepwid}\end{column} % Empty spacer column
\begin{column}{\onecolwid} % The first column
%----------------------------------------------------------------------------------------
% OBJECTIVES
%----------------------------------------------------------------------------------------
\begin{alertblock}{Abstract}
\begin{itemize}
\item Attempt to define various metrics directly related to coverage per compute second; an improvement on which furthers the desired \textbf{left shift in design verification}.
\item A part to the solution to \textbf{find breaks early }in a continuous integration system, qualifying the design prior to important milestones and iterating over recent bug fixes or changes to weed out related issues is proposed.
\item Results: \textbf{Coverage}- existing random test generator vs. a deep learning based test selector applied on top of the generator.
\item Types of coverage $\bullet$ cache compression activity: count of compression events in the DUT per test \& $\bullet$ Transaction path coverage: number of transactions for specific data path.
\end{itemize}
\end{alertblock}
%----------------------------------------------------------------------------------------
% INTRODUCTION
%----------------------------------------------------------------------------------------
\begin{block}{Motivation}
\begin{itemize}
\item Random test run (without bias) fair for unknown DUT bug hot spots. (With bias) Verification solutions today dabble between directed and weighted random testing.
\item $\big[ Caveat\big]$ $\bullet$ Directed testing: Narrow coverage scope $\bullet$ Weighted random testing: correct assumptions test $\small(what\small)$ \& $\small(how$ $long\small)$ to run.
\item Long waiting time for simpler bugs if corresponding state space not tried in randoms. \textbf{Result}: high compute \$/bug.
\item Deep learning algorithms: hope to identify and map the test generation knobs and constraints directly responsible for desirable test behavior.
\end{itemize}
\end{block}
\begin{block}{Data Acquisition}
Data acquisition consists of following steps:
\begin{itemize}
\item Dump compression \& transaction path coverage.
\item Create repository of data per test: knob setting as inputs and coverage metrics as output
\item Massage data (Normalization, Feature scaling, Class balancing) to throttle into neural network
\end{itemize}
\end{block}
%------------------------------------------------
%----------------------------------------------------------------------------------------
\end{column} % End of the first column
\begin{column}{\sepwid}\end{column} % Empty spacer column
\begin{column}{\twocolwid} % Begin a column which is two columns wide (column 2)
\begin{columns}[t,totalwidth=\twocolwid] % Split up the two columns wide column
\begin{column}{\onecolwid}\vspace{-.6in} % The first column within column 2 (column 2.1)
%----------------------------------------------------------------------------------------
% MATERIALS
%----------------------------------------------------------------------------------------
\begin{block}{Architecture}
\begin{figure}
%\centering
\includegraphics[trim={1cm 4.8cm 2cm 3.2cm},clip,scale=0.78]{flow_diag_2}
\caption{Process flow architecture}
\end{figure}
\end{block}
%----------------------------------------------------------------------------------------
\begin{block}{Experiment \& Results-Cache Compression Coverage}
\begin{figure}
\includegraphics[trim={0 0 0 2cm},clip,scale=0.72]{cache_confmat_training_small}
\caption{Comparison of true vs predicted coverage}
\end{figure}
\begin{table}
\begin{tabu} to 1.0\textwidth { | X[l] | X[c] | X[c] | X[c] | X[r] | }
\hline
\% tests & Coverage overlap & Selected CCS & Random CCS & Improve \\
\hline
2\% &44.39\% &14.3 & 0.62 & 23X \\
\hline
5\% & 58.69\% &7.5 & 0.62 & 12X \\
\hline
10\% &73.75\% &4.8 & 0.62 & 7.7X \\
\hline
20\% &91.80\% &2.92 & 0.62 & 4.7X \\
\hline
50\% &98.44\% &1.28 & 0.62 & 2X \\
\hline
\end{tabu}
\caption{Improvement DL over random sampling}
\end{table}
\end{block}
\end{column} % End of column 2.1
\begin{column}{\onecolwid}\vspace{-.6in} % The second column within column 2 (column 2.2)
%----------------------------------------------------------------------------------------
% METHODS
%----------------------------------------------------------------------------------------
\begin{block}{Experiment \& Results-Transaction traffic Coverage}
\begin{figure}
\includegraphics[width=1.0\textwidth]{transaction_tpr_sep}
\caption{Comparison of True/Pred/Random transaction count single path}
\end{figure}
\begin{figure}
\includegraphics[width=1.0\textwidth]{transaction_trpr}
\caption{True/Pred improvement over Random across top tests}
\end{figure}
Each transaction path pair frequency for top 1\% representative tests is shown in the figure below, which separates high transaction traffic path from low ones.
\begin{figure}
\includegraphics[width=1.0\textwidth]{transaction}
\caption{Transaction count Pred/True each source-dest pair}
\end{figure}
\end{block}
%----------------------------------------------------------------------------------------
\end{column} % End of column 2.2
\end{columns} % End of the split of column 2 - any content after this will now take up 2 columns width
%----------------------------------------------------------------------------------------
% IMPORTANT RESULT
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
\begin{columns}[t,totalwidth=\twocolwid] % Split up the two columns wide column again
%\begin{column}{\onecolwid} % The first column within column 2 (column 2.1)
%----------------------------------------------------------------------------------------
% MATHEMATICAL SECTION
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
%\end{column} % End of column 2.1
%\begin{column}{\onecolwid} % The second column within column 2 (column 2.2)
%----------------------------------------------------------------------------------------
% RESULTS
%----------------------------------------------------------------------------------------
%\begin{block}{Results}
%The cache compression coverage is grouped into low, medium, medium-high \& high coverage groups. The confusion matrix below evinces the performance of test set data true vs predictions.
%\end{block}
%----------------------------------------------------------------------------------------
%\end{column} % End of column 2.2
\end{columns} % End of the split of column 2
\end{column} % End of the second column
\begin{column}{\sepwid}\end{column} % Empty spacer column
\begin{column}{\onecolwid} % The third column
%----------------------------------------------------------------------------------------
% CONCLUSION
%----------------------------------------------------------------------------------------
\begin{block}{Conclusion \& Future Work}
Using custom coverage metrics, we determined there exists a tangible relationship between the weighted knobs used to generate the test and the desired coverage. We were able to extract
\begin{itemize}
\item Top representative tests for maximum coverage
\item Grouping coverage metric so as to find the best overall tests
\end{itemize}
\begin{enumerate}
\item Defining verification coverage metrics is subjective and aside from traditional coverage metrics such as line, conditional coverage, we see scope for customized metrics such as traffic monitors, FIFO full/empty status, etc. that would be useful to advocate for or against the efficacy of any given test.
\item Collecting such coverage information can at times be compute intensive so cheaper alternatives allowing us to integrate this into the periodic bug hunting regressions would be key.
\item The current network is a simple FC-Net, though learning certain specific coverage may be harder and possibly prompt us to migrate to other types of networks such as Binary networks, Recurrent Networks etc.
\end{enumerate}
\end{block}
%----------------------------------------------------------------------------------------
% ADDITIONAL INFORMATION
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
% REFERENCES
%----------------------------------------------------------------------------------------
\begin{block}{Related Work}
\begin{itemize}
%\item \href{https://www.researchgate.net/publication/220306081_Coverage-Directed_Test_Generation_Automated_by_Machine_Learning_-_A_Review}{Coverage directed testbench automation}
\item \url{https://www.researchgate.net/publication/220306081_Coverage-Directed_Test_Generation_Automated_by_Machine_Learning_-_A_Review}{ Coverage directed testbench automation}
\item Automating Design Verification
\item \url{https://dvcon.org/sites/dvcon.org/files/files/2018/06_1.pdf}{ Deep predictive coverage collection}
%\item \href{https://dvcon.org/sites/dvcon.org/files/files/2018/06_1.pdf}{Deep predictive coverage collection}
\end{itemize}
\end{block}
%----------------------------------------------------------------------------------------
% ACKNOWLEDGEMENTS
%----------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
% CONTACT INFORMATION
%----------------------------------------------------------------------------------------
\setbeamercolor{block alerted title}{fg=black,bg=nblue} % Change the alert block title colors
\setbeamercolor{block alerted body}{fg=black,bg=white} % Change the alert block body colors
\begin{alertblock}{Contact Information}
\begin{itemize}
\item Web: \href{http://nvinfo/}{nvinfo}
\item aroushan@nvidia.com
\end{itemize}
\end{alertblock}
%----------------------------------------------------------------------------------------
\end{column} % End of the third column
\end{columns} % End of all the columns in the poster
\end{frame} % End of the enclosing frame
\end{document}