The process constructor which defines the abstract semantics of execution. More...
#include <abssemantics.hpp>
Inherits sc_module.
Inherited by ForSyDe::CT2DDE< T >, ForSyDe::CT2DDEf< T >, ForSyDe::CT2SY, ForSyDe::CT::comb, ForSyDe::CT::comb2, ForSyDe::CT::combX< N >, ForSyDe::CT::constant, ForSyDe::CT::delay, ForSyDe::CT::fanout, ForSyDe::CT::fmi2cswrap, ForSyDe::CT::shift, ForSyDe::CT::sink, ForSyDe::CT::source, ForSyDe::CT::traceSig, ForSyDe::DDE2CT< T >, ForSyDe::DDE2SY< T >, ForSyDe::DDE::comb< T0, T1 >, ForSyDe::DDE::comb2< T0, T1, T2 >, ForSyDe::DDE::delay< T >, ForSyDe::DDE::fanout< T >, ForSyDe::DDE::filter< T >, ForSyDe::DDE::filterf< T >, ForSyDe::DDE::mealy< IT, ST, OT >, ForSyDe::DDE::mealy2< IT1, IT2, ST, OT >, ForSyDe::DDE::sink< T >, ForSyDe::DDE::source< T >, ForSyDe::DDE::unzip< T1, T2 >, ForSyDe::DDE::unzipX< T1, N >, ForSyDe::DDE::vsource< T >, ForSyDe::DDE::zip< T1, T2 >, ForSyDe::DDE::zipX< T1, N >, ForSyDe::DT::comb< T0, T1 >, ForSyDe::DT::comb2< T0, T1, T2 >, ForSyDe::DT::comb3< T0, T1, T2, T3 >, ForSyDe::DT::comb4< T0, T1, T2, T3, T4 >, ForSyDe::DT::constant< T >, ForSyDe::DT::delay< T >, ForSyDe::DT::delayn< T >, ForSyDe::DT::fanout< T >, ForSyDe::DT::mealyT< IT, ST, OT >, ForSyDe::DT::sink< T >, ForSyDe::DT::source< T >, ForSyDe::DT::unzip< T1, T2 >, ForSyDe::DT::unzipN< Ts >, ForSyDe::DT::vsource< T >, ForSyDe::DT::zip< T1, T2 >, ForSyDe::SDF2SY< T >, ForSyDe::SDF::comb< T0, T1 >, ForSyDe::SDF::comb2< T0, T1, T2 >, ForSyDe::SDF::comb3< T0, T1, T2, T3 >, ForSyDe::SDF::comb4< T0, T1, T2, T3, T4 >, ForSyDe::SDF::constant< T >, ForSyDe::SDF::delay< T >, ForSyDe::SDF::delayn< T >, ForSyDe::SDF::fanout< T >, ForSyDe::SDF::file_sink< T >, ForSyDe::SDF::file_source< T >, ForSyDe::SDF::sink< T >, ForSyDe::SDF::source< T >, ForSyDe::SDF::unzip< T1, T2 >, ForSyDe::SDF::unzipN< Ts >, ForSyDe::SDF::vsource< T >, ForSyDe::SDF::zip< T1, T2 >, ForSyDe::SDF::zipN< Ts >, ForSyDe::SY2CT, ForSyDe::SY2DDE< T >, ForSyDe::SY2SDF< T >, ForSyDe::SY::comb< T0, T1 >, ForSyDe::SY::comb2< T0, T1, T2 >, ForSyDe::SY::comb3< T0, T1, T2, T3 >, ForSyDe::SY::comb4< T0, T1, T2, T3, T4 >, ForSyDe::SY::combX< T0, T1, N >, ForSyDe::SY::constant< T >, ForSyDe::SY::delay< T >, ForSyDe::SY::delayn< T >, ForSyDe::SY::fanout< T >, ForSyDe::SY::file_sink< T >, ForSyDe::SY::file_source< T >, ForSyDe::SY::fill< T >, ForSyDe::SY::gdbwrap< T0, T1 >, ForSyDe::SY::group< T >, ForSyDe::SY::hold< T >, ForSyDe::SY::mealy< IT, ST, OT >, ForSyDe::SY::moore< IT, ST, OT >, ForSyDe::SY::pipewrap< T0, T1 >, ForSyDe::SY::pipewrap2< T0, T1, T2 >, ForSyDe::SY::receiver< T0 >, ForSyDe::SY::scomb< T0, T1 >, ForSyDe::SY::scomb2< T0, T1, T2 >, ForSyDe::SY::scomb3< T0, T1, T2, T3 >, ForSyDe::SY::scomb4< T0, T1, T2, T3, T4 >, ForSyDe::SY::scombX< T0, T1, N >, ForSyDe::SY::sconstant< T >, ForSyDe::SY::sdelay< T >, ForSyDe::SY::sdelayn< T >, ForSyDe::SY::sdpmap< T0, T1, N >, ForSyDe::SY::sdpreduce< T0, N >, ForSyDe::SY::sdpscan< T0, T1, N >, ForSyDe::SY::sender< T1 >, ForSyDe::SY::sgroup< T >, ForSyDe::SY::sink< T >, ForSyDe::SY::smealy< IT, ST, OT >, ForSyDe::SY::smoore< IT, ST, OT >, ForSyDe::SY::source< T >, ForSyDe::SY::ssink< T >, ForSyDe::SY::ssource< T >, ForSyDe::SY::sunzip< T1, T2 >, ForSyDe::SY::sunzipN< Ts >, ForSyDe::SY::sunzipX< T1, N >, ForSyDe::SY::svsource< T >, ForSyDe::SY::szip< T1, T2 >, ForSyDe::SY::szipN< Ts >, ForSyDe::SY::szipX< T1, N >, ForSyDe::SY::unzip< T1, T2 >, ForSyDe::SY::unzipN< Ts >, ForSyDe::SY::unzipX< T1, N >, ForSyDe::SY::vsource< T >, ForSyDe::SY::zip< T1, T2 >, ForSyDe::SY::zipN< Ts >, ForSyDe::SY::zipX< T1, N >, ForSyDe::UT::comb< T0, T1 >, ForSyDe::UT::comb2< T0, T1, T2 >, ForSyDe::UT::comb3< T0, T1, T2, T3 >, ForSyDe::UT::comb4< T0, T1, T2, T3, T4 >, ForSyDe::UT::constant< T >, ForSyDe::UT::delay< T >, ForSyDe::UT::delayn< T >, ForSyDe::UT::fanout< T >, ForSyDe::UT::mealy< IT, ST, OT >, ForSyDe::UT::moore< IT, ST, OT >, ForSyDe::UT::scan< IT, ST >, ForSyDe::UT::scand< IT, ST >, ForSyDe::UT::sink< T >, ForSyDe::UT::source< T >, ForSyDe::UT::unzip< T1, T2 >, ForSyDe::UT::unzipN< Ts >, ForSyDe::UT::zip< T1, T2 >, ForSyDe::UT::zipN< Ts >, and ForSyDe::SY::source< double >.
Public Member Functions | |
process (sc_module_name _name) | |
The constructor requires the module name. More... | |
virtual std::string | forsyde_kind () const =0 |
The ForSyDe process type represented by the current module. | |
Protected Member Functions | |
virtual void | init ()=0 |
The init stage. More... | |
virtual void | prep ()=0 |
The prep stage. More... | |
virtual void | exec ()=0 |
The exece stage. More... | |
virtual void | prod ()=0 |
The prod stage. More... | |
virtual void | clean ()=0 |
The clean stage. More... | |
void | end_of_simulation () |
This hook is used to run the clean stage. | |
Detailed Description
The process constructor which defines the abstract semantics of execution.
This class defines a set of methods and their execution order which together define the abstract execution semantics of the processes in ForSyDe-SystemC. In each MoC, process constructors implement the these methods according to its own semantics. Additionally, this class contains members which are used to collect and store information about the structure of the models which is used for introspection in the elaboration phase.
Note that this is an abstract class and can not be directly instantiated. The designer uses the process constructors which implement the abstract methods in a specific MoC.
Constructor & Destructor Documentation
|
inline |
The constructor requires the module name.
It creates an SC_THREAD which reads data from its input port, processes them and writes the results using the output port.
- Parameters
-
_name The name of the ForSyDe process
Member Function Documentation
|
protectedpure virtual |
The clean stage.
This stage is executed once at the end and is responsible for cleaning jobs such as deallocation of the allocated memories, etc.
|
protectedpure virtual |
The exece stage.
This stage is executed continuously in a loop and executes the main functionality of the process (e.g., by applying a supplied function).
|
protectedpure virtual |
The init stage.
This stage is executed once in the beginning and is responsible for initialization tasks such as allocating IO buffers, etc.
|
protectedpure virtual |
The prep stage.
This stage is executed continuously in a loop and is responsible for preparaing the inputs to the execution phase.
|
protectedpure virtual |
The prod stage.
This stage is executed continuously in a loop and is responsible for writing the computed results to the output.
The documentation for this class was generated from the following file:
- src/forsyde/abssemantics.hpp
Generated by Doxygen 1.8.11