OpenASIP  2.0
Public Member Functions | List of all members
CostEstimator::RFCostEstimationPlugin Class Reference

#include <RFCostEstimationPlugin.hh>

Inheritance diagram for CostEstimator::RFCostEstimationPlugin:
Inheritance graph
Collaboration diagram for CostEstimator::RFCostEstimationPlugin:
Collaboration graph

Public Member Functions

 RFCostEstimationPlugin (const std::string &name)
 
virtual ~RFCostEstimationPlugin ()
 
virtual bool estimateArea (const TTAMachine::BaseRegisterFile &architecture, const IDF::RFImplementationLocation &implementation, AreaInGates &area, HDB::HDBManager &hdb)
 
virtual bool estimateEnergy (const TTAMachine::BaseRegisterFile &architecture, const IDF::RFImplementationLocation &implementation, const TTAProgram::Program &program, const ExecutionTrace &traceDB, EnergyInMilliJoules &energy, HDB::HDBManager &hdb)
 
virtual bool estimatePortWriteDelay (const TTAMachine::RFPort &port, const IDF::RFImplementationLocation &implementation, DelayInNanoSeconds &inputDelay, HDB::HDBManager &hdb)
 
virtual bool estimatePortReadDelay (const TTAMachine::RFPort &port, const IDF::RFImplementationLocation &implementation, DelayInNanoSeconds &outputDelay, HDB::HDBManager &hdb)
 
virtual bool estimateMaximumComputationDelay (const TTAMachine::BaseRegisterFile &architecture, const IDF::RFImplementationLocation &implementation, DelayInNanoSeconds &computationDelay, HDB::HDBManager &hdb)
 
- Public Member Functions inherited from CostEstimator::CostEstimationPlugin
 CostEstimationPlugin (const std::string &name)
 
virtual ~CostEstimationPlugin ()
 
virtual std::string name () const
 
virtual std::string description () const
 

Additional Inherited Members

- Protected Attributes inherited from CostEstimator::CostEstimationPlugin
std::string name_
 the name of the plugin class in the HDB; used to identify cost data More...
 

Detailed Description

A base interface for all classes that implement pluggable register file cost estimation algorithms.

Definition at line 67 of file RFCostEstimationPlugin.hh.

Constructor & Destructor Documentation

◆ RFCostEstimationPlugin()

CostEstimator::RFCostEstimationPlugin::RFCostEstimationPlugin ( const std::string &  name)

Constructor.

Parameters
nameThe name of the created plugin in HDB.
dataThe HDB the plugin's data is stored in.

Definition at line 44 of file RFCostEstimationPlugin.cc.

45  :
47 }

◆ ~RFCostEstimationPlugin()

CostEstimator::RFCostEstimationPlugin::~RFCostEstimationPlugin ( )
virtual

Destructor.

Definition at line 52 of file RFCostEstimationPlugin.cc.

52  {
53 }

Member Function Documentation

◆ estimateArea()

bool CostEstimator::RFCostEstimationPlugin::estimateArea ( const TTAMachine::BaseRegisterFile architecture,
const IDF::RFImplementationLocation implementation,
AreaInGates area,
HDB::HDBManager hdb 
)
virtual

Estimates the area of the given RF.

Parameters
architectureThe RF architecture of which area to estimate.
implementation(The location of) the implementation of RF.
areaThe variable to store the area estimate into.
Returns
True only if area could be estimated successfully.

Reimplemented in InterpolatingRFEstimator, and StrictMatchRFEstimator.

Definition at line 64 of file RFCostEstimationPlugin.cc.

68  {
69 
70  return false;
71 }

◆ estimateEnergy()

bool CostEstimator::RFCostEstimationPlugin::estimateEnergy ( const TTAMachine::BaseRegisterFile architecture,
const IDF::RFImplementationLocation implementation,
const TTAProgram::Program program,
const ExecutionTrace traceDB,
EnergyInMilliJoules energy,
HDB::HDBManager hdb 
)
virtual

Estimates the energy consumed by the given RF when running the given program.

Parameters
architectureThe RF architecture of which area to estimate.
implementation(The location of) the implementation of RF. Can be an instance of NullFUImplementationLocation.
programThe program of which energy to calculate.
traceDBThe simulation trace database of the program running in the target architecture which can be used in the estimation algorithm.
energyThe variable to store the energy estimate into.
Returns
True only if energy could be estimated successfully.

Reimplemented in StrictMatchRFEstimator, and InterpolatingRFEstimator.

Definition at line 88 of file RFCostEstimationPlugin.cc.

94  {
95 
96  return false;
97 }

◆ estimateMaximumComputationDelay()

bool CostEstimator::RFCostEstimationPlugin::estimateMaximumComputationDelay ( const TTAMachine::BaseRegisterFile architecture,
const IDF::RFImplementationLocation implementation,
DelayInNanoSeconds computationDelay,
HDB::HDBManager hdb 
)
virtual

Estimates the maximum "computation delay" of the given RF.

The maximum computation delay is the longest stage in the RF's execution. It's used mainly for calculating the maximum clock frequency of target architecture.

Parameters
architectureThe RF architecture of which area to estimate.
implementation(The location of) the implementation of RF. Can be an instance of NullRFImplementationLocation.
computationDelayThe variable to store the delay estimate into.
Returns
True only if computation delay could be estimated successfully.

Reimplemented in InterpolatingRFEstimator, and StrictMatchRFEstimator.

Definition at line 149 of file RFCostEstimationPlugin.cc.

153  {
154 
155  return false;
156 }

◆ estimatePortReadDelay()

bool CostEstimator::RFCostEstimationPlugin::estimatePortReadDelay ( const TTAMachine::RFPort port,
const IDF::RFImplementationLocation implementation,
DelayInNanoSeconds outputDelay,
HDB::HDBManager hdb 
)
virtual

Estimates the output delay of the given RF port.

Parameters
portThe RF port of which output delay to estimate.
implementation(The location of) the implementation of RF.
outputDelayThe variable to store the delay estimate into.
Returns
True only if output delay could be estimated successfully.

Reimplemented in InterpolatingRFEstimator, and StrictMatchRFEstimator.

Definition at line 126 of file RFCostEstimationPlugin.cc.

130  {
131 
132  return false;
133 }

◆ estimatePortWriteDelay()

bool CostEstimator::RFCostEstimationPlugin::estimatePortWriteDelay ( const TTAMachine::RFPort port,
const IDF::RFImplementationLocation implementation,
DelayInNanoSeconds inputDelay,
HDB::HDBManager hdb 
)
virtual

Estimates the input delay of the given RF port.

Parameters
portThe RF port of which input delay to estimate.
implementation(The location of) the implementation of RF.
inputDelayThe variable to store the delay estimate into.
Returns
True only if input delay could be estimated successfully.

Reimplemented in InterpolatingRFEstimator, and StrictMatchRFEstimator.

Definition at line 108 of file RFCostEstimationPlugin.cc.

112  {
113 
114  return false;
115 }

The documentation for this class was generated from the following files:
CostEstimator::CostEstimationPlugin::name
virtual std::string name() const
Definition: CostEstimationPlugin.cc:63
CostEstimator::CostEstimationPlugin::CostEstimationPlugin
CostEstimationPlugin(const std::string &name)
Definition: CostEstimationPlugin.cc:46