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) {
#define assert(condition)
TTAMachine::FunctionUnit * fu
std::vector< TTAMachine::HWOperation * > ops
std::shared_ptr< TTAMachine::Socket > in1sock
BlocksMULPair(TTAMachine::Machine &mach, const std::string &name, std::list< std::string > sources, bool usesOut0, bool usesOut1)
std::shared_ptr< TTAMachine::Socket > in2sock
std::list< std::string > sources
std::unique_ptr< BlocksMUL > mul0
std::unique_ptr< BlocksMUL > mul1
void ConfigurePipeline(TTAMachine::ExecutionPipeline *pipeline, int numOfOperands)
TTAMachine::HWOperation * CreateHWOp(const std::string &name, int numOfOperands)
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)
TTAMachine::FunctionUnit * mul
void BindPorts(TTAMachine::HWOperation *hwOp, int numOfOperands)
void addPortRead(int operand, int start, int duration)
void addPortWrite(int operand, int start, int duration)
ExecutionPipeline * pipeline() const
virtual void bindPort(int operand, const FUPort &port)
virtual void addSocket(Socket &socket)