dde_process.hpp
Go to the documentation of this file.
1 /**********************************************************************
2  * dde_process.hpp -- The DDE MoC process *
3  * *
4  * Author: Hosein Attarzadeh (shan2@kth.se) *
5  * *
6  * Purpose: Providing the primitives for the DDE MoC *
7  * *
8  * Usage: This file is included automatically *
9  * *
10  * License: BSD3 *
11  *******************************************************************/
12 
13 #ifndef DDE_PROCESS_HPP
14 #define DDE_PROCESS_HPP
15 
23 #include "tt_event.hpp"
24 #include "abssemantics.hpp"
25 
26 namespace ForSyDe
27 {
28 
29 namespace DDE
30 {
31 
32 using namespace sc_core;
33 
35 template <typename T>
36 class DDE2DDE: public ForSyDe::signal<T,ttn_event<T>>
37 {
38 public:
40  DDE2DDE(sc_module_name name, unsigned size) : ForSyDe::signal<T,ttn_event<T>>(name, size) {}
41 #ifdef FORSYDE_INTROSPECTION
42 
43  virtual std::string moc() const
44  {
45  return "DDE";
46  }
47 #endif
48 };
49 
51 template <typename T>
53 
55 template <typename T>
56 class DDE_in: public ForSyDe::in_port<T,ttn_event<T>,signal<T>>
57 {
58 public:
60  DDE_in(const char* name) : ForSyDe::in_port<T,ttn_event<T>,signal<T>>(name){}
61 };
62 
64 template <typename T>
66 
68 template <typename T>
69 class DDE_out: public ForSyDe::out_port<T,ttn_event<T>,signal<T>>
70 {
71 public:
73  DDE_out(const char* name) : ForSyDe::out_port<T,ttn_event<T>,signal<T>>(name){}
74 };
75 
77 template <typename T>
79 
82 
83 }
84 }
85 
86 #endif
The namespace for ForSyDe.
Definition: abssemantics.hpp:30
The DDE_in port is used for input ports of DDE processes.
Definition: dde_process.hpp:56
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 DDE2DDE signal used to inter-connect DDE processes.
Definition: dde_process.hpp:36
The process constructor which defines the abstract semantics of execution.
Definition: abssemantics.hpp:212
Implements the time-tagged events.
The DDE_out port is used for output ports of DDE processes.
Definition: dde_process.hpp:69
ForSyDe::process dde_process
Abstract semantics of a process in the DDE MoC.
Definition: dde_process.hpp:81
The common abstract semantics for all MoCs.
A ForSyDe signal is used to inter-connect processes.
Definition: abssemantics.hpp:70