|
cloudFPGA (cF) API
1.0
The documentation of the source code of cloudFPGA (cF)
|
This is a subgroup of MCEuropeanEngine accelerated function with only synthesizable (Vivado HLS) functions/classes. More...
Files | |
| file | mceuropeanengine.hpp |
| The Role for a MCEuropeanEngine Example application (UDP or TCP) | |
| file | mceuropeanengine.cpp |
| The Role for a MCEuropeanEngine Example application (UDP or TCP) | |
Macros | |
| #define | DEFAULT_TX_PORT 2718 |
| #define | DEFAULT_RX_PORT 2718 |
| #define | INPUT_PTR_WIDTH 64 |
| #define | OUTPUT_PTR_WIDTH 64 |
| #define | INSIZE sizeof(varin) |
| #define | OUTSIZE sizeof(DtUsed)*OUTDEP |
| #define | BITS_PER_10GBITETHRNET_AXI_PACKET 64 |
| #define | BYTES_PER_10GBITETHRNET_AXI_PACKET (BITS_PER_10GBITETHRNET_AXI_PACKET/8) |
| #define | IN_PACKETS INSIZE/(BYTES_PER_10GBITETHRNET_AXI_PACKET) |
| #define | OUT_PACKETS OUTSIZE/(BYTES_PER_10GBITETHRNET_AXI_PACKET) |
| #define | MIN_RX_LOOPS IN_PACKETS*(BITS_PER_10GBITETHRNET_AXI_PACKET/INPUT_PTR_WIDTH) |
| #define | MIN_TX_LOOPS OUT_PACKETS*(BITS_PER_10GBITETHRNET_AXI_PACKET/OUTPUT_PTR_WIDTH) |
| #define | WAIT_FOR_META 0 |
| #define | WAIT_FOR_STREAM_PAIR 1 |
| #define | PROCESSING_PACKET 2 |
| #define | PROCESSING_WAIT 3 |
| #define | MCEUROPEANENGINE_RETURN_RESULTS 4 |
| #define | PacketFsmType uint8_t |
Functions | |
| 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. More... | |
| void | storeWordToStruct (NetworkWord word, varin *instruct, unsigned int *processed_word_rx, unsigned int *struct_loaded) |
| Store a word from ethernet to a local AXI stream. More... | |
| void | pRXPath (stream< NetworkWord > &siSHL_This_Data, stream< NetworkMetaStream > &siNrc_meta, varin *instruct, NetworkMetaStream meta_tmp, unsigned int *processed_word_rx, unsigned int *struct_loaded) |
| Receive Path - From SHELL to THIS. More... | |
| void | pProcPath (stream< NetworkWord > &sRxpToTxp_Data, stream< NetworkMetaStream > &sRxtoTx_Meta, NetworkMetaStream meta_tmp, varin *instruct, double *out, unsigned int *processed_word_rx, unsigned int *processed_word_proc, unsigned int *struct_loaded) |
| Processing Path - Main processing FSM for Vitis kernels. More... | |
| void | pTXPath (stream< NetworkWord > &soTHIS_Shl_Data, stream< NetworkMetaStream > &soNrc_meta, stream< NetworkWord > &sRxpToTxp_Data, stream< NetworkMetaStream > &sRxtoTx_Meta, unsigned int *processed_word_tx, ap_uint< 32 > *pi_rank, ap_uint< 32 > *pi_size) |
| Transmit Path - From THIS to SHELL. More... | |
Variables | |
| uint8_t | enqueueFSM = 0 |
| uint8_t | dequeueFSM = 1 |
| uint8_t | MCEuropeanEngineFSM = 0 |
This is a subgroup of MCEuropeanEngine accelerated function with only synthesizable (Vivado HLS) functions/classes.
This is a subgroup of MCEuropeanEngine accelerated function with only synthesizable (HLS) functions/classes.
| #define BITS_PER_10GBITETHRNET_AXI_PACKET 64 |
Definition at line 81 of file mceuropeanengine.hpp.
| #define BYTES_PER_10GBITETHRNET_AXI_PACKET (BITS_PER_10GBITETHRNET_AXI_PACKET/8) |
Definition at line 82 of file mceuropeanengine.hpp.
| #define DEFAULT_RX_PORT 2718 |
Definition at line 64 of file mceuropeanengine.hpp.
| #define DEFAULT_TX_PORT 2718 |
Definition at line 63 of file mceuropeanengine.hpp.
| #define IN_PACKETS INSIZE/(BYTES_PER_10GBITETHRNET_AXI_PACKET) |
Definition at line 84 of file mceuropeanengine.hpp.
| #define INPUT_PTR_WIDTH 64 |
Definition at line 71 of file mceuropeanengine.hpp.
| #define INSIZE sizeof(varin) |
Definition at line 78 of file mceuropeanengine.hpp.
| #define MCEUROPEANENGINE_RETURN_RESULTS 4 |
Definition at line 94 of file mceuropeanengine.hpp.
| #define MIN_RX_LOOPS IN_PACKETS*(BITS_PER_10GBITETHRNET_AXI_PACKET/INPUT_PTR_WIDTH) |
Definition at line 87 of file mceuropeanengine.hpp.
| #define MIN_TX_LOOPS OUT_PACKETS*(BITS_PER_10GBITETHRNET_AXI_PACKET/OUTPUT_PTR_WIDTH) |
Definition at line 88 of file mceuropeanengine.hpp.
| #define OUT_PACKETS OUTSIZE/(BYTES_PER_10GBITETHRNET_AXI_PACKET) |
Definition at line 85 of file mceuropeanengine.hpp.
| #define OUTPUT_PTR_WIDTH 64 |
Definition at line 75 of file mceuropeanengine.hpp.
Definition at line 79 of file mceuropeanengine.hpp.
| #define PacketFsmType uint8_t |
Definition at line 96 of file mceuropeanengine.hpp.
| #define PROCESSING_PACKET 2 |
Definition at line 92 of file mceuropeanengine.hpp.
| #define PROCESSING_WAIT 3 |
Definition at line 93 of file mceuropeanengine.hpp.
| #define WAIT_FOR_META 0 |
Definition at line 90 of file mceuropeanengine.hpp.
| #define WAIT_FOR_STREAM_PAIR 1 |
Definition at line 91 of file mceuropeanengine.hpp.
| 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.
Definition at line 426 of file mceuropeanengine.cpp.
| void pProcPath | ( | stream< NetworkWord > & | sRxpToTxp_Data, |
| stream< NetworkMetaStream > & | sRxtoTx_Meta, | ||
| NetworkMetaStream | meta_tmp, | ||
| varin * | instruct, | ||
| double * | out, | ||
| unsigned int * | processed_word_rx, | ||
| unsigned int * | processed_word_proc, | ||
| unsigned int * | struct_loaded | ||
| ) |
Processing Path - Main processing FSM for Vitis kernels.
| [out] | sRxpToTxp_Data | |
| [in] | img_in_axi_stream | |
| [in] | img_out_axi_stream | |
| [out] | processed_word_rx | |
| [in] | struct_loaded |
Definition at line 217 of file mceuropeanengine.cpp.
| void pRXPath | ( | stream< NetworkWord > & | siSHL_This_Data, |
| stream< NetworkMetaStream > & | siNrc_meta, | ||
| varin * | instruct, | ||
| NetworkMetaStream | meta_tmp, | ||
| unsigned int * | processed_word_rx, | ||
| unsigned int * | struct_loaded | ||
| ) |
Receive Path - From SHELL to THIS.
| [in] | siSHL_This_Data | |
| [in] | siNrc_meta | |
| [out] | sRxtoTx_Meta | |
| [out] | img_in_axi_stream | |
| [out] | meta_tmp | |
| [out] | processed_word | |
| [out] | struct_loaded |
Definition at line 158 of file mceuropeanengine.cpp.
| void pTXPath | ( | stream< NetworkWord > & | soTHIS_Shl_Data, |
| stream< NetworkMetaStream > & | soNrc_meta, | ||
| stream< NetworkWord > & | sRxpToTxp_Data, | ||
| stream< NetworkMetaStream > & | sRxtoTx_Meta, | ||
| unsigned int * | processed_word_tx, | ||
| ap_uint< 32 > * | pi_rank, | ||
| ap_uint< 32 > * | pi_size | ||
| ) |
Transmit Path - From THIS to SHELL.
| [out] | soTHIS_Shl_Data | |
| [out] | soNrc_meta | |
| [in] | sRxpToTxp_Data | |
| [in] | sRxtoTx_Meta | |
| [in] | pi_rank | |
| [in] | pi_size |
Definition at line 322 of file mceuropeanengine.cpp.
| void storeWordToStruct | ( | NetworkWord | word, |
| varin * | instruct, | ||
| unsigned int * | processed_word_rx, | ||
| unsigned int * | struct_loaded | ||
| ) |
Store a word from ethernet to a local AXI stream.
Definition at line 58 of file mceuropeanengine.cpp.
| uint8_t dequeueFSM = 1 |
Definition at line 50 of file mceuropeanengine.cpp.
| uint8_t enqueueFSM = 0 |
Definition at line 49 of file mceuropeanengine.cpp.
| uint8_t MCEuropeanEngineFSM = 0 |
Definition at line 51 of file mceuropeanengine.cpp.