OpenASIP
2.0
|
#include <BlocksLSU.hh>
Public Member Functions | |
BlocksLSU (TTAMachine::Machine &mach, const std::string &name, std::list< std::string > sources, TTAMachine::AddressSpace &asData, std::shared_ptr< TTAMachine::Socket > in1sock, std::shared_ptr< TTAMachine::Socket > in2sock) | |
~BlocksLSU () | |
Public Attributes | |
TTAMachine::FunctionUnit * | lsu |
Public Attributes inherited from BlocksFU | |
std::vector< TTAMachine::HWOperation * > | ops |
TTAMachine::FunctionUnit * | fu |
TTAMachine::FUPort * | in1 |
TTAMachine::FUPort * | in2 |
TTAMachine::FUPort * | out |
std::shared_ptr< TTAMachine::Socket > | in1sock |
std::shared_ptr< TTAMachine::Socket > | in2sock |
TTAMachine::Socket * | outsock |
std::list< std::string > | sources |
std::string | name |
Private Member Functions | |
void | ConfigurePipeline (TTAMachine::ExecutionPipeline *pipeline, bool isLoadOp) |
void | BindPorts (TTAMachine::HWOperation *hwOp, bool isLoadOp) |
TTAMachine::HWOperation * | CreateHWLoadOp (const std::string &name) |
TTAMachine::HWOperation * | CreateHWStoreOp (const std::string &name) |
Additional Inherited Members | |
Protected Member Functions inherited from BlocksFU | |
BlocksFU (TTAMachine::Machine &mach, const std::string &name, std::list< std::string > sources, std::shared_ptr< TTAMachine::Socket > in1sock, std::shared_ptr< TTAMachine::Socket > in2sock) | |
~BlocksFU () | |
Definition at line 41 of file BlocksLSU.hh.
BlocksLSU::BlocksLSU | ( | TTAMachine::Machine & | mach, |
const std::string & | name, | ||
std::list< std::string > | sources, | ||
TTAMachine::AddressSpace & | asData, | ||
std::shared_ptr< TTAMachine::Socket > | in1sock, | ||
std::shared_ptr< TTAMachine::Socket > | in2sock | ||
) |
BlocksLSU with default instructions
mach | The TTA machine where the LSU needs to be added. |
name | The name of the LSU. |
sources | A list of sources that are attached to this unit's input. |
asData | The address space containing the program data. |
in1sock | (shared) pointer to the TTA socket for in1 input port. |
in2sock | (shared) pointer to the TTA socket for in2 input port. |
Definition at line 47 of file BlocksLSU.cc.
References CreateHWLoadOp(), CreateHWStoreOp(), BlocksFU::fu, lsu, BlocksFU::ops, and TTAMachine::FunctionUnit::setAddressSpace().
|
inline |
Definition at line 49 of file BlocksLSU.hh.
References BlocksFU::ops.
|
private |
Bind the operation's operands to FU ports.
hwOp | A pointer to the hardware operation of which the operands need to be binded to FU ports. |
isLoadOp | A boolean that indicates whether the operation given is a load operation(true) or store operation(false). |
Definition at line 132 of file BlocksLSU.cc.
References TTAMachine::HWOperation::bindPort(), BlocksFU::in1, BlocksFU::in2, and BlocksFU::out.
Referenced by CreateHWLoadOp(), and CreateHWStoreOp().
|
private |
Configure the operation pipeline.
pipeline | A pointer to the execution pipeline of the operation of which the pipeline needs to be configured. |
isLoadOp | A boolean that indicates whether the operation given is a load operation(true) or store operation(false). |
Definition at line 151 of file BlocksLSU.cc.
References TTAMachine::ExecutionPipeline::addPortRead(), and TTAMachine::ExecutionPipeline::addPortWrite().
Referenced by CreateHWLoadOp(), and CreateHWStoreOp().
|
private |
Creates a hardware load operation.
name | The name of the hardware operation. This needs to exactly match the name in OSEd. |
Definition at line 103 of file BlocksLSU.cc.
References BindPorts(), ConfigurePipeline(), lsu, BlocksFU::name, and TTAMachine::HWOperation::pipeline().
Referenced by BlocksLSU().
|
private |
Creates a hardware store operation.
name | The name of the hardware operation. This needs to exactly match the name in OSEd. |
Definition at line 116 of file BlocksLSU.cc.
References BindPorts(), ConfigurePipeline(), lsu, BlocksFU::name, and TTAMachine::HWOperation::pipeline().
Referenced by BlocksLSU().
TTAMachine::FunctionUnit* BlocksLSU::lsu |
Definition at line 43 of file BlocksLSU.hh.
Referenced by BlocksLSU(), CreateHWLoadOp(), and CreateHWStoreOp().