HLS_packet_processing icon indicating copy to clipboard operation
HLS_packet_processing copied to clipboard

bootstrapping startup

Open forensicgarlic opened this issue 6 years ago • 3 comments

Trying to bootstrap startup on a new machine from the readme.md is tough. Here's some questions I had looking through subdirectories.

What Xilinx tools do we need installed? What platforms do the tools work on? It looks like you're using sds++ in some of your Makefiles, where should someone get that compiler from? Do you expect all the .tcl scripts to run with vivado_hls

forensicgarlic avatar Jul 17 '19 19:07 forensicgarlic

Sorry, we have assumed that users are going to have some experience with the Xilinx tools, so there's not really a step-by-step experience here. These libraries are intended to be used with Vivado HLS. Vivado HLS generates an IP block that needs to be integrated into an FPGA design. The repository doesn't include any FPGA designs, however. As such there's not really a 'platform': it's intended to be user-provided. I've focused on 10Gb designs running on a ZCU102 development board using this application note: https://www.xilinx.com/support/documentation/application_notes/xapp1305-ps-pl-based-ethernet-solution.pdf. I've also experimented with SDSoc (the sds++ tool) to integrate with the Pynq platform, but the overall performance isn't terribly high.

Lastly, yes, the x_hls_utils.h file has moved in recent versions.

stephenneuendorffer avatar Jul 17 '19 20:07 stephenneuendorffer

with respect to platform, I meant more along the lines of the development system details -- something like "On my <Debian/Windows> system with vivado hls version 201X.Y installed, running the tcl scripts (via vivado_hls <script_name>.tcl) in each app subdirectory should build and test the apps. Other versions of Vivado HLS are expected to work as well, though you may need to tweak the includes in the source files to point to the current location of some .h files. If you have the SDSoc tools installed and on your PATH, running Make in each subdirectory will also work" or something along those lines.

I'm mostly looking for a little guidance on where this will definitely work, vs where the system I'm trying it on might require some sort of tweaks.

forensicgarlic avatar Jul 18 '19 12:07 forensicgarlic

I developed using vivado_hls 2018.2. You should be able to run vivado_hls on the .tcl files in the subdirectories to compile the examples. The examples are somewhat different, so the .tcl files aren't 100% consistent. cd apps/arp; vivado_hls arp.tcl is a good place to start: it's probably the most useful standalone example.

stephenneuendorffer avatar Jul 18 '19 21:07 stephenneuendorffer