| 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 | |