ScEpTIC.emulator package¶
Subpackages¶
- ScEpTIC.emulator.energy package
- ScEpTIC.emulator.intermittent_executor package
- Subpackages
- ScEpTIC.emulator.intermittent_executor.configurator package
- Submodules
- ScEpTIC.emulator.intermittent_executor.configurator.dino module
- ScEpTIC.emulator.intermittent_executor.configurator.hibernus module
- ScEpTIC.emulator.intermittent_executor.configurator.mementos module
- ScEpTIC.emulator.intermittent_executor.configurator.quickrecall module
- ScEpTIC.emulator.intermittent_executor.configurator.ratchet module
- Module contents
- ScEpTIC.emulator.intermittent_executor.interruption_managers package
- Submodules
- ScEpTIC.emulator.intermittent_executor.interruption_managers.base module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.energy_measure module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.input module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.memory_evaluate module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.memory_locate module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.memory_size module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.output module
- ScEpTIC.emulator.intermittent_executor.interruption_managers.profiling module
- Module contents
- ScEpTIC.emulator.intermittent_executor.configurator package
- Submodules
- ScEpTIC.emulator.intermittent_executor.anomalies module
- ScEpTIC.emulator.intermittent_executor.checkpoint_manager module
- ScEpTIC.emulator.intermittent_executor.profiling module
- Module contents
- Subpackages
- ScEpTIC.emulator.io package
- ScEpTIC.emulator.memory package
- ScEpTIC.emulator.register_file package
- Submodules
- ScEpTIC.emulator.register_file.physical_register_file module
- ScEpTIC.emulator.register_file.program_counter module
- ScEpTIC.emulator.register_file.register module
- ScEpTIC.emulator.register_file.register_file module
- ScEpTIC.emulator.register_file.virtual_register_file module
- Module contents
Submodules¶
ScEpTIC.emulator.stats module¶
ScEpTIC.emulator.vm module¶
-
class
ScEpTIC.emulator.vm.VM(config)¶ Bases:
objectExecution environment for LLVM IR code
-
evaluate_run_test(module_name, class_name)¶ Estimates the number of instructions to be executed continuously
-
get_found_anomalies(outfile=None)¶ Prints out the found anomalies. If an outfile is specified, such information is written inside it.
-
get_observation_info(outfile=None)¶ Prints out the gethered profiling information. If an outfile is specified, such information is written inside it.
-
get_output_profiling_info(outfile=None)¶
-
get_profiling_info(outfile=None, module_name='')¶ Prints out the gethered profiling information. If an outfile is specified, such information is written inside it.
-
get_visual_dump()¶ Returns a visual dump of the current state of the simulator.
-
reset()¶ Resets the whole status of the simulator.
-
reset_anomalies()¶ Resets the found anomalies.
-
reset_profiling()¶ Resets the gathered profiling information.
-
run_test(module_name, class_name)¶ Runs completely a test, given the test module (interruption manager)
-
run_tests()¶ Runs the tests configured in the config file.
-
stop_current_test()¶ Stops the current test
-
ScEpTIC.emulator.vmstate module¶
-
class
ScEpTIC.emulator.vmstate.VMState(vm, program_configuration, register_file_configuration, memory_configuration, execution_depth, transformation_options, energy_calculator, energy_simulation_config, memory_size_config)¶ Bases:
objectState of the ScEpTIC execution environment
-
property
current_instruction¶ Returns the current instruction.
-
get_instruction_from_pc(pc)¶ Returns an instruction corresponding to a given program counter
-
handle_stop_request(anomaly)¶ Stops the analysis if stop_on_first_anomaly is set to True, accordingly to the user input.
-
init_code(functions, declarations)¶ Stores the function’s code information to be run and performs register allocation if required.
-
init_gst(global_vars)¶ Initializes the global symbol table.
-
on_branch(label, basic_block_id, tick_count)¶ Callback that executes the operations needed to perform the branch operation, which updates program counter and last_basic_block.
-
on_function_call(function_name)¶ Callback that executes the operations needed before executing a function call.
-
on_function_return(return_value, input_lookup_data, tick_count, update_program_counter=True)¶ Callback that executes the operations needed after returning from a function call.
-
on_run(tick_count, update_program_counter=True)¶ Callback that is executed when an instruction is run. It increments the program counter and the global_clock.
-
property
program_end_reached¶ Returns if the end of the program has been reached.
-
reset()¶ Performs the CPU reset operations.
-
run_step()¶ Runs the current instruction.
-
static
validate_execution_depth(execution_depth)¶ Verifies if the user provided execution_depth is valid.
-
static
validate_program_configuration(program_configuration)¶ Validates the program configuration.
-
property