- The kernel must be statically linked with the model in order to satisfy the isolation properties expected by all Simics modules
- Awareness for sockets only supports a BUSWIDTH of 32 and 64
- Awareness for processes does not track spawned processes at run-time
- The memory profiling feature does not support threads instantiated using SC_CTHREAD. Allocations made by threads instantiated using SC_THREAD are supported
- The memory profiling results include allocations made by the SystemC kernel
- SystemC adapters from the same (Simics) module cannot be instantiated in multiple cells. This limitation comes from the SystemC kernel itself, having a global/shared sc_simcontext pointer. Simics supports multiple instances of the kernel, by allocating a new context for each instance and updating the global context at the enter/exit of each instance. To run the same SystemC model in multiple cells, the model must be wrapped in separate modules.
- Similar with the previous limitation, SystemC adapters from the same (Simics) module does not work in multicore accelerator mode.
- Static SystemC objects are only supported for the first instance of each
Adapter
created in Simics
- The
simics2tlm::Transaction
gasket does not support checkpointing of asynchronous transactions
- The TLM transaction injected to a multi passthrough initiator socket is only sent to the first bound target socket.