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)
59 ops.push_back(copyOp);
75 std::list<std::string> sources,
bool usesOut0,
bool usesOut1)
77 in1sock = std::make_shared<TTAMachine::Socket>(name +
"_in1t");
78 in2sock = std::make_shared<TTAMachine::Socket>(name +
"_in2");
114 if (numOfOperands == 2) {
117 }
else if (numOfOperands == 3) {
126 "Trying to add an MUL operation with a different number of "
127 "operands than 2 or 3.");
140 if (numOfOperands < 3) {
std::vector< TTAMachine::HWOperation * > ops
BlocksMULPair(TTAMachine::Machine &mach, const std::string &name, std::list< std::string > sources, bool usesOut0, bool usesOut1)
virtual void bindPort(int operand, const FUPort &port)
TTAMachine::FunctionUnit * fu
void BindPorts(TTAMachine::HWOperation *hwOp, int numOfOperands)
TTAMachine::HWOperation * CreateHWOp(const std::string &name, int numOfOperands)
#define assert(condition)
TTAMachine::FunctionUnit * mul
std::unique_ptr< BlocksMUL > mul0
void ConfigurePipeline(TTAMachine::ExecutionPipeline *pipeline, int numOfOperands)
std::unique_ptr< BlocksMUL > mul1
void addPortRead(int operand, int start, int duration)
std::shared_ptr< TTAMachine::Socket > in2sock
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)
ExecutionPipeline * pipeline() const
void addPortWrite(int operand, int start, int duration)
std::shared_ptr< TTAMachine::Socket > in1sock
std::list< std::string > sources
virtual void addSocket(Socket &socket)