torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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:
+ Collaboration diagram for torc::packer::PrimitiveStructure:

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 PrimitiveDefgetPrimitiveDefPtr (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...
 

Protected Attributes

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

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

A set of configuration values.

Definition at line 68 of file PrimitiveStructure.hpp.

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.

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

Mapping from principal element name to an orphan element pointer vector.

Definition at line 66 of file PrimitiveStructure.hpp.

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

Imported type name.

Definition at line 58 of file PrimitiveStructure.hpp.

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 132 of file PrimitiveStructure.hpp.

133  : mPrimitiveDefPtr(inPrimitiveDefPtr) {
134  initialize();
135  }
virtual void initialize(void)
Initialize this object based on the PrimitiveDef information.
const PrimitiveDef * mPrimitiveDefPtr
Pointer to the associated primitive definition.
torc::packer::PrimitiveStructure::PrimitiveStructure ( void  )
inline

Null constructor.

Definition at line 137 of file PrimitiveStructure.hpp.

137 : mPrimitiveDefPtr(0) {};
const PrimitiveDef * mPrimitiveDefPtr
Pointer to the associated primitive definition.
virtual torc::packer::PrimitiveStructure::~PrimitiveStructure ( void  )
inlinevirtual

Virtual destructor.

Definition at line 139 of file PrimitiveStructure.hpp.

139 {}

Member Function Documentation

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

Prints out debugging information for the specified element.

Definition at line 224 of file PrimitiveStructure.cpp.

224  {
225  const PrimitiveElementPinArray& elementPins = inPrimitiveElement.getPins();
228  //std::cout << " pins: ";
229  while(pp < pe) {
230  break;//std::cout << (*pp++).getName() << " ";
231  }
232  //std::cout << std::endl;
233 
234  const PrimitiveElement::StringSet& cfgs = inPrimitiveElement.getCfgs();
235  PrimitiveElement::StringSet::const_iterator cp = cfgs.begin();
236  PrimitiveElement::StringSet::const_iterator ce = cfgs.end();
237  //std::cout << " configs: ";
238  while(cp != ce) {
239  break;//std::cout << *cp++ << " ";
240  }
241  //std::cout << std::endl;
242  }
const const PrimitiveElementPin * const_iterator
Constant T iterator type.
Definition: Array.hpp:83
T * end(void)
Returns the non-constant end iterator.
Definition: Array.hpp:97
PrimitiveElementPinArray & getPins(void)
Returns a non-constant array of element pins. This function should only be used by the Sites class d...
T * begin(void)
Returns the non-constant begin iterator.
Definition: Array.hpp:95
std::set< std::string > StringSet
A set of configuration values.
const StringSet & getCfgs(void) const
Returns the set of allowable configuration values.

+ Here is the call graph for this function:

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.

165 { return mPrimitiveDefPtr; }
const PrimitiveDef * mPrimitiveDefPtr
Pointer to the associated primitive definition.

+ Here is the caller graph for this function:

void torc::packer::PrimitiveStructure::initialize ( void  )
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.

119  {
120  // look up the primitive's pins
121  const PrimitivePinArray& primitivePins = mPrimitiveDefPtr->getPins();
122  const std::string& primitiveDefName = mPrimitiveDefPtr->getName();
123  (void) primitivePins;
124  (void) primitiveDefName;
125 //std::cout << primitiveDefName << ": " << primitivePins.getSize() << " pins" << std::endl;
126 
127  // iterate over the elements
128  const PrimitiveElementArray& elements = mPrimitiveDefPtr->getElements();
131  while(ep < ee) {
132 
133  // look up the current element
134  const PrimitiveElement& primitiveElement = *ep++;
135  const std::string& elementName = primitiveElement.getName();
136 
137  // add the element to the comprehensive list
138  mElements[elementName] = &primitiveElement;
139 
140  // skip elements that have been preclassified
141  if(isPreclassified(primitiveElement)) {
142  continue;
143  }
144 
145  // identify principals
146  if(isPrincipal(primitiveElement)) {
147  mPrincipals[elementName] = &primitiveElement;
148  continue;
149  }
150 
151  // identify terminals
152  if(isTerminal(primitiveElement)) {
153  mTerminals[elementName] = &primitiveElement;
154  continue;
155  }
156 
157  // identify orphans
158  if(isOrphan(primitiveElement)) {
159  mOrphans[elementName] = &primitiveElement;
160  continue;
161  }
162 
163  // for all remaining elements, it's easier to track status with a flag
164  bool processed = false;
165 
166  // identify muxes
167  bool isSwitch = false;
168  if(isMux(primitiveElement, isSwitch)) {
169  // mark this element as a mux (and also as a switch if it has a single input)
170  mMuxes[elementName] = &primitiveElement;
171  if(isSwitch) mSwitches[elementName] = &primitiveElement;
172  processed = true;
173  continue;
174  }
175 
176  // identify power sources
177  if(isPower(primitiveElement)) {
178  mPower[elementName] = &primitiveElement;
179  processed = true;
180  continue;
181  }
182  // identify ground sources
183  if(isGround(primitiveElement)) {
184  mGround[elementName] = &primitiveElement;
185  processed = true;
186  continue;
187  }
188 
189  // identify LUTs and flops
190  const PrimitiveElement::StringSet& cfgs = primitiveElement.getCfgs();
191  PrimitiveElement::StringSet::const_iterator cp = cfgs.begin();
192  PrimitiveElement::StringSet::const_iterator ce = cfgs.end();
193  while(cp != ce) {
194  const std::string& config = *cp++;
195  // identify LUTs
196  if(regex_match(config, sLUTRegEx)) {
197  mLUTs[elementName] = &primitiveElement;
198  processed = true;
199  break;
200  }
201  // identify flops
202  if(isFlop(primitiveElement, config)) {
203  mFlops[elementName] = &primitiveElement;
204  processed = true;
205  break;
206  }
207  }
208  if(processed) continue;
209 
210  // ignore routethroughs
211  if(isRoutethrough(primitiveElement)) {
212  mRoutethroughs[elementName] = &primitiveElement;
213  processed = true;
214  continue;
215  }
216 
217  // note all unprocessed elements
218  mUnprocessed[elementName] = &primitiveElement;
219 //std::cout << " Unprocessed element " << elementName << std::endl;
220 debug(primitiveElement);
221  }
222  }
NameToElementPtrMap mRoutethroughs
Map of all routethroughs.
NameToElementPtrMap mSwitches
Map of all switches.
const const PrimitiveElement * const_iterator
Constant T iterator type.
Definition: Array.hpp:83
static boost::regex sLUTRegEx
Regular expression for LUTs.
NameToElementPtrMap mUnprocessed
Map of unprocessed elements.
virtual bool isOrphan(const PrimitiveElement &inElement)
Return true if the element is an orphan.
NameToElementPtrMap mGround
Map of all ground sources.
virtual bool isPreclassified(const PrimitiveElement &inElement)
Return true if the element has been preclassified (typically by a subclass).
T * end(void)
Returns the non-constant end iterator.
Definition: Array.hpp:97
virtual bool isRoutethrough(const PrimitiveElement &inElementPtr)
Return true if the element is a routethrough.
NameToElementPtrMap mElements
Map of all elements.
NameToElementPtrMap mPower
Map of all power sources.
virtual bool isGround(const PrimitiveElement &inElement)
Return true if the element is a ground source.
std::string string
const string & getName(void) const
Returns the name of the element.
void debug(const PrimitiveElement &inPrimitiveElement)
Prints out debugging information for the specified element.
NameToElementPtrMap mMuxes
Map of all configurable muxes (including switches and inverters).
virtual bool isTerminal(const PrimitiveElement &inElement)
Return true if the element is a terminal.
virtual bool isPower(const PrimitiveElement &inElement)
Return true if the element is a power source.
PrimitivePinArray & getPins(void)
Returns a non-constant array of element pins. This function should only be used by the Sites class d...
const PrimitiveElementArray & getElements(void) const
Returns a constant array of primitive elements.
NameToElementPtrMap mPrincipals
Map of all principals.
NameToElementPtrMap mFlops
Map of all flops.
NameToElementPtrMap mLUTs
Map of all LUTs.
Encapsulation of a primitive site element. Primitive elements are subcomponents of logic primitive s...
virtual bool isFlop(const PrimitiveElement &inElement, const string &inConfig)
Return true if the element is a flop.
const PrimitiveDef * mPrimitiveDefPtr
Pointer to the associated primitive definition.
NameToElementPtrMap mTerminals
Map of all terminals.
T * begin(void)
Returns the non-constant begin iterator.
Definition: Array.hpp:95
std::set< std::string > StringSet
A set of configuration values.
virtual bool isPrincipal(const PrimitiveElement &inElement)
Return true if the element is the principal element (a parent to the orphans).
const StringSet & getCfgs(void) const
Returns the set of allowable configuration values.
NameToElementPtrMap mOrphans
Map of all Orphans.
virtual bool isMux(const PrimitiveElement &inElement, bool &outIsSwitch)
Return true if the element is a configurable mux.
const string & getName(void) const
Returns the name of the primitive.

+ Here is the call graph for this function:

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

Return true if the element is a flop.

Definition at line 111 of file PrimitiveStructure.cpp.

111  {
112  return regex_match(inConfig, sFlopRegEx);
113  }
static boost::regex sFlopRegEx
Regular expression for flops.
bool torc::packer::PrimitiveStructure::isGround ( const PrimitiveElement inElement)
virtual

Return true if the element is a ground source.

Definition at line 101 of file PrimitiveStructure.cpp.

101  {
102  const PrimitiveElementPinArray& elementPins = inElement.getPins();
103  return elementPins.getSize() == 1 && elementPins[0].getName() == "0"
104  && regex_match(inElement.getName(), sGroundRegEx);
105  }
static boost::regex sGroundRegEx
Regular expression for ground sources.
const string & getName(void) const
Returns the name of the element.
PrimitiveElementPinArray & getPins(void)
Returns a non-constant array of element pins. This function should only be used by the Sites class d...
uint32_t getSize(void) const
Returns the array size.
Definition: Array.hpp:104

+ Here is the call graph for this function:

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

Return true if the element is a LUT.

Definition at line 107 of file PrimitiveStructure.cpp.

107  {
108  return regex_match(inConfig, sLUTRegEx);
109  }
static boost::regex sLUTRegEx
Regular expression for LUTs.
bool torc::packer::PrimitiveStructure::isMux ( const PrimitiveElement inElement,
bool &  outIsSwitch 
)
virtual

Return true if the element is a configurable mux.

Definition at line 54 of file PrimitiveStructure.cpp.

54  {
55  outIsSwitch = false;
56  // look up information about the primitive
57  const PrimitiveElement::StringSet& cfgs = inElement.getCfgs();
58  PrimitiveElement::StringSet::size_type cfgsCount = cfgs.size();
59  const PrimitiveElementPinArray& elementPins = inElement.getPins();
60  boost::uint32_t elementPinsCount = elementPins.getSize();
61 
62  // if the configuration set is empty, this cannot be a mux
63  if(cfgsCount == 0) return false;
64 
65  // configurable muxes will have cfgsCount input pins plus one output pin
66  if(elementPinsCount != cfgsCount + 1) return false;
67  // copy the input pins into a set
71  while(pp < pe) { if(pp->isInput()) inputs.insert(pp->getName()); pp++; }
72  PrimitiveElement::StringSet::size_type inputCount = inputs.size();
73 
74  // compare the implicitly sorted cfgs and input pins sets for equality
75  PrimitiveElement::StringSet::const_iterator ip = inputs.begin();
76  PrimitiveElement::StringSet::const_iterator ie = inputs.end();
77  PrimitiveElement::StringSet::const_iterator cp = cfgs.begin();
78  while(ip != ie) if(*ip++ != *cp++) return false;
79 
80  // now that we know this is a mux, make note of all the inverting inputs
81  ip = inputs.begin();
82  while(ip != ie) {
83  const std::string& input = *ip++;
84  if(regex_match(input, sInvertingInputRegEx)) {
85  torc::architecture::xilinx::PinIndex pinIndex = inElement.findPinIndexByName(input);
86  mInvertedInputs.insert(&elementPins[pinIndex]);
87  }
88  }
89 
90  // if we got this far, the element is a mux (and it may also be a switch)
91  if(inputCount == 1) outIsSwitch = true;
92  return true;
93  }
static boost::regex sInvertingInputRegEx
Regular expression for inverting input pins.
const const PrimitiveElementPin * const_iterator
Constant T iterator type.
Definition: Array.hpp:83
PinIndex findPinIndexByName(const string &inName) const
Returns the pin index corresponding to the given pin name, or PinIndex::undefined() if the pin name d...
ElementPinPtrSet mInvertedInputs
Set of inverted element input pins.
T * end(void)
Returns the non-constant end iterator.
Definition: Array.hpp:97
Encapsulation of a pin index in an unsigned 32-bit integer.
std::string string
PrimitiveElementPinArray & getPins(void)
Returns a non-constant array of element pins. This function should only be used by the Sites class d...
T * begin(void)
Returns the non-constant begin iterator.
Definition: Array.hpp:95
std::set< std::string > StringSet
A set of configuration values.
const StringSet & getCfgs(void) const
Returns the set of allowable configuration values.
uint32_t getSize(void) const
Returns the array size.
Definition: Array.hpp:104

+ Here is the call graph for this function:

bool torc::packer::PrimitiveStructure::isOrphan ( const PrimitiveElement inElement)
virtual

Return true if the element is an orphan.

Definition at line 50 of file PrimitiveStructure.cpp.

50  {
51  return inElement.getPins().getSize() == 0;
52  }
PrimitiveElementPinArray & getPins(void)
Returns a non-constant array of element pins. This function should only be used by the Sites class d...
uint32_t getSize(void) const
Returns the array size.
Definition: Array.hpp:104

+ Here is the call graph for this function:

bool torc::packer::PrimitiveStructure::isPower ( const PrimitiveElement inElement)
virtual

Return true if the element is a power source.

Definition at line 95 of file PrimitiveStructure.cpp.

95  {
96  const PrimitiveElementPinArray& elementPins = inElement.getPins();
97  return elementPins.getSize() == 1 && elementPins[0].getName() == "1"
98  && regex_match(inElement.getName(), sPowerRegEx);
99  }
static boost::regex sPowerRegEx
Regular expression for power sources.
const string & getName(void) const
Returns the name of the element.
PrimitiveElementPinArray & getPins(void)
Returns a non-constant array of element pins. This function should only be used by the Sites class d...
uint32_t getSize(void) const
Returns the array size.
Definition: Array.hpp:104

+ Here is the call graph for this function:

bool torc::packer::PrimitiveStructure::isPreclassified ( const PrimitiveElement inElement)
virtual

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

Definition at line 36 of file PrimitiveStructure.cpp.

36  {
37  return mPreclassified.find(inElement.getName()) != mPreclassified.end();
38  }
const string & getName(void) const
Returns the name of the element.
NameToElementPtrMap mPreclassified
Map of pre-classified elements (typically by a subclass).

+ Here is the call graph for this function:

bool torc::packer::PrimitiveStructure::isPrincipal ( const PrimitiveElement inElement)
virtual

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

Definition at line 40 of file PrimitiveStructure.cpp.

40  {
41  return inElement.getName() == mPrimitiveDefPtr->getName()
42  || regex_match(inElement.getName(), sPrincipalRegEx);
43  }
const string & getName(void) const
Returns the name of the element.
static boost::regex sPrincipalRegEx
Regular expression for additional principal elements.
const PrimitiveDef * mPrimitiveDefPtr
Pointer to the associated primitive definition.
const string & getName(void) const
Returns the name of the primitive.

+ Here is the call graph for this function:

bool torc::packer::PrimitiveStructure::isRoutethrough ( const PrimitiveElement inElementPtr)
virtual

Return true if the element is a routethrough.

Definition at line 115 of file PrimitiveStructure.cpp.

115  {
116  return regex_match(inElement.getName(), sRoutethroughRegEx);
117  }
static boost::regex sRoutethroughRegEx
Regular expression for routethroughs.

+ Here is the call graph for this function:

bool torc::packer::PrimitiveStructure::isTerminal ( const PrimitiveElement inElement)
virtual

Return true if the element is a terminal.

Definition at line 45 of file PrimitiveStructure.cpp.

45  {
46  if(inElement.getPins().getSize() != 1) return false;
47  return !mPrimitiveDefPtr->findPinIndexByName(inElement.getName()).isUndefined();
48  }
PinIndex findPinIndexByName(const std::string &inName) const
Returns the pin index corresponding to the given pin name, or PinIndex::undefined() if the pin name d...
const string & getName(void) const
Returns the name of the element.
PrimitiveElementPinArray & getPins(void)
Returns a non-constant array of element pins. This function should only be used by the Sites class d...
const PrimitiveDef * mPrimitiveDefPtr
Pointer to the associated primitive definition.
uint32_t getSize(void) const
Returns the array size.
Definition: Array.hpp:104

+ Here is the call graph for this function:

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.

friend class Unpacker
friend

Definition at line 54 of file PrimitiveStructure.hpp.

Field Documentation

NameToElementPtrMap torc::packer::PrimitiveStructure::mElements
protected

Map of all elements.

Definition at line 80 of file PrimitiveStructure.hpp.

NameToElementPtrMap torc::packer::PrimitiveStructure::mFlops
protected

Map of all flops.

Definition at line 99 of file PrimitiveStructure.hpp.

NameToElementPtrMap torc::packer::PrimitiveStructure::mGround
protected

Map of all ground sources.

Definition at line 106 of file PrimitiveStructure.hpp.

ElementPinPtrSet torc::packer::PrimitiveStructure::mInvertedInputs
protected

Set of inverted element input pins.

Definition at line 74 of file PrimitiveStructure.hpp.

NameToElementPtrMap torc::packer::PrimitiveStructure::mLUTs
protected

Map of all LUTs.

Definition at line 97 of file PrimitiveStructure.hpp.

NameToElementPtrMap torc::packer::PrimitiveStructure::mMuxes
protected

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

Definition at line 86 of file PrimitiveStructure.hpp.

NameToElementPtrMap torc::packer::PrimitiveStructure::mOrphans
protected

Map of all Orphans.

Definition at line 88 of file PrimitiveStructure.hpp.

NameToElementPtrMap torc::packer::PrimitiveStructure::mPower
protected

Map of all power sources.

Definition at line 104 of file PrimitiveStructure.hpp.

NameToElementPtrMap torc::packer::PrimitiveStructure::mPreclassified
protected

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

Definition at line 78 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.

NameToElementPtrMap torc::packer::PrimitiveStructure::mPrincipals
protected

Map of all principals.

Definition at line 82 of file PrimitiveStructure.hpp.

PrincipalToOrphanPtrMap torc::packer::PrimitiveStructure::mPrincipalsToOrphans
protected

Map of principals to orphans.

Definition at line 110 of file PrimitiveStructure.hpp.

NameToElementPtrMap torc::packer::PrimitiveStructure::mRoutethroughs
protected

Map of all routethroughs.

Definition at line 108 of file PrimitiveStructure.hpp.

NameToElementPtrMap torc::packer::PrimitiveStructure::mSwitches
protected

Map of all switches.

Definition at line 91 of file PrimitiveStructure.hpp.

NameToElementPtrMap torc::packer::PrimitiveStructure::mTerminals
protected

Map of all terminals.

Definition at line 84 of file PrimitiveStructure.hpp.

NameToElementPtrMap torc::packer::PrimitiveStructure::mUnprocessed
protected

Map of unprocessed elements.

Definition at line 76 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sFlopRegEx
staticprotected

Regular expression for flops.

Definition at line 119 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sGroundRegEx
staticprotected

Regular expression for ground sources.

Definition at line 123 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sInvertingInputRegEx
staticprotected

Regular expression for inverting input pins.

Definition at line 125 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sLUTRegEx
staticprotected

Regular expression for LUTs.

Definition at line 117 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sPowerRegEx
staticprotected

Regular expression for power sources.

Definition at line 121 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sPrincipalRegEx
staticprotected

Regular expression for additional principal elements.

Definition at line 115 of file PrimitiveStructure.hpp.

boost::regex torc::packer::PrimitiveStructure::sRoutethroughRegEx
staticprotected

Regular expression for routethroughs.

Definition at line 113 of file PrimitiveStructure.hpp.


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