119 virtual std::vector<RowID>
124 std::vector<RowID> result;
141 std::ostringstream msg(std::ostringstream::out);
186 result.push_back(confID);
190 std::ostringstream msg(std::ostringstream::out);
191 msg <<
"Error while using ImmediateGenerator:" << endl
256 std::ostringstream msg(std::ostringstream::out);
257 msg <<
"====== Instruction templates: =======" << endl;
261 for (
int it = 0; it < ITNav.
count(); it++) {
262 insTemplate = ITNav.
item(it);
264 msg <<
"Instruction template: " << insTemplate->
name() << endl;
266 msg <<
"\tEmpty instruction template." << endl;
270 msg <<
"\tSlot count: " << insTemplate->
slotCount() << endl;
271 for (
int sc = 0; sc < insTemplate->
slotCount(); sc++) {
272 tempSlot = insTemplate->
slot(sc);
273 msg <<
"\t\tSlot name: " << tempSlot->
slot() << endl;
274 msg <<
"\t\tSlot width: " << tempSlot->
width() << endl;
275 msg <<
"\t\tSlot destination: "
279 msg <<
"\tSupported Width: " << insTemplate->
supportedWidth() << endl;
280 msg <<
"\tNumber of Destinations: "
297 for (
int it = 0; it < ITNav.
count(); it++) {
298 insTemplate = ITNav.
item(it);
306 std::ostringstream msg(std::ostringstream::out);
307 msg <<
"Error while using ImmediateGenerator:" << endl
308 <<
"Instruction template with name \"" <<
name
309 <<
"\" was not found." << endl;
326 std::ostringstream msg(std::ostringstream::out);
327 msg <<
"Error while using ImmediateGenerator:" << endl
333 std::ostringstream msg(std::ostringstream::out);
334 msg <<
"Error while using ImmediateGenerator:" << endl
361 if (IUNav.
count() > 0) {
362 dstImmUnit = IUNav.
item(0);
364 std::ostringstream msg(std::ostringstream::out);
365 msg <<
"Error while using ImmediateGenerator:" << endl
366 <<
"No immediate units." << endl;
371 for (
int iu = 0; iu < IUNav.
count(); iu++) {
372 immUnit = IUNav.
item(iu);
374 dstImmUnit = immUnit;
377 if (dstImmUnit == NULL) {
378 std::ostringstream msg(std::ostringstream::out);
379 msg <<
"Error while using ImmediateGenerator:" << endl
380 <<
"Given destination immediate unit \""
391 std::ostringstream msg(std::ostringstream::out);
392 msg <<
"Error while using ImmediateGenerator:" << endl
399 std::ostringstream msg(std::ostringstream::out);
400 msg <<
"Error while using ImmediateGenerator:" << endl
414 if (busNav.
count() < slotCount) {
415 slotCount = busNav.
count();
421 for (
int bus = 0; bus < slotCount; bus++) {
422 busP = busNav.
item(bus);
425 if (overSpill <
static_cast<int>(
427 widthAdd = overSpill;
431 overSpill = overSpill - widthAdd;
441 std::ostringstream msg(std::ostringstream::out);
442 msg <<
"Error while using ImmediateGenerator:" << endl
453 std::ostringstream msg(std::ostringstream::out);
454 msg <<
"Error while using ImmediateGenerator:" << endl
455 <<
"Immediate template generation failed, width=\"" <<
width_
456 <<
"\" too great by: \"" << overSpill <<
"\"" << endl;
int RowID
Type definition of row ID in relational databases.
#define EXPORT_DESIGN_SPACE_EXPLORER_PLUGIN(PLUGIN_NAME__)
find Finds info of the inner loops in the false
static std::string toString(const T &source)
AreaInGates totalArea(const TTAMachine::Machine &machine, const IDF::MachineImplementation &machineImplementation)
area estimation functions
DelayInNanoSeconds longestPath(const TTAMachine::Machine &machine, const IDF::MachineImplementation &machineImplementation)
delay estimation functions
RowID addArchitecture(const TTAMachine::Machine &mom)
TTAMachine::Machine * architecture(RowID id) const
IDF::MachineImplementation * implementation(RowID id) const
MachineConfiguration configuration(RowID id) const
RowID addImplementation(const IDF::MachineImplementation &impl, double longestPathDelay, CostEstimator::AreaInGates area)
RowID addConfiguration(const MachineConfiguration &conf)
void readCompulsoryParameter(const std::string paramName, T ¶m) const
virtual std::string name() const
void addParameter(TCEString name, ExplorerPluginParameterType type, bool compulsory=true, TCEString defaultValue="", TCEString description="")
virtual DSDBManager & db()
std::string errorMessage() const
virtual TCEString name() const
virtual int slotCount() const
virtual void addSlot(const std::string &slotName, int width, ImmediateUnit &dstUnit)
virtual TemplateSlot * slot(int index) const
virtual bool isEmpty() const
virtual int supportedWidth() const
virtual int numberOfDestinations() const
ComponentType * item(int index) const
virtual InstructionTemplateNavigator instructionTemplateNavigator() const
virtual void deleteInstructionTemplate(InstructionTemplate &instrTempl)
virtual ImmediateUnitNavigator immediateUnitNavigator() const
virtual BusNavigator busNavigator() const
ImmediateUnit * destination() const
double AreaInGates
type for area values in equivalent gates
double DelayInNanoSeconds
type for propagation delays in nano seconds