|
OpenASIP 2.2
|
#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(), TTAMachine::Socket::attachBus(), TTAMachine::Port::attachSocket(), CreateHWOp(), gcu, ops, pc, pcIn, ra, raBus, raIn, raOut, TTAMachine::FunctionUnit::setAddressSpace(), TTAMachine::Socket::setDirection(), TTAMachine::Machine::setGlobalControl(), TTAMachine::ControlUnit::setReturnAddressPort(), val, and valIn.

|
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(), pc, and val.
Referenced by CreateHWOp().

|
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.
Referenced by CreateHWOp().

|
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 BindPorts(), ConfigurePipeline(), gcu, and TTAMachine::HWOperation::pipeline().
Referenced by BlocksGCU().

| TTAMachine::ControlUnit* BlocksGCU::gcu |
Definition at line 48 of file BlocksGCU.hh.
Referenced by BlocksGCU(), CreateHWOp(), and ~BlocksGCU().
|
private |
Definition at line 77 of file BlocksGCU.hh.
Referenced by BlocksGCU(), and ~BlocksGCU().
| TTAMachine::FUPort* BlocksGCU::pc |
Definition at line 52 of file BlocksGCU.hh.
Referenced by BindPorts(), BlocksGCU(), and ~BlocksGCU().
| TTAMachine::Socket* BlocksGCU::pcIn |
Definition at line 57 of file BlocksGCU.hh.
Referenced by BlocksGCU(), BlocksTranslator::ConnectInputs(), BlocksTranslator::CreateConnection(), and ~BlocksGCU().
| TTAMachine::SpecialRegisterPort* BlocksGCU::ra |
Definition at line 54 of file BlocksGCU.hh.
Referenced by BlocksGCU(), and ~BlocksGCU().
| TTAMachine::Bus* BlocksGCU::raBus |
Definition at line 59 of file BlocksGCU.hh.
Referenced by BlocksGCU().
| TTAMachine::Socket* BlocksGCU::raIn |
Definition at line 55 of file BlocksGCU.hh.
Referenced by BlocksGCU(), BlocksTranslator::CreateConnection(), and ~BlocksGCU().
| TTAMachine::Socket* BlocksGCU::raOut |
Definition at line 56 of file BlocksGCU.hh.
Referenced by BlocksGCU(), and ~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 BindPorts(), BlocksGCU(), and ~BlocksGCU().
| TTAMachine::Socket* BlocksGCU::valIn |
Definition at line 58 of file BlocksGCU.hh.
Referenced by BlocksGCU(), BlocksTranslator::ConnectInputs(), and ~BlocksGCU().