OpenASIP  2.0
Public Member Functions | Protected Member Functions | Static Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
CostDBEntryStats Class Reference

#include <CostDBEntryStats.hh>

Inheritance diagram for CostDBEntryStats:
Inheritance graph
Collaboration diagram for CostDBEntryStats:
Collaboration graph

Public Member Functions

 CostDBEntryStats (double areaData, double internalDelayData)
 
virtual ~CostDBEntryStats ()
 
 CostDBEntryStats (const CostDBEntryStats &stats1, const CostDBEntryStats &stats2, double coefficient)
 
virtual CostDBEntryStatscopy () const
 
virtual double area () const
 
virtual double delay () const
 
virtual double delayPort (const std::string &port) const
 
virtual void setDelay (const std::string &port, double delay)
 
virtual double energyActive () const
 
virtual double energyIdle () const
 
virtual double energyOperation (const std::string &name) const
 
virtual bool hasEnergyOperation (const std::string &name) const
 
virtual double energyRead () const
 
virtual double energyWrite () const
 
virtual double energyReadWrite (int reads, int writes) const
 
virtual void setEnergyActive (double energy)
 
virtual void setEnergyIdle (double energy)
 
virtual void setEnergyOperation (const std::string &name, double energy)
 
virtual void setEnergyRead (double energy)
 
virtual void setEnergyWrite (double energy)
 
virtual void setEnergyReadWrite (int reads, int writes, double energy)
 

Protected Member Functions

virtual bool hasEnergy (const std::string &key) const
 
virtual double findEnergy (const std::string &key) const
 
virtual void addEnergy (const std::string &name, double energy)
 
virtual bool hasDelay (const std::string &key) const
 
virtual double findDelay (const std::string &key) const
 
virtual void addDelay (const std::string &name, double delay)
 
virtual CostDBEntryStatscreateStats () const
 

Static Protected Attributes

static const std::string ENERGY_ACTIVE = "(active)"
 String for active energy. More...
 
static const std::string ENERGY_IDLE = "(idle)"
 String for idle energy. More...
 
static const std::string ENERGY_READ = "(read)"
 String for read energy. More...
 
static const std::string ENERGY_WRITE = "(write)"
 String for write energy. More...
 
static const std::string ENERGY_READ_WRITE = "(rd,wr)"
 String for reads and writes energy. More...
 

Private Types

typedef std::map< const std::string, double > EnergyMap
 Map of energies. More...
 
typedef std::map< const std::string, double > DelayMap
 Map of delays. More...
 

Private Member Functions

 CostDBEntryStats (const CostDBEntryStats &)
 Copying not allowed. More...
 
CostDBEntryStatsoperator= (const CostDBEntryStats &)
 Assignment not allowed. More...
 

Private Attributes

double area_
 area in gates. More...
 
double delay_
 delay in nanoseconds. More...
 
DelayMap delays_
 input and output delays in nanoseconds. More...
 
EnergyMap energies_
 Energies of one specific type of usage of a resource. Usually the map contains energies for active and idle usage of a resource. However, in case of FUs the active energy does not exist and but energies are defined for each operation. More...
 

Detailed Description

Stores area, delay and energy statistics.

Definition at line 46 of file CostDBEntryStats.hh.

Member Typedef Documentation

◆ DelayMap

typedef std::map<const std::string, double> CostDBEntryStats::DelayMap
private

Map of delays.

Definition at line 100 of file CostDBEntryStats.hh.

◆ EnergyMap

typedef std::map<const std::string, double> CostDBEntryStats::EnergyMap
private

Map of energies.

Definition at line 98 of file CostDBEntryStats.hh.

Constructor & Destructor Documentation

◆ CostDBEntryStats() [1/3]

CostDBEntryStats::CostDBEntryStats ( double  areaData,
double  internalDelayData 
)

Constructor.

Parameters
areaDataarea.
internalDelayDataComponents internal delay.

Definition at line 58 of file CostDBEntryStats.cc.

58  :
59  area_(areaData), delay_(internalDelayData) {
60 }

Referenced by createStats().

◆ ~CostDBEntryStats()

CostDBEntryStats::~CostDBEntryStats ( )
virtual

Destructor.

Definition at line 144 of file CostDBEntryStats.cc.

144  {
145 }

◆ CostDBEntryStats() [2/3]

CostDBEntryStats::CostDBEntryStats ( const CostDBEntryStats stats1,
const CostDBEntryStats stats2,
double  coefficient 
)

Constructor.

Combines two statistics into one using coefficient as a weighting factor on interpolating the statistics. For example, if weighting factor is 0.4, the first area 100 and the second 200, area of new statistics will be 140. delay and energy will be handled similarly.

Parameters
stats1First statistics.
stats2Second statistics.
coefficientWeighting factor.
Exceptions
KeyNotFoundThrown in case that the two statistics won't contain equal keys.

Definition at line 76 of file CostDBEntryStats.cc.

78  {
79  area_ = stats1.area() + coefficient * (stats2.area() - stats1.area());
80  delay_ = stats1.delay() + coefficient * (stats2.delay() - stats1.delay());
81 
82  for (EnergyMap::const_iterator i = stats1.energies_.begin();
83  i != stats1.energies_.end(); i++) {
84 
85  string key = (*i).first;
86  double energy1 = (*i).second;
87  double energy2 = stats2.findEnergy(key);
88 
89  double energy = energy1 + coefficient * (energy2 - energy1);
90 
91  addEnergy(key, energy);
92  }
93 
94  // checks that the energy keys are equal in both statistics
95  for (EnergyMap::const_iterator i = stats2.energies_.begin();
96  i != stats2.energies_.end(); i++) {
97 
98  string key = (*i).first;
99  // checks if the energy exist for the key
100  stats1.findEnergy(key);
101  }
102  // check also keys of the other stats
103  for (EnergyMap::const_iterator i = stats1.energies_.begin();
104  i != stats1.energies_.end(); i++) {
105 
106  string key = (*i).first;
107  // checks if the energy exist for the key
108  stats2.findEnergy(key);
109  }
110 
111  for (DelayMap::const_iterator i = stats1.delays_.begin();
112  i != stats1.delays_.end(); i++) {
113 
114  string key = (*i).first;
115  double delay1 = (*i).second;
116  double delay2 = stats2.findDelay(key);
117 
118  double delay = delay1 + coefficient * (delay2 - delay1);
119 
120  addDelay(key, delay);
121  }
122 
123  // checks that the delay keys are equal in both statistics
124  for (DelayMap::const_iterator i = stats2.delays_.begin();
125  i != stats2.delays_.end(); i++) {
126 
127  string key = (*i).first;
128  // checks if the delay exist for the key
129  stats1.findDelay(key);
130  }
131  // check also keys of the other stats
132  for (DelayMap::const_iterator i = stats1.delays_.begin();
133  i != stats1.delays_.end(); i++) {
134 
135  string key = (*i).first;
136  // checks if the delay exist for the key
137  stats2.findDelay(key);
138  }
139 }

References addDelay(), addEnergy(), area(), area_, delay(), delay_, delays_, energies_, findDelay(), and findEnergy().

Here is the call graph for this function:

◆ CostDBEntryStats() [3/3]

CostDBEntryStats::CostDBEntryStats ( const CostDBEntryStats )
private

Copying not allowed.

Member Function Documentation

◆ addDelay()

void CostDBEntryStats::addDelay ( const std::string &  key,
double  delay 
)
protectedvirtual

Set the delay of an entry for a given key.

Removes the old value.

Parameters
keyThe key.
delayThe delay of an entry for a given key.

Definition at line 477 of file CostDBEntryStats.cc.

477  {
478 
479  // if old value for delay is found it is removed first
480  DelayMap::iterator iter = delays_.find(key);
481  if (iter != delays_.end()) {
482  delays_.erase(iter);
483  }
484  std::pair<const std::string, double> delayKey =
485  std::pair<const std::string, double>(key, delay);
486  delays_.insert(delayKey);
487 }

References delay(), and delays_.

Referenced by CostDBEntryStats(), and setDelay().

Here is the call graph for this function:

◆ addEnergy()

void CostDBEntryStats::addEnergy ( const std::string &  key,
double  energy 
)
protectedvirtual

Set the energy of an entry for a given key.

Removes the old value.

Parameters
keyThe key.
energyThe energy of an entry for a given key.

Definition at line 413 of file CostDBEntryStats.cc.

413  {
414 
415  // if old value for energy is found it is removed first
416  EnergyMap::iterator iter = energies_.find(key);
417  if (iter != energies_.end()) {
418  energies_.erase(iter);
419  }
420  std::pair<const std::string, double> energyKey =
421  std::pair<const std::string, double>(key, energy);
422  energies_.insert(energyKey);
423 }

References energies_.

Referenced by copy(), CostDBEntryStats(), setEnergyActive(), setEnergyIdle(), CostDBEntryStatsFU::setEnergyOperation(), CostDBEntryStatsRF::setEnergyRead(), CostDBEntryStatsRF::setEnergyReadWrite(), and CostDBEntryStatsRF::setEnergyWrite().

◆ area()

virtual double CostDBEntryStats::area ( ) const
virtual

◆ copy()

CostDBEntryStats * CostDBEntryStats::copy ( ) const
virtual

Returns the copy of the statistics.

Returns
Copy of statistics.

Definition at line 153 of file CostDBEntryStats.cc.

153  {
154 
155  CostDBEntryStats* newStats = createStats();
156 
157  for (EnergyMap::const_iterator i = energies_.begin();
158  i != energies_.end(); i++) {
159 
160  newStats->addEnergy((*i).first, (*i).second);
161  }
162  for (DelayMap::const_iterator i = delays_.begin();
163  i != delays_.end(); i++) {
164 
165  newStats->setDelay((*i).first, (*i).second);
166  }
167 
168  return newStats;
169 }

References addEnergy(), createStats(), delays_, energies_, and setDelay().

Referenced by CostDatabase::insertEntry().

Here is the call graph for this function:

◆ createStats()

CostDBEntryStats * CostDBEntryStats::createStats ( ) const
protectedvirtual

Create correct type of statistics.

Returns
Correct type of statistics.

Reimplemented in CostDBEntryStatsRF, and CostDBEntryStatsFU.

Definition at line 177 of file CostDBEntryStats.cc.

177  {
178 
179  return new CostDBEntryStats(area(), delay());
180 }

References area(), CostDBEntryStats(), and delay().

Referenced by copy().

Here is the call graph for this function:

◆ delay()

virtual double CostDBEntryStats::delay ( ) const
virtual

◆ delayPort()

double CostDBEntryStats::delayPort ( const std::string &  port) const
virtual

Returns the delay of given port is usage an an input/output.

Parameters
portThe name of the port.
Returns
The delay of an entry when given port is used.
Exceptions
WrongSubclassNever thrown by this function.
KeyNotFoundThrown if delay for given port is not set.

Definition at line 434 of file CostDBEntryStats.cc.

434  {
435  return findDelay(port);
436 }

References findDelay().

Here is the call graph for this function:

◆ energyActive()

double CostDBEntryStats::energyActive ( ) const
virtual

Returns the energy of an entry in an active cycle.

Returns
The energy of an entry in an active cycle.
Exceptions
WrongSubclassNever thrown.
KeyNotFoundThrown if active energy is not set.

Reimplemented in CostDBEntryStatsRF, and CostDBEntryStatsFU.

Definition at line 190 of file CostDBEntryStats.cc.

190  {
191  return findEnergy(ENERGY_ACTIVE);
192 }

References ENERGY_ACTIVE, and findEnergy().

Here is the call graph for this function:

◆ energyIdle()

double CostDBEntryStats::energyIdle ( ) const
virtual

Returns the energy of an entry in an idle cycle.

Returns
The energy of an entry in an idle cycle.
Exceptions
WrongSubclassNever thrown by this function.
KeyNotFoundThrown if idle enrgy is not set.

Definition at line 202 of file CostDBEntryStats.cc.

202  {
203  return findEnergy(ENERGY_IDLE);
204 }

References ENERGY_IDLE, and findEnergy().

Here is the call graph for this function:

◆ energyOperation()

double CostDBEntryStats::energyOperation ( const std::string &  name) const
virtual

Returns the energy of an entry when given operation is executed.

The function will fail since this class should be used for entries which do not have operation set as a search key.

Parameters
nameThe name of the operation.
Returns
The energy of an entry when given operation is executed.
Exceptions
WrongSubclassAn illegal function was called for this instance.
KeyNotFoundNo energy matching the string found.

Reimplemented in CostDBEntryStatsFU.

Definition at line 219 of file CostDBEntryStats.cc.

219  {
220  throw WrongSubclass(__FILE__, __LINE__,
221  "CostDBEntryStats::energyOperation");
222  return 0.0; // stupid return statement to make compiler quiet
223 }

◆ energyRead()

double CostDBEntryStats::energyRead ( ) const
virtual

Returns the read energy of an entry.

Returns
The read energy of an entry.
Exceptions
WrongSubclassAn illegal function was called for this instance.
KeyNotFoundNever thrown by this function.

Reimplemented in CostDBEntryStatsRF.

Definition at line 249 of file CostDBEntryStats.cc.

249  {
250  throw WrongSubclass(__FILE__, __LINE__,
251  "CostDBEntryStats::energyRead");
252  return 0.0; // stupid return statement to make compiler quiet
253 }

◆ energyReadWrite()

double CostDBEntryStats::energyReadWrite ( int  reads,
int  writes 
) const
virtual

Returns the reads and writes energy of an entry.

Parameters
readsThe number of simultaneus reads done for the unit.
writesThe number of simultaneus writes done for the unit.
Returns
The reads and writes energy of an entry.
Exceptions
WrongSubclassAn illegal function was called for this instance.
KeyNotFoundNever thrown by this function.

Reimplemented in CostDBEntryStatsRF.

Definition at line 281 of file CostDBEntryStats.cc.

281  {
282  throw WrongSubclass(__FILE__, __LINE__,
283  "CostDBEntryStats::energyReadsWrites");
284  return 0.0; // stupid return statement to make compiler quiet
285 }

◆ energyWrite()

double CostDBEntryStats::energyWrite ( ) const
virtual

Returns the write energy of an entry.

Returns
The write energy of an entry.
Exceptions
WrongSubclassAn illegal function was called for this instance.
KeyNotFoundNever thrown by this function.

Reimplemented in CostDBEntryStatsRF.

Definition at line 264 of file CostDBEntryStats.cc.

264  {
265  throw WrongSubclass(__FILE__, __LINE__,
266  "CostDBEntryStats::energyRead");
267  return 0.0; // stupid return statement to make compiler quiet
268 }

◆ findDelay()

double CostDBEntryStats::findDelay ( const std::string &  key) const
protectedvirtual

Returns the input/output delay of an entry usign given key as an input/output port.

Parameters
keyThe key.
Returns
The input/output delay using the given port.
Exceptions
KeyNotFoundRequested key was not found.

Definition at line 459 of file CostDBEntryStats.cc.

459  {
460  DelayMap::const_iterator i = delays_.find(key);
461 
462  if (i == delays_.end()) {
463  throw KeyNotFound(__FILE__, __LINE__, "CostDBEntryStats::findDelay");
464  }
465  return i->second;
466 }

References delays_.

Referenced by CostDBEntryStats(), and delayPort().

◆ findEnergy()

double CostDBEntryStats::findEnergy ( const std::string &  key) const
protectedvirtual

Returns the energy of an entry for a given key.

Parameters
keyThe key.
Returns
The energy of an entry in an active cycle.
Exceptions
KeyNotFoundRequested key was not found.

Definition at line 308 of file CostDBEntryStats.cc.

308  {
309  EnergyMap::const_iterator i = energies_.find(key);
310  if (i == energies_.end()) {
311  throw KeyNotFound(__FILE__, __LINE__, "CostDBEntryStats::findEnergy");
312  }
313  return i->second;
314 }

References energies_.

Referenced by CostDBEntryStats(), energyActive(), energyIdle(), CostDBEntryStatsFU::energyOperation(), CostDBEntryStatsRF::energyRead(), CostDBEntryStatsRF::energyReadWrite(), and CostDBEntryStatsRF::energyWrite().

◆ hasDelay()

bool CostDBEntryStats::hasDelay ( const std::string &  key) const
protectedvirtual

Checks whether the delay exists for a given key.

Parameters
keyThe key.
Returns
True if delay exists for a given key, otherwise false.

Definition at line 496 of file CostDBEntryStats.cc.

496  {
497 
498  DelayMap::const_iterator i = delays_.find(key);
499  return i != delays_.end();
500 }

References delays_.

◆ hasEnergy()

bool CostDBEntryStats::hasEnergy ( const std::string &  key) const
protectedvirtual

Checks whether the energy exists for a given key.

Parameters
keyThe key.
Returns
True if energy exists for a given key, otherwise false.

Definition at line 294 of file CostDBEntryStats.cc.

294  {
295 
296  EnergyMap::const_iterator i = energies_.find(key);
297  return i != energies_.end();
298 }

References energies_.

Referenced by CostDBEntryStatsFU::hasEnergyOperation().

◆ hasEnergyOperation()

bool CostDBEntryStats::hasEnergyOperation ( const std::string &  name) const
virtual

Checks whether the energy exists for the given operation.

Parameters
namename of the operation.
Returns
True if the energy exists for the given operation.
Exceptions
WrongSubclassAn illegal function was called for this instance.

Reimplemented in CostDBEntryStatsFU.

Definition at line 234 of file CostDBEntryStats.cc.

234  {
235  throw WrongSubclass(__FILE__, __LINE__,
236  "CostDBEntryStats::hasEnergyOperation");
237  return false; // stupid return statement to make compiler quiet
238 }

◆ operator=()

CostDBEntryStats& CostDBEntryStats::operator= ( const CostDBEntryStats )
private

Assignment not allowed.

◆ setDelay()

void CostDBEntryStats::setDelay ( const std::string &  port,
double  delay 
)
virtual

Set the delay of an input/output port usage.

Parameters
portName of the input/output port.
delayThe delay of an input/ouput when using the given port.
Exceptions
WrongSubclassNever thrown by this function.

Definition at line 446 of file CostDBEntryStats.cc.

446  {
447  addDelay(port, delay);
448 }

References addDelay(), and delay().

Referenced by CostDatabase::buildFunctionUnits(), CostDatabase::buildRegisterFiles(), CostDatabase::buildSockets(), and copy().

Here is the call graph for this function:

◆ setEnergyActive()

void CostDBEntryStats::setEnergyActive ( double  energy)
virtual

Set the energy of an entry in an active cycle.

Parameters
energyThe energy of an entry in an active cycle.
Exceptions
WrongSubclassNever thrown by this function.

Reimplemented in CostDBEntryStatsRF, and CostDBEntryStatsFU.

Definition at line 323 of file CostDBEntryStats.cc.

323  {
324  EnergyMap::iterator iter = energies_.find(ENERGY_ACTIVE);
325  if (iter != energies_.end()) {
326  energies_.erase(iter);
327  }
328  addEnergy(ENERGY_ACTIVE, energy);
329 }

References addEnergy(), energies_, and ENERGY_ACTIVE.

Referenced by CostDatabase::buildBuses(), and CostDatabase::buildSockets().

Here is the call graph for this function:

◆ setEnergyIdle()

void CostDBEntryStats::setEnergyIdle ( double  energy)
virtual

Set the energy of an entry in an idle cycle.

Parameters
energyThe energy of an entry in an idle cycle.
Exceptions
WrongSubclassNever thrown by this function.

Definition at line 338 of file CostDBEntryStats.cc.

338  {
339  EnergyMap::iterator iter = energies_.find(ENERGY_IDLE);
340  if (iter != energies_.end()) {
341  energies_.erase(iter);
342  }
343  addEnergy(ENERGY_IDLE, energy);
344 }

References addEnergy(), energies_, and ENERGY_IDLE.

Referenced by CostDatabase::buildBuses(), CostDatabase::buildFunctionUnits(), CostDatabase::buildRegisterFiles(), and CostDatabase::buildSockets().

Here is the call graph for this function:

◆ setEnergyOperation()

void CostDBEntryStats::setEnergyOperation ( const std::string &  name,
double  energy 
)
virtual

Set the energy of an entry when given operation is executed.

The function will fail since this class should be used for entries which do not have operation set as a search key.

Parameters
namename of the operation.
energyThe energy of an entry when given operation is executed.
Exceptions
WrongSubclassAn illegal function was called for this instance.

Reimplemented in CostDBEntryStatsFU.

Definition at line 358 of file CostDBEntryStats.cc.

358  {
359  throw WrongSubclass(__FILE__, __LINE__,
360  "CostDBEntryStats::setEnergyOperation");
361 }

◆ setEnergyRead()

void CostDBEntryStats::setEnergyRead ( double  energy)
virtual

Set the read energy of an entry.

Parameters
energyThe read energy of an entry.
Exceptions
WrongSubclassAn illegal function was called for this instance.

Reimplemented in CostDBEntryStatsRF.

Definition at line 371 of file CostDBEntryStats.cc.

371  {
372  throw WrongSubclass(__FILE__, __LINE__,
373  "CostDBEntryStats::setEnergyRead");
374 }

◆ setEnergyReadWrite()

void CostDBEntryStats::setEnergyReadWrite ( int  reads,
int  writes,
double  energy 
)
virtual

Set the reads and writes energy of an entry.

Parameters
energyThe reads and writes energy of an entry.
readsThe number of reads of the unit.
writesThe number of writes of the unit.
Exceptions
WrongSubclassAn illegal function was called for this instance.

Reimplemented in CostDBEntryStatsRF.

Definition at line 399 of file CostDBEntryStats.cc.

399  {
400  throw WrongSubclass(__FILE__, __LINE__,
401  "CostDBEntryStats::setEnergyReadsWrites");
402 }

◆ setEnergyWrite()

void CostDBEntryStats::setEnergyWrite ( double  energy)
virtual

Set the write energy of an entry.

Parameters
energyThe write energy of an entry.
Exceptions
WrongSubclassAn illegal function was called for this instance.

Reimplemented in CostDBEntryStatsRF.

Definition at line 384 of file CostDBEntryStats.cc.

384  {
385  throw WrongSubclass(__FILE__, __LINE__,
386  "CostDBEntryStats::setEnergyWrite");
387 }

Member Data Documentation

◆ area_

double CostDBEntryStats::area_
private

area in gates.

Definition at line 103 of file CostDBEntryStats.hh.

Referenced by CostDBEntryStats().

◆ delay_

double CostDBEntryStats::delay_
private

delay in nanoseconds.

Definition at line 105 of file CostDBEntryStats.hh.

Referenced by CostDBEntryStats().

◆ delays_

DelayMap CostDBEntryStats::delays_
private

input and output delays in nanoseconds.

Definition at line 107 of file CostDBEntryStats.hh.

Referenced by addDelay(), copy(), CostDBEntryStats(), findDelay(), and hasDelay().

◆ energies_

EnergyMap CostDBEntryStats::energies_
private

Energies of one specific type of usage of a resource. Usually the map contains energies for active and idle usage of a resource. However, in case of FUs the active energy does not exist and but energies are defined for each operation.

Definition at line 112 of file CostDBEntryStats.hh.

Referenced by addEnergy(), copy(), CostDBEntryStats(), findEnergy(), hasEnergy(), setEnergyActive(), and setEnergyIdle().

◆ ENERGY_ACTIVE

const std::string CostDBEntryStats::ENERGY_ACTIVE = "(active)"
staticprotected

String for active energy.

Definition at line 86 of file CostDBEntryStats.hh.

Referenced by energyActive(), and setEnergyActive().

◆ ENERGY_IDLE

const std::string CostDBEntryStats::ENERGY_IDLE = "(idle)"
staticprotected

String for idle energy.

Definition at line 88 of file CostDBEntryStats.hh.

Referenced by energyIdle(), and setEnergyIdle().

◆ ENERGY_READ

const std::string CostDBEntryStats::ENERGY_READ = "(read)"
staticprotected

String for read energy.

Definition at line 90 of file CostDBEntryStats.hh.

Referenced by CostDBEntryStatsRF::energyRead(), and CostDBEntryStatsRF::setEnergyRead().

◆ ENERGY_READ_WRITE

const std::string CostDBEntryStats::ENERGY_READ_WRITE = "(rd,wr)"
staticprotected

String for reads and writes energy.

Definition at line 94 of file CostDBEntryStats.hh.

Referenced by CostDBEntryStatsRF::generateReadWriteString().

◆ ENERGY_WRITE

const std::string CostDBEntryStats::ENERGY_WRITE = "(write)"
staticprotected

String for write energy.

Definition at line 92 of file CostDBEntryStats.hh.

Referenced by CostDBEntryStatsRF::energyWrite(), and CostDBEntryStatsRF::setEnergyWrite().


The documentation for this class was generated from the following files:
CostDBEntryStats::delays_
DelayMap delays_
input and output delays in nanoseconds.
Definition: CostDBEntryStats.hh:107
CostDBEntryStats::delay
virtual double delay() const
CostDBEntryStats::delay_
double delay_
delay in nanoseconds.
Definition: CostDBEntryStats.hh:105
CostDBEntryStats::ENERGY_IDLE
static const std::string ENERGY_IDLE
String for idle energy.
Definition: CostDBEntryStats.hh:88
CostDBEntryStats::createStats
virtual CostDBEntryStats * createStats() const
Definition: CostDBEntryStats.cc:177
WrongSubclass
Definition: Exception.hh:336
CostDBEntryStats::setDelay
virtual void setDelay(const std::string &port, double delay)
Definition: CostDBEntryStats.cc:446
CostDBEntryStats::addDelay
virtual void addDelay(const std::string &name, double delay)
Definition: CostDBEntryStats.cc:477
CostDBEntryStats::area
virtual double area() const
CostDBEntryStats::findDelay
virtual double findDelay(const std::string &key) const
Definition: CostDBEntryStats.cc:459
CostDBEntryStats::energies_
EnergyMap energies_
Energies of one specific type of usage of a resource. Usually the map contains energies for active an...
Definition: CostDBEntryStats.hh:112
CostDBEntryStats::addEnergy
virtual void addEnergy(const std::string &name, double energy)
Definition: CostDBEntryStats.cc:413
CostDBEntryStats::ENERGY_ACTIVE
static const std::string ENERGY_ACTIVE
String for active energy.
Definition: CostDBEntryStats.hh:86
CostDBEntryStats::findEnergy
virtual double findEnergy(const std::string &key) const
Definition: CostDBEntryStats.cc:308
KeyNotFound
Definition: Exception.hh:285
CostDBEntryStats
Definition: CostDBEntryStats.hh:46
CostDBEntryStats::area_
double area_
area in gates.
Definition: CostDBEntryStats.hh:103
CostDBEntryStats::CostDBEntryStats
CostDBEntryStats(double areaData, double internalDelayData)
Definition: CostDBEntryStats.cc:58