OpenASIP  2.0
Public Member Functions | Public Attributes | List of all members
BlocksLSUPair Class Reference

#include <BlocksLSU.hh>

Collaboration diagram for BlocksLSUPair:
Collaboration graph

Public Member Functions

 BlocksLSUPair (TTAMachine::Machine &mach, const std::string &name, std::list< std::string > sources, TTAMachine::AddressSpace &asData, bool usesOut0, bool usesOut1)
 

Public Attributes

std::unique_ptr< BlocksLSUlsu0
 
std::unique_ptr< BlocksLSUlsu1
 
std::shared_ptr< TTAMachine::Socketin1sock
 
std::shared_ptr< TTAMachine::Socketin2sock
 
std::list< std::string > sources
 

Detailed Description

Definition at line 68 of file BlocksLSU.hh.

Constructor & Destructor Documentation

◆ BlocksLSUPair()

BlocksLSUPair::BlocksLSUPair ( TTAMachine::Machine mach,
const std::string &  name,
std::list< std::string >  sources,
TTAMachine::AddressSpace asData,
bool  usesOut0,
bool  usesOut1 
)

Constructor for BlocksLSUPair

Parameters
machThe TTA machine where the LSU pair needs to be added.
nameThe name of the LSU pair.
sourcesA list of sources that are attached to this unit's input.
asDataThe address space containing the program data.
usesOut0A boolean that indicates whether output port 0 of the FU is used in the Blocks.
usesOut1A boolean that indicates whether output port 1 of the FU is used in the Blocks.

Definition at line 79 of file BlocksLSU.cc.

83  : sources(sources) {
84  in1sock = std::make_shared<TTAMachine::Socket>(name + "_in1t");
85  in2sock = std::make_shared<TTAMachine::Socket>(name + "_in2");
86  mach.addSocket(*(in1sock.get()));
87  mach.addSocket(*(in2sock.get()));
88  if (usesOut0)
89  lsu0.reset(new BlocksLSU(
90  mach, name + "_out0", sources, asData, in1sock, in2sock));
91  if (usesOut1)
92  lsu1.reset(new BlocksLSU(
93  mach, name + "_out1", sources, asData, in1sock, in2sock));
94 }

References TTAMachine::Machine::addSocket(), in1sock, in2sock, lsu0, lsu1, and sources.

Here is the call graph for this function:

Member Data Documentation

◆ in1sock

std::shared_ptr<TTAMachine::Socket> BlocksLSUPair::in1sock

Definition at line 73 of file BlocksLSU.hh.

Referenced by BlocksLSUPair().

◆ in2sock

std::shared_ptr<TTAMachine::Socket> BlocksLSUPair::in2sock

Definition at line 74 of file BlocksLSU.hh.

Referenced by BlocksLSUPair().

◆ lsu0

std::unique_ptr<BlocksLSU> BlocksLSUPair::lsu0

Definition at line 71 of file BlocksLSU.hh.

Referenced by BlocksLSUPair().

◆ lsu1

std::unique_ptr<BlocksLSU> BlocksLSUPair::lsu1

Definition at line 72 of file BlocksLSU.hh.

Referenced by BlocksLSUPair().

◆ sources

std::list<std::string> BlocksLSUPair::sources

Definition at line 75 of file BlocksLSU.hh.

Referenced by BlocksLSUPair().


The documentation for this class was generated from the following files:
BlocksLSUPair::in2sock
std::shared_ptr< TTAMachine::Socket > in2sock
Definition: BlocksLSU.hh:74
BlocksLSUPair::in1sock
std::shared_ptr< TTAMachine::Socket > in1sock
Definition: BlocksLSU.hh:73
BlocksLSU
Definition: BlocksLSU.hh:41
BlocksLSUPair::sources
std::list< std::string > sources
Definition: BlocksLSU.hh:75
BlocksLSUPair::lsu1
std::unique_ptr< BlocksLSU > lsu1
Definition: BlocksLSU.hh:72
BlocksLSUPair::lsu0
std::unique_ptr< BlocksLSU > lsu0
Definition: BlocksLSU.hh:71
TTAMachine::Machine::addSocket
virtual void addSocket(Socket &socket)
Definition: Machine.cc:157