ScEpTIC.emulator.energy package¶
Submodules¶
ScEpTIC.emulator.energy.msp430 module¶
- 
class 
ScEpTIC.emulator.energy.msp430.MSP430EnergyCalculator(datasheet, n_registers, adc_datasheet)¶ Bases:
ScEpTIC.emulator.energy.EnergyCalculatorCalculates the energy parameters for MSP430 class MCUs
- 
n_min_function(n_writes)¶ Function to calculate the minimum number of read instructions required to create a volatile copy of a memory location. Necessary for virtual_memory transformation :param n_writes: number of writes required for creating a volatile copy :return: number of minimum reads
- 
 
Module contents¶
- 
class 
ScEpTIC.emulator.energy.EnergyCalculator(datasheet, n_registers, adc_datasheet)¶ Bases:
objectSkeleton for energy calculator class The class needs to expose the following attributes:
voltage: nominal operating voltage
frequency: nominal operating frequency
nvm_extra_cycles: number of wait cycles for NVM accesses
energy_clock_cycle: energy consumption per clock cycle
energy_volatile_memory_access: extra energy consumption per clock cycle for volatile memory accesses
energy_non_volatile_memory_access: extra energy consumption per clock cycle for non-volatile memory accesses
- non_volatile_increase: % increase in energy of a single clock cycle accessing non-volatile memory vs volatile memory
 note: must not to account for nvm_extra_cycles
adc_active_cycles: number of clock cycles while the ADC is active for checkpoint trigger calls
energy_clock_cycle_adc: extra energy consumption per cycle due to ADC on
adc_instructions: number of instructions executed to initialize, query, and power off the ADC
- The class needs to expose the following method:
 n_min_function(n_writes): function to calculate the n_min parameter for applying the read consolidaton for the virtual_memory trasformation
- 
multipliers= {'G': 1000000000.0, 'K': 1000.0, 'M': 1000000.0, 'm': 0.001, 'n': 1e-09, 'u': 1e-06}¶ 
- 
n_min_function(n_writes)¶ Function to calculate the minimum number of read instructions required to create a volatile copy of a memory location. Necessary for virtual_memory transformation :param n_writes: number of writes required for creating a volatile copy :return: number of minimum reads