Show README syntax highlighted
This is a very simple example to show how a user can create
a special enumerated data type. SystemC SCV uses a special
C++ methodology called partial-template specialization to
support arbitrary data types with randomization, transaction
recording, callbacks, and other features that deconstruct
the elements of an object.
The extension of an enumerated type creates a mapping
between the enumeration value and the string name associated
with the enumeration.
The following source files are part of this example:
state.h The definition of a user-defined structure that
contains an enumerated data type
state_ext.h Extensions for the user-defined data types.
test.cc A test that uses the introspection interface
into the user-defined data structure
Makefile Targets for sun-gnu, hppa-native and linux
In order for a structure to have introspection capability, a
user must define a scv_extensions<> specialization for the
particular struct and enums.
A makefile for use with SystemC is provided with targets for
three different platforms:
make sun-gnu # Gnu C++ compiler on Sun
make hppa-native # HP C++ compiler on HP
make linux # Gnu C++ compiler on Linux
%%CATEGORIES notebook examples introspection
%%TBARGS ncsc --stop hdl_elab --sconly sctop
%%LinePrefix all
%%Files none %%REGSRC/test.cc %%REGSRC/test_reg.cc
%%Files osci %%REGSRC/test.cc
%%Files schdl %%REGSRC/test.cc
%%Files ncsc %%REGSRC/test_reg.cc
%%CheckTest all %%REGSRC/checktest.sh %%TBLOG %%REGSRC/tb_log.au
%%REALCLEAN %%REGBLD/logfile.diff
See more files for this project here