From a89ba72d6d6dcc97c9788ada339a555ce4520a44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Bastian?= Date: Sun, 27 Aug 2017 00:32:16 +0200 Subject: [PATCH] Few additions --- report/report.tex | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/report/report.tex b/report/report.tex index 17a92eb..f8fa8e1 100644 --- a/report/report.tex +++ b/report/report.tex @@ -40,8 +40,6 @@ \maketitle \begin{abstract} - \todo{enhance abstract?} - The present report describes and summarizes my 1st year of Master's degree's internship at the university of Chalmers, Göteborg, Sweden. I worked under supervision of Carl-Johan Seger and Mary Sheeran. @@ -755,11 +753,16 @@ code takes a circuit, scrambles it as much as possible by randomly changing the order of the circuits and groups, \ldots The circuit is then matched with its unaltered counterpart. -For the processor described above, it takes about \textbf{477\,ms} to +For the processor described above, it takes about \textbf{313\,ms} to prove it equal to its scrambled version, and then the other way around. Yet, the memoized results (essentially the signatures) are kept for the second one, considerably speeding it up: the same program proving only one way takes about -\textbf{475\,ms}. \todo{explain why} +\textbf{310\,ms}. + +Some signatures of order higher than two need to be computed, and there is a +constant time needed to scramble the circuit, etc., which means that the actual +equality match time is ridiculously small compared to the signature computation +time. \paragraph{Match.} The subcircuit match feature was tested by trying to find every occurrence of a pattern that can be easily found using tools like @@ -773,7 +776,7 @@ used: two tristate gates and a NOT gate, as in Figure~\ref{fig:mux_of_tri}. \end{figure} This group appears 73 times in the processor. To match them all (none are -overlapping), it takes \textbf{\qtodo{113}\,ms}. +overlapping), it takes \textbf{113\,ms}. \subsection{Corner cases}\label{ssec:corner_cases} @@ -838,7 +841,21 @@ the gates marked with a red dot. Thus, those signatures are exactly the same. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section*{Conclusion} -\todo{} +At this point, \textit{isomatch} seems to be fast enough to be plugged into +VossII, and is being integrated at the moment. On all the cases tested, it +returned a correct result, Even though there are a handful of ways to +enhance it, make it faster, etc., it is useable in its current state. + +This internship led me to develop new strategies to bypass corner cases where +the heuristics were inefficient. But this project also made me practice again +my C++, which I had left behind for some time; and forced me to try to have a +code as clean as possible, challenging me on small details that were easy to +implement, but hard to implement in an understandable way. + +It also diversified my experience with labs, since my only other experience was +from my L3's internship in Cambridge. + +\todo{find better} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%