Go to the documentation of this file.
48 Machine& mach,
const std::string& name, std::list<std::string> sources,
49 std::shared_ptr<TTAMachine::Socket> in1sock,
50 std::shared_ptr<TTAMachine::Socket> in2sock)
92 std::list<std::string> sources,
bool usesOut0,
bool usesOut1)
94 in1sock = std::make_shared<TTAMachine::Socket>(name +
"_in1t");
95 in2sock = std::make_shared<TTAMachine::Socket>(name +
"_in2");
131 if (numOfOperands == 2) {
134 }
else if (numOfOperands == 3) {
143 "Trying to add an ALU operation with a different number of "
144 "operands than 2 or 3.");
157 if (numOfOperands < 3) {
std::vector< TTAMachine::HWOperation * > ops
std::list< std::string > sources
virtual void bindPort(int operand, const FUPort &port)
TTAMachine::FunctionUnit * fu
std::shared_ptr< TTAMachine::Socket > in1sock
std::unique_ptr< BlocksALU > alu1
#define assert(condition)
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)
TTAMachine::HWOperation * CreateHWOp(const std::string &name, int numOfOperands)
void addPortRead(int operand, int start, int duration)
std::unique_ptr< BlocksALU > alu0
void ConfigurePipeline(TTAMachine::ExecutionPipeline *pipeline, int numOfOperands)
std::shared_ptr< TTAMachine::Socket > in2sock
ExecutionPipeline * pipeline() const
void addPortWrite(int operand, int start, int duration)
void BindPorts(TTAMachine::HWOperation *hwOp, int numOfOperands)
TTAMachine::FunctionUnit * alu
virtual void addSocket(Socket &socket)
BlocksALUPair(TTAMachine::Machine &mach, const std::string &name, std::list< std::string > sources, bool usesOut0, bool usesOut1)