#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] |
1.5.6