| | 1 | = GIET-VM / SIM Driver = |
| | 2 | |
| | 3 | [[PageOutline]] |
| | 4 | |
| | 5 | The [source:soft/giet_vm/giet_drivers/sim_driver.c sim_driver.c] and [source:soft/giet_vm/giet_drivers/sim_driver.h sim_driver.h] files define the SIM driver. |
| | 6 | |
| | 7 | This driver supports the vci_sim_helper component, that is a pseudo hardware component available in the SoCLib library, and providing a monitoring service in a virtual prototyping environment. |
| | 8 | |
| | 9 | There is at most one such component in the architecture. |
| | 10 | |
| | 11 | The SEG_SIM_BASE address must be defined in the hard_config.h file. |
| | 12 | |
| | 13 | The addressable registers map, defining the possible operations is defined [source:soft/giet_vm/giet_drivers/sim_driver.h here]. |
| | 14 | |
| | 15 | === void '''_sim_helper_access'''( unsigned int register_index, unsigned int value, unsigned int* retval ); |
| | 16 | This function accesses the Simulation Helper registers: |
| | 17 | * If access is on SIMHELPER_SC_STOP, the simulation will stop. |
| | 18 | * If access is on SIMHELPER_CYCLES, value is written in retval buffer. |
| | 19 | |
| | 20 | |