OpenASIP
2.0
|
#include <AvalonMMMasterInterface.hh>
Public Member Functions | |
AvalonMMMasterInterface (const TCEString &name, const TCEString &declaration, const TCEString &avalonPrefix, const SOPCInterface &clock) | |
virtual | ~AvalonMMMasterInterface () |
bool | isValidPort (const ProGe::NetlistPort &port) const |
void | addPort (const ProGe::NetlistPort &port) |
virtual void | writeInterface (std::ostream &stream) const |
Public Member Functions inherited from SOPCInterface | |
SOPCInterface (TCEString name, TCEString declaration) | |
virtual | ~SOPCInterface () |
void | setProperty (const TCEString &propertyName, const TCEString &propertyValue) |
void | setProperty (const TCEString &propertyName, int propertyValue) |
void | setPort (const TCEString &hdlName, const TCEString &interfaceName, ProGe::Direction direction, int width) |
TCEString | name () const |
bool | hasPorts () const |
Static Public Attributes | |
static const TCEString | AVALON_MM_ADDRESS = "address" |
static const TCEString | AVALON_MM_WDATA = "writedata" |
static const TCEString | AVALON_MM_RDATA = "readdata" |
static const TCEString | AVALON_MM_READ = "read" |
static const TCEString | AVALON_MM_WRITE = "write" |
static const TCEString | AVALON_MM_BYTE_ENABLE |
static const TCEString | AVALON_MM_WAIT_REQ = "waitrequest" |
static const TCEString | AVALON_MM_IRQ_RECV = "irq" |
Static Public Attributes inherited from SOPCInterface | |
static const TCEString | SOPC_ADD_INTERFACE |
static const TCEString | SOPC_SET_INT_PROPERTY |
static const TCEString | SOPC_ADD_INT_PORT |
static const TCEString | SOPC_ASSOCIATED_CLOCK |
static const TCEString | SOPC_MASTER_INT_NAME = "avalon_master" |
static const TCEString | SOPC_MASTER_INT_DECLR = "avalon start" |
static const TCEString | SOPC_CLOCK_INT_NAME = "clock_reset" |
static const TCEString | SOPC_CLOCK_INT_DECLR = "clock end" |
static const TCEString | SOPC_EXPORT_INT_NAME = "conduit_interface" |
static const TCEString | SOPC_EXPORT_INT_DECLR = "conduit end" |
static const TCEString | SOPC_EXPORT_NAME = "export" |
static const TCEString | SOPC_IRQ_RECV_INT_NAME = "interrupt_recv" |
static const TCEString | SOPC_IRQ_RECV_INT_DECLR = "interrupt start" |
static const TCEString | SOPC_INPUT = "Input" |
static const TCEString | SOPC_OUTPUT = "Output" |
static const TCEString | SOPC_BIDIR = "Bidir" |
Private Member Functions | |
const SOPCPort * | findInterfacePort (TCEString hdlName, ProGe::Direction direction) const |
void | addIrqInterface (const ProGe::NetlistPort &port, const SOPCPort &avalonPort) |
Private Attributes | |
TCEString | avalonPrefix_ |
PortList | masterPorts_ |
SOPCPort | irqPort_ |
const SOPCInterface * | clock_ |
std::vector< SOPCInterface * > | childInterfaces_ |
Static Private Attributes | |
static const int | ADDRESS_DEF_WIDTH = 32 |
static const int | WDATA_DEF_WIDTH = 32 |
static const int | RDATA_DEF_WIDTH = 32 |
static const int | READ_DEF_WIDTH = 1 |
static const int | WRITE_DEF_WIDTH = 1 |
static const int | BYTE_ENABLE_DEF_WIDTH = WDATA_DEF_WIDTH/8 |
static const int | WAIT_REQ_DEF_WIDTH = 1 |
static const int | IRQ_RECV_DEF_WIDTH = 32 |
Additional Inherited Members | |
Protected Types inherited from SOPCInterface | |
typedef std::map< TCEString, TCEString > | PropertyMap |
typedef std::vector< SOPCPort > | PortList |
Protected Member Functions inherited from SOPCInterface | |
const PropertyMap * | properties () const |
const PortList * | ports () const |
void | writeProperties (std::ostream &stream) const |
void | writePorts (std::ostream &stream) const |
Definition at line 39 of file AvalonMMMasterInterface.hh.
AvalonMMMasterInterface::AvalonMMMasterInterface | ( | const TCEString & | name, |
const TCEString & | declaration, | ||
const TCEString & | avalonPrefix, | ||
const SOPCInterface & | clock | ||
) |
Definition at line 54 of file AvalonMMMasterInterface.cc.
References ADDRESS_DEF_WIDTH, AVALON_MM_ADDRESS, AVALON_MM_BYTE_ENABLE, AVALON_MM_IRQ_RECV, AVALON_MM_RDATA, AVALON_MM_READ, AVALON_MM_WAIT_REQ, AVALON_MM_WDATA, AVALON_MM_WRITE, BYTE_ENABLE_DEF_WIDTH, clock_, ProGe::IN, IRQ_RECV_DEF_WIDTH, masterPorts_, SOPCInterface::name(), ProGe::OUT, RDATA_DEF_WIDTH, READ_DEF_WIDTH, SOPCInterface::setProperty(), SOPCInterface::SOPC_ASSOCIATED_CLOCK, WAIT_REQ_DEF_WIDTH, WDATA_DEF_WIDTH, and WRITE_DEF_WIDTH.
|
virtual |
|
private |
Definition at line 151 of file AvalonMMMasterInterface.cc.
References childInterfaces_, clock_, SOPCInterface::SOPCPort::direction, SOPCInterface::SOPCPort::interfaceName, SOPCInterface::name(), ProGe::NetlistPort::name(), ProGe::NetlistPort::realWidth(), ProGe::NetlistPort::realWidthAvailable(), SOPCInterface::setPort(), SOPCInterface::setProperty(), SOPCInterface::SOPC_ASSOCIATED_CLOCK, SOPCInterface::SOPC_IRQ_RECV_INT_DECLR, SOPCInterface::SOPC_IRQ_RECV_INT_NAME, SOPCInterface::SOPCInterface(), and SOPCInterface::SOPCPort::width.
Referenced by addPort().
void AvalonMMMasterInterface::addPort | ( | const ProGe::NetlistPort & | port | ) |
Definition at line 106 of file AvalonMMMasterInterface.cc.
References addIrqInterface(), AVALON_MM_IRQ_RECV, SOPCInterface::SOPCPort::direction, ProGe::NetlistPort::direction(), findInterfacePort(), SOPCInterface::SOPCPort::interfaceName, ProGe::NetlistPort::name(), ProGe::NetlistPort::realWidth(), ProGe::NetlistPort::realWidthAvailable(), SOPCInterface::setPort(), and SOPCInterface::SOPCPort::width.
Referenced by SOPCBuilderFileGenerator::handleAvalonSignal().
|
private |
Definition at line 133 of file AvalonMMMasterInterface.cc.
References avalonPrefix_, and masterPorts_.
Referenced by addPort(), and isValidPort().
bool AvalonMMMasterInterface::isValidPort | ( | const ProGe::NetlistPort & | port | ) | const |
Definition at line 100 of file AvalonMMMasterInterface.cc.
References ProGe::NetlistPort::direction(), findInterfacePort(), and ProGe::NetlistPort::name().
Referenced by SOPCBuilderFileGenerator::handleAvalonSignal().
|
virtual |
Reimplemented from SOPCInterface.
Definition at line 124 of file AvalonMMMasterInterface.cc.
References childInterfaces_, and SOPCInterface::writeInterface().
Referenced by SOPCBuilderFileGenerator::writeInterfaces().
|
staticprivate |
Definition at line 83 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
static |
Definition at line 56 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface(), and SOPCBuilderFileGenerator::countAvalonMMMasters().
|
static |
Definition at line 61 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
static |
Definition at line 63 of file AvalonMMMasterInterface.hh.
Referenced by addPort(), and AvalonMMMasterInterface().
|
static |
Definition at line 58 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
static |
Definition at line 59 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
static |
Definition at line 62 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
static |
Definition at line 57 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
static |
Definition at line 60 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
private |
Definition at line 75 of file AvalonMMMasterInterface.hh.
Referenced by findInterfacePort().
|
staticprivate |
Definition at line 88 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
private |
Definition at line 81 of file AvalonMMMasterInterface.hh.
Referenced by addIrqInterface(), writeInterface(), and ~AvalonMMMasterInterface().
|
private |
Definition at line 80 of file AvalonMMMasterInterface.hh.
Referenced by addIrqInterface(), and AvalonMMMasterInterface().
|
staticprivate |
Definition at line 90 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
private |
Definition at line 78 of file AvalonMMMasterInterface.hh.
|
private |
Definition at line 77 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface(), and findInterfacePort().
|
staticprivate |
Definition at line 85 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
staticprivate |
Definition at line 86 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
staticprivate |
Definition at line 89 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
staticprivate |
Definition at line 84 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().
|
staticprivate |
Definition at line 87 of file AvalonMMMasterInterface.hh.
Referenced by AvalonMMMasterInterface().