cloudFPGA (cF) API  1.0
The documentation of the source code of cloudFPGA (cF)
udp_shell_if.cpp File Reference

: UDP Shell Interface (USIF) More...

#include "udp_shell_if.hpp"
Include dependency graph for udp_shell_if.cpp:

Go to the source code of this file.

Macros

#define THIS_NAME   "USIF"
 
#define TRACE_OFF   0x0000
 
#define TRACE_RDP   1 << 1
 
#define TRACE_WRP   1 << 2
 
#define TRACE_SAM   1 << 3
 
#define TRACE_LSN   1 << 4
 
#define TRACE_CLS   1 << 5
 
#define TRACE_ALL   0xFFFF
 
#define DEBUG_LEVEL   (TRACE_OFF)
 
#define DEFAULT_FPGA_LSN_PORT   0x2263
 

Enumerations

enum  DropCmd { KEEP_CMD =false , DROP_CMD , KEEP_CMD =false , DROP_CMD }
 

Functions

void pListen (CmdBit *piSHL_Enable, stream< UdpPort > &soSHL_LsnReq, stream< StsBool > &siSHL_LsnRep)
 Listen(LSn) More...
 
void pClose (CmdBit *piSHL_Enable, stream< UdpPort > &soSHL_ClsReq, stream< StsBool > &siSHL_ClsRep)
 Request the SHELL/NTS/UOE to close a previously opened port. More...
 
void pReadPath (CmdBit *piSHL_Enable, stream< UdpAppData > &siSHL_Data, stream< UdpAppMeta > &siSHL_Meta, stream< UdpAppDLen > &siSHL_DLen, stream< UdpAppData > &soUAF_Data, stream< UdpAppMeta > &soUAF_Meta, stream< UdpAppDLen > &soUAF_DLen, stream< SocketPair > &soWRp_SockPair, stream< UdpAppDLen > &soWRp_DReq)
 Read Path (RDp) - From SHELL/UOE to ROLE/UAF. More...
 
void pWritePath (CmdBit *piSHL_Enable, stream< UdpAppData > &siUAF_Data, stream< UdpAppMeta > &siUAF_Meta, stream< UdpAppDLen > &siUAF_DLen, stream< SocketPair > &siRDp_SockPair, stream< UdpAppDLen > &siRDp_DReq, stream< UdpAppData > &soSHL_Data, stream< UdpAppMeta > &soSHL_Meta, stream< UdpAppDLen > &soSHL_DLen)
 Write Path (WRp) - From ROLE/UAF to SHELL/NTS/UOE. More...
 
void udp_shell_if (CmdBit *piSHL_Mmio_En, stream< UdpPort > &soSHL_LsnReq, stream< StsBool > &siSHL_LsnRep, stream< UdpPort > &soSHL_ClsReq, stream< StsBool > &siSHL_ClsRep, stream< UdpAppData > &siSHL_Data, stream< UdpAppMeta > &siSHL_Meta, stream< UdpAppDLen > &siSHL_DLen, stream< UdpAppData > &soSHL_Data, stream< UdpAppMeta > &soSHL_Meta, stream< UdpAppDLen > &soSHL_DLen, stream< UdpAppData > &siUAF_Data, stream< UdpAppMeta > &siUAF_Meta, stream< UdpAppDLen > &siUAF_DLen, stream< UdpAppData > &soUAF_Data, stream< UdpAppMeta > &soUAF_Meta, stream< UdpAppDLen > &soUAF_DLen)
 Main process of the UDP Shell Interface (USIF). More...
 

Variables

bool gTraceEvent
 

Detailed Description

: UDP Shell Interface (USIF)

System: : cloudFPGA Component : cFp_HelloKale/ROLE/UdpShellInterface (USIF) Language : Vivado HLS


This entity handles the control flow interface between the SHELL and the ROLE. The main purpose of the USIF is to provide a placeholder for the opening of one or multiple listening port(s). The use of such a dedicated layer is not a prerequisite but it is provided here for sake of clarity and simplicity.

   +-------+  +--------------------------------+
   |       |  |  +------+     +-------------+  |
   |       <-----+      <-----+     UDP     |  |
   | SHELL |  |  | USIF |     |             |  |
   |       +----->      +-----> APPLICATION |  |
   |       |  |  +------+     +-------------+  |
   +-------+  +--------------------------------+

[TODO] - The DEFAULT_FPGA_LSN_PORT (0x2263=8803) and the DEFAULT_HOST_IP4_ADDR must be made programmable.

Definition in file udp_shell_if.cpp.