From a device model's point of view there are only a few incompatible changes between SystemC 2.3.1 and 2.3.3 to consider. Migration should thus be straight forward and trivial. If the model has dependencies on 3rd party IP, additional changes may be required. Please contact the IP provider for details.
Here is the list of known changes that can cause problems when migrating from 2.3.1 to 2.3.3. See the Accellera kernel RELEASENOTES
for more details and full list of changes:
- The non-standard functions `interface_count` and `if_typename` in sc_port_base have been marked as private.
- The non-standard, 32-bit implementation of sc_(u)int has been removed.
- The non-standard macros WAIT, WAITN and WAIT_UNTIL have been renamed to SC_WAIT, SC_WAITN, SC_WAIT_UNTIL.
- The non-standard macros SCAST, CCAST, RCAST have been removed.
- The implicit inclusions of the system-headers "cstring" and "sstream" have been removed.
- Detection and assert of invalid instantiation of an sc_export outside of an sc_module.
- Detection and assert of invalid immediate notification of events during elaboration.
- Wait on empty event list not allowed. Add an explicit check before invoking
wait()
or next_trigger()
.