OpenASIP 2.2
|
#include <NetlistPortGroup.hh>
Public Types | |
typedef std::vector< NetlistPort * > | PortContainerType |
typedef PortContainerType::iterator | iterator |
typedef PortContainerType::const_iterator | const_iterator |
typedef PortContainerType::reverse_iterator | reverse_iterator |
typedef PortContainerType::const_reverse_iterator | const_reverse_iterator |
Public Member Functions | |
NetlistPortGroup (SignalGroup signalGroup=SignalGroup()) | |
template<typename... PortType> | |
NetlistPortGroup (SignalGroup groupType, PortType... ts) | |
virtual | ~NetlistPortGroup () |
size_t | portCount () const |
const NetlistPort & | portAt (size_t index) const |
NetlistPort & | portAt (size_t index) |
void | addPort (NetlistPort &port) |
bool | hasPortBySignal (SignalType type) const |
const NetlistPort & | portBySignal (SignalType type) const |
void | clear () |
bool | hasParent () const |
const BaseNetlistBlock & | parent () const |
BaseNetlistBlock & | parent () |
void | assignSignalGroup (SignalGroup signalGroup) |
SignalGroup | assignedSignalGroup () const |
virtual NetlistPortGroup * | clone (bool asMirrored=false) const |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
reverse_iterator | rbegin () |
reverse_iterator | rend () |
const_reverse_iterator | rbegin () const |
const_reverse_iterator | rend () const |
Protected Member Functions | |
NetlistPortGroup (const NetlistPortGroup &, bool asMirrored=false) | |
Private Member Functions | |
NetlistPortGroup () | |
NetlistPortGroup & | operator= (const NetlistPortGroup &) |
void | setParent (BaseNetlistBlock *newParent) |
Private Attributes | |
BaseNetlistBlock * | parent_ |
The parent block where the group belongs to. | |
PortContainerType | ports_ |
The ports belonging to this group by reference. | |
SignalGroup | signalGroup_ |
The usage/implemented interface of the group. | |
Friends | |
class | BaseNetlistBlock |
Definition at line 53 of file NetlistPortGroup.hh.
typedef PortContainerType::const_iterator ProGe::NetlistPortGroup::const_iterator |
Definition at line 86 of file NetlistPortGroup.hh.
typedef PortContainerType::const_reverse_iterator ProGe::NetlistPortGroup::const_reverse_iterator |
Definition at line 88 of file NetlistPortGroup.hh.
typedef PortContainerType::iterator ProGe::NetlistPortGroup::iterator |
Definition at line 85 of file NetlistPortGroup.hh.
typedef std::vector<NetlistPort*> ProGe::NetlistPortGroup::PortContainerType |
Definition at line 58 of file NetlistPortGroup.hh.
typedef PortContainerType::reverse_iterator ProGe::NetlistPortGroup::reverse_iterator |
Definition at line 87 of file NetlistPortGroup.hh.
ProGe::NetlistPortGroup::NetlistPortGroup | ( | SignalGroup | signalGroup = SignalGroup() | ) |
Constructs empty port group with given SignalGroup.
Definition at line 65 of file NetlistPortGroup.cc.
ProGe::NetlistPortGroup::NetlistPortGroup | ( | SignalGroup | groupType, |
PortType... | ts | ||
) |
|
virtual |
Definition at line 68 of file NetlistPortGroup.cc.
References SequenceTools::deleteAllItems(), hasParent(), and ports_.
|
protected |
Copy constructor. Copies everything except parent block reference.
Definition at line 52 of file NetlistPortGroup.cc.
References ProGe::NetlistPort::clone(), portAt(), portCount(), and ports_.
|
private |
void ProGe::NetlistPortGroup::addPort | ( | NetlistPort & | port | ) |
Definition at line 93 of file NetlistPortGroup.cc.
References ports_.
Referenced by ProGe::NetlistGenerator::addFUExternalPortsToNetlist(), AlmaIFIntegrator::addPortToGroup(), FUGen::createExternalInterfaces(), ProGe::NetlistBlock::shallowCopy(), and ProGe::BaseNetlistBlock::shallowCopy().
SignalGroup ProGe::NetlistPortGroup::assignedSignalGroup | ( | ) | const |
Definition at line 160 of file NetlistPortGroup.cc.
References signalGroup_.
Referenced by ProGe::BaseNetlistBlock::portGroupsBy(), ProGe::ProcessorWrapperBlock::ProcessorWrapperBlock(), and ProGe::PortFactory::registerPortGroup().
void ProGe::NetlistPortGroup::assignSignalGroup | ( | SignalGroup | signalGroup | ) |
Definition at line 155 of file NetlistPortGroup.cc.
References signalGroup_.
NetlistPortGroup::iterator ProGe::NetlistPortGroup::begin | ( | ) |
NetlistPortGroup::const_iterator ProGe::NetlistPortGroup::begin | ( | ) | const |
Definition at line 191 of file NetlistPortGroup.cc.
References ports_.
void ProGe::NetlistPortGroup::clear | ( | ) |
Clears all ports associated to the port group.
The Ports are deleted and detached from the parent block.
Definition at line 128 of file NetlistPortGroup.cc.
References SequenceTools::deleteAllItems(), and ports_.
Referenced by ProGe::NetlistBlock::shallowCopy(), and ProGe::BaseNetlistBlock::shallowCopy().
|
virtual |
Clones the NetlistPort and and its ports without parent block reference since it would break unique port name constraint.
Reimplemented in ProGe::MemoryBusInterface.
Definition at line 169 of file NetlistPortGroup.cc.
References assert, ProGe::NetlistPort::assignedSignal(), NetlistPortGroup(), portAt(), portCount(), and ProGe::Signal::type().
Referenced by ProGe::PortFactory::createPortGroup(), AlmaIFIntegrator::initAlmaifBlock(), ProGe::NetlistBlock::shallowCopy(), and ProGe::BaseNetlistBlock::shallowCopy().
NetlistPortGroup::iterator ProGe::NetlistPortGroup::end | ( | ) |
Definition at line 186 of file NetlistPortGroup.cc.
References ports_.
NetlistPortGroup::const_iterator ProGe::NetlistPortGroup::end | ( | ) | const |
Definition at line 196 of file NetlistPortGroup.cc.
References ports_.
bool ProGe::NetlistPortGroup::hasParent | ( | ) | const |
Definition at line 133 of file NetlistPortGroup.cc.
References parent_.
Referenced by parent(), parent(), and ~NetlistPortGroup().
bool ProGe::NetlistPortGroup::hasPortBySignal | ( | SignalType | type | ) | const |
Definition at line 98 of file NetlistPortGroup.cc.
Referenced by ProGe::Netlist::connectBy().
|
private |
BaseNetlistBlock & ProGe::NetlistPortGroup::parent | ( | ) |
Definition at line 144 of file NetlistPortGroup.cc.
References assert, hasParent(), and parent_.
const BaseNetlistBlock & ProGe::NetlistPortGroup::parent | ( | ) | const |
Definition at line 138 of file NetlistPortGroup.cc.
References assert, hasParent(), and parent_.
NetlistPort & ProGe::NetlistPortGroup::portAt | ( | size_t | index | ) |
Definition at line 88 of file NetlistPortGroup.cc.
References ports_.
const NetlistPort & ProGe::NetlistPortGroup::portAt | ( | size_t | index | ) | const |
Definition at line 83 of file NetlistPortGroup.cc.
References ports_.
Referenced by ProGe::BaseNetlistBlock::addPortGroup(), clone(), and NetlistPortGroup().
const NetlistPort & ProGe::NetlistPortGroup::portBySignal | ( | SignalType | type | ) | const |
Returns first found port by given signal type.
Definition at line 111 of file NetlistPortGroup.cc.
References THROW_EXCEPTION.
Referenced by ProGe::ProcessorWrapperBlock::addDataMemory(), ProGe::ProcessorWrapperBlock::addDataMemory2(), ProGe::ProcessorWrapperBlock::addInstructionMemory(), ProGe::Netlist::connect(), and ProGe::Netlist::connectBy().
size_t ProGe::NetlistPortGroup::portCount | ( | ) | const |
Returns number of ports in the group.
Definition at line 78 of file NetlistPortGroup.cc.
References ports_.
Referenced by ProGe::BaseNetlistBlock::addPortGroup(), clone(), ProGe::Netlist::connect(), ProGe::Netlist::connectGroupByName(), NetlistPortGroup(), and ProGe::NetlistTools::renamePorts().
NetlistPortGroup::reverse_iterator ProGe::NetlistPortGroup::rbegin | ( | ) |
Definition at line 201 of file NetlistPortGroup.cc.
References ports_.
NetlistPortGroup::const_reverse_iterator ProGe::NetlistPortGroup::rbegin | ( | ) | const |
Definition at line 211 of file NetlistPortGroup.cc.
References ports_.
NetlistPortGroup::reverse_iterator ProGe::NetlistPortGroup::rend | ( | ) |
Definition at line 206 of file NetlistPortGroup.cc.
References ports_.
NetlistPortGroup::const_reverse_iterator ProGe::NetlistPortGroup::rend | ( | ) | const |
Definition at line 216 of file NetlistPortGroup.cc.
References ports_.
|
private |
Definition at line 150 of file NetlistPortGroup.cc.
References parent_.
Referenced by ProGe::BaseNetlistBlock::addPortGroup().
|
friend |
Definition at line 56 of file NetlistPortGroup.hh.
|
private |
The parent block where the group belongs to.
Definition at line 110 of file NetlistPortGroup.hh.
Referenced by hasParent(), parent(), parent(), and setParent().
|
private |
The ports belonging to this group by reference.
Definition at line 112 of file NetlistPortGroup.hh.
Referenced by addPort(), begin(), begin(), clear(), end(), end(), NetlistPortGroup(), portAt(), portAt(), portCount(), rbegin(), rbegin(), rend(), rend(), and ~NetlistPortGroup().
|
private |
The usage/implemented interface of the group.
Definition at line 114 of file NetlistPortGroup.hh.
Referenced by assignedSignalGroup(), and assignSignalGroup().