CGRA-ME
Public Member Functions | Private Member Functions | Private Attributes | List of all members
TatumInterface Class Reference

#include <TatumInterface.h>

Public Member Functions

 TatumInterface (std::map< std::string, double > &, PerfEngine *)
 
 TatumInterface (const TatumInterface &)=delete
 
 TatumInterface (TatumInterface &&)=delete
 
TatumInterfaceoperator= (const TatumInterface &)=delete
 
TatumInterfaceoperator= (TatumInterface &&)=delete
 
void createTatumTimingGraph (EdgeList &m)
 
void initializeTatumEngine (EdgeList &m)
 
void reportSetupAnalysis ()
 

Private Member Functions

void removeWireNodes (EdgeList &orig, EdgeList &reduced)
 
void createTGEntity (MRRG::NodeDescriptor n, bool reduce=true)
 
void connectTGEntities (MRRG::NodeDescriptor from, MRRG::NodeDescriptor to, bool reduce=true)
 
void connectTGClock (MRRG::NodeDescriptor n, bool reduce=true)
 
double getFanoutBasedRCDelay (MRRG::NodeDescriptor src)
 

Private Attributes

std::map< std::string, double > & timingModels
 
tatum::NodeId clk
 
tatum::DomainId clkDid
 
std::shared_ptr< tatum::TimingGraph > tg
 
std::shared_ptr< MRRGNameResolvernr
 
std::shared_ptr< tatum::FixedDelayCalculator > dc
 
std::shared_ptr< tatum::TimingConstraints > tc
 
std::shared_ptr< tatum::SetupHoldTimingAnalyzer > analyzer
 
std::shared_ptr< tatum::TimingReporter > tr
 
PerfEngineparent
 
linear_map< tatum::EdgeId, tatum::Time > maxComb
 
linear_map< tatum::EdgeId, tatum::Time > minComb
 
linear_map< tatum::EdgeId, tatum::Time > setup
 
linear_map< tatum::EdgeId, tatum::Time > hold
 
std::vector< tatum::NodeId > memOut
 
std::map< MRRG::NodeDescriptor, std::shared_ptr< TGEntity > > mrrg2tg
 
std::map< tatum::NodeId, MRRG::NodeDescriptortg2mrrg
 

Detailed Description

Definition at line 79 of file TatumInterface.h.

Constructor & Destructor Documentation

◆ TatumInterface() [1/3]

TatumInterface::TatumInterface ( std::map< std::string, double > &  t,
PerfEngine p 
)

Definition at line 15 of file TatumInterface.cpp.

◆ TatumInterface() [2/3]

TatumInterface::TatumInterface ( const TatumInterface )
delete

◆ TatumInterface() [3/3]

TatumInterface::TatumInterface ( TatumInterface &&  )
delete

Member Function Documentation

◆ connectTGClock()

void TatumInterface::connectTGClock ( MRRG::NodeDescriptor  n,
bool  reduce = true 
)
private

Definition at line 706 of file TatumInterface.cpp.

◆ connectTGEntities()

void TatumInterface::connectTGEntities ( MRRG::NodeDescriptor  from,
MRRG::NodeDescriptor  to,
bool  reduce = true 
)
private

Definition at line 621 of file TatumInterface.cpp.

◆ createTatumTimingGraph()

void TatumInterface::createTatumTimingGraph ( EdgeList m)

Definition at line 95 of file TatumInterface.cpp.

◆ createTGEntity()

void TatumInterface::createTGEntity ( MRRG::NodeDescriptor  n,
bool  reduce = true 
)
private

Definition at line 232 of file TatumInterface.cpp.

◆ getFanoutBasedRCDelay()

double TatumInterface::getFanoutBasedRCDelay ( MRRG::NodeDescriptor  src)
private

Definition at line 688 of file TatumInterface.cpp.

◆ initializeTatumEngine()

void TatumInterface::initializeTatumEngine ( EdgeList m)

Definition at line 131 of file TatumInterface.cpp.

◆ operator=() [1/2]

TatumInterface& TatumInterface::operator= ( const TatumInterface )
delete

◆ operator=() [2/2]

TatumInterface& TatumInterface::operator= ( TatumInterface &&  )
delete

◆ removeWireNodes()

void TatumInterface::removeWireNodes ( EdgeList orig,
EdgeList reduced 
)
private

Definition at line 22 of file TatumInterface.cpp.

◆ reportSetupAnalysis()

void TatumInterface::reportSetupAnalysis ( )

Definition at line 210 of file TatumInterface.cpp.

Member Data Documentation

◆ analyzer

std::shared_ptr<tatum::SetupHoldTimingAnalyzer> TatumInterface::analyzer
private

Definition at line 100 of file TatumInterface.h.

◆ clk

tatum::NodeId TatumInterface::clk
private

Definition at line 94 of file TatumInterface.h.

◆ clkDid

tatum::DomainId TatumInterface::clkDid
private

Definition at line 95 of file TatumInterface.h.

◆ dc

std::shared_ptr<tatum::FixedDelayCalculator> TatumInterface::dc
private

Definition at line 98 of file TatumInterface.h.

◆ hold

linear_map<tatum::EdgeId, tatum::Time> TatumInterface::hold
private

Definition at line 106 of file TatumInterface.h.

◆ maxComb

linear_map<tatum::EdgeId, tatum::Time> TatumInterface::maxComb
private

Definition at line 103 of file TatumInterface.h.

◆ memOut

std::vector<tatum::NodeId> TatumInterface::memOut
private

Definition at line 107 of file TatumInterface.h.

◆ minComb

linear_map<tatum::EdgeId, tatum::Time> TatumInterface::minComb
private

Definition at line 104 of file TatumInterface.h.

◆ mrrg2tg

std::map<MRRG::NodeDescriptor, std::shared_ptr<TGEntity> > TatumInterface::mrrg2tg
private

Definition at line 108 of file TatumInterface.h.

◆ nr

std::shared_ptr<MRRGNameResolver> TatumInterface::nr
private

Definition at line 97 of file TatumInterface.h.

◆ parent

PerfEngine* TatumInterface::parent
private

Definition at line 102 of file TatumInterface.h.

◆ setup

linear_map<tatum::EdgeId, tatum::Time> TatumInterface::setup
private

Definition at line 105 of file TatumInterface.h.

◆ tc

std::shared_ptr<tatum::TimingConstraints> TatumInterface::tc
private

Definition at line 99 of file TatumInterface.h.

◆ tg

std::shared_ptr<tatum::TimingGraph> TatumInterface::tg
private

Definition at line 96 of file TatumInterface.h.

◆ tg2mrrg

std::map<tatum::NodeId, MRRG::NodeDescriptor> TatumInterface::tg2mrrg
private

Definition at line 109 of file TatumInterface.h.

◆ timingModels

std::map<std::string, double>& TatumInterface::timingModels
private

Definition at line 93 of file TatumInterface.h.

◆ tr

std::shared_ptr<tatum::TimingReporter> TatumInterface::tr
private

Definition at line 101 of file TatumInterface.h.


The documentation for this class was generated from the following files: