From 2416a8e49ec6c5975d3ec27d628a0a597e219061 Mon Sep 17 00:00:00 2001 From: Fabian Posch Date: Tue, 4 Feb 2025 04:53:41 +0100 Subject: [PATCH] added graphs and results, conclusion --- fault_injection_async25.tex | 100 +++++++++++++++--- results/aggregated.tex | 14 +-- results/deviation_num_injections_dims.csv | 18 ++-- results/deviation_num_injections_dims.tex | 16 +-- results/deviation_num_injections_nclx.csv | 9 ++ results/deviation_num_injections_nclx.tex | 24 +++++ results/deviation_num_signals_dims.csv | 15 +-- results/deviation_num_signals_dims.tex | 20 ++-- results/deviation_num_signals_nclx.csv | 8 ++ results/deviation_num_signals_nclx.tex | 24 +++++ results/results.ods | Bin 43098 -> 45104 bytes results/sim_scaling.tex | 40 +++++++ .../sim_scaling_dims_coverage_certainty.csv | 5 + results/sim_scaling_dims_hit_prob.csv | 4 + results/sim_scaling_dims_modes.csv | 4 + results/sim_scaling_dims_victim_coverage.csv | 8 ++ 16 files changed, 254 insertions(+), 55 deletions(-) create mode 100644 results/deviation_num_injections_nclx.csv create mode 100644 results/deviation_num_injections_nclx.tex create mode 100644 results/deviation_num_signals_nclx.csv create mode 100644 results/deviation_num_signals_nclx.tex create mode 100644 results/sim_scaling.tex create mode 100644 results/sim_scaling_dims_coverage_certainty.csv create mode 100644 results/sim_scaling_dims_hit_prob.csv create mode 100644 results/sim_scaling_dims_modes.csv create mode 100644 results/sim_scaling_dims_victim_coverage.csv diff --git a/fault_injection_async25.tex b/fault_injection_async25.tex index 0e03c7a..f444992 100644 --- a/fault_injection_async25.tex +++ b/fault_injection_async25.tex @@ -14,6 +14,8 @@ \usepackage{subcaption} \usepackage{pgfplots} \usepackage{pgfplotstable} +\pgfplotsset{compat=1.18} +\usepackage{tabularx} % Tikz because graphs are fun \usepackage{tikz} \usepackage{tikz-timing} @@ -22,7 +24,6 @@ \usetikzlibrary{positioning} \makeglossaries -\renewcommand{\glstreepredesc}{\hspace{3em}} % Acronyms for the document \newacronym{dut}{DUT}{Design Under Test} @@ -35,11 +36,22 @@ \newacronym{prs}{PRS}{Production Rule Set} \newacronym{uvm}{UVM}{Universal Verification Method} \newacronym{eda}{EDA}{Electronic Design Automation} +\newacronym{dims}{DIMS}{Delay-Insensitive Minterm Synthesis} +\newacronym{ncl}{NCL}{Null Convention Logic} +\newacronym{nclx}{NCLX}{\acs{ncl} Flow with Explicit Completeness} % Simple citation required command \newcommand{\citationneeded}{\textcolor{red}{[citation needed]}} \newcommand{\referenceneeded}{\textcolor{red}{[reference needed]}} +\makeatletter +\newcommand{\linebreakand}{% + \end{@IEEEauthorhalign} + \hfill\mbox{}\par + \mbox{}\hfill\begin{@IEEEauthorhalign} +} +\makeatother + \def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} \begin{document} @@ -65,7 +77,7 @@ fhuemer@ecs.tuwien.ac.at} TU Wien\\ Vienna, Austria \\ steininger@ecs.tuwien.ac.at} -\and +\linebreakand \IEEEauthorblockN{Rajit Manohar} \IEEEauthorblockA{Computer Systems Lab\\ Yale University\\ @@ -243,20 +255,29 @@ where $P_{hit}$ additionally describes the probability of an injection hitting a \label{fig:setup/testbench} \end{figure} -To test our new tool, we ran our setup against previous results by Behal et.al \cite{behalExplainingFaultSensitivity2021}. We simulated the same multiplier circuit, using the same buffer styles as well. We however did not sweep over any form of pipeline load factor. We found the definition of the metric ambiguous, especially once the circuit contains non-linear pipelines. For this reason we have opted to exclude this metric from further testing. +To test our new tool, we simulated the same multiplier circuit as Behal et.al \cite{behalExplainingFaultSensitivity2021}. We however did not sweep over any form of pipeline load factor. We found the definition of the metric ambiguous, especially once the circuit contains non-linear pipelines. For this reason we have opted to exclude this metric from further testing. For consistency, the multiplier was generated using \texttt{pypr} \cite{huemerContributionsEfficiencyRobustness2022}, which is able to generate \acs{prs} rules in an ACT container. We elected to simulate four different versions, a four bit multiplier with unit delays (10 time steps) in \acs{dims}, a four bit multiplier with randomized delays ($\pm 5\%$, \acs{prs} node delay between 95 and 105 time steps) in \acs{dims}, an 8 bit multiplier with unit delays (10 time steps) in \acs{dims}, and a 4 bit multiplier with unit delays (10 time steps) in \acs{nclx}. The \ac{dut} is wrapped in a \acs{uvm}-like testbench setup, which is provided by our new simulation library. Our future ambition is to enable a write once - use everywhere architecture, where wrapper code has to be written once and can then be reused arbitrarily for all tests and verification procedures. The overall architecture of the test setup can be seen in Figure \ref{fig:setup/testbench}. Since, like \acs{uvm}, asynchronous logic contrary to synchronous logic inherently uses a message passing abstraction, we do not require much additional logic in the way of sequencers or monitors to interface with the \ac{dut}. Input tokens are directly forwarded to the \ac{dut}, model, and scoreboard. -Points to talk about - -\begin{itemize} - \item how much more detail should i mention about the target circuit and families? we're starting to run low on space - \item can I have the tikz graphics that were in the Behal paper for deadlocking, interlocking\dots -\end{itemize} - - -\section{Results} -\label{sec:results} +\begin{table}[ht] + \centering + \normalsize + \begin{tabularx}{0.4\textwidth}{|X|r|} + \hline + \textbf{Parameter} & \textbf{Default setting}\\ + \hline + Hit probability & $0.8$ \\ + \hline + Modes per fork & $1$ \\ + \hline + Coverage certainty & $0.2$ \\ + \hline + Victim coverage & $0.5$ \\ + \hline + \end{tabularx} + \caption{Default generation engine configuration} + \label{tab:setup/config} +\end{table} \begin{figure*}[htbp] \centering @@ -283,16 +304,67 @@ Points to talk about \caption{varying the number of selected signals} \label{fig:res/deviation_sel_signals_dims} \end{subfigure} - \caption{Variation of failure type rates in percentage points when} + \caption{Variation of failure type rates in \acs{dims} in percentage points when} \label{fig:res/deviation_dims} \end{figure*} +\begin{figure*}[htbp] + \centering + \begin{subfigure}{0.4\textwidth} + \begin{center} + \input{results/deviation_num_injections_nclx.tex} + \end{center} + \caption{varying the number of injections} + \label{fig:res/deviation_num_sims_nclx} + \end{subfigure} + %\hfill + \begin{subfigure}{0.4\textwidth} + \begin{center} + \input{results/deviation_num_signals_nclx.tex} + \end{center} + \caption{varying the number of selected signals} + \label{fig:res/deviation_sel_signals_nclx} + \end{subfigure} + \caption{Variation of failure type rates in \acs{nclx} in percentage points when} + \label{fig:res/deviation_nclx} +\end{figure*} + +To determine the performance of both our simulation environment, as well as our fault-injection engine, we selected a configuration that would yield a low amount of simulations by default (see Table~\ref{tab:setup/config}) and vary configuration parameters individually from there. + +\section{Results} +\label{sec:results} + +\begin{figure} + \centering + \scalebox{0.85}{\input{results/sim_scaling.tex}} + \caption{Simulation scaling over configuration parameters} + \label{fig:res/sim_scaling} +\end{figure} + +In our testing, this setup has shown itself quite capable as a cluster simulation tool. When running a batch of 13317 simulations, we measured a total execution time of 1 minute and 32 seconds, when executing on 4 nodes of 4 jobs each. This equates to almost exactly 9 simulations per second per core, which is in large part due to \texttt{actsim}'s high performance. + +Failure distributions for the examined circuits can be seen in Figure~\ref{fig:results/aggregated}. The simulation configuration shown in this graph was set to a lower assumed hit-probability ($0.1$, otherwise identical to Table~\ref{tab:setup/config}), to increase the number of simulations in hopes of establishing an accurate baseline. From there, varying hit-probability, assumed failure modes per fanout, and coverage certainty ultimately equates to a difference in injections per selected signal. + +Figure~\ref{fig:res/deviation_num_sims_dims} and Figure~\ref{fig:res/deviation_num_sims_nclx} show how observed failure mode distribution changes when the number of injections per signal is decreased. We observe that for both logic families, deviation is less than a single percentage point when going from over 20000 simulations down to about 3000. + +As a similar exercise, we established another baseline test for varying the percentage of signals to be targeted. For this, we configured the injection-engine to select all signals, then gradually lowered the percentage of selected signals (see Figure~\ref{fig:res/deviation_sel_signals_dims} and \ref{fig:res/deviation_sel_signals_nclx}). While not as stable as number of simulations, deviation still stayed within limits down to about 50\%, with the number of glitches observed in \acs{nclx} deviating by about $2.9$ points. + +An interesting side note here is that randomness definitely plays a factor here, as a signal coverage of $70\%$ has less deviation from reference for \acs{dims} than $90\%$. Further study would be needed to determine the variance for these values. + +Finally, Figure~\ref{fig:res/sim_scaling} shows how the configuration parameters for the injection engine influence the number of calculated required injections. Coverage certainty, hit probability, and victim coverage are in a value range of 0 to 1, while expected failure modes per fanout is in range 1 to 3.\\ +We see that hit probability, victim coverage, as well as expected failure modes change the number of simulations as we expected. While we expected victim coverage to grow the number of injections linearly, this was under the assumptions of all signals having identical fanout. However, since high fanout signals are selected first, we see strong initial growth, which then plateaus out as only low fanout signals are left to be selected. \section{Conclusion} \label{sec:conclusion} +When developing or verifying hardware, certain tasks require more resources than one local node can provide. To address this, we have presented \texttt{action}, an extendible cluster computation tool meant to augment the ACT toolchain. In addition we have provided extensions to \texttt{actsim}, which enable \acs{set} injections into a circuit, as well as a simulation library, which enables \acs{uvm}-like testing setups. This customization on a source code level in conjunction with \texttt{actsim}'s major improvements over previous simulators, like mixed-fidelity simulation, have provided exceptional simulation throughput of 9 simulations per core per second. + +We have then used \texttt{action} in conjunction with \texttt{actsim} to develop a novel fault-injection engine, which we also presented in this paper. Through this engine, we were able to show low variance in failure mode distribution for our \acs{dims} and \acs{nclx} implementation of a 4 bit multiplier when reducing the number of injections. We were also able to show useful performance scaling characteristics when increasing circuit size. + +\renewcommand{\IEEEiedlistdecl}{\IEEEsetlabelwidth{SONET}} \printacronyms +\renewcommand{\IEEEiedlistdecl}{\relax} \printbibliography diff --git a/results/aggregated.tex b/results/aggregated.tex index e81bdbf..15b1491 100644 --- a/results/aggregated.tex +++ b/results/aggregated.tex @@ -23,13 +23,13 @@ nodes near coords, % Option to show values near the bars ] - \addplot table[x=Circuit, y=Timing deviation] {\aggregateddata}; - \addplot table[x=Circuit, y=Value failure] {\aggregateddata}; - \addplot table[x=Circuit, y=Coding failure] {\aggregateddata}; - \addplot table[x=Circuit, y=Glitch] {\aggregateddata}; - \addplot table[x=Circuit, y=Deadlock] {\aggregateddata}; - \addplot table[x=Circuit, y=Token count failure] {\aggregateddata}; - \addplot table[x=Circuit, y=Nothing] {\aggregateddata}; + \addplot[fill=blue] table[x=Circuit, y=Timing deviation] {\aggregateddata}; + \addplot[fill=red] table[x=Circuit, y=Value failure] {\aggregateddata}; + \addplot[fill=brown] table[x=Circuit, y=Coding failure] {\aggregateddata}; + \addplot[fill=gray] table[x=Circuit, y=Glitch] {\aggregateddata}; + \addplot[fill=purple] table[x=Circuit, y=Deadlock] {\aggregateddata}; + \addplot[fill=green] table[x=Circuit, y=Token count failure] {\aggregateddata}; + \addplot[fill=cyan] table[x=Circuit, y=Nothing] {\aggregateddata}; \legend{Timing deviation, Value failure, Coding failure, Glitch, Deadlock, Token count failure, Nothing} diff --git a/results/deviation_num_injections_dims.csv b/results/deviation_num_injections_dims.csv index 82e1215..fcbb84a 100644 --- a/results/deviation_num_injections_dims.csv +++ b/results/deviation_num_injections_dims.csv @@ -1,9 +1,9 @@ -Total simulations,Timing deviation,Value failure,Coding failure,Glitch,Deadlock,Token count failure,Nothing -2338,0.37,-0.81,-0.02,-1.01,0.02,-0.33,-0.50 -3149,0.87,0.27,-0.40,0.14,-0.29,-0.04,-0.47 -4773,0.10,-0.71,-0.53,-0.58,-0.07,-0.46,0.12 -5015,-0.16,-0.01,0.54,-0.39,-0.08,-0.13,0.29 -7780,0.04,-0.06,0.89,-0.37,-0.05,-0.27,-0.08 -9583,0.34,0.00,0.93,-0.07,-0.09,-0.46,-0.29 -13317,0.25,0.21,1.12,-0.06,-0.03,0.01,-0.42 -25757,0.00,0.00,0.00,0.00,0.00,0.00,0.00 +Total simulations;Timing deviation;Value failure;Coding failure;Glitch;Deadlock;Token count failure;Nothing +2338;0.37;-0.81;-0.02;-1.01;0.02;-0.33;-0.50 +3149;0.87;0.27;-0.40;0.14;-0.29;-0.04;-0.47 +4773;0.10;-0.71;-0.53;-0.58;-0.07;-0.46;0.12 +5015;-0.16;-0.01;0.54;-0.39;-0.08;-0.13;0.29 +7780;0.04;-0.06;0.89;-0.37;-0.05;-0.27;-0.08 +9583;0.34;0.00;0.93;-0.07;-0.09;-0.46;-0.29 +13317;0.25;0.21;1.12;-0.06;-0.03;0.01;-0.42 +25757;0.00;0.00;0.00;0.00;0.00;0.00;0.00 diff --git a/results/deviation_num_injections_dims.tex b/results/deviation_num_injections_dims.tex index 95be49f..e2019e6 100644 --- a/results/deviation_num_injections_dims.tex +++ b/results/deviation_num_injections_dims.tex @@ -1,5 +1,5 @@ -\pgfplotstableread[col sep=comma]{results/deviation_num_injections_dims.csv}\deviationsnuminjectionsdims +\pgfplotstableread[col sep=semicolon]{results/deviation_num_injections_dims.csv}\deviationsnuminjectionsdims \begin{tikzpicture} \begin{axis}[ @@ -13,12 +13,12 @@ grid=both, % Add a grid for better readability ] - \addplot table[x=Timing deviation, y=Total simulations] {\deviationsnuminjectionsdims}; - \addplot table[x=Value failure, y=Total simulations] {\deviationsnuminjectionsdims}; - \addplot table[x=Coding failure, y=Total simulations] {\deviationsnuminjectionsdims}; - \addplot table[x=Glitch, y=Total simulations] {\deviationsnuminjectionsdims}; - \addplot table[x=Deadlock, y=Total simulations] {\deviationsnuminjectionsdims}; - \addplot table[x=Token count failure, y=Total simulations] {\deviationsnuminjectionsdims}; - \addplot table[x=Nothing, y=Total simulations] {\deviationsnuminjectionsdims}; + \addplot[blue, mark=*] table[x=Timing deviation, y=Total simulations] {\deviationsnuminjectionsdims}; + \addplot[red, mark=square*] table[x=Value failure, y=Total simulations] {\deviationsnuminjectionsdims}; + \addplot[brown, mark=triangle*] table[x=Coding failure, y=Total simulations] {\deviationsnuminjectionsdims}; + \addplot[gray, mark=diamond*] table[x=Glitch, y=Total simulations] {\deviationsnuminjectionsdims}; + \addplot[purple, mark=+] table[x=Deadlock, y=Total simulations] {\deviationsnuminjectionsdims}; + \addplot[green, mark=x] table[x=Token count failure, y=Total simulations] {\deviationsnuminjectionsdims}; + \addplot[cyan, mark=halfcircle] table[x=Nothing, y=Total simulations] {\deviationsnuminjectionsdims}; \end{axis} \end{tikzpicture} \ No newline at end of file diff --git a/results/deviation_num_injections_nclx.csv b/results/deviation_num_injections_nclx.csv new file mode 100644 index 0000000..ea726cc --- /dev/null +++ b/results/deviation_num_injections_nclx.csv @@ -0,0 +1,9 @@ +Total simulations;Timing deviation;Value failure;Coding failure;Glitch;Deadlock;Token count failure;Nothing +2445;0.19;-0.24;0.00;-0.37;-0.64;-0.07;-0.22 +3263;0.35;0.25;0.00;0.87;-0.01;-0.09;-0.12 +4943;-0.21;-0.47;0.00;-0.29;0.22;-0.24;0.29 +5206;0.11;0.61;0.00;1.07;0.02;0.77;-0.05 +8060;0.23;0.12;0.00;0.67;0.12;0.06;-0.23 +9941;0.30;0.11;0.00;0.42;0.08;-0.04;-0.29 +13765;0.00;0.12;0.00;0.63;0.06;0.00;-0.13 +26807;0.00;0.00;0.00;0.00;0.00;0.00;0.00 diff --git a/results/deviation_num_injections_nclx.tex b/results/deviation_num_injections_nclx.tex new file mode 100644 index 0000000..db4236c --- /dev/null +++ b/results/deviation_num_injections_nclx.tex @@ -0,0 +1,24 @@ + +\pgfplotstableread[col sep=semicolon]{results/deviation_num_injections_nclx.csv}\deviationsnuminjectionsnclx + +\begin{tikzpicture} + \begin{axis}[ + width=.95\textwidth, + xlabel={Deviation from max runs (\% points)}, + ylabel={Number Simulations}, + ylabel near ticks, + xmin=-2, xmax=2, + ymin=2000, ymax=26000, + scaled y ticks=false, + grid=both, % Add a grid for better readability + ] + + \addplot[blue, mark=*] table[x=Timing deviation, y=Total simulations] {\deviationsnuminjectionsnclx}; + \addplot[red, mark=square*] table[x=Value failure, y=Total simulations] {\deviationsnuminjectionsnclx}; + \addplot[brown, mark=triangle*] table[x=Coding failure, y=Total simulations] {\deviationsnuminjectionsnclx}; + \addplot[gray, mark=diamond*] table[x=Glitch, y=Total simulations] {\deviationsnuminjectionsnclx}; + \addplot[purple, mark=+] table[x=Deadlock, y=Total simulations] {\deviationsnuminjectionsnclx}; + \addplot[green, mark=x] table[x=Token count failure, y=Total simulations] {\deviationsnuminjectionsnclx}; + \addplot[cyan, mark=halfcircle] table[x=Nothing, y=Total simulations] {\deviationsnuminjectionsnclx}; + \end{axis} +\end{tikzpicture} \ No newline at end of file diff --git a/results/deviation_num_signals_dims.csv b/results/deviation_num_signals_dims.csv index bde451c..c1121eb 100644 --- a/results/deviation_num_signals_dims.csv +++ b/results/deviation_num_signals_dims.csv @@ -1,7 +1,8 @@ -Selected signals,Timing deviation,Value failure,Coding failure,Glitch,Deadlock,Token count failure,Nothing -100,0.00,0.00,0.00,0.00,0.00,0.00,0.00 -90,-0.61,-1.00,-1.37,0.09,-0.38,-0.37,0.73 -70,0.37,-0.81,-0.02,-1.01,0.02,-0.33,-0.50 -50,0.00,0.13,-1.00,1.11,-0.19,0.16,0.46 -30,0.00,0.13,-1.00,1.11,-0.19,0.16,0.46 -10,0.00,0.13,-1.00,1.11,-0.19,0.16,0.46 +Selected signals;Timing deviation;Value failure;Coding failure;Glitch;Deadlock;Token count failure;Nothing +100;0.00;0.00;0.00;0.00;0.00;0.00;0.00 +90;-0.61;-1.00;-1.37;0.09;-0.38;-0.37;0.73 +70;0.37;-0.81;-0.02;-1.01;0.02;-0.33;-0.50 +50;0.00;0.13;-1.00;1.11;-0.19;0.16;0.46 +30;0.14;-0.50;-0.32;1.43;0.39;0.37;-0.14 +10;-1.48;-0.36;-4.48;4.55;1.70;1.58;0.41 +5;1.56;0.19;-5.24;1.74;1.21;1.36;-1.94 diff --git a/results/deviation_num_signals_dims.tex b/results/deviation_num_signals_dims.tex index 3c1f8b8..c41d430 100644 --- a/results/deviation_num_signals_dims.tex +++ b/results/deviation_num_signals_dims.tex @@ -1,24 +1,24 @@ -\pgfplotstableread[col sep=comma]{results/deviation_num_signals_dims.csv}\deviationsnumsignalsdims +\pgfplotstableread[col sep=semicolon]{results/deviation_num_signals_dims.csv}\deviationsnumsignalsdims \begin{tikzpicture} \begin{axis}[ width=.95\textwidth, xlabel={Deviation from max runs (\% points)}, - ylabel={Number Simulations}, + ylabel={Signal Coverage (\%)}, ylabel near ticks, - xmin=-2, xmax=2, + xmin=-3, xmax=3, ymin=0, ymax=100, scaled y ticks=false, grid=both, % Add a grid for better readability ] - \addplot table[x=Timing deviation, y=Selected signals] {\deviationsnumsignalsdims}; - \addplot table[x=Value failure, y=Selected signals] {\deviationsnumsignalsdims}; - \addplot table[x=Coding failure, y=Selected signals] {\deviationsnumsignalsdims}; - \addplot table[x=Glitch, y=Selected signals] {\deviationsnumsignalsdims}; - \addplot table[x=Deadlock, y=Selected signals] {\deviationsnumsignalsdims}; - \addplot table[x=Token count failure, y=Selected signals] {\deviationsnumsignalsdims}; - \addplot table[x=Nothing, y=Selected signals] {\deviationsnumsignalsdims}; + \addplot[blue, mark=*] table[x=Timing deviation, y=Selected signals] {\deviationsnumsignalsdims}; + \addplot[red, mark=square*] table[x=Value failure, y=Selected signals] {\deviationsnumsignalsdims}; + \addplot[brown, mark=triangle*] table[x=Coding failure, y=Selected signals] {\deviationsnumsignalsdims}; + \addplot[gray, mark=diamond*] table[x=Glitch, y=Selected signals] {\deviationsnumsignalsdims}; + \addplot[purple, mark=+] table[x=Deadlock, y=Selected signals] {\deviationsnumsignalsdims}; + \addplot[green, mark=x] table[x=Token count failure, y=Selected signals] {\deviationsnumsignalsdims}; + \addplot[cyan, mark=halfcircle] table[x=Nothing, y=Selected signals] {\deviationsnumsignalsdims}; \end{axis} \end{tikzpicture} \ No newline at end of file diff --git a/results/deviation_num_signals_nclx.csv b/results/deviation_num_signals_nclx.csv new file mode 100644 index 0000000..fbadc96 --- /dev/null +++ b/results/deviation_num_signals_nclx.csv @@ -0,0 +1,8 @@ +Selected signals;Timing deviation;Value failure;Coding failure;Glitch;Deadlock;Token count failure;Nothing +100;0.00;0.00;0.00;0.00;0.00;0.00;0.00 +90;-0.12;0.40;0.00;1.03;-0.09;0.49;0.16 +70;-0.08;0.26;0.00;1.47;-0.29;0.30;0.20 +50;0.19;0.73;0.00;2.92;0.05;0.28;-0.03 +30;0.37;1.57;0.00;3.10;-0.36;1.41;-0.58 +10;0.21;-0.33;0.00;4.98;0.31;1.02;-0.22 +5;-0.02;2.61;0.00;9.49;0.09;5.99;-0.36 diff --git a/results/deviation_num_signals_nclx.tex b/results/deviation_num_signals_nclx.tex new file mode 100644 index 0000000..f74d73d --- /dev/null +++ b/results/deviation_num_signals_nclx.tex @@ -0,0 +1,24 @@ + +\pgfplotstableread[col sep=semicolon]{results/deviation_num_signals_nclx.csv}\deviationsnumsignalsnclx + +\begin{tikzpicture} + \begin{axis}[ + width=.95\textwidth, + xlabel={Deviation from max runs (\% points)}, + ylabel={Signal Coverage (\%)}, + ylabel near ticks, + xmin=-3, xmax=3, + ymin=0, ymax=100, + scaled y ticks=false, + grid=both, % Add a grid for better readability + ] + + \addplot[blue, mark=*] table[x=Timing deviation, y=Selected signals] {\deviationsnumsignalsnclx}; + \addplot[red, mark=square*] table[x=Value failure, y=Selected signals] {\deviationsnumsignalsnclx}; + \addplot[brown, mark=triangle*] table[x=Coding failure, y=Selected signals] {\deviationsnumsignalsnclx}; + \addplot[gray, mark=diamond*] table[x=Glitch, y=Selected signals] {\deviationsnumsignalsnclx}; + \addplot[purple, mark=+] table[x=Deadlock, y=Selected signals] {\deviationsnumsignalsnclx}; + \addplot[green, mark=x] table[x=Token count failure, y=Selected signals] {\deviationsnumsignalsnclx}; + \addplot[cyan, mark=halfcircle] table[x=Nothing, y=Selected signals] {\deviationsnumsignalsnclx}; + \end{axis} +\end{tikzpicture} \ No newline at end of file diff --git a/results/results.ods b/results/results.ods index e36ad1ec67132d67ca7409d8bfba64955f684d96..5b75fc21aa565c2dca63531b31af3d06d72f680d 100644 GIT binary patch literal 45104 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