55 const std::string& name,
int width,
int limmSlotCount,
int nopSlotCount,
57 int immSize,
int socketCount,
unsigned int initiationInterval) :
59 limmSlotCount_(limmSlotCount), nopSlotCount_(nopSlotCount),
60 guardCount_(guardCount),
61 immSize_(immSize), socketCount_(socketCount) {
76 ResourceRecordType::const_iterator i =
148 std::string msg =
"Bus ";
150 msg +=
" can not be unassigned in cycle ";
152 msg +=
", it was not in use!";
183 if (!
isAvailable(cycle, inputPSocket, outputPSocket)) {
200 int opdWidth = op.operand(opdIdx).width();
201 maxOpdWidth = std::max(maxOpdWidth, opdWidth);
204 useBits = std::min(useBits, maxOpdWidth);
210 int transportWidth = std::min(defBits, useBits);
324 return other.SchedulingResource::operator<(*this);
#define assert(condition)
virtual bool validateDependentGroups() override
virtual bool canAssign(const int cycle, const MoveNode &node) const override
virtual bool isInUse(const int cycle) const override
virtual bool validateRelatedGroups() override
virtual void assign(const int cycle, MoveNode &node) override
virtual void unassign(const int cycle, MoveNode &node) override
ResourceRecordType resourceRecord_
virtual bool isBusResource() const override
virtual bool isAvailable(const int cycle) const override
BusResource(const std::string &name, int width, int limmSlotCount, int nopSlotCount, int guardCount, int immSize, int socketCount, unsigned int initiationInterval=0)
virtual bool operator<(const SchedulingResource &other) const override
static std::string toString(const T &source)
unsigned int destinationOperationCount() const
TTAProgram::Move & move()
bool isSourceConstant() const
ProgramOperation & destinationOperation(unsigned int index=0) const
const Operation & operation() const
virtual void increaseUseCount()
virtual SchedulingResource & relatedResource(const int group, const int index) const
int instructionIndex(int cycle) const
int relatedResourceCount(const int group) const
virtual bool isInputPSocketResource() const
virtual const std::string & name() const
virtual bool hasRelatedResource(const SchedulingResource &sResource) const
virtual bool isOutputPSocketResource() const
virtual int relatedResourceGroupCount() const
virtual int width() const =0
Terminal & source() const
Terminal & destination() const
virtual int operationIndex() const
virtual const TTAMachine::Port & port() const