Protocol

The protocol is point to point. More...

Classes

class  Sampa::Transaction
 Transaction. More...
class  Sampa::Nil
struct  Sampa::TL< H, T >
struct  Sampa::ExtPayload< Ext >
struct  Sampa::ExtPayload< Nil >
class  Sampa::Factory< Ext >
class  Sampa::NthElem< n >
struct  Sampa::NthType< TL, n >
struct  Sampa::NthType< TL, 1 >
class  Sampa::Tx< Ext >
class  Sampa::Tx< Nil >
struct  Sampa::TargetRequestInterface
 Interface to be implemented by target module. More...
struct  Sampa::InitiatorResponseInterface
 Interface to be implemented by initiator module. More...
class  Sampa::Initiator
 kind of master port for point to point connection More...
class  Sampa::Target
 kind of slave port for point to point connection More...
class  Sampa::AdaptingInitiator< Adapted >
class  Sampa::AdaptingTarget< Adapted >

Defines

#define Ext1(c1)   Sampa::TL<c1,Sampa::Nil>
#define Ext2(c1, c2)   Sampa::TL<c1,Ext1(c2)>
#define Ext3(c1, c2, c3)   Sampa::TL<c1,Ext2(c2, c3)>
#define Ext4(c1, c2, c3, c4)   Sampa::TL<c1,Ext3(c2, c3, c4)>
#define Ext5(c1, c2, c3, c4, c5)   Sampa::TL<c1,Ext4(c2, c3, c4, c5)>
#define Ext6(c1, c2, c3, c4, c5, c6)   Sampa::TL<c1,Ext4(c2, c3, c4, c5, c6)>
#define Ext7(c1, c2, c3, c4, c5, c6, c7)   Sampa::TL<c1,Ext4(c2, c3, c4, c5, c6, c7)>
#define Ext8(c1, c2, c3, c4, c5, c6, c7, c8)   Sampa::TL<c1,Ext4(c2, c3, c4, c5, c6, c7, c8)>
#define Ext9(c1, c2, c3, c4, c5, c6, c7, c8, c9)   Sampa::TL<c1,Ext4(c2, c3, c4, c5, c6, c7, c8, c9)>

Typedefs

typedef unsigned short Sampa::Burst
typedef unsigned short Sampa::ThreadId
typedef unsigned short Sampa::ByteEnable
typedef unsigned
long long 
Sampa::Data
typedef Transaction Sampa::Request
 Request.
typedef Request Sampa::Response
 Response.

Enumerations

enum  Sampa::Command { Sampa::CMD_IDLE, Sampa::CMD_READ, Sampa::CMD_WRITE, Sampa::CMD_NUM }
enum  Sampa::AddressMode { Sampa::ADDR_INCR, Sampa::ADDR_WRAP, Sampa::NUM_ADDR_MODE_KIND }

Detailed Description

The protocol is point to point.

It allows passing messages through implicit "channels" The master module sends requests from an Initiator end point to a slave module, which recieves the request on its Target end point. End points are not exactly port, because they are bidirectional. This is why the binding phase must establish the connection for both directions.

structural view

This is the idea of the architecture, although it isn't exactly implemented as such.

inline_dotgraph_1.dot
inline_mscgraph_1

dynamic configuration

The initiator or the target.

channel configuration

The initiator or the target.

Define Documentation

#define Ext1 ( c1   )     Sampa::TL<c1,Sampa::Nil>

Definition at line 227 of file protocol.h.

#define Ext2 ( c1,
c2   )     Sampa::TL<c1,Ext1(c2)>

Definition at line 228 of file protocol.h.

#define Ext3 ( c1,
c2,
c3   )     Sampa::TL<c1,Ext2(c2, c3)>

Definition at line 229 of file protocol.h.

#define Ext4 ( c1,
c2,
c3,
c4   )     Sampa::TL<c1,Ext3(c2, c3, c4)>

Definition at line 230 of file protocol.h.

#define Ext5 ( c1,
c2,
c3,
c4,
c5   )     Sampa::TL<c1,Ext4(c2, c3, c4, c5)>

Definition at line 231 of file protocol.h.

#define Ext6 ( c1,
c2,
c3,
c4,
c5,
c6   )     Sampa::TL<c1,Ext4(c2, c3, c4, c5, c6)>

Definition at line 232 of file protocol.h.

#define Ext7 ( c1,
c2,
c3,
c4,
c5,
c6,
c7   )     Sampa::TL<c1,Ext4(c2, c3, c4, c5, c6, c7)>

Definition at line 233 of file protocol.h.

#define Ext8 ( c1,
c2,
c3,
c4,
c5,
c6,
c7,
c8   )     Sampa::TL<c1,Ext4(c2, c3, c4, c5, c6, c7, c8)>

Definition at line 234 of file protocol.h.

#define Ext9 ( c1,
c2,
c3,
c4,
c5,
c6,
c7,
c8,
c9   )     Sampa::TL<c1,Ext4(c2, c3, c4, c5, c6, c7, c8, c9)>

Definition at line 235 of file protocol.h.


Typedef Documentation

typedef unsigned short Sampa::Burst

Definition at line 113 of file protocol.h.

typedef unsigned short Sampa::ByteEnable

Definition at line 115 of file protocol.h.

typedef unsigned long long Sampa::Data

Definition at line 116 of file protocol.h.

typedef Transaction Sampa::Request

Request.

Definition at line 378 of file protocol.h.

typedef Request Sampa::Response

Response.

Definition at line 383 of file protocol.h.

typedef unsigned short Sampa::ThreadId

Definition at line 114 of file protocol.h.


Enumeration Type Documentation

enum Sampa::AddressMode

Enumerator:
ADDR_INCR 
ADDR_WRAP 
NUM_ADDR_MODE_KIND 

Definition at line 118 of file protocol.h.

enum Sampa::Command

Enumerator:
CMD_IDLE 
CMD_READ 
CMD_WRITE 
CMD_NUM 

Definition at line 117 of file protocol.h.


Generated on Sat Feb 16 16:23:17 2008 for Sampa by  doxygen 1.5.3