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)