OpenASIP
2.0
|
#include <BlocksGCU.hh>
Public Member Functions | |
BlocksGCU (TTAMachine::Machine &mach, const std::string &name, TTAMachine::AddressSpace &asInstr) | |
~BlocksGCU () | |
Public Attributes | |
TTAMachine::ControlUnit * | gcu |
TTAMachine::FUPort * | pc |
TTAMachine::FUPort * | val |
TTAMachine::SpecialRegisterPort * | ra |
TTAMachine::Socket * | raIn |
TTAMachine::Socket * | raOut |
TTAMachine::Socket * | pcIn |
TTAMachine::Socket * | valIn |
TTAMachine::Bus * | raBus |
std::list< std::string > | sources |
Private Member Functions | |
void | ConfigurePipeline (TTAMachine::ExecutionPipeline *pipeline, int numOfOperands) |
void | BindPorts (TTAMachine::HWOperation *hwOp, int numOfOperands) |
TTAMachine::HWOperation * | CreateHWOp (const std::string &name, int numOfOperands) |
Private Attributes | |
std::vector< TTAMachine::HWOperation * > | ops |
Definition at line 46 of file BlocksGCU.hh.
BlocksGCU::BlocksGCU | ( | TTAMachine::Machine & | mach, |
const std::string & | name, | ||
TTAMachine::AddressSpace & | asInstr | ||
) |
BlocksGCU with default instructions
mach | The TTA machine where the GCU(ABU) needs to be added. |
name | The name of the GCU. |
asInstr | The address space containing the program instructions. |
Definition at line 44 of file BlocksGCU.cc.
References TTAMachine::Machine::addBus(), TTAMachine::Machine::addSocket(), and TTAMachine::Machine::setGlobalControl().
|
inline |
|
private |
Bind the operation's operands to GCU ports.
hwOp | A pointer to the hardware operation of which the operands need to be binded to GCU ports. |
numOfOperands | The number of operands of the given hwOp. |
Definition at line 127 of file BlocksGCU.cc.
References TTAMachine::HWOperation::bindPort().
|
private |
Configure the operation pipeline.
pipeline | A pointer to the execution pipeline of the operation of which the pipeline needs to be configured. |
numOfOperands | The number of operands of the given hwOp. |
Definition at line 102 of file BlocksGCU.cc.
References TTAMachine::ExecutionPipeline::addPortRead(), and assert.
|
private |
Creates a hardware operation.
name | The name of the hardware operation. This needs to exactly match the name in OSEd. |
numOfOperands | The number of operands that this hardware operation requires. |
Definition at line 146 of file BlocksGCU.cc.
References TTAMachine::HWOperation::pipeline().
TTAMachine::ControlUnit* BlocksGCU::gcu |
Definition at line 48 of file BlocksGCU.hh.
Referenced by ~BlocksGCU().
|
private |
Definition at line 77 of file BlocksGCU.hh.
Referenced by ~BlocksGCU().
TTAMachine::FUPort* BlocksGCU::pc |
Definition at line 52 of file BlocksGCU.hh.
Referenced by ~BlocksGCU().
TTAMachine::Socket* BlocksGCU::pcIn |
Definition at line 57 of file BlocksGCU.hh.
Referenced by BlocksTranslator::ConnectInputs(), BlocksTranslator::CreateConnection(), and ~BlocksGCU().
TTAMachine::SpecialRegisterPort* BlocksGCU::ra |
Definition at line 54 of file BlocksGCU.hh.
Referenced by ~BlocksGCU().
TTAMachine::Bus* BlocksGCU::raBus |
Definition at line 59 of file BlocksGCU.hh.
TTAMachine::Socket* BlocksGCU::raIn |
Definition at line 55 of file BlocksGCU.hh.
Referenced by BlocksTranslator::CreateConnection(), and ~BlocksGCU().
TTAMachine::Socket* BlocksGCU::raOut |
Definition at line 56 of file BlocksGCU.hh.
Referenced by ~BlocksGCU().
std::list<std::string> BlocksGCU::sources |
Definition at line 60 of file BlocksGCU.hh.
Referenced by BlocksTranslator::BuildTTAModel(), and BlocksTranslator::ConnectInputs().
TTAMachine::FUPort* BlocksGCU::val |
Definition at line 53 of file BlocksGCU.hh.
Referenced by ~BlocksGCU().
TTAMachine::Socket* BlocksGCU::valIn |
Definition at line 58 of file BlocksGCU.hh.
Referenced by BlocksTranslator::ConnectInputs(), and ~BlocksGCU().