ct_process.hpp
Go to the documentation of this file.
1 /**********************************************************************
2  * ct_process.hpp -- The CT MoC process *
3  * *
4  * Author: Hosein Attarzadeh (shan2@kth.se) *
5  * *
6  * Purpose: Providing the primitives for the CT MoC *
7  * *
8  * Usage: This file is included automatically *
9  * *
10  * License: BSD3 *
11  *******************************************************************/
12 
13 #ifndef CT_PROCESS_HPP
14 #define CT_PROCESS_HPP
15 
23 #include "sub_signal.hpp"
24 #include "abssemantics.hpp"
25 
26 namespace ForSyDe
27 {
28 
29 namespace CT
30 {
31 
32 using namespace sc_core;
33 
35 class CT2CT: public ForSyDe::signal<double,sub_signal>
36 {
37 public:
39  CT2CT(sc_module_name name, unsigned size) : ForSyDe::signal<double,sub_signal>(name, size) {}
40 #ifdef FORSYDE_INTROSPECTION
41 
42  virtual std::string moc() const
43  {
44  return "CT";
45  }
46 #endif
47 };
48 
50 using signal = CT2CT;
51 
53 class CT_in: public ForSyDe::in_port<double,sub_signal,signal>
54 {
55 public:
57  CT_in(const char* name) : ForSyDe::in_port<double,sub_signal,signal>(name){}
58 };
59 
61 using in_port = CT_in;
62 
64 class CT_out: public ForSyDe::out_port<double,sub_signal,signal>
65 {
66 public:
68  CT_out(const char* name) : ForSyDe::out_port<double,sub_signal,signal>(name){}
69 };
70 
72 using out_port = CT_out;
73 
76 
77 }
78 }
79 
80 #endif
ForSyDe::process ct_process
Abstract semantics of a process in the CT MoC.
Definition: ct_process.hpp:75
The namespace for ForSyDe.
Definition: abssemantics.hpp:30
The in_port port is used for input ports of ForSyDe processes.
Definition: abssemantics.hpp:121
The UT_out port is used for output ports of UT processes.
Definition: abssemantics.hpp:159
The CT2CT signal used to inter-connect CT processes.
Definition: ct_process.hpp:35
The CT_out port is used for output ports of CT processes.
Definition: ct_process.hpp:64
The process constructor which defines the abstract semantics of execution.
Definition: abssemantics.hpp:212
The CT_in port is used for input ports of CT processes.
Definition: ct_process.hpp:53
The common abstract semantics for all MoCs.
A ForSyDe signal is used to inter-connect processes.
Definition: abssemantics.hpp:70
Implements the sub-components of a CT signal.