Go to the documentation of this file.
34 #ifndef TTA_IURESOURCE_HH
35 #define TTA_IURESOURCE_HH
44 class TerminalImmediate;
61 const std::string&
name,
65 const bool signExtension,
68 virtual bool isInUse(
const int cycle)
const override;
69 virtual bool isAvailable(
const int cycle,
int immRegIndex)
const;
70 virtual bool isAvailable(
const int cycle)
const override;
76 int immRegIndex)
const;
89 std::shared_ptr<TTAProgram::TerminalImmediate>
95 void clear()
override;
121 const int defCycle,
const int useCycle,
int immRegIndex)
const;
virtual bool validateDependentGroups() override
IUResource(const TTAMachine::Machine &mach, const std::string &name, const int registers, const int width, const int latency, const bool signExtension, unsigned int initiationInterval=0)
bool canAssignUse(int useCycle) const
void setRegisterCount(const int registers)
std::vector< ResourceRecordVectorType > resourceRecord_
std::vector< ResourceRecordType * > ResourceRecordVectorType
virtual void assign(const int cycle, MoveNode &node) override
int findAvailable(const int defCycle, const int useCycle, int immRegIndex) const
virtual bool canAssign(const int, const MoveNode &) const override
IUResource & operator=(const IUResource &)
virtual bool validateRelatedGroups() override
int immediateWriteCycle(const MoveNode &node) const
int initiationInterval() const
virtual bool isIUResource() const override
virtual void unassign(const int cycle, MoveNode &node) override
const TTAMachine::Machine & machine_
std::shared_ptr< TTAProgram::TerminalImmediate > immediateValue(const MoveNode &node) const
virtual bool isInUse(const int cycle) const override
std::shared_ptr< TTAProgram::TerminalImmediate > immediateValue_
virtual const std::string & name() const
int registerCount() const
virtual bool isAvailable(const int cycle, int immRegIndex) const
ResourceRecordType(int definition, int use, TTAProgram::TerminalImmediate *val)