|
OpenASIP 2.2
|
#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().