torc-master
|
Encapsulation of the site index, pin name, and pin flags for a package. More...
#include <PrimitiveStructure.hpp>
Public Member Functions | |
PrimitiveStructure (const PrimitiveDef *inPrimitiveDefPtr) | |
Default constructor. More... | |
PrimitiveStructure (void) | |
Null constructor. More... | |
virtual | ~PrimitiveStructure (void) |
Virtual destructor. More... | |
void | debug (const PrimitiveElement &inPrimitiveElement) |
Prints out debugging information for the specified element. More... | |
virtual bool | isPreclassified (const PrimitiveElement &inElement) |
Return true if the element has been preclassified (typically by a subclass). More... | |
virtual bool | isPrincipal (const PrimitiveElement &inElement) |
Return true if the element is the principal element (a parent to the orphans). More... | |
virtual bool | isTerminal (const PrimitiveElement &inElement) |
Return true if the element is a terminal. More... | |
virtual bool | isOrphan (const PrimitiveElement &inElement) |
Return true if the element is an orphan. More... | |
virtual bool | isMux (const PrimitiveElement &inElement, bool &outIsSwitch) |
Return true if the element is a configurable mux. More... | |
virtual bool | isPower (const PrimitiveElement &inElement) |
Return true if the element is a power source. More... | |
virtual bool | isGround (const PrimitiveElement &inElement) |
Return true if the element is a ground source. More... | |
virtual bool | isLUT (const PrimitiveElement &inElement, const string &inConfig) |
Return true if the element is a LUT. More... | |
virtual bool | isFlop (const PrimitiveElement &inElement, const string &inConfig) |
Return true if the element is a flop. More... | |
virtual bool | isRoutethrough (const PrimitiveElement &inElementPtr) |
Return true if the element is a routethrough. More... | |
const PrimitiveDef * | getPrimitiveDefPtr (void) const |
Returns a pointer to the associated primitive definition. More... | |
Protected Types | |
typedef std::string | string |
Imported type name. More... | |
typedef torc::architecture::PrimitiveDef | PrimitiveDef |
Imported type name. More... | |
typedef torc::architecture::PrimitiveElement | PrimitiveElement |
Imported type name. More... | |
typedef std::map< string, const PrimitiveElement * > | NameToElementPtrMap |
Mapping from element name to element pointer. More... | |
typedef std::map< string, std::vector< const PrimitiveElement * > > | PrincipalToOrphanPtrMap |
Mapping from principal element name to an orphan element pointer vector. More... | |
typedef std::set< const torc::architecture::PrimitiveElementPin * > | ElementPinPtrSet |
A set of configuration values. More... | |
Protected Member Functions | |
virtual void | initialize (void) |
Initialize this object based on the PrimitiveDef information. More... | |
Static Protected Attributes | |
static boost::regex | sRoutethroughRegEx |
Regular expression for routethroughs. More... | |
static boost::regex | sPrincipalRegEx |
Regular expression for additional principal elements. More... | |
static boost::regex | sLUTRegEx |
Regular expression for LUTs. More... | |
static boost::regex | sFlopRegEx |
Regular expression for flops. More... | |
static boost::regex | sPowerRegEx |
Regular expression for power sources. More... | |
static boost::regex | sGroundRegEx |
Regular expression for ground sources. More... | |
static boost::regex | sInvertingInputRegEx |
Regular expression for inverting input pins. More... | |
Friends | |
class | torc::packer::packer::PrimitiveStructureUnitTest |
Our unit test class has access to our internals. More... | |
class | Unpacker |
Encapsulation of the site index, pin name, and pin flags for a package.
Definition at line 50 of file PrimitiveStructure.hpp.
|
protected |
A set of configuration values.
Definition at line 68 of file PrimitiveStructure.hpp.
|
protected |
Mapping from element name to element pointer.
Definition at line 64 of file PrimitiveStructure.hpp.
Imported type name.
Definition at line 60 of file PrimitiveStructure.hpp.
|
protected |
Imported type name.
Definition at line 62 of file PrimitiveStructure.hpp.
|
protected |
Mapping from principal element name to an orphan element pointer vector.
Definition at line 66 of file PrimitiveStructure.hpp.
|
protected |
Imported type name.
Definition at line 58 of file PrimitiveStructure.hpp.
|
inline |
Default constructor.
Definition at line 132 of file PrimitiveStructure.hpp.
|
inline |
Null constructor.
Definition at line 137 of file PrimitiveStructure.hpp.
|
inlinevirtual |
void torc::packer::PrimitiveStructure::debug | ( | const PrimitiveElement & | inPrimitiveElement | ) |
Prints out debugging information for the specified element.
Definition at line 224 of file PrimitiveStructure.cpp.
|
inline |
Returns a pointer to the associated primitive definition.
Definition at line 165 of file PrimitiveStructure.hpp.
|
protectedvirtual |
Initialize this object based on the PrimitiveDef information.
Reimplemented in torc::packer::Virtex2PrimitiveStructure, torc::packer::Virtex5PrimitiveStructure, and torc::packer::Virtex7PrimitiveStructure.
Definition at line 119 of file PrimitiveStructure.cpp.
|
virtual |
Return true if the element is a flop.
Definition at line 111 of file PrimitiveStructure.cpp.
|
virtual |
Return true if the element is a ground source.
Definition at line 101 of file PrimitiveStructure.cpp.
|
virtual |
Return true if the element is a LUT.
Definition at line 107 of file PrimitiveStructure.cpp.
|
virtual |
Return true if the element is a configurable mux.
Definition at line 54 of file PrimitiveStructure.cpp.
|
virtual |
Return true if the element is an orphan.
Definition at line 50 of file PrimitiveStructure.cpp.
|
virtual |
Return true if the element is a power source.
Definition at line 95 of file PrimitiveStructure.cpp.
|
virtual |
Return true if the element has been preclassified (typically by a subclass).
Definition at line 36 of file PrimitiveStructure.cpp.
|
virtual |
Return true if the element is the principal element (a parent to the orphans).
Definition at line 40 of file PrimitiveStructure.cpp.
|
virtual |
Return true if the element is a routethrough.
Definition at line 115 of file PrimitiveStructure.cpp.
|
virtual |
Return true if the element is a terminal.
Definition at line 45 of file PrimitiveStructure.cpp.
|
friend |
Our unit test class has access to our internals.
Definition at line 53 of file PrimitiveStructure.hpp.
|
friend |
Definition at line 54 of file PrimitiveStructure.hpp.
|
protected |
Map of all elements.
Definition at line 80 of file PrimitiveStructure.hpp.
|
protected |
Map of all flops.
Definition at line 99 of file PrimitiveStructure.hpp.
|
protected |
Map of all ground sources.
Definition at line 106 of file PrimitiveStructure.hpp.
|
protected |
Set of inverted element input pins.
Definition at line 74 of file PrimitiveStructure.hpp.
|
protected |
Map of all LUTs.
Definition at line 97 of file PrimitiveStructure.hpp.
|
protected |
Map of all configurable muxes (including switches and inverters).
Definition at line 86 of file PrimitiveStructure.hpp.
|
protected |
Map of all Orphans.
Definition at line 88 of file PrimitiveStructure.hpp.
|
protected |
Map of all power sources.
Definition at line 104 of file PrimitiveStructure.hpp.
|
protected |
Map of pre-classified elements (typically by a subclass).
Definition at line 78 of file PrimitiveStructure.hpp.
|
protected |
Pointer to the associated primitive definition.
Definition at line 71 of file PrimitiveStructure.hpp.
|
protected |
Map of all principals.
Definition at line 82 of file PrimitiveStructure.hpp.
|
protected |
Map of principals to orphans.
Definition at line 110 of file PrimitiveStructure.hpp.
|
protected |
Map of all routethroughs.
Definition at line 108 of file PrimitiveStructure.hpp.
|
protected |
Map of all switches.
Definition at line 91 of file PrimitiveStructure.hpp.
|
protected |
Map of all terminals.
Definition at line 84 of file PrimitiveStructure.hpp.
|
protected |
Map of unprocessed elements.
Definition at line 76 of file PrimitiveStructure.hpp.
|
staticprotected |
Regular expression for flops.
Definition at line 119 of file PrimitiveStructure.hpp.
|
staticprotected |
Regular expression for ground sources.
Definition at line 123 of file PrimitiveStructure.hpp.
|
staticprotected |
Regular expression for inverting input pins.
Definition at line 125 of file PrimitiveStructure.hpp.
|
staticprotected |
Regular expression for LUTs.
Definition at line 117 of file PrimitiveStructure.hpp.
|
staticprotected |
Regular expression for power sources.
Definition at line 121 of file PrimitiveStructure.hpp.
|
staticprotected |
Regular expression for additional principal elements.
Definition at line 115 of file PrimitiveStructure.hpp.
|
staticprotected |
Regular expression for routethroughs.
Definition at line 113 of file PrimitiveStructure.hpp.