OpenASIP
2.0
|
#include <BlocksALU.hh>
Public Member Functions | |
BlocksALU (TTAMachine::Machine &mach, const std::string &name, std::list< std::string > sources, std::shared_ptr< TTAMachine::Socket > in1sock, std::shared_ptr< TTAMachine::Socket > in2sock) | |
~BlocksALU () | |
Public Attributes | |
TTAMachine::FunctionUnit * | alu |
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, int numOfOperands) |
void | BindPorts (TTAMachine::HWOperation *hwOp, int numOfOperands) |
TTAMachine::HWOperation * | CreateHWOp (const std::string &name, int numOfOperands) |
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 39 of file BlocksALU.hh.
BlocksALU::BlocksALU | ( | TTAMachine::Machine & | mach, |
const std::string & | name, | ||
std::list< std::string > | sources, | ||
std::shared_ptr< TTAMachine::Socket > | in1sock, | ||
std::shared_ptr< TTAMachine::Socket > | in2sock | ||
) |
Create BlocksALU with default instructions
mach | The TTA machine where the ALU needs to be added. |
name | The name of the ALU. |
sources | A list of sources that are attached to this unit's input. |
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 BlocksALU.cc.
References alu, CreateHWOp(), BlocksFU::fu, and BlocksFU::ops.
|
inline |
Definition at line 47 of file BlocksALU.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. |
numOfOperands | The number of operands of the given hwOp. |
Definition at line 130 of file BlocksALU.cc.
References assert, TTAMachine::HWOperation::bindPort(), BlocksFU::in1, BlocksFU::in2, and BlocksFU::out.
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 156 of file BlocksALU.cc.
References TTAMachine::ExecutionPipeline::addPortRead(), and TTAMachine::ExecutionPipeline::addPortWrite().
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 115 of file BlocksALU.cc.
References alu, BindPorts(), ConfigurePipeline(), BlocksFU::name, and TTAMachine::HWOperation::pipeline().
Referenced by BlocksALU().
TTAMachine::FunctionUnit* BlocksALU::alu |
Definition at line 41 of file BlocksALU.hh.
Referenced by BlocksALU(), and CreateHWOp().