56 for (
int i = 0; i < pipeline.
latency(); ++i) {
59 TTAMachine::ExecutionPipeline::ResourceSet::const_iterator res =
60 resourceUsages.begin();
61 while (res != resourceUsages.end()) {
62 resources_.at(i).insert(std::string(
"res:") + (*res)->name());
69 TTAMachine::ExecutionPipeline::OperandSet::const_iterator op =
71 while (op != readOperands.end()) {
79 op = writtenOperands.begin();
80 while (op != writtenOperands.end()) {
118 std::string theString =
"";
119 for (
unsigned cycle = 0; cycle <
resources_.size(); ++cycle) {
123 for (ResourceSet::const_iterator i = resSet.begin();
124 i != resSet.end();) {
127 if (i != resSet.end())
157 for (std::size_t c = cycle; c <
resources_.size(); ++c) {
159 if (other.
width() <= c - cycle)
167 if (thisResources.size() == 0 || otherResources.size() == 0)
172 ResourceSet::const_iterator i = thisResources.begin();
173 while (i != thisResources.end()) {
174 if (otherResources.find(*i) != otherResources.end())
198 for (std::size_t i = 0; i < other.
width(); ++i) {
201 otherResources.begin(), otherResources.end());
static std::string toString(const T &source)
OperandSet writtenOperands(int cycle) const
OperandSet readOperands(int cycle) const
std::set< int > OperandSet
Set for operand indexes.
ResourceSet resourceUsages(int cycle) const
std::set< PipelineElement *, PipelineElement::Comparator > ResourceSet
Set for pipeline elements.
const HWOperation * parentOperation() const
std::string bindingString() const
virtual FUPort * port(int operand) const
ResourceUsageIndex resources_
The storage for the resource usages.
std::set< std::string > ResourceSet
Resources are stored in a set as strings. Normal pipeline resource usages are prefixed with "res:",...
const ResourceSet & resourcesUsedAtCycle(unsigned cycle) const
virtual ~ResourceVector()
std::string toString() const
virtual bool conflictsWith(const ResourceVector &other, unsigned cycle) const
std::size_t width() const
virtual bool operator==(const ResourceVector &rightHand) const
virtual void mergeWith(const ResourceVector &other, unsigned cycle)