GSGPSocket User's Guide
This GreenSocs Generic Protocol Socket is based on the GreenSocket and uses its extension mechanism for transaction data extensions and phase extensions.
How to use the API, see the GreenBus v2.0 White Paper and Implementation Proposal.
For GSGPSocket-specific information see book pages.
GSGPSocket was develeloped with SystemC 2.2.
For use with SystemC 2.1 make sure you link to a SystemC 2.1 version of GreenSocket and define SYSTEMC21V1 (e.g. by compiler switch -DSYSTEMC21V1).
Multi Sockets
All GSGP Sockets (Master, Slave, Bidirectional and Blocking) can be used as multi sockets.
API multi socket use
Master API:
- Derive user module from
payload_event_queue_multi_output_if<master_atom> - Bind user module to
init_port.out_multi_port(*this); - Implement
notify(atom, unsigned int socket_index);in user module
Slave API:
- Derive user module from
tlm_multi_b_if<accessHandle> - Bind user module to
target_port.bind_multi_b_if(*this); - Implement
b_transact(accessHandle, unsigned int socket_index); - Derive from
payload_event_queue_output_if<slave_atom> - Bind user module to
target_port.out_multi_port(*this); - Implement
notify(atom, unsigned int socket_index);in user module
- Printer-friendly version
- Login or register to post comments
Posted July 28th, 2008 by ChristianSchroeder