CGRA-ME
inc
CGRA
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
:
40
SimpleFU
(std::string
name
,
Location
,
CGRABlockType
blockType
=
STANDARD_NOBYPASS
);
41
virtual
std::string
GenericName
();
42
virtual
~SimpleFU
();
43
CGRABlockType
blockType
;
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
Generated on Fri Nov 17 2023 12:26:43 for CGRA-ME by
1.8.17