77 #define USE_DEPRECATED_DIRECTIVES
86 #define THIS_NAME "TOE"
88 #define TRACE_OFF 0x0000
89 #define TRACE_RDY 1 << 1
90 #define TRACE_ALL 0xFFFF
92 #define DEBUG_LEVEL (TRACE_OFF)
112 #pragma HLS PIPELINE II=1 enable_flush
113 #pragma HLS INLINE off
116 so.write(si1.read());
117 else if (!si2.empty())
118 so.write(si2.read());
139 poNTS_Ready = (piPRt_Ready ==
true) ? 1 : 0;
143 printInfo(myName,
"Process [TOE] is ready.\n");
157 volatile ap_uint<32> &poSimCycCount)
161 static ap_uint<32> sCounter = 0xFFFFFFF9;
163 static ap_uint<32> sCounter = 0x00000000;
165 #pragma HLS reset variable=sCounter
237 stream<StsBit> &soMMIO_RxMemWrErr,
238 stream<ap_uint<8> > &soMMIO_NotifDropCnt,
239 stream<ap_uint<8> > &soMMIO_MetaDropCnt,
240 stream<ap_uint<8> > &soMMIO_DataDropCnt,
241 stream<ap_uint<8> > &soMMIO_CrcDropCnt,
242 stream<ap_uint<8> > &soMMIO_SessDropCnt,
243 stream<ap_uint<8> > &soMMIO_OooDropCnt,
253 stream<AxisIp4> &siIPRX_Data,
258 stream<AxisIp4> &soIPTX_Data,
263 stream<TcpAppNotif> &soTAIF_Notif,
264 stream<TcpAppRdReq> &siTAIF_DReq,
265 stream<TcpAppData> &soTAIF_Data,
266 stream<TcpAppMeta> &soTAIF_Meta,
271 stream<TcpAppLsnReq> &siTAIF_LsnReq,
272 stream<TcpAppLsnRep> &soTAIF_LsnRep,
277 stream<TcpAppData> &siTAIF_Data,
278 stream<TcpAppSndReq> &siTAIF_SndReq,
279 stream<TcpAppSndRep> &soTAIF_SndRep,
284 stream<TcpAppOpnReq> &siTAIF_OpnReq,
285 stream<TcpAppOpnRep> &soTAIF_OpnRep,
290 stream<TcpAppClsReq> &siTAIF_ClsReq,
297 stream<DmCmd> &soMEM_RxP_RdCmd,
298 stream<AxisApp> &siMEM_RxP_Data,
299 stream<DmSts> &siMEM_RxP_WrSts,
300 stream<DmCmd> &soMEM_RxP_WrCmd,
301 stream<AxisApp> &soMEM_RxP_Data,
307 stream<DmCmd> &soMEM_TxP_RdCmd,
308 stream<AxisApp> &siMEM_TxP_Data,
309 stream<DmSts> &siMEM_TxP_WrSts,
310 stream<DmCmd> &soMEM_TxP_WrCmd,
311 stream<AxisApp> &soMEM_TxP_Data,
316 stream<CamSessionLookupRequest> &soCAM_SssLkpReq,
317 stream<CamSessionLookupReply> &siCAM_SssLkpRep,
318 stream<CamSessionUpdateRequest> &soCAM_SssUpdReq,
319 stream<CamSessionUpdateReply> &siCAM_SssUpdRep,
324 stream<ap_uint<16> > &soDBG_SssRelCnt,
325 stream<ap_uint<16> > &soDBG_SssRegCnt,
326 stream<RxBufPtr> &soDBG_RxFreeSpace,
327 stream<ap_uint<32> > &soDBG_TcpIpRxByteCnt,
328 stream<ap_uint< 8> > &soDBG_OooDebug
330 ap_uint<32> &poSimCycCount
337 #pragma HLS INTERFACE ap_ctrl_none port=return
347 static stream<ExtendedEvent> ssAKdToTXe_Event (
"ssAKdToTXe_Event");
348 #pragma HLS stream variable=ssAKdToTXe_Event depth=cDepth_AKdToTXe_Event
349 #pragma HLS DATA_PACK variable=ssAKdToTXe_Event
351 static stream<SigBit> ssAKdToEVe_RxEventSig (
"ssAKdToEVe_RxEventSig");
352 #pragma HLS stream variable=ssAKdToEVe_RxEventSig depth=cDepth_AKdToEVe_Event
354 static stream<SigBit> ssAKdToEVe_TxEventSig (
"ssAKdToEVe_TxEventSig");
355 #pragma HLS stream variable=ssAKdToEVe_TxEventSig depth=cDepth_AKdToEVe_Event
360 static stream<ExtendedEvent> ssEVeToAKd_Event (
"ssEVeToAKd_Event");
361 #pragma HLS stream variable=ssEVeToAKd_Event depth=cDepth_EVeToAKd_Event
362 #pragma HLS DATA_PACK variable=ssEVeToAKd_Event
369 static stream<RepBit> ssPRtToRXe_PortStateRep (
"ssPRtToRXe_PortStateRep");
370 #pragma HLS stream variable=ssPRtToRXe_PortStateRep depth=4
372 static stream<AckBit> ssPRtToRAi_OpnLsnPortRep (
"ssPRtToRAi_OpnLsnPortRep");
373 #pragma HLS stream variable=ssPRtToRAi_OpnLsnPortRep depth=4
375 static stream<TcpPort> ssPRtToTAi_GetFreePortRep (
"ssPRtToTAi_GetFreePortRep");
376 #pragma HLS stream variable=ssPRtToTAi_GetFreePortRep depth=4
379 static stream<TcpPort> ssRAiToPRt_OpnLsnPortReq (
"ssRAiToPRt_OpnLsnPortReq");
380 #pragma HLS stream variable=ssRAiToPRt_OpnLsnPortReq depth=4
382 static stream<RAiRxSarQuery> ssRAiToRSt_RxSarQry (
"ssRAiToRSt_RxSarQry");
383 #pragma HLS stream variable=ssRAiToRSt_RxSarQry depth=cDepth_RAiToRSt_Qry
384 #pragma HLS DATA_PACK variable=ssRAiToRSt_RxSarQry
389 static stream<SessionLookupQuery> ssRXeToSLc_SessLkpReq (
"ssRXeToSLc_SessLkpReq");
390 #pragma HLS stream variable=ssRXeToSLc_SessLkpReq depth=4
391 #pragma HLS DATA_PACK variable=ssRXeToSLc_SessLkpReq
393 static stream<TcpPort> ssRXeToPRt_PortStateReq (
"ssRXeToPRt_PortStateReq");
394 #pragma HLS stream variable=ssRXeToPRt_PortStateReq depth=4
396 static stream<StateQuery> ssRXeToSTt_SessStateQry (
"ssRXeToSTt_SessStateQry");
397 #pragma HLS stream variable=ssRXeToSTt_SessStateQry depth=2
398 #pragma HLS DATA_PACK variable=ssRXeToSTt_SessStateQry
400 static stream<RXeRxSarQuery> ssRXeToRSt_RxSarQry (
"ssRXeToRSt_RxSarQry");
401 #pragma HLS stream variable=ssRXeToRSt_RxSarQry depth=cDepth_RXeToRSt_Qry
402 #pragma HLS DATA_PACK variable=ssRXeToRSt_RxSarQry
404 static stream<RXeTxSarQuery> ssRXeToTSt_TxSarQry (
"ssRXeToTSt_TxSarQry");
405 #pragma HLS stream variable=ssRXeToTSt_TxSarQry depth=cDepth_RXeToTSt_Qry
406 #pragma HLS DATA_PACK variable=ssRXeToTSt_TxSarQry
408 static stream<RXeReTransTimerCmd> ssRXeToTIm_ReTxTimerCmd (
"ssRXeToTIm_ReTxTimerCmd");
409 #pragma HLS stream variable=ssRXeToTIm_ReTxTimerCmd depth=2
410 #pragma HLS DATA_PACK variable=ssRXeToTIm_ReTxTimerCmd
412 static stream<SessionId> ssRXeToTIm_CloseTimer (
"ssRXeToTIm_CloseTimer");
413 #pragma HLS stream variable=ssRXeToTIm_CloseTimer depth=2
415 static stream<SessionId> ssRXeToTIm_ClrProbeTimer (
"ssRXeToTIm_ClrProbeTimer");
416 #pragma HLS stream variable=ssRXeToTIm_ClrProbeTimer depth=2
418 static stream<TcpAppNotif> ssRXeToRAi_Notif (
"ssRXeToRAi_Notif");
419 #pragma HLS stream variable=ssRXeToRAi_Notif depth=4
420 #pragma HLS DATA_PACK variable=ssRXeToRAi_Notif
422 static stream<SessState> ssRXeToTAi_SessOpnSts (
"ssRXeToTAi_SessOpnSts");
423 #pragma HLS stream variable=ssRXeToTAi_SessOpnSts depth=4
424 #pragma HLS DATA_PACK variable=ssRXeToTAi_SessOpnSts
426 static stream<ExtendedEvent> ssRXeToEVe_Event (
"ssRXeToEVe_Event");
427 #pragma HLS stream variable=ssRXeToEVe_Event depth=cDepth_RXeToEVe_Event
428 #pragma HLS DATA_PACK variable=ssRXeToEVe_Event
431 static stream<RxSarReply> ssRStToRXe_RxSarRep (
"ssRStToRXe_RxSarRep");
432 #pragma HLS stream variable=ssRStToRXe_RxSarRep depth=2
433 #pragma HLS DATA_PACK variable=ssRStToRXe_RxSarRep
435 static stream<RAiRxSarReply> ssRStToRAi_RxSarRep (
"ssRStToRAi_RxSarRep");
436 #pragma HLS stream variable=ssRStToRAi_RxSarRep depth=2
437 #pragma HLS DATA_PACK variable=ssRStToRAi_RxSarRep
439 static stream<RxSarReply> ssRStToTXe_RxSarRep (
"ssRStToTXe_RxSarRep");
440 #pragma HLS stream variable=ssRStToTXe_RxSarRep depth=2
441 #pragma HLS DATA_PACK variable=ssRStToTXe_RxSarRep
446 static stream<SessionLookupReply> ssSLcToRXe_SessLkpRep (
"ssSLcToRXe_SessLkpRep");
447 #pragma HLS stream variable=ssSLcToRXe_SessLkpRep depth=4
448 #pragma HLS DATA_PACK variable=ssSLcToRXe_SessLkpRep
450 static stream<SessionLookupReply> ssSLcToTAi_SessLookupRep (
"ssSLcToTAi_SessLookupRep");
451 #pragma HLS stream variable=ssSLcToTAi_SessLookupRep depth=4
452 #pragma HLS DATA_PACK variable=ssSLcToTAi_SessLookupRep
454 static stream<TcpPort> ssSLcToPRt_ReleasePort (
"ssSLcToPRt_ReleasePort");
455 #pragma HLS stream variable=ssSLcToPRt_ReleasePort depth=4
457 static stream<fourTuple> ssSLcToTXe_ReverseLkpRep (
"ssSLcToTXe_ReverseLkpRep");
458 #pragma HLS stream variable=ssSLcToTXe_ReverseLkpRep depth=4
459 #pragma HLS DATA_PACK variable=ssSLcToTXe_ReverseLkpRep
464 static stream<TcpState> ssSTtToRXe_SessStateRep (
"ssSTtToRXe_SessStateRep");
465 #pragma HLS stream variable=ssSTtToRXe_SessStateRep depth=cDepth_STtToRXe_Rep
467 static stream<TcpState> ssSTtToTAi_AcceptStateRep (
"ssSTtToTAi_AcceptStateRep");
468 #pragma HLS stream variable=ssSTtToTAi_AcceptStateRep depth=cDepth_STtToTAi_Rep
470 static stream<TcpState> ssSTtToTAi_SessStateRep (
"ssSTtToTAi_SessStateRep");
471 #pragma HLS stream variable=ssSTtToTAi_SessStateRep depth=2
473 static stream<SessionId> ssSTtToSLc_SessReleaseCmd (
"ssSTtToSLc_SessReleaseCmd");
474 #pragma HLS stream variable=ssSTtToSLc_SessReleaseCmd depth=2
479 static stream<ReqBit> ssTAiToPRt_GetFeePortReq (
"ssTAiToPRt_GetFeePortReq");
480 #pragma HLS stream variable=ssTAiToPRt_GetFeePortReq depth=4
482 static stream<SocketPair> ssTAiToSLc_SessLookupReq (
"ssTAiToSLc_SessLookupReq");
483 #pragma HLS DATA_PACK variable=ssTAiToSLc_SessLookupReq
484 #pragma HLS stream variable=ssTAiToSLc_SessLookupReq depth=4
486 static stream<Event> ssTAiToEVe_Event (
"ssTAiToEVe_Event");
487 #pragma HLS stream variable=ssTAiToEVe_Event depth=cDepth_TAiToEVe_Event
488 #pragma HLS DATA_PACK variable=ssTAiToEVe_Event
490 static stream<TAiTxSarPush> ssTAiToTSt_PushCmd (
"ssTAiToTSt_PushCmd");
491 #pragma HLS stream variable=ssTAiToTSt_PushCmd depth=cDepth_TAiToTSt_Cmd
492 #pragma HLS DATA_PACK variable=ssTAiToTSt_PushCmd
494 static stream<StateQuery> ssTAiToSTt_AcceptStateQry (
"ssTAiToSTt_AcceptStateQry");
495 #pragma HLS stream variable=ssTAiToSTt_AcceptStateQry depth=2
496 #pragma HLS DATA_PACK variable=ssTAiToSTt_AcceptStateQry
498 static stream<TcpSessId> ssTAiToSTt_SessStateReq (
"ssTAiToSTt_SessStateReq");
499 #pragma HLS stream variable=ssTAiToSTt_SessStateReq depth=2
504 static stream<Event> ssTImToEVe_Event (
"ssTImToEVe_Event");
505 #pragma HLS stream variable=ssTImToEVe_Event depth=cDepth_TImToEVe_Event
506 #pragma HLS DATA_PACK variable=ssTImToEVe_Event
508 static stream<SessionId> ssTImToSTt_SessCloseCmd (
"ssTImToSTt_SessCloseCmd");
509 #pragma HLS stream variable=ssTImToSTt_SessCloseCmd depth=2
511 static stream<SessState> ssTImToTAi_Notif (
"ssTImToTAi_Notif");
512 #pragma HLS stream variable=ssTImToTAi_Notif depth=4
513 #pragma HLS DATA_PACK variable=ssTImToTAi_Notif
515 static stream<TcpAppNotif> ssTImToRAi_Notif (
"ssTImToRAi_Notif");
516 #pragma HLS stream variable=ssTImToRAi_Notif depth=4
517 #pragma HLS DATA_PACK variable=ssTImToRAi_Notif
522 static stream<SigBit> ssTXeToEVe_RxEventSig (
"ssTXeToEVe_RxEventSig");
523 #pragma HLS stream variable=ssTXeToEVe_RxEventSig depth=cDepth_TXeToEVe_Event
525 static stream<SessionId> ssTXeToRSt_RxSarReq (
"ssTXeToRSt_RxSarReq");
526 #pragma HLS stream variable=ssTXeToRSt_RxSarReq depth=cDepth_TXeToRSt_Req
528 static stream<TXeTxSarQuery> ssTXeToTSt_TxSarQry (
"ssTXeToTSt_TxSarQry");
529 #pragma HLS stream variable=ssTXeToTSt_TxSarQry depth=cDepth_TXeToTSt_Qry
530 #pragma HLS DATA_PACK variable=ssTXeToTSt_TxSarQry
532 static stream<SessionId> ssTXeToSLc_ReverseLkpReq (
"ssTXeToSLc_ReverseLkpReq");
533 #pragma HLS stream variable=ssTXeToSLc_ReverseLkpReq depth=4
535 static stream<TXeReTransTimerCmd> ssTXeToTIm_SetReTxTimer (
"ssTXeToTIm_SetReTxTimer");
536 #pragma HLS stream variable=ssTXeToTIm_SetReTxTimer depth=2
537 #pragma HLS DATA_PACK variable=ssTXeToTIm_SetReTxTimer
539 static stream<SessionId> ssTXeToTIm_SetProbeTimer (
"ssTXeToTIm_SetProbeTimer");
540 #pragma HLS stream variable=ssTXeToTIm_SetProbeTimer depth=2
545 static stream<RXeTxSarReply> ssTStToRXe_TxSarRep (
"ssTStToRXe_TxSarRep");
546 #pragma HLS stream variable=ssTStToRXe_TxSarRep depth=cDepth_TStToRXe_Rep
547 #pragma HLS DATA_PACK variable=ssTStToRXe_TxSarRep
549 static stream<TXeTxSarReply> ssTStToTXe_TxSarRep (
"ssTStToTXe_TxSarRep");
550 #pragma HLS stream variable=ssTStToTXe_TxSarRep depth=cDepth_TStToTXe_Rep
551 #pragma HLS DATA_PACK variable=ssTStToTXe_TxSarRep
553 static stream<TStTxSarPush> ssTStToTAi_PushCmd (
"ssTStToTAi_PushCmd");
554 #pragma HLS stream variable=ssTStToTAi_PushCmd depth=cDepth_TStToTAi_Cmd
555 #pragma HLS DATA_PACK variable=ssTStToTAi_PushCmd
563 ssRXeToSLc_SessLkpReq,
564 ssSLcToRXe_SessLkpRep,
565 ssSTtToSLc_SessReleaseCmd,
566 ssSLcToPRt_ReleasePort,
567 ssTAiToSLc_SessLookupReq,
568 ssSLcToTAi_SessLookupRep,
569 ssTXeToSLc_ReverseLkpReq,
570 ssSLcToTXe_ReverseLkpRep,
580 ssRXeToSTt_SessStateQry,
581 ssSTtToRXe_SessStateRep,
582 ssTAiToSTt_AcceptStateQry,
583 ssSTtToTAi_AcceptStateRep,
584 ssTAiToSTt_SessStateReq,
585 ssSTtToTAi_SessStateRep,
586 ssTImToSTt_SessCloseCmd,
587 ssSTtToSLc_SessReleaseCmd);
596 ssRStToTXe_RxSarRep);
610 ssRXeToPRt_PortStateReq,
611 ssPRtToRXe_PortStateRep,
612 ssRAiToPRt_OpnLsnPortReq,
613 ssPRtToRAi_OpnLsnPortRep,
614 ssTAiToPRt_GetFeePortReq,
615 ssPRtToTAi_GetFreePortRep,
616 ssSLcToPRt_ReleasePort);
620 ssRXeToTIm_ReTxTimerCmd,
621 ssRXeToTIm_ClrProbeTimer,
622 ssRXeToTIm_CloseTimer,
623 ssTXeToTIm_SetReTxTimer,
624 ssTXeToTIm_SetProbeTimer,
625 ssTImToSTt_SessCloseCmd,
636 ssAKdToEVe_RxEventSig,
637 ssAKdToEVe_TxEventSig,
638 ssTXeToEVe_RxEventSig);
643 ssAKdToEVe_RxEventSig,
644 ssAKdToEVe_TxEventSig,
655 ssRXeToSLc_SessLkpReq,
656 ssSLcToRXe_SessLkpRep,
657 ssRXeToSTt_SessStateQry,
658 ssSTtToRXe_SessStateRep,
659 ssRXeToPRt_PortStateReq,
660 ssPRtToRXe_PortStateRep,
665 ssRXeToTIm_ReTxTimerCmd,
666 ssRXeToTIm_ClrProbeTimer,
667 ssRXeToTIm_CloseTimer,
669 ssRXeToTAi_SessOpnSts,
679 soDBG_TcpIpRxByteCnt,
685 ssTXeToEVe_RxEventSig,
692 ssTXeToTIm_SetReTxTimer,
693 ssTXeToTIm_SetProbeTimer,
694 ssTXeToSLc_ReverseLkpReq,
695 ssSLcToTXe_ReverseLkpRep,
711 ssRAiToPRt_OpnLsnPortReq,
712 ssPRtToRAi_OpnLsnPortRep,
734 ssTAiToSTt_SessStateReq,
735 ssSTtToTAi_SessStateRep,
736 ssTAiToSTt_AcceptStateQry,
737 ssSTtToTAi_AcceptStateRep,
738 ssTAiToSLc_SessLookupReq,
739 ssSLcToTAi_SessLookupRep,
740 ssTAiToPRt_GetFeePortReq,
741 ssPRtToTAi_GetFreePortRep,
744 ssRXeToTAi_SessOpnSts,
758 #if TOE_FEATURE_USED_FOR_DEBUGGING
812 #if HLS_VERSION == 2017
818 stream<StsBit> &soMMIO_RxMemWrErr,
819 stream<ap_uint<8> > &soMMIO_NotifDropCnt,
820 stream<ap_uint<8> > &soMMIO_MetaDropCnt,
821 stream<ap_uint<8> > &soMMIO_DataDropCnt,
822 stream<ap_uint<8> > &soMMIO_CrcDropCnt,
823 stream<ap_uint<8> > &soMMIO_SessDropCnt,
824 stream<ap_uint<8> > &soMMIO_OooDropCnt,
832 stream<AxisIp4> &siIPRX_Data,
836 stream<AxisIp4> &soIPTX_Data,
840 stream<TcpAppNotif> &soTAIF_Notif,
841 stream<TcpAppRdReq> &siTAIF_DReq,
842 stream<TcpAppData> &soTAIF_Data,
843 stream<TcpAppMeta> &soTAIF_Meta,
847 stream<TcpAppLsnReq> &siTAIF_LsnReq,
848 stream<TcpAppLsnRep> &soTAIF_LsnRep,
852 stream<TcpAppData> &siTAIF_Data,
853 stream<TcpAppSndReq> &siTAIF_SndReq,
854 stream<TcpAppSndRep> &soTAIF_SndRep,
858 stream<TcpAppOpnReq> &siTAIF_OpnReq,
859 stream<TcpAppOpnRep> &soTAIF_OpnRep,
863 stream<TcpAppClsReq> &siTAIF_ClsReq,
869 stream<DmCmd> &soMEM_RxP_RdCmd,
870 stream<AxisApp> &siMEM_RxP_Data,
871 stream<DmSts> &siMEM_RxP_WrSts,
872 stream<DmCmd> &soMEM_RxP_WrCmd,
873 stream<AxisApp> &soMEM_RxP_Data,
878 stream<DmCmd> &soMEM_TxP_RdCmd,
879 stream<AxisApp> &siMEM_TxP_Data,
880 stream<DmSts> &siMEM_TxP_WrSts,
881 stream<DmCmd> &soMEM_TxP_WrCmd,
882 stream<AxisApp> &soMEM_TxP_Data,
886 stream<CamSessionLookupRequest> &soCAM_SssLkpReq,
887 stream<CamSessionLookupReply> &siCAM_SssLkpRep,
888 stream<CamSessionUpdateRequest> &soCAM_SssUpdReq,
889 stream<CamSessionUpdateReply> &siCAM_SssUpdRep,
893 stream<ap_uint<16> > &soDBG_SssRelCnt,
894 stream<ap_uint<16> > &soDBG_SssRegCnt,
895 stream<RxBufPtr> &soDBG_RxFreeSpace,
896 stream<ap_uint<32> > &soDBG_TcpIpRxByteCnt,
897 stream<ap_uint< 8> > &soDBG_OooDebug
900 ap_uint<32> &poSimCycCount
905 #pragma HLS INTERFACE ap_ctrl_none port=return
912 #pragma HLS INTERFACE ap_stable port=piMMIO_IpAddr
913 #pragma HLS RESOURCE core=AXI4Stream variable=soMMIO_RxMemWrErr metadata="-bus_bundle soMMIO_RxMemWrErr"
914 #pragma HLS RESOURCE core=AXI4Stream variable=soMMIO_NotifDropCnt metadata="-bus_bundle soMMIO_NotifDropCnt"
915 #pragma HLS RESOURCE core=AXI4Stream variable=soMMIO_MetaDropCnt metadata="-bus_bundle soMMIO_MetaDropCnt"
916 #pragma HLS RESOURCE core=AXI4Stream variable=soMMIO_DataDropCnt metadata="-bus_bundle soMMIO_DataDropCnt"
917 #pragma HLS RESOURCE core=AXI4Stream variable=soMMIO_CrcDropCnt metadata="-bus_bundle soMMIO_CrcDropCnt"
918 #pragma HLS RESOURCE core=AXI4Stream variable=soMMIO_SessDropCnt metadata="-bus_bundle soMMIO_SessDropCnt"
919 #pragma HLS RESOURCE core=AXI4Stream variable=soMMIO_OooDropCnt metadata="-bus_bundle soMMIO_OooDropCnt"
921 #pragma HLS INTERFACE ap_none register port=poNTS_Ready
923 #pragma HLS RESOURCE core=AXI4Stream variable=siIPRX_Data metadata="-bus_bundle siIPRX_Data"
925 #pragma HLS RESOURCE core=AXI4Stream variable=soIPTX_Data metadata="-bus_bundle soIPTX_Data"
927 #pragma HLS RESOURCE core=AXI4Stream variable=siTAIF_DReq metadata="-bus_bundle siTAIF_DReq"
928 #pragma HLS DATA_PACK variable=siTAIF_DReq
929 #pragma HLS RESOURCE core=AXI4Stream variable=soTAIF_Notif metadata="-bus_bundle soTAIF_Notif"
930 #pragma HLS DATA_PACK variable=soTAIF_Notif
931 #pragma HLS RESOURCE core=AXI4Stream variable=soTAIF_Data metadata="-bus_bundle soTAIF_Data"
932 #pragma HLS RESOURCE core=AXI4Stream variable=soTAIF_Meta metadata="-bus_bundle soTAIF_Meta"
934 #pragma HLS RESOURCE core=AXI4Stream variable=siTAIF_LsnReq metadata="-bus_bundle siTAIF_LsnReq"
935 #pragma HLS RESOURCE core=AXI4Stream variable=soTAIF_LsnRep metadata="-bus_bundle soTAIF_LsnRep"
937 #pragma HLS RESOURCE core=AXI4Stream variable=siTAIF_Data metadata="-bus_bundle siTAIF_Data"
938 #pragma HLS RESOURCE core=AXI4Stream variable=siTAIF_SndReq metadata="-bus_bundle siTAIF_SndReq"
939 #pragma HLS DATA_PACK variable=siTAIF_SndReq
940 #pragma HLS RESOURCE core=AXI4Stream variable=soTAIF_SndRep metadata="-bus_bundle soTAIF_SndRep"
941 #pragma HLS DATA_PACK variable=soTAIF_SndRep
943 #pragma HLS RESOURCE core=AXI4Stream variable=siTAIF_OpnReq metadata="-bus_bundle siTAIF_OpnReq"
944 #pragma HLS DATA_PACK variable=siTAIF_OpnReq
945 #pragma HLS RESOURCE core=AXI4Stream variable=soTAIF_OpnRep metadata="-bus_bundle soTAIF_OpnRep"
946 #pragma HLS DATA_PACK variable=soTAIF_OpnRep
947 #pragma HLS RESOURCE core=AXI4Stream variable=siTAIF_ClsReq metadata="-bus_bundle siTAIF_ClsReq"
949 #pragma HLS RESOURCE core=AXI4Stream variable=soMEM_RxP_RdCmd metadata="-bus_bundle soMEM_RxP_RdCmd"
950 #pragma HLS DATA_PACK variable=soMEM_RxP_RdCmd
951 #pragma HLS RESOURCE core=AXI4Stream variable=siMEM_RxP_Data metadata="-bus_bundle siMEM_RxP_Data"
952 #pragma HLS RESOURCE core=AXI4Stream variable=siMEM_RxP_WrSts metadata="-bus_bundle siMEM_RxP_WrSts"
953 #pragma HLS DATA_PACK variable=siMEM_RxP_WrSts
954 #pragma HLS RESOURCE core=AXI4Stream variable=soMEM_RxP_WrCmd metadata="-bus_bundle soMEM_RxP_WrCmd"
955 #pragma HLS DATA_PACK variable=soMEM_RxP_WrCmd
956 #pragma HLS RESOURCE core=AXI4Stream variable=soMEM_RxP_Data metadata="-bus_bundle soMEM_RxP_Data"
958 #pragma HLS RESOURCE core=AXI4Stream variable=soMEM_TxP_RdCmd metadata="-bus_bundle soMEM_TxP_RdCmd"
959 #pragma HLS DATA_PACK variable=soMEM_TxP_RdCmd
960 #pragma HLS RESOURCE core=AXI4Stream variable=siMEM_TxP_Data metadata="-bus_bundle siMEM_TxP_Data"
961 #pragma HLS RESOURCE core=AXI4Stream variable=siMEM_TxP_WrSts metadata="-bus_bundle siMEM_TxP_WrSts"
962 #pragma HLS DATA_PACK variable=siMEM_TxP_WrSts
963 #pragma HLS RESOURCE core=AXI4Stream variable=soMEM_TxP_WrCmd metadata="-bus_bundle soMEM_TxP_WrCmd"
964 #pragma HLS DATA_PACK variable=soMEM_TxP_WrCmd
965 #pragma HLS RESOURCE core=AXI4Stream variable=soMEM_TxP_Data metadata="-bus_bundle soMEM_TxP_Data"
967 #pragma HLS RESOURCE core=AXI4Stream variable=siCAM_SssLkpRep metadata="-bus_bundle siCAM_SssLkpRep"
968 #pragma HLS DATA_PACK variable=siCAM_SssLkpRep
969 #pragma HLS RESOURCE core=AXI4Stream variable=siCAM_SssUpdRep metadata="-bus_bundle siCAM_SssUpdRep"
970 #pragma HLS DATA_PACK variable=siCAM_SssUpdRep
971 #pragma HLS RESOURCE core=AXI4Stream variable=soCAM_SssLkpReq metadata="-bus_bundle soCAM_SssLkpReq"
972 #pragma HLS DATA_PACK variable=soCAM_SssLkpReq
973 #pragma HLS RESOURCE core=AXI4Stream variable=soCAM_SssUpdReq metadata="-bus_bundle soCAM_SssUpdReq"
974 #pragma HLS DATA_PACK variable=soCAM_SssUpdReq
976 #pragma HLS RESOURCE core=AXI4Stream variable=soDBG_SssRelCnt metadata="-bus_bundle soDBG_SssRelCnt"
977 #pragma HLS RESOURCE core=AXI4Stream variable=soDBG_SssRegCnt metadata="-bus_bundle soDBG_SssRegCnt"
978 #pragma HLS RESOURCE core=AXI4Stream variable=soDBG_RxFreeSpace metadata="-bus_bundle soDBG_RxFreeSpace"
979 #pragma HLS RESOURCE core=AXI4Stream variable=soDBG_TcpIpRxByteCnt metadata="-bus_bundle soDBG_TcpIpRxByteCnt"
980 #pragma HLS RESOURCE core=AXI4Stream variable=soDBG_OooDebug metadata="-bus_bundle soDBG_OooDebug"
982 #if TOE_FEATURE_USED_FOR_DEBUGGING
983 #pragma HLS INTERFACE ap_none register port=poSimCycCount
1047 soDBG_TcpIpRxByteCnt,
1061 stream<StsBit> &soMMIO_RxMemWrErr,
1062 stream<ap_uint<8> > &soMMIO_NotifDropCnt,
1063 stream<ap_uint<8> > &soMMIO_MetaDropCnt,
1064 stream<ap_uint<8> > &soMMIO_DataDropCnt,
1065 stream<ap_uint<8> > &soMMIO_CrcDropCnt,
1066 stream<ap_uint<8> > &soMMIO_SessDropCnt,
1067 stream<ap_uint<8> > &soMMIO_OooDropCnt,
1075 stream<AxisRaw> &siIPRX_Data,
1079 stream<AxisRaw> &soIPTX_Data,
1083 stream<TcpAppNotif> &soTAIF_Notif,
1084 stream<TcpAppRdReq> &siTAIF_DReq,
1085 stream<TcpAppData> &soTAIF_Data,
1086 stream<TcpAppMeta> &soTAIF_Meta,
1090 stream<TcpAppLsnReq> &siTAIF_LsnReq,
1091 stream<TcpAppLsnRep> &soTAIF_LsnRep,
1095 stream<TcpAppData> &siTAIF_Data,
1096 stream<TcpAppSndReq> &siTAIF_SndReq,
1097 stream<TcpAppSndRep> &soTAIF_SndRep,
1101 stream<TcpAppOpnReq> &siTAIF_OpnReq,
1102 stream<TcpAppOpnRep> &soTAIF_OpnRep,
1106 stream<TcpAppClsReq> &siTAIF_ClsReq,
1112 stream<DmCmd> &soMEM_RxP_RdCmd,
1113 stream<AxisApp> &siMEM_RxP_Data,
1114 stream<DmSts> &siMEM_RxP_WrSts,
1115 stream<DmCmd> &soMEM_RxP_WrCmd,
1116 stream<AxisApp> &soMEM_RxP_Data,
1121 stream<DmCmd> &soMEM_TxP_RdCmd,
1122 stream<AxisApp> &siMEM_TxP_Data,
1123 stream<DmSts> &siMEM_TxP_WrSts,
1124 stream<DmCmd> &soMEM_TxP_WrCmd,
1125 stream<AxisApp> &soMEM_TxP_Data,
1129 stream<CamSessionLookupRequest> &soCAM_SssLkpReq,
1130 stream<CamSessionLookupReply> &siCAM_SssLkpRep,
1131 stream<CamSessionUpdateRequest> &soCAM_SssUpdReq,
1132 stream<CamSessionUpdateReply> &siCAM_SssUpdRep,
1136 stream<ap_uint<16> > &soDBG_SssRelCnt,
1137 stream<ap_uint<16> > &soDBG_SssRegCnt,
1138 stream<RxBufPtr> &soDBG_RxFreeSpace,
1139 stream<ap_uint<32> > &soDBG_TcpIpRxByteCnt,
1140 stream<ap_uint< 8> > &soDBG_OooDebug
1142 ap_uint<32> &poSimCycCount
1148 #pragma HLS INTERFACE ap_ctrl_none port=return
1151 #pragma HLS INTERFACE ap_stable port=piMMIO_IpAddr name=piMMIO_IpAddr
1152 #pragma HLS INTERFACE axis register both port=soMMIO_RxMemWrErr name=soMMIO_RxMemWrErr
1153 #pragma HLS INTERFACE axis register both port=soMMIO_NotifDropCnt name=soMMIO_NotifDropCnt
1154 #pragma HLS INTERFACE axis register both port=soMMIO_MetaDropCnt name=soMMIO_MetaDropCnt
1155 #pragma HLS INTERFACE axis register both port=soMMIO_DataDropCnt name=soMMIO_DataDropCnt
1156 #pragma HLS INTERFACE axis register both port=soMMIO_CrcDropCnt name=soMMIO_CrcDropCnt
1157 #pragma HLS INTERFACE axis register both port=soMMIO_SessDropCnt name=soMMIO_SessDropCnt
1158 #pragma HLS INTERFACE axis register both port=soMMIO_OooDropCnt name=soMMIO_OooDropCnt
1160 #pragma HLS INTERFACE ap_none register port=poNTS_Ready name=poNTS_Ready
1162 #pragma HLS INTERFACE axis off port=siIPRX_Data name=siIPRX_Data
1164 #pragma HLS INTERFACE axis off port=soIPTX_Data name=soIPTX_Data
1166 #pragma HLS INTERFACE axis off port=siTAIF_DReq name=siTAIF_DReq
1167 #pragma HLS DATA_PACK variable=siTAIF_DReq
1168 #pragma HLS INTERFACE axis off port=soTAIF_Notif name=soTAIF_Notif
1169 #pragma HLS DATA_PACK variable=soTAIF_Notif
1170 #pragma HLS INTERFACE axis off port=soTAIF_Data name=soTAIF_Data
1171 #pragma HLS INTERFACE axis off port=soTAIF_Meta name=soTAIF_Meta
1173 #pragma HLS INTERFACE axis off port=siTAIF_LsnReq name=siTAIF_LsnReq
1174 #pragma HLS INTERFACE axis off port=soTAIF_LsnRep name=soTAIF_LsnRep
1176 #pragma HLS INTERFACE axis off port=siTAIF_Data name=siTAIF_Data
1177 #pragma HLS INTERFACE axis off port=siTAIF_SndReq name=siTAIF_SndReq
1178 #pragma HLS DATA_PACK variable=siTAIF_SndReq
1179 #pragma HLS INTERFACE axis off port=soTAIF_SndRep name=soTAIF_SndRep
1180 #pragma HLS DATA_PACK variable=soTAIF_SndRep
1182 #pragma HLS INTERFACE axis off port=siTAIF_OpnReq name=siTAIF_OpnReq
1183 #pragma HLS DATA_PACK variable=siTAIF_OpnReq
1184 #pragma HLS INTERFACE axis off port=soTAIF_OpnRep name=soTAIF_OpnRep
1185 #pragma HLS DATA_PACK variable=soTAIF_OpnRep
1186 #pragma HLS INTERFACE axis off port=siTAIF_ClsReq name=siTAIF_ClsReq
1188 #pragma HLS INTERFACE axis off port=soMEM_RxP_RdCmd name=soMEM_RxP_RdCmd
1189 #pragma HLS DATA_PACK variable=soMEM_RxP_RdCmd
1190 #pragma HLS INTERFACE axis off port=siMEM_RxP_Data name=siMEM_RxP_Data
1191 #pragma HLS INTERFACE axis off port=siMEM_RxP_WrSts name=siMEM_RxP_WrSts
1192 #pragma HLS DATA_PACK variable=siMEM_RxP_WrSts
1193 #pragma HLS INTERFACE axis off port=soMEM_RxP_WrCmd name=soMEM_RxP_WrCmd
1194 #pragma HLS DATA_PACK variable=soMEM_RxP_WrCmd
1195 #pragma HLS INTERFACE axis off port=soMEM_RxP_Data name=soMEM_RxP_Data
1197 #pragma HLS INTERFACE axis off port=soMEM_TxP_RdCmd name=soMEM_TxP_RdCmd
1198 #pragma HLS DATA_PACK variable=soMEM_TxP_RdCmd
1199 #pragma HLS INTERFACE axis off port=siMEM_TxP_Data name=siMEM_TxP_Data
1200 #pragma HLS INTERFACE axis off port=siMEM_TxP_WrSts name=siMEM_TxP_WrSts
1201 #pragma HLS DATA_PACK variable=siMEM_TxP_WrSts
1202 #pragma HLS INTERFACE axis off port=soMEM_TxP_WrCmd name=soMEM_TxP_WrCmd
1203 #pragma HLS DATA_PACK variable=soMEM_TxP_WrCmd
1204 #pragma HLS INTERFACE axis off port=soMEM_TxP_Data name=soMEM_TxP_Data
1206 #pragma HLS INTERFACE axis register both port=soCAM_SssLkpReq name=soCAM_SssLkpReq
1207 #pragma HLS DATA_PACK variable=soCAM_SssLkpReq
1208 #pragma HLS INTERFACE axis off port=siCAM_SssLkpRep name=siCAM_SssLkpRep
1209 #pragma HLS DATA_PACK variable=siCAM_SssLkpRep
1210 #pragma HLS INTERFACE axis register both port=soCAM_SssUpdReq name=soCAM_SssUpdReq
1211 #pragma HLS DATA_PACK variable=soCAM_SssUpdReq
1212 #pragma HLS INTERFACE axis off port=siCAM_SssUpdRep name=siCAM_SssUpdRep
1213 #pragma HLS DATA_PACK variable=siCAM_SssUpdRep
1215 #pragma HLS INTERFACE axis register both port=soDBG_SssRelCnt name=soDBG_SssRelCnt
1216 #pragma HLS INTERFACE axis register both port=soDBG_SssRegCnt name=soDBG_SssRegCnt
1217 #pragma HLS INTERFACE axis register both port=soDBG_RxFreeSpace name=soDBG_RxFreeSpace
1218 #pragma HLS INTERFACE axis register both port=soDBG_TcpIpRxByteCnt name=soDBG_TcpIpRxByteCnt
1219 #pragma HLS INTERFACE axis register both port=soDBG_OooDebug name=soDBG_OooDebug
1221 #if TOE_FEATURE_USED_FOR_DEBUGGING
1222 #pragma HLS INTERFACE ap_ovld register port=poSimCycCount name=poSimCycCount
1226 #pragma HLS DATAFLOW disable_start_propagation
1229 static stream<AxisIp4> ssiIPRX_Data (
"ssiIPRX_Data");
1230 static stream<AxisIp4> ssoIPTX_Data (
"ssoIPTX_Data");
1240 soMMIO_NotifDropCnt,
1293 soDBG_TcpIpRxByteCnt,
: ACK Delayer (AKd) of the TCP Offload Engine (TOE)
: Event Engine (EVe) of the TCP Offload Engine (TOE)
void pStreamMux(stream< T > &si1, stream< T > &si2, stream< T > &so)
A 2-to-1 generic Stream Multiplexer.
void rx_engine(stream< AxisIp4 > &siIPRX_Data, stream< SessionLookupQuery > &soSLc_SessLkReq, stream< SessionLookupReply > &siSLc_SessLkRep, stream< StateQuery > &soSTt_StateQry, stream< TcpState > &siSTt_StateRep, stream< TcpPort > &soPRt_PortStateReq, stream< RepBit > &siPRt_PortStateRep, stream< RXeRxSarQuery > &soRSt_RxSarQry, stream< RxSarReply > &siRSt_RxSarRep, stream< RXeTxSarQuery > &soTSt_TxSarQry, stream< RXeTxSarReply > &siTSt_TxSarRep, stream< RXeReTransTimerCmd > &soTIm_ReTxTimerCmd, stream< SessionId > &soTIm_ClearProbeTimer, stream< SessionId > &soTIm_CloseTimer, stream< ExtendedEvent > &soEVe_SetEvent, stream< SessState > &soTAi_SessOpnSts, stream< TcpAppNotif > &soRAi_RxNotif, stream< DmCmd > &soMEM_WrCmd, stream< AxisApp > &soMEM_WrData, stream< DmSts > &siMEM_WrSts, stream< StsBit > &soMMIO_RxMemWrErr, stream< ap_uint< 8 > > &soMMIO_CrcDropCnt, stream< ap_uint< 8 > > &soMMIO_SessDropCnt, stream< ap_uint< 8 > > &soMMIO_OooDropCnt, stream< RxBufPtr > &soDBG_RxFreeSpace, stream< ap_uint< 32 > > &soDBG_TcpIpRxByteCnt, stream< ap_uint< 8 > > &soDBG_OooDebug)
Receive Engine (RXe)
void toe(Ip4Addr piMMIO_IpAddr, stream< StsBit > &soMMIO_RxMemWrErr, stream< ap_uint< 8 > > &soMMIO_NotifDropCnt, stream< ap_uint< 8 > > &soMMIO_MetaDropCnt, stream< ap_uint< 8 > > &soMMIO_DataDropCnt, stream< ap_uint< 8 > > &soMMIO_CrcDropCnt, stream< ap_uint< 8 > > &soMMIO_SessDropCnt, stream< ap_uint< 8 > > &soMMIO_OooDropCnt, StsBit &poNTS_Ready, stream< AxisIp4 > &siIPRX_Data, stream< AxisIp4 > &soIPTX_Data, stream< TcpAppNotif > &soTAIF_Notif, stream< TcpAppRdReq > &siTAIF_DReq, stream< TcpAppData > &soTAIF_Data, stream< TcpAppMeta > &soTAIF_Meta, stream< TcpAppLsnReq > &siTAIF_LsnReq, stream< TcpAppLsnRep > &soTAIF_LsnRep, stream< TcpAppData > &siTAIF_Data, stream< TcpAppSndReq > &siTAIF_SndReq, stream< TcpAppSndRep > &soTAIF_SndRep, stream< TcpAppOpnReq > &siTAIF_OpnReq, stream< TcpAppOpnRep > &soTAIF_OpnRep, stream< TcpAppClsReq > &siTAIF_ClsReq, stream< DmCmd > &soMEM_RxP_RdCmd, stream< AxisApp > &siMEM_RxP_Data, stream< DmSts > &siMEM_RxP_WrSts, stream< DmCmd > &soMEM_RxP_WrCmd, stream< AxisApp > &soMEM_RxP_Data, stream< DmCmd > &soMEM_TxP_RdCmd, stream< AxisApp > &siMEM_TxP_Data, stream< DmSts > &siMEM_TxP_WrSts, stream< DmCmd > &soMEM_TxP_WrCmd, stream< AxisApp > &soMEM_TxP_Data, stream< CamSessionLookupRequest > &soCAM_SssLkpReq, stream< CamSessionLookupReply > &siCAM_SssLkpRep, stream< CamSessionUpdateRequest > &soCAM_SssUpdReq, stream< CamSessionUpdateReply > &siCAM_SssUpdRep, stream< ap_uint< 16 > > &soDBG_SssRelCnt, stream< ap_uint< 16 > > &soDBG_SssRegCnt, stream< RxBufPtr > &soDBG_RxFreeSpace, stream< ap_uint< 32 > > &soDBG_TcpIpRxByteCnt, stream< ap_uint< 8 > > &soDBG_OooDebug)
Main process of the TCP Offload Engine (TOE0.
void rx_sar_table(stream< RXeRxSarQuery > &siRXe_RxSarQry, stream< RxSarReply > &soRXe_RxSarRep, stream< RAiRxSarQuery > &siRAi_RxSarQry, stream< RAiRxSarReply > &soRAi_RxSarRep, stream< SessionId > &siTXe_RxSarReq, stream< RxSarReply > &soTxe_RxSarRep)
Rx SAR Table (RSt)
void ack_delay(stream< ExtendedEvent > &siEVe_Event, stream< SigBit > &soEVe_RxEventSig, stream< SigBit > &soEVe_TxEventSig, stream< ExtendedEvent > &soTXe_Event)
ACK Delayer (AKd)
void session_lookup_controller(stream< SessionLookupQuery > &siRXe_SessLookupReq, stream< SessionLookupReply > &soRXe_SessLookupRep, stream< SessionId > &siSTt_SessReleaseCmd, stream< TcpPort > &soPRt_ClosePortCmd, stream< SocketPair > &siTAi_SessLookupReq, stream< SessionLookupReply > &soTAi_SessLookupRep, stream< SessionId > &siTXe_ReverseLkpReq, stream< fourTuple > &soTXe_ReverseLkpRep, stream< CamSessionLookupRequest > &soCAM_SessLookupReq, stream< CamSessionLookupReply > &siCAM_SessLookupRep, stream< CamSessionUpdateRequest > &soCAM_SessUpdateReq, stream< CamSessionUpdateReply > &siCAM_SessUpdateRep, stream< ap_uint< 16 > > &soSssRelCnt, stream< ap_uint< 16 > > &soSssRegCnt)
Session Lookup Controller (SLc)
void timers(stream< RXeReTransTimerCmd > &siRXe_ReTxTimerCmd, stream< SessionId > &siRXe_ClrProbeTimer, stream< SessionId > &siRXe_CloseTimer, stream< TXeReTransTimerCmd > &siTXe_ReTxTimerCmd, stream< SessionId > &siTXe_SetProbeTimer, stream< SessionId > &soSTt_SessCloseCmd, stream< Event > &soEVe_Event, stream< SessState > &soTAi_Notif, stream< TcpAppNotif > &soRAi_Notif)
The Timers (TIm)
void tx_sar_table(stream< RXeTxSarQuery > &siRXe_TxSarQry, stream< RXeTxSarReply > &soRXe_TxSarRep, stream< TXeTxSarQuery > &siTXe_TxSarQry, stream< TXeTxSarReply > &soTXe_TxSarRep, stream< TAiTxSarPush > &siTAi_PushCmd, stream< TStTxSarPush > &soTAi_PushCmd)
Tx Sar Table (TSt). Stores the data structures for managing the TCP Tx buffer and Tx sliding window.
void tx_app_interface(stream< TcpAppOpnReq > &siTAIF_OpnReq, stream< TcpAppOpnRep > &soTAIF_OpnRep, stream< TcpAppClsReq > &siTAIF_ClsReq, stream< TcpAppData > &siTAIF_Data, stream< TcpAppSndReq > &siTAIF_SndReq, stream< TcpAppSndRep > &soTAIF_SndRep, stream< DmCmd > &soMEM_TxP_WrCmd, stream< AxisApp > &soMEM_TxP_Data, stream< DmSts > &siMEM_TxP_WrSts, stream< SessionId > &soSTt_SessStateReq, stream< TcpState > &siSTt_SessStateRep, stream< StateQuery > &soSTt_ConnectStateQry, stream< TcpState > &siSTt_ConnectStateRep, stream< SocketPair > &soSLc_SessLookupReq, stream< SessionLookupReply > &siSLc_SessLookupRep, stream< ReqBit > &soPRt_GetFreePortReq, stream< TcpPort > &siPRt_GetFreePortRep, stream< TStTxSarPush > &siTSt_PushCmd, stream< TAiTxSarPush > &soTSt_PushCmd, stream< SessState > &siRXe_ActSessState, stream< Event > &soEVe_Event, stream< SessState > &siTIm_Notif, Ip4Addr piMMIO_IpAddr)
Tx Application Interface (TAi)
void port_table(StsBool &poTOE_Ready, stream< TcpPort > &siRXe_GetPortStateReq, stream< RepBit > &soRXe_GetPortStateRep, stream< TcpPort > &siRAi_OpenLsnPortReq, stream< AckBit > &soRAi_OpenLsnPortAck, stream< ReqBit > &siTAi_GetFreePortReq, stream< TcpPort > &soTAi_GetFreePortRep, stream< TcpPort > &siSLc_CloseActPortCmd)
Port Table (PRt)
void state_table(stream< StateQuery > &siRXe_SessStateQry, stream< TcpState > &soRXe_SessStateRep, stream< StateQuery > &siTAi_ConnectStateQry, stream< TcpState > &soTAi_ConnectStateRep, stream< SessionId > &siTAi_StreamStateReq, stream< TcpState > &soTAi_StreamStateRep, stream< SessionId > &siTIm_SessCloseCmd, stream< SessionId > &soSLc_SessReleaseCmd)
State Table (STt)
void event_engine(stream< Event > &siTAi_Event, stream< ExtendedEvent > &siRXe_Event, stream< Event > &siTIm_Event, stream< ExtendedEvent > &soAKd_Event, stream< SigBit > &siAKd_RxEventSig, stream< SigBit > &siAKd_TxEventSig, stream< SigBit > &siTXe_RxEventSig)
The Event Engine (EVe) arbitrates the incoming events and forwards them to the Tx Engine (TXe) via th...
void pReady(StsBool &piPRt_Ready, StsBit &poNTS_Ready)
Ready (Rdy)
#define TOE_FEATURE_USED_FOR_DEBUGGING
void toe_top(Ip4Addr piMMIO_IpAddr, stream< StsBit > &soMMIO_RxMemWrErr, stream< ap_uint< 8 > > &soMMIO_NotifDropCnt, stream< ap_uint< 8 > > &soMMIO_MetaDropCnt, stream< ap_uint< 8 > > &soMMIO_DataDropCnt, stream< ap_uint< 8 > > &soMMIO_CrcDropCnt, stream< ap_uint< 8 > > &soMMIO_SessDropCnt, stream< ap_uint< 8 > > &soMMIO_OooDropCnt, StsBit &poNTS_Ready, stream< AxisRaw > &siIPRX_Data, stream< AxisRaw > &soIPTX_Data, stream< TcpAppNotif > &soTAIF_Notif, stream< TcpAppRdReq > &siTAIF_DReq, stream< TcpAppData > &soTAIF_Data, stream< TcpAppMeta > &soTAIF_Meta, stream< TcpAppLsnReq > &siTAIF_LsnReq, stream< TcpAppLsnRep > &soTAIF_LsnRep, stream< TcpAppData > &siTAIF_Data, stream< TcpAppSndReq > &siTAIF_SndReq, stream< TcpAppSndRep > &soTAIF_SndRep, stream< TcpAppOpnReq > &siTAIF_OpnReq, stream< TcpAppOpnRep > &soTAIF_OpnRep, stream< TcpAppClsReq > &siTAIF_ClsReq, stream< DmCmd > &soMEM_RxP_RdCmd, stream< AxisApp > &siMEM_RxP_Data, stream< DmSts > &siMEM_RxP_WrSts, stream< DmCmd > &soMEM_RxP_WrCmd, stream< AxisApp > &soMEM_RxP_Data, stream< DmCmd > &soMEM_TxP_RdCmd, stream< AxisApp > &siMEM_TxP_Data, stream< DmSts > &siMEM_TxP_WrSts, stream< DmCmd > &soMEM_TxP_WrCmd, stream< AxisApp > &soMEM_TxP_Data, stream< CamSessionLookupRequest > &soCAM_SssLkpReq, stream< CamSessionLookupReply > &siCAM_SssLkpRep, stream< CamSessionUpdateRequest > &soCAM_SssUpdReq, stream< CamSessionUpdateReply > &siCAM_SssUpdRep, stream< ap_uint< 16 > > &soDBG_SssRelCnt, stream< ap_uint< 16 > > &soDBG_SssRegCnt, stream< RxBufPtr > &soDBG_RxFreeSpace, stream< ap_uint< 32 > > &soDBG_TcpIpRxByteCnt, stream< ap_uint< 8 > > &soDBG_OooDebug)
Top of TCP Offload Engine (TOE)
void rx_app_interface(stream< TcpAppNotif > &soTAIF_Notif, stream< TcpAppRdReq > &siTAIF_DataReq, stream< TcpAppData > &soTAIF_Data, stream< TcpAppMeta > &soTAIF_Meta, stream< TcpAppLsnReq > &siTAIF_LsnReq, stream< TcpAppLsnRep > &soTAIF_LsnRep, stream< TcpPort > &soPRt_LsnReq, stream< AckBit > &siPRt_LsnAck, stream< TcpAppNotif > &siRXe_Notif, stream< TcpAppNotif > &siTIm_Notif, stream< RAiRxSarQuery > &soRSt_RxSarReq, stream< RAiRxSarReply > &siRSt_RxSarRep, stream< DmCmd > &soMEM_RxP_RdCmd, stream< AxisApp > &siMEM_RxP_Data, stream< ap_uint< 8 > > &soMMIO_NotifDropCnt, stream< ap_uint< 8 > > &soMMIO_MetaDropCnt, stream< ap_uint< 8 > > &soMMIO_DataDropCnt)
Rx Application Interface (RAi)
void tx_engine(stream< ExtendedEvent > &siAKd_Event, stream< SigBit > &soEVe_RxEventSig, stream< SessionId > &soRSt_RxSarReq, stream< RxSarReply > &siRSt_RxSarRep, stream< TXeTxSarQuery > &soTSt_TxSarQry, stream< TXeTxSarReply > &siTSt_TxSarRep, stream< DmCmd > &soMEM_Txp_RdCmd, stream< AxisApp > &siMEM_TxP_Data, stream< TXeReTransTimerCmd > &soTIm_ReTxTimerCmd, stream< SessionId > &soTIm_SetProbeTimer, stream< SessionId > &soSLc_ReverseLkpReq, stream< fourTuple > &siSLc_ReverseLkpRep, stream< AxisIp4 > &soIPTX_Data)
Transmit Engine (TXe)
void pTbSimCount(volatile ap_uint< 32 > &poSimCycCount)
Testbench Simulation Counter.
void pAxisRawCast(hls::stream< TypeIn > &si, hls::stream< TypeOut > &so)
AxisRaw cast - Casts an AxisRaw stream to/from an AxisRaw derived class.
#define printInfo(callerName, format,...)
A macro to print an information message.
#define concat3(firstCharConst, secondCharConst, thirdCharConst)
: Port Table (PRt) of the TCP Offload Engine (TOE)
: Rx Application Interface (RAi) of the TCP Offload Engine (TOE)
: Rx Engine (RXe) of the TCP Offload Engine (TOE)
: Rx Segmentation And Re-assembly Table (RSt).
: State Table (STt) for the TCP Offload Engine (TOE)
: Timers (TIm) for the TCP Offload Engine (TOE)
: TCP Offload Engine (TOE)
: Utilities and helpers for the TCP Offload Engine (TOE)
: Tx Application Interface (TAi)
: Tx Engine (TXe) of the TCP Offload Engine (TOE)
: Tx Segmentation and re-assembly Table (TSt)