Go to the documentation of this file.
59 area_(areaData), delay_(internalDelayData) {
82 for (EnergyMap::const_iterator i = stats1.
energies_.begin();
85 string key = (*i).first;
86 double energy1 = (*i).second;
89 double energy = energy1 + coefficient * (energy2 - energy1);
95 for (EnergyMap::const_iterator i = stats2.
energies_.begin();
98 string key = (*i).first;
103 for (EnergyMap::const_iterator i = stats1.
energies_.begin();
106 string key = (*i).first;
111 for (DelayMap::const_iterator i = stats1.
delays_.begin();
112 i != stats1.
delays_.end(); i++) {
114 string key = (*i).first;
115 double delay1 = (*i).second;
118 double delay = delay1 + coefficient * (delay2 - delay1);
124 for (DelayMap::const_iterator i = stats2.
delays_.begin();
125 i != stats2.
delays_.end(); i++) {
127 string key = (*i).first;
132 for (DelayMap::const_iterator i = stats1.
delays_.begin();
133 i != stats1.
delays_.end(); i++) {
135 string key = (*i).first;
157 for (EnergyMap::const_iterator i =
energies_.begin();
160 newStats->
addEnergy((*i).first, (*i).second);
162 for (DelayMap::const_iterator i =
delays_.begin();
165 newStats->
setDelay((*i).first, (*i).second);
221 "CostDBEntryStats::energyOperation");
236 "CostDBEntryStats::hasEnergyOperation");
251 "CostDBEntryStats::energyRead");
266 "CostDBEntryStats::energyRead");
283 "CostDBEntryStats::energyReadsWrites");
296 EnergyMap::const_iterator i =
energies_.find(key);
309 EnergyMap::const_iterator i =
energies_.find(key);
311 throw KeyNotFound(__FILE__, __LINE__,
"CostDBEntryStats::findEnergy");
360 "CostDBEntryStats::setEnergyOperation");
373 "CostDBEntryStats::setEnergyRead");
386 "CostDBEntryStats::setEnergyWrite");
401 "CostDBEntryStats::setEnergyReadsWrites");
416 EnergyMap::iterator iter =
energies_.find(key);
420 std::pair<const std::string, double> energyKey =
421 std::pair<const std::string, double>(key, energy);
460 DelayMap::const_iterator i =
delays_.find(key);
463 throw KeyNotFound(__FILE__, __LINE__,
"CostDBEntryStats::findDelay");
480 DelayMap::iterator iter =
delays_.find(key);
484 std::pair<const std::string, double> delayKey =
485 std::pair<const std::string, double>(key,
delay);
498 DelayMap::const_iterator i =
delays_.find(key);
static const std::string ENERGY_WRITE
String for write energy.
virtual void setEnergyWrite(double energy)
DelayMap delays_
input and output delays in nanoseconds.
static const std::string ENERGY_READ_WRITE
String for reads and writes energy.
virtual bool hasEnergy(const std::string &key) const
virtual double delay() const
double delay_
delay in nanoseconds.
static const std::string ENERGY_IDLE
String for idle energy.
virtual CostDBEntryStats * createStats() const
virtual double energyActive() const
virtual double energyOperation(const std::string &name) const
virtual bool hasDelay(const std::string &key) const
virtual void setEnergyRead(double energy)
static const std::string ENERGY_READ
String for read energy.
virtual void setDelay(const std::string &port, double delay)
virtual ~CostDBEntryStats()
virtual void addDelay(const std::string &name, double delay)
virtual double area() const
virtual CostDBEntryStats * copy() const
virtual double findDelay(const std::string &key) const
virtual void setEnergyIdle(double energy)
EnergyMap energies_
Energies of one specific type of usage of a resource. Usually the map contains energies for active an...
virtual void addEnergy(const std::string &name, double energy)
virtual double energyWrite() const
static const std::string ENERGY_ACTIVE
String for active energy.
virtual void setEnergyActive(double energy)
virtual double findEnergy(const std::string &key) const
virtual void setEnergyReadWrite(int reads, int writes, double energy)
virtual bool hasEnergyOperation(const std::string &name) const
virtual double energyRead() const
virtual double energyIdle() const
double area_
area in gates.
CostDBEntryStats(double areaData, double internalDelayData)
virtual void setEnergyOperation(const std::string &name, double energy)
virtual double energyReadWrite(int reads, int writes) const
virtual double delayPort(const std::string &port) const