@@ -196,7 +196,7 @@ It gets its commands from the \texttt{Tk}/main thread via a \texttt{Thread::Queu
In the following section the contents of the \texttt{test} directory are described.
\subsection{\ac{FIC} Emulator}
\subsubsection{\ac{FIC} Emulator}
\label{sec:fic_emulator}
The \ac{FIC} emulator is intended for testing/debugging the \ac{FIJIEE} scripts.
...
...
@@ -263,11 +263,11 @@ CRC error flags can be seen. The configuration can be changed by pressing
any of the keys shown above the status line. The terminal to which the
emulator is connected is shown at the top.
\subsection{Instrumentation Tests}
\subsubsection{Instrumentation Tests}
\label{sec:instrumentation_tests}
To test our Verilog-Perl changes as well as the instrumentation code (cf.\ \Cref{sec:instrumentation}) we have set up unit tests in \texttt{test/instrument\_test} consisting of minimal netlists (in \texttt{netlists}) and associated \ac{FIJI} Settings (in \texttt{fiji}).
These tests cover many different combinations of instrumentation targets and drivers and have found many bugs in corner cases.
These tests cover many different combinations of instrumentation targets and drivers, which helped to find many bugs in corner cases.
The provided Makefile will execute all \textit{mandatory} test cases, by default in 16 parallel threads.
There are also some optional test cases for Verilog features that have not been observed yet in simple netlists and hence have not been implemented (yet).
...
...
@@ -276,8 +276,8 @@ The unit tests consist of the following phases.
\item[Setup] If there exists no \ac{FIJI} Settings file for a respective netlist \texttt{fiji\_setup.pl} will be launched to allow the engineer to choose the instrumented net(s) and possibly set other settings needed for the test.
If the Settings exist already but are older than the netlist we force make to skip launching the GUI for usability reasons.
\item[Instrumentation] The netlists are instrumented with \texttt{fiji\_instrument.pl}.
\item[Synthesis] The instrumented netlists are quickly checked for syntax errors and the like by letting Symplify synthesize and filtering unrelated warnings.
\item[Simulation]Additionally to the syntax check a behavioral simulation tries to find discrepancies between an instrumented and untouched entity of the respective netlist.
\item[Synthesis] The instrumented netlists are quickly checked for syntax errors and the like by synthesizing them with Synplify and filtering out unrelated warnings.
\item[Simulation]In addition to the syntax check a behavioral simulation tries to find discrepancies between an instrumented and untouched entity of the respective netlist.
To that end the test instantiates them in a testbench and compares their output when fed some generated input.
The tests are not exhaustive but very effective since instrumentation bugs usually affect the signal path in a very direct manner.