cloudFPGA (cF) API
1.0
The documentation of the source code of cloudFPGA (cF)
|
This module handles the control flow interface between the SHELL and the ROLE. More...
Files | |
file | udp_shell_if.cpp |
: UDP Shell Interface (USIF) | |
file | udp_shell_if.hpp |
: UDP Shell Interface (USIF). | |
file | udp_shell_if_top.cpp |
: Top level with I/O ports for UDP Shell Interface (USIF) | |
file | udp_shell_if_top.hpp |
: Top of UDP Shell Interface (USIF). | |
file | simu_udp_shell_if_env.cpp |
: Testbench for the UDP Shell Interface (USIF). | |
file | simu_udp_shell_if_env.hpp |
: Simulation environment for the UDP Shell Interface (USIF). | |
file | test_udp_shell_if.cpp |
: Testbench for the UDP Shell Interface (USIF). | |
file | test_udp_shell_if.hpp |
: Testbench for the UDP Shell Interface (USIF). | |
file | test_udp_shell_if_top.cpp |
: Testbench for the toplevel of the UDP Shell Interface (USIF). | |
file | test_udp_shell_if_top.hpp |
: Testbench for the toplevel of UDP Shell Interface (USIF). | |
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 |
#define | RECV_MODE_LSN_PORT 8800 |
#define | XMIT_MODE_LSN_PORT 8801 |
#define | ECHO_MOD2_LSN_PORT 8802 |
#define | ECHO_MODE_LSN_PORT 8803 |
#define | IPERF_LSN_PORT 5001 |
#define | IPREF3_LSN_PORT 5201 |
#define | GEN_CHK0 0x48692066726f6d20 |
#define | GEN_CHK1 0x464d4b553630210a |
#define | THIS_NAME "SIM" |
#define | TRACE_OFF 0x0000 |
#define | TRACE_UOE 1 << 1 |
#define | TRACE_UAF 1 << 2 |
#define | TRACE_MMIO 1 << 3 |
#define | TRACE_ALL 0xFFFF |
#define | DEBUG_LEVEL (TRACE_UOE) |
#define | DEFAULT_FPGA_IP4_ADDR 0x0A0CC801 |
#define | DEFAULT_FPGA_LSN_PORT 0x2263 |
#define | DEFAULT_FPGA_SND_PORT 0xA263 |
#define | DEFAULT_HOST_IP4_ADDR 0x0A0CC832 |
#define | DEFAULT_HOST_LSN_PORT 0x80 |
#define | DEFAULT_HOST_SND_PORT 0x8080 |
#define | DEFAULT_DATAGRAM_LEN 32 |
#define | THIS_NAME "TB_USIF" |
#define | THIS_NAME "TB_USIF_TOP" |
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... | |
void | udp_shell_if_top (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) |
Top of UDP Shell Interface (USIF) More... | |
void | stepSim () |
Increment the simulation counter. More... | |
void | increaseSimTime (unsigned int cycles) |
Increase the simulation time of the testbench. More... | |
void | pUAF (stream< UdpAppData > &siUSIF_Data, stream< UdpAppMeta > &siUSIF_Meta, stream< UdpAppData > &soUSIF_Data, stream< UdpAppMeta > &soUSIF_Meta, stream< UdpAppDLen > &soUSIF_DLen) |
Emulate the behavior of the ROLE/UdpAppFlash (UAF). More... | |
void | pMMIO (StsBit *piSHL_Ready, CmdBit *poUSIF_Enable) |
Emulate the behavior of the SHELL & MMIO. More... | |
void | pUOE (int &nrErr, ofstream &dataGoldFile, ofstream &dataFile, ofstream &metaGoldFile, ofstream &metaFile, int echoDgrmLen, SockAddr testSock, int testDgrmLen, StsBit *poMMIO_Ready, stream< UdpAppData > &soUSIF_Data, stream< UdpAppMeta > &soUSIF_Meta, stream< UdpAppDLen > &soUSIF_DLen, stream< UdpAppData > &siUSIF_Data, stream< UdpAppMeta > &siUSIF_Meta, stream< UdpAppDLen > &siUSIF_DLen, stream< UdpPort > &siUSIF_LsnReq, stream< StsBool > &soUSIF_LsnRep, stream< UdpPort > &siUSIF_ClsReq) |
Emulate behavior of the SHELL/NTS/UDP Offload Engine (UOE). More... | |
int | main (int argc, char *argv[]) |
Main function for the test of the UDP Shell Interface (USIF). More... | |
Variables | |
bool | gTraceEvent |
unsigned int | gSimCycCnt |
bool | gTraceEvent |
bool | gFatalError |
unsigned int | gMaxSimCycles |
const int | cUoeInitCycles = 100 |
const int | cGraceTime = 500 |
unsigned int | gSimCycCnt |
unsigned int | gMaxSimCycles |
unsigned int | gSimCycCnt = 0 |
bool | gTraceEvent = false |
bool | gFatalError = false |
unsigned int | gMaxSimCycles = cUoeInitCycles + cGraceTime |
unsigned int | gSimCycCnt |
unsigned int | gMaxSimCycles |
unsigned int | gSimCycCnt = 0 |
bool | gTraceEvent = false |
bool | gFatalError = false |
unsigned int | gMaxSimCycles = cUoeInitCycles + cGraceTime |
This module handles the control flow interface between the SHELL and the ROLE.
#define DEBUG_LEVEL (TRACE_OFF) |
Definition at line 70 of file udp_shell_if.cpp.
#define DEBUG_LEVEL (TRACE_UOE) |
Definition at line 72 of file simu_udp_shell_if_env.cpp.
#define DEFAULT_DATAGRAM_LEN 32 |
Definition at line 59 of file simu_udp_shell_if_env.hpp.
#define DEFAULT_FPGA_IP4_ADDR 0x0A0CC801 |
Definition at line 52 of file simu_udp_shell_if_env.hpp.
#define DEFAULT_FPGA_LSN_PORT 0x2263 |
Definition at line 81 of file udp_shell_if.cpp.
#define DEFAULT_FPGA_LSN_PORT 0x2263 |
Definition at line 53 of file simu_udp_shell_if_env.hpp.
#define DEFAULT_FPGA_SND_PORT 0xA263 |
Definition at line 54 of file simu_udp_shell_if_env.hpp.
#define DEFAULT_HOST_IP4_ADDR 0x0A0CC832 |
Definition at line 55 of file simu_udp_shell_if_env.hpp.
#define DEFAULT_HOST_LSN_PORT 0x80 |
Definition at line 56 of file simu_udp_shell_if_env.hpp.
#define DEFAULT_HOST_SND_PORT 0x8080 |
Definition at line 57 of file simu_udp_shell_if_env.hpp.
#define ECHO_MOD2_LSN_PORT 8802 |
Definition at line 62 of file udp_shell_if.hpp.
#define ECHO_MODE_LSN_PORT 8803 |
Definition at line 63 of file udp_shell_if.hpp.
#define GEN_CHK0 0x48692066726f6d20 |
Definition at line 73 of file udp_shell_if.hpp.
#define GEN_CHK1 0x464d4b553630210a |
Definition at line 74 of file udp_shell_if.hpp.
#define IPERF_LSN_PORT 5001 |
Definition at line 64 of file udp_shell_if.hpp.
#define IPREF3_LSN_PORT 5201 |
Definition at line 65 of file udp_shell_if.hpp.
#define RECV_MODE_LSN_PORT 8800 |
Definition at line 60 of file udp_shell_if.hpp.
#define THIS_NAME "USIF" |
Definition at line 61 of file udp_shell_if.cpp.
#define THIS_NAME "SIM" |
Definition at line 64 of file simu_udp_shell_if_env.cpp.
#define THIS_NAME "TB_USIF" |
Definition at line 56 of file test_udp_shell_if.cpp.
#define THIS_NAME "TB_USIF_TOP" |
Definition at line 51 of file test_udp_shell_if_top.cpp.
#define TRACE_ALL 0xFFFF |
Definition at line 69 of file udp_shell_if.cpp.
#define TRACE_ALL 0xFFFF |
Definition at line 70 of file simu_udp_shell_if_env.cpp.
#define TRACE_CLS 1 << 5 |
Definition at line 68 of file udp_shell_if.cpp.
#define TRACE_LSN 1 << 4 |
Definition at line 67 of file udp_shell_if.cpp.
#define TRACE_MMIO 1 << 3 |
Definition at line 69 of file simu_udp_shell_if_env.cpp.
#define TRACE_OFF 0x0000 |
Definition at line 63 of file udp_shell_if.cpp.
#define TRACE_OFF 0x0000 |
Definition at line 66 of file simu_udp_shell_if_env.cpp.
#define TRACE_RDP 1 << 1 |
Definition at line 64 of file udp_shell_if.cpp.
#define TRACE_SAM 1 << 3 |
Definition at line 66 of file udp_shell_if.cpp.
#define TRACE_UAF 1 << 2 |
Definition at line 68 of file simu_udp_shell_if_env.cpp.
#define TRACE_UOE 1 << 1 |
Definition at line 67 of file simu_udp_shell_if_env.cpp.
#define TRACE_WRP 1 << 2 |
Definition at line 65 of file udp_shell_if.cpp.
#define XMIT_MODE_LSN_PORT 8801 |
Definition at line 61 of file udp_shell_if.hpp.
enum DropCmd |
void increaseSimTime | ( | unsigned int | cycles | ) |
Increase the simulation time of the testbench.
[in] | The | number of cycles to increase. |
Definition at line 93 of file simu_udp_shell_if_env.cpp.
int main | ( | int | argc, |
char * | argv[] | ||
) |
Main function for the test of the UDP Shell Interface (USIF).
Main function for the test of the TOP of UDP Shell Interface (USIF).
[in] | The | number of bytes to generate in 'Echo' mode [1:65535]. |
[in] | The | IP4 destination address of the remote host. |
[in] | The | UDP destination port of the remote host. |
[in] | The | number of bytes to generate in or "Test' mode [1:65535]. |
@info Usage example --> "512 10.11.12.13 2718 1024"
Definition at line 74 of file test_udp_shell_if.cpp.
void pClose | ( | CmdBit * | piSHL_Enable, |
stream< UdpPort > & | soSHL_ClsReq, | ||
stream< StsBool > & | siSHL_ClsRep | ||
) |
Request the SHELL/NTS/UOE to close a previously opened port.
[in] | piSHL_Enable | Enable signal from [SHELL]. |
[out] | soSHL_ClsReq | Close port request to [SHELL]. |
[in] | siSHL_ClsRep | Close port reply from [SHELL]. |
Definition at line 227 of file udp_shell_if.cpp.
void pListen | ( | CmdBit * | piSHL_Enable, |
stream< UdpPort > & | soSHL_LsnReq, | ||
stream< StsBool > & | siSHL_LsnRep | ||
) |
Listen(LSn)
[in] | piSHL_Enable | Enable signal from [SHELL]. |
[out] | soSHL_LsnReq | Listen port request to [SHELL]. |
[in] | siSHL_LsnRep | Listen reply from [SHELL]. |
This process requests the SHELL/NTS/UOE to open a specific port in receive mode. Although the notion of 'listening' does not exist for unconnected UDP mode, we keep that name for this process because it puts an FPGA receive port on hold and ready accept incoming traffic (.i.e, it opens a connection in server mode). By default, the port numbers 5001, 5201, 8800, 8801 and 8803 will always be opened in listen mode at startup. Later on, we should be able to open more ports if we provide some configuration register for the user to specify new ones. As opposed to the TCP Offload engine (TOE), the UOE supports a total of 65,535 (0xFFFF) connections in listening mode.
Definition at line 104 of file udp_shell_if.cpp.
Emulate the behavior of the SHELL & MMIO.
[in] | piSHL_Ready | Ready Signal from [SHELL]. |
[out] | poUSIF_Enable | Enable signal to USIF. |
Definition at line 163 of file simu_udp_shell_if_env.cpp.
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.
[in] | piSHL_Enable | Enable signal from [SHELL]. |
[in] | siSHL_Data | Datagram from [SHELL]. |
[in] | siSHL_Meta | Metadata from [SHELL]. |
[in] | siSHL_DLen | data len from [SHELL]. |
[out] | soUAF_Data | Datagram to [UAF]. |
[out] | soUAF_Meta | Metadata to [UAF]. |
[out] | soUAF_DLen | data len to [UAF]. |
[out] | soWRp_Meta | Metadata to WritePath (WRp). |
[out] | soWRp_DReq | Data length request to [WRp]. |
This process waits for a new metadata to read and performs 3 possibles tasks depending on the value of the UDP destination port. 1) If DstPort==8800, the incoming datagram is dumped. This mode is used to the UOE in receive mode. 2) If DstPort==8801, it extract the address of the remote socket to connect to as well as the number of bytes to transmit, out of the 64 first incoming bits of the data stream. Next, it sends these 3 fields to the the TxWritePath (WRp) which will start sending this amount of bytes to the specified destination socket. 3) Otherwise, incoming metadata and data are forwarded to the UAF.
Definition at line 321 of file udp_shell_if.cpp.
void pUAF | ( | stream< UdpAppData > & | siUSIF_Data, |
stream< UdpAppMeta > & | siUSIF_Meta, | ||
stream< UdpAppData > & | soUSIF_Data, | ||
stream< UdpAppMeta > & | soUSIF_Meta, | ||
stream< UdpAppDLen > & | soUSIF_DLen | ||
) |
Emulate the behavior of the ROLE/UdpAppFlash (UAF).
[in] | siUSIF_Data | Data from UdpShellInterface (USIF). |
[in] | siUSIF_Meta | Metadata from [USIF]. |
[out] | soUSIF_Data | Data to [USIF]. |
[out] | soUSIF_Meta | Metadata to [USIF]. |
[out] | soUSIF_DLen | Data len to [USIF]. |
ALWAYS READ INCOMING DATA STREAM AND ECHO IT BACK. Warning: For sake of simplicity, this testbench is operated in streaming mode by setting the 'DLen' interface to zero.
SIMULATION ENVIRONMENT FUNCTIONS
Definition at line 111 of file simu_udp_shell_if_env.cpp.
void pUOE | ( | int & | nrErr, |
ofstream & | dataGoldFile, | ||
ofstream & | dataFile, | ||
ofstream & | metaGoldFile, | ||
ofstream & | metaFile, | ||
int | echoDgrmLen, | ||
SockAddr | testSock, | ||
int | testDgrmLen, | ||
StsBit * | poMMIO_Ready, | ||
stream< UdpAppData > & | soUSIF_Data, | ||
stream< UdpAppMeta > & | soUSIF_Meta, | ||
stream< UdpAppDLen > & | soUSIF_DLen, | ||
stream< UdpAppData > & | siUSIF_Data, | ||
stream< UdpAppMeta > & | siUSIF_Meta, | ||
stream< UdpAppDLen > & | siUSIF_DLen, | ||
stream< UdpPort > & | siUSIF_LsnReq, | ||
stream< StsBool > & | soUSIF_LsnRep, | ||
stream< UdpPort > & | siUSIF_ClsReq | ||
) |
Emulate behavior of the SHELL/NTS/UDP Offload Engine (UOE).
[in] | nrErr | A ref to the error counter of main. |
[in] | dataGoldFile | A ref to the file storing the DUT gold data. |
[in] | dataFile | A ref to the file storing the DUT output data. |
[in] | metaGoldFile | A ref to the file storing the DUT gold meta. |
[in] | metaFile | A ref to the file storing the DUT output meta. |
[in] | dgrmLen | The length of the test datatagram to generate. |
[out] | poMMIO_Ready | Ready signal to [MMIO]. |
[out] | soUSIF_Data | The UDP datagram to [USIF]. |
[out] | soUSIF_Meta | The UDP metadata to [USIF]. |
[out] | soUSIF_DLen | The UDP data len to [USIF]. |
[in] | siUSIF_Data | The UDP datagram from [USIF]. |
[in] | siUSIF_Meta | The UDP metadata from [USIF]. |
[in] | siUSIF_DLen | The UDP data len from [USIF]. |
[in] | siUSIF_LsnReq | The listen port request from [USIF]. |
[out] | soUSIF_LsnRep | The listen port reply to [USIF]. |
[in] | siUSIF_ClsReq | The close port request from [USIF]. |
Definition at line 206 of file simu_udp_shell_if_env.cpp.
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.
[in] | piSHL_Enable | Enable signal from [SHELL]. |
[in] | siUAF_Data | UDP datagram from [ROLE/UAF]. |
[in] | siUAF_Meta | UDP metadata from [ROLE/UAF]. @Param[in] siUAF_DLen UDP data len from [ROLE/UAF]. |
[out] | siRDp_Meta | Metadata from ReadPath (RDp). |
[out] | siRDp_DReq | Data length request from [RDp]. |
[out] | soSHL_Data | UDP datagram to [SHELL]. |
[out] | soSHL_Meta | UDP metadata to [SHELL]. |
[in] | soSHL_DLen | UDP data len to [SHELL]. |
This process waits for a new datagram to arrive from the UadpAppFlash (UAF) and forwards it to SHELL. Alternatively, if a TX test trigger by the ReadPath (RDp), this process will generate a datagram of the specified length and forward it to the producer of this request. This mode is used to test the UOE in transmit mode.
Definition at line 451 of file udp_shell_if.cpp.
void stepSim | ( | ) |
Increment the simulation counter.
SIMULATION UTILITY HELPERS
Definition at line 77 of file simu_udp_shell_if_env.cpp.
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).
[in] | piSHL_Mmio_En | Enable signal from [SHELL/MMIO]. |
[out] | soSHL_LsnReq | Listen port request to [SHELL]. |
[in] | siSHL_LsnRep | Listen port reply from [SHELL]. |
[out] | soSHL_ClsReq | Close port request to [SHELL]. |
[in] | siSHL_ClsRep | Close port reply from [SHELL]. |
[in] | siSHL_Data | UDP datagram from [SHELL]. |
[in] | siSHL_Meta | UDP metadata from [SHELL]. |
[in] | siSHL_DLen | UDP data len from [SHELL]. |
[out] | soSHL_Data | UDP datagram to [SHELL]. |
[out] | soSHL_Meta | UDP metadata to [SHELL]. |
[out] | soSHL_DLen | UDP data len to [SHELL]. |
[in] | siUAF_Data | UDP datagram from UdpAppFlash (UAF). |
[in] | siUAF_Meta | UDP metadata from [UAF]. |
[in] | siUAF_DLen | UDP data len from [UAF]. |
[out] | soUAF_Data | UDP datagram to [UAF]. |
[out] | soUAF_Meta | UDP metadata to [UAF]. |
[out] | soUAF_DLen | UDP data len to [UAF]. |
@info This core is designed with non-blocking read and write streams in mind. FYI, this is the normal way of operation for an internal stream and for an interface using the 'ap_fifo' protocol.
ENTITY - UDP SHELL INTERFACE (USIF)
Definition at line 594 of file udp_shell_if.cpp.
void udp_shell_if_top | ( | 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 | ||
) |
Top of UDP Shell Interface (USIF)
INTERFACE SYNTHESIS DIRECTIVES
[in] | piSHL_Mmio_En | Enable signal from [SHELL/MMIO]. |
[out] | soSHL_LsnReq | Listen port request to [SHELL]. |
[in] | siSHL_LsnRep | Listen port reply from [SHELL]. |
[out] | soSHL_ClsReq | Close port request to [SHELL]. |
[in] | siSHL_ClsRep | Close port reply from [SHELL]. |
[in] | siSHL_Data | UDP datagram from [SHELL]. |
[in] | siSHL_Meta | UDP metadata from [SHELL]. |
[out] | soSHL_Data | UDP datagram to [SHELL]. |
[out] | soSHL_Meta | UDP metadata to [SHELL]. |
[out] | soSHL_DLen | UDP data len to [SHELL]. |
[in] | siUAF_Data | UDP datagram from UdpAppFlash (UAF). |
[in] | siUAF_Meta | UDP metadata from [UAF]. |
[out] | siUAF_DLen | UDP data len from [UAF]. |
[out] | soUAF_Data | UDP datagram to [UAF]. |
[out] | soUAF_Meta | UDP metadata to [UAF]. |
[out] | soUAF_DLen | UDP data len to [UAF]. |
@info This toplevel exemplifies the instantiation of a core that was designed for non-blocking read and write streams, but which needs to be exported as an IP with AXI-Stream interfaces (axis). Because the 'axis' interface does not support non-blocking accesses, this toplevel implements a shim layer between the 'axis' and the 'ap_fifo' interfaces and vice versa.
ENTITY - TOP of UDP SHELL INTERFACE (USIF)
Definition at line 176 of file udp_shell_if_top.cpp.
const int cGraceTime = 500 |
Definition at line 44 of file simu_udp_shell_if_env.hpp.
const int cUoeInitCycles = 100 |
Definition at line 43 of file simu_udp_shell_if_env.hpp.
|
extern |
Definition at line 152 of file tb_nal.cpp.
bool gFatalError = false |
Definition at line 47 of file test_udp_shell_if.hpp.
bool gFatalError = false |
Definition at line 46 of file test_udp_shell_if_top.hpp.
|
extern |
Definition at line 69 of file test_arp.hpp.
|
extern |
Definition at line 69 of file test_arp.hpp.
unsigned int gMaxSimCycles = cUoeInitCycles + cGraceTime |
Definition at line 48 of file test_udp_shell_if.hpp.
|
extern |
Definition at line 69 of file test_arp.hpp.
unsigned int gMaxSimCycles = cUoeInitCycles + cGraceTime |
Definition at line 47 of file test_udp_shell_if_top.hpp.
|
extern |
GLOBAL VARIABLES USED BY THE SIMULATION ENVIRONMENT
Definition at line 150 of file tb_nal.cpp.
|
extern |
GLOBAL VARIABLES USED BY THE SIMULATION ENVIRONMENT
Definition at line 150 of file tb_nal.cpp.
unsigned int gSimCycCnt = 0 |
GLOBAL VARIABLES USED BY THE SIMULATION ENVIRONMENT
Definition at line 45 of file test_udp_shell_if.hpp.
|
extern |
GLOBAL VARIABLES USED BY THE SIMULATION ENVIRONMENT
Definition at line 150 of file tb_nal.cpp.
unsigned int gSimCycCnt = 0 |
GLOBAL VARIABLES USED BY THE SIMULATION ENVIRONMENT
Definition at line 44 of file test_udp_shell_if_top.hpp.
|
extern |
HELPERS FOR THE DEBUGGING TRACES .e.g: DEBUG_LEVEL = (MDL_TRACE | IPS_TRACE)
Definition at line 151 of file tb_nal.cpp.
|
extern |
HELPERS FOR THE DEBUGGING TRACES .e.g: DEBUG_LEVEL = (MDL_TRACE | IPS_TRACE)
Definition at line 151 of file tb_nal.cpp.
bool gTraceEvent = false |
HELPERS FOR THE DEBUGGING TRACES .e.g: DEBUG_LEVEL = (MDL_TRACE | IPS_TRACE)
Definition at line 46 of file test_udp_shell_if.hpp.
bool gTraceEvent = false |
HELPERS FOR THE DEBUGGING TRACES .e.g: DEBUG_LEVEL = (MDL_TRACE | IPS_TRACE)
Definition at line 45 of file test_udp_shell_if_top.hpp.