cloudFPGA (cF) API  1.0
The documentation of the source code of cloudFPGA (cF)
uss.hpp
Go to the documentation of this file.
1 
17 
31 #ifndef _NAL_USS_H_
32 #define _NAL_USS_H_
33 
34 #include <stdio.h>
35 #include <iostream>
36 #include <fstream>
37 #include <string>
38 #include <math.h>
39 #include <hls_stream.h>
40 #include "ap_int.h"
41 #include <stdint.h>
42 
43 #include "nal.hpp"
44 
45 using namespace hls;
46 
47 void pUdpTX(
48  stream<NetworkWord> &siUdp_data,
49  stream<NetworkMetaStream> &siUdp_meta,
50  stream<UdpAppData> &soUOE_Data,
51  stream<UdpAppMeta> &soUOE_Meta,
52  stream<UdpAppDLen> &soUOE_DLen,
53  stream<NodeId> &sGetIpReq_UdpTx,
54  stream<Ip4Addr> &sGetIpRep_UdpTx,
55  const ap_uint<32> *ipAddrBE,
56  stream<bool> &cache_inval_sig,
57  stream<NalEventNotif> &internal_event_fifo
58  );
59 
60 void pUoeUdpTxDeq(
61  ap_uint<1> *layer_4_enabled,
62  ap_uint<1> *piNTS_ready,
63  stream<UdpAppData> &sUoeTxBuffer_Data,
64  stream<UdpAppMeta> &sUoeTxBuffer_Meta,
65  stream<UdpAppDLen> &sUoeTxBuffer_DLen,
66  stream<UdpAppData> &soUOE_Data,
67  stream<UdpAppMeta> &soUOE_Meta,
68  stream<UdpAppDLen> &soUOE_DLen
69  );
70 
71 void pUdpRx(
72  ap_uint<1> *layer_7_enabled,
73  ap_uint<1> *role_decoupled,
74  stream<NetworkWord> &soUdp_data,
75  stream<NetworkMetaStream> &soUdp_meta,
76  stream<UdpAppData> &siUOE_Data,
77  stream<UdpAppMeta> &siUOE_Meta,
78  stream<UdpAppDLen> &siUOE_DLen,
79  stream<NalConfigUpdate> &sConfigUpdate,
80  stream<Ip4Addr> &sGetNidReq_UdpRx,
81  stream<NodeId> &sGetNidRep_UdpRx,
82  stream<bool> &cache_inval_sig,
83  stream<NalEventNotif> &internal_event_fifo
84  );
85 
86 
87 void pRoleUdpRxDeq(
88  ap_uint<1> *layer_7_enabled,
89  ap_uint<1> *role_decoupled,
90  stream<NetworkWord> &sRoleUdpDataRx_buffer,
91  stream<NetworkMetaStream> &sRoleUdpMetaRx_buffer,
92  stream<NetworkWord> &soUdp_data,
93  stream<NetworkMetaStream> &soUdp_meta
94  );
95 
96 
97 void pUdpLsn(
98  stream<UdpPort> &soUOE_LsnReq,
99  stream<StsBool> &siUOE_LsnRep,
100  stream<UdpPort> &sUdpPortsToOpen,
101  stream<bool> &sUdpPortsOpenFeedback
102  );
103 
104 void pUdpCls(
105  stream<UdpPort> &soUOE_ClsReq,
106  stream<StsBool> &siUOE_ClsRep,
107  stream<UdpPort> &sUdpPortsToClose
108  );
109 
110 
111 #endif
112 
ap_uint< 1 > layer_7_enabled
Definition: tb_fmc.cpp:68
ap_uint< 1 > layer_4_enabled
Definition: tb_fmc.cpp:66
void pUdpCls(stream< UdpPort > &soUOE_ClsReq, stream< StsBool > &siUOE_ClsRep, stream< UdpPort > &sUdpPortsToClose)
Asks the UOE to close UDP ports, based on the request from pPortLogic.
Definition: uss.cpp:747
void pUdpTX(stream< NetworkWord > &siUdp_data, stream< NetworkMetaStream > &siUdp_meta, stream< UdpAppData > &soUOE_Data, stream< UdpAppMeta > &soUOE_Meta, stream< UdpAppDLen > &soUOE_DLen, stream< NodeId > &sGetIpReq_UdpTx, stream< Ip4Addr > &sGetIpRep_UdpTx, const ap_uint< 32 > *ipAddrBE, stream< bool > &cache_inval_sig, stream< NalEventNotif > &internal_event_fifo)
Processes the outgoing UDP packets (i.e. ROLE -> Network).
Definition: uss.cpp:51
void pRoleUdpRxDeq(ap_uint< 1 > *layer_7_enabled, ap_uint< 1 > *role_decoupled, stream< NetworkWord > &sRoleUdpDataRx_buffer, stream< NetworkMetaStream > &sRoleUdpMetaRx_buffer, stream< NetworkWord > &soUdp_data, stream< NetworkMetaStream > &soUdp_meta)
Terminates the internal UDP RX FIFOs and forwards packets to the Role.
Definition: uss.cpp:673
stream< NetworkMetaStream > soUdp_meta("soUdp_meta")
void pUdpLsn(stream< UdpPort > &soUOE_LsnReq, stream< StsBool > &siUOE_LsnRep, stream< UdpPort > &sUdpPortsToOpen, stream< bool > &sUdpPortsOpenFeedback)
Asks the UOE to open new UDP ports for listening, based on the request from pPortLogic.
Definition: uss.cpp:358
ap_uint< 1 > role_decoupled
Definition: tb_nal.cpp:134
stream< NetworkMetaStream > siUdp_meta("siUdp_meta")
void pUdpRx(ap_uint< 1 > *layer_7_enabled, ap_uint< 1 > *role_decoupled, stream< NetworkWord > &soUdp_data, stream< NetworkMetaStream > &soUdp_meta, stream< UdpAppData > &siUOE_Data, stream< UdpAppMeta > &siUOE_Meta, stream< UdpAppDLen > &siUOE_DLen, stream< NalConfigUpdate > &sConfigUpdate, stream< Ip4Addr > &sGetNidReq_UdpRx, stream< NodeId > &sGetNidRep_UdpRx, stream< bool > &cache_inval_sig, stream< NalEventNotif > &internal_event_fifo)
Processes the incoming UDP packets (i.e. Network -> ROLE ).
Definition: uss.cpp:467
void pUoeUdpTxDeq(ap_uint< 1 > *layer_4_enabled, ap_uint< 1 > *piNTS_ready, stream< UdpAppData > &sUoeTxBuffer_Data, stream< UdpAppMeta > &sUoeTxBuffer_Meta, stream< UdpAppDLen > &sUoeTxBuffer_DLen, stream< UdpAppData > &soUOE_Data, stream< UdpAppMeta > &soUOE_Meta, stream< UdpAppDLen > &soUOE_DLen)
Terminates the internal UDP TX FIFOs and forwards packets to the UOE.
Definition: uss.cpp:277
: The cloudFPGA Network Abstraction Layer (NAL) between NTS and ROlE. The NAL core manages the NTS St...