Note that you will need Java to compile and run many of the programs in this repo and JavaCC 5 to re-build the VHDL parser that is used for UCI analysis.
AttackFiles - Source code for each of the three attacks. Leon3 designs with each attack and corresponding bit files. Results of UCI analysis for each attack. New design files with hardware monitors for each pair remaining after UCI analysis.
VHDLParser - UCI analysis program.
VHDLUtils - Support classes used by the UCI program.
VHDLExpressionEval - Copy of external java library for evaluating complex expressions.
pair_remover - Program that removes code from a VHDL file based upon pairs that remain after UCI analysis.
Visuals - Contains visualizations of the Leon3 and highlighting based-upon UCI analysis.
Highlighter - Contains a program to highlight nodes in a graph given UCI analysis.
PairsToVHDL - Program that creates run-time hardware monitors that trigger BlueChip for the pairs that remain after UCI analysis.
BlueChip - BlueChip SPARC-v8 instruction set simulator to be run as a Linux Kernel driver.
snapgear_linux - Linux that runs on the Leon3 SoC.
benchmarks - Programs used to check for the software run-time overhead due to false activations of BlueChip.