torc::physical::Design Class Reference

Physical netlist design. More...

#include <Design.hpp>

Inheritance diagram for torc::physical::Design:

Inheritance graph
[legend]
Collaboration diagram for torc::physical::Design:

Collaboration graph
[legend]

List of all members.

Public Types

typedef
ModuleSharedPtrVector::const_iterator 
ModuleSharedPtrConstIterator
 Constant iterator for Module shared pointers.
typedef
ModuleSharedPtrVector::iterator 
ModuleSharedPtrIterator
 Non-constant iterator for Module shared pointers.

Public Member Functions

ModuleSharedPtrIterator findModule (const string &inName)
 Find a design module by name.
bool addModule (ModuleSharedPtr &inModulePtr)
 Add a module to the design.
bool removeModule (ModuleSharedPtr &inModulePtr)
 Remove a module from the design.
const stringgetDevice (void) const
 Returns the target device for this design.
const stringgetPackage (void) const
 Returns the device package for this design.
const stringgetSpeedGrade (void) const
 Returns the device speed grade for this design.
const stringgetXdlVersion (void) const
 Returns the XDL version for this design.
void setDevice (const string &inDevice)
 Sets the target device for this design.
void setPackage (const string &inPackage)
 Sets the device package for this design.
void setSpeedGrade (const string &inSpeedGrade)
 Sets the device speed grade for this design.
void setXdlVersion (const string &inXdlVersion)
 Sets the XDL version for this design.
size_t getModuleCount (void) const
 Returns the number of modules in the design.
ModuleSharedPtrConstIterator modulesBegin (void) const
 Returns the begin constant iterator for modules.
ModuleSharedPtrConstIterator modulesEnd (void) const
 Returns the end constant iterator for modules.
ModuleSharedPtrIterator modulesBegin (void)
 Returns the begin non-constant iterator for modules.
ModuleSharedPtrIterator modulesEnd (void)
 Returns the end non-constant iterator for modules.

Protected Types

typedef std::string string
 Imported type name.

Protected Member Functions

 Design (const string &inName, const string &inDevice, const string &inPackage, const string &inSpeedGrade, const string &inXdlVersion)
 Protected constructor. Designs must be created by the Factory.

Protected Attributes

ModuleSharedPtrVector mModules
 Vector of module shared pointers.
string mDevice
 The target device specified for this design.
string mPackage
 The device package specified for this design.
string mSpeedGrade
 The device speed grade specified for this design.
string mXdlVersion
 The XDL version specified for this design.

Friends

class Factory
 The Factory class has direct access to our internals.


Detailed Description

Physical netlist design.

The design is the top-level entity. It consists of an arbitrary number of modules, instances, and nets. Design objects must be created by the Factory class.

Definition at line 33 of file Design.hpp.


Member Typedef Documentation

typedef std::string torc::physical::Design::string [protected]

Imported type name.

Reimplemented from torc::physical::Circuit.

Definition at line 40 of file Design.hpp.

typedef ModuleSharedPtrVector::const_iterator torc::physical::Design::ModuleSharedPtrConstIterator

Constant iterator for Module shared pointers.

Definition at line 66 of file Design.hpp.

typedef ModuleSharedPtrVector::iterator torc::physical::Design::ModuleSharedPtrIterator

Non-constant iterator for Module shared pointers.

Definition at line 68 of file Design.hpp.


Constructor & Destructor Documentation

torc::physical::Design::Design ( const string inName,
const string inDevice,
const string inPackage,
const string inSpeedGrade,
const string inXdlVersion 
) [inline, protected]

Protected constructor. Designs must be created by the Factory.

Parameters:
inName The design name.
inDevice The design device.
inPackage The device package.
inSpeedGrade The device speed grade.
inXdlVersion The design XDL version.

Definition at line 59 of file Design.hpp.


Member Function Documentation

ModuleSharedPtrIterator torc::physical::Design::findModule ( const string inName  )  [inline]

Find a design module by name.

Parameters:
inName The module name to look for.
Returns:
an iterator for the specified module, or modulesEnd() if the name was not found.

Definition at line 74 of file Design.hpp.

bool torc::physical::Design::addModule ( ModuleSharedPtr inModulePtr  )  [inline]

Add a module to the design.

Parameters:
inModulePtr The module to add.
Returns:
true if the module was added, or false if a module with the same name already exists in the design.

Todo:
Acquire mutex.

Todo:
Release mutex.

Definition at line 82 of file Design.hpp.

bool torc::physical::Design::removeModule ( ModuleSharedPtr inModulePtr  )  [inline]

Remove a module from the design.

Parameters:
inModulePtr The module to remove.
Returns:
true if the module was remove, or false if the module did not exist.

Todo:
Acquire mutex.

Todo:
Release mutex.

Definition at line 94 of file Design.hpp.

const string& torc::physical::Design::getDevice ( void   )  const [inline]

Returns the target device for this design.

Definition at line 105 of file Design.hpp.

const string& torc::physical::Design::getPackage ( void   )  const [inline]

Returns the device package for this design.

Definition at line 107 of file Design.hpp.

const string& torc::physical::Design::getSpeedGrade ( void   )  const [inline]

Returns the device speed grade for this design.

Definition at line 109 of file Design.hpp.

const string& torc::physical::Design::getXdlVersion ( void   )  const [inline]

Returns the XDL version for this design.

Definition at line 111 of file Design.hpp.

void torc::physical::Design::setDevice ( const string inDevice  )  [inline]

Sets the target device for this design.

Definition at line 113 of file Design.hpp.

void torc::physical::Design::setPackage ( const string inPackage  )  [inline]

Sets the device package for this design.

Definition at line 115 of file Design.hpp.

void torc::physical::Design::setSpeedGrade ( const string inSpeedGrade  )  [inline]

Sets the device speed grade for this design.

Definition at line 117 of file Design.hpp.

void torc::physical::Design::setXdlVersion ( const string inXdlVersion  )  [inline]

Sets the XDL version for this design.

Definition at line 119 of file Design.hpp.

size_t torc::physical::Design::getModuleCount ( void   )  const [inline]

Returns the number of modules in the design.

Definition at line 121 of file Design.hpp.

ModuleSharedPtrConstIterator torc::physical::Design::modulesBegin ( void   )  const [inline]

Returns the begin constant iterator for modules.

Definition at line 124 of file Design.hpp.

ModuleSharedPtrConstIterator torc::physical::Design::modulesEnd ( void   )  const [inline]

Returns the end constant iterator for modules.

Definition at line 126 of file Design.hpp.

ModuleSharedPtrIterator torc::physical::Design::modulesBegin ( void   )  [inline]

Returns the begin non-constant iterator for modules.

Definition at line 128 of file Design.hpp.

ModuleSharedPtrIterator torc::physical::Design::modulesEnd ( void   )  [inline]

Returns the end non-constant iterator for modules.

Definition at line 130 of file Design.hpp.


Friends And Related Function Documentation

friend class Factory [friend]

The Factory class has direct access to our internals.

Reimplemented from torc::physical::Progenitor< T >.

Definition at line 36 of file Design.hpp.


Member Data Documentation

Vector of module shared pointers.

Definition at line 43 of file Design.hpp.

The target device specified for this design.

Definition at line 45 of file Design.hpp.

The device package specified for this design.

Definition at line 47 of file Design.hpp.

The device speed grade specified for this design.

Definition at line 49 of file Design.hpp.

The XDL version specified for this design.

Definition at line 51 of file Design.hpp.


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

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