38 #ifndef _ROLE_MCEUROPEANENGINE_H_
39 #define _ROLE_MCEUROPEANENGINE_H_
47 #include <hls_stream.h>
63 #define DEFAULT_TX_PORT 2718
64 #define DEFAULT_RX_PORT 2718
71 #define INPUT_PTR_WIDTH 64
73 #define INPUT_PTR_WIDTH 32
75 #define OUTPUT_PTR_WIDTH 64
78 #define INSIZE sizeof(varin)
79 #define OUTSIZE sizeof(DtUsed)*OUTDEP
81 #define BITS_PER_10GBITETHRNET_AXI_PACKET 64
82 #define BYTES_PER_10GBITETHRNET_AXI_PACKET (BITS_PER_10GBITETHRNET_AXI_PACKET/8)
84 #define IN_PACKETS INSIZE/(BYTES_PER_10GBITETHRNET_AXI_PACKET)
85 #define OUT_PACKETS OUTSIZE/(BYTES_PER_10GBITETHRNET_AXI_PACKET)
87 #define MIN_RX_LOOPS IN_PACKETS*(BITS_PER_10GBITETHRNET_AXI_PACKET/INPUT_PTR_WIDTH)
88 #define MIN_TX_LOOPS OUT_PACKETS*(BITS_PER_10GBITETHRNET_AXI_PACKET/OUTPUT_PTR_WIDTH)
90 #define WAIT_FOR_META 0
91 #define WAIT_FOR_STREAM_PAIR 1
92 #define PROCESSING_PACKET 2
93 #define PROCESSING_WAIT 3
94 #define MCEUROPEANENGINE_RETURN_RESULTS 4
96 #define PacketFsmType uint8_t
101 ap_uint<32> *pi_rank,
102 ap_uint<32> *pi_size,
106 stream<NetworkWord> &siSHL_This_Data,
107 stream<NetworkWord> &soTHIS_Shl_Data,
108 stream<NetworkMetaStream> &siNrc_meta,
109 stream<NetworkMetaStream> &soNrc_meta,
110 ap_uint<32> *po_rx_ports
void mceuropeanengine(ap_uint< 32 > *pi_rank, ap_uint< 32 > *pi_size, stream< NetworkWord > &siSHL_This_Data, stream< NetworkWord > &soTHIS_Shl_Data, stream< NetworkMetaStream > &siNrc_meta, stream< NetworkMetaStream > &soNrc_meta, ap_uint< 32 > *po_rx_ports)
Main process of the MCEuropeanEngine Application directives.