ScEpTIC.emulator.custom_devices.D2VFS package

Submodules

ScEpTIC.emulator.custom_devices.D2VFS.d2vfs_energy_model module

class ScEpTIC.emulator.custom_devices.D2VFS.d2vfs_energy_model.D2VFSChangepointDetectorEnergyModel

Bases: VoltageDrawner

Energy model of the changepoint detection circuit of D2VFS

circuit_components = {'74HC85D': '8u', 'BU4922': '0.26u', 'BU4927': '0.29u', 'BU4933': '0.34u', 'BU4936': '0.35u', 'SN54Lv175A': '20u', 'SN74AUP1G08': '0.5u'}
get_drained_energy(t)

Calculates the energy consumed by the component. :param t: elapsed time :return: the consumed energy

Module contents

class ScEpTIC.emulator.custom_devices.D2VFS.D2VFSSystemModel

Bases: CustomDevice

D2VFS system model

get_signals()
Returns:

a list with the signals collected from this device

get_signals_strings()
Returns:

a list with the names of the signals that may be collected from this device

init(print_enabled=True)

Initializes the D2VFS circuit :param print_enabled: enables/disables print messages :return: the number of clock cycles executed by the MCU during the initialization of custom device operations

name = 'D2VFS'
op_mode_name = 'D2VFS_ISR'
operational_zones = {1.8: '1MHz', 2.2: '8MHz', 2.8: '12MHz', 3.3: '16MHz'}
run_logic()

Runs the D2VFS logic (detects if a changepoint is reached and changes voltage and frequency accordingly :return: the number of clock cycles executed by the MCU during custom device operations

sensitivity = 0.005
setup(system_model)

Setup the D2VFS device. Note that this is a callback called by the system model :param system_model: the system model