cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
danmenik
Visitor
Visitor
554 Views
Registered: ‎05-21-2021

Extracting network packets from array

Jump to solution

Hello,

I am new to HLS, and trying to implement a network packet array (FIFO for that matter) that also supports reading/extracting packets from arbitrary locations based on a packet header value (e.g., hash-based flow identifier). Please give me some pointers as to how I should go about implementing this.

Thank you!

0 Kudos
1 Solution

Accepted Solutions
barriet
Xilinx Employee
Xilinx Employee
474 Views
Registered: ‎08-13-2007

I'm not the expert here but have seen these:
https://github.com/Xilinx/HLS_packet_processing
https://github.com/fpgasystems/fpga-network-stack
https://www.xilinx.com/support/documentation/application_notes/xapp1209-designing-protocol-processing-systems-hls.pdf (Designing Protocol Processing Systems with Vivado High-Level Synthesis)

I believe those were all written for Vivado HLS... There are some migration considerations moving to Vitis HLS, e.g. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_2/ug1391-vitis-hls-migration-guide.pdf (Vitis HLS Migration Guide)

But might be interesting to you as a starting point..

Cheers,
bt

View solution in original post

4 Replies
drjohnsmith
Teacher
Teacher
526 Views
Registered: ‎07-09-2009

Easy ,

a) learn HLS 

b) learn how to make rams

c) learn how to make state machines,

d) write out the system specification

 

 

<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
danmenik
Visitor
Visitor
501 Views
Registered: ‎05-21-2021

Thanks, @drjohnsmith for your response. I started learning HLS. In the mean time, would you please recommend any examples that are related to what I am trying to implement? I believe they will help speedup my learning curve.

Thank you!

0 Kudos
barriet
Xilinx Employee
Xilinx Employee
475 Views
Registered: ‎08-13-2007

I'm not the expert here but have seen these:
https://github.com/Xilinx/HLS_packet_processing
https://github.com/fpgasystems/fpga-network-stack
https://www.xilinx.com/support/documentation/application_notes/xapp1209-designing-protocol-processing-systems-hls.pdf (Designing Protocol Processing Systems with Vivado High-Level Synthesis)

I believe those were all written for Vivado HLS... There are some migration considerations moving to Vitis HLS, e.g. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_2/ug1391-vitis-hls-migration-guide.pdf (Vitis HLS Migration Guide)

But might be interesting to you as a starting point..

Cheers,
bt

View solution in original post

danmenik
Visitor
Visitor
450 Views
Registered: ‎05-21-2021

Thanks, @barriet! These are very helpful resources in my case. Thanks again!

0 Kudos