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