Skip to content

Structure

Nicolai Mueller edited this page Aug 29, 2022 · 34 revisions

PROLEAD's structure consists of two directories.

  1. The inc folder contains all header files (.hpp) encompassing the function declarations.
  2. The src folder contains all source files (.cpp) encompassing the function definitions.

All files related to the evaluation of hardware circuits are stored in the Hardware subdirectories (inc/Hardware and inc/Hardware) while the Util subdirectory stores all files that declare and define generic functions.

PROLEAD

The PROLEAD file (src/PROLEAD.cpp) defines the main function of PROLEAD.

Execute

The Execute files (inc/Hardware/Execute.hpp and src/Hardware/Execute.cpp) define the execution of PROLEAD based on a given set of command line parameters. These files implement the following functions:

Hardware::Execute

Executes PROLEAD based on a given set of command line parameters.

Parameters

CommandLineParameterStruct& Parameter - The command line parameters.

Return value

(none)

Prepare

The Prepare files (inc/Hardware/Prepare.hpp and src/Hardware/Prepare.cpp) define all functions for preparation before the actual evaluation takes place. These files implement the following functions:

Hardware::Prepare::All

Prepares everything for the evaluation.

Parameters

CommandLineParameterStruct& Parameter - The command line parameters.
Hardware::CircuitStruct& Circuit - The hardware circuit.
Hardware::LibraryStruct& Library - The circuit library.
Hardware::SettingsStruct& Settings - The evaluation settings.
Hardware::ProbesStruct& Probes - The probes.
Hardware::SimulationStruct& Simulation - The simulation settings.
Hardware::SharedDataStruct*& SharedData - The shared data.

Return value

(none)

Hardware::Prepare::MakeCircuitDepth

Computes the combinational depth (number of subsequent combaintionl gates) of all cells and signals.

Parameters

Hardware::CircuitStruct& Circuit - The hardware circuit.
Hardware::LibraryStruct& Library - The circuit library.

Return value

(none)

Hardware::Prepare::Probes

Places standard probes on all considered register inputs and primary outputs of the circuit.

Parameters

Hardware::CircuitStruct& Circuit - The hardware circuit.
Hardware::LibraryStruct& Library - The circuit library.
Hardware::SettingsStruct& Settings - The evaluation settings.
Hardware::ProbesStruct& Probes - The probes.

Return value

(none)

Hardware::Prepare::ExtendProbe

Extends a standard probe to a glitch-extended probe.

Parameters

Hardware::CircuitStruct* Circuit - The hardware circuit.
Hardware::LibraryStruct* Library - The circuit library.
Hardware::SettingsStruct* Settings - The evaluation settings.
int MainSignalIndex - The signal index of the standard probe.
int SignalIndex - The signal index of the current probe extension.
int* Buffer_int - The list of glitch-extensions.

Return value

(none)

Hardware::Prepare::Simulation

Prepares the simulation settings.

Parameters

Hardware::CircuitStruct& Circuit - The hardware circuit.
Hardware::SettingsStruct& Settings - The evaluation settings.
Hardware::ProbesStruct& Probes - The probes.
Hardware::SimulationStruct& Simulation - The simulation settings.
char* EvaluationResultFolderName - The name of the result directory.

Return value

(none)

Hardware::Prepare::SharedData

Prepares the shared data.

Parameters

Hardware::CircuitStruct* Circuit - The hardware circuit.
Hardware::SettingsStruct* Settings - The evaluation settings.
Hardware::SharedDataStruct* SharedData - The shared data.

Return value

(none)

GenerateProbingSets

The GenerateProbingSets files (inc/Hardware/GenerateProbingSets.hpp and src/Hardware/GenerateProbingSets.cpp) define all functions for generating the probing sets for evaluation. These files implement the following functions:

Hardware::GenerateProbingSets::All

Does the complete generation of all required probing sets.

Parameters

Hardware::SettingsStruct& Settings - The evaluation settings.
Hardware::SimulationStruct& Simulation - The simulation settings.
Hardware::TestStruct& Test - The evaluation details.

Return value

(none)

Hardware::GenerateProbingSets::GenerateProbes

Generates a list of all considered standard probes and a second list with all considered glitch extensions.

Hardware::SimulationStruct& Simulation - The simulation settings.
Hardware::TestStruct& Test - The evaluation details.

Return value

(none)