CGRA-ME
ModuleComposites.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * The software programs comprising "CGRA-ME" and the documentation provided
3  * with them are copyright by its authors and the University of Toronto. Only
4  * non-commercial, not-for-profit use of this software is permitted without ex-
5  * plicit permission. This software is provided "as is" with no warranties or
6  * guarantees of support. See the LICENCE for more details. You should have re-
7  * ceived a copy of the full licence along with this software. If not, see
8  * <http://cgra-me.ece.utoronto.ca/license/>.
9  ******************************************************************************/
10 
11 #ifndef __MODULE_COMPOSITES__H__
12 #define __MODULE_COMPOSITES__H__
13 
14 #include <CGRA/Module.h>
15 
16 class MemPort : public Module
17 {
18  public:
19  MemPort(std::string name, Location, int num_connections, int size, int num_const_addresses, bool pred = false, int II = 1);
20  virtual std::string GenericName();
21  virtual ~MemPort();
22  private:
23  int num_connections; // number of muxed inputs to this memory unit
24  int num_const_addresses; //< number of unique const addresses supported
25 };
26 
27 class IOPort : public Module
28 {
29  public:
30  IOPort(std::string name, Location, int num_inputs, int size = DEFAULT_SIZE);
31  virtual std::string GenericName();
32  virtual ~IOPort();
33  private:
34  int num_inputs; // number of muxed inputs to this IO
35 };
36 
37 class SimpleFU : public Module
38 {
39  public:
41  virtual std::string GenericName();
42  virtual ~SimpleFU();
44 };
45 
46 #endif
47 
Module::name
std::string name
Definition: Module.h:341
SimpleFU::~SimpleFU
virtual ~SimpleFU()
Definition: ModuleComposites.cpp:359
STANDARD_NOBYPASS
@ STANDARD_NOBYPASS
Definition: Module.h:76
Location
Definition: Module.h:156
MemPort
Definition: ModuleComposites.h:16
Module.h
SimpleFU::GenericName
virtual std::string GenericName()
Definition: ModuleComposites.cpp:354
IOPort
Definition: ModuleComposites.h:27
IOPort::num_inputs
int num_inputs
Definition: ModuleComposites.h:34
IOPort::IOPort
IOPort(std::string name, Location, int num_inputs, int size=DEFAULT_SIZE)
Definition: ModuleComposites.cpp:110
MemPort::~MemPort
virtual ~MemPort()
Definition: ModuleComposites.cpp:106
SimpleFU::blockType
CGRABlockType blockType
Definition: ModuleComposites.h:43
CGRABlockType
CGRABlockType
Definition: Module.h:74
MemPort::MemPort
MemPort(std::string name, Location, int num_connections, int size, int num_const_addresses, bool pred=false, int II=1)
Definition: ModuleComposites.cpp:15
MemPort::num_const_addresses
int num_const_addresses
Definition: ModuleComposites.h:32
Module
Definition: Module.h:163
MemPort::GenericName
virtual std::string GenericName()
Definition: ModuleComposites.cpp:95
SimpleFU
Definition: ModuleComposites.h:37
IOPort::~IOPort
virtual ~IOPort()
Definition: ModuleComposites.cpp:154
SimpleFU::SimpleFU
SimpleFU(std::string name, Location, CGRABlockType blockType=STANDARD_NOBYPASS)
Definition: ModuleComposites.cpp:178
IOPort::GenericName
virtual std::string GenericName()
Definition: ModuleComposites.cpp:149
DEFAULT_SIZE
const int DEFAULT_SIZE
Definition: Module.h:48
MemPort::num_connections
int num_connections
Definition: ModuleComposites.h:31