#include <PrimitiveStructure.hpp>
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 PrimitiveDef * | getPrimitiveDefPtr (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 PrimitiveDef * | mPrimitiveDefPtr |
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 |
Definition at line 50 of file PrimitiveStructure.hpp.
typedef std::string torc::packer::PrimitiveStructure::string [protected] |
typedef torc::architecture::PrimitiveDef torc::packer::PrimitiveStructure::PrimitiveDef [protected] |
typedef std::map<string, const PrimitiveElement*> torc::packer::PrimitiveStructure::NameToElementPtrMap [protected] |
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.
typedef std::set<const torc::architecture::PrimitiveElementPin*> torc::packer::PrimitiveStructure::ElementPinPtrSet [protected] |
torc::packer::PrimitiveStructure::PrimitiveStructure | ( | const PrimitiveDef * | inPrimitiveDefPtr | ) | [inline] |
torc::packer::PrimitiveStructure::PrimitiveStructure | ( | void | ) | [inline] |
virtual torc::packer::PrimitiveStructure::~PrimitiveStructure | ( | void | ) | [inline, virtual] |
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] |
bool torc::packer::PrimitiveStructure::isOrphan | ( | const PrimitiveElement & | inElement | ) | [protected, virtual] |
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] |
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] |
bool torc::packer::PrimitiveStructure::isFlop | ( | const PrimitiveElement & | inElement, | |
const string & | inConfig | |||
) | [protected, virtual] |
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.
friend class torc::packer::packer::PrimitiveStructureUnitTest [friend] |
Our unit test class has access to our internals.
Definition at line 53 of file PrimitiveStructure.hpp.
const PrimitiveDef* torc::packer::PrimitiveStructure::mPrimitiveDefPtr [protected] |
Pointer to the associated primitive definition.
Definition at line 71 of file PrimitiveStructure.hpp.
Map of pre-classified elements (typically by a subclass).
Definition at line 78 of file PrimitiveStructure.hpp.
Map of all configurable muxes (including switches and inverters).
Definition at line 86 of file PrimitiveStructure.hpp.
boost::regex torc::packer::PrimitiveStructure::sRoutethroughRegEx [static, protected] |
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] |
boost::regex torc::packer::PrimitiveStructure::sFlopRegEx [static, protected] |
boost::regex torc::packer::PrimitiveStructure::sPowerRegEx [static, protected] |
boost::regex torc::packer::PrimitiveStructure::sGroundRegEx [static, protected] |
boost::regex torc::packer::PrimitiveStructure::sInvertingInputRegEx [static, protected] |