ScEpTIC.emulator package¶
Subpackages¶
- 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.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.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(program_configuration, register_file_configuration, memory_configuration, execution_depth)¶ 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