OpenASIP
2.0
|
#include <NetlistFactories.hh>
Public Member Functions | |
PortFactory (const TTAMachine::Machine &machine, const IDF::MachineImplementation &impl) | |
virtual | ~PortFactory () |
NetlistPort * | createPort (SignalType type, Direction direction=IN) const |
NetlistPortGroup * | createPortGroup (SignalGroupType type) const |
Static Public Member Functions | |
static NetlistPort * | create (SignalType type, Direction direction=IN) |
static NetlistPortGroup * | create (SignalGroupType type) |
static void | initializeContext (const TTAMachine::Machine &machine, const IDF::MachineImplementation &impl) |
static PortFactory * | instance () |
static NetlistPort * | clockPort (Direction direction=IN) |
static NetlistPort * | resetPort (Direction direction=IN) |
Private Types | |
typedef std::map< SignalType, const NetlistPort * > | PortPrototypeContainer |
typedef std::map< SignalGroupType, const NetlistPortGroup * > | PortGroupPrototypeContainer |
Private Member Functions | |
PortFactory () | |
void | registerPort (SignalType, const NetlistPort *port) |
void | registerPort (const NetlistPort *port) |
void | registerPorts () |
void | registerPortGroup (SignalGroupType type, const NetlistPortGroup *portGroup) |
void | registerPortGroup (const NetlistPortGroup *portGroup) |
void | registerPortGroups () |
Private Attributes | |
PortPrototypeContainer | portPrototypes_ |
The creation context. More... | |
PortGroupPrototypeContainer | portGroupPrototypes_ |
Registered NetlistPortGroup prototypes. More... | |
Static Private Attributes | |
static PortFactory * | instance_ = NULL |
Singleton instance of the factory. More... | |
static const TTAMachine::Machine * | staticMachine_ = NULL |
The creation context for singleton instance. More... | |
static const IDF::MachineImplementation * | staticImplementation_ = NULL |
The creation context for singleton instance. More... | |
Definition at line 55 of file NetlistFactories.hh.
|
private |
Definition at line 90 of file NetlistFactories.hh.
|
private |
Definition at line 88 of file NetlistFactories.hh.
ProGe::PortFactory::PortFactory | ( | const TTAMachine::Machine & | machine, |
const IDF::MachineImplementation & | impl | ||
) |
Definition at line 53 of file NetlistFactories.cc.
|
virtual |
Definition at line 60 of file NetlistFactories.cc.
References portGroupPrototypes_, and portPrototypes_.
|
private |
|
static |
Creates default clock port.
Definition at line 200 of file NetlistFactories.cc.
References ProGe::CLOCK, ProGe::NetlistPort::clone(), and ProGe::IN.
Referenced by ProGe::LoopBufferBlock::LoopBufferBlock(), ProGe::ProcessorWrapperBlock::ProcessorWrapperBlock(), ProGe::SinglePortByteMaskSSRAMBlock::SinglePortByteMaskSSRAMBlock(), and ProGe::SinglePortSSRAMBlock::SinglePortSSRAMBlock().
|
static |
Definition at line 160 of file NetlistFactories.cc.
References createPortGroup(), and instance().
|
static |
Definition at line 147 of file NetlistFactories.cc.
References createPort(), and instance().
NetlistPort * ProGe::PortFactory::createPort | ( | SignalType | type, |
Direction | direction = IN |
||
) | const |
Creates new NetlistPort for the given signal type.
type | The signal type. |
Definition at line 134 of file NetlistFactories.cc.
References ProGe::NetlistPort::direction(), ProGe::NetlistTools::mirror(), and portPrototypes_.
Referenced by create().
NetlistPortGroup * ProGe::PortFactory::createPortGroup | ( | SignalGroupType | type | ) | const |
Definition at line 152 of file NetlistFactories.cc.
References portGroupPrototypes_.
Referenced by create().
|
static |
Initializes factory context for the singleton factory. This function may be called only once.
Definition at line 169 of file NetlistFactories.cc.
References assert, machine, staticImplementation_, and staticMachine_.
|
static |
Global access to the factory as singleton. initializeContext() must be called once before this.
Definition at line 184 of file NetlistFactories.cc.
References assert, instance_, PortFactory(), staticImplementation_, and staticMachine_.
Referenced by create().
|
private |
Definition at line 83 of file NetlistFactories.cc.
References assert, ProGe::NetlistPort::assignedSignal(), registerPort(), ProGe::Signal::type(), and ProGe::UNDEFINED.
|
private |
Definition at line 77 of file NetlistFactories.cc.
References assert, AssocTools::containsKey(), and portPrototypes_.
Referenced by registerPort(), and registerPorts().
|
private |
Definition at line 103 of file NetlistFactories.cc.
References assert, ProGe::NetlistPortGroup::assignedSignalGroup(), registerPortGroup(), ProGe::SignalGroup::type(), and ProGe::UNDEFINED.
|
private |
Definition at line 96 of file NetlistFactories.cc.
References assert, AssocTools::containsKey(), and portGroupPrototypes_.
Referenced by registerPortGroup(), and registerPortGroups().
|
private |
Definition at line 112 of file NetlistFactories.cc.
References ProGe::ADDRESS, ProGe::BIT_VECTOR, ProGe::FETCHBLOCK, ProGe::INSTRUCTION_LINE, ProGe::LOW, ProGe::READ_REQUEST, registerPortGroup(), and ProGe::STALL.
|
private |
Definition at line 89 of file NetlistFactories.cc.
References ProGe::CLOCK, ProGe::LOW, registerPort(), and ProGe::RESET.
|
static |
Creates default active-low reset port.
Definition at line 209 of file NetlistFactories.cc.
References ProGe::NetlistPort::clone(), ProGe::IN, ProGe::LOW, and ProGe::RESET.
Referenced by ProGe::LoopBufferBlock::LoopBufferBlock(), and ProGe::ProcessorWrapperBlock::ProcessorWrapperBlock().
|
staticprivate |
Singleton instance of the factory.
Definition at line 102 of file NetlistFactories.hh.
Referenced by instance().
|
private |
Registered NetlistPortGroup prototypes.
Definition at line 99 of file NetlistFactories.hh.
Referenced by createPortGroup(), registerPortGroup(), and ~PortFactory().
|
private |
The creation context.
The creation context. Registered NetlistPort prototypes.
Definition at line 97 of file NetlistFactories.hh.
Referenced by createPort(), registerPort(), and ~PortFactory().
|
staticprivate |
The creation context for singleton instance.
Definition at line 106 of file NetlistFactories.hh.
Referenced by initializeContext(), and instance().
|
staticprivate |
The creation context for singleton instance.
Definition at line 104 of file NetlistFactories.hh.
Referenced by initializeContext(), and instance().