| 
    OpenASIP 2.2
    
   | 
 
#include <BlocksMUL.hh>


Public Member Functions | |
| BlocksMUL (TTAMachine::Machine &mach, const std::string &name, std::list< std::string > sources, std::shared_ptr< TTAMachine::Socket > in1sock, std::shared_ptr< TTAMachine::Socket > in2sock) | |
| ~BlocksMUL () | |
Public Attributes | |
| TTAMachine::FunctionUnit * | mul | 
  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 BlocksMUL.hh.
| BlocksMUL::BlocksMUL | ( | TTAMachine::Machine & | mach, | 
| const std::string & | name, | ||
| std::list< std::string > | sources, | ||
| std::shared_ptr< TTAMachine::Socket > | in1sock, | ||
| std::shared_ptr< TTAMachine::Socket > | in2sock | ||
| ) | 
Constructor BlocksMUL
| mach | The TTA machine where the MUL needs to be added. | 
| name | The name of the MUL. | 
| 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 BlocksMUL.cc.
References CreateHWOp(), BlocksFU::fu, mul, and BlocksFU::ops.

      
  | 
  inline | 
Definition at line 47 of file BlocksMUL.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 113 of file BlocksMUL.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 139 of file BlocksMUL.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 98 of file BlocksMUL.cc.
References BindPorts(), ConfigurePipeline(), mul, BlocksFU::name, and TTAMachine::HWOperation::pipeline().
Referenced by BlocksMUL().

| TTAMachine::FunctionUnit* BlocksMUL::mul | 
Definition at line 41 of file BlocksMUL.hh.
Referenced by BlocksMUL(), and CreateHWOp().