OpenASIP
2.0
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
w
Functions
a
b
c
d
f
g
i
l
m
n
o
p
s
Variables
Typedefs
a
b
c
d
e
f
i
n
p
r
s
t
Enumerations
Enumerator
b
c
f
g
h
i
l
m
o
r
s
t
v
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
i
l
m
n
o
p
r
s
t
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
z
Related Functions
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
v
w
x
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Typedefs
a
b
c
d
f
i
j
l
m
n
o
p
r
s
t
u
w
Enumerations
Enumerator
Macros
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
applibs
ProGe
MicroCodeGenerator.hh
Go to the documentation of this file.
1
/*
2
Copyright (C) 2021-2022 Tampere University.
3
4
This library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Lesser General Public
6
License as published by the Free Software Foundation; either
7
version 2.1 of the License, or (at your option) any later version.
8
9
This library is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
Lesser General Public License for more details.
13
14
You should have received a copy of the GNU Lesser General Public
15
License along with this library; if not, write to the Free Software
16
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
/**
19
* @file MicroCodeGenerator.hh
20
*
21
* Declaration of MicroCodeGenerator class.
22
*
23
* @author Kari Hepola 2021-2022 (kari.hepola@tuni.fi)
24
* @note rating: red
25
*/
26
27
#ifndef TTA_INSTRUCTION_TRANSLATOR_HH
28
#define TTA_INSTRUCTION_TRANSLATOR_HH
29
30
31
#include <string>
32
33
namespace
TTAMachine
{
34
class
Machine
;
35
class
Bus
;
36
class
Port
;
37
}
38
39
class
InstructionBitVector
;
40
class
HDLTemplateInstantiator
;
41
42
using namespace
TTAMachine
;
43
44
namespace
ProGe
{
45
46
class
MicroCodeGenerator
{
47
48
public
:
49
MicroCodeGenerator
() =
default
;
50
~
MicroCodeGenerator
() =
default
;
51
52
virtual
void
generateRTL(
HDLTemplateInstantiator
& instantiator,
53
const
std::string& fileDst) = 0;
54
55
struct
Connection
{
56
Bus
*
bus
;
57
Port
*
port
;
58
};
59
60
};
61
}
62
#endif
ProGe::MicroCodeGenerator::Connection
Definition:
MicroCodeGenerator.hh:55
HDLTemplateInstantiator
Definition:
HDLTemplateInstantiator.hh:45
TTAMachine::Bus
Definition:
Bus.hh:53
ProGe::MicroCodeGenerator::Connection::port
Port * port
Definition:
MicroCodeGenerator.hh:57
ProGe::MicroCodeGenerator
Definition:
MicroCodeGenerator.hh:46
TTAMachine::Port
Definition:
Port.hh:54
ProGe
Definition:
FUGen.hh:54
ProGe::MicroCodeGenerator::Connection::bus
Bus * bus
Definition:
MicroCodeGenerator.hh:56
TTAMachine
Definition:
Assembler.hh:48
TTAMachine::Machine
Definition:
Machine.hh:73
InstructionBitVector
Definition:
InstructionBitVector.hh:50
Generated by
1.8.17