Skip to content

[add][docs] add Part 5 VitisUnified accelerator backend tutorials - #130

Open
Tanawin1701d wants to merge 1 commit into
fastmachinelearning:mainfrom
Tanawin1701d:main
Open

[add][docs] add Part 5 VitisUnified accelerator backend tutorials#130
Tanawin1701d wants to merge 1 commit into
fastmachinelearning:mainfrom
Tanawin1701d:main

Conversation

@Tanawin1701d

Copy link
Copy Markdown

Add Part 5: VitisUnified accelerator backend tutorials

This PR adds a new Part 5 with a set of notebooks for the VitisUnified backend
(hls4ml PR fastmachinelearning/hls4ml#1376), which produces a bitstream plus a PYNQ driver for
a SoC board (zcu102 or kv260).

What's added

New directory 5_accelerator_backends/vitis_unified/:

File Purpose
5_vu_a_predict.ipynb Convert a tiny Keras U-Net with the VitisUnified backend and check that predict() matches the plain Vitis backend
5_vu_b_csim.ipynb C synthesis + C simulation; compare csim output against the C++ bridge predictions
5_vu_c_cosim.ipynb RTL co-simulation; compare cosim output against the bridge predictions
5_vu_d_fifo_depth.ipynb Run the vitisunified:fifo_depth_optimization flow and inspect fifo_depths.json
5_vu_e_bitfile.ipynb Full system link + Vivado implementation; lists the export/ files (system.bit, system.hwh, PYNQ driver) to copy to the board
5_vu_f_platform_setup.md Step-by-step guide (with screenshots) for building the extensible Vitis platform in Vivado, needed for the axi_stream mode and the kv260

Supporting changes:

  • models.py: add create_simple_unet() (small Keras U-Net with one skip connection; random weights, since these notebooks exercise the flow, not accuracy).
  • _toc.yml: register the Part 5 chapters.
  • README.md: new "Accelerator backends (Part 5)" section with the Vitis/Vivado 2023.2 requirement and the pip install line for PR #1376.
  • images/part5f_*.png: screenshots for the platform setup guide.

- Add 5_accelerator_backends/vitis_unified/5_vu_{a..f}: predict, csim, cosim, FIFO depth optimization, bitfile build, and Vitis platform setup guide
- Use absolute output_dir for VitisUnified projects (backend resolves v++ --config relative to the workspace cwd)
- Add create_simple_unet Keras model to models.py for the Part 5 notebooks
- Add Part 5 screenshots (images/part5f_*.png) and register notebooks in _toc.yml
- Document Part 5 requirements (Vitis/Vivado 2023.2, hls4ml PR #1376) in README

TODO:
- [ ] Pin VitisUnified backend in environment.yml once hls4ml PR #1376 is merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant