OpenASIP
2.0
|
#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. More... | |
PortContainerType | ports_ |
The ports belonging to this group by reference. More... | |
SignalGroup | signalGroup_ |
The usage/implemented interface of the group. More... | |
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::const_iterator ProGe::NetlistPortGroup::begin | ( | ) |
Definition at line 181 of file NetlistPortGroup.cc.
References ports_.
const_iterator ProGe::NetlistPortGroup::begin | ( | ) | const |
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 AlmaIFIntegrator::initAlmaifBlock(), ProGe::NetlistBlock::shallowCopy(), and ProGe::BaseNetlistBlock::shallowCopy().
NetlistPortGroup::const_iterator ProGe::NetlistPortGroup::end | ( | ) |
Definition at line 186 of file NetlistPortGroup.cc.
References ports_.
const_iterator ProGe::NetlistPortGroup::end | ( | ) | const |
bool ProGe::NetlistPortGroup::hasParent | ( | ) | const |
Definition at line 133 of file NetlistPortGroup.cc.
References parent_.
Referenced by parent(), and ~NetlistPortGroup().
bool ProGe::NetlistPortGroup::hasPortBySignal | ( | SignalType | type | ) | const |
Definition at line 98 of file NetlistPortGroup.cc.
References ProGe::NetlistPort::assignedSignal().
Referenced by ProGe::Netlist::connectBy().
|
private |
BaseNetlistBlock& ProGe::NetlistPortGroup::parent | ( | ) |
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 ProGe::NetlistPort::assignedSignal(), and 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(), and NetlistPortGroup().
NetlistPortGroup::const_reverse_iterator ProGe::NetlistPortGroup::rbegin | ( | ) |
Definition at line 201 of file NetlistPortGroup.cc.
References ports_.
const_reverse_iterator ProGe::NetlistPortGroup::rbegin | ( | ) | const |
NetlistPortGroup::const_reverse_iterator ProGe::NetlistPortGroup::rend | ( | ) |
Definition at line 206 of file NetlistPortGroup.cc.
References ports_.
const_reverse_iterator ProGe::NetlistPortGroup::rend | ( | ) | const |
|
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(), and setParent().
|
private |
The ports belonging to this group by reference.
Definition at line 112 of file NetlistPortGroup.hh.
Referenced by addPort(), begin(), clear(), end(), NetlistPortGroup(), portAt(), portCount(), rbegin(), rend(), and ~NetlistPortGroup().
|
private |
The usage/implemented interface of the group.
Definition at line 114 of file NetlistPortGroup.hh.
Referenced by assignedSignalGroup(), and assignSignalGroup().