OpenASIP
2.0
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