torc::packer::PrimitiveStructure Class Reference

Encapsulation of the site index, pin name, and pin flags for a package. More...

#include <PrimitiveStructure.hpp>

Inheritance diagram for torc::packer::PrimitiveStructure:

Inheritance graph
[legend]
Collaboration diagram for torc::packer::PrimitiveStructure:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 PrimitiveStructure (const PrimitiveDef *inPrimitiveDefPtr)
 Default constructor.
 PrimitiveStructure (void)
 Null constructor.
virtual ~PrimitiveStructure (void)
 Virtual destructor.
void debug (const PrimitiveElement &inPrimitiveElement)
 Prints out debugging information for the specified element.
const PrimitiveDefgetPrimitiveDefPtr (void) const
 Returns a pointer to the associated primitive definition.

Protected Types

typedef std::string string
 Imported type name.
typedef
torc::architecture::PrimitiveDef 
PrimitiveDef
 Imported type name.
typedef
torc::architecture::PrimitiveElement 
PrimitiveElement
 Imported type name.
typedef std::map< string,
const PrimitiveElement * > 
NameToElementPtrMap
 Mapping from element name to element pointer.
typedef std::map< string,
std::vector< const
PrimitiveElement * > > 
PrincipalToOrphanPtrMap
 Mapping from principal element name to orphan element pointer.
typedef std::set< const
torc::architecture::PrimitiveElementPin * > 
ElementPinPtrSet
 A set of configuration values.

Protected Member Functions

virtual void initialize (void)
 Initialize this object based on the PrimitiveDef information.
virtual bool isPreclassified (const PrimitiveElement &inElement)
 Return true if the elemtn has been preclassified (typically by a subclass).
virtual bool isPrincipal (const PrimitiveElement &inElement)
 Return true if the element is the principal element (a parent to the orphans).
virtual bool isTerminal (const PrimitiveElement &inElement)
 Return true if the element is a terminal.
virtual bool isOrphan (const PrimitiveElement &inElement)
 Return true if the element is an orphan.
virtual bool isMux (const PrimitiveElement &inElement, bool &outIsSwitch)
 Return true if the element is a configurable mux.
virtual bool isPower (const PrimitiveElement &inElement)
 Return true if the element is a power source.
virtual bool isGround (const PrimitiveElement &inElement)
 Return true if the element is a ground source.
virtual bool isLUT (const PrimitiveElement &inElement, const string &inConfig)
 Return true if the element is a LUT.
virtual bool isFlop (const PrimitiveElement &inElement, const string &inConfig)
 Return true if the element is a flop.
virtual bool isRoutethrough (const PrimitiveElement &inElementPtr)
 Return true if the element is a routethrough.

Protected Attributes

const PrimitiveDefmPrimitiveDefPtr
 Pointer to the associated primitive definition.
ElementPinPtrSet mInvertedInputs
 Set of inverted element input pins.
NameToElementPtrMap mUnprocessed
 Map of unprocessed elements.
NameToElementPtrMap mPreclassified
 Map of pre-classified elements (typically by a subclass).
NameToElementPtrMap mElements
 Map of all elements.
NameToElementPtrMap mPrincipals
 Map of all principals.
NameToElementPtrMap mTerminals
 Map of all terminals.
NameToElementPtrMap mMuxes
 Map of all configurable muxes (including switches and inverters).
NameToElementPtrMap mOrphans
 Map of all Orphans.
NameToElementPtrMap mSwitches
 Map of all switches.
NameToElementPtrMap mLUTs
 Map of all LUTs.
NameToElementPtrMap mFlops
 Map of all flops.
NameToElementPtrMap mPower
 Map of all power sources.
NameToElementPtrMap mGround
 Map of all ground sources.
NameToElementPtrMap mRoutethroughs
 Map of all routethroughs.
PrincipalToOrphanPtrMap mPrincipalstoOrphans
 Map of principals to orphans .

Static Protected Attributes

static boost::regex sRoutethroughRegEx
 Regular expression for routethroughs.
static boost::regex sPrincipalRegEx
 Regular expression for additional principal elements.
static boost::regex sLUTRegEx
 Regular expression for LUTs.
static boost::regex sFlopRegEx
 Regular expression for flops.
static boost::regex sPowerRegEx
 Regular expression for power sources.
static boost::regex sGroundRegEx
 Regular expression for ground sources.
static boost::regex sInvertingInputRegEx
 Regular expression for inverting input pins.

Friends

class torc::packer::packer::PrimitiveStructureUnitTest
 Our unit test class has access to our internals.
class Unpacker


Detailed Description

Encapsulation of the site index, pin name, and pin flags for a package.

Definition at line 50 of file PrimitiveStructure.hpp.


Member Typedef Documentation

typedef std::string torc::packer::PrimitiveStructure::string [protected]

Imported type name.

Definition at line 58 of file PrimitiveStructure.hpp.

Imported type name.

Definition at line 60 of file PrimitiveStructure.hpp.

Imported type name.

Definition at line 62 of file PrimitiveStructure.hpp.

Mapping from element name to element pointer.

Definition at line 64 of file PrimitiveStructure.hpp.

typedef std::map<string, std::vector<const PrimitiveElement*> > torc::packer::PrimitiveStructure::PrincipalToOrphanPtrMap [protected]

Mapping from principal element name to orphan element pointer.

Definition at line 66 of file PrimitiveStructure.hpp.

A set of configuration values.

Definition at line 68 of file PrimitiveStructure.hpp.


Constructor & Destructor Documentation

torc::packer::PrimitiveStructure::PrimitiveStructure ( const PrimitiveDef inPrimitiveDefPtr  )  [inline]

Default constructor.

Definition at line 152 of file PrimitiveStructure.hpp.

torc::packer::PrimitiveStructure::PrimitiveStructure ( void   )  [inline]

Null constructor.

Definition at line 157 of file PrimitiveStructure.hpp.

virtual torc::packer::PrimitiveStructure::~PrimitiveStructure ( void   )  [inline, virtual]

Virtual destructor.

Definition at line 159 of file PrimitiveStructure.hpp.


Member Function Documentation

void torc::packer::PrimitiveStructure::initialize ( void   )  [protected, virtual]

Initialize this object based on the PrimitiveDef information.

Reimplemented in torc::packer::Virtex2PrimitiveStructure, and torc::packer::Virtex5PrimitiveStructure.

Definition at line 119 of file PrimitiveStructure.cpp.

bool torc::packer::PrimitiveStructure::isPreclassified ( const PrimitiveElement inElement  )  [protected, virtual]

Return true if the elemtn has been preclassified (typically by a subclass).

Definition at line 36 of file PrimitiveStructure.cpp.

bool torc::packer::PrimitiveStructure::isPrincipal ( const PrimitiveElement inElement  )  [protected, virtual]

Return true if the element is the principal element (a parent to the orphans).

Definition at line 40 of file PrimitiveStructure.cpp.

bool torc::packer::PrimitiveStructure::isTerminal ( const PrimitiveElement inElement  )  [protected, virtual]

Return true if the element is a terminal.

Definition at line 45 of file PrimitiveStructure.cpp.

bool torc::packer::PrimitiveStructure::isOrphan ( const PrimitiveElement inElement  )  [protected, virtual]

Return true if the element is an orphan.

Definition at line 50 of file PrimitiveStructure.cpp.

bool torc::packer::PrimitiveStructure::isMux ( const PrimitiveElement inElement,
bool &  outIsSwitch 
) [protected, virtual]

Return true if the element is a configurable mux.

Definition at line 54 of file PrimitiveStructure.cpp.

bool torc::packer::PrimitiveStructure::isPower ( const PrimitiveElement inElement  )  [protected, virtual]

Return true if the element is a power source.

Definition at line 95 of file PrimitiveStructure.cpp.

bool torc::packer::PrimitiveStructure::isGround ( const PrimitiveElement inElement  )  [protected, virtual]

Return true if the element is a ground source.

Definition at line 101 of file PrimitiveStructure.cpp.

bool torc::packer::PrimitiveStructure::isLUT ( const PrimitiveElement inElement,
const string inConfig 
) [protected, virtual]

Return true if the element is a LUT.

Definition at line 107 of file PrimitiveStructure.cpp.

bool torc::packer::PrimitiveStructure::isFlop ( const PrimitiveElement inElement,
const string inConfig 
) [protected, virtual]

Return true if the element is a flop.

Definition at line 111 of file PrimitiveStructure.cpp.

bool torc::packer::PrimitiveStructure::isRoutethrough ( const PrimitiveElement inElementPtr  )  [protected, virtual]

Return true if the element is a routethrough.

Definition at line 115 of file PrimitiveStructure.cpp.

void torc::packer::PrimitiveStructure::debug ( const PrimitiveElement inPrimitiveElement  ) 

Prints out debugging information for the specified element.

Definition at line 224 of file PrimitiveStructure.cpp.

const PrimitiveDef* torc::packer::PrimitiveStructure::getPrimitiveDefPtr ( void   )  const [inline]

Returns a pointer to the associated primitive definition.

Definition at line 165 of file PrimitiveStructure.hpp.


Friends And Related Function Documentation

friend class torc::packer::packer::PrimitiveStructureUnitTest [friend]

Our unit test class has access to our internals.

Definition at line 53 of file PrimitiveStructure.hpp.


Member Data Documentation

Pointer to the associated primitive definition.

Definition at line 71 of file PrimitiveStructure.hpp.

Set of inverted element input pins.

Definition at line 74 of file PrimitiveStructure.hpp.

Map of unprocessed elements.

Definition at line 76 of file PrimitiveStructure.hpp.

Map of pre-classified elements (typically by a subclass).

Definition at line 78 of file PrimitiveStructure.hpp.

Map of all elements.

Definition at line 80 of file PrimitiveStructure.hpp.

Map of all principals.

Definition at line 82 of file PrimitiveStructure.hpp.

Map of all terminals.

Definition at line 84 of file PrimitiveStructure.hpp.

Map of all configurable muxes (including switches and inverters).

Definition at line 86 of file PrimitiveStructure.hpp.

Map of all Orphans.

Definition at line 88 of file PrimitiveStructure.hpp.

Map of all switches.

Definition at line 91 of file PrimitiveStructure.hpp.

Map of all LUTs.

Definition at line 97 of file PrimitiveStructure.hpp.

Map of all flops.

Definition at line 99 of file PrimitiveStructure.hpp.

Map of all power sources.

Definition at line 104 of file PrimitiveStructure.hpp.

Map of all ground sources.

Definition at line 106 of file PrimitiveStructure.hpp.

Map of all routethroughs.

Definition at line 108 of file PrimitiveStructure.hpp.

Map of principals to orphans .

Definition at line 110 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sRoutethroughRegEx [static, protected]

Regular expression for routethroughs.

Definition at line 113 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sPrincipalRegEx [static, protected]

Regular expression for additional principal elements.

Definition at line 115 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sLUTRegEx [static, protected]

Regular expression for LUTs.

Definition at line 117 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sFlopRegEx [static, protected]

Regular expression for flops.

Definition at line 119 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sPowerRegEx [static, protected]

Regular expression for power sources.

Definition at line 121 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sGroundRegEx [static, protected]

Regular expression for ground sources.

Definition at line 123 of file PrimitiveStructure.hpp.

Regular expression for inverting input pins.

Definition at line 125 of file PrimitiveStructure.hpp.


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

Generated on Thu Oct 13 16:50:42 2011 for TORC by  doxygen 1.5.6